![Apakah Itu Tangan? (Kamera Raspberry Pi + Neural Network) Bagian 1/2: 16 Langkah (dengan Gambar) Apakah Itu Tangan? (Kamera Raspberry Pi + Neural Network) Bagian 1/2: 16 Langkah (dengan Gambar)](https://i.howwhatproduce.com/images/002/image-3672-109-j.webp)
Daftar Isi:
- Langkah 1: Video
- Langkah 2: Perangkat Keras
- Langkah 3: Sepotong Kode
- Langkah 4: Mendapatkan Gambar
- Langkah 5: Alat dan Bahasa yang Digunakan
- Langkah 6: Mempersiapkan Dataset untuk Pelatihan
- Langkah 7: Jaringan Syaraf
- Langkah 8: Melatih Jaringan Saraf
- Langkah 9: Menguji Jaringan Neural
- Langkah 10: Hasil dan Bagian Selanjutnya…
- Langkah 11: Deteksi Objek
- Langkah 12: Video
- Langkah 13: Pelabelan
- Langkah 14: Pelabelan GUI
- Langkah 15: Perpustakaan Dibutuhkan
- Langkah 16: Sel yang Tersisa
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-23 14:49
![Apakah Itu Tangan? (Kamera Raspberry Pi + Jaringan Saraf Tiruan) Bagian 1/2 Apakah Itu Tangan? (Kamera Raspberry Pi + Jaringan Saraf Tiruan) Bagian 1/2](https://i.howwhatproduce.com/images/002/image-3672-110-j.webp)
![Apakah Itu Tangan? (Kamera Raspberry Pi + Jaringan Saraf Tiruan) Bagian 1/2 Apakah Itu Tangan? (Kamera Raspberry Pi + Jaringan Saraf Tiruan) Bagian 1/2](https://i.howwhatproduce.com/images/002/image-3672-111-j.webp)
![Apakah Itu Tangan? (Kamera Raspberry Pi + Jaringan Saraf Tiruan) Bagian 1/2 Apakah Itu Tangan? (Kamera Raspberry Pi + Jaringan Saraf Tiruan) Bagian 1/2](https://i.howwhatproduce.com/images/002/image-3672-112-j.webp)
Beberapa hari yang lalu, saya cedera pergelangan tangan kanan saya di gym. Setelah itu setiap kali saya menggunakan mouse komputer saya, itu menyebabkan banyak rasa sakit karena sudut pergelangan tangan yang curam.
Saat itulah saya tersadar " bukankah lebih bagus jika kita bisa mengubah permukaan apa pun menjadi trackpad " dan saya tidak tahu mengapa tetapi untuk beberapa alasan saya memikirkannya, film HER, saya akan membiarkan kalian mengetahuinya keluar. Itu adalah pemikiran yang menarik tetapi saya tidak tahu apakah saya bisa melakukannya, saya memutuskan untuk mencobanya.
Artikel ini menangkap apa yang keluar darinya.
Sebelum kita mulai, saya memiliki penafian-
' Di akhir artikel ini, saya tidak dapat mengubah permukaan apa pun menjadi trackpad tetapi saya tidak banyak belajar dan menambahkan alat-alat besar ke gudang senjata saya. Saya harap itu terjadi pada Anda juga'
Mari kita mulai.
Langkah 1: Video
![Image Image](https://i.howwhatproduce.com/images/002/image-3672-114-j.webp)
![](https://i.ytimg.com/vi/sHpu-sWhGns/hqdefault.jpg)
Berikut adalah video kecil 5 menit yang mencakup semua langkah. Lihatlah.
Langkah 2: Perangkat Keras
![Perangkat keras Perangkat keras](https://i.howwhatproduce.com/images/002/image-3672-115-j.webp)
Saya menyiapkan raspberry pi bersama dengan kamera raspberry pi pada ketinggian sekitar 45 cm. Ini memberi kita area pemantauan sekitar 25x25 cm di bawah kamera.
Raspberry pi dan kamera raspberry pi tersedia dengan mudah, hanya google dan Anda harus dapat menemukan toko lokal.
Lihatlah Tautan ini atau salah satu daftar putar Raspberry pi saya untuk mengaktifkan dan menjalankan pi tanpa kepala Anda.
Setelah pengaturan ini, kita memerlukan sepotong kode yang memutuskan apakah ada tangan di area yang dipantau kamera dan jika demikian, di mana itu.
Langkah 3: Sepotong Kode
![Sepotong Kode Sepotong Kode](https://i.howwhatproduce.com/images/002/image-3672-116-j.webp)
![Sepotong Kode Sepotong Kode](https://i.howwhatproduce.com/images/002/image-3672-117-j.webp)
Sepotong kode yang memungkinkan kita memutuskan apakah ada tangan di bidang minat menggunakan sesuatu yang disebut Neural Network. Mereka termasuk dalam kategori pemrograman di mana kami tidak mendefinisikan aturan untuk membuat keputusan, tetapi kami menunjukkan data jaringan saraf yang cukup sehingga aturan itu sendiri.
Dalam kasus kami, alih-alih mengkodekan tampilan tangan, kami menampilkan gambar jaringan saraf yang diambil dari raspberry pi yang berisi tangan dan yang tidak berisi tangan. Fase ini disebut pelatihan jaringan saraf dan gambar yang digunakan disebut dataset pelatihan.
Langkah 4: Mendapatkan Gambar
![Mendapatkan Gambar Mendapatkan Gambar](https://i.howwhatproduce.com/images/002/image-3672-118-j.webp)
Saya login jarak jauh ke raspberry pi saya dan mengambil banyak gambar menggunakan perintah berikut.
sudo raspistill -w 640 -h 480 -rot 90 -t 250000 -t1 5000 -o frame%04d.jpg
Saya menangkap 80 gambar dengan tangan dan 80 gambar tanpa tangan. 160 gambar tidak cukup untuk melatih jaringan saraf dengan benar tetapi harus cukup untuk bukti konsep.
Selain 160 gambar, saya mengambil 20 gambar lagi untuk menguji jaringan kami setelah dilatih.
Setelah dataset siap, saya mulai menulis kode untuk jaringan saraf.
Langkah 5: Alat dan Bahasa yang Digunakan
![Alat dan Bahasa yang Digunakan Alat dan Bahasa yang Digunakan](https://i.howwhatproduce.com/images/002/image-3672-119-j.webp)
![Alat dan Bahasa yang Digunakan Alat dan Bahasa yang Digunakan](https://i.howwhatproduce.com/images/002/image-3672-120-j.webp)
Saya menulis jaringan saraf saya di perpustakaan pembelajaran mendalam python yang disebut Keras dan kode ditulis di notebook jupyter dari anaconda navigator.
Langkah 6: Mempersiapkan Dataset untuk Pelatihan
![Mempersiapkan Dataset untuk Pelatihan Mempersiapkan Dataset untuk Pelatihan](https://i.howwhatproduce.com/images/002/image-3672-121-j.webp)
![Mempersiapkan Dataset untuk Pelatihan Mempersiapkan Dataset untuk Pelatihan](https://i.howwhatproduce.com/images/002/image-3672-122-j.webp)
![Mempersiapkan Dataset untuk Pelatihan Mempersiapkan Dataset untuk Pelatihan](https://i.howwhatproduce.com/images/002/image-3672-123-j.webp)
![Mempersiapkan Dataset untuk Pelatihan Mempersiapkan Dataset untuk Pelatihan](https://i.howwhatproduce.com/images/002/image-3672-124-j.webp)
Pertama (Gambar #1) Saya menyertakan semua perpustakaan yang diperlukan untuk proyek ini, yang meliputi PIL, matplotlib, numpy, os dan Keras. Di sel kedua notebook python (Gambar # 2) saya menentukan jalur ke dataset dan mencetak jumlah sampel. Sekarang kita perlu memuat semua gambar ke dalam array numpy, maka di sel ketiga (Gambar #2) saya membuat array numpy 82 (jumlah sampel tangan)+75 (jumlah sampel bukan tangan) yaitu 157x100x100x3. 157 adalah jumlah total gambar yang saya miliki, 100x100 adalah dimensi gambar yang diubah ukurannya dan 3 untuk lapisan warna merah, hijau dan biru dalam gambar.
Di sel keempat dan kelima, kami memuat gambar yang berisi tangan diikuti oleh gambar yang tidak berisi tangan dalam array numpy. Di sel keenam, kami membagi setiap nilai dengan 255 sehingga membatasi rentang nilai dari 0 hingga 1. (Gambar #3)
Saya minta maaf jika gambar terlampir tidak cukup baik. Berikut ini tautan ke repositori GITHUB agar Anda dapat melihat kodenya. Jangan lupa untuk mengganti nama jalur direktori dengan jalur Anda:).
Bergerak bersama.
Selanjutnya kita perlu memberi label pada setiap gambar, jadi, kita membuat array numpy satu dimensi dengan panjang 157. 82 entri pertama diatur ke 1 dan sisanya 75 entri diatur ke 0 menyampaikan jaringan saraf bahwa 82 gambar pertama berasal dari satu kelas dan sisanya dari yang lain.(Gambar #4)
Sekarang mari kita buat jaringan saraf.
Langkah 7: Jaringan Syaraf
![Jaringan syaraf Jaringan syaraf](https://i.howwhatproduce.com/images/002/image-3672-125-j.webp)
![Jaringan syaraf Jaringan syaraf](https://i.howwhatproduce.com/images/002/image-3672-126-j.webp)
Di sel kesembilan, kami mendefinisikan jaringan saraf kami. Ini berisi tiga pengulangan lapisan konvolusi diikuti oleh lapisan maxpool dengan 8, 12 dan 16 filter konvolusi masing-masing. Setelah itu kita memiliki dua jaring saraf padat. Melampirkan dua gambar untuk langkah ini. Pertama adalah snap kode yang membuat neural network dan kedua adalah representasi bergambar dari neural network dengan dimensi output dan operasi yang dianotasi.
Langkah 8: Melatih Jaringan Saraf
![Pelatihan Jaringan Saraf Pelatihan Jaringan Saraf](https://i.howwhatproduce.com/images/002/image-3672-127-j.webp)
Di sel kesepuluh, kami mengonfigurasi pengoptimal jaringan saraf ke 'adam' dan fungsi kehilangan ke 'binary_crossentropy'. Mereka memainkan peran utama dalam bagaimana bobot jaringan diperbarui. Akhirnya ketika kami menjalankan sel kesebelas, jaringan saraf mulai berlatih. Saat jaringan sedang dilatih, perhatikan fungsi kerugian dan pastikan bahwa itu berkurang.
Langkah 9: Menguji Jaringan Neural
![Menguji Jaringan Saraf Menguji Jaringan Saraf](https://i.howwhatproduce.com/images/002/image-3672-128-j.webp)
Setelah jaringan saraf dilatih, kita perlu menyiapkan kumpulan data uji. Kami mengulangi prosedur yang dilakukan untuk menyiapkan set pelatihan di sel ke-3, ke-4, ke-5 dan ke-6 pada data uji untuk membuat set uji. Kami juga menyiapkan label untuk set uji tetapi kali ini kami menjalankan model pada set data ini untuk mendapatkan prediksi dan bukan untuk melatih.
Langkah 10: Hasil dan Bagian Selanjutnya…
![Hasil dan Bagian Selanjutnya… Hasil dan Bagian Selanjutnya…](https://i.howwhatproduce.com/images/002/image-3672-129-j.webp)
Saya mendapatkan akurasi pengujian 88% tetapi mengambil ini dengan sedikit garam karena dataset yang digunakan untuk melatih dan menguji model ini sangat sangat sangat kecil dan tidak memadai untuk melatih model ini dengan benar.
Bagaimanapun saya harap Anda menikmati artikel ini. Niat saya di balik latihan ini belum selesai dan hati-hati untuk bagian ke-2. Saya akan mengunggahnya sesegera mungkin.
Di bagian selanjutnya, kita akan melatih jaringan saraf lain yang akan memberi tahu kita lokasi tangan dalam gambar yang terdeteksi tangan.
Semua pertanyaan dipersilakan.
Jika ada yang tertarik menggunakan dataset kecil saya, beri tahu saya di komentar. Saya akan membuatnya tersedia.
Terima kasih sudah membaca. Saya akan melihat Anda segera dengan bagian kedua sampai saat itu mengapa Anda tidak membuat dan melatih jaringan saraf.
Sunting: - Langkah selanjutnya adalah untuk bagian kedua.
Langkah 11: Deteksi Objek
![Deteksi Objek Deteksi Objek](https://i.howwhatproduce.com/images/002/image-3672-130-j.webp)
Pada langkah sebelumnya kami membuat NN yang memberi tahu kami apakah gambar uji berisi tangan atau tidak. Nah apa selanjutnya? Jika NN mengklasifikasikan gambar sebagai tangan yang berisi, kami ingin mengetahui lokasi tangan tersebut. Ini disebut deteksi objek dalam literatur visi komputer. Jadi mari kita latih NN yang melakukan hal yang persis sama.
Langkah 12: Video
![Image Image](https://i.howwhatproduce.com/images/002/image-3672-132-j.webp)
![](https://i.ytimg.com/vi/i4iCdwSUSU4/hqdefault.jpg)
Video berdurasi 3 menit yang menjelaskan semua langkah yang tersisa. Lihatlah.
Langkah 13: Pelabelan
![Pelabelan Pelabelan](https://i.howwhatproduce.com/images/002/image-3672-133-j.webp)
![Pelabelan Pelabelan](https://i.howwhatproduce.com/images/002/image-3672-134-j.webp)
![Pelabelan Pelabelan](https://i.howwhatproduce.com/images/002/image-3672-135-j.webp)
Jika Anda ingin jaringan saraf ke lokasi keluaran tangan, kita perlu melatihnya sedemikian rupa yaitu tidak seperti jaringan saraf sebelumnya di mana setiap gambar diberi label baik dengan tangan dan tanpa tangan. Kali ini semua gambar dengan tangan akan memiliki empat label yang sesuai dengan koordinat diagonal kotak pembatas di sekitar tangan pada gambar tersebut.
Gambar terlampir dari file csv berisi label untuk setiap gambar. Harap dicatat bahwa koordinat dinormalisasi dengan dimensi gambar yaitu jika koordinat X atas berada pada piksel ke-320 pada gambar dengan lebar 640 piksel, kami akan memberi label sebagai 0,5.
Langkah 14: Pelabelan GUI
![Pelabelan GUI Pelabelan GUI](https://i.howwhatproduce.com/images/002/image-3672-136-j.webp)
![Pelabelan GUI Pelabelan GUI](https://i.howwhatproduce.com/images/002/image-3672-137-j.webp)
![Pelabelan GUI Pelabelan GUI](https://i.howwhatproduce.com/images/002/image-3672-138-j.webp)
![Pelabelan GUI Pelabelan GUI](https://i.howwhatproduce.com/images/002/image-3672-139-j.webp)
Anda mungkin bertanya-tanya bagaimana saya berhasil melabeli semua 82 gambar, saya menulis GUI dengan python yang membantu saya dengan tugas ini. Setelah gambar dimuat di GUI. Saya klik kiri pada koordinat atas dan klik kanan pada koordinat bawah kotak pembatas kemungkinan di sekitar tangan. Koordinat ini kemudian ditulis ke file berikut yang saya klik tombol berikutnya untuk memuat gambar berikutnya. Saya mengulangi prosedur ini untuk semua 82 kereta dan 4 gambar uji. Setelah label siap, saatnya pelatihan.
Langkah 15: Perpustakaan Dibutuhkan
![Perpustakaan Dibutuhkan Perpustakaan Dibutuhkan](https://i.howwhatproduce.com/images/002/image-3672-140-j.webp)
![Perpustakaan Dibutuhkan Perpustakaan Dibutuhkan](https://i.howwhatproduce.com/images/002/image-3672-141-j.webp)
![Perpustakaan Dibutuhkan Perpustakaan Dibutuhkan](https://i.howwhatproduce.com/images/002/image-3672-142-j.webp)
Pertama kita perlu memuat semua perpustakaan yang diperlukan. Yang mana termasuk
- PIL untuk manipulasi gambar,
- matplotlib untuk merencanakan,
- numpy untuk operasi matriks,
- os untuk fungsionalitas yang bergantung pada sistem operasi dan
- keras untuk jaringan saraf.
Langkah 16: Sel yang Tersisa
![Sel yang tersisa Sel yang tersisa](https://i.howwhatproduce.com/images/002/image-3672-143-j.webp)
![Sel yang tersisa Sel yang tersisa](https://i.howwhatproduce.com/images/002/image-3672-144-j.webp)
![Sel yang tersisa Sel yang tersisa](https://i.howwhatproduce.com/images/002/image-3672-145-j.webp)
![Sel yang tersisa Sel yang tersisa](https://i.howwhatproduce.com/images/002/image-3672-146-j.webp)
Di sel ke-2, ke-3, ke-4 dan ke-5 kita memuat gambar ke dalam array numpy dan membuat array empat dimensi dari file csv untuk bertindak sebagai label. Di sel nomor 6 kami membuat jaringan saraf kami. Arsitekturnya identik dengan jaringan syaraf tiruan yang digunakan untuk klasifikasi kecuali dimensi output layer yaitu 4 dan bukan 1. Perbedaan lain berasal dari fungsi loss yang digunakan yaitu mean squared error. Di sel nomor 8 kami memulai pelatihan jaringan saraf kami setelah dilatih. Saya menjalankan model ini pada set pengujian untuk mendapatkan prediksi untuk kotak pembatas pada koordinat overlay kotak pembatas, mereka terlihat cukup akurat.
Terima kasih sudah membaca.
Direkomendasikan:
Planetarium Bertenaga Neural Network Menggunakan Python, Elektron, dan Keras: 8 Langkah
![Planetarium Bertenaga Neural Network Menggunakan Python, Elektron, dan Keras: 8 Langkah Planetarium Bertenaga Neural Network Menggunakan Python, Elektron, dan Keras: 8 Langkah](https://i.howwhatproduce.com/images/007/image-18238-j.webp)
Neural Network Powered Planetarium Menggunakan Python, Electron, dan Keras: Dalam instruksi ini, saya akan menunjukkan kepada Anda bagaimana saya menulis generator planetarium 3D otomatis, menggunakan Python dan Electron. Video di atas menunjukkan salah satu planetarium acak yang dihasilkan program.**Catatan: Program ini sama sekali tidak sempurna, dan di beberapa tempat
Tangan Robot Dengan Sarung Tangan Nirkabel Terkendali - NRF24L01+ - Arduino: 7 Langkah (dengan Gambar)
![Tangan Robot Dengan Sarung Tangan Nirkabel Terkendali - NRF24L01+ - Arduino: 7 Langkah (dengan Gambar) Tangan Robot Dengan Sarung Tangan Nirkabel Terkendali - NRF24L01+ - Arduino: 7 Langkah (dengan Gambar)](https://i.howwhatproduce.com/images/001/image-561-115-j.webp)
Tangan Robot Dengan Sarung Tangan Nirkabel Terkendali | NRF24L01+ | Arduino: Dalam video ini; Rakitan tangan robot 3D, kontrol servo, kontrol sensor fleksibel, kontrol nirkabel dengan nRF24L01, penerima Arduino dan kode sumber pemancar tersedia. Singkatnya, dalam proyek ini kita akan belajar cara mengontrol tangan robot dengan kabel
Tangan Ketiga++: Tangan Pembantu Serbaguna untuk Elektronik dan Pekerjaan Halus Lainnya.: 14 Langkah (dengan Gambar)
![Tangan Ketiga++: Tangan Pembantu Serbaguna untuk Elektronik dan Pekerjaan Halus Lainnya.: 14 Langkah (dengan Gambar) Tangan Ketiga++: Tangan Pembantu Serbaguna untuk Elektronik dan Pekerjaan Halus Lainnya.: 14 Langkah (dengan Gambar)](https://i.howwhatproduce.com/images/003/image-6757-46-j.webp)
Tangan Ketiga++: Tangan Pembantu Serbaguna untuk Elektronik dan Pekerjaan Halus Lainnya.: Di masa lalu saya telah menggunakan tangan ketiga/tangan penolong yang tersedia di toko elektronik berantai dan merasa frustrasi dengan kegunaannya. Saya tidak pernah bisa mendapatkan klip tepat di tempat yang saya inginkan atau butuh lebih banyak waktu daripada yang seharusnya untuk mendapatkan pengaturan
Buat Flash Drive Tanpa Casing yang Luar Biasa, Apakah Saya Menyebutkan Itu Tahan Air?: 13 Langkah
![Buat Flash Drive Tanpa Casing yang Luar Biasa, Apakah Saya Menyebutkan Itu Tahan Air?: 13 Langkah Buat Flash Drive Tanpa Casing yang Luar Biasa, Apakah Saya Menyebutkan Itu Tahan Air?: 13 Langkah](https://i.howwhatproduce.com/images/004/image-11574-16-j.webp)
Buat Flash Drive Tanpa Casing yang Luar Biasa, Apakah Saya Menyebutkan Itu Tahan Air?: Pelajari cara menggunakan beberapa bahan yang tersedia secara umum yang mungkin Anda miliki di sekitar rumah untuk membuat flash drive tanpa casing yang mengagumkan
Kartu Foto Liburan Buatan Tangan Yang Merupakan Hadiah Itu Sendiri!: 8 Langkah
![Kartu Foto Liburan Buatan Tangan Yang Merupakan Hadiah Itu Sendiri!: 8 Langkah Kartu Foto Liburan Buatan Tangan Yang Merupakan Hadiah Itu Sendiri!: 8 Langkah](https://i.howwhatproduce.com/preview/how-and-what-to-produce/10959616-handmade-holiday-photo-card-that-is-a-gift-in-itself-8-steps-j.webp)
Kartu Foto Liburan Buatan Tangan Yang Merupakan Hadiah Sendiri!: Instruksi ini akan menunjukkan kepada Anda cara membuat satu set kartu unik, yang masing-masing dapat dibingkai oleh penerima setelah musim liburan berakhir, dan bahkan lebih mudah jika Anda memberikannya bingkai foto klip IKEA bersama dengan kartu. Kartu-kartu ini bisa