Low Computational Complexity CNN for Face Verification
FATTAH AZZUHRY R, Drs. Agus Harjoko, M.Sc., Ph.D.;Wahyono, S.Kom., Ph.D.
2019 | Tesis | MAGISTER ILMU KOMPUTERBeberapa tahun terakhir ini verifikasi wajah telah banyak digunakan untuk mengamankan berbagai transaksi di internet. Algoritme state-of-the-art verifikasi wajah saat ini adalah jaringan syaraf konvolusional (CNN). Meskipun demikian, penggunaan CNN pada perangkat seluler dan tertanam masih sulit dilakukan karena komputasi yang terbatas pada perangkat tersebut. Pada penelitian ini, kami mengusulkan CNN yang ringan untuk verifikasi wajah dengan menggunakan beberapa metode. Pertama, modifikasi dari ShuffleNet v2 yang disebut ShuffleHalf digunakan sebagai backbone dari algoritma FaceNet. Kedua, peta fitur pada model ShuffleHalf digunakan kembali dengan dua metode baru yang diusulkan, Reuse Later dan Reuse ShuffleBlock. Reuse Later digunakan agar fitur-fitur yang berpotensi tidak terpakai dapat terhubung secara langsung dengan lapisan fully connected. Sementara itu, Reuse ShuffleBlock digunakan untuk mengurangi persentasi konvolusi 1x1 pada model dengan menggunakan kembali peta fitur keluaran dari operasi konvolusi 1x1 pertama di ShuffleBlock. Ketiga, ukuran kernel diperbesar seiring dengan lapisan yang semakin dalam untuk mendapatkan ukuran bidang reseptif yang sama dengan kompleksitas yang lebih kecil (Kernet). Keempat, operasi konvolusi depthwise digunakan untuk mengganti beberapa ShuffleBlock (DWRep). Kelima, metode state-of-the-art lain yang sudah ada dikombinasikan dengan metode yang diusulkan. Hasil eksperimen pada lima dataset pengujian menunjukkan bahwa ShuffleHalf memiliki akurasi yang lebih baik dari semua baseline yang lain dengan hanya 48% FLOP dibandingkan MobileFaceNet, algoritma state-of-the-art sebelumnya. Kinerja ShuffleHalf dapat ditingkatkan dan FLOP berkurang menjadi 42% FLOP dari MobileFaceNet dengan menggunakan fitur kembali. Sementara itu, Kernet dan DWRep masing-masing dapat mengurangi FLOP menjadi 38% dari MobileFaeNet. Kombinasi dengan metode state-of-the-art tidak meningkatkan akurasi maupun tradeoff efisiensi-kinerja dari model. Meskipun demikian, penggunaan shortcut connection dan fungsi aktivasi Swish dapat meningkatkan tradeoff efisiensi-kinerja dari model.
In recent years, face verification has been widely used to secure various transactions on the internet. The current state-of-the-art in face verification is convolutional neural network (CNN). Despite the performance of CNN, deploying CNN in mobile and embedded devices is still challenging because of the constrained computational resource on these devices. In this paper, we propose a lightweight CNN for face verification using several methods. First, a modified version of ShuffleNet V2 called ShuffleHalf is used as the backbone network for the FaceNet algorithm. Second, the feature maps in the model are reused using two proposed methods called Reuse Later and Reuse ShuffleBlock. Reuse Later works by reusing the potentially unused features by connecting the features directly to the fully connected layer. Meanwhile, Reuse ShuffleBlock works by reusing the feature maps output of the first 1x1 convolution in ShuffleBlock. These methods are used to reduce the percentage of 1x1 convolution in the model because 1x1 convolution operation is computationally expensive. Third, kernel size is increased as the layer gets deeper to obtain the same receptive field size with less computational complexity. Fourth, the depthwise convolution operations are used to replace some ShuffleBlocks. Fifth, other existing state-of-the-art methods are combined with the proposed methods to see if those methods can improve the proposed methods. Experimental results on five testing datasets show that ShuffleHalf achieves better accuracy than all other baselines with only 48% FLOPs of the previous state-of-the-art algorithm, MobileFaceNet. The accuracy of ShuffleHalf can be further improved by reusing the feature with computational complexity of only 42% FLOPs of MobileFaceNet. Meanwhile, both changing kernel size and using depthwise repetition can further decrease computational complexity to only 38% FLOPs of MobileFaceNet with better performance than MobileFaceNet. Combination with some existing methods does not increase the accuracy nor performance-efficiency tradeoff of the model. However, adding shortcut connections and using Swish activation function can improve the performance-efficiency tradeoff of the model.
Kata Kunci : face verification, lightweight, convolutional neural network, complexity