接續前一篇 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:
也可辨識手機 (cell phone, 0.6):
會把教室當成火車 (train, 0.35) :
或是椅子 (chair, 0.37) :
如果電腦速度不夠或是會跑到當機, 可修改 yolo.py,從 ipcam抓取影像後先降低解析度再跑辨識函數:
沒有留言:
張貼留言