背景:
最近需要優于項目需求需要對工業相機和鏡頭進行選型,于是我就開啟的學習相機之旅,雖然我一直在做機器視覺方向,但是我對相機的了解還是很少,我想正好趁這次機會好好學習一下。如果有錯誤的觀點請指正。
一、相機相關的一些指標
1. 靶面尺寸
? ? ?相機的靶面尺寸就是用于接收光信號的傳感器的尺寸,業界規定在描述靶面尺寸時1英寸=16毫米(當然實際情況下1英寸=25.4mm)。相機的靶面尺寸是用靶面對角線的長度與16mm的比值表示的,如對角線為4mm的靶面尺寸為1/4”,然后根據4:3的長邊短邊比,利用勾股定理就可以計算出靶面的邊長。在其他條件一致的情況下,相機的靶面尺寸越大則可獲得的視野范圍越大。
?
?
圖1. 相機靶面尺寸
2. 像元尺寸
? ? ? 像元就是傳感器上的感光單元,這些感光單元可以把光信號轉換為電信號。如像元尺寸為4.8um*4.8um。像元有方形的也有長方形的。
3. 相機分辨率
? ? ? 分辨率就是相機的傳感器上即感光靶面上橫向和豎向各有多少個感光單元(像元)。當然“靶面尺寸”,“像元尺寸”和“分辨率”三者之間是有聯系的,比如我們已經知道了“像元尺寸”和“分辨率”那么我們就可以直接計算出相機靶面的長和寬出來,如“分辨率”為2592*2048,“像元尺寸”為4.8um,那么靶面長=2596*0.0048=12.44mm,靶面寬=2048*0.0048= 9.83mm,這與在圖1中靶面尺寸為1”的長邊和寬邊的長度有些出入,這主要是近似的緣故。
4. 鏡頭分辨率
-
?什么是傳遞函數(又叫MTF),什么是極限空間分辨率
? ? ? ? 簡單來說MTF是空間分辨率的一種表達方式,單位:線對/mm。每個光學或者光電成像器件都有各自的MTF,鏡頭有MTF,相機也有MTF。光學器件或者光電成像器件的MTF越好,或者MTF對應的空間截止頻率越高,證明器件自身的空間分辨率越好,越能看清楚更小的細節。MTF對應的空間截止頻率又叫極限空間分辨率。
-
鏡頭中的百萬像素,二百萬像素,五百萬像素是指什么?
? ? ? ?其實,鏡頭中的百萬像素,二百萬像素,五百萬像素同樣是指鏡頭的空間分辨率,因為鏡頭必須配合相機使用,為了方便記憶鏡頭和相機的匹配關系,人們常采用對應的相機的分辨率來命名鏡頭,這種命名方式其實是不科學的,同時給新接觸視覺系統的人帶來很多誤解,經常或機械的套用百萬像素分辨率相機對應百萬像素分辨率鏡頭,二百萬像素分辨率相機對應二百萬像素分辨率鏡頭,五百萬像素分辨率相機對應五百萬像素分辨率鏡頭。其實鏡頭與相機對應的不是相機本身的像素分辨率(像素數),而是各自的極限空間分辨率。按照目前公開的性能指標來說,百萬像素鏡頭對應的極限空間分辨率為90線對/mm,二百萬像素鏡頭對應的極限空間分辨率為110線對/mm,五百萬像素鏡頭對應的極限空間分辨率為160線對/mm,因此百萬像素鏡頭配合相機的極限空間分辨率必須低于90線對/mm, 二百萬像素鏡頭配合相機的極限空間分辨率必須低于110線對/mm,五百萬像素鏡頭配合相機的極限空間分辨率必須低于160線對/mm。而決定相機極限空間分辨率的并不是相機自身的像素分辨率,而是相機的單個像元尺寸大小。
-
相機的極限空間分辨率
? ? ? ?相機的極限空間分辨率代表了相機能夠分辨的空間最小細節,其計算公式可以理解為:1/(單個像元尺寸*2),單位:線對/mm。為啥需要在像元尺寸上乘以2呢,這是因為,兩個像元才對應一對黑白條,如下圖所示。
圖2. 兩個像元對應一對黑白條
?
-
相機和鏡頭的配套原則
? ? ? ?鏡頭的極限空間分辨率必須高于相機的極限空間分辨率,這樣才能讓相機實現最佳成像性能。
二、項目中如何根據實際需要選擇合適的相機和鏡頭呢?
1. 相機輸出接口選擇USB3.0還是GIGE千兆網
? ? ? 同等像素條件下,各種接口的總線其相機幀率是不一樣的,一般來說Camera Link>USB3>GIGE>1394B>USB2,1394A。現在最快的是Camera Link總線,USB3的理論速度達到了5Gbps即640MB,實際表現來看,應該有80%的有效帶寬,即有512M左右的總帶寬可供實際傳輸,這樣如果一個500萬像素的相機,每幅圖像5M,那么也可能達到100幀每秒,速度也非常快了。而對于GIGE千兆網相機,500萬像素的相機,較快的可以做到23FPS。1394B的500萬像素相機可以做到13FPS,USB2,1394A一般為5~6幀的樣子。除了考慮兩者的傳輸速率,還要考慮兩者的工作距離,通常情況下USB3.0的工作距離為5米以內,GIGE千兆網接口的工作距離為100米以內。根據下表對比USB3.0和GIGE接口的特點選擇適合自己的接口形式。
表1. USB3.0和GIGE對比
? | 帶寬 | 理論下載速度 | 實際下載速度 | 500萬圖像傳輸幀率 | 優點 | 缺點 |
USB3.0接口 | 5Gbps | 640MB | 約512MB | 約100fps | 1. 幀率高 | 1. 工作距離近,通常在5m內。 |
GIGE接口 | 1KMbps | 128MB | 約100MB | 約20fps | 1. 傳輸距離遠,通常在100m以內。 | 1. 幀率沒有USB3.0高。 |
?
2. 選擇圖像分辨率和幀率
? ? ? ? 第一步中的選擇,其實是確定了總的帶寬,然后根據我們對幀率的需求來確定分辨率,倘若我們要求幀率為20幀,如果選用GIGE接口,那么一幀圖像的大小不超過5M,也就是一幀圖像分辨率為500萬左右,如果選擇USB3.0接口,相同的幀率,那么一幀圖像的大小可以放寬到25M,也就是不超過2500萬像素。如果你想要得到更高的幀率,那就不得不降低分辨率。如果你想幀率和分辨率都很高,那么就選擇傳輸速率較高的USB3.0接口形式,但是要考慮5米以內的工作距離是否滿足需求。
3. 確定分辨率
? ? ? ? 根據第二步我們可以確定,我們可選的分辨率大小,當然我們希望分辨率越大越好,所以在允許的范圍內,我們要選擇分辨率最大的。如果已經確定接口是GIGE接口,幀率為20幀,分辨率為500萬像素,然后就是選擇實際的分辨率,假設實際測試場地為5000*4000長寬比為1.25,所以我們在選擇的時候,也盡量選擇分辨率的長寬比接近1.25的相機,如之前選擇的2592*2048,為530萬像素的相機,長寬比為1.266與1.25較為接近。那么這時達到的精度差不多為2mm/pixel。如果要提高精度,要不然就提高分辨率,那樣幀率勢必要降低,要不然就換成USB3.0輸出接口。
4. 選擇相機靶面尺寸
? ? ? ?在候選的相機中,我們要選擇靶面尺寸更大的相機,如有2/3"和1“的可供選擇,那么我們就選擇后者,靶面尺寸大,相對應的得到的視場范圍也就越大。
5. 選擇相機顏色
? ? ? ?在沒有彩色圖像分析需求時,我們要選擇黑白相機,因為黑白相機使用單色光源成像質量要比彩色相機使用復合白光的質量要好。
6. 選擇相機的曝光時間
? ? ? ?目標的運動速度對相機的最小曝光時間提出了要求,如果目標運動速度為300mm/s, 我們的測量精度為1mm/pixel,那么我們必須考慮,物體的運動引起的拖影必須要小于我們的精度1mm,目標移動1mm,需要3.3ms,這就要求我們的相機的曝光時間必須小于3.3ms, 其實我們工業相機最快曝光時間可達幾十到一百多微秒的樣子,所以完全可以滿足我的精度需求。
7. 選擇傳感器類型
? ? ? ? 如果拍攝的目標是靜止不動的,為了節約成本,可以考慮使用CMOS相機,而如果目標是運動的,則優先考慮CCD相機,如果需要高速采集,這里的高速是指很高的采集速度,而不是目標物體的運動速度,可以考慮CMOS相機,因為CMOS相機的采集速度要優于CCD相機,如果需要高質量的圖像,如進行尺寸測量,可以考慮CCD相機,在小尺寸的傳感器中,CCD的成像質量優于CMOS。
8. 計算鏡頭焦距
- 經過上面的指標基本上可以確定相機,然后就要選擇鏡頭,首先我們要根據相機的靶面尺寸,實際測試中的工作距離和視野范圍來計算焦距。焦距f = 工作距離(WD)*靶面尺寸(H or V)/視野范圍(H or V)。
- 在選擇鏡頭時要考慮鏡頭的相面大小與相機的感光面大小是否兼容,遵循“大的服從小的”原則,即鏡頭的相面大小不得小于相機感光面大小,否則邊緣視場的像質不保。
- 選擇的鏡頭的接口要與相機接口一致。
- 一般來說相機的成像質量要和鏡頭的成像質量相對應,差異不能太大。鏡頭再好,機身傳感器的分辨率上不去,其優質的取景能力也表現不出來;機身畫幅和分辨率再高,鏡頭畫質不給力,也捕獲不到優秀的畫質。倘若選擇的相機的像元尺寸為4.8um*4.8um,先計算相機的極限空間分辨率為:1/(0.0048*2) = 104線對/mm,那么我們選擇鏡頭時,要挑選那些空間分辨率不低于104線對/mm的鏡頭,也就是選擇二百萬像素的鏡頭,空間分辨率為110線對/mm,就可以了。倘若選擇的相機的像元尺寸為3.45um*3.45um,那相機對應的空間分辨率為:1/(0.00345*2)= 145線對/mm,那么此時我們就應該選擇500萬像素分辨率的鏡頭了,對應的空間分辨率為160線對/mm,當然還要考慮相機和鏡頭靶面尺寸的匹配。
三、實例分析
表2. 數據羅列
? | 指標 | 數據/mm |
實際場景 ? ? | 視野范圍H | 5000 |
視野范圍V | 4000 | |
工作距離 | 3200 | |
相機參數 ? ? ? ? ? ? | 靶面尺寸 | 1" |
像元尺寸 | 4.8um*4.8um | |
分辨率 | 2592*2048 | |
最大幀率 | 22 | |
顏色 | 黑白 | |
輸出接口 | GIGE | |
鏡頭接口 | C-Mount | |
鏡頭參數 ? ? ? ? ? | 焦距 | 6mm |
最大像面 | 1" | |
鏡頭分辨率 | 1200萬 | |
視場角H(度) | 95.4 | |
視場角V(度) | 78.4 | |
鏡頭接口 | C-Mount |
下面是之前選的海康的工業相機,千兆網接口,1", 500萬分辨率,幀率不高于22幀,為了達到更大的視野,所以優先選擇大靶面的。
圖3. 選擇的海康工業相機
確定相機后根據相機的靶面尺寸,工作距離,視野范圍來計算所需鏡頭的焦距。
焦距f = 工作距離WD*靶面尺寸(H or V)/視野范圍(H or V) = 3200*12.8/5000 = 8.19,所以安全起見,我們需要選擇焦距小于8的鏡頭,所以我決定選6mm焦距的鏡頭。
關于鏡頭的選擇,首先,焦距要選符合我們項目需求的,如上面計算的6mm, 其次就是要盡可能保證,鏡頭對應的靶面尺寸與相機的靶面尺寸兼容,如下面第一幅圖中,該6mm焦距的鏡頭就兼容1”和2/3"的靶面尺寸。我們在選選擇鏡頭時,單從靶面尺寸這個指標來看,所選鏡頭的靶面尺寸要大于或者等于相機的靶面尺寸,但是絕不能小于,否則,相機的視野就被鏡頭給限制了。除了要看鏡頭的焦距,靶面尺寸,還要看鏡頭的分辨率,關于鏡頭的分辨率這快我還有不少困惑,但是選擇的思路是,在保證鏡頭的焦距和靶面尺寸滿足需求的前提下,一定要確保,鏡頭的分辨率要高于相機的分辨率,這樣可以把相機和鏡頭的潛力都發揮出來,但是如果鏡頭的分辨率太低,那再好的相機,高質量的成像效果也得不到了,但是也不需要無限的高,否則鏡頭的分辨率又被浪費了。
我問了鏡頭1的客服,他這款鏡頭的分辨率也是1200萬的,但是為啥不在表格中標識出來呢?
表3. 選取的鏡頭1的指標
在鏡頭4的指標表格中標識了鏡頭的分辨率為1200萬,這里并沒有使用鏡頭的空間分辨率lp/mm來表示,大概是表示成與相機分辨率一致的形式,便于買家理解吧。
標4. 選取的鏡頭2的指標
參考文獻
1.?http://www.skcircle.com/?id=1217
2.?https://mp.weixin.qq.com/s/K1TtIH8EJcZxHVRrsIN4qQ
3.?https://blog.csdn.net/qq_27923041/article/details/106858708
4.?http://www.skcircle.com/?id=1193
相機鏡頭購買鏈接
1.?https://item.taobao.com/item.htm?spm=a1z0d.6639537.1997196601.86.119e7484FcxYWy&id=613134277199
2.?https://detail.tmall.com/item.htm?spm=a1z0d.6639537.1997196601.13.119e7484FcxYWy&id=610617969641
3.?https://item.taobao.com/item.htm?spm=a1z0d.6639537.1997196601.24.119e7484FcxYWy&id=563772167933
?
?
?