本發(fā)明涉及高速成像
技術(shù)領(lǐng)域:
,特指一種高速相機壓縮圖像快速重建方法。
背景技術(shù):
:在空氣動力學(xué)、流體力學(xué)、爆炸力學(xué)等諸多學(xué)科研究領(lǐng)域中,通常需要使用高速攝像機觀測快速變化的物理或化學(xué)現(xiàn)象。在實際應(yīng)用中,受相機數(shù)據(jù)傳輸接口帶寬限制,高速相機拍攝的海量圖像數(shù)據(jù)只能存儲于相機內(nèi)存中。高速相機在極短時間內(nèi)產(chǎn)生海量圖像數(shù)據(jù),通常高達10GB,而高速相機內(nèi)存容量有限,難以實現(xiàn)大容量圖像數(shù)據(jù)存儲,從而導(dǎo)致無法長時間拍攝高分辨率視頻。目前,在實際應(yīng)用中,通常采取循環(huán)錄制方式進行拍攝,這種拍攝方式會覆蓋已拍攝圖像,而產(chǎn)生信息丟失問題。為實現(xiàn)高速相機長時間拍攝,高速相機廠商提供了“thin-out”拍攝模式,通過降低成像分辨率或幀率,以減小相同拍攝時間內(nèi)圖像數(shù)據(jù)、增加錄像時間。但是,這種以犧牲成像分辨率或幀率,來延長拍攝時間的“thin-out”模式,帶來的直接后果是:當分辨率過低時,不能滿足定量或定性分析需求;當幀率過低時,無法完整地捕捉快速變化對象。因此,從延長高速相機拍攝時長角度,非常有必要對高速相機拍攝圖像進行壓縮后,再存儲或傳輸。圖像數(shù)據(jù)是高度冗余的,這決定了其具有可壓縮性。通過圖像壓縮,可以在保證一定信息量前提下,大大降低圖像數(shù)據(jù)量,有利于圖像存儲和傳輸。現(xiàn)有的圖像壓縮方法,多采用JPEG、MPEG、H.264、H.265等壓縮算法或標準,這些算法或標準的優(yōu)點是能夠極大降低圖像數(shù)據(jù)量,缺點是算法復(fù)雜非常高,即便采用專用硬件也只能實現(xiàn)低幀率視頻(1920*1080,120fps)壓縮,難以應(yīng)用于幀率為1000fps以上的高速相機中。近期,申請?zhí)枮?01510717618.4的發(fā)明專利《一種延長高速相機拍攝時長的方法》提出了一種可在FPGA上進行高速相機圖像實時壓縮以延長高速相機拍攝時長的方法。該方法為解決高速相機圖像壓縮提供了一條新思路。其基本方法是:如圖1所示,在攝像機端進行圖像壓縮(a)、在計算機端進行圖像重建(b)。具體步驟如下:1)在攝像機端,設(shè)置1個標記矩陣F,如圖2所示,標記矩陣F大小為w*h,元素取值為0或1,w是采集圖像寬度、h是采集圖像高度;根據(jù)標記矩陣F中元素取值,對輸入圖像Io進行壓縮:當F(u,v)=0時,不采集像素p(u,v,q),當F(u,v)=1時,采集像素p(u,v,q),得到壓縮圖像Ic,下標c表示Ic為壓縮圖像,(u,v)是標記矩陣坐標,也是圖像像素坐標;如圖1所示,Io上畫“X”的像素被丟棄、不采集,未畫“X”的像素被采集,Io中的下標o表示Io為輸入圖像;2)在計算機端,創(chuàng)建大小為w*h的空白圖像I,根據(jù)標記矩陣F,構(gòu)建圖3所示查找表L;根據(jù)查找表L將壓縮圖像Ic中像素填充到空白圖像I對應(yīng)像素位置,得到重排序圖像Is,下標s表示Is為重排序圖像;在重排序圖像Is中,已填充的像素來源于壓縮圖像Ic,未填充的像素是需要估計其像素值的;通過開關(guān)中值濾波估計未填充像素的像素值,完成壓縮圖像重建,得到重建圖像Ir?!兑环N延長高速相機拍攝時長的方法》專利中的仿真試驗證明了上述方法的有效性,但是,該專利的圖像重建算法,在圖像重建質(zhì)量、速度方面,還需進一步提升。特別是,當壓縮率較高時,比如等于99%時,該專利的圖像重建算法需要選擇較大的圖像濾波窗口,才能保證所有未采集像素被恢復(fù)出來。然而,較大尺寸濾波窗口,不但引起圖像模糊問題、導(dǎo)致重建圖像質(zhì)量下降,而且明顯增加圖像重建時間。為提升高速相機壓縮圖像重建質(zhì)量和效率,本發(fā)明公開一種高速相機壓縮圖像快速重建方法。仿真試驗結(jié)果表明:本發(fā)明方法,在壓縮圖像重建質(zhì)量和速度兩個方面,均明顯優(yōu)于《一種延長高速相機拍攝時長的方法》專利中方法。技術(shù)實現(xiàn)要素:本發(fā)明的目的是提供一種高速相機壓縮圖像快速重建方法,用于提升高速相機壓縮圖像重建質(zhì)量、速度。為達到上述目的,本發(fā)明采用的技術(shù)方案是:首先,根據(jù)高速相機圖像壓縮標記矩陣,將已知像素填充到對應(yīng)像素位置;然后,進行迭代循環(huán),以未填充像素位置鄰域內(nèi)已知像素的最大值填充未填充像素位置,以未填充像素位置鄰域內(nèi)已知像素的最小值填充未填充像素位置,直到所有未填充像素被填充為止;最后,根據(jù)高速相機圖像壓縮標記矩陣,以未知像素鄰域內(nèi)所有像素的均值作為未知像素估計值,得到高速相機壓縮圖像重建圖像,具體操作步驟如下:第一步:根據(jù)高速相機圖像壓縮標記矩陣F,對壓縮圖像Ic進行像素重排序,得到重排序圖像Is;第1.1步:根據(jù)相機拍攝圖像寬度w、高度h、像素深度b,w、h的單位為像素,取值范圍為(0~10000000),b的單位為bits,取值范圍為(1~100),生成一幅寬度為w、高度為h、像素深度為b的空白圖像I,I中任意像素可表示為p(u,v,q),u、v分別為像素在圖像中的行坐標、列坐標,q為像素值,q的取值范圍為(0~2b-1);第1.2步:從圖像壓縮標記矩陣F左上角開始,按“Z”字型掃描,當F(u,v)=1時,在查找表L中記錄F(u,v)的行坐標u、列坐標v,得到大小為2*K的查找表L,K為圖像壓縮過程中保留的像素數(shù)量,K的取值范圍為(0~w*h);第1.3步,根據(jù)查找表L中第i個元素的取值(u,v),以壓縮圖像Ic中第i個像素的像素值q,填充空白圖像I中(u,v)位置處像素,依次遍歷整個查找表L和壓縮圖像Ic,得到重排序圖像Is;第二步:將重排序圖像Is中像素劃分為已知像素集T、未知像素集E:遍歷重排序圖像Is中像素p(u,v,q),當F(u,v)=1時,標記為已知像素t;當F(u,v)=0時,標記為未知像素e;K個已知像素t構(gòu)成已知像素集T={t1,...,tk},w*h-K個未知像素e構(gòu)成未知像素集E={e1,...},其中*是乘法操作;第三步:使用已知像素集T快速估計未知像素E的取值,進行壓縮圖像重建,得到重建圖像Ir,下標r表示Ir是重建圖像,使用已知像素集T快速估計未知像素E取值的方法是:定義未填充的未知像素e為e'、已填充的未知像素為e'';定義操作為:遍歷所有未填充的未知像素e',利用未填充的未知像素e'的鄰域N內(nèi)所有已知像素t和所有已填充的未知像素e''構(gòu)成像素集J,取像素集J的最大值qx填充e',下標x表示qx是最大值;定義操作b為:遍歷所有未填充的未知像素e',利用未填充的未知像素e'的鄰域N內(nèi)所有已知像素t和所有已填充的未知像素e''構(gòu)成像素集J,取像素集J的最小值qy填充e',下標y表示qy是最小值;執(zhí)行操作a和操作b共n次,n取值范圍為(1~100),當重排序圖像Is中不存在未填充的未知像素e'時,根據(jù)圖像壓縮標記矩陣F,遍歷所有未知像素E,取未知像素e的鄰域N內(nèi)像素的均值qm作為未知像素e的估計值,下標m表示qm是均值,完成壓縮圖像重建,得到重建圖像Ir;具體實現(xiàn)如下:第3.1步:構(gòu)建填充標記矩陣F',令F'=F,F(xiàn)'中元素取值為0或1;當F'(u,v)=0時,表示p(u,v,q)為未填充的未知像素e';當F'(u,v)=1時,表示p(u,v,q)是已知像素t或已填充的未知像素e'';第3.2步:計算F'中所有元素和S=sum(F'),sum是求和操作,當S=w*h時,轉(zhuǎn)入第3.3步,當S<w*h時,執(zhí)行如下操作:第3.2.1步:遍歷填充標記矩陣F',當F'(u,v)=0時,取重排序圖像Is中像素p(u,v,q)的鄰域N內(nèi)、對應(yīng)標記F'(u',v')=1的所有像素p'(u',v',q')構(gòu)成像素集J,計算像素集J的最大值qx,用最大值qx代替像素p(u,v,q),即:q=qx,并使F'(u,v)=1;第3.2.2步:遍歷填充標記矩陣F',當F'(u,v)=0時,取重排序圖像中像素p(u,v,q)的鄰域N內(nèi)、對應(yīng)標記F'(u',v')=1的所有像素p'(u',v',q')構(gòu)成像素集J,計算像素集J的最小值qy,用最小值qy填充當前像素p(u,v,q),即:q=qy,并使F'(u,v)=1;第3.2.3步:返回第3.2步;第3.3步:遍歷壓縮圖像標記矩陣F,當F(u,v)=0時,取重排序圖像Is中像素p(u,v,q)鄰域N內(nèi)像素的均值qm代替像素p(u,v,q)的像素值q,即:q=qm;當F(u,v)=1時,不處理;得到壓縮重建圖像Ir;其中,第3.2.1步和第3.2.2步的執(zhí)行順序可交換,(u',v')是鄰域N內(nèi)像素的位置坐標,第3.3步中的均值qm可由鄰域N內(nèi)包括像素p(u,v,q)在內(nèi)的所有像素計算,也可由鄰域N內(nèi)、除像素p(u,v,q)之外的所有像素計算;鄰域N可選擇4連通、8連通鄰域,鄰域N尺寸為b*g,b、g的取值范圍為:(1~100);為提升重建速度,鄰域尺寸優(yōu)先為3*3個像素,其中*表示乘法操作。本發(fā)明的有益效果是:(1)提升了高速相機壓縮圖像重建質(zhì)量:圖像具有局部平滑特性,在《一種延長高速相機拍攝時長的方法》專利中,圖像重建方法采用開關(guān)中值濾波估計未知像素的像素值,這里的未知像素也就是重排序圖像中未填充的像素。開關(guān)中值濾波是一種非線性估計方法,難以有效保證圖像局部平滑性。特別地,當壓縮率較高、已知像素較少時,中值濾波估計結(jié)果容易使圖像內(nèi)容產(chǎn)生突變。本發(fā)明方法,是通過鄰域內(nèi)已知像素的最大值、最小值來限定未知像素的取值范圍,再以最大值、最小值和已知像素的均值作為估計值,該估計值又可近似為鄰域內(nèi)已知像素取值的中位數(shù)與已知像素均值的平均。鄰域內(nèi)已知像素取值的中位數(shù)與已知像素均值的平均,相比鄰域內(nèi)已知像素的中值更接近于未知像素的真值,且與鄰近像素保持良好相似性,可有效避免圖像內(nèi)容產(chǎn)生較大突變,保持圖像局部平滑特性。從圖5的重建效果、圖6~圖9的定量分析對比結(jié)果,也可以看出本發(fā)明重建方法優(yōu)于《一種延長高速相機拍攝時長的方法》。(2)提升了高速相機壓縮圖像重建速度:在《一種延長高速相機拍攝時長的方法》專利中,采用開關(guān)中值濾波方法用于圖像重建,當圖像壓縮率較高時,需要采用較大鄰域尺寸,比如15*15像素,較大鄰域尺寸,所需處理的數(shù)據(jù)量大,處理速度慢,并且還會引起圖像模糊問題,如圖5中3、4、5所示,產(chǎn)生了明顯的圖像模糊現(xiàn)象。本發(fā)明,采用3*3像素鄰域尺寸,通過多次迭代完成所有未知像素填充。3*3像素鄰域尺寸,所需處理的數(shù)據(jù)量小、速度快。實驗表明:在壓縮率為99%時,相比《一種延長高速相機拍攝時長的方法》專利,本發(fā)明方法處理速度可提升2.3倍。附圖說明圖1是高速壓縮圖像壓縮及重建處理流程.圖中,Io是輸入圖像,方格中數(shù)值為圖像像素值,Ic是壓縮圖像,F(xiàn)是圖像壓縮標記矩陣,Is是重排序圖像,L是重排序用查找表,Ir是重建圖像,Io圖像上畫“X”的像素被丟棄、不被采集,未畫“X”的像素被采集。圖2是標記矩陣F示意圖。圖中,方格表示矩陣F中元素,取值為1表示在圖像壓縮過程中當前位置像素被保留;取值為0表示在圖像壓縮過程中當前位置像素被丟棄,“……”是省略符。圖3是查找表L示意圖。圖中,第一行為F中取值為1的元素的行坐標,第二行為F中取值為1的元素的列坐標,“……”是省略符。圖4是劃分已知像素、未知像素示意圖。圖中,t為已知像素,e為未知像素。圖5是壓縮圖像重建效果對比。圖中,1是Lena原始圖像,2是《一種延長高速相機拍攝時長的方法》在壓縮率為60%時重建效果,3是《一種延長高速相機拍攝時長的方法》在壓縮率為90%時重建效果,4是《一種延長高速相機拍攝時長的方法》在壓縮率為95%時重建效果,5是《一種延長高速相機拍攝時長的方法》在壓縮率為99%時重建效果,6是本發(fā)明方法在壓縮率為60%時重建效果,7是本發(fā)明方法在壓縮率為90%時重建效果,8是本發(fā)明方法在壓縮率為95%時重建效果,9是本發(fā)明方法在壓縮率為99%時重建效果。圖6是壓縮率10%~90%時PSNR對比結(jié)果。圖中,縱軸為PSNR,橫軸為壓縮率,線條A為《一種延長高速相機拍攝時長的方法》重建結(jié)果,線條B是本發(fā)明方法重建結(jié)果。圖7是壓縮率10%~90%時SSIM對比結(jié)果。圖中,縱軸為SSIM,橫軸為壓縮率,線條A為《一種延長高速相機拍攝時長的方法》重建結(jié)果,線條B是本發(fā)明方法重建結(jié)果。圖8是壓縮率91%~99%時PSNR對比結(jié)果。圖中,縱軸為PSNR,橫軸為壓縮率,線條A為《一種延長高速相機拍攝時長的方法》重建結(jié)果,線條B是本發(fā)明方法重建結(jié)果。圖9是壓縮率91%~99%時SSIM對比結(jié)果。圖中,縱軸為SSIM,橫軸為壓縮率,線條A為《一種延長高速相機拍攝時長的方法》重建結(jié)果,線條B是本發(fā)明方法重建結(jié)果。具體實施方式下面結(jié)合附圖和實施例對本發(fā)明作進一步說明。實施例1對1024*1024像素,像素深度為8bits的壓縮圖像Ic進行重建處理,壓縮率為90%,壓縮標記矩陣F大小為1024*1024,其中104858個元素取值為1。第一步:根據(jù)高速相機圖像壓縮標記矩陣F,對壓縮圖像進行像素重排序,得到重排序圖像:第1.1步:生成一幅1024*1024像素的空白圖像I,像素深度為8bits;第1.2步:從左上角開始,對壓縮標記矩陣F,按“Z”字型掃描,當F(u,v)=1時,在查找表L中記錄F(u,v)的行坐標u、列坐標v,得到大小為2*104858的查找表L;第1.3步,根據(jù)查找表L,把壓縮圖像中像素寫入空白圖像I對應(yīng)位置,得到重排序圖像Is;第二步:將重排序圖像中像素劃分為已知像素集T、未知像素集E:根據(jù)壓縮標記矩陣F,將重排序圖像中,像素p(u,v,q)的標記F(u,v)=1的像素標記為已知像素t,104858個已知像素構(gòu)成已知像素集T,像素p(u,v,q)的標記F(u,v)=0的像素標記為未知像素e,943718個未知像素構(gòu)成未知像素集E;第三步:使用已知像素集T快速估計未知像素E的取值,進行壓縮圖像重建,得到重建圖像Ir,像素鄰域N取3*3像素8連通鄰域;第3.1步:構(gòu)建填充標記矩陣F',令F'=F;第3.2步:計算F'中所有元素和S=sum(F'),當S=w*h時,轉(zhuǎn)入第3.3步,當S<w*h時,執(zhí)行如下操作:第3.2.1步:遍歷填充標記矩陣F',當F'(u,v)=0時,取重排序圖像Ir中像素p(u,v,q)的鄰域N內(nèi)、對應(yīng)標記F'(u',v')=1的所有像素p(u',v',q')構(gòu)成像素集J,計算像素集J的最大值qx,用最大值qx代替像素p(u,v,q),并使F'(u,v)=1;第3.2.2步:遍歷填充標記矩陣F',當F'(u,v)=0時,取重排序圖像中像素p(u,v,q)的鄰域N內(nèi)、對應(yīng)標記F'(u',v')=1的所有像素p(u',v',q')構(gòu)成像素集J,計算像素集J的最小值qy,用最小值qy填充當前像素p(u,v,q),并使F'(u,v)=1;第3.2.3步:返回第3.2步;第3.3步:遍歷壓縮圖像標記矩陣F,當F(u,v)=0時,取重排序圖像中像素p(u,v,q)鄰域N內(nèi)所有像素的均值qm代替像素p(u,v,q)的像素值;當F(u,v)=1時,不處理;得到壓縮重建圖像Ir。實施例2實施例1中第二步中第a步和第b步,交換順序執(zhí)行。實施例3實施例1中的均值qm由像素p(u,v,q)的鄰域N內(nèi)除像素p(u,v,q)之外的所有像素計算。實施例4選用Lena圖像進行評估測試,圖像大小為1024*1024,像素深度為8bits,按照《一種延長高速相機拍攝時長的方法》中方法對圖像進行壓縮,圖像壓縮率分別設(shè)定為:10%-90%、步長10%,91%~99%、步長為1%。采用峰值信噪比(PSNR)、圖像結(jié)構(gòu)相似性(SSIM),對壓縮圖像重建質(zhì)量進行評估。圖5給出了壓縮率為30%、90%、95%、99%時,本發(fā)明方法與《一種延長高速相機拍攝時長的方法》專利重建對比結(jié)果。在圖5中,1是Lena原始圖像,2是《一種延長高速相機拍攝時長的方法》在壓縮率為60%時重建效果,3是“一種延長高速相機拍攝時長的方法”在壓縮率為90%時重建效果,4是“一種延長高速相機拍攝時長的方法”在壓縮率為95%時重建效果,5是“一種延長高速相機拍攝時長的方法”在壓縮率為99%時重建效果,6是本發(fā)明方法在壓縮率為60%時重建效果,7是本發(fā)明方法在壓縮率為90%時重建效果,8是本發(fā)明方法在壓縮率為95%時重建效果,9是本發(fā)明方法在壓縮率為95%時重建效果。從圖5對比結(jié)果可以看出:《一種延長高速相機拍攝時長的方法》重建圖像存在明顯圖像模糊問題,比如3、4、5;而本發(fā)明方法重建效果,在圖像細節(jié)上明顯優(yōu)于《一種延長高速相機拍攝時長的方法》。圖6~圖9,給出了不同壓縮率情況下,重建結(jié)果定量分析對比結(jié)果。圖中,橫軸為壓縮率,線條A為《一種延長高速相機拍攝時長的方法》重建結(jié)果,線條B是本發(fā)明方法重建結(jié)果。圖6給出了10%-90%壓縮率情況下PSNR對比結(jié)果,縱軸為PSNR;圖7給出了10%-90%壓縮率情況下SSIM對比結(jié)果,縱軸為SSIM;圖8給出了10%-90%壓縮率情況下PSNR對比結(jié)果,縱軸為PSNR;圖9給出了91%-99%壓縮率情況下SSIM對比結(jié)果,縱軸為SSIM。從圖6~圖9的定量對比結(jié)果可以看出:本發(fā)明方法重建圖像質(zhì)量優(yōu)于《一種延長高速相機拍攝時長的方法》專利的方法。實施例5在不同壓縮率水平下,測試第三步中的迭代次數(shù)n,實驗結(jié)果如表1所示。可以看出經(jīng)過10次以內(nèi)迭代,即可完成最高99%壓縮率情況下,高速相機壓縮圖像重建。此外,由于所采用的鄰域N尺寸較小,為3*3個像素,因此,本發(fā)明算法的計算效率高。實驗結(jié)果表明,本發(fā)明方法圖像重建速度是《一種延長高速相機拍攝時長的方法》專利的2.3倍。表1不同壓縮率情況下第三步迭代次數(shù)統(tǒng)計結(jié)果壓縮率(單位:%)102030405060708090迭代次數(shù)n222223334壓縮率(單位:%)0.910.920.930.940.950.960.970.980.99迭代次數(shù)n4455678910當前第1頁1 2 3