本發(fā)明涉及三維傳感器和數(shù)字圖像處理技術(shù)領(lǐng)域,具體涉及飛行時(shí)間(time-of-flight,tof)三維傳感器的運(yùn)動(dòng)模糊消除方法和設(shè)備。
背景技術(shù):
三維深度傳感器可以用來感知環(huán)境的三維深度信息,因此被廣泛應(yīng)用于人機(jī)交互、移動(dòng)機(jī)器人導(dǎo)航、體感游戲、虛擬/增強(qiáng)現(xiàn)實(shí)等領(lǐng)域。相比于傳統(tǒng)的雙目立體相機(jī),深度相機(jī)不需要大量的運(yùn)算來恢復(fù)深度,而且得到的圖像更為準(zhǔn)確、可靠。
深度傳感器常見的工作方式有兩種,一種是結(jié)構(gòu)光(structured-light)方法;另一種是飛行時(shí)間(time-of-flight,tof)方法。圖1示意了一種基于光學(xué)快門(opticalshutter)的飛行時(shí)間深度傳感器的工作原理。需要說明的是,本發(fā)明有時(shí)以該tof傳感器為例對(duì)本發(fā)明提出的運(yùn)動(dòng)模糊消除方法和設(shè)備進(jìn)行說明,但是,本發(fā)明方法和設(shè)備適用于多種形式的、可能產(chǎn)生運(yùn)動(dòng)模糊的tof傳感器,不局限于該傳感器。
參見圖1,飛行時(shí)間法三維成像是通過紅外光源向目標(biāo)物體連續(xù)發(fā)射光波(如圖1中照明紅外光的正弦波形所示),然后用感光器件接收從目標(biāo)物體返回的光(如圖1中反射紅外光的正弦波形所示),通過探測(cè)光脈沖的往返飛行時(shí)間來得到目標(biāo)物體的距離。飛行時(shí)間傳感器與普通相機(jī)的組成部件有類似之處,都是由光源、光學(xué)部件、成像單元、控制電路以及計(jì)算單元等幾部單元組成。
tof技術(shù)采用主動(dòng)光探測(cè)方式。照射單元的目的不是照明,而是利用入射光信號(hào)與反射光信號(hào)的變化來進(jìn)行距離測(cè)量。tof的照射單元通常是人眼不可見的紅外光,比如圖1所示的采用激光二極管(laserdiode,ld)發(fā)射的紅外光,脈沖頻率為20mhz。反射的紅外光經(jīng)過與諧振器零拍混頻后,被成像單元cmos圖像傳感器接收。在一個(gè)成像周期內(nèi),成像單元接收到4幅不同相位的圖像,隨后tof運(yùn)算單元針對(duì)每一個(gè)像素對(duì)入射光往返相機(jī)與目標(biāo)物體之間的相位分別進(jìn)行計(jì)算,并計(jì)算出深度圖像。
深度傳感器相比于傳統(tǒng)傳感器在深度測(cè)量方面有很多優(yōu)勢(shì),同時(shí)也面臨一些挑戰(zhàn)。對(duì)于tof三維傳感器,一個(gè)很大的挑戰(zhàn)就是運(yùn)動(dòng)模糊。從圖1中可以看出,為了得到 一幅深度圖像,需要4幅紅外圖像i0、i90、i180、i270,下標(biāo)分別對(duì)應(yīng)4個(gè)不同的相位。由于4幅紅外圖像是在不同的時(shí)刻成像,當(dāng)場(chǎng)景中存在運(yùn)動(dòng)物體的時(shí)候,物體在不同圖像中的位置不相同,就會(huì)產(chǎn)生運(yùn)動(dòng)模糊的問題。因此,運(yùn)動(dòng)模糊消除(motiondeblurring)就成了tof三維傳感器的一個(gè)重要課題。
tof三維傳感器的運(yùn)動(dòng)模糊消除問題的解決方案,包含以下兩個(gè)步驟:
(1)運(yùn)動(dòng)模糊區(qū)域的檢測(cè)。如果場(chǎng)景是靜止的,理想情況下一個(gè)成像周期的4幅紅外圖像滿足一定的約束,通常滿足(i0+i180)-(i90+i270)=0。如果像素點(diǎn)嚴(yán)重不滿足該約束,例如:
|(i0+i180)-(i90+i270)|>ε
其中,ε是一個(gè)閾值,就把這些像素判定為運(yùn)動(dòng)模糊的像素。
(2)運(yùn)動(dòng)模糊的消除。主要有以下解決思路:
(i)采用孔洞填充(hole-filling)的方法。首先,將運(yùn)動(dòng)模糊區(qū)域的深度值設(shè)為無效,從而運(yùn)動(dòng)模糊區(qū)域形成了一些孔洞;然后,從孔洞的相鄰區(qū)域中,采用圖像補(bǔ)全技術(shù)、或者選擇孔洞相鄰像素的深度值來填充這些孔洞。空洞填充方法丟棄了運(yùn)動(dòng)模糊區(qū)域的測(cè)量值,根據(jù)圖像的統(tǒng)計(jì)特性加以填充。當(dāng)前最先進(jìn)的孔洞補(bǔ)全算法面臨著運(yùn)算量大、難以實(shí)時(shí)計(jì)算的問題。
(ii)將一個(gè)成像周期內(nèi)的多幅紅外圖像對(duì)齊,根據(jù)對(duì)齊之后的圖像再來計(jì)算深度。跟空洞填充方法相比,這種方法沒有丟棄運(yùn)動(dòng)模糊區(qū)域的測(cè)量值,能夠更加充分地利用圖像的信息。本專利采用這種思路。
消除運(yùn)動(dòng)模糊在圖像處理和計(jì)算機(jī)視覺領(lǐng)域是一個(gè)經(jīng)典的問題,對(duì)于普通的彩色或者灰度圖像,存在一些消除運(yùn)動(dòng)模糊的算法。
按照模糊核的性質(zhì),運(yùn)動(dòng)模糊消除算法可劃分為:盲去卷積(blindimagedeconvolution,bid)和非盲去卷積(non-blindimagedeconvolution,nbid)。bid是在模糊核未知的情況下恢復(fù)出原始的清晰圖像。在這種情況下,除了采集到的圖像,沒有其他任何信息可供使用。nbid是在模糊核已知的情況下恢復(fù)出清晰的原始圖像。
按照模糊的區(qū)域來劃分,運(yùn)動(dòng)模糊可以分為:全局模糊和局部模糊。全局模糊主要是由于拍攝設(shè)備的運(yùn)動(dòng)造成的,而局部模糊是由于單個(gè)物體的運(yùn)動(dòng)造成的。全局模糊可以用一個(gè)模糊核來恢復(fù),因此最主要的任務(wù)就是點(diǎn)擴(kuò)散函數(shù)(pointspreadfunction,psf)的估計(jì);而局部模糊的模糊核是隨位置變化的,需要在圖像的不同地方分別估計(jì)點(diǎn)擴(kuò)散函數(shù)。
運(yùn)動(dòng)模糊消除算法按照可用信息的來源可分為:?jiǎn)畏鶊D像模糊消除和帶輔助 信息的圖像模糊消除。單幅圖像模糊消除的輸入只有一幅圖像,沒有其他輔助信息。帶輔助信息的圖像模糊消除,除了一幅待處理的圖像,還有其他的輔助信息可以利用。這里的輔助信息包括:(1)連續(xù)的多幀圖像;(2)一幀不模糊但噪聲可能較大、分辨率可能很低的圖像;(3)不同曝光時(shí)間的多幅圖像;(4)低分辨率的視頻;(5)對(duì)曝光時(shí)間的編碼;(6)對(duì)鏡頭或者相機(jī)硬件的改造,等等。
盡管對(duì)于彩色圖像或者灰度圖像,存在大量的圖像模糊消除算法,但是對(duì)于三維深度圖像,傳統(tǒng)的運(yùn)動(dòng)模糊消除算法并不能直接使用,因此,有必要提出適用于三維深度圖像的運(yùn)動(dòng)模糊消除方案。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)?zhí)峁┝艘环N飛行時(shí)間三維傳感器的運(yùn)動(dòng)模糊消除方法和設(shè)備,以消除三維深度圖像中的運(yùn)動(dòng)模糊。
本申請(qǐng)?zhí)峁┑囊环Ntof三維傳感器的運(yùn)動(dòng)模糊消除方法,包括:
檢測(cè)各圖像的運(yùn)動(dòng)模糊區(qū)域;
針對(duì)檢測(cè)的運(yùn)動(dòng)模糊區(qū)域,計(jì)算各圖像的灰度直方圖,根據(jù)灰度直方圖分別對(duì)各圖像進(jìn)行灰度變換;
將經(jīng)過灰度變換后的各圖像進(jìn)行對(duì)齊;
將對(duì)齊之后的各圖像分別進(jìn)行灰度逆變換;
根據(jù)灰度逆變換后的圖像計(jì)算深度圖像。
較佳的,檢測(cè)各圖像的運(yùn)動(dòng)模糊區(qū)域包括:根據(jù)各相位紅外圖像檢測(cè)運(yùn)動(dòng)模糊區(qū)域。
較佳的,在檢測(cè)到運(yùn)動(dòng)模糊區(qū)域后,并在計(jì)算各相位紅外圖像的灰度直方圖之前,還包括:對(duì)運(yùn)動(dòng)模糊區(qū)域進(jìn)行開操作和/或閉操作。
較佳的,所述開操作包括:先對(duì)運(yùn)動(dòng)模糊區(qū)域進(jìn)行腐蝕操作,再進(jìn)行膨脹操作;
所述閉操作包括:先對(duì)運(yùn)動(dòng)模糊區(qū)域進(jìn)行膨脹操作,再進(jìn)行腐蝕操作。
較佳的,所述根據(jù)各相位紅外圖像檢測(cè)運(yùn)動(dòng)模糊區(qū)域包括:
對(duì)每一個(gè)像素i計(jì)算(i0+i180)-(i90+i270);
判定滿足(i0+i180)-(i90+i270)≤-ε的像素屬于類型一運(yùn)動(dòng)模糊像素,類型取值為1;
判定滿足(i0+i180)-(i90+i270)≥ε的像素屬于類型二運(yùn)動(dòng)模糊,類型取值為2;
判定滿足|(i0+i180)-(i90+i270)|<ε的像素屬于無模糊像素,類型取值為0;
其中,i0、i90、i180和i270分別表示相位為0、90、180和270的紅外圖像;ε是設(shè)定的閾值參數(shù)。
較佳的,所述腐蝕操作包括:
如果當(dāng)前像素的類型取值是0,保持該取值不變;
如果當(dāng)前像素的類型取值是1,則當(dāng)當(dāng)前像素的所有相鄰像素的類型取值為1時(shí),當(dāng)前像素的類型取值置為1,否則,當(dāng)前像素的類型取值置為0;
如果當(dāng)前像素的類型取值是2,則當(dāng)當(dāng)前像素的所有相鄰像素的類型取值為2時(shí),當(dāng)前像素的類型取值置為2,否則,當(dāng)前像素的類型取值置為0。
較佳的,所述膨脹操作包括:
如果當(dāng)前像素的類型取值是1或2,保持該取值不變;
如果當(dāng)前像素的類型取值是0,將其相鄰像素中取值為1和2的像素?cái)?shù)目分別記作n1和n2,再按照以下情況處理:
如果n1和n2均等于0,保持當(dāng)前像素的類型取值不變;
如果n1大于n2,當(dāng)前像素的類型取值置為1;
如果n2大于n1,當(dāng)前像素的類型取值置為2;
如果n1等于n2,并且n1大于0,當(dāng)前像素的類型取值從1和2中隨機(jī)選一個(gè)值。
較佳的,所述針對(duì)檢測(cè)的運(yùn)動(dòng)模糊區(qū)域,計(jì)算各圖像的灰度直方圖,根據(jù)灰度直方圖分別對(duì)各圖像進(jìn)行灰度變換包括:計(jì)算各相位紅外圖像的灰度直方圖,以其中一個(gè)相位的紅外圖像為目標(biāo)圖像,以除所述目標(biāo)圖像外的其他紅外圖像為源圖像,根據(jù)源圖像和目標(biāo)圖像的灰度直方圖分別對(duì)各源圖像進(jìn)行灰度變換;
所述將經(jīng)過灰度變換后的各圖像進(jìn)行對(duì)齊包括:將經(jīng)過灰度變換后的各個(gè)源圖像分別與目標(biāo)圖像進(jìn)行對(duì)齊;
所述將對(duì)齊之后的各圖像分別進(jìn)行灰度逆變換包括:將對(duì)齊之后的各個(gè)源圖像分別進(jìn)行灰度逆變換;
所述根據(jù)灰度逆變換后的圖像計(jì)算深度圖像包括:根據(jù)目標(biāo)圖像和灰度逆變換后的源圖像計(jì)算深度圖像。
較佳的,所述根據(jù)源圖像和目標(biāo)圖像的灰度直方圖分別對(duì)各個(gè)源圖像進(jìn)行灰度變換包括:
將源圖像和目標(biāo)圖像的經(jīng)驗(yàn)累積分布函數(shù)分別記為csrc[i],ctgt[i],i=0,…,n,確定灰度變換函數(shù)t[i]為:
t[i]=argminj|ctgt[j]-csrc[i]|,i,j=0,…,n
其中,n是累積分布函數(shù)中柱的數(shù)目;
根據(jù)所確定的灰度變換函數(shù)分別對(duì)相應(yīng)的源圖像進(jìn)行灰度變換。
較佳的,所述將經(jīng)過灰度變換后的各個(gè)源圖像分別與目標(biāo)圖像進(jìn)行對(duì)齊包括:
將經(jīng)過灰度變換后的各個(gè)源圖像分別與目標(biāo)圖像進(jìn)行稠密匹配,并根據(jù)匹配結(jié)果將源圖像變形到目標(biāo)圖像,得到對(duì)齊之后的源圖像。
較佳的,所述進(jìn)行稠密匹配包括:在匹配傳播和隨機(jī)挑選匹配塊時(shí),限定在運(yùn)動(dòng)模糊區(qū)域內(nèi)尋找匹配;根據(jù)模糊的類型推算出運(yùn)動(dòng)矢量的方向,并在隨機(jī)挑選圖像塊時(shí),根據(jù)運(yùn)動(dòng)矢量的方向隨機(jī)挑選圖像塊。
本申請(qǐng)還提供了一種tof三維傳感器的運(yùn)動(dòng)模糊消除設(shè)備,包括:運(yùn)動(dòng)模糊檢測(cè)模塊、灰度變換模塊、對(duì)齊模塊、灰度逆變換模塊和深度計(jì)算模塊,其中:
所述運(yùn)動(dòng)模糊檢測(cè)模塊,用于檢測(cè)各圖像的運(yùn)動(dòng)模糊區(qū)域;
所述灰度變換模塊,用于針對(duì)檢測(cè)的運(yùn)動(dòng)模糊區(qū)域,計(jì)算各圖像的灰度直方圖,根據(jù)灰度直方圖分別對(duì)各圖像進(jìn)行灰度變換;
所述對(duì)齊模塊,用于將經(jīng)過灰度變換后的各圖像進(jìn)行對(duì)齊;
所述灰度逆變換模塊,用于將對(duì)齊之后的各圖像分別進(jìn)行灰度逆變換;
所述深度計(jì)算模塊,用于根據(jù)灰度逆變換后的圖像計(jì)算深度圖像。
由上述技術(shù)方案可見,本發(fā)明實(shí)現(xiàn)了一種具有高準(zhǔn)確性和高魯棒性的方法,用于消除tof三維傳感器的運(yùn)動(dòng)模糊。與現(xiàn)有的運(yùn)動(dòng)模糊消除方法相比,本申請(qǐng)的主要區(qū)別包括:第一,對(duì)紅外圖像做了灰度變換,提高了運(yùn)動(dòng)模糊消除方法中間階段的匹配精度。第二,在紅外圖像的匹配階段使用稠密的匹配算法,比起現(xiàn)有的僅僅使用邊緣或者區(qū)域形狀的方法,能夠利用模糊區(qū)域的所有像素信息,提升匹配的精度;此外,將模糊區(qū)域掩模(mask)提供的區(qū)域、運(yùn)動(dòng)矢量信息融入到匹配的中間過程,減少了搜索空間,提高了算法的運(yùn)算速度。第三,本發(fā)明提出的解決方案適用于tof三維傳感器的運(yùn)動(dòng)模糊消除,而現(xiàn)有技術(shù)僅適用于彩色圖像或者灰度圖像。
附圖說明
圖1為現(xiàn)有一種基于光學(xué)快門的飛行時(shí)間深度傳感器的工作原理示意圖;
圖2為本發(fā)明tof三維傳感器的運(yùn)動(dòng)模糊消除方法的流程示意圖;
圖3為本發(fā)明消除運(yùn)動(dòng)模糊的方法的原理框圖;
圖4為本申請(qǐng)實(shí)施例中一運(yùn)動(dòng)檢測(cè)結(jié)果示例;
圖5為本申請(qǐng)實(shí)施例中運(yùn)動(dòng)模糊的類型示意圖;
圖6a為本申請(qǐng)實(shí)施例中i90、i180、i270與i0的灰度直方圖比較;
圖6b為本申請(qǐng)實(shí)施例中i90、i180、i270與i0的累計(jì)分布函數(shù)比較;
圖7a從左至右依次為本申請(qǐng)一實(shí)施例中的i0、i90、i180、i270原始紅外圖像;
圖7b為本申請(qǐng)一實(shí)施例中檢測(cè)出的運(yùn)動(dòng)模糊區(qū)域;
圖7c為本申請(qǐng)一實(shí)施例中經(jīng)過圖像對(duì)齊之后的紅外圖像,從左至右依次為i0,i’90,i’180,i’270;
圖8為本申請(qǐng)一實(shí)施例中運(yùn)動(dòng)模糊消除的效果圖,從左到右依次為原始深度圖像和消除運(yùn)動(dòng)模糊后的深度圖像;
圖9為本申請(qǐng)一較佳tof三維傳感器的運(yùn)動(dòng)模糊消除設(shè)備的組成結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本申請(qǐng)的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉實(shí)施例,對(duì)本申請(qǐng)作進(jìn)一步詳細(xì)說明。
根據(jù)本申請(qǐng)發(fā)明人的分析,傳統(tǒng)的運(yùn)動(dòng)模糊消除算法不能直接應(yīng)用于三維深度圖像的理由如下:
(1)深度圖像運(yùn)動(dòng)模糊的來源更加復(fù)雜,跟彩色或者灰度圖像的運(yùn)動(dòng)模糊有重大區(qū)別。我們以圖1的傳感器為例,當(dāng)場(chǎng)景中存在運(yùn)動(dòng)物體時(shí),4幅不同相位的紅外圖像上分別存在運(yùn)動(dòng)模糊,這種模糊大致對(duì)應(yīng)傳統(tǒng)的彩色或灰度圖像模糊。除此之外,運(yùn)動(dòng)物體在4幅不同相位的紅外圖像上的位置是不同的,稱之為未對(duì)齊(misalignment)。當(dāng)根據(jù)未對(duì)齊的紅外圖像計(jì)算深度時(shí),將導(dǎo)致深度圖像上的運(yùn)動(dòng)模糊更加嚴(yán)重,甚至成為運(yùn)動(dòng)模糊的主導(dǎo)因素。
(2)三維傳感器的圖像(包括深度圖像和紅外圖像)特性跟傳統(tǒng)的彩色或灰度圖像差別很大。三維傳感器獲取的紅外圖像以及據(jù)此計(jì)算出來的深度圖像都具有邊緣不清晰、紋理不豐富的特點(diǎn),導(dǎo)致了很多基于彩色或灰度圖像先驗(yàn)的方法不再適用。
本發(fā)明的目的是充分利用tof三維傳感器獲取的不同相位的紅外圖像,采用計(jì)算機(jī)視覺中的圖像匹配/對(duì)齊技術(shù),解決現(xiàn)有技術(shù)所存在的不同相位圖像中運(yùn)動(dòng)物體未對(duì)齊的問題,從而大幅度消除運(yùn)動(dòng)模糊。具體地說,現(xiàn)有的運(yùn)動(dòng)模糊消除算法主要是對(duì)單幅圖像的成像過程中引入的運(yùn)動(dòng)模糊進(jìn)行消除,無法對(duì)各圖像中 的運(yùn)動(dòng)物體未對(duì)齊導(dǎo)致的模糊進(jìn)行消除。本申請(qǐng)的發(fā)明人認(rèn)為,tof三維傳感器的運(yùn)動(dòng)模糊很大程度上來自于運(yùn)動(dòng)物體在不同相位圖像上的未對(duì)齊,因此,本發(fā)明提出了新的解決方案來對(duì)三維傳感器圖像中的運(yùn)動(dòng)物體進(jìn)行對(duì)齊。對(duì)本領(lǐng)域技術(shù)人員而言,匹配、配準(zhǔn)、對(duì)齊所代表的含義類似。在描述方法時(shí)大多用“匹配”,而在描述結(jié)果時(shí)大多用“對(duì)齊”,本申請(qǐng)主要采用“對(duì)齊”這一術(shù)語。
在本發(fā)明中,提出了一套新的tof三維傳感器的運(yùn)動(dòng)模糊消除的框架,用以有效地提高tof三維傳感器對(duì)運(yùn)動(dòng)物體的成像精度和適用范圍。
圖2為本發(fā)明tof三維傳感器的運(yùn)動(dòng)模糊消除方法的流程示意圖,參見圖2,該方法包括:
步驟201:檢測(cè)各圖像的運(yùn)動(dòng)模糊區(qū)域;
步驟202:針對(duì)檢測(cè)的運(yùn)動(dòng)模糊區(qū)域,計(jì)算各圖像的灰度直方圖,根據(jù)灰度直方圖分別對(duì)各圖像進(jìn)行灰度變換;
步驟203:將經(jīng)過灰度變換后的各圖像進(jìn)行對(duì)齊;
步驟204:將對(duì)齊之后的各圖像分別進(jìn)行灰度逆變換;
步驟205:根據(jù)灰度逆變換后的圖像計(jì)算深度圖像。
基于圖2所示方法流程,圖3給出了本發(fā)明提出的tof三維傳感器的運(yùn)動(dòng)模糊消除方法的原理框圖,主要包括以下步驟:
(1)根據(jù)各相位紅外圖像檢測(cè)運(yùn)動(dòng)模糊區(qū)域。
本步驟中,根據(jù)各相位的紅外圖像檢測(cè)運(yùn)動(dòng)模糊的區(qū)域。較佳的,還可以對(duì)運(yùn)動(dòng)模糊區(qū)域進(jìn)行后處理,后處理包括:圖像膨脹操作、刪除小的連通域等。
(2)計(jì)算各相位紅外圖像的灰度直方圖,以其中一個(gè)相位的紅外圖像為目標(biāo)圖像,以除所述目標(biāo)圖像外的其他紅外圖像為源圖像,根據(jù)源圖像和目標(biāo)圖像的灰度直方圖分別對(duì)各個(gè)源圖像進(jìn)行灰度變換。
本步驟將源圖像上的運(yùn)動(dòng)模糊區(qū)域根據(jù)灰度直方圖進(jìn)行灰度變換,使得源圖像和目標(biāo)圖像上模糊區(qū)域的灰度分布具有相同的累積分布直方圖。
由于不同相位的紅外圖像的整體亮度差異很大,如果直接用原始圖像進(jìn)行對(duì)齊,效果不好。為了增加對(duì)齊的精度,本發(fā)明分別針對(duì)每個(gè)運(yùn)動(dòng)模糊區(qū)域,首先計(jì)算它在不同相位圖像中的灰度直方圖,然后再依據(jù)直方圖進(jìn)行灰度變換,使得不同相位圖像中的同一模糊區(qū)域具有大致相同的灰度分布。
為了計(jì)算灰度變換函數(shù),還需要構(gòu)造源圖像和目標(biāo)圖像對(duì)。構(gòu)造方法如下:從每個(gè)成像周期內(nèi)的4幅紅外圖中選擇1幅紅外圖像作為目標(biāo)圖像,其他的3幅紅外圖像 依次作為源圖像,得到若干對(duì)目標(biāo)圖像和源圖像。例如,一個(gè)成像周期有4幅紅外圖像i0、i90、i180、i270,可以選擇第一幅紅外圖像i0作為目標(biāo)圖像,其他3幅紅外圖像i90、i180、i270依次作為源圖像,這樣可以得到3對(duì)目標(biāo)圖像和源圖像(i0、i90)、(i0、i180)、(i0、i270)。本步驟的灰度變換,以及接下來的稠密匹配、灰度逆變換需要對(duì)3對(duì)圖像分別進(jìn)行操作。
需要說明的是:本發(fā)明以4幅不同相位的紅外圖像為例進(jìn)行說明。在實(shí)際應(yīng)用中,一些tof三維傳感器也可以使用其他數(shù)量的紅外圖像來推算深度,例如3幅、5幅等,本發(fā)明所提供的技術(shù)方案對(duì)其他數(shù)量的紅外圖像也同樣適用。
(3)將經(jīng)過灰度變換后的各個(gè)源圖像分別與目標(biāo)圖像進(jìn)行對(duì)齊。
本步驟是將經(jīng)過灰度變換后的紅外圖像分成源圖像和目標(biāo)圖像,將源圖像和目標(biāo)圖像進(jìn)行稠密匹配,并根據(jù)匹配結(jié)果將源圖像變形(warp)到目標(biāo)圖像,得到對(duì)齊之后的源圖像。
具體而言,warp的過程是:在一個(gè)深度圖像的成像周期內(nèi),選擇一張紅外圖像作為目標(biāo)圖像,其他的紅外圖像分別與目標(biāo)圖像進(jìn)行匹配,得到兩幅圖像上運(yùn)動(dòng)模糊區(qū)域的每個(gè)像素的對(duì)應(yīng)關(guān)系;根據(jù)該對(duì)應(yīng)關(guān)系,將源圖像的每個(gè)像素分別移至目標(biāo)圖像上的相應(yīng)位置,得到warp之后的源圖像。由于warp之后的源圖像補(bǔ)償了運(yùn)動(dòng)向量,從而實(shí)現(xiàn)了將不同紅外圖像之間的運(yùn)動(dòng)區(qū)域?qū)R。
(4)將對(duì)齊之后的各個(gè)源圖像分別進(jìn)行灰度逆變換。
(5)根據(jù)目標(biāo)圖像和灰度逆變換之后的源圖像計(jì)算深度圖像。
下面通過較佳實(shí)施例對(duì)本申請(qǐng)技術(shù)方案中的上述部分分別予以詳細(xì)說明。
一、首先介紹運(yùn)動(dòng)模糊區(qū)域的檢測(cè)步驟。
運(yùn)動(dòng)模糊區(qū)域的檢測(cè)可以分為兩類:
(1)使用深度圖像檢測(cè)。對(duì)于tof三維傳感器,運(yùn)動(dòng)模糊區(qū)域通常對(duì)應(yīng)著深度上出現(xiàn)一個(gè)非常大或者非常小的值。
(2)使用紅外圖像檢測(cè)運(yùn)動(dòng)模糊區(qū)域。這種方法不需要使用像素的鄰域信息。
tof三維傳感器得到的4幅紅外圖像中,下面的公式成立:
(i0+i180)-(i90+i270)=0
然而對(duì)于運(yùn)動(dòng)模糊區(qū)域,該公式通常不成立,因此,可以通過下面的指標(biāo)來判斷一個(gè)像素是否屬于運(yùn)動(dòng)模糊像素:
δii=|(i0+i180)-(i90+i270)|
如果δii大于或等于ε,則認(rèn)為像素i屬于模糊像素;否則認(rèn)為像素i屬于無 模糊像素。其中,ii是圖像i的第i個(gè)像素,ε是設(shè)定的閾值參數(shù)。圖4為本申請(qǐng)實(shí)施例中一運(yùn)動(dòng)檢測(cè)結(jié)果示例。其中,圖4左側(cè)示出的是當(dāng)前場(chǎng)景的紅外圖像,圖4右側(cè)示出的是運(yùn)動(dòng)模糊的檢測(cè)結(jié)果。
為了進(jìn)一步區(qū)分不同類型的運(yùn)動(dòng)模糊,本實(shí)施例將滿足(i0+i180)-(i90+i270)≤-ε的像素稱作類型一(typei)運(yùn)動(dòng)模糊,將滿足(i0+i180)-(i90+i270)≥ε的像素稱作類型二(typeii)運(yùn)動(dòng)模糊,將滿足|(i0+i180)-(i90+i270)|<ε的像素當(dāng)作無模糊像素。圖5為本申請(qǐng)實(shí)施例中運(yùn)動(dòng)模糊的類型示意圖。如圖5,typei類型的模糊對(duì)應(yīng)著該像素從背景變?yōu)榍熬?;typeii類型的模糊對(duì)應(yīng)著該像素從前景變?yōu)楸尘啊?/p>
在得到運(yùn)動(dòng)模糊區(qū)域后,本實(shí)施例對(duì)其進(jìn)行后處理,以提高后續(xù)處理的精度。本實(shí)施例采用的后處理方法是形態(tài)學(xué)開(opening)和閉(closing)操作。其中,閉合和膨脹操作的結(jié)構(gòu)元素分別設(shè)為3*3和6*6。然而,傳統(tǒng)的形態(tài)學(xué)操作針對(duì)的是二值圖像,而本實(shí)施例的模糊區(qū)域mask圖像有三種取值,包括:無模糊、typei運(yùn)動(dòng)模糊、typeii運(yùn)動(dòng)模糊。本實(shí)施例將這三種情況分別標(biāo)記為0、1、2。
三值圖像的腐蝕(morphologicalerosion)定義為:
(1)如果當(dāng)前像素的類型取值是0,保持該取值不變;
(2)如果當(dāng)前像素的類型取值是1,則當(dāng)當(dāng)前像素的所有相鄰像素的類型取值為1時(shí),當(dāng)前像素的類型取值置為1,否則,當(dāng)前像素的類型取值置為0;
(3)如果當(dāng)前像素的類型取值是2,則當(dāng)當(dāng)前像素的所有相鄰像素的類型取值為2時(shí),當(dāng)前像素的類型取值置為2,否則,當(dāng)前像素的類型取值置為0。
三值圖像的膨脹(morphologicaldilation)的定義為:
(1)如果當(dāng)前像素的類型取值是1或2,保持該取值不變;
(2)如果當(dāng)前像素的類型取值是0,將它的相鄰像素中取值為1和2的像素?cái)?shù)目分別記作n1和n2,再按照下面的方式分情況處理:
(i)如果n1和n2均等于0,保持當(dāng)前像素的類型取值不變;
(ii)如果n1大于n2,當(dāng)前像素的類型取值置為1;
(iii)如果n2大于n1,當(dāng)前像素的類型取值置為2;
(iv)如果n1等于n2,并且n1大于0,當(dāng)前的像素的類型取值從1和2中隨機(jī)選一個(gè)值。
三值圖像的開操作(morphologicalopening)定義為:
先對(duì)三值圖像進(jìn)行腐蝕操作,接著進(jìn)行膨脹操作。開操作可以去除小的連通分量和小的分支。
三值圖像的閉操作(morphologicalclosing)定義為:
先對(duì)三值圖像進(jìn)行膨脹操作,接著進(jìn)行腐蝕操作。閉操作可以去除連通分量之間的小空洞和小間隙。
二、其次,對(duì)灰度變換操作進(jìn)行說明。
紅外圖像中的灰度差異有兩個(gè)來源:相位的改變和物體的運(yùn)動(dòng)。由于紅外圖像的灰度差異很大,直接運(yùn)用圖像匹配方法通常無法得到滿意的效果。為了解決該問題,本實(shí)施例在圖像匹配之前對(duì)模糊區(qū)域進(jìn)行灰度調(diào)整。
本實(shí)施例使用單調(diào)變換函數(shù)來確保每對(duì)(pair)源圖像和目標(biāo)圖像的累積分布函數(shù)是相同的。這樣做的依據(jù)是:盡管每個(gè)圖像對(duì)的灰度累積分布差異很大,但是像素灰度值的相對(duì)排序是基本相同的。單調(diào)變換函數(shù)可以保持每個(gè)圖像的灰度相對(duì)排序不變。圖6a和圖6b給出了一個(gè)運(yùn)動(dòng)模糊區(qū)域的灰度變換的示例。其中,圖6a從左至右依次為i90、i180、i270與i0的灰度直方圖比較;圖6b從左至右依次為i90、i180、i270與i0的累計(jì)分布函數(shù)比較;從圖6a和圖6b可以看出,不同相位的紅外圖像具有較大的灰度差異。
對(duì)于每個(gè)圖像對(duì),本實(shí)施例根據(jù)灰度分布定義一個(gè)單調(diào)變換函數(shù),使得它們具有相同的累積分布函數(shù)。假設(shè)源圖像和目標(biāo)圖像的經(jīng)驗(yàn)累積分布函數(shù)分別為csrc[i],ctgt[i],i=0,…,n,那么,灰度變換函數(shù)t[i]定義為:
t[i]=argminj|ctgt[j]-csrc[i]|,i,j=0,…,n
其中,n是累積分布函數(shù)中柱(bin)的數(shù)目。n可以設(shè)置為紅外圖像的灰階數(shù)目,也可以設(shè)置一個(gè)比較小的值,例如256,來降低運(yùn)算量。
確定灰度變換函數(shù)后,根據(jù)所確定的灰度變換函數(shù)分別對(duì)相應(yīng)的源圖像進(jìn)行灰度變換,得到經(jīng)灰度變換后的各個(gè)源圖像。
三、接下來介紹紅外圖像的匹配與對(duì)齊。
在灰度變換之后,本專利使用稠密匹配技術(shù)將源圖像和目標(biāo)圖像對(duì)齊。本實(shí)施例采用圖像塊匹配(patchmatch)稠密匹配技術(shù)。本發(fā)明不局限于采用patchmatch,還可以采用其他的稠密匹配技術(shù)例如deepmatching。patchmatch是一種迭代的隨機(jī)化算法,它建立在局部搜索、以及匹配傳播的基礎(chǔ)上。其核心思想是:一幅圖像上相近的點(diǎn),它們?cè)诹硪环鶊D像上的正確匹配通常也比較接近。在每次迭代中,本實(shí)施例比較兩類候選的圖像塊來尋找比較好的匹配:(1)將近鄰圖像塊的匹配進(jìn)行傳播;(2)隨機(jī)挑選圖像塊,判斷是否比當(dāng)前的匹配塊好。針對(duì)本發(fā)明的具體任務(wù),本實(shí)施例進(jìn)行了如下的修改:(1)匹配傳播和隨機(jī)挑選匹配塊時(shí),限定只能在模糊區(qū)域內(nèi)尋找匹配;(2) 根據(jù)模糊的類型推算出運(yùn)動(dòng)矢量的大致方向。在隨機(jī)挑選圖像塊的時(shí)候,根據(jù)運(yùn)動(dòng)矢量的方向隨機(jī)挑選圖像塊。
在得到匹配之后,本實(shí)施例將源圖像warp到目標(biāo)圖像。warp之后的源圖像和目標(biāo)圖像是基本對(duì)齊的,例如,運(yùn)動(dòng)物體的輪廓是基本對(duì)齊的。換句話說,物體的運(yùn)動(dòng)被補(bǔ)償了,從而消除了物體運(yùn)動(dòng)。
四、將對(duì)齊之后的源圖像進(jìn)行灰度逆變換,得到原始灰度分布的圖像。
五、最后,根據(jù)前文所述的一系列變換之后得到的紅外圖像,重新計(jì)算深度。由于這時(shí)采用的紅外的圖像經(jīng)歷了圖像匹配、補(bǔ)償了物體運(yùn)動(dòng),紅外圖像中運(yùn)動(dòng)物體是基本對(duì)齊的,根據(jù)它們得到的深度圖像大大降低了運(yùn)動(dòng)模糊。
本實(shí)施例整個(gè)算法的流程如下所示:
算法1:深度圖像運(yùn)動(dòng)模糊的消除算法
在算法1中,輸入的紅外圖像分別記作i0、i90、i180、i270;minv和maxv分別是有效灰度區(qū)間的最小值和最大值;patchsize是patchmatch算法中圖像塊的尺寸。輸出的圖像是i90、i180、i270經(jīng)過對(duì)齊后的紅外圖像,以及深度圖像id。
圖7a~圖7c給出了應(yīng)用本發(fā)明技術(shù)方案的一個(gè)實(shí)驗(yàn)結(jié)果。其中,圖7a從左至 右依次為i0、i90、i180、i270原始紅外圖像,圖7b為檢測(cè)出的運(yùn)動(dòng)模糊區(qū)域,圖7c為經(jīng)過圖像對(duì)齊之后的紅外圖像,從左至右依次為i0,i’90,i’180,i’270。圖8為本申請(qǐng)一實(shí)施例中運(yùn)動(dòng)模糊消除的效果圖,左側(cè)為原始的深度圖像,右側(cè)為經(jīng)過運(yùn)動(dòng)模糊消除之后的深度圖像。
對(duì)應(yīng)于上述方法,本申請(qǐng)公開了一種tof三維傳感器的運(yùn)動(dòng)模糊消除設(shè)備,其組成結(jié)構(gòu)如圖9所示,該設(shè)備包括:運(yùn)動(dòng)模糊檢測(cè)模塊、灰度變換模塊、對(duì)齊模塊、灰度逆變換模塊和深度計(jì)算模塊,其中:
所述運(yùn)動(dòng)模糊檢測(cè)模塊,用于根據(jù)各圖像檢測(cè)運(yùn)動(dòng)模糊區(qū)域;
所述灰度變換模塊,用于針對(duì)檢測(cè)的運(yùn)動(dòng)模糊區(qū)域,計(jì)算各圖像的灰度直方圖,根據(jù)灰度直方圖分別對(duì)各圖像進(jìn)行灰度變換;
所述對(duì)齊模塊,用于將經(jīng)過灰度變換后的各圖像進(jìn)行對(duì)齊;
所述灰度逆變換模塊,用于將對(duì)齊之后的各圖像分別進(jìn)行灰度逆變換;
所述深度計(jì)算模塊,用于根據(jù)灰度逆變換后的圖像計(jì)算深度圖像。
以上所述僅為本申請(qǐng)的較佳實(shí)施例而已,并不用以限制本申請(qǐng),凡在本申請(qǐng)的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)保護(hù)的范圍之內(nèi)。