MobileNet: Deteksi Objek pada Platform Mobile

Rizqi Okta Ekoputris
Nodeflux
Published in
3 min readMay 9, 2018

Saat ini deep learning telah banyak memberikan kontribusi di bidang computer vision atau kecerdasan indera penglihatan pada komputer. Salah satu implementasi dari deep learning dengan performa yang relatif lebih baik dapat ditemukan di bidang Object detection atau pendeteksian objek. Implementasi model deep learning untuk deteksi objek telah banyak digunakan di berbagai produk riset hingga produk komersil seperti self driving car, cctv cerdas, dan lain-lain. Namun sangat disayangkan, penggunaan deep learning untuk object detection ini membutuhkan perangkat yang cukup mahal seperti GPU atau spesifikasi PC yang cukup tinggi.

MobileNets, merupakan salah satu arsitektur convolutional neural network (CNN) yang dapat digunakan untuk mengatasi kebutuhan akan computing resource berlebih. Seperti namanya, Mobile, para peneliti dari Google membuat arsitektur CNN yang dapat digunakan untuk ponsel.

Perbedaan mendasar antara arsitektur MobileNet dan arsitektur CNN pada umumnya adalah penggunaan lapisan atau layer konvolusi dengan ketebalan filter yang sesuai dengan ketebalan dari input image. MobileNet membagi konvolusi menjadi depthwise convolution dan pointwise convolution seperti pada gambar 1 dan gambar 2. Arsitektur MobileNet sendiri dipaparkan pada gambar 3. Untuk mempelajari lebih lanjut mengenai MobileNet, silahkan menuju tautan berikut MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications.

Gambar 1. Konvolusi standard (a) dibagi menjadi dua lapisan: depthwise convolution (b) dan pointwise convolution (c) untuk membuat filter terpisah secara mendalam (depthwise)
Gambar 2. Kiri: lapisan konvolusi standard dengan batchnorm dan ReLU. Kanan: Depthwise convolution dan Pointwise convolution dengan batchnorm dan ReLU.
Gambar 3. Arsitektur MobileNet

MobileNet V2

MobileNet merilis versi keduanya pada April 2017 lalu. Sama seperti MobilenetV1, MobileNetV2 masih menggunakan depthwise dan pointwise convolution. MobileNetV2 menambahkan dua fitur baru yaitu: 1) linear bottleneck, dan 2) shortcut connections antar bottlenecks. Struktur dasar dari arsitektur ini ditunjukkan pada gambar 4.

Gambar 4. Arsitektur MobilenetV2. Kotak biru menunjukkan blok pembentukkan konvolusi linear bottleneck

Pada bagian bottleneck terdapat input dan output antara model sedangkan lapisan atau layer bagian dalam meng-enkapsulasi kemampuan model untuk mengubah input dari konsep tingkat yang lebih rendah (i.e. piksel) ke deskriptor tingkat yang lebih tinggi (i.e. kategori gambar). Pada akhirnya, seperti halnya koneksi residual pada CNN tradisional, shortcut antar bottlenecks memungkinkan training atau pelatihan yang lebih cepat dan akurasi yang lebih baik. Anda dapat mempelajari lebih lanjut tentang rincian teknis dalam paper, “MobileNet V2: Inverted Residuals and Linear Bottlenecks

Gambar 5. Arsitektur MobileNet V2

Berikut adalah perbandingan waktu ekseskusi MobileNetV1 dan MobileNetV2 menggunakan TF-Lite pada large core dari Piksel 1 ponsel. Dapat dilihat bahwa MobileNetV2 meningkatkan kecepatan (mengurasi latensi) dari MobileNetV1.

Gambar 6. Perbandingan akurasi dan latensi MobilenetV1 dan MobileNetV2. Sumber: https://github.com/tensorflow/models/tree/master/research/slim/nets/mobilenet

Berikut perbandingan dari berbagai metode dari segi MAC — Multiply Accumulates, metode evaluasi dengan menghitung jumlah multiply-accumulate yang dibutuhkan untuk komputasi pada satu gambar, dipaparkan pada gambar 7.

Gambar 7. Perbandingan akurasi dan MAC dari berbagai metode. Sumber: https://github.com/tensorflow/models/tree/master/research/slim/nets/mobilenet
Gambar 8. MobileNetV1 dan MobileNetV2 digunakan untuk dekesi orang

--

--