要回答這個(gè)問(wèn)題颁虐,我們可以分解一下機(jī)器視覺系統(tǒng),來(lái)逐個(gè)分析仰剿。
一套最簡(jiǎn)單的機(jī)器視覺系統(tǒng)包括
- 視覺成像部分
- 圖像處理部分
- 運(yùn)動(dòng)控制部分
1. 視覺成像部分
視覺成像又包含幾個(gè)典型組件: 光源创淡,鏡頭,工業(yè)相機(jī)南吮。
光源和鏡頭都需要我們掌握光學(xué)知識(shí)琳彩,不同的打光方式,可以讓相機(jī)對(duì)物體產(chǎn)生完全不同的成像部凑;而鏡頭的倍率露乏,焦距,視野等的選擇不同直接決定了成像的逼真度涂邀。對(duì)于一名機(jī)器視覺工程師來(lái)說(shuō)瘟仿,掌握如何選擇鏡頭,如何選擇光源比勉,如何確定打光方式是最基本的技能劳较。
工業(yè)相機(jī)需要我們掌握光電知識(shí),掌握相機(jī)傳感器的區(qū)別浩聋,掌握?qǐng)D像成像的基本知識(shí)如清晰度观蜗,動(dòng)態(tài)范圍,視場(chǎng)角等等衣洁,這樣我們才能根據(jù)需求和場(chǎng)景選擇正確的相機(jī)墓捻,最快速的掌握這些知識(shí)的方法是買一臺(tái)入門級(jí)單反來(lái)研究透這些成像參數(shù)和成像的關(guān)系。
2. 圖像處理部分
圖像處理我們一般理解是在PC機(jī)器上進(jìn)行的坊夫,實(shí)際上在工業(yè)領(lǐng)域砖第,大部分采用工控機(jī)岸售,因?yàn)樗€(wěn)定,加上有成本優(yōu)勢(shì)厂画。
近些年的發(fā)展,嵌入式硬件也在蓬勃發(fā)展拷邢,很多工廠對(duì)于小的需求比如控制幾百臺(tái)儀表盤的開關(guān)和狀態(tài)監(jiān)控袱院,完全可以利用樹莓派等開源硬件實(shí)現(xiàn)。
對(duì)于入門者來(lái)說(shuō)瞭稼,可以優(yōu)先掌握PC平臺(tái)忽洛,X86平臺(tái)的開發(fā),在熟悉之后可以延展到嵌入式平臺(tái)环肘。
在軟件部分欲虚,大部分應(yīng)用層采用C#,.net悔雹,QT复哆,C++來(lái)實(shí)現(xiàn),因此掌握這其中的一門編程語(yǔ)言是必備的腌零;而在圖像算法層面梯找,典型的開源算法有opencv,商用的有halcon益涧,visionpro等锈锤,建議最開始可以先以halcon入門;如果在算法層面想進(jìn)一步深入闲询,可以研究一下機(jī)器學(xué)習(xí)久免,這可能是未來(lái)的主要方向。
對(duì)于理論方面扭弧,更多的是掌握?qǐng)D像處理的基本概念阎姥,這本書《機(jī)器視覺算法與應(yīng)用》,值得一看鸽捻。
3. 運(yùn)動(dòng)控制部分
典型的運(yùn)動(dòng)控制卡如固高丁寄,可以入手研究一下。更為高級(jí)一點(diǎn)的PLC泊愧,也可以玩起來(lái)伊磺,這部分的難點(diǎn)在于,精度的矯正删咱,因?yàn)楹芏鄨?chǎng)景和需求對(duì)精度的要求是非常高的屑埋。
除了以上三點(diǎn),整體方案的搭建能力是至關(guān)重要的痰滋, 因?yàn)榉桨感枰堰@些部分都串起來(lái)摘能,并且能夠和現(xiàn)實(shí)場(chǎng)景聯(lián)系起來(lái)续崖,滿足實(shí)際的生產(chǎn)自動(dòng)化需求。
而整體方案的搭建能力取決于
- 對(duì)生產(chǎn)工藝的深度理解
- 對(duì)所有組成部分之間的銜接团搞,關(guān)系有深刻理解
這兩點(diǎn)都需要經(jīng)過(guò)多個(gè)項(xiàng)目的經(jīng)驗(yàn)累積严望,才能給出一套好的方案。關(guān)于經(jīng)驗(yàn)方面可以參考我的其他幾篇文章: