作者:賴桑
透過機器視覺(Machine Vision)的應用越來越多,過往要實作這方面的應用對一般人而言是有一定的門檻,但透過OpenVINO™這樣的工具可降低這個門檻,因為它已經把開發機器視覺應用的基本結構簡單化,所以對於想開發AI應用的人來說頗有幫助。上次我寫了一篇關於如何套用現有的模型(Model)來做物件偵測(Object Detection),剛好看到CH大/曾成訓之前在Raspberry Pi上做了一台麵包結帳機,所以就手癢自己用Windows 10 PC來跑OpenVINO™的這個應用看看~
本篇所需設備超級簡單:就一台Windows 10 PC跟一個外接的羅技Logitech C170 WebCam,其實也不一定要外接WebCam,鏡頭可以拍到要辨認的麵包就行了!本次我看過整個CH大的大作後,重工成只靠軟體能執行就可以運作。
說真的,這次CH大的功勞不小,就算訓練出來的Model還不是很精準,可是當作展示範本已經工程浩大!畢竟訓練(Training)其實是機器學習(Machine Learning)裡比寫應用更麻煩的一段,因為到底要怎麼訓練(幾層?幾個神經元?)才能夠讓模型逐漸收斂到我們堪用的程度,這可是截至目前為止,沒有標準答案!
系統運作原理
系統其實只是一直處在迴圈Loop狀態下,不斷地進行物件偵測而已:
系統運行流程大要(圖片來源:賴桑)
程式碼的基本解說
但程式上的寫法,就得特別跟各位講解一下了!原則上程式碼總共分成三個檔案:
只需不到短短一分鐘... 輸入您的信箱與ID註冊即可享有一切福利! 免費電子報 會員搶先看 主題訂閱 好文收藏會員福利
2020/01/03
1. Thanks for your detailed comments.
2. Keras model can be converted into tensorflow model (call it TF_Keras), then you can let this TF_Keras be fed into MO to get the openvino-based weights. However, you must take care the following facts:
2.1 Output/input/deimnesions (for Model layers): may be modified as required;
2.2 Precision: 32 bit/64 bit/
That is all. It is midnight, good night !!