本發(fā)明屬于計算機視覺技術(shù)領(lǐng)域,涉及視覺映射技術(shù),主要應(yīng)用于頭部姿態(tài)估計,視線跟蹤和年齡估計等視覺估計問題中。
背景技術(shù):
在計算機視覺中,視覺映射是指學(xué)習(xí)輸入圖像特征與輸出變量之間映射函數(shù)的過程,以便在輸入新圖像時,估計該輸入圖像對應(yīng)的目標(biāo)輸出值。具體來講,視覺映射包括:人體姿態(tài)估計、頭部姿態(tài)估計、視線估計和物體跟蹤等。詳見參考文獻(xiàn):O.Williams,A.Blake,and R.Cipolla,Sparse and Semi-Supervised Visual Mapping with the S3GP,in IEEE Conference Computer on Computer Vision and Pattern Recognition,pp.230-237,2006.
作為計算機視覺的一個重要分支,視覺映射改變了許多場合下由人逐一根據(jù)圖像內(nèi)容估計目標(biāo)輸出的情況。取而代之,由計算機根據(jù)輸入圖像內(nèi)容,通過已有視覺映射函數(shù)預(yù)測輸出,從而實現(xiàn)由攝像機和電腦代替人眼和大腦對圖像進(jìn)行全自動分析和估計。目前,該技術(shù)已開始被應(yīng)用于與人們生活密切相關(guān)的多個產(chǎn)業(yè)。其中,頭部姿態(tài)估計被應(yīng)用于汽車安全駕駛產(chǎn)業(yè),視線估計和人體姿態(tài)估計被應(yīng)用于智能人機接口及游戲產(chǎn)業(yè),物體跟蹤被應(yīng)用于智能交通等產(chǎn)業(yè),人體姿態(tài)估計被應(yīng)用于人機交互領(lǐng)域。相信隨著計算機硬件處理能力的不斷提高和視覺映射中關(guān)鍵技術(shù)問題的逐步解決,其應(yīng)用前景將更加廣闊。
視覺映射問題實質(zhì)是一個非線性映射擬合問題,解決該問題高斯過程回歸模型被證實為一種有效的方法。它無需假設(shè)視覺特征和目標(biāo)值之間滿足某種具體的映射函數(shù)關(guān)系,而只是假設(shè)目標(biāo)值的分布與輸入特征分布相關(guān),因此靈活性強。而現(xiàn)有的解決視覺映射問題的高斯過程方法通常沒有特征選擇功能,過于高維的輸入特征常常會造成過擬合問題。參考文獻(xiàn):Christopher M.Bishop,Pattern Recognition and Machine Learning,Springer,2006。
技術(shù)實現(xiàn)要素:
本專利針對此問題提出了一種基于特征選擇的高斯過程回歸方法,該方法直接對輸入圖像特征進(jìn)行選擇,并且選擇的特征是最適合后續(xù)目標(biāo)值估計的,這樣有助于提高視覺映射的總體估計性能。
為了方便地描述本發(fā)明內(nèi)容,首先對一些術(shù)語進(jìn)行定義。
定義1:視覺映射。對圖像提取視覺特征,并將視覺特征映射到對應(yīng)的目標(biāo)值(見圖1)。例如:頭部姿態(tài)估計是一個視覺映射問題,對包含頭部的圖像提取梯度方向直方圖特征,并將該特征映射到姿態(tài)角度。
定義2:梯度方向直方圖特征。利用像素強度梯度或邊緣的方向分布描述一幅圖像中的物體的表象和形狀的視覺特征提取方法。其實現(xiàn)方法先將圖像分成小的叫做方格單元的連通區(qū)域;然后采集方格單元中各像素點的梯度方向或邊緣方向直方圖;最后把這些直方圖組合起來就可以構(gòu)成特征描述子。為了提高精確度,還可以把這些局部直方圖在圖像的更大的區(qū)間(block)中進(jìn)行對比度歸一化(contrast-normalized),此方法通過先計算各直方圖在這個區(qū)間(block)中的密度,然后根據(jù)這個密度值對區(qū)間中的各個方格單元做歸一化。通過該歸一化能對光照變化和陰影有更強的魯棒性。
定義7:回歸函數(shù)。由未知參數(shù)構(gòu)成的與輸入變量有關(guān)的函數(shù),用于估計輸出值。
定義8:高斯過程先驗。對于任意函數(shù)y(x),對x的任意觀測值x1,…,xN,對應(yīng)的函數(shù)值構(gòu)成向量[y(x1),…,y(xN)]都滿足多維高斯分布,則函數(shù)y(x)滿足高斯過程先驗。
定義9:高斯過程回歸。已知N個輸入觀測向量x1,x2,…xN和其對應(yīng)的輸出觀測值y1,y2,…yN,高斯過程回歸假設(shè)輸入與輸出之間存在下述關(guān)系:
tn=y(tǒng)(xn)+εn
h(·)為回歸函數(shù),εn為噪聲,同時假設(shè)由x1,x2,…xN處的函數(shù)值構(gòu)成的向量y=[y(x1),…,y(xN)]滿足零均值的多維高斯分布,
其中,X為所有輸入特征集合[x1,x2,…xN],K為高斯分布的協(xié)方差,K的第m行n列元素為:
D為觀測向量xn的維數(shù),為xm的第i個元素,為xn的第i個元素,參數(shù)為θ={θ0,θ1,θ2,η1,…,ηD}。
定義10:高斯分布。假設(shè)任意D維隨機向量x,對應(yīng)的多維高斯分布的形式為:
這里μ為正態(tài)分布的均值,∑為正態(tài)分布的協(xié)方差。
定義11:核函數(shù)。在機器學(xué)習(xí)中,核函數(shù)通常用于計算在變換后特征空間中兩個向量的內(nèi)積,它避免了在高維空間或者無限維數(shù)空間的計算。常用的核函數(shù)包括:
線性核函數(shù):k(x,x′)=xTx′,
RBF核函數(shù):k(x,x′)=exp(-τ‖x-x′‖2),
其中x,x′為兩個原空特征間中的輸入特征,τ為高斯核函數(shù)的參數(shù)。
定義12:對數(shù)似然函數(shù)。似然函數(shù)是一種關(guān)于統(tǒng)計模型參數(shù)的函數(shù),似然函數(shù)的對數(shù)即對數(shù)似然函數(shù)。
定義13:導(dǎo)數(shù)。當(dāng)函數(shù)y=f(x)的自變量x在一點x0上產(chǎn)生一個增量Δx時,函數(shù)輸出值的增量Δy與自變量增量Δx的比值在Δx趨于0時的極限如果存在,即為在x0處的導(dǎo)數(shù),記作f′(x0)。
定義14:梯度。當(dāng)函數(shù)y=f(x)的自變量x的維數(shù)為D時候,梯度定義為為函數(shù)f(x)關(guān)于變量xd的偏導(dǎo)數(shù)。
定義14:梯度法。梯度下降法是一個最優(yōu)化算法,為求解函數(shù)f(x)取極值時,自變量的取值可以迭代求解,即:
直到梯度值為零,得到解。
本專利的技術(shù)方案如下:一種針對視覺映射的稀疏高斯過程回歸方法,該方法包括:
步驟1:采集針對某視覺映射問題的N幅圖像,同時記錄目標(biāo)值tn,下標(biāo)n表示第n幅圖像對應(yīng)的姿態(tài)。
步驟2:對采集的圖像進(jìn)行彩色圖像轉(zhuǎn)灰度圖像的處理,若采集圖像已經(jīng)為灰度圖像則無需在進(jìn)行轉(zhuǎn)化處理;
步驟3:將輸入圖像歸一化為固定大小的圖像,對每一幅輸入圖像提取梯度方向直方圖特征;
步驟4:將所有的N幅圖像對應(yīng)的梯度方向直方圖特征向量在列方向上,按順序排列可以得到輸入數(shù)據(jù)矩陣X,即X=[x1,x2,…,xN];
步驟5:將N幅圖像對應(yīng)的目標(biāo)值按順序排列為目標(biāo)值向量t;
步驟6:假設(shè)視覺特征與其對應(yīng)的目標(biāo)值之間存在以下高斯過程回歸關(guān)系:
tn=y(tǒng)(xn)+εn,εn~N(0,σ2)
xn和tn為第n個樣本對應(yīng)的視覺特征和目標(biāo)值,y(xn)是回歸函數(shù),εn為隨機噪聲變量,服從均值為0方差為σ2的高斯分布;
步驟7:假設(shè)步驟6中的回歸函數(shù)輸出值滿足高斯過程先驗,即:
其中為輸入圖像視覺特征集合,D表示輸入圖像特征的維數(shù),N為圖像的總個數(shù),為零向量,K為大小N×N的協(xié)方差矩陣,其第m行n列的元素k(xn,xm)表示回歸函數(shù)在xn和xm處,即y(xn)和y(xm)的協(xié)方差
xmi為xm的第i個元素,xni為xn的第i個元素,參數(shù)為θ={θ0,θ1,θ2,η1,…,ηD}決定核函數(shù)的具體形式;
步驟8:根據(jù)步驟6中變量tn和回歸函數(shù)y(xn)之間的關(guān)系,可以得到p(t|y,σ2)的滿足分布IN有N個對角線元素的單位矩陣,再根據(jù)步驟7中對回歸函數(shù)輸出值的高斯過程先驗假設(shè),得到輸入圖像特征X已知條件下t的分布函數(shù):
令根據(jù)正態(tài)分布的表達(dá)式并對上式取對數(shù)得到
步驟9:假設(shè)步驟7中與協(xié)方差矩陣計算有關(guān)的參數(shù)η=(η1,…,ηD)T都符合相同的拉普拉斯先驗分布
其中b為控制拉普拉斯分布的寬度;
步驟10:根據(jù)最大后驗概率分布和貝葉斯定理p(θ|X,t,σ2)∝p(t|X,θ,σ2)p(θ)建立目標(biāo)函數(shù),由于對參數(shù)的先驗假設(shè)p(θ)只包含p(η)部分,因此最大后驗概率下的目標(biāo)函數(shù)為:
ln p(t|X,θ,σ2)+lnp(η)
步驟11:根據(jù)步驟8中l(wèi)n p(t|X,θ,σ2)的表達(dá)式,代入步驟10中的目標(biāo)函數(shù)得到
其中D為輸入圖像特征的維數(shù);
步驟14:為了尋找使得后驗概率分布p(θ|X,t,σ2)取最大值時的參數(shù)θ,σ2,利用Nesterov梯度法求解參數(shù)θ和σ2;
步驟15:給定待估計目標(biāo)值的圖像(對于頭部姿態(tài)估計,估計目標(biāo)值是頭部姿態(tài),輸入圖像為頭部圖像;對于視線估計,估計值是視線方向,輸入圖像為眼部圖像),按照步驟2中的方法提取圖像梯度方向直方圖特征x*,可得到所有觀測值t=[t1,…,tN]和目標(biāo)值t*的聯(lián)合分布函數(shù)如下:
其中k*=(k(x1,x*),…,k(xN,x*))T;根據(jù)上式,可以求得p(t*|X,t,x*,θ,σ2)服從高斯分布,下標(biāo)*表示和待估計樣本有關(guān)的參數(shù)或變量,均值μ*與方差如下表示
將μ*作為對待估計輸入圖像特征x*的對應(yīng)的目標(biāo)值t*的估計值。
進(jìn)一步的,所述步驟1中若針對頭部姿態(tài)估計問題,采集的N幅圖像為不同姿態(tài)的頭部圖像,目標(biāo)值tn為對應(yīng)的頭部姿態(tài)角度,第一個元素為俯仰角,第二個元素為偏航角,第三個元素為旋轉(zhuǎn)角;若針對視線估計問題,tn為每一幅眼部圖像對應(yīng)的視線方向,即:水平方向角度和垂直方向角度。
進(jìn)一步的,所述步驟3在梯度方向直方圖特征計算的過程中,區(qū)域個數(shù)的參數(shù)設(shè)置為2×2,每一區(qū)域中圖像單元的個數(shù)參數(shù)設(shè)置為8×8,方向柱的個數(shù)設(shè)置為9,最后得到任意一幅圖像對應(yīng)的梯度方向直方圖特征,并記第n幅圖像對應(yīng)的梯度方向直方圖特征向量xn。
本發(fā)明一種針對視覺映射的稀疏高斯過程回歸方法,該方法直接對輸入圖像特征進(jìn)行選擇,并且選擇的特征是最適合后續(xù)目標(biāo)值估計的,這樣有助于提高視覺映射的總體估計性能。
附圖說明
圖1是視覺映射示意圖(頭部姿態(tài)估計、身體姿態(tài)估計和視線估計)。
圖2是高斯過程回歸中觀測值、輸入特征和回歸函數(shù)的假設(shè)。
具體實施方式
實現(xiàn)語言:Matlab,C/C++
硬件平臺:Intel core2E7400+4G DDR RAM
軟件平臺:Matlab2012a,VisualStdio2010
根據(jù)本發(fā)明的方法,首先采集一定數(shù)量的圖像并記錄這些圖像對應(yīng)的目標(biāo)值,根據(jù)本發(fā)明專利,利用Matlab或者C++語言編寫稀疏高斯過程回歸模型程序,并在采集數(shù)據(jù)上訓(xùn)練本發(fā)明對應(yīng)模型的參數(shù);接著在各種應(yīng)用場景安裝攝像頭采集原始圖像,并提取梯度方向直方圖特征;根據(jù)之前訓(xùn)練的參數(shù)可以估計該圖像對應(yīng)的輸出目標(biāo)值。本發(fā)明的方法,可以用于各種場景下的視覺映射問題。
一種針對視覺映射的稀疏高斯過程回歸方法,該方法包括:步驟1:采集針對某視覺映射問題的N幅圖像,同時記錄目標(biāo)值tn,下標(biāo)n表示第n幅圖像對應(yīng)的姿態(tài)。以頭部姿態(tài)估計為例,采集的N幅圖像為不同姿態(tài)的頭部圖像,目標(biāo)值tn為對應(yīng)的頭部姿態(tài)角度,第一個元素為俯仰角,第二個元素為偏航角,第三個元素為旋轉(zhuǎn)角。以視線估計問題為例,tn為每一幅眼部圖像對應(yīng)的視線方向,即:水平方向角度和垂直方向角度;
步驟2:對采集的圖像進(jìn)行彩色圖像轉(zhuǎn)灰度圖像的處理,若采集圖像已經(jīng)為灰度圖像則無需在進(jìn)行轉(zhuǎn)化處理;
步驟3:將輸入圖像歸一化為固定大小的圖像,對每一幅輸入圖像提取梯度方向直方圖特征;在梯度方向直方圖特征計算的過程中,區(qū)域個數(shù)的參數(shù)設(shè)置為2×2,每一區(qū)域中圖像單元的個數(shù)參數(shù)設(shè)置為8×8,方向柱的個數(shù)設(shè)置為9,最后得到任意一幅圖像對應(yīng)的梯度方向直方圖特征,并記第n幅圖像對應(yīng)的梯度方向直方圖特征向量xn;
步驟4:將所有的N幅圖像對應(yīng)的梯度方向直方圖特征向量在列方向上,按順序排列可以得到輸入數(shù)據(jù)矩陣X,即X=[x1,x2,…,xN];以頭部姿態(tài)估計問題為例,為每一幅頭部圖像提取的視覺特征,所有圖像視覺特征的集合即X。以視線估計問題為例,xn為每一幅眼部圖像提取的視覺特征,所有眼部圖像視覺特征的集合即X;
步驟5:將N幅圖像對應(yīng)的目標(biāo)值按順序排列為目標(biāo)值向量t,這里我們以目標(biāo)值為一維的情況為例,即t=[t1,t2,…,tN]T,當(dāng)目標(biāo)值為高維時逐維建立回歸模型。
步驟6:假設(shè)視覺特征與其對應(yīng)的目標(biāo)值之間存在以下高斯過程回歸關(guān)系:
tn=y(tǒng)(xn)+εn,εn~N(0,σ2)
xn和tn為第n個樣本對應(yīng)的視覺特征和目標(biāo)值,y(xn)是回歸函數(shù),εn為隨機噪聲變量,服從均值為0方差為σ2的高斯分布;
步驟7:假設(shè)步驟6中的回歸函數(shù)輸出值滿足高斯過程先驗,即:
其中為輸入圖像視覺特征集合,D表示輸入圖像特征的維數(shù),N為圖像的總個數(shù),為零向量,K為大小N×N的協(xié)方差矩陣,其第m行n列的元素k(xn,xm)表示回歸函數(shù)在xn和xm處,即y(xn)和y(xm)的協(xié)方差
xmi為xm的第i個元素,xni為xn的第i個元素,參數(shù)為θ={θ0,θ1,θ2,η1,…,ηD}決定核函數(shù)的具體形式;
步驟8:根據(jù)步驟6中變量tn和回歸函數(shù)y(xn)之間的關(guān)系,可以得到p(t|y,σ2)的滿足分布IN有N個對角線元素的單位矩陣,再根據(jù)步驟7中對回歸函數(shù)輸出值的高斯過程先驗假設(shè),得到輸入圖像特征X已知條件下t的分布函數(shù):
令根據(jù)正態(tài)分布的表達(dá)式并對上式取對數(shù)得到
步驟9:假設(shè)步驟7中與協(xié)方差矩陣計算有關(guān)的參數(shù)η=(η1,…,ηD)T都符合相同的拉普拉斯先驗分布
其中b為控制拉普拉斯分布的寬度;
步驟10:根據(jù)最大后驗概率分布和貝葉斯定理p(θ|X,t,σ2)∝p(t|X,θ,σ2)p(θ)建立目標(biāo)函數(shù),由于對參數(shù)的先驗假設(shè)p(θ)只包含p(η)部分,因此最大后驗概率下的目標(biāo)函數(shù)為:
ln p(t|X,θ,σ2)+lnp(η)
步驟11:根據(jù)步驟8中l(wèi)np(t|X,θ,σ2)的表達(dá)式,代入步驟10中的目標(biāo)函數(shù)得到
其中D為輸入圖像特征的維數(shù);
步驟14:為了尋找使得后驗概率分布p(θ|X,t,σ2)取最大值時的參數(shù)θ,σ2,利用Nesterov梯度法求解參數(shù)θ和σ2;
步驟15:給定待估計目標(biāo)值的圖像(對于頭部姿態(tài)估計,估計目標(biāo)值是頭部姿態(tài),輸入圖像為頭部圖像;對于視線估計,估計值是視線方向,輸入圖像為眼部圖像),按照步驟2中的方法提取圖像梯度方向直方圖特征x*,可得到所有觀測值t=[t1,…,tN]和目標(biāo)值t*的聯(lián)合分布函數(shù)如下:
其中k*=(k(x1,x*),…,k(xN,x*))T;根據(jù)上式,可以求得p(t*|X,t,x*,θ,σ2)服從高斯分布,下標(biāo)*表示和待估計樣本有關(guān)的參數(shù)或變量,均值μ*與方差如下表示
將μ*作為對待估計輸入圖像特征x*的對應(yīng)的目標(biāo)值t*的估計值。