Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Demo Pembelajaran Mesin reTerminal (Edge Impulse dan Arm NN)

8 GB RAM 32 GB eMMC Raspberry Pi CM development board dengan layar sentuh dan banyak antarmuka.

Cerita

Beberapa artikel terakhir yang saya terbitkan adalah tentang TinyML dengan Wio Terminal – papan pengembangan berbasis Cortex M4F dengan layar LCD dalam wadah plastik kokoh. Seeed studio, perusahaan yang membuat Wio Terminal memutuskan untuk mengambil ide ini selangkah lebih maju dan baru-baru ini mengumumkan reTerminal – papan pengembangan berbasis Modul Komputasi Raspberry Pi 4 dengan layar LCD dalam wadah plastik yang kokoh.

Saya mendapatkan salah satu reTerminal dan telah membuat video unboxing singkat, yang juga menyertakan beberapa demo dan penjelasan tentang kemungkinan kasus penggunaan untuk perangkat. Artikel ini dimaksudkan sebagai suplemen untuk video, memperluas cara menyiapkan lingkungan dan menjalankan demo pembelajaran mesin.

Spesifikasi

reTerminal didukung oleh Raspberry Pi Compute Module 4 (CM4) dengan CPU Quad-core Cortex-A72 yang berjalan pada 1.5GHz. Versi modul CM4 yang digunakan untuk reTerminal memiliki RAM 4 Gb dan penyimpanan eMMC 32 Gb, yang mempersingkat waktu boot-up dan memberikan pengalaman pengguna yang lebih lancar secara keseluruhan. Dari segi periferal, terdapat layar multi-sentuh kapasitif IPS 5 inci dengan resolusi 1280 x 720, akselerometer, modul RTC, buzzer, 4 tombol, 4 LED, dan sensor cahaya. Dan untuk konektivitas, board baru ini memiliki Wi-Fi dual-band 2.4GHz/5GHz dan Bluetooth 5.0 BLE, plus port Gigabit Ethernet di samping.

reTerminal dapat ditenagai oleh catu daya yang sama yang digunakan untuk Raspberry Pi 4, 5V2A, namun dalam deskripsi resmi catu daya 4A direkomendasikan, terutama ketika Anda menghubungkan lebih banyak periferal. Untuk demo, saya telah menggunakan catu daya colokan listrik 5V2A dari perusahaan yang tidak dikenal dan tidak mendapatkan peringatan tegangan rendah. Karena itu, jika ragu, gunakan 5V4A.

Secara default, reTerminal dikirimkan dengan OS Raspbian 32-bit yang telah diinstal sebelumnya, dengan driver perangkat yang diinstal. Namun, karena untuk aplikasi pembelajaran mesin, OS 64-bit dapat memberikan peningkatan yang signifikan, Seeed studio juga akan menyediakan gambar OS Raspbian versi 64-bit dengan driver khusus reTerminal yang telah diinstal sebelumnya.

Keyboard layar terpasang dan demo QT5 sederhana juga disertakan. Layar sentuh responsif, tetapi karena OS Raspbian bukan sistem operasi seluler dan tidak dioptimalkan untuk layar sentuh, terkadang agak merepotkan untuk menekan elemen UI yang lebih kecil. Memiliki stylus sangat membantu.

Keyboard layar onboard muncul saat Anda perlu mengetik teks dan menghilang setelah itu. Anda dapat mengubah perilaku itu di pengaturan. Jadi dimungkinkan untuk menggunakan reTerminal sebagai Raspberry Pi portabel, meskipun untuk itu Anda mungkin ingin melihat OS lain, misalnya Ubuntu touch, yang bekerja dengan Raspberry Pi 4, tetapi saat ini dalam tahap pengembangan beta dan sangat eksperimental. Kasus penggunaan utama untuk reTerminal adalah menampilkan antarmuka pengguna yang dibuat dengan QT, LVGL, atau Flutter. Mari luncurkan aplikasi sampel QT, yang menunjukkan spesifikasi dan parameter perangkat, data dari sensor, dan papan kontrol contoh untuk pabrik imajiner. Jika elemen antarmuka berukuran besar, layar sentuh akan lebih menyenangkan untuk digunakan.

Deteksi Objek Impuls Tepi

Kami akan menggunakan fitur terbaru dari platform pengembangan Edge Impulse, dukungan penyebaran Linux. Kami dapat dengan mudah melatih model deteksi objek dengan mengumpulkan sampel dengan kamera yang terhubung ke reTerminal, lalu melatih di cloud dan secara otomatis mengunduh dan menjalankan model yang dilatih dengan edge-impulse-linux-runner.

Prosedur pemasangan Edge Impulse CLI dijelaskan dalam dokumentasi. Semuanya bermuara pada beberapa langkah sederhana:

curl -sL https://deb.nodesource.com/setup_12.x | sudo bash -
sudo apt install -y gcc g++ make build-essential nodejs sox gstreamer1.0-tools gstreamer1.0-plugins-good gstreamer1.0-plugins-base gstreamer1.0-plugins-base-apps
npm config setel root pengguna &&Sudo npm install edge-impulse-linux -g --unsafe-perm

Setelah Edge Impulse CLI terinstal, pastikan Anda memiliki kamera yang terhubung – Saya menggunakan kamera Web USB sederhana, jika Anda menggunakan kamera Raspberry Pi, ingatlah untuk mengaktifkannya di raspi-config.

Sebelum Anda mulai mengumpulkan data untuk deteksi objek, pastikan bahwa di Dasbor di bawah 'Info proyek> Metode pelabelan' 'Kotak pembatas (deteksi objek)' dipilih.

Ambil setidaknya 100 gambar untuk setiap kelas yang ingin Anda kenali. Saat ini Anda dapat mengunggah gambar Anda sendiri, dengan menekan opsi Tampilkan – Unggah data di tab Akuisisi Data. Namun, anotasi kotak pembatas belum dapat diunggah, jadi gambar yang Anda unggah masih perlu diberi label secara manual. Setelah Anda memiliki cukup anotasi gambar, buka Create Impulse, pilih Image for processing block dan Object Detection(Images) for Learning block.

Jumlah gambar yang dapat dikumpulkan dan diberi anotasi oleh satu pengguna hampir tidak cukup untuk melatih jaringan besar dari awal, itulah sebabnya kami menyempurnakan model yang telah dilatih sebelumnya untuk mendeteksi kelas objek baru. Dalam sebagian besar kasus, Anda dapat membiarkan nilai default untuk jumlah epoch, kecepatan belajar, dan kepercayaan diri. Untuk deteksi objek, kode khusus digunakan, jadi kami tidak dapat mengubahnya dalam mode Pakar, seperti yang mungkin dilakukan dengan model yang lebih sederhana.

Pelatihan dilakukan pada CPU, sehingga membutuhkan sedikit waktu, tergantung pada jumlah gambar dalam kumpulan data Anda. Nikmati secangkir minuman favorit Anda, saat Anda melakukannya.

Salah satu hal terbaik tentang dukungan Linux yang baru ditambahkan untuk Edge Impulse adalah edge-impulse-linux-runner. Ketika pelatihan model selesai dan Anda puas dengan akurasi pada set data validasi (yang secara otomatis dipisahkan dari data pelatihan), Anda dapat menguji model dalam klasifikasi Langsung dan kemudian melanjutkan untuk menerapkannya di perangkat. Dalam hal ini sesederhana menjalankan

edge-impulse-linux-runner

di terminal. Model akan secara otomatis diunduh dan disiapkan, kemudian hasil inferensi akan ditampilkan di browser, Anda akan mendapatkan baris di terminal Anda, mirip dengan:

Ingin melihat umpan kamera dan klasifikasi langsung di browser Anda? Buka  http://192.168.1.19:4912

Klik tautan di terminal Anda untuk melihat tampilan langsung kamera.

Model tulang punggung yang digunakan untuk pembelajaran transfer adalah SSD MobileNetv2 dan cukup besar, jadi meskipun dengan semua pengoptimalan, kami mendapatkan sekitar 2 FPS atau ~400 ms. untuk bingkai – aliran video terlihat cukup responsif, tetapi itu karena inferensi tidak dilakukan pada setiap bingkai, Anda dapat dengan jelas melihat bahwa jika Anda mendeteksi objek dan kemudian menghilang dari gambar, kotak pembatas untuk itu tetap menyala untuk beberapa waktu . Karena dukungan Linux adalah fitur yang sangat baru di Edge Impulse, saya yakin ini akan menerima banyak peningkatan dalam waktu dekat, memungkinkan inferensi yang lebih cepat dan pengunggahan data beranotasi pengguna.

Inferensi Dipercepat ARM NN

Meskipun kami tahu bahwa Raspberry Pi 4 bukan papan terbaik untuk inferensi pembelajaran mesin, karena tidak memiliki akselerator perangkat keras untuk itu, kami masih dapat mencapai kecepatan inferensi waktu nyata yang lebih tinggi dengan

a) menggunakan mode yang lebih kecil

b) memastikan bahwa kami menggunakan semua 4 core dan instruksi Single Instruction Multiple Data (SIMD), di mana beberapa elemen pemrosesan dalam pipeline melakukan operasi pada beberapa titik data secara bersamaan, tersedia dengan ekstensi arsitektur pengoptimalan Neon untuk prosesor Arm.

Sumber: Demo Pembelajaran Mesin reTerminal (Edge Impulse dan Arm NN)


Proses manufaktur

  1. Rantai Pasokan dan Pembelajaran Mesin
  2. ADLINK:AI tepi multi-akses yang dipasang di tiang dan solusi pembelajaran mesin
  3. Komunikasi MQTT Antara NodeMCU dan Raspberry Pi 3 B+
  4. Sensor Suhu Python dan Raspberry Pi
  5. Sensor Suhu dan Cahaya Raspberry Pi
  6. Sensor Pi Raspberry dan Kontrol Aktuator
  7. Mendorong keandalan dan meningkatkan hasil pemeliharaan dengan pembelajaran mesin
  8. NXP Menggandakan Pembelajaran Mesin di Edge
  9. Haruskah Procurement Takut atau Menyambut AI dan Teknologi Pembelajaran Mesin?
  10. AWS Memperkuat Penawaran AI dan Pembelajaran Mesinnya