二維自動化光學檢測及應用_吳先晃_二維檢測原理與技術(下)_影像特徵分析

. DeltaMOOCx
50粉絲
44 次觀看·2023年12月2日
DeltaMOOCx 台達磨課師是大學及高中/高工的免費公益磨課師(MOOCs)平臺。練習題、討論、教師輔導及更多數位課程資源,請至https://univ.deltamoocx.net 註冊。本影片採用「創用CC-姓名標示-非商業性-禁止改作4.0」臺灣授權條款,相關授權作業依「創用CC-姓名標示-非商業性-禁止改作4.0」規範辦理。
各位同學大家好,我們剛剛在上一個小單元裡面,已經針對參考比對法,
利用金樣本的影像來做瑕疵檢測。那接下來我們問自己一個問題,如果我沒有標準影像,所謂的金樣本影像,
我有沒有辦法做瑕疵檢測呢?是可以的,接下來我們就探討這個主題。那這個小主題叫做
影像特徵的分析,我們接下來用影像特徵來做瑕疵的檢測,而不是靠所謂的金樣本影像。
那這裡面我們分成三個部分,前面這個部分呢,是簡介怎麼樣做沒有金樣本影像的瑕疵檢測。
那接下來我們會用特徵來做瑕疵的檢測,那我們很簡單在這邊提出兩種特徵,一個是幾何特徵,
裡面有非常多,很多種幾何特徵我們可以使用,那另外叫做顏色的特徵,除了這兩個特徵以外,還有很多其他種,因為時間的關係,我們就在這邊不一一介紹。
好,接下來我們往下看怎麼樣做瑕疵檢測。那為什麼要做這個特徵呢?因為如果你沒有金樣本,你怎麼樣做瑕疵檢測?
因為有些影像它每一張拍的,有可能跟你標準影像都不一樣,並不是每一個物件都可以把標準影像存下來的。
譬如說,像我們做過的高爾夫球檢測,那個高爾夫球每一顆你去拍,坑洞的位置跟樣式都不一樣,所以它是沒有所謂的金樣本這個東西存在的。
那這樣子我們怎麼做瑕疵檢測?我們就是必須要從裡面找出一些所謂的特徵,也就是說,你為了讓你的機器視覺
跟人類有相同的物件辨識能力,那我們要先來看看我們人類到底靠哪一些特徵來做辨識還有做分類。
所以我們這邊把這個技術叫做特徵抽取,所謂特徵抽取就是我們把物件可以用來做分類的那些特徵把它拿出來,
然後這些特徵我們用一些數學或什麼來描述它或表示它,那靠著這些不一樣的特徵,我們就可以判別這個是什麼物件。
大概就是像這個樣子,所以它的目的就是要能夠把這些算出來特徵的值,通常都是一個數值,就是一個數學值,
用這個值來做判定,你一來可以做哪一種種類的東西,或者你可以判定這個物體到底有沒有瑕疵。
它的特徵大概有權益局部關聯性,那這個細節我們就在這邊就不講,我們講一些我們待會用到的特徵就好了。
那基本上在識別上面,我們會用位置,它的形狀,色彩,對比,紋理等等,你能想得到的人類可以用的,我們都可以拿來使用。
那其中幾何形狀有好幾種參數你可以使用,比如說這個物件的周長,它的面積,它的離心率,這個不用擔心,我們待會會簡介。
還有增圓度,粗糙度,這些都可以拿來當作它的特徵,就像我們人類的身高跟體重一樣,或者是眉毛長度,有沒有戴眼鏡,這些都是特徵一樣。
那有一種叫做灰階影像的色階特徵,比如說它的灰階值,平均值,這些等等的,我們待會會詳細的介紹。
好,所以當物體它大小不一樣的時候,我們可以用面積來分類,比如說你拍攝一堆錢幣,那五十塊、十塊跟一塊錢的大小不一樣,
那很容易就用這個大小來判別它的幣值是多少,這是很簡單的一個應用。
那或者它形狀不一樣的時候,比如說三角形、圓形、方形,或者你在判斷水果,蘋果的形狀跟蓮霧的形狀不一樣,跟芒果形狀也不一樣,
當你形狀不一樣的時候,我們就可以用幾何形狀來做分類。
那用,可以用來做分類的幾何形狀的特徵很多,也就是說你知道它是一個不一樣的形狀,
可是你怎麼樣來描述一個正方形、一個圓形跟一個長方形或者一個三角形呢?我們就要去算,用算的。
比如說周長、緊湊度,然後離心率、增延度、粗糙度,我們下面陸續會介紹這些常用的這些特徵。
好,第一個周長,那周長就是物體的一個邊界的長度,這個很簡單,那你可以看它走了幾步,
那你可以用邊緣的總向、總像素的點數來表示,都可以。那我們這邊常用的就是把它用這個式子來計算,看起來複雜,其實沒有。
就是如果它走的是左右的話或者上下的話,算一步,那如果走斜的話,就算更好二步,那你最後把它加在一起,就是它的總周長。
所以周長也是一個常用的參數。那緊湊度,或叫compactness,它是用周長跟面積來做比較。
所以我們把周長的平方除以四π乘以面積,那叫做kappa這個值。
那這個值從哪裡來?如果你用一個長度,像一個固定長度的繩子,那你可以把它圍成任何一個形狀,那面積越大的話,它就會越緊湊。
那圓形,它是最緊湊的平面集合,就是說你相同一個周長,你把它圍成圓形的時候,你能圍出來的面積是最大的,
你圍成正方形就會變小了,所以它緊湊度等於1,那它其它的形狀物體呢,緊湊度會大於1,因為它面積放在下面。
所以你越大的話,它只會越小,越小的話,它只會越大。所以你越接近1的話,就是越靠近1,太大了就不接近圓,靠近1就很接近圓,這叫做緊湊度。
那這個特徵呢,我們可以用來評估平面物體的,它是不是趨近於一個圓形。好,第三個叫做離心率。
假設我們把一個物件的邊緣找出來,然後把它擬合成一個朵圓,一個朵圓,那它有一個長軸跟短軸,短軸叫做b,長軸叫做a。
那我們把這兩個的長度呢,做一個對比,一個比例,那這個叫做離心率。這個對於長度或長寬比不一樣的物件,我們很容易就用一個參數把它分辨出來。
第四個,增圓度,又來一個增圓度,這個也常用的。那它是把面積除以πa平方,
那這個a呢是短軸,是短軸,那增圓度也是一樣要衡量一個平面物體親近於圓的程度。
那跟我們剛剛那個compactness其實很像,不過它的應用不太一樣,它應用不太一樣。
那圓形的物體,它的增圓度會趨近於1.0,那其他的形狀呢會小於1,小於1,所以這個剛好跟compactness不太一樣,它會小於1。
好,粗糙度,這個也是一個很重要的參數。粗糙度,它是用真正物體的周長,
然後來跟它的外接多邊形的長度做一個比例。那我們這個周長呢,這個周長我們叫做P,
然後突出周長就是你用一個多邊形把它繞起來,這個周長,大家都看得出來它一定會比較短,叫做LC。
那這兩個的比值叫做R,我們就把它定義成它的粗糙度。那物體的輪廓越平滑,它周長跟突出的周長的值就越接近。
像這個一般很順,就是輪廓都沒有凹凸不平,它的粗糙度就會很接近1,就像一般的,像這種規則性的長方形、圓形、正方形、三角形,這種
就是邊長沒有凹凸不平,它都會接近1。那如果反之,你的輪廓越不明顯、越粗糙的話,那你的實際周長就會越長,那這個比值就會越來越大。所以這個兩者粗糙度,這是一個很有用的方法。
好,矩量,我們叫做moment。那假設對一張m乘以n大小的影像,一個二次化的影像,你可以用
那個moment的定義,就是mpq,等於我們上面這個式子,那xp次方乘以yp次方,x跟y是它座標的值,
那fxy在這裡是0或者1,那p加q就是幾次的矩量,幾次的moment。
那比如說,p加q的矩量,就是p加q次的矩量,我們把它定義成,如果對於一個物體的中心來算,我們剛剛那個是就直接算,有些是要對物體的中心來算,
這樣可以把它那個位置的,就是可以把一個物體的位置的因素給消除。也就是說,你用純粹的矩量來算的話,p加q的矩量,
它算出來的值會跟你物體的位置有關。那你如果對行星減掉它的中心點,叫做mu pq,這個對
物體的位置就不會產生關係了。那這邊還要提醒一下,我們是對二次化來計算。
好,mu pq,m pq,定義大家要記清楚。那p等於0,q等於0的時候呢,很簡單,就是把每一點加起來嘛,
xp次方x0次方y0次方等於1,所以就是算面積的意思。所以m00呢,0,那個第0次矩呢,就是實際上就是算面積啦。
好,然後在那個機器世界中,那你只要把面積算出來,那實際上你可以把它轉成真正的大小。也就是說,你如果知道一個pixel,一個像素的大小,
是多少,比如說,1那個millimeter平方,那你就可以把它帶進去看幾個點,你就可以算它真正的面積,所以這個是很有用的。
我們debug參數叫做行星,centroid,那在許多工應用上,這個物體在影像中的位置,我們可以用它整個物體形狀的中心點來表示。
那這是很重要,為什麼呢?因為比如說我們在生產線上,我機器人要去抓一個物件,那我怎麼知道它在哪裡?通常我們會把那個物件的中心叫做行星找出來,
那再把我的手臂移過去中心上方的位置,我們就可以做正確的夾取。那你怎麼算它的形狀的中心呢?一種是用面積的中心,
那一種是你把它用一個矩形繞起來,來找它矩形的中心,不過,面積,因為你把所有點平均起來,有時候會去除雜性,所以這個有去雜性的效果,
所以通常我們也會用面積的中心來表示。好,假設我們想用面積的中心來表示一個物體的中心,那我們怎麼樣來計算呢?很簡單,你用moment的話,
它就是m10除以m00,我們在上面這個公式,x bar就是行星的x的位置,也就是我把x座標乘以每一點,那除以面積,就得到x bar,然後y bar就是中心的y座標。
好,旋轉角度也很重要,一個物體它到底它的orientation,它的角度到底是乘哪一個方向呢?這也是一樣我們在夾取的時候,這是很重要的,尤其
你要夾取的是一個長方形的,你要夾一個圓形跟方形沒有關係,可是你要夾一個長方形就很重要囉。那通常我們會以物體的旋轉角度來表示,
那旋轉角度是以這個物體主慣性走,就是兩個,一個物件它最長的兩個點,你把它拉在一起,然後看跟x的角角是多少就知道了。
那這個角度呢,剛好也可以用moment,用二次矩陣,就是μ11跟μ20跟μ01組成這個θ的公式,所以這個計算也非常的簡單。
那以右邊這個圖示來講,有一個物件呢,它偏向右邊,那這個角度相對於x呢,就可以用左邊這個公式給計算出來,所以它計算是非常簡單的。
然後灰階特徵,除了幾何特徵以外,我們有灰階特徵,那大小相撞相同的時候呢,我們可以用顏色來分類,那彩色的話有RGB、HSI這些東西。
那如果是灰階的話呢,那我們可以用,比如說最大灰階值、最小灰階值、平均值、變異數這些,那這個計算呢,也很容易,比如說最大跟最小的灰階值,
就是像素點灰階值中最大跟最小的,把它挑出來就好了。那平均灰階值呢,假設你的面積已經知道了,那你就可以把它的所有的值加起來除以面積就好了。
然後變異數跟標準差也可以常用,也就是說,我一張影像裡面,我這一塊區塊某一個物,這個物件裡面呢,它的灰階的分佈的變異是多少,這個也非常常用。
也就是說,我把每一個點的值減掉我的平均值,平方加在一起呢,除以total的點數,就是我的變異。那開個剛才就是標準差了,這個數學上就知道了。
好,所以它灰階值變化越大,它的灰階標準差就越大。那如果你的那個區塊灰階都沒有變化的時候,那你的灰階標準差就接近於零了。
好,那變異係數,我們就把這兩個因素,平均值跟標準差把它合在一起。因為你如果標準差不一樣,或者標準差一樣,
平均值有可能不一樣嘛,那這樣你就有可能兩個是不一樣的物體。所以我們把它定義叫做變異係數,就是把標準差跟那個平均值把它做一個平均就可以了。
好,最後一個訊噪比,就是訊號跟雜訊的比值,也就是說我們把訊號跟雜訊來做個比例,可是訊號跟雜訊已經混在一起了,我們很難定義清楚。
所以我們就把訊號呢定義成μ,然後雜訊呢變成σ,也就是說我把灰階的平均值呢當作一個μ值,然後把變異呢當作我的雜訊,這樣就可以了。
各位同學,在這個小單元裡面,我們介紹了兩種很重要的物體的特徵,一個是幾何形狀的特徵,一個是灰階的特徵。
當然我們還有其他很多種特徵,我們在這個課程短短時間裡面沒有辦法介紹這麼多,不過你以這兩個為準,我想你可以觸類旁通,把其他可以用的特徵也全部收刮進來,
非常非常的多,所以我們先著重在兩個特徵就好了,那希望大家可以多多利用這兩個特徵來做瑕疵檢測或者是物件的判別。
好,這個小單元我們在這邊結束,謝謝各位。
