學(xué)習(xí)機(jī)器視覺需要掌握哪些知識(shí)?
施努卡機(jī)器視覺schnoka.cn
要回答這個(gè)問題,我們可以分解一下機(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,visionmax等,建議最開始可以先以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)系有深刻理解