入坑機器視覺后,發現在開發與使用過程中總有各種bug導致系統的不穩定,故總結之,以此為鑒,謹記勿犯!
設定明確的邊界條件
機器視覺或者說現在的人工智能,還沒有做到完全的智能,所以在生產實踐中更好的方法是在特定的條件下開發特定的算法,將算法框定在一個明確的范圍內時,那么算法將變的更加robust,否則脆弱不堪,應用某visioner的話,這樣的算法非常weak。在此基礎上,小心迭代擴大算法的適用場景與范圍是明智之舉。設計算法不考慮特定應用場景、沒有明確邊界條件、沒有前提假設,這是新手常犯的錯誤,避之免之。
賦予任何參數以明確的物理意義
由于機器視覺的處理結果與實際物理環境緊密相連,參數作為設計算法時的重要變量,一定要賦予實際的物理意義,做到有理可依,有時候憑借經驗設置的參數值也許僅僅適用于某一物理尺度,當環境改變時,這樣的參數將失效并且這樣的問題也往往不容易察覺,給算法帶來不穩定的隱患。雖然在調試深度學習時,有的參數確實是憑借經驗,無法解釋,但是設計傳統算法時還是要遵循此原則。
遵循軟件工程的原則開發
這條規則不僅僅適用于機器視覺軟件、其他軟件開發也同樣適用于非軟件的其他工程項目開發。我在菜鳥季經常犯的錯誤是,短時間內不斷的在原有算法基礎上增加大量功能,貪圖省時省事(有時候是時間緊急、迫不得已!),沒有對每一個功能模塊進行單體測試,開發完成后直接進行結合測試。這樣的測試是低效的、不完整的,日后會有各種bug暴露出來,按軟件工程原則開發、有節奏的開發,將帶領你走出新手村。
重視現場
機器視覺是一個與現場結合非常緊密的學科或者工作,并且相比計算機視覺,機器視覺需要高度的穩定性,所以要充分積累現場的經驗,結合現場往往會帶來算法上的簡化與穩定,帶來開發效率的提升,所以現場是寶庫,積累經驗升級自己,具體實例等待各位machine visioner去現場體驗。
提升創造力
經驗與創造力是驅動機器視覺能力的兩架馬車,如果僅僅只是經驗的增長,就不能靈活應對未來各種各樣的任務,在機器視覺智能化的道路上不會走遠。提升創造力的關鍵在于涉獵與思考,不斷涉獵與之相關的大量的知識,各種信息在頭腦中碰撞產生創造力的靈感,思考如何應用于實踐,這將對提升創造力大有裨益。
編輯:黃飛
-
機器視覺
+關注
關注
162文章
4406瀏覽量
120739
原文標題:大牛總結為什么機器視覺不穩定,bug不斷
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
STM32開發過程中的一些心得及總結
在嵌入式linux開發過程中遇到的坑
在RT-Thread開發過程中引入watchdog踩到的坑
客車產品設計與開發過程中的質量管理
Unity推出的AR Foundation能幫助使用者解決AR開發過程中遇到的難題
軟件開發過程中需要的十三類文檔
嵌入式開發過程中的一點調試經驗
![嵌入式<b class='flag-5'>開發過程中</b>的一點調試經驗](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
如何管理IC芯片研發過程產生的bug呢?
如何讀懂FPGA開發過程中的Vivado時序報告?
![如何讀懂FPGA<b class='flag-5'>開發過程中</b>的Vivado時序報告?](https://file1.elecfans.com/web2/M00/8B/72/wKgaomSZPeqAcgjCAABCrjWKapg146.jpg)
評論