工業視覺檢測——分辨率、精度、重復精度
隨著工業4.0時代的到來,越來越多的工廠都在進行自動化改造,用機器代替人工,實現更高效、更智能化的產線化管理。工業機器視覺檢測是產線自動化過程中必不可少的一部分,目前視覺檢測在汽車行業(汽車連接器Pin針檢測)、3C電子行業(手機中框平面度檢測)、太陽能行業(硅片膠高檢測)、鋰電池行業電池標簽平整度檢測)和其他行業的直線度檢測、測厚檢測等應用都非常廣泛。
但是對于視覺新手或者涉及視覺領域不深的朋友們,平時在接觸評估機器視覺產品或項目時,容易對視覺相關的參數產生困惑。
這里我們就來詳細分析一下這些參數:分辨率、精度、重復精度,找到它們之間的關系,從而能為我們的工作提供有意義的參考。
分辨率(Resolution)
工業視覺檢測中所說的分辨率就像一把尺子,表示的是量化刻度的細分大小(圖像傳感器上所具有的像素數量)。
假如有兩個同樣大小的物體,通過同樣的條件成像,不同的分辨率意味著同樣大小的區域由不同數量的像素塊組成,如下圖所示:(圖片僅為示意)
對于相同大小的物體,像素值越大,分辨率越高,成像就越清晰。例如:我有一臺200萬像素的相機,像素是1600 pixel * 1200 pixel,意味著我可以把任何拍進相機的圖像分解成長1600寬1200的密集網格,并在每個網格中填入不同的彩色塊(彩色相機)或灰度值塊(黑白相機)。
為了把產品都放入到視野內,我們計算分辨率的時候要考慮長邊對應,本例中,相機為1600 * 1200像素,假設拍照的區域為1600mm x 1200mm,那么分辨率就是1600mm/1600pixel = 1 mm/pixel。
精度(Accuracy)
精度,是反映測量結果與真實值的接近程度的量。一般情況下:
什么是“有效像素個數”呢?
讓我們繼續剛才的例子,分辨率是1mm/pixel時,是不是我們的精度就是1600/1600=1mm了呢?這個值如果是做測量,肯定不準確,因為一個像素在大多數情況下無法代表被測物特征。
如下圖所示,我們用相機拍攝到一條看似“黑白分明”的邊緣,那么這條邊是否就是最真實的邊緣呢?往往把圖像放大并仔細觀察就可以發現,“邊緣”其實是由一些過渡的像素組成。
如果光源和結構的比較良好,成像質量比較高,成像比較“銳利”,那么“邊緣”就更接近真實邊緣;反之,如果成像不好,受幀率、曝光、增益以及其它因素影響,找到的“邊緣”可能和真實邊緣相差很多個像素。
以下是在機器視覺檢測中,我們對像素和精度之間關系的兩種常規評估策略:
A尺寸檢測:最小可測尺寸=10倍分辨率,即:測量精度可達10mm(±5mm);
B外觀檢測:最小可測尺寸= 4 倍分辨率,即:測量精度可達4mm(±2mm)。
前面我們分別講了分辨率與精度,那么兩個參數之間有什么聯系呢?
舉兩個例子:
例1:一把1米的軟尺,有1000個刻度,分辯率1毫米,用標準尺(更高精度的測量設備)去測量,結果為:絕對誤差+5毫米,精度+0.5%。如果能把軟尺拉長20毫米,此時絕對誤差+25毫米,精度降為2.5%, 可是尺還是1000個刻度,其分辨率還是1毫米。
例2:兩桿稱來稱實際重1克的物體, 一桿的結果為1.03克, 另一桿的結果為0.83333333333333333333333克, 哪個更準呢?
所以,分辯率高是精度高的必要條件,但不是充分條件;分辯率高不等于精度高。
重復精度(Repeat Precision)
重復性精度是指相機重復多次地完成同一變化過程所對應測量結果的最大偏差值。
以向靶子上射箭為例,中心是10環。在相同條件下,有ABC三個人練習射擊,射擊結果如下圖所示:
A B C
看圖可知:
A的射擊結果波動很大,但是離10環相差較近;B的射擊結果波動很小,但是離10環相差很大。如果我們把這兩人分別看作兩種視覺系統,那么A的精度相對較高,但是重復精度差;B的精度差,但是重復精度高。
而最好的結果則是C,就是重復精度高、精度也高,但是大部分時候我們無法得到C那樣的結果。那么如果相同的條件下,只能得到A或B這樣的結果,我們應該怎么去取舍呢?
對于射手B的結果而言,如果我們把最終的射擊區域整體向左上角移動,當區域中心移動到靶心位置時,B的結果就會非常接近C。
類似的情形是,戰爭時期優秀的炮手在第一發炮彈射擊后,會依據彈著點的實際偏離情況(固定差值)和自身經驗(重復精度)對彈道做一個固定值的補償修正計算,在接下來的射擊中能確保大多數炮彈擊中預定
那么在視覺檢測中,可能因為材質或機構安裝導致一些相對固定的數據差異,我們可以通過對含有準確數據的標準品(如:經過三次元測量的產品)進行檢測,對檢測結果中的固定差異進行補償,來讓“射擊區域”轉移到靶心的位置。
而對于射手A的結果,無論如何調整靶心位置,都無法從根本上解決因重復精度太差導致的數據誤差。
由此可見,對于工業視覺檢測而言,重復精度更為重要。