机器视觉——光源选型原理及使用方法
最近在某小公司實習了一段時間,發現平常自己學習的那些機器視覺、計算機視覺和實際工作中的情況天差地別。公司用海康威視的MVS和VisionMaster
軟件進行方案的設計,如有需求也使用Halcon。
在實驗室中,遇到某個問題時,總是想著如何去分離這個特征或者直接上深度學習網絡去解決問題,遇到數據集稀缺或背景復雜時就很難處理。然而那些我看上去難以解決的問題,在公司中的技術人員眼中,經過合理的打光就能通過簡單的算法完美解決。
某些特征經過合理的打光能很明顯的顯示出來,實際工業應用中,也是光源加機械手對缺陷或目標物件進行識別和定位,合理的光源和打光方法能解決80%的問題。
光源篇
- 1.光源的重要性
- 2.光源的需求分析
- 3.光源顏色的使用
- 3.1 白色光源(W)
- 3.2 藍色光源(B)
- 3.3 紅色光源(R)
- 3.4 綠色光源(G)
- 3.5 紅外光(IR)
- 3.6 紫外光(UV)
- 4.光源的照射方式
- 4.1 角度照射
- 4.2 垂直照射
- 4.3 低角度照射
- 4.4 背光照射
- 4.5 多角度照射
- 4.6 碗狀光照明
- 4.7 同軸光照射
- 5.光源選擇要領
- 5.1 條光選型要領
- 5.2 環光選型要領
- 5.3 條形組合光選型要領
- 5.4 背光源/平行背光源造型要領
- 5.5 同軸光造型要領
- 5.6 平行同軸光選型要領
- 6.案例分析
- 6.1 酒瓶蓋條碼檢測
1.光源的重要性
由上圖可見不同的光源產生了完全不同的成像效果,從而也導致不同的檢測算法(優選及簡化) 。
選擇合適的光源,可突顯良好的圖像效果(特征點),可以簡化算法,提高檢測精度、保證檢測系統的穩定性。
2.光源的需求分析
任務:檢測(識別)、測量、定位、條形碼、字符識別、三維掃描等。
性能要求:如檢測內容、檢測速度、檢測精度等。
其他配合:如相機、鏡頭、軟件、安裝方式等。
3.光源顏色的使用
常用光源顏色有:白色、藍色、紅色、綠色、紅外、紫外。
3.1 白色光源(W)
白色光源通常用色溫來界定,色溫高的顏色偏藍色(冷色,色溫>5000K),色溫低的顏色偏紅(暖色,色溫<3300K),界于3300與5000K之間稱之為中間色,白色光源適用性廣,亮度高,特別是拍攝彩色圖像時使用更多。
3.2 藍色光源(B)
藍色光源波光為430-480之間,適用產品:銀色背景產品(如鈑金,車加工件等)、薄膜上金屬印刷品。
3.3 紅色光源(R)
紅色光源的波長通常在600-720之間,其波長比較長,可以透過一些比較暗的物體,例如底材黑色的透明軟板孔位定位、綠色線路板線路線路檢測,透光膜厚度檢測等,采用紅色光源更能提高對比度。
3.4 綠色光源(G)
綠色光源波長510-530,界于紅色與藍色之間,主要針對產品:紅色背景產品,銀色背景產品(如鈑金,車加工件等)。
3.5 紅外光(IR)
紅外光的波長一般為780-1400,紅外光屬于不可見光,其透過力強。一般LCD屏檢測、視頻監控行業應用比較普遍。
示例:合理運用顏色過濾背景,紅色的光源過濾掉紅色的文字
白色光源下:
紅色光源下:
3.6 紫外光(UV)
紫外光的波長一般為190-400,其波長短,穿透力強,主要應用于證件檢測、觸摸屏ITO檢測、布料表面破損、點膠溢膠檢測等方面,金屬表面劃痕檢測等.
4.光源的照射方式
光源是影響機器視覺圖像質量的重要因素,照明對輸入數據的影響至少占到 30 % 。好的打光方式可以準確捕捉物體特征,提高物體與背景的對比度。
4.1 角度照射
應用:
特點:在一定工作距離下,光束集中、亮度高、均勻性好、照射面積相對較小。常用于液晶校正、塑膠容器檢查、工件螺孔定位、標簽檢查、管腳檢查、集成電路印字檢查等(30、45、60、75等角度環光*)。
4.2 垂直照射
應用:
特點:照射面積大、光照均勻性好、適用于較大面積照明。可用于基底和線路板定位、晶片部件檢查等(0角度環光、面光源*)。
4.3 低角度照射
應用:
特點:對表面凹凸表現力強。適用于晶片或玻璃基片上的傷痕檢查(90度環光*)。
4.4 背光照射
應用:
特點:發光面是一個漫射面,均勻性好。可用于鏡面反射材料,如晶片或玻璃基底上的傷痕檢測;LCD檢測;微小電子元件尺寸、形狀,靶標測試。(背光源、平行背光源)
4.5 多角度照射
應用:
特點:RGB三種不同顏色不同角度光照,可以實現焊點的三維信息的提取。適用于組裝機板的焊錫部份、球形或半圓形物體、其它奇怪形狀物體、接腳頭(AOI光源)。
4.6 碗狀光照明
應用:
特點:360度底部發光,通過碗狀內壁發射,形成球形均勻光照。用于檢測曲面的金屬表面文字和缺陷。(球積分光源,通常也叫圓頂光)
4.7 同軸光照射
應用:
特點:類似于平行光的應用,光源前面帶漫反射板,形成二次光源,光線主要趨于平行。用于半導體、PCB板、以及金屬零件的表面成像檢測,微小元件的外形、尺寸測量。(同軸光源,平行同軸光源)
5.光源選擇要領
5.1 條光選型要領
1、條光照射寬度最好大于檢測的距離,否則可能會照射距離遠造成亮度差,或者是距離近而幅射面積不夠;
2、條光長度能夠照明所需打亮的位置即可,無須太長造成安裝不便,同時也增加成本,一般情況下,光源的安裝高度會影響到所選用條光的長度,高度越高,光源長度要求越長,否則圖像兩側亮度傳經比中間暗;
3、如果照明目標是高反光物體,最好加上漫射板,如果是黑色等暗色不反光產品,也可以拆掉漫射板以提高亮度;
5.2 環光選型要領
1、了解光源安裝距離,過濾掉某些角度光源;例如要求光源安裝尺寸高,就可以過濾掉大角度光源,選擇用小角度光源,同樣,安裝高度越高,要求光源的直徑越大;
2、目標面積小,且主要特性在表面中間,可選擇小尺寸0角度或小角度光源;
3、目標需要表現的特征如果在邊緣,可選擇90度角環光,或大尺寸高角度環形光;
4、檢測表面劃傷,可選擇90度角環光,盡量選擇波長短的光源;
5.3 條形組合光選型要領
1、條形組合光在選擇時,不一定要按照資料上的型號來選型,因為被測的目標形狀、大小各不一樣,所以可以按照目標尺寸來選擇不同的條形光源進行組合;
2、組合光在選擇時,一定要考慮光源的安裝高度,再根據四邊被測特征點的長度寬度選擇相對應的條形光進行組合;
5.4 背光源/平行背光源造型要領
1、選擇背光源時,根據物體的大小選擇合適大小的背光源,以免增加成本造成浪費;
2、背光源四周一條由于的外殼遮擋,因此其亮度會低于中間部位,因此,選擇背光源時,盡量不要使目標正好位于背光源邊緣;
3、背光源一般在檢測輪廓時,可以盡量使用波長短的光源,波長短的光源其衍射性弱,圖像邊緣不容易產生重影,對比度更高;
4、背光源與目標之間的距離可以通過調整來達到最佳的效果,并非離得越近效果越好,也非越遠越好;
6、檢測液位可以將背光源側立使用;
7、圓軸類的產品,螺旋狀的產品盡量使用平行背光源;
5.5 同軸光造型要領
1、選擇同軸光時主要看其發光面積,根據目標的大小來選擇合適發光面積的同軸光;
2、同軸光的發光面積最好比目標尺寸大1.5~2倍左右,因為同軸光的光路設計是讓光路通過一片45度半反半透鏡改變,光源靠近燈板的地方會比遠離燈板的亮度高,因此,盡量選擇大一點的發光面避免光線左右不均勻;
3、同軸光在安裝時盡量不要離目標太高,越高,要求選用的同軸光越大,才能保證才均勻性;
5.6 平行同軸光選型要領
1、平行同軸光光路設計獨特,主要適用于檢測各種劃痕;
2、平行同軸光與同軸光表現的牲點不一樣,不能替代同軸光使用;
3、平行同軸光檢測劃傷之類的產品,盡量不要選擇波長長的光源;
6.案例分析
6.1 酒瓶蓋條碼檢測
檢測的內容主要有條碼識別、條碼打標位置是否偏離;使用光源:204mm、60度藍光。
單個瓶蓋:
要求裝在包裝箱里檢測:
選型分析:
1、了解產品特性:
瓶蓋上面是黑色,另有紅黑交錯背景圖案,條碼為激光刻印顯灰色,為了顯現出條碼,應該將字符打亮,背景與字符分辨明顯;我們如果選用紅色光源的話,背景中的紅色會濾掉打白,會干擾同為白色的字符,所以,我們應該利用光源的互補原理,采用藍色光源,將紅色背景盡量打黑;
白色光源效果:
藍色光源效果:
2、了解產品形狀選擇合適光源
瓶蓋為圓形,直徑為25MM,一般此情況可以選擇同軸光或者環形光比較合適;
3、了解產品材質特性選擇合適光源
瓶蓋為金屬材料,表面有印刷圖案,比較光滑,反光度很強,選用同軸光或帶角度的環形光比較合適;
4、模擬現場打光選擇能用的光源
由于酒瓶必須裝在包裝紙箱里,瓶蓋離紙箱上頂部的距離有80MM,考慮需要留一定的空間,因此,瓶蓋離光源需要的距離為100MM或以上,如此高的距離,小同軸光跟小環光以及低角度光就不能滿足要求,必須選用大同軸光跟大環光
5、打光試驗
根據以上情況選擇大致的光源后,再進行性價比對比,選擇性價比高的光源進行實際打光測試(同軸光如果提到110MM距離的話,需要用到120左右的光,單位價值比較高,所以選擇環形光比較經濟)
采用180mm、30度藍色環光在110MM高度打光周邊亮帶反光強,不利于找中心位。
采用204mm、60度藍色環光在110MM高度不會將光源LED亮斑影投射到瓶蓋上。
6、最終確定光源
根據打光效果圖進行軟件處理,在得到可靠性及準確性 的條件下選擇正確的光源。
以上述案例可以看出:
1、產品的顏色影響光源的顏色;
2、產品的特性可以確定光源的照射方式,從而確定光源的類型;
3、產品的安裝空間及相機、鏡頭、傳感器的位置等障礙可以摒棄一些不方便安裝的光源;
4、光源的安裝高度影響光源的類型及大小;
總結
以上是生活随笔為你收集整理的机器视觉——光源选型原理及使用方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pycharm 自定义区域折叠代码
- 下一篇: 怎么用dd命令测试U盘读写速度