我的ESP32實做書籍:https://youyouyou.pixnet.net/blog/post/121105860
博客來網址:https://www.books.com.tw/products/0010901195


前先日子Google宣布Tensorflow將出一版Tensorflow Micro版,比Tensorflow Lite更小要支援arduino系統,尤其標明要給esp32系列,讓人非常驚奇,大家一開始在PC上跑python tensorflow,後來在樹莓派、Jetson nano上跑Keras Tensorflow,沒想到現在竟然可以在ESP32上面跑Tensorflow。

雖然聽到這樣的消息,但也沒時間去研究,直到某天ESP32愛玩的版友詢問esp32cam要怎麼載入Tensorflow模型,我才知道Arduino程式庫竟然已經有範例了,在這裡就先測試ESP32CAM的人體偵測範例。
先放一張我的輪廓圖
image


一、首先你要有一組ESP32CAM以及一條CP2102下載線,或者ESP32CAM CH340接口加一條USB線。

二、Arduino環境設定可以參考本篇:https://youyouyou.pixnet.net/blog/post/119383183,最好先利用 ESP32/Camera/CameraWebServer 測試,確認晶片及鏡頭運作正常。

三、Arduino IDE安裝Tensorflow Lite程式庫

  1. 功能表/程式庫/管理程式庫,開啟程式庫管理員
    image
  2. 輸入關鍵字:Tensorflow,找到名稱為TensorFlowLite_ESP32的程式庫,並點選右側安裝

四、載入範例程式

完成程式庫安裝後,直接載入TensorFlowLite_ESP32的範例程式,位置在功能表/檔案/範例/最下方第三方程式庫的範例/TensorFlow_ESP32/person_detection_ESP32-Camera

image

載入後,點選頁簽config.h,將第12行的#define CONFIG_CAMERA_MODEL_AI_THINKER 1前方註解刪除,若您使用別種裝置,請自行選擇型號。

image

完成上述動作後,點選上傳程式碼

五、人體偵測結果

我先照著電腦螢幕看看,分數看得出來,是沒人得分比較多,中間一圈圓圓的應該是很亮的螢幕
image

把螢幕開一個空白的記事本,並放在螢幕上半部,可以看到結果
image
image

把記事本放到下半部時的結果
image
image

到此看得出來,他是透過ASCII code去簡單呈現畫面的


這隻程式說是偵測人體,那對著我會出現什麼呢?
照著自己可以大致看到大叔我帥氣的輪廓,不知道大家看得出來嗎?
也可以看到Person的Score較高,代表有人的機率很高
image

剪刀石頭布,看得出來我比什麼嗎?
image

最後用一個讚做結尾
image

 

結論

1.FPS大約1張/5秒
2.人體辨識效果還算不錯,當然不能像YOLO,一隻手都可以判斷出人
3.機身不會發燙

 

 

 

 

 

 

arrow
arrow

    夜市 小霸王 發表在 痞客邦 留言(1) 人氣()