Menggunakan mata Ikan pada Raspberry Pi 3: meluncurkan model DL yang sudah dilatih sebelumnya untuk visi komputer

Selamat siang

dalam kelanjutan dari serangkaian artikel: yang pertama dan kedua tentang menggunakan kamera mata ikan dengan Raspberry Pi 3 dan ROS Saya ingin berbicara tentang menggunakan model Pembelajaran Jauh pra-terlatih untuk penglihatan komputer dengan kamera mata ikan pada Raspberry Pi 3. Siapa yang peduli, tolong, di bawah kucing.

Klasifikasi gambar


Seperti pada artikel sebelumnya, kita akan menggunakan Ubuntu 16.04. Untuk bekerja, kita akan membutuhkan perpustakaan Keras. Itu dapat diinstal pada Ubuntu mengikuti instruksi dari sini .

Buka halaman dan tekan tombol UNDUH KODE! bagian bawah halaman. Anda akan menerima email dengan sumbernya.

Unduh arsip, buka zip dan buka folder. Pertama, jalankan skrip klasifikasi objek berdasarkan model GoogleNet yang telah dilatih sebelumnya:

cd pi-deep-learning/ python pi_deep_learning.py --prototxt models/bvlc_googlenet.prototxt \ --model models/bvlc_googlenet.caffemodel --labels synset_words.txt \ --image images/barbershop.png 

Kami mendapatkan kesimpulan ini di terminal

 [INFO] loading model... [ INFO:0] Initialize OpenCL runtime... [INFO] classification took 1.7103 seconds [INFO] 1. label: barbershop, probability: 0.78055 [INFO] 2. label: barber chair, probability: 0.2194 [INFO] 3. label: rocking chair, probability: 3.4663e-05 [INFO] 4. label: restaurant, probability: 3.7257e-06 [INFO] 5. label: hair spray, probability: 1.4715e-06 

gambar

Ia menggunakan modul Deep Neural Network (DNN) dari OpenCV 3.3. Anda dapat membacanya di sini .

Sekarang mari kita coba mengklasifikasikan objek dengan model Squeezenet yang sudah terlatih:

 python pi_deep_learning.py --prototxt models/squeezenet_v1.0.prototxt \ --model models/squeezenet_v1.0.caffemodel --labels synset_words.txt \ --image images/barbershop.png 

 [INFO] loading model... [ INFO:0] Initialize OpenCL runtime... [INFO] classification took 0.86275 seconds [INFO] 1. label: barbershop, probability: 0.80578 [INFO] 2. label: barber chair, probability: 0.15124 [INFO] 3. label: half track, probability: 0.0052873 [INFO] 4. label: restaurant, probability: 0.0040124 [INFO] 5. label: desktop computer, probability: 0.0033352 

gambar

Klasifikasi saya bekerja selama 0,86 detik.

Mari kita coba sekarang pada gambar cobra.png:

 python pi_deep_learning.py --prototxt models/squeezenet_v1.0.prototxt \ --model models/squeezenet_v1.0.caffemodel --labels synset_words.txt \ --image images/cobra.png 

Kesimpulan:

 [INFO] classification took 0.87402 seconds [INFO] 1. label: Indian cobra, probability: 0.47972 [INFO] 2. label: leatherback turtle, probability: 0.16858 [INFO] 3. label: water snake, probability: 0.10558 [INFO] 4. label: common iguana, probability: 0.059227 [INFO] 5. label: sea snake, probability: 0.046393 

gambar

Deteksi Objek


Sekarang cobalah untuk mendeteksi objek dengan Raspberry Pi dengan kamera mata ikan. Buka halaman dan tekan tombol UNDUH KODE! bagian bawah halaman. Anda akan menerima email dengan sumbernya.

Mirip dengan klasifikasi, unduh, unzip, buka folder. Jalankan skrip untuk mendeteksi objek:

 python pi_object_detection.py --prototxt MobileNetSSD_deploy.prototxt.txt --model MobileNetSSD_deploy.caffemodel 

Kesimpulan:

 [INFO] loading model... [INFO] starting process... [INFO] starting video stream... [ INFO:0] Initialize OpenCL runtime... libEGL warning: DRI3: failed to query the version libEGL warning: DRI2: failed to authenticate 

Saat menjalankan skrip, kita bisa mendapatkan kesalahan berikut:

 Error: AttributeError: 'NoneType' object has no attribute 'shape' (comment to post) 

Untuk mengatasi masalah ini, buka file pi_object_detection.py dan beri komentar pada baris 74:

 vs = VideoStream(src=0).start() 

dan baris komentar 75

 vs = VideoStream(usePiCamera=True).start() 

gambar

gambar

Kita melihat bahwa skrip mendeteksi beberapa objek, meskipun tidak semua objek dikenali dengan benar. Menurut pengamatan saya, skrip mendeteksi objek dengan cukup cepat (sayangnya, fps tidak dapat diperbaiki).

Kami juga dapat menjalankan skrip real_time_object_detection.py. Jika terjadi kesalahan, ulangi prosedur untuk skrip pi_object_detection.py: beri komentar pada baris 38 dan batalkan komentar pada baris 39. Hasil

gambar

Itu saja untuk saat ini. Semoga beruntung untuk semua orang dan sampai jumpa lagi!

Source: https://habr.com/ru/post/id481066/


All Articles