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


利用ESP32-CAM來做智慧辨識一直是有趣的議題,目前使用ESP32CAM來做智慧辨識可分成以下幾種

  1. 在ESP32-CAM上做智慧辨識:這端受限ESP32記憶體及CPU速度,很難達成高速度的影像辨識運算
  2. 在雲端做智慧辨識:將ESP32CAM所獲取的影像上傳到智慧雲端平台做辨識後,將結果回傳,這種則可辨識較為精確,但網路傳輸則是另外須考量的問題。    
  3. 利用近端智慧辨識:也就是在近端建立智慧平台,收集ESP32-CAM所傳來的影像,這樣影像不用上傳到雲端,在區域網路就可以辨識,也算一種折衷的邊緣運算,知名大師法蘭斯所用tensorflow.js外掛到ESP32-CAM內進行體態辨識也屬這類,主要是透過觀看影像的裝置進行運算,例如手機或電腦。

以往我也介紹了利用.net環境接取多台ESP32-CAM的影像進行分析(ESP32-CAM mpeg Video Stream 用.net接收並錄製影片檔 ),但智慧辨識的後台都是採用微軟Azure的AI Cognitive Service API進行智慧判斷。

這次參考網路文章,終於完成將ESP32-CAM接取到python後,用時下最流行的yolo v3物件辨識模型進行分析。

要完成本次操作,請先閱讀以下文章

重點來了,如何使用python接取ESP32-CAM影像,一般在python接取webcam都是用opencv的「cap = cv.VideoCapture(0)」一句就可以搞定,不過ESP32-CAM的影像屬於mjpeg影像串流,因此無法使用這個方法,後來發現需要用到jpg的格式「 FF D8 」為開頭與「 FF D9」為結尾的方式,在串流中找出一張完整的jpg,在放入yolo中進行分析,以下分成兩個主題說明

  1. python 接取esp32-cam影像
  2. 利用yolo物件辨識

1.python 接取esp32-cam影像

本部份僅有利用python接取ESP32-CAM影像的程式,無任何其他處理,參考範例程式:

 

2.利用yolo物件辨識

本部份將上述ESP32CAM影像利用python知名的yolo模型進行物件辨識,參考範例程式:

 

參考網址:
1.http://hk.voidcc.com/question/p-nagarvzd-b.html
2.http://t.ly/pvLyM

 

 

arrow
arrow

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