姜繼興,錢 慧
(福州大學(xué) 物理與信息工程學(xué)院,福建 福州 350116)
隨著信息技術(shù)的進(jìn)步,相機(jī)和其他成像設(shè)備的使用出現(xiàn)了爆炸式增長,越來越多的成像模塊被集成到手機(jī)、電腦和其他物聯(lián)網(wǎng)設(shè)備中。隨著相機(jī)的使用和集成的增加,同時(shí)結(jié)合神經(jīng)網(wǎng)絡(luò)的發(fā)展,它們在我們生活中的作用也發(fā)生了顯著的變化。大多數(shù)相機(jī)不再僅僅用于拍照,而是作為傳感器,為生物識別、目標(biāo)分類檢測、安防監(jiān)控等應(yīng)用提供數(shù)據(jù)支持[1-3]。
雖然現(xiàn)代相機(jī)模塊的厚度可以達(dá)到約5 mm,且成本低廉。但許多物聯(lián)網(wǎng)(Internet of Thing, IoT)新興應(yīng)用對體積、重量和成本都有著十分嚴(yán)格的限制,這是當(dāng)今基于鏡頭成像系統(tǒng)所無法滿足的。近些年來,隨著人們對新型成像技術(shù)的要求和計(jì)算成像技術(shù)的興起,無鏡頭成像取得了顯著進(jìn)展[4-6]。通過使用特定光學(xué)器件代替?zhèn)鹘y(tǒng)透鏡可以將相機(jī)的重量和體積減少一個(gè)數(shù)量級,同時(shí)成本也更低廉,比如FlatCam 無鏡頭相機(jī)的厚度僅有0.5 mm[7],可以更好適配于物聯(lián)網(wǎng)應(yīng)用對成像設(shè)備的要求。本文分析了編碼掩膜無鏡頭成像的基本原理,并介紹了基于Tikhonov 正則化的重構(gòu)方法。同時(shí),聯(lián)合卷積神經(jīng)網(wǎng)絡(luò),提出了基于無鏡頭成像的目標(biāo)檢測分類方法。
編碼掩膜無鏡頭成像技術(shù)早期在高能天文學(xué)中被廣泛研究,主要應(yīng)用于非可見光波長的成像[8-9]。其主要思想是使用一個(gè)包含多個(gè)子孔徑的輕型光學(xué)器件來代替?zhèn)鹘y(tǒng)相機(jī)中的透鏡,實(shí)現(xiàn)對空間中光線的調(diào)制。該光學(xué)器件上子孔徑的位置可以被編碼,因此也被稱為編碼掩膜。根據(jù)對光線調(diào)制作用的不同,編碼掩膜可以分為振幅調(diào)制器和相位調(diào)制器,本節(jié)主要研究振幅調(diào)制的編碼掩膜無鏡頭成像方法。
編碼掩膜無鏡頭成像的成像系統(tǒng)主要由數(shù)據(jù)捕獲和計(jì)算成像兩部分組成,其結(jié)構(gòu)如圖1 所示。來自場景的光線通過編碼掩膜調(diào)制后,被圖像傳感器捕獲。與傳統(tǒng)相機(jī)不同的是,無鏡頭成像系統(tǒng)中傳感器的測量值并不是場景點(diǎn)強(qiáng)度的直接測量,而是多個(gè)光源通過編碼掩膜投影后的疊加。因此,需要在計(jì)算成像部分使用相應(yīng)的重構(gòu)算法,對傳感器測量值進(jìn)行解碼操作,從而實(shí)現(xiàn)原始場景的重構(gòu)。
圖1 編碼掩膜無鏡頭成像示意圖
考慮使用圖2 所示的幾何模型來表示編碼掩膜系統(tǒng)中傳感器測量值與場景中光源的相互作用。為了方便解釋,以一維情況為例,設(shè)定場景為一維光源陣列,傳感器也為一維平面。假設(shè)掩膜是無限薄的元件,其折射效應(yīng)可以忽略。一維場景、傳感器與掩膜彼此平行。在這種情況下,光從光源到傳感器元件的路徑是一條直線。
圖2 編碼掩膜無鏡頭成像幾何光路圖
設(shè)傳感器與掩膜之間的距離為d,場景平面與傳感器之間的垂直距離為D。從位置s0的點(diǎn)光源到位置u處的傳感器像素的光線,根據(jù)幾何關(guān)系計(jì)算可知,該光線與掩膜平面的交點(diǎn)位置為u+(s0-u)·d/D。使用x(s)表示位于場景位置s處的點(diǎn)光源強(qiáng)度,T(s)表示位置s處的掩膜透射率函數(shù),使得在該位置處與掩膜相交的光線會(huì)在振幅上有不同程度的衰減。忽略噪聲影響,對于位置u處的傳感器像素測量值y(u),有:
式中,積分范圍為所有能夠到達(dá)該位置傳感器像素的光線,由傳感器視場角決定。將該模型拓展到2D 模式,可得:
整體上可以將其看作一個(gè)線性變換。將傳感器測量值y和場景光源x進(jìn)行離散化并加入噪聲,可將式(2)改寫成如下形式:
式中:x∈RN×1表示實(shí)際場景強(qiáng)度;y∈RM×1表示圖像傳感器測量值;e表示噪聲。Φ∈RM×N表示系統(tǒng)傳輸矩陣,傳輸矩陣的每一行表示場景各點(diǎn)光源對應(yīng)點(diǎn)像素測量值的貢獻(xiàn)程度,傳輸矩陣的每一列表示對應(yīng)位置處點(diǎn)光源的點(diǎn)擴(kuò)散函數(shù)(Point Spread Function, PSF)。如果場景只包含單個(gè)光源,則會(huì)在傳感器上形成對應(yīng)列所表示的圖案。式(3)表明,編碼掩膜無鏡頭成像系統(tǒng)中,單個(gè)測量值不再是場景中單個(gè)光源的一對一映射,而是來自場景中所有光源的多路復(fù)用光。
如果使用可分離掩膜[10],即使用可分離的2D 圖案作為掩膜,從而產(chǎn)生傳感器測量值與實(shí)際場景強(qiáng)度之間的可分離關(guān)系。此時(shí),2D 掩膜圖案矩陣可以表示成兩個(gè)一維向量的外積。
式中:TR(i)、TL(j)分別表示左右分離一維向量。式(3)可以改寫成如下形式:
內(nèi)部積分對場景的一行進(jìn)行1D 的編碼掩膜成像,而外部積分則對場景中的一列進(jìn)行1D 的編碼掩膜成像,形成可分離的場景變換。通過將上述積分離散化并加入噪聲,就可以將方程(3)表示成可分離編碼掩膜成像模型,即:
式中:ΦL、ΦR分別表示對應(yīng)于沿場景的行和列的一維卷積矩陣,即Φ=ΦLΦR,其中, 表示克羅內(nèi)克積;X是包含場景輻射的N×N矩陣;Y是包含傳感器測量值的M×M矩陣;E表示噪聲。對于大像素場景和百萬像素傳感器而言,ΦL和ΦR分別有106個(gè)元素,而Φ會(huì)有1012個(gè)元素,可以極大減少傳輸矩陣的數(shù)據(jù)量。
對于可分離掩膜模型,場景的重構(gòu)就是公式(6)的逆過程,即從測量值Y中恢復(fù)出原始場景光強(qiáng)度分布X,這是逆線性問題的求解。對于這一求解過程,如果可以得到精確的左右變換矩陣ΦL和ΦR,則只需進(jìn)行簡單的矩陣逆問題求解即可。然而可分離掩膜模型是一種近似模型,它可能偏離真實(shí)的物理系統(tǒng)。這是因?yàn)槲锢鞵SF 并不是嚴(yán)格意義上的掩膜圖案本身。例如,由于衍射效應(yīng)和噪聲,光可能到達(dá)被完全不透明的元素阻擋的像素。因此,二維PSF 可能不完全是兩個(gè)一維PSF 的外積。此外,掩膜若未與傳感器完美對準(zhǔn),也會(huì)使得物理模型與可分離模型失配。因此,在使用可分離模型時(shí),需要提前進(jìn)行多次數(shù)據(jù)標(biāo)定與校準(zhǔn),使得得到的左右分離矩陣盡可能近似于真實(shí)模型,文獻(xiàn)[7]中提供了校準(zhǔn)過程的詳細(xì)說明。
通過校準(zhǔn)測定獲得左右變換矩陣ΦL和ΦR的近似值后,可以通過求解最小二乘問題,從測量值中實(shí)現(xiàn)對原始光強(qiáng)度分布的求解,即:
因?yàn)闇y定的左右變換矩陣不一定是良態(tài)矩陣,為保證重構(gòu)算法的可靠性,可以在式(6)中添加Tikhonov 正則化項(xiàng)來提高重構(gòu)質(zhì)量,即:
上述問題的封閉形式解[7]可以導(dǎo)出為如下形式:
式中:ΦL=ULΣLVLT和ΦR=URΣRVRT分別表示左右變換矩陣ΦL和ΦR的奇異值分解;σL和σR分別為包含ΣL2和ΣR2中對角線元素的向量;./表示按元素點(diǎn)除。將重構(gòu)算法分別應(yīng)用于彩色圖像的每個(gè)通道,就可以實(shí)現(xiàn)RGB 圖像的重建。
隨著計(jì)算機(jī)算力的飛速提升以及大數(shù)據(jù)的發(fā)展,神經(jīng)網(wǎng)絡(luò)在機(jī)器視覺領(lǐng)域展現(xiàn)出巨大的潛力。神經(jīng)網(wǎng)絡(luò)可以分為許多種類。其中,卷積神經(jīng)網(wǎng)絡(luò)是最具代表性的一類,其在目標(biāo)檢測分類、目標(biāo)識別、圖像重構(gòu)等任務(wù)中發(fā)揮了重要作用。
VGGNet[11]是牛津大學(xué)計(jì)算機(jī)視覺組提出的一種應(yīng)用于圖像分類的經(jīng)典網(wǎng)絡(luò),其主要由卷積層、池化層和全連接層構(gòu)成。根據(jù)卷積層數(shù)量的不同,還可以分為VGG16 和VGG19,本文將主要利用VGG19 對無鏡頭成像后的圖像進(jìn)行檢測分類,以驗(yàn)證基于無鏡頭成像的目標(biāo)檢測分類方法可行性,其整體流程如圖3 所示。對于網(wǎng)絡(luò)的訓(xùn)練與測試,本文所使用的數(shù)據(jù)集為經(jīng)過無鏡頭方法處理后的ImageNet 數(shù)據(jù)集[12],其包含1 000 個(gè)不同種類的圖像及相對應(yīng)無鏡頭傳感器測量值。使用公式(9)重構(gòu)的圖像尺寸為256×256×3,將其經(jīng)過裁剪之后使用224×224×3 的尺寸進(jìn)行網(wǎng)絡(luò)訓(xùn)練和測試。
圖3 基于無鏡頭成像的目標(biāo)檢測分類流程
圖4 所示為使用無鏡頭相機(jī)處理后的ImageNet 數(shù)據(jù)集進(jìn)行場景重構(gòu)的仿真實(shí)驗(yàn)結(jié)果。該數(shù)據(jù)集中的傳感器尺寸為1 920×1 200,經(jīng)處理后重構(gòu)的圖像尺寸為256×256×3??梢钥闯?,實(shí)驗(yàn)對原始場景進(jìn)行了基本還原,但重構(gòu)圖像還存在一定噪聲。同時(shí),重構(gòu)的圖像整體亮度較低,細(xì)節(jié)信息恢復(fù)較少。這是因?yàn)楸疚闹械臒o鏡頭成像模型只考慮了深度平面的情況,即假設(shè)場景中所有點(diǎn)光源深度相同,并未考慮3D 場景成像情況。同時(shí),未使用相關(guān)去噪算法對成像后的圖像進(jìn)行處理和矯正。
圖4 無鏡頭圖像重構(gòu)結(jié)果
本文使用VGG19 網(wǎng)絡(luò)進(jìn)行了基于無鏡頭成像的目標(biāo)檢測分類仿真實(shí)驗(yàn)。實(shí)驗(yàn)測試數(shù)據(jù)分為三組,分別包含100、500 和1 000 張不同類別的圖像。對比對象分別為使用原始圖像進(jìn)行測試的VGG19 預(yù)訓(xùn)練網(wǎng)絡(luò),使用無鏡頭重構(gòu)圖像進(jìn)行測試的VGG19 預(yù)訓(xùn)練網(wǎng)絡(luò)以及使用無鏡頭重構(gòu)圖像進(jìn)行測試的VGG19 再訓(xùn)練網(wǎng)絡(luò)。只考慮網(wǎng)絡(luò)的Top1 準(zhǔn)確率,實(shí)驗(yàn)結(jié)果見表1 所列。可以看出,對于未經(jīng)重新訓(xùn)練的VGG19 網(wǎng)絡(luò)使用無鏡頭重構(gòu)圖像的分類準(zhǔn)確率較低,這是因?yàn)闊o鏡頭重構(gòu)圖像丟失了較多細(xì)節(jié)信息,使得預(yù)訓(xùn)練網(wǎng)絡(luò)的卷積層未能提取到有用的細(xì)節(jié)信息,導(dǎo)致分類失敗。而使用無鏡頭重構(gòu)圖像進(jìn)行重新訓(xùn)練后的網(wǎng)絡(luò),在分類準(zhǔn)確率上已經(jīng)接近VGG19 對正常圖像進(jìn)行分類的準(zhǔn)確率,這驗(yàn)證了基于無鏡頭成像方法進(jìn)行目標(biāo)檢測分類的可行性。
表1 目標(biāo)檢測分類Top1 準(zhǔn)確率
本文介紹了一種基于無鏡頭成像的目標(biāo)檢測分類方法,通過分析無鏡頭成像的基本原理,實(shí)現(xiàn)了基于Tikhonov 正則化的圖像重構(gòu)。同時(shí),將無鏡頭成像與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)進(jìn)行聯(lián)合,實(shí)現(xiàn)了基于無鏡頭成像的目標(biāo)檢測分類。通過使用VGG19 網(wǎng)絡(luò)進(jìn)行實(shí)驗(yàn)測試,發(fā)現(xiàn)其分類準(zhǔn)確率接近原始預(yù)訓(xùn)練網(wǎng)絡(luò)的準(zhǔn)確率,證明使用無鏡頭成像數(shù)據(jù)進(jìn)行目標(biāo)檢測分類是可行的。