Belajar Praktis: Pengenalan Pendeteksian Objek (OpenCV dan Python)

Slides:



Advertisements
Presentasi serupa
Membuat dan Menggunakan Surat Elektronik YAHOO! Mail
Advertisements

PENGENALAN POLA Dr. Kusrini, M.Kom.
Konversi citra Satriyo.
Ensiklopedia UI Sebagai Tempat Penyimpanan Informasi
Artificial Intelegent
Model Sistem Pengenalan Pola
Pengujian Software - Pelaksanaan
CS3204 Pengolahan Citra - UAS
Klik pada kotak pilihan jawaban yang sesuai dengan pertanyaan Pertanyaan Kembali ke Menu Utama Pilihan Jawaban.
Progress Final Project Ke-1
MATERI PELATIHAN E-LEARNING
PENGOLAHAN CITRA DIGITAL
Instalasi Windows 7 menggunakan Virtual Box
Create By: Ismuhar dwi putra
VISION.
Pertemuan 7 Pengolahan Citra Digital
KOMPUTER & MASYARAKAT Pertemuan 3.
PERANCANGAN DAN ANALISIS SISTEM PENGENALAN WAJAH BERBASIS ALGORITMA PRINCIPAL COMPONENT ANALYSIS (PCA) Oleh Krisna Gunawan JURUSAN TEKNIK KOMPUTER.
Monitoring & Evaluasi Subdit TB
Mengenal, Memahami dan Menggunakan Aplikasi penilaian
CITRA BINER.
MODUL KULIAH 10 Ekstraksi Fitur Bentuk
Mengenal Teknik Biomedis
Judul Author: ……
Perintah Bantuan Dokumentasi
MODUL 12 Aplikasi Pengenalan Kematangan Tomat (Fitur Warna)
ALHURIYAH :Aplikasi Pengenalan Huruf Hijaiyah Berbasis speech recognition Menggunakan Mel Frequency Cepstral Coefficients (MFCC) Kelompok 10 Dian.
Modul 1 PENGANTAR PENGOLAHAN CITRA
INGAT: SESUDAH SELESAI KELAS, SHUT DOWN PC-NYA
INSTALASI WINDOWS.
Image Segmentation.
MODUL14 Segmentasi Citra
CS3204 Pengolahan Citra - UAS
M-FILE DAN PEMROGRAMAN MATLAB
STEGANOGRAFI.
KARAKTERISTIK MATEMATIKA
Konsep Dasar Python Pada awalnya merupakan bahasa tingkat tingi pada sistem operasi terdistribusi Amoeba. OS terdistribusi adalah Sistem operasi terdistribusi.
MODUL16 Aplikasi Fitur Bentuk
MENGENAL GAMBAR DIGITAL
MELAKUKAN REPRODUKSI HASIL REKAMAN
Mengenal Object Tracking
BAHAN AJAR MATEMATIKA KELAS 1
Kelompok 6 Defi Desiana ( ) Nurul Hasanah ( ) Legiyem ( )
Pertemuan 20 GRAPH COLORING
Judul Slide Animasi: Random bars horizontal
MATERI - 1 Pengertian dan Trik Seminar
STEGANOGRAFI Kriptografi, Week 12.
Mengenal Teknologi Real-Sense
Implementation Support
USER INTERFACE.
FASE PEMOGRAMAN.
Binatang apakah aku? Pilihan Jawaban
KARAKTERISTIK MATEMATIKA
MAIL SERVER KELOMPOK : IX SAFRIL ( ) MUHAMMAD NUR
APLIKASI POWER POINT ONLINE
Perkenalan (Hands On) Database Inovasi BIC
Membuat Minimum System Arduino
Penggunaan Komputer di Bidang Pendidikan
Sharing AIMS FOR WIN7 Aplikasi Pembaca Meter SL7000
Segmentasi Gambar Pertemuan 10
Machine Learning Naïve Bayes
Internet of Things: MQTT
Sbg Media Pembelajaran Matematika
PANDUAN MEMBUAT DOMAIN DAN HOSTING SECARA GRATIS
PENGENALAN CITRA DIGITAL
REKOGNISI CITRA Konsep Dasar Rekognisi
Outlook dengan Anda 5 cara menyesuaikan Tanda Tangan bergaya
PELUANG Menjelaskan PELUANG EMPIRIK dan TEORITIK suatu kejadian dari suatu percobaan Menyelesaikan PELUANG EMPIRIK dan TEORITIK suatu kejadian.
TUJUAN INSTRUKSIONAL MATERI PERKULIAHAN BUKU REFERENSI QUIZ
Binatang apakah aku? Pilihan Jawaban
Transcript presentasi:

Belajar Praktis: Pengenalan Pendeteksian Objek (OpenCV dan Python) Author: M. Rasyid Aqmar 2015.07.28

Pendeteksian Objek Contoh: Pendeteksian wajah Diambil dari: http://i.stack.imgur.com Aplikasi teknologi ini ada di mana-mana: kamera, facebook, dsb. Ingin tahu bagaimana caranya?

Apakah Sulit membuatnya? Tidak! Insya Allah tutorial ini akan berusaha membimbing Anda untuk bisa menjalankan aplikasi sederhana pendeteksian wajah. Walaupun Anda seorang pemula.

Mulai dari mana? Siapkan komputer Anda Download dan install pustaka OpenCV dari sini: OpenCV3 Download dan install paket Python seperti: 1.1. Python-2.7.x. 1.2. Numpy. 1.3. Matplotlib Atau Anda bisa mendapatkan ketiganya pada paket Anaconda (Python) dari sini: Anaconda Kami tahu proses setup ini memerlukan waktu, tapi bersabarlah!  Jerih payah Anda insya Allah akan segera terbayar.

Selanjutnya? Persiapan selesai! Asumsikan Anda sudah memiliki direktori yang sama/mirip seperti ini: C:\OpenCV3.0 C:\Python27 Lihat directory OpenCV di : C:\opencv\build\python\2.7 Copy cv2.pyd ke C:\Python27\lib\site-packages. Persiapan selesai!

Mari langsung coba! Buka command prompt Akses ke: C:\OpenCV3.0\opencv\sources\samples\python2 Jalankan skrip Python ini: peopledetect.py ..\data\basketball2.png Hasil: Selamat! Anda telah berhasil menjalankan program pendeteksian orang 

Bagaimana dengan deteksi wajah? No Problem! Di C:\OpenCV3.0\opencv\sources\samples\python2 ada contoh skrip facedetect.py untuk pendeteksian wajah dari video atau kamera. Silakan sesuaikan input yang diperlukan. Selain itu, silakan akses skrip yang sudah kami revisi sehingga bisa mendeteksi wajah dengan ‘satu klik’ saja: https://github.com/soca-rg/python-opencv/blob/master/facedetect_soca.py (Simpan di C:\OpenCV3.0\opencv\sources\samples\python2 , jalankan langsung tanpa argumen input) Hasil:

Mudah bukan?

Bagaimana proses yang terjadi di dalamnya Bagaimana proses yang terjadi di dalamnya? (Bagian ini merupakan tutorial konsep/teknologinya secara ilustratif tanpa notasi matematika)

Penjelasan source code Membaca file citra Bagian utama dari source code: Convert ke grayscale (Metode deteksinya tidak membutuhkan warna) … img=cv2.imread('../data/lena.jpg') gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) rects = detect(gray, cascade) vis = img.copy() draw_rects(vis, rects, (0, 255, 0)) …. Fungsi utama untuk mendeteksi (citra input dan model cascade) Menggambar hasil deteksi dengan persegi warna hijau

Penjelasan teknologi (1) Apa yang ada di dalam “detect()” Box yang teruji lolos dalam proses Klasifikasi terhadap model cascade itulah yang menang! Raster scanning Respon skor terhadap model citra citra citra Model Cascade Untuk membuat model cascade diperlukan sebuah proses yang dinamakan “training” . Detil tentang proses training di luar topik tutorial ini. Nantikan di tutorial yang lainnya ya!

Penjelasan Teknologi (1) : Ekstraksi fitur Fitur yang digunakan oleh OpenCV adalah Haar-like feature. Citra objek yang akan digunakan untuk training Perhatikan pola berikut: Aplikasikan ke - + - + - + - + Mendeteksi “edge” Mendeteksi “line” - + = (+)Jumlah Pixel Wilayah Hitam-Jumlah Pixel Wilayah Putih Fitur 1 Fitur 3 Fitur n - + Untuk ukuran citra 24x24, n bisa hingga 160K! Terlalu besar untuk komputasi. Trik: Cascade classfier (slide 18) - + … - + - + Fitur 2 Fitur 4 Menghitung jumlah pixel di dalam kotak ini berulang-ulang sangat memakan waktu,. Trik: Citra Integral (slide 16)

Penjelasan Teknologi: (2) Citra Integral Citra Integral adalah sebuah teknik untuk menghitung jumlah pixel pada sebuah area di dalam citra dengan cepat. Kuncinya adalah: lakukan pre-komputasi citra/tabel jumlah kumulatif untuk setiap pixel. px-1,y-1) p(x,y) p(x,y-1) p(x-1,y) I(x-1,y-1) I(x,y) I(x-1,y) Komputasi ini untuk setiap pixel: I(x,y)=p(x,y)+I(x-1,y)+I(x,y-1)-I(x-1,y-1) Bayangkan 4 box di atas adalah 4 pixel yang bertetangga. Catatan penting: Ingat, pixel bukanlah box! Ini hanya untuk ilustrasi saja. A F B E I J C H D G K L Akhirnya, menghitung jumlah pixel di area ini cukup dengan: I(L)+I(F)-I(H)-I(J)

Penjelasan Teknologi (3): Adaboost Training Adaboost adalah sebuah classifier sederhana yang cukup efektif. Ide utamanya adalah, Adaboost dibangun oleh classifier-classifier yang “lemah”/”weak”, yang jika bekerja sama akan menjadi classifier yang “kuat”/”strong”. Bayangkan kita memiliki sampel training set: Objek (+1) Dan Non-Objek (-1) Fitur Haar-like Matematika sedikit ya: … … … … … … … Nilai “pentingnya” fitur ke t, ditentukan saat training … … “strong classifier” … … … Jumlah fitur “weak classifier”, bisa hanya dengan threshold. Kalau nilai fitur >  maka +1, selainnya -1 frekuensi frekuensi frekuensi … Nilai fitur Nilai fitur Nilai fitur Keputusan final: kalau f(x) positif, maka H(x) juga positif atau kelas objek, dan sebaliknya. Fitur ke-1 Fitur ke-2 Fitur ke-n

Penjelasan Teknologi (4): Cascade classifier Pada saat pengujian, jumlah fitur yang terlampau besar akan sangat membebani komputasi. Triknya adalah dengan “cascade classifier”. Mari kita lihat: Dari proses sebelumnya, kita memiliki sejumlah fitur K yang “penting” (silakan tebak di bagian mana, sebagai latihan ) ditestimasi pada fase training, di mana K<T. Misal, kalau T 160k, kita pilih K=600. Mari kita kembali ke ilustrasi fungsi “detect()” Raster scanning Cascade classfier Stage 1 Stage 2 Stage n Pemenang! … citra 1 fitur 10 fitur k fitur Intinya, jika dalam stage awal objek sudah ditemukan, kita tidak perlu menggunakan semua fitur!

Tidak terlalu sulit bukan?

Kontak Diskusi Bagi yang ingin sharing dan diskusi lebih lanjut, silakan hubungi: Twitter: @SocaResearch Email: soca.research@gmail.com Bagi yang ingin bergabung dengan mailing list kami (SOCA-research@googlegroups.com), silakan hubungi admin kami di: soca.research@gmail.com Dengan Subject Email ”[Permohonan Subscribe Milis]“

Seeing is believing. Listening is understanding. Sharing is inspiring. © 2015 Seeing is believing. Listening is understanding. Sharing is inspiring.