Coral Edge TPU
dan Ultralytics
semuanya ada di satu tempat: edge-tpu-silva
. Edge-tpu-silva kami adalah paket Python yang menyederhanakan instalasi ketergantungan USB Coral TPU dan memastikan kompatibilitas dengan PyCoral dan Ultralytics. Paket ini memberdayakan kemampuan detection
objek, segmentation
, dan classification
pada berbagai perangkat edge untuk mencapai FPS
(Kecepatan Prosesor Waktu Nyata) yang lebih tinggi.
Coral USB Accelerator Exclusivity
:
Pustaka edge-tpu-silva dibuat khusus untuk integrasi tanpa batas dengan Coral USB Accelerator. Akselerator perangkat keras yang kuat ini bukan sekadar persyaratan namun merupakan pilihan strategis, membuka potensi penuh perpustakaan untuk detection
, segmentation
, dan classification
objek yang unggul.
Temukan Coral USB Accelerator dan rasakan pendekatan yang disesuaikan untuk komputasi edge dengan perpustakaan edge-tpu-silva.
Paket edge-tpu-silva
hanya dapat dipadatkan dengan python versions <3.10
. Instal versi python tertentu jika versi python Anda tidak kompatibel.
Contoh: Untuk
Raspberry Pi
Anda bisa Klik Untuk instruksi tentang cara menginstal versi python tertentu menggunakan pyenv
Catatan: Python 3.6 hingga 3.9 Direkomendasikan, Klik tautan di atas tentang cara menginstal versi python tertentu
Catatan: Pastikan Raspberry Pi Anda mutakhir. Untuk melakukannya, jalankan perintah di bawah ini di terminal.
sudo apt-get updatesudo apt-get upgrade
Jalankan kode bash di bawah ini di terminal Anda untuk membuat dan mengaktifkan lingkungan virtual baru bernama .venv
. Pastikan Anda berada di direktori spesifik yang Anda inginkan untuk menginstal lingkungan ini.
python3 -m venv .venv
source .venv/bin/activate
Untuk menginstal edge-tpu-silva , gunakan perintah pip berikut di lingkungan python tertentu:
pip install edge-tpu-silva
Tabel ini memberikan gambaran umum tentang kompatibilitas sistem dengan berbagai perangkat dan sistem operasi.
Kesesuaian | Perintah Pengaturan | |
---|---|---|
Raspberi Pi 5 | ✔ | silvatpu-linux-setup |
Raspberi Pi 4 | ✔ | silvatpu-linux-setup |
Raspberi Pi 3 | ✔ | silvatpu-linux-setup |
Jetson Nano | ✔ | silvatpu-linux-setup |
jendela | ||
macOS |
Untuk mengonfigurasi alat pengaturan untuk sistem Anda, jalankan perintah pengaturan di terminal setelah langkah 1 selesai.
Contoh: Jika Anda menggunakan Raspberry Pi 5, jalankan perintah di bawah ini di terminal dengan mengikuti langkah 1.
silvatpu-linux-setup
Perintah ini menginstal runtime Edge TPU standar untuk Linux, menjalankan perangkat pada frekuensi clock yang dikurangi. Alternatifnya, Anda dapat menginstal versi untuk kecepatan maksimum, namun hati-hati terhadap peningkatan konsumsi daya dan panas perangkat. Jika tidak yakin, pertahankan frekuensi yang dikurangi demi keamanan. Untuk mengatur waktu proses frekuensi maksimum, tentukan kecepatan perintah pengaturan ke max
.
silvatpu-linux-setup --speed max
Anda tidak dapat menginstal kedua versi runtime secara bersamaan, tetapi Anda dapat beralih hanya dengan menginstal runtime alternatif seperti yang ditunjukkan di atas
Perhatian: Menggunakan Akselerator USB pada frekuensi jam maksimum dapat membuatnya sangat panas. Untuk mencegah luka bakar, jauhkan dari jangkauan atau operasikan pada frekuensi jam yang lebih rendah.
Catatan: Pastikan Anda memiliki
Coral USB Accelerator
yang terhubung melaluiusb 3.0 port (for faster speed)
. Jika Coral USB Accelerator terhubung selama instalasi dan pengaturan, harap putuskan sambungan dan sambungkan kembali untuk memastikanproper configuration.
Untuk memanfaatkan kecanggihan detection
objek, segmentation
, dan classification
dengan pustaka ini, Anda memerlukan model .tflite yang kompatibel dengan Edge TPU. Model ini harus diekspor menggunakan Ultralytics
, memastikan integrasi yang lancar dengan perpustakaan edge-tpu-silva.
CATATAN: Perlu diketahui bahwa nilai
imgsz
yang ditentukan selama ekspor YOLO harus selaras dengan nilai yang sama yang digunakan saat mendefinisikanimgsz
untuk proses apa pun. Konsistensi dalam pengaturan ini sangat penting untuk performa optimal.
Model yang lebih kecil akan berjalan lebih cepat namun mungkin memiliki akurasi yang lebih rendah, sedangkan model yang lebih besar akan berjalan lebih lambat namun biasanya memiliki akurasi yang lebih tinggi. Jelajahi kemampuan komputasi edge dengan model di bawah ini menggunakan pustaka edge-tpu-silva.
Tautan Unduh | Proses | Model Dasar | imgsz | Kelas Objek |
---|---|---|---|---|
Unduh Model | Deteksi | yolov8n.pt | 240 | COCO128 |
Unduh Model | Segmentasi | yolov8n-seg.pt | 240 | COCO128 |
Unduh Model | Deteksi | yolov8n.pt | 192 | COCO128 |
Unduh Model | Segmentasi | yolov8n-seg.pt | 192 | COCO128 |
Unduh Model | Klasifikasi | yolov8n-cls.pt | 640 | GambarNet |
Unduh Model | Deteksi | yolov9c.pt | 240 | COCO128 |
CATATAN: Model YOLOv9, khususnya versi YOLOv9c.pt, berukuran besar, sehingga versi TensorFlow Lite juga berukuran cukup besar. Akibatnya, kecepatan pemrosesan pada Edge TPU relatif lebih lambat.
Untuk melakukan deteksi objek menggunakan fungsi process_detection
, Anda dapat mengikuti contoh ini:
from edge_tpu_silva import process_detection
# Run the object detection process
outs = process_detection ( model_path = 'path/to/your/model.tflite' , input_path = 'path/to/your/input/video.mp4' , imgsz = 192 )
for _ , _ in outs :
pass
process_detection
di Terminal: Menggunakan Entry Point "silvatpu" Untuk melakukan deteksi objek dengan fungsi process_detection
dari baris perintah, Anda dapat menggunakan titik masuk silvatpu
yang mudah digunakan. Berikut contoh perintahnya:
silvatpu -p det -m path/to/model.tflite -i path/to/input/video.mp4 -z 192 -t 0.5 -v True
Untuk melakukan segmentasi objek menggunakan fungsi process_segmentation
, Anda dapat mengikuti contoh berikut:
from edge_tpu_silva import process_segmentation
# Run the object segmentation process
outs = process_segmentation ( model_path = 'path/to/your/model.tflite' , input_path = 'path/to/your/input/video.mp4' , imgsz = 192 )
for _ , _ in outs :
pass
process_segmentation
di Terminal: Menggunakan Entry Point "silvatpu" Untuk melakukan segmentasi objek dengan fungsi process_segmentation
dari baris perintah, Anda dapat menggunakan titik masuk silvatpu
yang mudah digunakan. Berikut contoh perintahnya:
silvatpu -p seg -m path/to/model.tflite -i path/to/input/video.mp4 -z 192 -t 0.5 -v True
detection
proses, segmentation
dan classification
Parameter Input FungsiParameter | Keterangan | Nilai Bawaan |
---|---|---|
model_path | Jalur menuju model segmentasi objek. | - |
input_path | Jalur file gambar/video yang akan diproses (Kamera(0|1|2)). | - |
imgsz | Menentukan ukuran gambar untuk inferensi. | - |
threshold | Ambang batas untuk objek yang terdeteksi. | 0.4 |
verbose | Tampilkan cetakan ke terminal. | True |
show | Bingkai tampilan dengan segmentasi. | False |
classes | Memfilter prediksi ke sekumpulan ID kelas. | None |
detection
proses, segmentation
dan classification
Fungsi KeluaranSetiap fungsi proses menghasilkan output berikut:
Parameter Keluaran | Keterangan |
---|---|
objs_lst | Daftar objek yang terdeteksi dalam bingkai. |
fps | Frame per detik (fps) dari frame yang diproses. |
Contoh penggunaan:
from edge_tpu_silva import process_detection
# Run the object detection process
outs = process_detection ( model_path = 'path/to/your/model.tflite' , input_path = 'path/to/your/input/video.mp4' , imgsz = 192 )
for objs_lst , fps in outs :
# Access the output parameters as needed
print ( f"Processed frame with { len ( objs_lst ) } objects. FPS: { fps } " )
print ( "List of object predictions in frame:" )
print ( objs_lst )
Kontribusi dipersilahkan! Jika Anda menemukan masalah atau mempunyai saran untuk perbaikan, silakan buka masalah atau kirimkan permintaan penarikan.
Pemelihara Indeks Paket Python (c) [2024] David Nyarko