TensorFlowDeteksi objek Lite - AWS IoT Greengrass

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

TensorFlowDeteksi objek Lite

Komponen deteksi objekTensorFlow Lite (aws.greengrass.TensorFlowLiteObjectDetection) berisi contoh kode inferensi untuk melakukan inferensi deteksi objek dengan menggunakan TensorFlowLite dan sampel model Single Shot Detection (SSD)MobileNet 1.0. Komponen ini menggunakan varianTensorFlowPenyimpanan model deteksi objek Lite danTensorFlowRuntime komponen sebagai dependensi untuk mengunduhTensorFlow Lite dan model sampel.

Untuk menggunakan komponen inferensi ini dengan modelTensorFlow Lite yang terlatih khusus, Anda dapat membuat versi kustom dari komponen penyimpanan model model dependen. Untuk menggunakan kode inferensi kustom Anda sendiri, gunakan resep komponen ini sebagai templat untuk membuat komponen inferensi kustom.

Versi

Komponen ini memiliki versi berikut:

  • 2.1.x

Tipe

Komponen ini adalah komponen generik (aws.greengrass.generic). Greengrass menjalankan skrip siklus hidup komponen.

Untuk informasi selengkapnya, lihat Jenis komponen.

Sistem operasi

Komponen ini dapat diinstal pada perangkat inti yang menjalankan sistem operasi berikut:

  • Linux

  • Windows

Persyaratan

Komponen ini memiliki persyaratan sebagai berikut:

  • Pada perangkat inti Greengrass yang menjalankan Amazon Linux 2 atau Ubuntu 18.04, Pustaka GNU C (glibc) versi 2.27 atau yang lebih baru diinstal pada perangkat.

  • Pada perangkat Armv7l, seperti Raspberry Pi, dependensi untuk OpenCV-Python diinstal pada perangkat. Jalankan perintah berikut untuk menginstal dependensi.

    sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
  • Perangkat Raspberry Pi yang menjalankan Raspberry Pi OS Bullseye harus memenuhi persyaratan berikut:

    • NumPy1.22.4 atau yang lebih baru diinstal pada perangkat. Raspberry Pi OS Bullseye menyertakan versi sebelumnyaNumPy, sehingga Anda dapat menjalankan perintah berikut untuk meningkatkanNumPy perangkat.

      pip3 install --upgrade numpy
    • Tumpukan kamera lama diaktifkan pada perangkat. Raspberry Pi OS Bullseye menyertakan tumpukan kamera baru yang diaktifkan secara default dan tidak kompatibel, jadi Anda harus mengaktifkan tumpukan kamera lama.

      Untuk mengaktifkan tumpukan kamera lama
      1. Jalankan perintah berikut untuk menjalankan alat konfigurasi Raspberry Pi.

        sudo raspi-config
      2. Pilih Opsi Antarmuka.

      3. Pilih Kamera lama untuk mengaktifkan tumpukan kamera lama.

      4. Reboot Raspberry Pi.

Dependensi

Saat Anda men-deploy komponen, AWS IoT Greengrass juga men-deploy versi dependensinya yang kompatibel. Ini berarti bahwa Anda harus memenuhi persyaratan untuk komponen dan semua dependensinya untuk berhasil men-deploy komponen. Bagian ini berisi daftar dependensi untuk versi yang dirilis dari komponen ini dan kendala versi semantik yang menentukan versi komponen untuk setiap dependensi. Anda juga dapat melihat dependensi untuk setiap versi komponen di konsol AWS IoT Greengrass tersebut. Pada halaman detail komponen, cari daftar Dependensi.

2.1.9

Tabel berikut mencantumkan dependensi untuk versi 2.1.9 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Greengrass > = 2.0.0 <2.11.0 Lunak
TensorFlowPenyimpanan model klasifikasi gambar Lite >=2.1.0 <2.2.0 Keras
TensorFlowLite >=2.5.0 <2.6.0 Keras
2.1.8

Tabel berikut mencantumkan dependensi untuk versi 2.1.8 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Greengrass > = 2.0.0 <2.10.0 Lunak
TensorFlowPenyimpanan model klasifikasi gambar Lite >=2.1.0 <2.2.0 Keras
TensorFlowLite >=2.5.0 <2.6.0 Keras
2.1.7

Tabel berikut mencantumkan dependensi untuk versi 2.1.7 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Greengrass > = 2.0.0 <2.9.0 Lunak
TensorFlowPenyimpanan model klasifikasi gambar Lite >=2.1.0 <2.2.0 Keras
TensorFlowLite >=2.5.0 <2.6.0 Keras
2.1.6

Tabel berikut mencantumkan dependensi untuk versi 2.1.6 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Greengrass > = 2.0.0 <2.8.0 Lunak
TensorFlowPenyimpanan model klasifikasi gambar Lite >=2.1.0 <2.2.0 Keras
TensorFlowLite >=2.5.0 <2.6.0 Keras
2.1.5

Tabel berikut mencantumkan dependensi untuk versi 2.1.5 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Greengrass > = 2.0.0 <2.7.0 Lunak
TensorFlowPenyimpanan model klasifikasi gambar Lite >=2.1.0 <2.2.0 Keras
TensorFlowLite >=2.5.0 <2.6.0 Keras
2.1.4

Tabel berikut mencantumkan dependensi untuk versi 2.1.4 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Greengrass > = 2.0.0 <2.6.0 Lunak
TensorFlowPenyimpanan model klasifikasi gambar Lite >=2.1.0 <2.2.0 Keras
TensorFlowLite >=2.5.0 <2.6.0 Keras
2.1.3

Tabel berikut mencantumkan dependensi untuk versi 2.1.3 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Greengrass > = 2.0.0 <2.5.0 Lunak
TensorFlowPenyimpanan model klasifikasi gambar Lite >=2.1.0 <2.2.0 Keras
TensorFlowLite >=2.5.0 <2.6.0 Keras
2.1.2

Tabel berikut mencantumkan dependensi untuk versi 2.1.2 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Greengrass >=2.0.0 <2.4.0 Lunak
TensorFlowPenyimpanan model klasifikasi gambar Lite >=2.1.0 <2.2.0 Keras
TensorFlowLite >=2.5.0 <2.6.0 Keras
2.1.1

Tabel berikut mencantumkan dependensi untuk versi 2.1.1 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Greengrass >=2.0.0 <2.3.0 Lunak
TensorFlowPenyimpanan model klasifikasi gambar Lite >=2.1.0 <2.2.0 Keras
TensorFlowLite >=2.5.0 <2.6.0 Keras
2.1.0

Tabel berikut mencantumkan dependensi untuk versi 2.1.0 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Greengrass >=2.0.0 <2.2.0 Lunak
TensorFlowPenyimpanan model klasifikasi gambar Lite >=2.1.0 <2.2.0 Keras
TensorFlowLite >=2.5.0 <2.6.0 Keras

Konfigurasi

Komponen ini menyediakan parameter konfigurasi berikut yang dapat Anda sesuaikan ketika Anda men-deploy komponen.

accessControl

(Opsional) Objek yang berisi kebijakan otorisasi yang memungkinkan komponen untuk mempublikasikan pesan ke topik pemberitahuan default.

Default:

{ "aws.greengrass.ipc.mqttproxy": { "aws.greengrass.TensorFlowLiteObjectDetection:mqttproxy:1": { "policyDescription": "Allows access to publish via topic ml/tflite/object-detection.", "operations": [ "aws.greengrass#PublishToIoTCore" ], "resources": [ "ml/tflite/object-detection" ] } } }
PublishResultsOnTopic

(Opsional) Topik di mana Anda ingin mempublikasikan hasil inferensi. Jika Anda mengubah nilai ini, maka Anda juga harus mengubah nilai resources di parameter accessControl agar cocok dengan nama topik kustom Anda.

Default: ml/tflite/object-detection

Accelerator

Akselerator yang ingin Anda gunakan. Nilai yang didukung adalah cpu dan gpu.

Model sampel dalam komponen model dependen hanya mendukung akselerasi CPU. Untuk menggunakan akselerasi GPU dengan model kustom yang berbeda, buat komponen model kustom untuk menimpa komponen model publik.

Default: cpu

ImageDirectory

(Opsional) Jalur folder pada perangkat di mana komponen inferensi membaca gambar. Anda dapat mengubah nilai ini ke lokasi mana pun di perangkat Anda yang memiliki akses baca/tulis.

Default: /greengrass/v2/packages/artifacts-unarchived/component-name/object_detection/sample_images/

catatan

Jika Anda menetapkan nilai UseCamera ke true, maka parameter konfigurasi ini diabaikan.

ImageName

(Opsional) Nama gambar yang digunakan oleh komponen inferensi sebagai masukan untuk membuat prediksi. Komponen mencari gambar dalam folder yang ditentukan dalam ImageDirectory. Secara default, komponen menggunakan gambar sampel dalam direktori gambar default. AWS IoT Greengrass mendukung format gambar berikut: jpeg, jpg, png, dan npy.

Default: objects.jpg

catatan

Jika Anda menetapkan nilai UseCamera ke true, maka parameter konfigurasi ini diabaikan.

InferenceInterval

(Opsional) Waktu dalam detik antara setiap prediksi yang dibuat oleh kode inferensi. Kode inferensi sampel berjalan tanpa batas waktu dan mengulangi prediksinya pada interval waktu yang ditentukan. Misalnya, Anda dapat mengubahnya menjadi interval yang lebih pendek jika ingin menggunakan gambar yang diambil oleh kamera untuk prediksi real-time.

Default: 3600

ModelResourceKey

(Opsional) Model yang digunakan dalam komponen model publik dependen. Ubah parameter ini hanya jika Anda menimpa komponen model publik dengan komponen kustom.

Default:

{ "model": "TensorFlowLite-SSD" }
UseCamera

(Opsional) Nilai string yang menentukan apakah akan menggunakan gambar dari kamera yang terhubung ke perangkat inti Greengrass. Nilai yang didukung adalah true dan false.

Ketika Anda menetapkan nilai ini ke true, kode kesimpulan sampel akan mengakses kamera pada perangkat Anda dan menjalankan kesimpulan secara lokal pada gambar yang ditangkap. Nilai ImageName dan parameter ImageDirectory diabaikan. Pastikan bahwa pengguna yang menjalankan komponen ini memiliki akses baca/tulis ke lokasi di mana kamera menyimpan gambar yang diambil.

Default: false

catatan

Ketika Anda melihat resep komponen ini, parameter konfigurasi UseCamera tidak muncul dalam konfigurasi default. Namun, Anda dapat mengubah nilai parameter ini dalam pembaruan gabungan konfigurasi saat Anda men-deploy komponen.

Ketika Anda mengatur UseCamera ke true, Anda juga harus membuat symlink untuk mengaktifkan komponen inferensi untuk mengakses kamera Anda dari lingkungan virtual yang dibuat oleh komponen waktu aktif. Untuk informasi lebih lanjut tentang penggunaan kamera dengan komponen inferensi sampel, lihat Perbarui konfigurasi komponen.

catatan

Ketika Anda melihat resep komponen ini, parameter konfigurasi UseCamera tidak muncul dalam konfigurasi default. Namun, Anda dapat mengubah nilai parameter ini dalam pembaruan gabungan konfigurasi saat Anda men-deploy komponen.

Ketika Anda mengatur UseCamera ke true, Anda juga harus membuat symlink untuk mengaktifkan komponen inferensi untuk mengakses kamera Anda dari lingkungan virtual yang dibuat oleh komponen waktu aktif. Untuk informasi lebih lanjut tentang penggunaan kamera dengan komponen inferensi sampel, lihat Perbarui konfigurasi komponen.

File log log lokal

Komponen ini menggunakan file log berikut.

Linux
/greengrass/v2/logs/aws.greengrass.TensorFlowLiteObjectDetection.log
Windows
C:\greengrass\v2\logs\aws.greengrass.TensorFlowLiteObjectDetection.log
Untuk melihat log komponen ini
  • Jalankan perintah berikut pada perangkat inti untuk melihat file log komponen ini secara real time. Ganti /greengrass/v2 atau C:\greengrass\v2 dengan path ke folderAWS IoT Greengrass root.

    Linux
    sudo tail -f /greengrass/v2/logs/aws.greengrass.TensorFlowLiteObjectDetection.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\aws.greengrass.TensorFlowLiteObjectDetection.log -Tail 10 -Wait

Changelog

Tabel berikut menjelaskan perubahan dalam setiap versi komponen.

Versi

Perubahan

2.1.9

Versi yang diperbarui untuk rilis inti Greengrass versi 2.10.0.

2.1.8

Versi yang diperbarui untuk rilis inti Greengrass versi 2.9.0.

2.1.7

Versi yang diperbarui untuk rilis inti Greengrass versi 2.8.0.

2.1.6

Versi yang diperbarui untuk rilis inti Greengrass versi 2.7.0.

2.1.5

Versi yang diperbarui untuk rilis inti Greengrass versi 2.6.0.

2.1.4

Versi yang diperbarui untuk rilis inti Greengrass versi 2.5.0.

2.1.3

Versi yang diperbarui untuk rilis inti Greengrass versi 2.4.0.

2.1.2

Versi yang diperbarui untuk rilis inti Greengrass versi 2.3.0.

2.1.1

Perbaikan bug dan peningkatan
  • Memperbaiki masalah penskalaan gambar yang mengakibatkan kotak batas yang tidak akurat dalam hasil inferensi deteksi objekTensorFlow Lite sampel.

2.1.0

Versi awal.