工業相機是機器視覺系統的重要組成部分之一,在機器視覺系統中有著非常重要的作用。工業相機已經被廣泛應用於工業生產線在線檢測、智能交通,機器視覺,科研,軍事科學,航天航空等眾多領域。
工業相機的主要參數包括:解析度、幀率、像素、像元尺寸、光譜響應特性等。下面我們來對工業相機幀率的相關知識進行講解:
幀率(Frame rate)是用於測量顯示幀數的量度。所謂的測量單位為每秒顯示幀數(Frames per Second),簡稱:FPS或「赫茲」(Hz)。
由於人類眼睛的特殊生理結構,如果所看畫面之幀率高於16fps的時候,就會認為是連貫的,此現象稱之為視覺暫留。這也就是為什麼電影膠片是一格一格拍攝出來,然後快速播放的。
每秒的幀數(fps)或者說幀率表示圖形處理器處理場時每秒鐘能夠更新的次數。高的幀率可以得到更流暢、更逼真的動畫。一般來說30fps就是可以接受的,但是將性能提升至60fps則可以明顯提升交互感和逼真感,但是一般來說超過75fps一般就不容易察覺到有明顯的流暢度提升了。如果幀率超過屏幕刷新率只會浪費圖形處理的能力,因為監視器不能以這麼快的速度更新,這樣超過刷新率的幀率就浪費掉了。
最大幀率(Frame Rate)/行頻(Line Rate):即相機採集傳輸圖像的速率,對於面陣相機一般為每秒採集的幀數(Frames/Sec.),對於線陣相機為每秒採集的行數(Hz)。
相機幀率和曝光時間的關係:
有人問,為什麼我們在使用工業相機的時候,將相機的曝光時間增加以後,相機的幀率就下降,而且下降得很厲害,相機的幀率和曝光的關係是怎樣,如果想要獲得固定的幀率,相機的曝光時間應該怎麼設置?因此寫下本文,解答了朋友的問題,也使用Sentech相機來做過相關的測試,幀率和曝光時間跟本文中所述一致。詳細原理見下文所示:
相機上的圖像採集過程包括兩個截然不同的部分。第一部分是曝光。曝光完成後,進行第二部分Readout過程即從傳感器的寄存器中讀出數據並傳送出去(Readout過程)。
關於圖像採集過程中,相機操作有兩種常見的方法:「non-overlapped」的曝光和「overlapped」的曝光。在非重疊(「non-overlapped」)模式中,每個圖像採集的周期中,相機在下一個圖像採集開始前,均要完成曝光/讀出整個過程。如圖1所示。
Fig.1 Non-overlapped Exposure
雖然非重疊(「non-overlapped」)的模式,可適合於許多情況下,但它並不是最有效的方式。為了提高相機的幀率,允許在下一幀圖像開始曝光時候,將前一幀獲得的圖像數據讀出並傳送出去。相機「重疊」(「overlapped」)曝光的方式見圖2所示。
從圖2中我們可以看到,相機讀出數據和下一幀曝光開始出現重疊的情況,在同一個時刻內,相機執行兩個操作,導致在同樣的單位時間內,在「overlapped」曝光模式下,可以採集到更多的圖片,即相機的幀率更高。
Fig.2 overlapped Exposure
從上邊兩個圖中,我們可以知道在「non-overlapped」的曝光和「overlapped」的曝光模式底下,一幀圖像的周期存在著這樣的關係: 「overlapped」的曝光模式下: FramePeriod ≤Exposure Time + ReadoutTime
「non-overlapped」的曝光模式下:FramePeriod > Exposure Time + Readout Time
以STC-A202A為例:
圖1 Spec
從Spec中可知,其Pixel Frequency為:36.8181MHz,所以1Clock的時間為1/36.8181Mhz =27.3836ns,接下來我們看相機的Timing chart,首先先看HorizontalTiming,見圖2所示:
相機幀率和曝光時間的關係 - L
從圖2中,我們從中可讀到的信息為,1 CLK=27.1605 nseconds,和我們從spec上得到的Pixel Frequency算出來的時間差不多。掃描1Horizontal需要1920CLK,即1H =27.1605*1920 =52148.16ns=52.14816us
接下來看相機Vertical Timing 見圖3所示:
圖3 Vertical Timing
從圖3中,我們可讀出的信息為,1H=52.1482useconds,和我們通過圖2計算出來horizontal Scanning的時間一致,而在一幀圖像中,需要掃描1252H,其中Effective Pixels為1220H,即1幀圖像中,Effective Pixels Read out的時間為1220*52.1482 =63620.804us =63.620804ms,一個VD信號,所用的時間為:1252*52.1482=67793.5464us =67.7935464ms。按照我們前邊的理論,一個cycletime內,一幀圖像的時間為:Frame Period = Exposure Time +Readout Time
而我們知道STC-A202A的幀率為:15fps,即1 Frame Period =1/15 =66.7ms。
所以在「non-overlapped」exposure 模式下,ExposureTime = Frame Period – Readout Time =66.7ms -63.6ms =3.1ms,在此模式下,若是超過3.1ms的曝光時間,其幀率就會比標準幀率15fps低。
假如1顆相機Readout Time為:66.7ms,即數據傳輸時間為A,A=66.7ms,曝光時間為B,B=5ms,則一幀圖像的時間為C,則C=A+B=66.7ms + 5ms =71.7ms,則這顆相機的幀率為:1000/71.7 =13.94FPS,則這顆相機的幀率為13.94.
注意:一般情況下,若我們的相機的幀率為15fps,則表示相機ReadOut數據的時間為1000ms/15 =66.7ms