本發(fā)明屬于計(jì)算機(jī)技術(shù)領(lǐng)域,尤其針對(duì)頭部姿態(tài)識(shí)別與裸眼3d技術(shù)在疲勞駕駛中的應(yīng)用,具體涉及一種基于姿態(tài)識(shí)別與裸眼3d技術(shù)的全景觀測(cè)方法。
技術(shù)背景
汽車作為現(xiàn)代交通最重要的載運(yùn)工具,其安全性問(wèn)題成為焦點(diǎn)。雖然各色智能化的汽車安全系統(tǒng)已經(jīng)相對(duì)性的提高了汽車行駛的安全性能,比如夜視,去霧器,全景泊車,但是現(xiàn)有的技術(shù)仍舊不能夠?qū)⑵嚨陌踩到y(tǒng)作為一個(gè)整體進(jìn)行控制,汽車的安全模式不能夠達(dá)到最大化的利用和整合,僅僅針對(duì)某一種情況采取相應(yīng)的安全措施,不能夠做到對(duì)多種行駛環(huán)境進(jìn)行處理。
為了提高汽車行駛的安全性,進(jìn)一步優(yōu)化汽車安全系統(tǒng),汽車功能的智能化應(yīng)運(yùn)發(fā)展。本發(fā)明將裸眼3d應(yīng)用于汽車周邊環(huán)境的顯示,能夠更加真實(shí)立體的反映車外路況,同時(shí)通過(guò)人臉姿態(tài)識(shí)別技術(shù),用攝像頭采集含有頭部姿態(tài)信息的圖像,并自動(dòng)在圖像中檢測(cè)和跟蹤人的姿態(tài),進(jìn)而通過(guò)人的姿態(tài)來(lái)對(duì)車外攝像頭采集進(jìn)行相應(yīng)的控制,具有便捷性,安全性的特點(diǎn)。且本發(fā)明通過(guò)增加去霧、夜視、防逆光、防強(qiáng)光等技術(shù),增強(qiáng)了系統(tǒng)自身的實(shí)用性。本發(fā)明提供了一套完整的汽車安全系統(tǒng)方案,符合時(shí)代發(fā)展的潮流,增強(qiáng)駕駛安全性,促進(jìn)汽車智能化發(fā)展。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明主要通過(guò)計(jì)算機(jī)對(duì)人臉姿態(tài)采集并且識(shí)別來(lái)控制車外球機(jī)(球形攝像機(jī))的轉(zhuǎn)動(dòng),提供一種基于姿態(tài)識(shí)別的全景觀測(cè)方法。從而將球機(jī)捕捉到的圖像經(jīng)過(guò)特殊處理后通過(guò)顯示屏反饋給駕駛員,另外還加入三個(gè)負(fù)反饋環(huán)節(jié)來(lái)讓系統(tǒng)自我調(diào)節(jié)穩(wěn)定性。
傳統(tǒng)的全景觀測(cè)系統(tǒng)是通過(guò)汽車外安裝四個(gè)固定視角的攝像頭將畫面?zhèn)魅胲噧?nèi)顯示屏上并利用圖像拼接技術(shù)將各個(gè)攝像頭捕捉到的畫面拼接而顯示。
本發(fā)明所述的創(chuàng)新點(diǎn)在于:
1.檢測(cè)車內(nèi)司機(jī)人臉的姿態(tài),經(jīng)過(guò)關(guān)鍵點(diǎn)定位后求出與正臉關(guān)鍵點(diǎn)坐標(biāo)之間的仿射矩陣,計(jì)算偏航角,并將經(jīng)過(guò)放大后的偏航角輸入給球機(jī)。
2.將球機(jī)捕捉到的畫面經(jīng)過(guò)去霧、夜視、防逆光等特殊處理后傳送給顯示屏。
3.將處理完的圖像轉(zhuǎn)化為雙目視差圖,便于利用裸眼3d顯示屏顯示。
本發(fā)明采用關(guān)鍵點(diǎn)標(biāo)記和透視變換的方法讓計(jì)算機(jī)識(shí)別人臉的偏航角和俯仰角,球機(jī)在球機(jī)根據(jù)偏轉(zhuǎn)角度調(diào)節(jié)自身轉(zhuǎn)速,以快速達(dá)到穩(wěn)定,繼續(xù)捕獲圖像。同時(shí)利用單位負(fù)反饋調(diào)節(jié)畫面的亮度和對(duì)比度,從而使得所采集的畫面能夠達(dá)到相對(duì)較為清晰,便于直接做圖像處理。并且直接利用外部轉(zhuǎn)動(dòng)狀態(tài)一致的兩個(gè)球機(jī)捕捉的雙目視差圖,而后經(jīng)過(guò)處理成為裸眼3d圖像顯示。
本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案具體包括如下步驟:
步驟1.在車輛外部安裝四個(gè)球形攝像機(jī);其中,兩個(gè)球形攝像機(jī)用于拍攝車輛前景,稱為前景球機(jī);另兩個(gè)球形攝像機(jī)用于拍攝車輛后景,稱為后景球機(jī);
步驟2.檢測(cè)車內(nèi)駕駛?cè)藛T的人臉姿態(tài),得到人臉的偏航角和俯仰角,并將其輸入給前景球機(jī)或后景球機(jī);
步驟3.前景球機(jī)或后景球機(jī)根據(jù)輸入的人臉的偏航角和俯仰角,偏轉(zhuǎn)相應(yīng)的偏航角和俯仰角后捕捉外景,并將外景圖片傳送給車輛內(nèi)部的數(shù)據(jù)處理單元;
步驟4.數(shù)據(jù)處理單元將收到的外景圖片,即雙目視差圖,處理成為裸眼3d圖像傳送給車輛內(nèi)的顯示屏。
進(jìn)一步的,步驟1所述的檢測(cè)車內(nèi)駕駛?cè)藛T的人臉姿態(tài),得到人臉的偏航角和俯仰角的方法為:
1-1.利用不偏人臉?lè)诸惼鲗?duì)車內(nèi)攝像頭拍攝的圖片進(jìn)行人臉檢測(cè),如果是正臉圖像,則開(kāi)始進(jìn)行關(guān)鍵點(diǎn)定位,得到正臉圖像的關(guān)鍵點(diǎn)集,即標(biāo)準(zhǔn)模型;
1-2.對(duì)車內(nèi)攝像頭當(dāng)前拍攝的圖片進(jìn)行人臉檢測(cè),并對(duì)檢測(cè)出的人臉進(jìn)行關(guān)鍵點(diǎn)定位,得到關(guān)鍵點(diǎn)集,即待測(cè)模型;
1-3.計(jì)算標(biāo)準(zhǔn)模型的縱向最大距離y0,計(jì)算待測(cè)模型的縱向最大距離y,得到俯仰角θ=arccos(y/y0);計(jì)算標(biāo)準(zhǔn)模型的橫向最大距離x0,計(jì)算待測(cè)模型的橫向最大距離x,得到偏航角θ′=arccos(x/x0)。
進(jìn)一步的,所述關(guān)鍵點(diǎn)定位方法為:
①對(duì)人臉圖片數(shù)據(jù)庫(kù)中的每一張圖片,根據(jù)標(biāo)注的m個(gè)關(guān)鍵點(diǎn)計(jì)算該圖片的平均臉點(diǎn)集;
②對(duì)人臉圖片數(shù)據(jù)庫(kù)中的每一張圖片,對(duì)選中圖片中標(biāo)注的所有關(guān)鍵點(diǎn),根據(jù)先后順序依次進(jìn)行遍歷,每次遍歷操作如下:以當(dāng)前關(guān)鍵點(diǎn)為中心,m個(gè)像素值為邊長(zhǎng)對(duì)當(dāng)前關(guān)鍵點(diǎn)作正方形,截取選中圖片中相應(yīng)位置作為一補(bǔ)丁圖片;
③將人臉圖片數(shù)據(jù)庫(kù)中所有圖片的同一位置關(guān)鍵點(diǎn)i對(duì)應(yīng)的補(bǔ)丁圖片取平均,得到該關(guān)鍵點(diǎn)i對(duì)應(yīng)的平均補(bǔ)丁xi;
④對(duì)步驟①獲得的平均補(bǔ)丁xi進(jìn)行灰度化,且對(duì)灰度化后的像素值進(jìn)行直方圖均衡化;其中,每一個(gè)平均臉點(diǎn)集包含的關(guān)鍵點(diǎn)為x0,x1,x2,x3,x4......xm;之后調(diào)用分類器對(duì)車內(nèi)攝像頭拍攝的圖片進(jìn)行人臉檢測(cè),計(jì)算出人臉的中心坐標(biāo),將平均臉點(diǎn)集的每一個(gè)關(guān)鍵點(diǎn)的坐標(biāo)加上檢測(cè)出的人臉的中心坐標(biāo)得到新的點(diǎn)集;
⑤在檢測(cè)出的人臉上找到該新的點(diǎn)集坐標(biāo)對(duì)應(yīng)的所有關(guān)鍵點(diǎn),根據(jù)先后順序依次進(jìn)行遍歷,每次遍歷操作如下:以當(dāng)前關(guān)鍵點(diǎn)為中心,m′個(gè)像素值為邊長(zhǎng)對(duì)當(dāng)前關(guān)鍵點(diǎn)作正方形,截取該檢測(cè)出的人臉中相應(yīng)位置xi″,其中m′>m;并且在m′×m′的區(qū)域內(nèi)創(chuàng)建滑框,依次選取該滑框內(nèi)m×m的區(qū)域與平均補(bǔ)丁xi做卷積,找出卷積結(jié)果出現(xiàn)的像素值最大的點(diǎn),并且標(biāo)上記號(hào)。
進(jìn)一步的,計(jì)算該圖片的平均臉點(diǎn)集的方法為:
①對(duì)人臉圖片數(shù)據(jù)庫(kù)中的每一張圖片,標(biāo)注多個(gè)關(guān)鍵點(diǎn)并保存每一關(guān)鍵點(diǎn)的坐標(biāo);
②將人臉圖片數(shù)據(jù)庫(kù)中所有的圖片轉(zhuǎn)化為灰度圖,并對(duì)圖片的像素值進(jìn)行直方圖均衡化;
③對(duì)人臉圖片數(shù)據(jù)庫(kù)中的每一張圖片,針對(duì)該圖片中的所有關(guān)鍵點(diǎn)坐標(biāo),分別減去該圖片的重心坐標(biāo),并歸一化后求出普氏距離;
④根據(jù)最小二乘法求出當(dāng)普氏距離最小時(shí)的旋轉(zhuǎn)參數(shù);
⑤根據(jù)旋轉(zhuǎn)參數(shù)對(duì)該圖片的各個(gè)關(guān)鍵點(diǎn)的坐標(biāo)進(jìn)行對(duì)齊,然后求出各個(gè)關(guān)鍵點(diǎn)位置的平均坐標(biāo);
⑥將得到的各平均坐標(biāo)構(gòu)成的點(diǎn)集稱作該圖片的平均臉。
進(jìn)一步的,通過(guò)對(duì)標(biāo)準(zhǔn)模型和待測(cè)模型作最小外接矩形后求外接矩形的邊長(zhǎng)得出x、x0、y和y0。
進(jìn)一步的,該數(shù)據(jù)處理單元對(duì)收到的外景圖片進(jìn)行預(yù)處理,其方法如下:
利用霧圖模型對(duì)該外景圖像i(x)進(jìn)行去霧處理,得到無(wú)霧的圖像j(x),
i(x)=j(luò)(x)t(x)+a(1-t(x))
其中,a是全球大氣光成分,t(x)為透射率。
進(jìn)一步的,該數(shù)據(jù)處理單元對(duì)收到的外景圖片進(jìn)行預(yù)處理,其方法為:首先將該外景圖像灰度化,即將三通道的圖像轉(zhuǎn)為單通道的圖像;然后根據(jù)人眼對(duì)不同范圍內(nèi)的灰度值的敏感程度不同,將灰度值劃分為各個(gè)不同的范圍,對(duì)每一灰度值范圍選取一對(duì)應(yīng)的線性函數(shù);然后根據(jù)該外景圖像各點(diǎn)的灰度值判斷各自所屬灰度值范圍,找出各個(gè)點(diǎn)在原三通道圖像中的對(duì)應(yīng)點(diǎn);然后對(duì)于三通道圖像各對(duì)應(yīng)的點(diǎn),根據(jù)對(duì)應(yīng)的線性函數(shù)對(duì)該點(diǎn)進(jìn)行相應(yīng)的分段線性灰度變換。
進(jìn)一步的,將所述裸眼3d圖像的顯示方法為:
①初始化圖像的亮度b=125,對(duì)比度系數(shù)a=0.7;
②依據(jù)圖像的灰度值b*對(duì)原三通道圖像進(jìn)行分段線性調(diào)節(jié),即b*∈(0,16),則g(i,j)=3*f(i,j),b*∈(16,80),則g(i,j)=2*f(i,j)+16,b*∈(80,94),則g(i,j)=3*f(i,j)-45,b*∈(94,255),則g(i,j)=0.11*f(i,j)+226.7;f(i,j)表示原圖像像素,g(i,j)表示目標(biāo)圖像像素。
進(jìn)一步的,該數(shù)據(jù)處理單元生成裸眼3d圖像的方法為:
①對(duì)雙目視差圖進(jìn)行眼模版匹配,得到左眼視錐平移矩陣和左眼視錐投影矩陣;
②構(gòu)造左眼的視錐平移與投影模型、右眼的視錐平移與投影模型;然后結(jié)合左眼視錐平移矩陣和左眼視錐投影矩陣得到左、右眼非對(duì)稱錐體的左右頂點(diǎn);
③設(shè)置左視圖矩陣和左投影矩陣,右視圖矩陣和右投影矩陣;
④由非對(duì)稱錐臺(tái)體的幾何關(guān)系得到雙目所對(duì)應(yīng)的非對(duì)稱錐體的前剪裁面左下角和右上角的坐標(biāo),然后將坐標(biāo)變換為顯示屏上對(duì)應(yīng)的坐標(biāo),生成裸眼3d圖像。
進(jìn)一步的,所述裸眼3d圖像的標(biāo)準(zhǔn)過(guò)渡時(shí)間t0在范圍內(nèi)。
與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)勢(shì):
與傳統(tǒng)的圖像拼接技術(shù)相比,利用姿態(tài)識(shí)別控制的全景觀測(cè)使得視角更為靈活,能夠使屏幕有效地利用,另外加上圖像處理技術(shù)使得畫面更為清晰,能夠使司機(jī)在惡劣的環(huán)境下也能看清楚路況,而且現(xiàn)有的紅外夜視儀因價(jià)格昂貴而無(wú)法得到普遍應(yīng)用,用圖像處理加以實(shí)現(xiàn)的夜視功能,正好彌補(bǔ)了這一缺陷。另外有三個(gè)負(fù)反饋環(huán)節(jié)能夠使得系統(tǒng)抗干擾能力增強(qiáng),無(wú)需人為干預(yù)的情況下就能自我達(dá)到穩(wěn)定。在裸眼3d屏幕的顯示下,使得司機(jī)對(duì)外景更為敏感,更有身臨其境的體驗(yàn),能在開(kāi)車的同時(shí)方便地控制視角并且看清外景,不受環(huán)境影響。
本發(fā)明人為的按鍵切換前兩個(gè)球機(jī)或者后兩個(gè)球機(jī)來(lái)確定顯示屏上的內(nèi)容是前景或是后景,計(jì)算機(jī)對(duì)人臉的姿態(tài)進(jìn)行識(shí)別,并且將人臉的偏航角和俯仰角輸入給兩個(gè)球機(jī),這樣能人為地控制球機(jī)的轉(zhuǎn)動(dòng),球機(jī)偏轉(zhuǎn)相應(yīng)的偏航角和俯仰角而捕捉外景,將捕捉到的畫面經(jīng)過(guò)去霧、夜視、防逆光等處理后傳送給顯示屏,顯示屏將兩個(gè)球機(jī)捕捉到的圖像組合成雙目視差圖通過(guò)裸眼3d顯示屏呈現(xiàn)給用戶。而且該系統(tǒng)還加入三個(gè)負(fù)反饋環(huán)節(jié)起到自我穩(wěn)定的作用,人為設(shè)定一個(gè)標(biāo)準(zhǔn)過(guò)渡時(shí)間t0,那么負(fù)反饋環(huán)節(jié)能控制球機(jī)的轉(zhuǎn)速使得球機(jī)的過(guò)渡時(shí)間穩(wěn)定在t0,另兩個(gè)負(fù)反饋環(huán)節(jié)能夠自我調(diào)節(jié)亮度值和對(duì)比度,使得圖像的清晰度能夠自我穩(wěn)定在一定的范圍內(nèi)。
附圖說(shuō)明:
圖1是全景觀測(cè)系統(tǒng)原理的方框圖。
圖2是俯仰角的計(jì)算原理示意圖。
圖3是偏航角的計(jì)算原理示意圖。
圖4(a)是圖像處理的去霧處理流程圖;
圖4(b)是圖像處理的夜視、防逆光圖像處理流程圖。
圖5是非對(duì)稱錐臺(tái)體的幾何關(guān)系示意圖。
具體實(shí)施方式:
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明。
本發(fā)明所述的創(chuàng)新點(diǎn)在于姿態(tài)識(shí)別、圖像處理、裸眼3d,具體的:1.檢測(cè)車內(nèi)司機(jī)人臉的姿態(tài),經(jīng)過(guò)關(guān)鍵點(diǎn)定位后求出與正臉關(guān)鍵點(diǎn)坐標(biāo)之間的仿射矩陣,計(jì)算偏航角,并將經(jīng)過(guò)放大后的偏航角入給球機(jī)。
2.將球機(jī)捕捉到的畫面經(jīng)過(guò)去霧、夜視、防逆光等特殊處理后傳送給顯示屏。3.將處理完的圖像轉(zhuǎn)化為雙目視差圖,便于利用裸眼3d顯示屏顯示。
本發(fā)明主要分為姿態(tài)識(shí)別、圖像處理、裸眼3d三個(gè)模塊組成。
一種基于姿態(tài)識(shí)別的全景觀測(cè)方法,其具體的實(shí)施過(guò)程包括如下步驟:
步驟1:人臉圖像預(yù)處理及平均臉計(jì)算
搜集人臉圖片數(shù)據(jù)庫(kù),每一張圖片手動(dòng)標(biāo)明68個(gè)關(guān)鍵點(diǎn),并且求出關(guān)鍵點(diǎn)的坐標(biāo)。
將圖片存為jpg的格式,而各個(gè)點(diǎn)的坐標(biāo)存為txt的格式。
將圖片批量轉(zhuǎn)化為灰度圖,并且通過(guò)對(duì)像素值進(jìn)行直方圖均衡化。這樣做的目的是將紋理特征得以明顯地顯現(xiàn)。
用普氏方法求旋轉(zhuǎn)參數(shù)a,b而后反復(fù)迭代修正,最后計(jì)算出平均臉。
procrustes方法(用于坐標(biāo)點(diǎn)的對(duì)齊):對(duì)每一張圖片68個(gè)點(diǎn)坐標(biāo)重心都拉回原點(diǎn),即每一點(diǎn)的坐標(biāo)減去重心坐標(biāo)而進(jìn)行歸一化后求出普氏距離:
這里(xi1,yi1)即是需要旋轉(zhuǎn)對(duì)齊的目標(biāo)圖像中各個(gè)點(diǎn)的坐標(biāo),而(xi2,yi2)是待旋轉(zhuǎn)的圖像各個(gè)點(diǎn)的坐標(biāo)。
根據(jù)最小二乘法求出當(dāng)普氏距離最小時(shí)的旋轉(zhuǎn)參數(shù)a,b:
這里面的(xi,yi)是待旋轉(zhuǎn)圖像各個(gè)點(diǎn)的坐標(biāo),而(cx,cy)是需要旋轉(zhuǎn)對(duì)齊目標(biāo)圖像各個(gè)點(diǎn)的坐標(biāo),這里有68個(gè)坐標(biāo)點(diǎn),所以n的值為68,i是各個(gè)坐標(biāo)點(diǎn)的標(biāo)號(hào)。
上述過(guò)程反復(fù)迭代后就能求出更為精確的a,b。
將點(diǎn)集進(jìn)行對(duì)齊:
步驟2:對(duì)于每一幅圖片都有68個(gè)坐標(biāo)點(diǎn),那么,以每一個(gè)坐標(biāo)點(diǎn)為中心,10個(gè)像素值為邊長(zhǎng),作正方形。截取圖片中相應(yīng)位置的補(bǔ)丁。記為x10,x11,x12...x167,x20,x21,x22...x267......xn67。這里第1幅訓(xùn)練圖像標(biāo)號(hào)為0的點(diǎn)記做x10,其它的以此類推。
步驟3:將x10,x20,x30,x40......xn0這些補(bǔ)丁都取出,求出平均補(bǔ)丁為x0。
其余的補(bǔ)丁也類似,不再贅述,那么一共得到68個(gè)平均補(bǔ)丁。
步驟4:將平均臉拿出來(lái),平均臉中的那些點(diǎn)為x0,x1,x2,x3,x4......x67,在檢測(cè)時(shí),調(diào)用opencv自帶的haar分類器檢測(cè)人臉,一旦檢測(cè)到人臉,求出被測(cè)人臉中心坐標(biāo),將平均臉點(diǎn)集的每一個(gè)點(diǎn)坐標(biāo)加上被測(cè)人臉的中心坐標(biāo)得到新的點(diǎn)集,對(duì)于新的點(diǎn)集,將人臉灰度化,然后對(duì)像素值進(jìn)行直方圖均衡化,以使得紋理特征變得明顯之后,在被測(cè)人臉上找到坐標(biāo)對(duì)應(yīng)的這些點(diǎn),并且以每一個(gè)點(diǎn)為中心,邊長(zhǎng)為45個(gè)像素作正方形,記為x0,x1,x2……。則x0對(duì)應(yīng)的區(qū)域?yàn)?u>x0,x1對(duì)應(yīng)的區(qū)域?yàn)?u>x1,x2對(duì)應(yīng)的區(qū)域?yàn)?u>x2......,那么在45*45的區(qū)域內(nèi)創(chuàng)建滑框,依次選取15*15的區(qū)域,比如在x0中滑動(dòng),每捕捉一個(gè)15*15的圖像就與x0做卷積。直到遍歷整塊45*45的區(qū)域,找出卷積結(jié)果出現(xiàn)的像素值最大的點(diǎn),并且標(biāo)上記號(hào)。這樣,關(guān)鍵點(diǎn)就能夠成功地進(jìn)行定位了。
步驟5:計(jì)算俯仰角。如圖2所示表示的是人臉抬頭或低頭時(shí)的情況。
將待測(cè)模型與標(biāo)準(zhǔn)模型,進(jìn)行y軸方向?qū)R。
標(biāo)準(zhǔn)模型:人臉不偏的情況下進(jìn)行關(guān)鍵點(diǎn)定位之后的關(guān)鍵點(diǎn)集,該模型是經(jīng)過(guò)利用haar特征訓(xùn)練不偏人臉?lè)诸惼?,?lái)判斷車內(nèi)攝像頭讀入的圖像是否為正臉圖像,如果是正臉,則開(kāi)始進(jìn)行關(guān)鍵點(diǎn)定位。
待測(cè)模型:在檢測(cè)完正臉圖像進(jìn)行關(guān)鍵點(diǎn)定位之后,對(duì)車內(nèi)攝像頭捕獲到的人臉圖像進(jìn)行關(guān)鍵點(diǎn)定位后的關(guān)鍵點(diǎn)集。
步驟6:圖2中直角三角形斜邊表示y0:標(biāo)準(zhǔn)模型縱向最大距離,直角三角形直角邊y:待測(cè)模型縱向最大距離,θ角:人臉俯仰角度。
步驟7:計(jì)算俯仰角θ=arccos(y/y0)
步驟8:計(jì)算偏航角。圖3所示表示的是人臉向左偏或向右偏時(shí)的情況。
將待測(cè)模型與標(biāo)準(zhǔn)模型,進(jìn)行x軸方向?qū)R。
步驟9:圖3中直角三角形斜邊表示x0:標(biāo)準(zhǔn)模型橫向最大距離,直角三角形直角邊x:待測(cè)模型橫向最大距離,θ′角:人臉偏航角度。
上述x,x0,y,y0的求法可分別通過(guò)對(duì)標(biāo)準(zhǔn)模型和待測(cè)模型作最小外接矩形后求外接矩形的邊長(zhǎng)得出。
步驟10:計(jì)算偏航角θ′=arccos(x/x0)。。
圖像處理:主要分為去霧、夜視、防逆光三大板塊。
如圖4(a)(b)所示是數(shù)據(jù)處理單元總的流程圖。
去霧:
步驟1:構(gòu)建霧圖模型:i(x)=j(luò)(x)t(x)+a(1-t(x))
i(x)表示有霧的圖像,也即待去霧的圖像,j(x)表示我們要得到的無(wú)霧的圖像,a是全球大氣光成分,t(x)為透射率。
步驟2:求取全球大氣光值a:
(1)創(chuàng)建與原圖大小相同的灰度圖,遍歷每一個(gè)像素點(diǎn)的三個(gè)通道,將三個(gè)通道灰度值最小通道的灰度值讀取并且存放在建立好的灰度圖相應(yīng)位置。那么原創(chuàng)建好的灰度圖就變成了暗通道圖。
(2)從暗通道圖中取亮度前0.1%的像素。
(3)在這些位置中,再在原始圖像i中尋找對(duì)應(yīng)的具有最高亮度的點(diǎn)的值,作為a值。
步驟3:求取窗口內(nèi)透射率t(x):
步驟4:還原成無(wú)霧的圖像:
夜視、防逆光:
由于人眼視覺(jué)系統(tǒng)中人眼對(duì)灰度的分辨能力,為了突出感興趣的目標(biāo)或灰度區(qū)間,相對(duì)抑制那些不感興趣的目標(biāo)或灰度區(qū)間,故采用分段線性變換的方法來(lái)進(jìn)行防逆光,夜視處理,從而改善圖像視覺(jué)效果。
步驟1:將圖像灰度化,即將三通道的圖像轉(zhuǎn)為單通道的。
步驟2:根據(jù)人眼對(duì)不同范圍內(nèi)的灰度值的敏感程度不同,將灰度值劃分為各個(gè)不同的范圍,對(duì)于各類灰度值范圍選取各自的線性函數(shù)。
步驟3:讀取圖像各點(diǎn)的灰度值并且判斷各自歸屬于什么范圍。
步驟4:找出歸類后的各個(gè)點(diǎn)在原三通道圖像中的對(duì)應(yīng)點(diǎn)。
步驟5:對(duì)于三通道圖像各對(duì)應(yīng)的點(diǎn),根據(jù)對(duì)應(yīng)的線性函數(shù)三個(gè)通道同時(shí)進(jìn)行相應(yīng)的分段線性灰度變換。
裸眼3d:
裸眼3d顯示一般基于人眼雙目視差原理,是通過(guò)光柵或透鏡將顯示器顯示的圖像進(jìn)行分光,從而使人眼接收到不同的圖像,這樣便實(shí)現(xiàn)了3d顯示。裸眼3d的實(shí)現(xiàn)方式有:視差屏蔽式、柱狀透鏡式、指向光源式、多層顯示式。而我們采用的是柱狀透鏡式。
步驟1:初始化渲染模式:判斷顯卡是否支持四組緩沖立體功能,如果支持,則四組緩沖區(qū)分別暫存畫面的左、右兩畫面的前、后緩沖內(nèi)容。如果硬件不支持四組緩沖,只能用雙緩存,則自己開(kāi)內(nèi)存區(qū),以暫存另一畫面內(nèi)容。
步驟2:對(duì)暫存的圖像進(jìn)行眼模版匹配。
由匯聚式投影的三角關(guān)系可得出以下兩個(gè)矩陣:
左眼視錐平移矩陣:
左眼視錐投影矩陣:
圖5表示了非對(duì)稱錐臺(tái)體的幾何關(guān)系以及各個(gè)參數(shù)代表的物理意義。
其中fnear是前剪裁面到視點(diǎn)的距離;ffar是后剪裁面到視點(diǎn)的距離,top為前剪裁面的頂端與中心點(diǎn)的距離,bottom為前剪裁面的底端與中心點(diǎn)的距離。
構(gòu)造左右眼的視錐平移與投影模型,并且結(jié)合上述兩個(gè)矩陣可以得到左右眼非對(duì)稱錐體的左右頂點(diǎn)ll,lr,rl,rr。
步驟3:設(shè)置左視圖矩陣和左投影矩陣,右視圖矩陣和右投影矩陣。
步驟4:可由非對(duì)稱錐臺(tái)體的幾何關(guān)系(圖5)得到雙目所對(duì)應(yīng)的非對(duì)稱錐體的前剪裁面左下角和右上角的(x,y,z)坐標(biāo),變動(dòng)雙目間距直接影響投影錐體左右側(cè)面坐標(biāo)的取值,進(jìn)而產(chǎn)生不同的深度感,經(jīng)過(guò)歸一化處理變換為顯示屏上對(duì)應(yīng)的坐標(biāo)。
步驟5:經(jīng)過(guò)立體顯示屏,展現(xiàn)裸眼3d立體效果。
系統(tǒng)優(yōu)化:
該系統(tǒng)采用了三個(gè)負(fù)反饋環(huán)節(jié)和一個(gè)正反饋環(huán)節(jié)提高了系統(tǒng)的性能。
負(fù)反饋環(huán)節(jié)—調(diào)速:
標(biāo)準(zhǔn)過(guò)渡時(shí)間t0的選取依據(jù):
1)視覺(jué)暫留現(xiàn)象,保證圖像傳輸連續(xù)。
2)讓人舒適,感覺(jué)不到晃眼。
物體在快速運(yùn)動(dòng)時(shí),當(dāng)人眼所看到的影像消失后,人眼仍能繼續(xù)保留其影像,約0.1-0.4秒左右的圖像,這種現(xiàn)象被稱為視覺(jué)暫留現(xiàn)象。為保證系統(tǒng)的通用性,t0不應(yīng)大于0.1s。同時(shí)為使人眼觀測(cè)舒適,時(shí)間不應(yīng)過(guò)短,故選取t0為0.05s。偏轉(zhuǎn)角、角速度;若角度大,則調(diào)節(jié)速度快;若角度小,速度慢,整體控制t0在0.05s0.08s范圍內(nèi)。
負(fù)反饋環(huán)節(jié)二和三為調(diào)亮度、對(duì)比度:
亮度指畫面的明亮程度,一般而言亮度越高識(shí)別效果越好,但畫面過(guò)亮既容易引起視覺(jué)疲勞,同時(shí)也使對(duì)比度降低,導(dǎo)致整個(gè)畫面發(fā)白。因此調(diào)節(jié)亮度的同時(shí)也需調(diào)節(jié)對(duì)比度。
對(duì)比度對(duì)視覺(jué)效果的影響非常關(guān)鍵,一般來(lái)說(shuō),對(duì)比度越大,圖像越清晰越艷麗;而對(duì)比度小,圖像則顯得灰蒙蒙的。在動(dòng)態(tài)視頻顯示中,對(duì)比度影響更大,由于動(dòng)態(tài)圖像中敏感轉(zhuǎn)換較快,對(duì)比度越高,人眼越容易分辨出這樣的轉(zhuǎn)換過(guò)程。
已知對(duì)比度是圖像最白與最黑亮度單位的比值,白色越亮、黑色越暗,對(duì)比度越高。在觀察圖像細(xì)節(jié)時(shí),增大對(duì)比度,降低亮度可以使圖像的立體感增強(qiáng)。
線性灰度變換的理論公式:
g(i,j)=a*f(i,j)+b
其中(i,j)表示像素位于第i行第j列;
參數(shù)f(i,j)表示原圖像像素;
參數(shù)g(i,j)表示目標(biāo)圖像像素;
參數(shù)a(需要滿足a>0)稱為增益,用來(lái)調(diào)節(jié)對(duì)比度;
參數(shù)b稱為偏置,控制圖像亮度。
盡管現(xiàn)今并沒(méi)有一套有效公正的標(biāo)準(zhǔn)來(lái)衡量對(duì)比率,但經(jīng)大量實(shí)驗(yàn)測(cè)試對(duì)比,以調(diào)整級(jí)數(shù)255為例,滿足絕大多數(shù)人視覺(jué)效果的圖片及文字顯示要求,一般亮度調(diào)居中125,對(duì)比度70%至80%,即178--204。
因此可設(shè)置初始值:亮度b=125,對(duì)比度系數(shù)a=0.7。
將圖像灰度化之后,讀取每一個(gè)點(diǎn)的灰度值。
具體依據(jù)灰度值b*對(duì)原三通道圖像進(jìn)行分段線性調(diào)節(jié):
b*∈(0,16),則g(i,j)=3*f(i,j)
b*∈(16,80),則g(i,j)=2*f(i,j)+16
b*∈(80,94),則g(i,j)=3*f(i,j)-45
b*∈(94,255),則g(i,j)=0.11*f(i,j)+226.7
也可參考默認(rèn)的標(biāo)準(zhǔn)狀態(tài),再根據(jù)個(gè)人偏好略作調(diào)整。
正反饋環(huán)節(jié)調(diào)偏轉(zhuǎn)角度:
攝像頭的轉(zhuǎn)動(dòng)情況可由人臉的姿態(tài)來(lái)控制,比如,在切換攝像頭之后,仰頭則攝像頭上仰一定的角度,低頭則攝像頭下調(diào)一定的角度,此外還有左偏、右偏的情況等,攝像頭均可以做出相應(yīng)的動(dòng)作。
因攝像頭不如人眼視野寬,面部稍微偏轉(zhuǎn)都是很大角度,攝像頭應(yīng)偏轉(zhuǎn)更多以達(dá)預(yù)期效果,故引入該正反饋環(huán)節(jié)。理論公式如下:
θ*=a×θ
其中,參數(shù)θ*攝像頭偏轉(zhuǎn)角度;參數(shù)θ為人臉偏轉(zhuǎn)角度;參數(shù)a為正反饋系數(shù)(a>1),且
在0°-30°內(nèi),a=1.5;
在30°-60°內(nèi),a=1.2;
在60°-90°內(nèi),a=1.1;
如此人臉只要偏轉(zhuǎn)一個(gè)較小的角度,球機(jī)就能偏轉(zhuǎn)較大范圍并且捕捉圖像。