高林中
(山西煤炭職業(yè)技術(shù)學(xué)院,山西 太原 030031)
隨著數(shù)碼相機(jī)普遍進(jìn)入千萬級(jí)有效像素的行列,為提高自動(dòng)對(duì)焦速度,大多數(shù)相機(jī)都采用了多個(gè)對(duì)焦窗口的自動(dòng)對(duì)焦技術(shù)。對(duì)焦窗口選擇是數(shù)碼相機(jī)進(jìn)行自動(dòng)對(duì)焦的關(guān)鍵技術(shù)之一。對(duì)于自動(dòng)選擇對(duì)焦窗口,目前產(chǎn)品中有利用模式識(shí)別的方法選擇對(duì)焦窗口的[1],也有利用拍攝者眼睛瞳孔信息選擇對(duì)焦窗口的[2]。受各種方法的局限性影響,很難找到一種能夠普遍適用的對(duì)焦窗口選擇方法。為此,大多相機(jī)采用了多種對(duì)焦窗口選擇方法。而采用近距離物體優(yōu)先的自動(dòng)對(duì)焦窗口選擇,不失為一種既簡單又有效的選擇策略。
利用模式識(shí)別的方法選擇對(duì)焦窗口也叫人臉優(yōu)先對(duì)焦模式,先利用人類皮膚顏色分布的特點(diǎn)來探測圖像中的皮膚區(qū)域,然后用形態(tài)學(xué)操作來去除皮膚區(qū)域中的眼睛、鼻孔、嘴巴等非皮膚碎片,最后以所得的皮膚區(qū)域作為對(duì)焦窗口應(yīng)用對(duì)焦評(píng)價(jià)函數(shù)[1]。利用拍攝者眼睛瞳孔信息選擇對(duì)焦窗口,叫做眼控對(duì)焦模式,是對(duì)現(xiàn)有照相機(jī)的取景目鏡結(jié)構(gòu)稍加改進(jìn),利用相機(jī)的圖像傳感器獲取拍攝者眼睛的圖像,再通過對(duì)該圖像進(jìn)行處理來判斷其瞳孔在眼睛中的位置,并依此推斷拍攝者的注意力所集中的區(qū)域,從而實(shí)現(xiàn)對(duì)焦窗口的自動(dòng)選擇[2]。
以上兩種對(duì)焦窗口選擇方法,都需要較為復(fù)雜的軟件系統(tǒng)支持,利用拍攝者瞳孔信息選擇對(duì)焦窗口,還需要一定的硬件支持。而且,模式識(shí)別的方法僅適用于成像主體是人的情況。眼控對(duì)焦模式對(duì)于單一拍攝對(duì)象且拍攝者只專注于拍攝對(duì)象的場景時(shí)是相當(dāng)有效的。但是,根據(jù)人們的拍攝經(jīng)驗(yàn),按動(dòng)快門之前,拍攝者一般都要環(huán)視一下整個(gè)畫面,以便把握照片的構(gòu)圖情況,而這一習(xí)慣往往會(huì)造成這種方法選擇對(duì)焦窗口的失敗。為此,有必要采用一種簡單有效的自動(dòng)對(duì)焦窗口選擇方法。
事實(shí)上,除了框架式構(gòu)圖、透過玻璃等透明物體和細(xì)碎柵欄拍攝的照片外,在照片中心80%的區(qū)域(數(shù)碼相機(jī)的對(duì)焦窗口一般設(shè)置在此范圍)內(nèi),大多數(shù)照片的拍攝主體都處于距離鏡頭最近的位置,如人物風(fēng)景照、合影照等,與圖1相似。通過對(duì)2007年第三期《中國攝影》雜志所刊登的166張圖片進(jìn)行分析統(tǒng)計(jì),發(fā)現(xiàn)其中拍攝主體滿足上述條件的有67張,達(dá)到了40.4%。
據(jù)上所述,可以采取這樣的一種對(duì)焦窗口選擇方法,即驅(qū)動(dòng)相機(jī)鏡頭由近及遠(yuǎn)對(duì)拍攝對(duì)象對(duì)焦,獲得一系列圖像,針對(duì)每一幅圖像,對(duì)所有的對(duì)焦窗口計(jì)算對(duì)焦評(píng)價(jià)函數(shù)值,從中找到對(duì)焦評(píng)價(jià)函數(shù)達(dá)到最大值時(shí)對(duì)應(yīng)物距最小的對(duì)焦窗口,并以該對(duì)焦窗口為對(duì)焦區(qū)域在對(duì)焦評(píng)價(jià)函數(shù)最大值附近進(jìn)行較為精確的自動(dòng)對(duì)焦,便可以得到以拍攝主體為對(duì)焦對(duì)象的清晰圖像。這就是近距離物體優(yōu)先的對(duì)焦窗口自動(dòng)選擇。
圖1 適用于近距離物體優(yōu)先對(duì)焦窗口自動(dòng)選擇的場景Fig.1 The sutable scene for close-up objects AF windows priority
由于在選擇對(duì)焦窗口時(shí),要對(duì)所有的對(duì)焦窗口適用對(duì)焦評(píng)價(jià)函數(shù),對(duì)于每一幅圖像,都要計(jì)算所有的函數(shù)值,因此,計(jì)算量大。為保證對(duì)焦的實(shí)時(shí)性,可選擇計(jì)算量小、信噪比高、評(píng)價(jià)結(jié)果準(zhǔn)確可靠的圖像梯度(4鄰域微分拉普拉斯算子)加閾值求和函數(shù),作為對(duì)焦評(píng)價(jià)函數(shù)[3]。計(jì)算如下:
對(duì)于圖像序列的第k幅圖像,在對(duì)焦窗口J內(nèi),采用隔行掃描、間隔選取像素的方法,對(duì)每個(gè)像素在3×3鄰域內(nèi)計(jì)算拉普拉斯算子:
式(1)中,x,y=2n+1,n=0,1,2,……。
設(shè)定小閾值M和大閾值N,對(duì)于上面函數(shù)作如下處理:
小閾值M和大閾值N的大小,可根據(jù)理想對(duì)焦評(píng)價(jià)函數(shù)曲線的要求,通過運(yùn)用MatLab,對(duì)于不同場景、不同對(duì)焦距離的系列照片進(jìn)行對(duì)焦評(píng)價(jià)函數(shù)曲線的仿真來確定。
當(dāng)選定對(duì)焦窗口后,可選擇一種對(duì)焦精度高、無偏性好的函數(shù)取代4鄰域微分拉普拉斯算子,以提高對(duì)焦精度,如可選取基于Kirsch邊緣檢測算子[4]:
基于Kirsch邊緣檢測算子共有8個(gè)卷積核(見表1,表中每個(gè)卷積核的行列對(duì)應(yīng)圖像像素的行序和列序,表格中的數(shù)值為相應(yīng)像素值在卷積核中的權(quán)重),對(duì)于圖像中的每個(gè)像素都用這8個(gè)掩模進(jìn)行卷積,每個(gè)掩模都對(duì)某個(gè)特定邊緣方向作出最大響應(yīng)。所有8個(gè)方向的最大值作為該點(diǎn)的輸出值f(x,y)。
表1 Kirsch邊緣檢測算子Tab.1 Kirsch edge detection operator
經(jīng)MatLab仿真實(shí)驗(yàn)可以得到,當(dāng)選擇4鄰域微分拉普拉斯算子作為對(duì)焦評(píng)價(jià)函數(shù)時(shí),M=0.04,N=0.17;當(dāng)選擇Kirsch邊緣檢測算子作為對(duì)焦評(píng)價(jià)函數(shù)時(shí),M=0.14,N=7。
對(duì)焦搜索算法采用改進(jìn)的爬山算法[5]。搜索過程分為兩大步,先搜索確定對(duì)焦窗口,再在確定的對(duì)焦窗口內(nèi)進(jìn)行對(duì)焦,直到得到最高精度的搜索值。其基本流程框圖如圖2所示。
以圖1為例,采用近距離物體優(yōu)先的對(duì)焦窗口自動(dòng)選擇的方法,實(shí)現(xiàn)自動(dòng)對(duì)焦的基本過程有三步:(1)當(dāng)完成取景并啟動(dòng)自動(dòng)對(duì)焦程序后,數(shù)碼相機(jī)使用較大步長,由近及遠(yuǎn)驅(qū)動(dòng)并改變鏡頭的對(duì)焦距離,得到不同對(duì)焦距離的一系列圖像,對(duì)于取景范圍內(nèi)的所有對(duì)焦窗口,分別計(jì)算出每一幅圖像所對(duì)應(yīng)的梯度閾值評(píng)價(jià)函數(shù)值,從而得到最先找到函數(shù)最大值的對(duì)焦窗口,如圖1中汽艇或水面波浪所對(duì)應(yīng)的窗口,該窗口即是離數(shù)碼相機(jī)最近物體所對(duì)應(yīng)的對(duì)焦窗口;(2)針對(duì)這一對(duì)焦窗口,在梯度閾值函數(shù)值最大值所對(duì)應(yīng)的對(duì)焦距離附近的一定范圍內(nèi),使用較小步長,驅(qū)動(dòng)并改變鏡頭的對(duì)焦距離,得到不同對(duì)焦距離的一系列圖像,計(jì)算出每一幅圖像在選定對(duì)焦窗口范圍內(nèi)的基于Kirsch邊緣檢測算子的閾值函數(shù)值,從而得到該函數(shù)的最大值;(3)將鏡頭驅(qū)動(dòng)到基于Kirsch邊緣檢測算子的閾值函數(shù)最大值對(duì)應(yīng)的對(duì)焦距離,啟動(dòng)快門拍攝,即可得到拍攝對(duì)象最清晰的圖象,如圖1所示。
圖2 對(duì)焦搜索算法基本流程圖Fig.2 Basic flow chart of focus search algorithm
拍攝實(shí)踐中,往往存在這樣的一種情況:在整幅畫面中,由于各拍攝對(duì)象的影響,故不適用近距離物體優(yōu)先的對(duì)焦窗口選擇。但在拍攝主體的附近區(qū)域內(nèi),則可適用這種窗口選擇策略,如圖3所示情形。為實(shí)現(xiàn)這種情況下對(duì)焦窗口的自動(dòng)選擇,對(duì)于對(duì)焦窗口數(shù)目較多的數(shù)碼相機(jī),可以根據(jù)對(duì)焦窗口的空間位置,對(duì)對(duì)焦窗口進(jìn)行分組,先手動(dòng)選擇拍攝主體所處位置的對(duì)焦窗口組,然后再在該對(duì)焦窗口組中選用近距離物體優(yōu)先的對(duì)焦窗口選擇策略,以自動(dòng)選擇對(duì)焦窗口,實(shí)現(xiàn)自動(dòng)對(duì)焦。這樣,就會(huì)擴(kuò)大該對(duì)焦窗口選擇策略的適用范圍。假設(shè)某數(shù)碼相機(jī)設(shè)有19個(gè)對(duì)焦窗口,如圖4(a)所示,可將這些窗口依空間位置分為五組。對(duì)于圖3的情形,可手動(dòng)選擇一組對(duì)焦窗口作為區(qū)域[如圖4(b)所示白線框內(nèi)的五個(gè)對(duì)焦窗口],適用近距離物體優(yōu)先的對(duì)焦窗口選擇策略。
圖3 整幅畫面不適用、但在圖中圓圈內(nèi)則適用近距離物體優(yōu)先對(duì)焦窗口選擇策略的情形Fig.3 The scene of the whole picture is not applicable,but it is applicable within a circle
圖4 近距離物體優(yōu)先的對(duì)焦窗口選擇的應(yīng)用擴(kuò)展Fig.4 The extended application of close-up objects AF windows Priority
近距離物體優(yōu)先的對(duì)焦窗口選擇不需要特殊硬件支持,計(jì)算量小,實(shí)時(shí)性好,適用性強(qiáng),可作為數(shù)碼相機(jī)的一種對(duì)焦窗口自動(dòng)選擇策略。當(dāng)然,該策略只適用于在數(shù)碼相機(jī)設(shè)置(或選定)的所有對(duì)焦窗口對(duì)應(yīng)的取景區(qū)域內(nèi),離拍攝者距離最近物體是拍攝對(duì)象,并且拍攝對(duì)象具有一定圖象細(xì)節(jié)的情況。如果拍攝對(duì)象前有其他物體,該策略是不適用的。
[1]田宜彬,徐之海,馮華君,等.基于皮膚探測的自動(dòng)對(duì)焦[J].光子學(xué)報(bào),2003,32(1):56-61.
[2]田宜彬,徐之海,馮華君,等.用于數(shù)碼相機(jī)的瞳孔控制自動(dòng)對(duì)焦技術(shù)[J].光學(xué)技術(shù),2003,29(1):53-55.
[3]朱孔鳳,姜 威,王端芳,等.一種新的圖像清晰度評(píng)價(jià)函數(shù)[J].紅外與激光工程,2005,34(4):464-468.
[4]楊再華,李玉和,李慶祥,等.基于邊緣特征提取的圖像清晰度評(píng)價(jià)函數(shù)[J].計(jì)算機(jī)工程與應(yīng)用,2005,41(10):35-36,161.
[5]朱明峰,王命延.基于彩色離焦模糊圖像清晰度評(píng)價(jià)的啟發(fā)式調(diào)焦算法[J].南昌大學(xué)學(xué)報(bào)(理科版),2004,28(3):297-300.