Jumat, 11 November 2016

Pengembangan Aplikasi Computer Vision untuk Pengamanan Kantin Kejujuran



  • Penelitian

          Sistem ini yang dibuat dan dirakit berupa software Computer Vision dan hardware yang terdiri dari tempat dan pencacah koin, kamera webcam beserta penyangga yang dapat diatur jarak dan sudutnya, serta papan tempat meletakkan obyek makanan/ minuman.

    Software CV yang dikembangkan akan mendeteksi keberadaan orang/pembeli, menghitung perubahan jumlah obyek makanan/minuman, serta perubahan jumlah koin setiap kali mendeteksi keberadaan orang/pembeli pada Kantin Kejujuran serta merekam pembeli yang berlaku curang. Gambar 2 menunjukkan kerangka kerja dari software yang akan dikembangkan.

Akuisisi citra dilakukan dengan peralatan webcam yang dipasang tepat mengawasi area tempat menjual aneka makanan. Hasil akuisisi berupa rangkaian matriks 3 dimensi sebagai representasi frame-frame citra. 
Perbaikan citra dilakukan dengan operasi background subtraction sehingga diperoleh citra obyek yang terpisah dengan citra latar. Deteksi binary large object (BLOB) dilakukan dengan memeriksa citra BLOB untuk mencari setiap obyek (makanan/minuman, dan nilai angka pada pencacah koin).
Object counting dan tracking dilakukan untuk menghitung jumlah makanan atau minuman yang terambil serta nilai uang yang terbayar oleh seorang pembeli. Pada Kantin Kejujuran, posisi obyek makanan umumnya dalam formasi berjejer, saling berhimpit ganda, triple, kuartet, hingga berhimpit 20. Untuk itu digunakan pendekatan Artificial Neural Network (ANN) untuk pengenalan aneka formasi BLOB dari obyek makanan yang akan dihitung. Pada tahap pelatihan ANN, Input adalah fitur-fitur yang diperoleh dari BLOB beserta kondisi saat akuisisi citra yakni tingkat intensitas cahaya dan posisi (jarak dan sudut) obyek terhadap kamera. Sedangkan target dari ANN adalah jumlah item dalam BLOB. Untuk setiap jenis obyek makanan yang akan dihitung, disiapkan masing-masing seperangkat ANN yang dilatihkan supaya dapat mengenali aneka formasi BLOB. Penghitungan jumlah uang dilakukan dengan alat pencacah koin yang dapat membedakan jenis koin Rp 1000 dan Rp 500 (kuningan maupun almunium).
Perekaman pembeli yang (diduga kuat) berlaku curang dilakukan setelah menghitung nilai uang yang baru saja bertambah dibandingkan dengan jumlah obyek makanan yang berkurang. Jika nilai uang kurang dari yang seharusnya, maka beberapa frame daricitra yang diperoleh dari webcam lain (dipasang dalam posisi menghadap wajah pembeli) akan direkam.


  • Hasil Dan Pembahasan

1.   Akuisisi Citra

        Untuk meningkatkan banyaknya jenis obyek yang dapat dikenali, dihitung, dan diawasi maka telah dibuat fasilitas yang memungkinkan area masing-masing obyek dapat dipartisi secara dinamis, dengn cara cropping untuk masing-masing obyek. Tampilan form untuk partisi dinamis ini
dinyatakan seperti gambar 3 berikut:

2. Perbaikan Citra dan Deteksi BLOB

          Terdapat 2 proses yang dilakukan dalam perbaikan citra, yakni: 1) Konversi dari citra RGB menjadi citra biner kemudian 2) Operasi morfologi. Konversi menjadi citra biner dilakukan untuk membedakan antara obyek dan latar. Operasi morfologi dilakukan untuk menghilangkan bingkai serta noise berupa obyek berukuran kecil.

Pada ini di atas terlihat adanya bingkai di kanan atas dari citra biner, serta bintik-bintik kecil disekitar obyek. Untuk itu dilakukan operasi morfologi penghilangan bingkai serta penghapusan obyek berukuran luas kurang dari 81 pixel.

          Tampilan form untuk perbaikan citra dan deteksi BLOB dinyatakan seperti pada gambar 5 berikut:


3. Data Dan Object Counting
         
          Untuk mengenali dan menghitung obyek berupa makanan/minuman yang dijual pada Kantin Kejujuran maka telah dikumpulkan data yang dideskripsikan dalam tabel 1 berikut:



v  Data Objek 1

Obyek 1 adalah jenis makanan berupa jajanan wafer merk “Ob1” yang terlihat pada gambar 6 berikut: 

Citra pada gambar di atas diambil pada jarak horizontal kamera-meja (Dx) 135 cm, jarak vertikal kamera-meja (Dy) 115 cm, sudut arah kamera terhadap garis vertikal (Sudut) 650, Intensitas cahaya 400 Lux. Terdapat 8 BLOB pada citra sebelah kanan dari gambar 6. BLOB di lajur kiri berisi jumlah item berturut-turut 1, 2, 3, dan 4. Sebagian data yang diperoleh dari formasi obyek pada gambar 6 di atas dinyatakan dalam tabel 2 berikut:

Agar sistem dapat mengenali dan menghitung jumlah obyek wafer merk “Ob1” maka diperlukan data-data pelatihan berbagai formasi BLOB dan jumlahnya.


4. Object Counting Dengan ANN

            Pendekatan ANN dipilih untuk pengenalan dan penghitungan jumlah obyek karena bersifat adaptive serta tidak mensyaratkan asumsi-asumsi yang ketat (dibanding pendekatan regresi). Arsitektur ANN yang digunakan adalah jaringan feedforward dengan jumlah neuron pada hidden layer sebanyak 41 sebagaimana disajikan dalam gambar 10 berikut:



Pada gambar diatas, bagian input adalah semua variabel (ada 17 variabel) selain item. ANN dilatih agar bagian output sama dengan item (sebagai target). Pada tahap pelatihan, digunakan berturut-turut 784 dan 297 data dari aneka formasi obyek 1 dan obyek 2. Kesesuain output ANN terhadap target setelah pelatihan untuk obyek 1 disajikan dalam gambar 11 berikut:

Nilai korelasi pada gambar 11 adalah 0,9999 atau R2 = 0,9998. Artinya setelah dilatih, ANN dapat menjelaskan/mengenali aneka formasi BLOB dari citra Obyek 1 (yang representasikan oleh input 17 variabel) sebesar 99,98 %.
Sedangkan hubungan antara target dan output untuk obyek 2, disajikan dalam gambar 12 berikut:


Nilai korelasi pada gambar 12 adalah 0,99957 atau R2 = 0,9991. Artinya setelah dilatih, ANN dapat menjelaskan/mengenali aneka formasi BLOB dari citra Obyek 2 (yang representasikan oleh input 17 variabel) sebesar 99,91 %. Pendekatan ANN yang digunakan dalam object counting terhadap obyek-obyek lainnya adalah sama dengan yang telah dijabarkan seperti halnya pada obyek1 dan obyek 2 tadi.

Previous Post
First

0 komentar: