延續上一篇[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
現在切換到範例目錄來對鸚鵡的照片進行影像分類,先來看看這隻鸚鵡:
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種不同類型的物件 (或單純人臉)。
先取得檔案:
範例的貓與人臉
執行範例:
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 框起來
換一張圖試試看 (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