今天跟大家分享關于機器視覺應用方向項目流程及學習思路總結
1. 視覺項目介紹
機器視覺在工業上的需求主要有二維和三維方面的。
二維方面的有:
識別定位:①Blob分析(主要包括二值化、形態學處理、特征選擇。ps:受光照影響較大)②模板匹配(常用的是Shape匹配和Ncc匹配,有時還會用到可變形模板);OCR光學字符識別;一維碼、二維碼識別及二者的結合;測量類(單目相機的標定、相機自標定)缺陷檢測系列;運動控制,手眼抓取(涉及手眼標定抓取等方面)
三維方面的有:
攝像機雙目及多目標定、三維點云數據重構
2. 總體項目流程
做機器視覺的項目,拿到項目時一般遵循如下流程:
(1)需求分析
(2)方案設計:根據客戶應用的場合不同,選擇相應的鏡頭、相機、支架、光源及如何打光(感興趣的可看看《工程光學》一書)等。
(3)概要設計:包含軟件架構體系,視覺開發環境(vc++聯合halcon還是c#聯合halcon等),還有算法流程(怎么通訊、怎么識別等)。
(4)詳細設計:每一個功能模塊怎么做,包括圖像采集模塊、處理模塊、包括算法模塊,如何通訊等。通常將每個模塊形成一個動態庫,調用相應的接口函數即可,項目圖像采集調用SDK也是調用動態庫的過程。
(5)測試、調試和修改。
(6)客戶交付、確認。
(7)調試:根據客戶反饋結果來不斷的修改程序Bug。
(8)達到客戶需求,最后交付客戶及軟硬件操作文檔。
(9)后期維護。
3. 視覺算法流程
圖像采集
圖像預處理:包含幾何變換、灰度處理、圖像增強、圖像濾波、二值化、圖像細化等
注:圖像預處理在視覺算法中一般是可選項,圖像效果很好的時候可跳過該步
定位(blob分析、模板匹配)
特征提取:包含幾何特征(面積、周長、矩形度)、紋理特征(與灰度相關,如熵、能量值)、概率特征、角點、特征描述算子特征等,直接影響定位、識別的效果對特征區域進行處理(根據不同工業需求選擇對應的檢測識別算法)結果顯示
4. 機器視覺工程師需要具備的能力
4.1 圖像處理相關知識
涉及以下幾大領域:
圖像處理的基本理論知識(圖像理論的基礎知識)
圖像增強(對比度拉伸、灰度變換等)
圖像的幾何變換(仿射變換,旋轉矩陣等)
圖像的頻域處理(傅里葉變換、DFT、小波變換、高低通濾波器設計)
形態學(膨脹、腐蝕、開運算和閉運算以及凸殼等)
圖像分割(HALCON里的Blob分析)
圖像復原
運動圖像
圖像配準(模板匹配等)
學習參考資料:
經典教材:岡薩雷斯的《數字圖像處理》及對應的MATLAB版
楊丹等編著《MATLAB圖像處理實例詳解》
張錚等編著《數字圖像處理與機器視覺——Visual C++與MATLAB實現》
左飛編著的《數字圖像處理:原理與實踐(MATLAB版)》
左飛編著的《數字圖像處理技術詳解與Visual C++實踐》
謝鳳英編著的《Visual C++數字圖像處理》
《精通系列·精通Visual C++數字圖像處理典型算法及實現(第2版)》
4.2 軟件編程功底
軟件功底的作用是軟件的架構設計分析,架構包括UI層設計、業務邏輯層開發、數據層開發。以下三個方面,每個方面至少會一種,具體選擇視所在公司應用而定:
編程語言:C#,C,C++(自己用哪個就學哪個)
界面框架:C#界面,Qt界面,MFC界面(比較老了,以前的項目用的較多)
圖像算法處理軟件:HALCON,VisionPro,OpenCV等
學習資料參考:
1.C# 可以看書籍《C#從入門到精通》、《Head First C#》、《C#入門經典》、《C#圖解教程》、《C#高級編程》、《.Net Frameword 高級編程》、《CLR via C#》
2.C 語言的學習主要看譚浩強寫的C語言相關知識
3.C++主要看《C++ primer plus》書籍
4.Qt 學習可以看《Qt Creator快速入門》(入門)、《C++ GUI Qt4》(進階)
5.MFC 的學習主要看孫鑫編寫的《VC++深入詳解》這本書及相應的視頻教程,并在VC++6.0軟件或VS2010等軟件上編寫程序和實踐
4.3 視覺硬件知識
主要在你設計方案時相機、鏡頭、光源等選型時起到關鍵作用。
學習資料參考:
主要閱讀書籍《工程光學》、重點放在幾何光學方面,了解成像原理及相應的光路分析,知道光源的特性、鏡頭分辨率、相機分辨率等方面的知識。
5. 學習機器視覺的一些建議
1.學習機器視覺一定要結合項目實戰,在實踐中學習總結經驗教訓,系統化學習所需知識。
2.補充一定的C++和c#知識,進行VS聯合開發,客戶現場的學習和現場調試,不斷學習示例分析,掌握方法套路流程。
3.根據實際問題,學習模塊調用,按照方法套路學習。
4.最好是先用Halcon等視覺處理軟件實現圖像處理部分,然后在VS開發軟件中利用MFC或Qt等圖形界面實現出來,實踐學習是最好的方法。
機器視覺學習的發展趨勢是結合神經網絡、深度學習進行相應的人工智能機器視覺開發。
審核編輯 :李倩
-
圖像采集
+關注
關注
2文章
307瀏覽量
41639 -
機器視覺
+關注
關注
163文章
4594瀏覽量
122876 -
函數
+關注
關注
3文章
4379瀏覽量
64833
原文標題:機器視覺應用方向項目流程及學習思路總結
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
評論