本發(fā)明涉及機器視覺與視頻圖像處理技術領域,更具體地說,涉及一種基于光度立體的去除圖像反光裝置及方法。
背景技術:
機器視覺在工業(yè)產(chǎn)品的質量檢測領域的應用日益普遍,然而很多產(chǎn)品表面易反光導致相機采圖后圖像的某些區(qū)域被高光所覆蓋,表面信息如紋理、字符或標貼等也因此丟失,讓圖像檢測算法的效果大打折扣。
目前工業(yè)上去除反光的方法主要分為兩類:多圖像輸入和單圖像輸入。基于多圖像高光區(qū)域的互補性來去除圖像反光,如圖像拼接法、平均圖像法,上述方法或對高光區(qū)域的判定缺乏足夠精度,或處理過于粗糙,效果圖像不夠精確。基于梯度域求解泊松方程再由梯度圖像重構出圖像的方法[rogerioferis,rameshraskar,kar-hantan,matthewturk.specularreflectionreductionwithmulti-flashimageing.]來去除圖像反光,具有較高的精度和處理效果,但該方法運行時間長,不能滿足工業(yè)實時性的要求,且對于高光區(qū)域交疊的輸入圖像缺乏足夠的魯棒性。
基于單圖像濾波的方法去除圖像反光,如快速雙邊濾波、帶通濾波,由于過度依賴于圖像本身符合某種假定如圖案呈一定的規(guī)律性,算法的應用面較為狹窄。基于圖層分解的方法[yuli,michaels.brown.singleimagelayerseparationusingrelativesmoothness]去除圖像反光,假定光照圖的梯度直方圖呈現(xiàn)短尾分布,而反射圖呈現(xiàn)長尾分布,但當兩個圖層灰度平滑度相差不大時,該方法將無能為力??傊?,單圖像輸入本質上是求解欠定方程,因此魯棒性都達不到要求,現(xiàn)有的單圖像輸入方法,實時性和準確度兩者難以同時滿足要求。
經(jīng)檢索,關于去除圖像反光,也有很多公開專利存在。如專利申請?zhí)?01210378478.9,申請日為2012年10月8日,發(fā)明創(chuàng)造名稱為:消除視頻圖像來自光滑物體表面橫向反光的系統(tǒng)及方法;該申請案的系統(tǒng)包括攝像機、偏光濾波器;攝像機用以獲取視頻圖像;偏光濾波器設置于攝像機鏡頭前,用以消除視頻圖像中光滑物體表面產(chǎn)生的反射光線。所述偏光濾波器包括電場供應單元、起偏單元;所述電場供應單元用以供應起偏單元所需要的電場,所述起偏單元用以將橢圓偏振光轉變?yōu)榫€偏振光。該申請案通過在攝像機鏡頭前設置偏光濾波器,可消除視頻圖像中光滑物體表面產(chǎn)生的反射光線。但該申請案僅可消除表面橫向反光,同時由于偏振片的使用,物體本身的漫反射成分也被削弱,準確性不足。
又如專利申請?zhí)?01610338320.7,申請日為2016年5月19日,發(fā)明創(chuàng)造名稱為:一種去除反光的拍攝裝置和方法;該申請案先通過識別照片中內容相同但光線強度深淺不同的相互錯位的兩個像圍成的反光區(qū)域,再通過修圖算法將所述照片被反光區(qū)域影響的錯誤圖像進行修復,去除反光區(qū)域,但該申請案采用圖像的深淺錯位來修復反光區(qū)域,僅適用與去除目標與相機之間透明物體產(chǎn)生的反光,通用性不足。
還有專利號201510564190.4,申請日為2015年9月6日,發(fā)明創(chuàng)造名稱為:人臉識別的眼鏡消除方法;該申請案通過一個合理的閾值自動過濾鏡片反光嚴重的圖片,篩選出反光度較低、不影響瞳孔定位的圖片進一步進行鏡框消除。但該申請案首先對多張圖像進行人臉檢測,然后通過人為預設的坐標找到眼部區(qū)域,再用加權平均差值方法對眼睛區(qū)域進行插值修復,不僅流程復雜,算法耗時長,而且人工預設了反光區(qū)域,不適用于反光區(qū)域未定的場景,通用性很小。
技術實現(xiàn)要素:
1.發(fā)明要解決的技術問題
本發(fā)明要解決的問題是:機器視覺在工業(yè)產(chǎn)品質量檢測的應用需求日益增加,而反光會讓圖像檢測算法的效果大打折扣;現(xiàn)有通過各種復雜算法進行高準確率的去除反光的方法運算量較大,不滿足工業(yè)生產(chǎn)的實時性要求;而現(xiàn)有能夠快速去除反光的方法僅能應對特定的產(chǎn)品,對有其他復雜圖案的產(chǎn)品去除反光效果較差,總結來說即現(xiàn)有方法難以做到高實時性和高正確率兼容的問題,提供了一種基于光度立體的去除圖像反光裝置及方法;本發(fā)明利用四個光源分別照射下拍攝四幅圖像,經(jīng)灰度預處理后運用光度立體求解得反照率圖,用反照率代替對應像素的灰度值,從而去除圖像的反光,不僅效率高,魯棒性好,而且得到的圖像與光源的位置完全去耦合,處理后圖像的準確度很高。
2.技術方案
為達到上述目的,本發(fā)明提供的技術方案為:
本發(fā)明的一種基于光度立體的去除圖像反光方法,利用四個光源先后照射下對同一目標拍攝四幅圖像,經(jīng)預處理后運用光度立體求解得反照率圖,用反照率代替對應像素的灰度值,從而去除圖像的反光。
更具體地,本發(fā)明以相機拍攝方向為光軸,在光軸的外圍安裝四個光強一致的光源,四個光源確定的平面垂直于光軸,同時,光源照射方向會聚為一點,且該點位于光軸上,通過光源標定確定每個光源的照射角度;在四個光源先后分別點亮的條件下對同一目標各拍攝一幅圖片,運用高斯濾波對所得的四幅圖像預處理去除白噪聲,然后求取每個像素的灰度調整參數(shù),根據(jù)參數(shù)對可能存在反光的點的灰度值進行調節(jié);然后將處理后的四幅圖像按光度立體算法組成超定方程求取反照率圖,即可獲得去除反光的圖像。
更進一步地,光源照射角度標定的具體過程如下:
1)在被測物體的位置處放置一個白球,調節(jié)光源亮度使白球不過曝,拍攝一幅圖像;
2)通過霍夫圓擬合的方法找到球心的位置o(xo,yo)和球半徑ro;
3)根據(jù)球心和球半徑分割出白球,在白球內找到灰度值最大的點l(xl,yl);
4)將照射方向與相機成像的水平線的夾角記為slant,照射方向與相機拍攝軸的方向記為tilt,則:
slant=arctan((yl-yo)/(xl-xo))
tilt=2*arcsin(sqrt((yl-yo)^2+(xl-xo)^2))
5)對每個光源都進行上述步驟,求取每個光源的tilt和slant。
更進一步地,光源照射角度標定的步驟3)中,在白球內找到灰度值最大的區(qū)域,繼續(xù)用霍夫圓擬合找到其該區(qū)域的圓心,將此圓心當成灰度值最大的點。
更進一步地,求取每個點灰度調整參數(shù)的過程為:
1)對任意像素點(x,y),第k幅圖像上的灰度值為ik(k=1,2,3,4),將每幅圖像灰度值歸一化:
2)將i1、i2、i3、i4進行排序,用最大數(shù)減去次最大和次最小數(shù)的均值,假設i1>i2>i3>i4,定義:
y1=i1-0.5*(i2+i3)
y2=0.5*(i2+i3)-i4
調整參數(shù)k1、k2定義為:
k1=sqrt(2*y1-y1*y1)
k2=sqrt(2*y2-y2*y2)。
更進一步地,根據(jù)調整參數(shù)對可能存在反光的點的灰度值進行調節(jié)的過程如下:
1)根據(jù)鏡面反射具有方向性的特點,i1、i2、i3、i4中最大的數(shù)對應的灰度值最有可能發(fā)生了反光,最小的數(shù)對應的灰度值有可能被遮擋,其他兩個參數(shù)對應的灰度值鏡面反射成分低,被遮擋概率小,近似為漫反射,因此不需要調節(jié),ik′為調整后灰度值,k=1,2,3,4,即:
i2’=i2
i3’=i3
2)對于i4,根據(jù)調整參數(shù)求取調整后的灰度為:
i4’=(1-k1)*i4+0.5*k1*(i2+i3)
3)對于i1,可能由于發(fā)生遮擋而形成了陰影,判斷策略采取閾值判斷,當其小于給定閾值th時,需對其進行調整,調整后灰度為:
i1’=(1-k2)*i1+0.5*k2*(i2+i3)。
更進一步地,將處理后的四幅圖像按光度立體算法組成超定方程求取反照率圖的具體過程為:
1)將每個光源照射角度轉化為空間單位向量,轉換公式如下:
x=cos(slant)*sin(tilt)
y=sin(slant)*sin(tilt)
z=cos(tilt)
2)將四個光源的照射向量組成4*3的方向矩陣m4*3,將灰度調整的四幅圖像組成對應的灰度向量i4*1;
3)按光度立體算法將灰度向量與照射向量組成超定方程組:
i4*1=β*m4*3*n3*1
其中,β為反照率,n3*1為該點的表面單位法向量;
4)上式左右兩邊乘以m4*3的轉置,即:
由于n3*1為歸一化向量,所以β為:
求出每個點的β得到反照率圖,即為去除反光的圖像。
本發(fā)明的一種基于光度立體的去除圖像反光裝置,包括一個相機和四個光源,以相機拍攝方向為光軸,四個光源對稱分布在光軸的外圍,四個光源確定的平面垂直于光軸,同時,四個光源照射方向會聚為一點,且該點位于光軸上。
3.有益效果
采用本發(fā)明提供的技術方案,與已有的公知技術相比,具有如下顯著效果:
本發(fā)明的一種基于光度立體的去除圖像反光方法,直接對每個像素位置的灰度進行線性運算,求出表征各點反射特性的反照率參數(shù),算法時間短的同時具有很強的魯棒性。主要優(yōu)勢在于:1)首次提出利用光度立體算法求取反照率圖來去除圖像反光,用四個光源分別照射下拍攝的四幅圖像,經(jīng)過灰度值調整后進行光度立體運算,可以有效地排除由于遮擋造成的陰影和各種復雜圖案的影響,使算法的魯棒性進一步增強;2)通過四個光源先后照射下拍攝同一目標的四幅圖像求取物體反照率圖像的設計,實現(xiàn)了將圖像與光源去耦合,圖像反映的是物體表面每個點的反射特性,能夠獲得更加準確的去除反光的圖像。
附圖說明
圖1為本發(fā)明中去除圖像反光的流程框圖;
圖2為本發(fā)明中光源安裝示意圖;
圖3中的(a)~(c)為本發(fā)明中光源照射方向標定示意圖;
圖4中的(a)~(d)為本發(fā)明中四個相機各自拍攝的圖像;
圖5為圖4拍攝圖像去除反光的效果圖;
圖6中的(a)~(d)為本發(fā)明中另一產(chǎn)品由四個相機各自拍攝的圖像;
圖7為圖6拍攝圖像去除反光的效果圖。
示意圖中的標號說明:
1、光源;2、相機。
具體實施方式
為進一步了解本發(fā)明的內容,結合附圖和實施例對本發(fā)明作詳細描述。
參看圖1,本發(fā)明的一種基于光度立體的去除圖像反光方法,利用四個光源先后照射下對同一目標拍攝四幅圖像,經(jīng)預處理后運用光度立體求解得反照率圖,用反照率代替對應像素的灰度值,從而去除圖像的反光,具體為:首先在合適的位置安裝四個光強一致的光源,通過光源標定確定每個光源的照射角度;四光源分別點亮的條件下各拍攝一幅圖片,運用高斯濾波對所得的四幅圖像預處理去除白噪聲,然后求取每個像素的灰度調整參數(shù),根據(jù)參數(shù)對可能存在反光的點的灰度值進行調節(jié);然后將處理后的四幅圖像按光度立體算法組成超定方程求取反照率圖,即可獲得去除反光的圖像。本發(fā)明能夠快速、準確地去除圖像反光,主要包括光源照射方向標定、四圖像灰度值調整及光度立體求解反照率圖三部分,下面將結合實施例對本發(fā)明進行具體介紹。
實施例1
參看圖2,根據(jù)光度立體原理,要保證每個相機拍攝的圖像灰度僅照射角度這一個變量不同,其余變量包括光源強度、光源距離等需保持一致,同時避免同一個點在多幅圖像上出現(xiàn)反光。本實施例的去除圖像反光裝置的設計方案為:以相機2拍攝方向為光軸,四個光源1對稱分布在光軸的外圍,四個光源1確定的平面垂直于光軸,同時,光源1照射方向會聚為一點,且該點位于光軸上。
本實施例首先在合適的位置安裝四個光強一致的光源1,通過光源標定確定每個光源1的照射角度;四個光源1先后點亮的條件下對同一目標各拍攝一幅圖片,運用高斯濾波對所得的四幅圖像預處理去除白噪聲,然后求取每個像素的灰度調整參數(shù),根據(jù)參數(shù)對可能存在反光的點的灰度值進行調節(jié);然后將處理后的四幅圖像按光度立體算法組成超定方程求取反照率圖,即獲得去除反光的圖像。具體如下:
1、光源照射方向標定:
光度學和成像光學表明,圖像灰度和光照方向與物體表面法向量的夾角有關,因此必須知道光源照射方向。首先需要在合適位置安裝四個光源,四光源對稱地位于拍攝軸的外圍,調整到合適的照射角度(如圖2),在實際檢測中不再對其改變。調節(jié)四個光源的光照強度一致,在待檢物體的位置放置一個白球,調節(jié)光源亮度使白球不過曝,每次點亮一個光源并拍攝一幅圖像,每幅圖像確定對應的光源照射方向。考慮光源、白球、相機這個系統(tǒng),圖像最亮的部分,白球反射光剛好入射到相機,根據(jù)入射反射的關系,最亮點到球心的連線與拍攝軸的夾角是光照方向的一半。首先用霍夫圓擬合找到白球的圓心o(xo,yo)和半徑ro,分割出該白球區(qū)域(如圖3中的(b)所示),然后在該區(qū)域內尋找最大的灰度值,若最大值有多個,即在白球內找到灰度值最大的區(qū)域,以該最大灰度值減去2作為閾值直接二值化分割出最亮區(qū)域,用霍夫圓擬合找到圓心,將此圓心作為最亮點l(xl,yl)。以相機拍攝的水平線做x軸,拍攝軸做z軸,求出光源照射方向單位向量的球坐標。光照方向與z軸的夾角tilt可以用最亮點l與球心的平面距離與球半徑求得,光照方向與x軸的夾角slant用最亮點l與球心的相對位置求得(如圖3中的(c)所示)。據(jù)此,光源方向標定的具體步驟為:
霍夫圓擬合找到白球的圓心o(xo,yo)和半徑ro,尋找最大值后用霍夫圓擬合找到最亮
點l(xl,yl),求取照射角度tilt和slant:
slant=arctan((yl-yo)/(xl-xo))
tilt=2*arcsin(sqrt((yl-yo)^2+(xl-xo)^2))
對每個光源都進行上述步驟,求取每個光源的tilt和slant。
2、四圖像灰度值調整:
對于存在反光的像素位置,一般會出現(xiàn)在某幅圖像上過亮而其他圖像較暗的情況,光源對稱分布可以避免同一個點在多幅圖像上出現(xiàn)反光。對于最亮的像素值,用次最亮和次最暗的兩個像素對其進行調整;對于被遮擋而形成陰影的點,也只會在某一幅圖像上出現(xiàn),對應的灰度值會接近于0,本實施例設置一個閾值參數(shù),該閾值設置為檢測區(qū)域無遮擋下的最低灰度值,低于所述閾值認為是被遮擋,被遮擋像素值用次最亮和次最暗的兩個像素進行調整。最亮點或陰影點與中間兩個值的差距越大,說明非漫反射的成分越多,異常像素本身的可靠度降低,采用調整參數(shù)來表征這種差距,調整參數(shù)越大像素本身權重越低。調整參數(shù)的計算是首先計算最亮點的相對漂移量,再把相對漂移量映射到一個上凸曲線上;對于疑似陰影點的調節(jié)參數(shù)求取方法亦是如此,只是需要先判斷是否為陰影點,具體步驟為:
1)對任意像素點(x,y),第k幅圖像上的灰度值為ik(k=1,2,3,4),將每幅圖像的對應像素點(x,y)的灰度值歸一化:
2)將i1、i2、i3、i4進行排序,用最大的數(shù)減去次最大和次最小數(shù)的均值,假設i1>i2>i3>i4,定義:
y1=i1-0.5*(i2+i3)
y2=0.5*(i2+i3)-i4
調整參數(shù)k1、k2定義為:
k1=sqrt(2*y1-y1*y1)
k2=sqrt(2*y2-y2*y2)
3)灰度值調節(jié):
a、根據(jù)鏡面反射具有方向性的特點,i1、i2、i3、i4中最大的數(shù)對應的灰度值最有可能發(fā)生了反光,最小的數(shù)對應的灰度值有可能發(fā)生被遮擋,其他兩個參數(shù)對應的灰度值鏡面反射成分低,被遮擋概率小,近似為漫反射,因此不需要調節(jié),ik′為調整后灰度值(k=1,2,3,4),即:
i2’=i2
i3’=i3
b、對于i4,根據(jù)調整參數(shù)求取調整后的灰度為:
i4’(1-k1)*i4+0.5*k1*(i2+i3)
c、對于i1,可能由于發(fā)生遮擋而形成了陰影,這里判斷策略采取閾值判斷,當其小于給定閾值th(如th=3)時,需對其進行調整,調整后灰度為:
i1’=(1-k2)*i1+0.5*k2*(i2+i3)
3、光度立體求解反照率圖:
1)將每個光源照射角度轉化為空間單位向量,轉換公式如下:
x=cos(slant)*sin(tilt)
y=sin(slant)*sin(tilt)
z=cos(tilt)
2)逐像素求解去除反光圖像的反照率圖,首先將四個光源方向的空間單位向量矩陣化,組成4*3的方向矩陣m4*3,將灰度調整的四幅圖像組成對應的灰度向量i4*1。按光度立體算法將灰度向量與照射向量組成超定方程組:
i4*1=β*m4*3*n3*1
其中,β為反照率,n3*1為該點的表面單位法向量。兩邊乘以m4*3的轉置,即:
由于n3*1為歸一化向量,所以β為:
計算每個點的反照率得到反照率圖,由此得到去除反光的圖像。
其中圖4、圖6中的(a)、(b)、(c)、(d)分別為四個相機各自拍攝的圖像,圖5和圖7為對應的去除反光的效果圖,待處理圖像來源于大米噴碼檢測??梢钥闯?,本實施例去除反光的效果比較明顯,對于復雜的反光有較強的魯棒性,去除反光的圖像與光照達到了去耦合效果,效果圖與實際物體很吻合。
以上示意性的對本發(fā)明及其實施方式進行了描述,該描述沒有限制性,附圖中所示的也只是本發(fā)明的實施方式之一,實際的結構并不局限于此。所以,如果本領域的普通技術人員受其啟示,在不脫離本發(fā)明創(chuàng)造宗旨的情況下,不經(jīng)創(chuàng)造性的設計出與該技術方案相似的結構方式及實施例,均應屬于本發(fā)明的保護范圍。