Google Coral TPU Edge開發板 – 執行影像分類與物件辨識範例

延續上一篇[Google Coral TPU Edge開發板 – 硬體介紹與開機],現在要示範基本的影像分類與物件偵測範例。

原廠網站也提供了很多範例,都可以做做看

Edge TPU Python API – 影像分類範例

預設的 edgetpu_demo sh是透過 Edge TPU Python library (edgetpu Python module) 來對影像中的每一個 frame 進行推論,可以看到效能還不賴。本函式庫包含了各種API,幫助您快速進行影像分類或物件辨識等相關視覺推論。後續還有其他範例來說明如何使用本API。

首先,請在 Coral 開發板的 terminal 中,回到 home 目錄並下載鳥類分類模型、標籤檔與分類用的照片:

cd ~

wget https://dl.google.com/coral/canned_models/mobilenet_v2_1.0_224_inat_bird_quant_edgetpu.tflite \
https://dl.google.com/coral/canned_models/inat_bird_labels.txt \
https://coral.withgoogle.com/static/docs/images/parrot.jpg

現在切換到範例目錄來對鸚鵡的照片進行影像分類,先來看看這隻鸚鵡:

https://coral.withgoogle.com/static/docs/images/parrot.jpg
cd /usr/lib/python3/dist-packages/edgetpu/demo/

python3 classify_image.py \
--model ~/mobilenet_v2_1.0_224_inat_bird_quant_edgetpu.tflite \
--label ~/inat_bird_labels.txt \
--image ~/parrot.jpg

應該會看到類似的結果:

物件辨識範例

由此取得本範例程式碼object_detection.py 會透過 DetectionEngine API 進行物件辨識,這會用到偵測模型、標籤檔與要被偵測的影像。如果不指定標籤檔的話,預設會偵測臉部 (當然需要提供 face detection model).

本範例會使用 MobileNet SSD,已預先訓練好可偵測1,000種不同類型的物件 (或單純人臉)。

先取得檔案:

範例的貓與人臉

https://coral.withgoogle.com/static/docs/images/cat.jpg
https://coral.withgoogle.com/static/docs/images/face.jpg

執行範例:

cd /usr/lib/python3/dist-packages/edgetpu/demo

python3 object_detection.py \
--model $EXAMPLE_DIR/mobilenet_ssd_v2_coco_quant_postprocess_edgetpu.tflite \
--label $EXAMPLE_DIR/coco_labels.txt \
--input $EXAMPLE_DIR/cat.jpg \
--output $EXAMPLE_DIR/object_detection_results.jpg

應可看到以下結果,並會在 –output 資料夾把 cat 框起來

https://coral.withgoogle.com/static/docs/images/examples/object_detection_results.jpg

換一張圖試試看 (face.jpg)

python3 object_detection.py \
--model $EXAMPLE_DIR/mobilenet_ssd_v2_face_quant_postprocess_edgetpu.tflite \
--input $EXAMPLE_DIR/face.jpg \
--output $EXAMPLE_DIR/face_detection_results.jpg

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。