2018年12月12日 星期三

keras-yolo3 連接 ipcam 進行物件辨識


接續前一篇 keras-yolo3 測試 ,這篇說明如何連接具有 onvif 協定之 ipcam.

要連接 ipcam 首先要找到連接的 uri,如果手冊沒有,可以先下載 ONVIF Device Manager,先用瀏覽器登入 ipcam 後找到 port 設定,然後手動方式將 ipcam 網址加入 ONVIF Device Manager 的裝置列表,輸入帳號密碼,然後手動連線,點選中間欄位的 Live Video, 影像串流就會顯示在右方窗格,下方即可看到 uri, 例如:

   rtsp://ip:port/user=admin_password=tlJwpbo6_channel=1_stream=1.sdp?real_stream 
   rtsp://user:pass@ip:port/profile0
不同廠牌型號的 ipcam 有不同的 uri 格式,也有一些影音profile 可以選,在 ONVIF Device Manager 中間窗格可以選擇不同 profile,右下方及即可看到不同 uri




先用 webcam.py 測試一下



測試成功畫面
  

確認 uri 正確後, 即可執行 keras-yolo3 的主程式, 在命令視窗輸入下指令
       python yolo_video.py --input uri  (uri=剛剛的那串 rtsp://...)

這裡當然是要使用 gpu 來跑,使用GTX-1070/CUDA 9.0, FPS約為10, 佔50%左右的GPU Load




使用預訓練的 yolov3.weights 可以辨識人 (person, 0.9) 跟背包 (backpack, 0.8)



 也可辨識手機 (cell phone, 0.6)

 會把教室當成火車 (train, 0.35)




 或是椅子 (chair, 0.37)


 如果電腦速度不夠或是會跑到當機, 可修改 yolo.py從 ipcam抓取影像後先降低解析度再跑辨識函數




沒有留言:

張貼留言