本發(fā)明屬于圖像處理領(lǐng)域,尤其涉及一種利用局部觀測信息的主動人臉尋的方法及裝置。
背景技術(shù):
主動人臉尋的,指計算單元通過當(dāng)前攝像頭觀測得到的信息計算行動指令,將其發(fā)送給執(zhí)行裝置使攝像頭在可移動范圍內(nèi)移動并對人臉進(jìn)行主動尋找的過程。其作為服務(wù)機(jī)器人以及視頻對講機(jī)器人的一個技術(shù)難點(diǎn),對改善機(jī)器人與人自然交互質(zhì)量有著至關(guān)重要的作用。尤其對于聊天機(jī)器人來說,其主要受眾為老年人群。在老年人使用視頻對講功能時,由于其不方便行動,有時候無法讓攝像頭剛好對準(zhǔn)人臉,造成一定的交流障礙,所以需要一種有效的人臉尋的方案使機(jī)器自動對攝像頭姿態(tài)進(jìn)行調(diào)整。
相關(guān)公開專利如102411368b——機(jī)器人的主動視覺人臉跟蹤方法和跟蹤系統(tǒng)。利用機(jī)器人在空間中進(jìn)行漫游,并通過一個實(shí)時監(jiān)測模塊監(jiān)測當(dāng)前畫面是否存在人臉,實(shí)現(xiàn)人臉的尋的過程。該已有技術(shù)是通過一個固定的搜索策略對環(huán)境進(jìn)行掃描,其不會根據(jù)當(dāng)前捕捉到畫面的不同而采取不同的自適應(yīng)性的策略,在搜索效率上還沒有做到最優(yōu)。
另一方面,為了保證通話質(zhì)量,執(zhí)行裝置不可以通過改變焦距來增大捕獲畫面的區(qū)域,強(qiáng)行讓畫面中存在人臉。在一般的視頻通話情景下,為了看清對方表情,視頻中人臉不可以小于一定比例。這導(dǎo)致了在攝像頭未對準(zhǔn)人臉時,通常也只能觀測到人體的某一部分(比如手、胸),本發(fā)明中稱其為環(huán)境的局部觀測信息,計算單元需要通過局部觀測信息進(jìn)行計算得到接近目標(biāo)的最佳動作。
為了得到具備自適應(yīng)性的有效策略,計算單元需要能夠在針對于不同捕獲畫面指定不同的移動策略,這需要計算單元需要能夠?qū)Λ@取的圖像目標(biāo)進(jìn)行有效表達(dá)并在有效表達(dá)的基礎(chǔ)上進(jìn)行動作決策。深度學(xué)習(xí)技術(shù)為圖像等高維數(shù)據(jù)的表達(dá)提供了一個有效的途徑。有別于主成分分析(pca)、詞袋模型(bow)等方法,基于深度學(xué)習(xí)的圖像表達(dá)技術(shù)具有更強(qiáng)的編碼能力與更強(qiáng)的泛化能力,能夠有效表達(dá)人臉周圍的不同信息,幫助計算單元做出正確決策。
目前自適應(yīng)策略的主流訓(xùn)練方法為強(qiáng)化學(xué)習(xí),而其優(yōu)化方法分為基于值的優(yōu)化方法和基于策略搜索的優(yōu)化方法兩種?;谥档膬?yōu)化方法需要對場景進(jìn)行大量學(xué)習(xí)并獲得不同場景下的狀態(tài)-動作對所對應(yīng)的價值來決定不同動作。而基于策略搜索的方法通過行動樣本在策略空間進(jìn)行參數(shù)優(yōu)化,從而得到最優(yōu)策略。傳統(tǒng)策略搜索方法使用隨機(jī)梯度對策略進(jìn)行優(yōu)化,存在策略輸出方差大,優(yōu)化時間長的問題。造成了一定的應(yīng)用障礙。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明目的是為了克服已有技術(shù)的不足之處,提出一種利用局部觀測信息的主動人臉尋的方法及裝置。本發(fā)明可有效提升數(shù)據(jù)的利用效率,且具備更好的適應(yīng)能力與泛化能力。
本發(fā)明提出的一種利用局部觀測信息的主動人臉尋的方法,其特征在于,分為訓(xùn)練階段和實(shí)際執(zhí)行階段兩個階段,包括以下步驟:
1)訓(xùn)練階段;具體包括以下步驟;
1-1)采集同一環(huán)境不同設(shè)定場景的圖像組成訓(xùn)練場景集,每個訓(xùn)練場景中都存在人臉;具體步驟如下:
1-1-1)采集人員保持坐姿在攝像頭前,在攝像頭可捕獲的范圍內(nèi)采集圖像,攝像頭采集的圖像覆蓋當(dāng)前場景的全部范圍;
1-1-2)將采集到的圖像進(jìn)行拼接,用以獲得當(dāng)前場景的靜態(tài)全景圖像作為一個訓(xùn)練場景;
1-1-3)重復(fù)步驟1-1-1)至1-1-2),直到收集到足夠的不同場景的靜態(tài)全景圖像組成訓(xùn)練場景集;
1-2)隨機(jī)選取訓(xùn)練場景集中一個訓(xùn)練場景,使用神經(jīng)網(wǎng)絡(luò)生成應(yīng)執(zhí)行的動作,神經(jīng)網(wǎng)絡(luò)記為πθ,神經(jīng)網(wǎng)絡(luò)參數(shù)記為θ,神經(jīng)網(wǎng)絡(luò)輸入為每個訓(xùn)練場景的靜態(tài)全景圖像,輸出為應(yīng)該執(zhí)行動作分布的期望μ,最終生成軌跡{sasr0,sasr1,...,sasrt,...,sasrn};
具體步驟如下:
1-2-1)初始化總執(zhí)行步數(shù)計數(shù)為0,記為steps_counter=0,并設(shè)定最大執(zhí)行步數(shù);
1-2-2)隨機(jī)選取訓(xùn)練場景集中一個訓(xùn)練場景,在該訓(xùn)練場景的靜態(tài)全景圖像上隨機(jī)初始化一個位置,作為此次軌跡設(shè)定的初始觀測位置,以此位置為中心截取實(shí)際攝像頭獲取的圖像區(qū)域,經(jīng)過雙線性插值變?yōu)?00×200像素大小,得到t時刻的觀測圖像st;
1-2-3)將步驟1-2-2)得到的觀測圖像st輸入到神經(jīng)網(wǎng)絡(luò)πθ中,神經(jīng)網(wǎng)絡(luò)輸出為t時刻應(yīng)執(zhí)行動作的分布的期望μt,將應(yīng)執(zhí)行動作的分布的期望進(jìn)行重新采樣獲得應(yīng)該執(zhí)行動作at;
1-2-4)在要求執(zhí)行動作為a,用戶和攝像頭距離為d時,攝像頭實(shí)際捕獲范圍移動距離為d*tan(a),則訓(xùn)練階段執(zhí)行動作的移動距離為d*tan(a)/ω,其中ω為比例系數(shù),將輸出的執(zhí)行動作的移動距離轉(zhuǎn)換為對應(yīng)的像素距離并在靜態(tài)全景圖像上將觀測位置移動到新的位置,并在新的位置得到新觀測圖像st+1;
1-2-5)計算位置收益rt;
1-2-6)記步驟1-2-2)~步驟1-2-5)產(chǎn)生的t時刻狀態(tài)-動作對集合為{st,at,at+1,rt},簡記為sasrt;依次記錄所有時刻的狀態(tài)-動作對集合,生成集合{sasr0,sasr1,...,sasrt,...,sasrn},n為實(shí)際執(zhí)行的步數(shù),形成一條動作執(zhí)行的軌跡;
1-2-7)總執(zhí)行步數(shù)計數(shù)加一,steps_counter=steps_counter+1;
1-2-8)檢測新觀測圖像st+1中是否存在人臉并進(jìn)行判定:
1-2-8-1)若存在人臉,則記錄生成的軌跡{sasr0,sasr1,...,sasrt,...,sasrn},進(jìn)入步驟1-2-9);
1-2-8-2)若不存在人臉,則檢查當(dāng)前實(shí)際執(zhí)行步數(shù)是否為最大執(zhí)行步數(shù):若當(dāng)前實(shí)際執(zhí)行步數(shù)為最大執(zhí)行步數(shù),則記錄生成的軌跡{sasr0,sasr1,...,sasrt,...,sasrn},進(jìn)入步驟1-2-9);若當(dāng)前實(shí)際執(zhí)行步數(shù)不為最大執(zhí)行步數(shù),則返回步驟1-2)生成一條新的軌跡;
1-2-9)若n小于等于2,放棄已生成的軌跡{sasr0,sasr1,...,sasrt,...,sasrn},重新返回步驟1-2)生成一條新的軌跡;否則保留生成的軌跡{sasr0,sasr1,...,sasrt,...,sasrn},進(jìn)入步驟1-3);
1-3)獲得軌跡{sasr0,sasr1,...,sasrt,...,sasrn}后,對該軌跡進(jìn)行評價和優(yōu)化,得到優(yōu)化后的神經(jīng)網(wǎng)絡(luò)參數(shù)θnew;
1-3-1).對于{sasr0,sasr1,...,sasrt,...,sasrn}中的每個元素,提取其對應(yīng)的回報組{r0,r1,...,rn},將回報組進(jìn)行低通濾波:
其中,gamma為折損因子,z為經(jīng)過z變換后的濾波表達(dá),{r0,r1,...,rn}經(jīng)過濾波得到狀態(tài)收益組{a0,a1,...,an};
1-3-2)通過動作評價的函數(shù)計算動作評價關(guān)于參數(shù)θ的梯度,動作評價的函數(shù)表達(dá)式如式(6)所示:
得到動作評價函數(shù)l(π)關(guān)于神經(jīng)網(wǎng)絡(luò)的參數(shù)θ的梯度,將該梯度記為
1-3-3)計算梯度g并使用梯度g更新神經(jīng)網(wǎng)絡(luò)參數(shù)θ,得到更新后的參數(shù)θnew=θ+g,此更新后的參數(shù)θnew所決定的神經(jīng)網(wǎng)絡(luò)記為新神經(jīng)網(wǎng)絡(luò)πθnew,新神經(jīng)網(wǎng)絡(luò)πθnew輸出動作新的動作分布的期望為μnew并計算在新的神經(jīng)網(wǎng)絡(luò)中的隨機(jī)擾動δnew;
1-3-4)計算神經(jīng)網(wǎng)絡(luò)πθ和新神經(jīng)網(wǎng)絡(luò)πθnew之間的kl距離:
1-3-5)由kl距離相對于參數(shù)θ的二階導(dǎo)得到費(fèi)舍爾信息矩陣g;
g=2δθtdklδθ(8)
1-3-6)計算自然梯度,自然梯度為費(fèi)舍爾信息矩陣的逆乘以動作評價關(guān)于參數(shù)θ的梯度所得,表達(dá)式如式(10)所示:
x=g-1g(9)
1-3-7)計算步長;
dmax為限制的最大kl距離;
1-3-8)將步驟1-3-3)得到新神經(jīng)網(wǎng)絡(luò)πθnew,記為當(dāng)前神經(jīng)網(wǎng)絡(luò)πθ,新的神經(jīng)網(wǎng)絡(luò)中的隨機(jī)擾動δnew記為當(dāng)前神經(jīng)網(wǎng)絡(luò)的隨機(jī)擾動δ,將新神經(jīng)網(wǎng)絡(luò)輸出動作新的動作分布的期望μnew記為當(dāng)前神經(jīng)網(wǎng)絡(luò)應(yīng)執(zhí)行動作分布的期望μ;按照公式:
θnew=θ+stepmax*x(11)
對神經(jīng)網(wǎng)絡(luò)繼續(xù)進(jìn)行更新,得到更新后的神經(jīng)網(wǎng)絡(luò)參數(shù)θnew及神經(jīng)網(wǎng)絡(luò)πθnew,并更新相應(yīng)的動作的期望和隨機(jī)擾動;
1-3-9)按照步驟1-3-8)更新后的神經(jīng)網(wǎng)絡(luò)πθnew,計算步驟1-2-9)生成的軌跡在所對應(yīng)的st時應(yīng)輸出的動作at_new;
1-3-10)計算似然度,表達(dá)式如式(12)所示:
1-3-11)更新評價函數(shù)并進(jìn)行判定;
1-3-11-1)若更新后的評價函數(shù)的值大于步驟1-3-2)所得的值,則增大限制的最大kl距離dmax=dmax*1.1;
1-3-11-2)若更新后的評價函數(shù)的值小于或等于步驟1-3-2)所得的值,則減小限制的最大kl距離dmax=dmax*0.9;
1-4)判斷步驟1-3-8)得到的神經(jīng)網(wǎng)絡(luò)參數(shù)θnew是否滿足優(yōu)化指標(biāo):
1-4-1)若步驟1-3-11)得到的更新后的評價函數(shù)的值與步驟1-3-2)所得的值之差的絕對值小于0.0001,則說明步驟1-3-8)得到的神經(jīng)網(wǎng)絡(luò)πθnew收斂,將所得神經(jīng)網(wǎng)絡(luò)參數(shù)θnew記作最終神經(jīng)網(wǎng)絡(luò)參數(shù)
1-4-2)若步驟1-3-11)得到的更新后的評價函數(shù)的值與步驟1-3-2)所得的值之差的絕對值大于等于0.0001,則神經(jīng)網(wǎng)絡(luò)πθnew不符合收斂要求,重新返回步驟1-2),開始新一輪的優(yōu)化;
2)實(shí)際執(zhí)行階段;具體包括以下步驟:
2-1)載入訓(xùn)練階段步驟1-4-1)所獲得的最終神經(jīng)網(wǎng)絡(luò)參數(shù)
2-2)攝像頭實(shí)時捕獲到畫面;
2-3)檢測當(dāng)前畫面是否存在人臉并進(jìn)行判定:
2-3-1)若存在人臉,主動尋的結(jié)束,退出實(shí)際執(zhí)行階段;
2-3-2)若不存在人臉,則將攝像頭獲取的畫面雙線性插值為200x200灰度圖像輸入神經(jīng)網(wǎng)絡(luò),重復(fù)步驟1-2-3),計算應(yīng)執(zhí)行動作a;
2-4)執(zhí)行動作a;
2-5)動作執(zhí)行完畢獲得新的圖像,重新返回步驟2-3)。
本發(fā)明的特點(diǎn)及有益效果為:
1本發(fā)明提出的主動式人臉尋的先采集數(shù)據(jù)再離線訓(xùn)練的模式方案,相較于掃描式的人臉尋的方案具有較大的效率提升。
2本發(fā)明使用神經(jīng)網(wǎng)絡(luò)作為計算單元的主要組成部分,可以僅通過部分觀測信息做出動作決策,而不需要掌握當(dāng)前情景的全部信息。
3本發(fā)明利用深度學(xué)習(xí)技術(shù)作為圖像表達(dá),具備更好的適應(yīng)能力與泛化能力。
4本發(fā)明利用策略搜索方法對神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化,能更好地保證其獲得全局最優(yōu)方案。
5本發(fā)明使用采集數(shù)據(jù)離線訓(xùn)練的模式,每一個場景的數(shù)據(jù)都可以生成多條訓(xùn)練軌跡,有效提升了數(shù)據(jù)的利用程度。
6本發(fā)明通過網(wǎng)絡(luò)實(shí)現(xiàn)了當(dāng)前的局部觀測信息到應(yīng)該執(zhí)行動作的直接計算輸出,完成了一種端到端的控制。相較于基于級聯(lián)系統(tǒng)的控制方法具有更強(qiáng)的魯棒性。
附圖說明
圖1為本發(fā)明訓(xùn)練階段流程圖
圖2為本發(fā)明實(shí)施例中的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖。
圖3為本發(fā)明執(zhí)行階段流程圖
圖4為本發(fā)明方法執(zhí)行效果圖。
圖5為本發(fā)明裝置的實(shí)施例結(jié)構(gòu)示意圖
具體實(shí)施方式
本發(fā)明提出的一種利用局部觀測信息的主動人臉尋的方法及裝置,結(jié)合附圖及實(shí)施例詳細(xì)說明如下:
本發(fā)明提出的一種利用局部觀測信息的主動人臉尋的方法,所述局部觀測信息指觀測信息中不包含或包含部分人臉,該方法分為訓(xùn)練階段和實(shí)際執(zhí)行階段兩個階段:訓(xùn)練階段將離線采集的訓(xùn)練數(shù)據(jù)訓(xùn)練得到神經(jīng)網(wǎng)絡(luò)及其參數(shù)并保存,實(shí)際執(zhí)行階段載入訓(xùn)練階段所得到神經(jīng)網(wǎng)絡(luò)的參數(shù)并依據(jù)神經(jīng)網(wǎng)絡(luò)執(zhí)行動作。包括以下步驟:
1)訓(xùn)練階段:訓(xùn)練階段為在采集得到訓(xùn)練數(shù)據(jù)的基礎(chǔ)上進(jìn)行離線訓(xùn)練,得到最佳的自適應(yīng)性策略;流程如圖1所示,具體包括以下步驟;
1-1)采集同一環(huán)境不同設(shè)定場景的圖像組成訓(xùn)練場景集,每個訓(xùn)練場景中都必須存在人臉;本實(shí)施例中同一環(huán)境采用家居環(huán)境,即普通居民(用戶)的居住空間,場景指不同裝修風(fēng)格下所構(gòu)成的具體的不同空間環(huán)境。具體采集步驟為:
1-1-1)采集人員保持坐姿在攝像頭前,在攝像頭可捕獲的范圍內(nèi)采集圖像。攝像頭采集的圖像應(yīng)覆蓋當(dāng)前場景的全部范圍,所采集圖像的數(shù)量越密集越好。
1-1-2)將采集到的圖像進(jìn)行拼接,用以獲得當(dāng)前場景的靜態(tài)全景圖像作為一個訓(xùn)練場景;
1-1-3)重復(fù)步驟1-1-1)至1-1-2),直到收集到足夠的不同場景的靜態(tài)全景圖像組成訓(xùn)練場景集,需要場景數(shù)量和環(huán)境復(fù)雜程度有關(guān),本實(shí)施例設(shè)置環(huán)境為一般家居環(huán)境,設(shè)置需要采集場景數(shù)量為1000個場景。
1-2)隨機(jī)選取訓(xùn)練場景集中一個訓(xùn)練場景,使用神經(jīng)網(wǎng)絡(luò)生成應(yīng)執(zhí)行的動作,模擬攝像頭實(shí)際執(zhí)行獲得一條動作執(zhí)行的軌跡;神經(jīng)網(wǎng)絡(luò)記為πθ,神經(jīng)網(wǎng)絡(luò)參數(shù)記為θ,神經(jīng)網(wǎng)絡(luò)輸入為每個訓(xùn)練場景的靜態(tài)全景圖像,神經(jīng)網(wǎng)絡(luò)輸出為應(yīng)該執(zhí)行動作分布的期望μ,并生成軌跡{sasr0,sasr1,...,sasrt,...,sasrn}。本發(fā)明實(shí)施例所采用的神經(jīng)網(wǎng)絡(luò)具體結(jié)構(gòu)如圖2所示,輸入圖像經(jīng)過兩層核為4x4大小的卷積層,拉直后輸入到結(jié)點(diǎn)數(shù)分別為1024,512,64的三個全連接層中,經(jīng)過全連接層的運(yùn)算輸出為應(yīng)該執(zhí)行的動作分布的期望。生成軌跡的具體步驟為:
1-2-1)初始化總執(zhí)行步數(shù)計數(shù)為0,記為steps_counter=0,并設(shè)定最大執(zhí)行步數(shù);最大執(zhí)行步數(shù)為系統(tǒng)進(jìn)行主動尋的的執(zhí)行次數(shù),與場景設(shè)定有關(guān),數(shù)值越大嘗試主動尋的的時間越長,在本實(shí)施例中設(shè)置最大執(zhí)行步數(shù)為200,記steps_counter_max=200
1-2-2)隨機(jī)選取訓(xùn)練場景集中一個訓(xùn)練場景,在該訓(xùn)練場景的靜態(tài)全景圖像上隨機(jī)初始化一個位置,作為此次軌跡設(shè)定的初始觀測位置,以此位置為中心截取實(shí)際攝像頭獲取的圖像區(qū)域,經(jīng)過雙線性插值變?yōu)?00×200像素大小,得到t時刻的觀測圖像st(本實(shí)施例中,由于最大執(zhí)行步數(shù)為200,則t的取值從0到200).
1-2-3)將步驟1-2-2)得到的觀測圖像st輸入到神經(jīng)網(wǎng)絡(luò)πθ中,神經(jīng)網(wǎng)絡(luò)輸出為t時刻應(yīng)執(zhí)行動作的分布的期望μt,將應(yīng)執(zhí)行動作的分布的期望進(jìn)行重新采樣獲得應(yīng)該執(zhí)行動作at,具體步驟為:
1-2-3-1)將觀測圖像st輸入神經(jīng)網(wǎng)絡(luò)πθ,得到t時刻應(yīng)執(zhí)行動作的分布的期望μt,設(shè)執(zhí)行裝置具有按x軸轉(zhuǎn)動與y軸轉(zhuǎn)動的能力,故應(yīng)執(zhí)行動作的分布的期望為一個二維向量,分別代表繞x軸與y軸的轉(zhuǎn)動量;
1-2-3-2)在μt上附加隨機(jī)擾動,計算隨機(jī)擾動δ(隨機(jī)擾動將根據(jù)輸出動作維度的不同動態(tài)調(diào)整)。設(shè)本發(fā)明動作維度為2,隨機(jī)擾動基準(zhǔn)數(shù)值將在1和2之間隨機(jī)挑選,則依據(jù)動作維度產(chǎn)生的隨機(jī)數(shù)值δ表達(dá)式如式(1)所示:
δ=0.01*randn[1,action_dim](1)
式中,δ為依據(jù)動作維度產(chǎn)生的隨機(jī)數(shù)值,randn為隨機(jī)取整函數(shù),action_dim為輸出動作的維數(shù),式(1)為在1到action_dim之間隨機(jī)選擇一個整數(shù),由于本發(fā)明允許攝像頭在x軸向與y軸向運(yùn)動,故在本發(fā)明動作維數(shù)設(shè)置為2。得到隨機(jī)擾動表達(dá)式如式(2)所示:。
1-2-3-3)在二維標(biāo)準(zhǔn)正態(tài)分布中生成隨機(jī)數(shù)
1-2-3-4)利用公式
1-2-4)(由于用戶和自動尋的裝置之間距離較近,故)使用平面模型表示攝像頭可以捕獲的范圍。在要求執(zhí)行動作為a,用戶和攝像頭距離為d時,攝像頭實(shí)際捕獲范圍移動了d*tan(a),(由于訓(xùn)練階段使用靜態(tài)全景圖像模擬實(shí)際捕獲范圍,故)訓(xùn)練階段執(zhí)行動作的移動距離為d*tan(a)/w,其中w為比例系數(shù),在本發(fā)明中為0.008;(由于執(zhí)行動作為在靜態(tài)全景圖像上的模擬運(yùn)動,故)將輸出的執(zhí)行動作的移動距離轉(zhuǎn)換為對應(yīng)的像素距離并在靜態(tài)全景圖像上將觀測位置移動到新的位置,并在新的位置得到新觀測圖像st+1。
1-2-5)計算位置收益rt,具體步驟為:
1-2-5-1)對t時刻中的觀測圖像st在靜態(tài)全景圖像中的位置以及執(zhí)行動作后的新觀測圖像st+1在靜態(tài)全景圖像中的位置變化進(jìn)行評價,記兩次觀測圖像在靜態(tài)全景圖像中的定位位置變化為δdt,δdt表示觀測圖像st的中心與目標(biāo)圖像(目標(biāo)圖像指當(dāng)前靜態(tài)全景圖像中人臉?biāo)诘奈恢?中心的歐式距離dt與新觀測圖像st+1的中心與目標(biāo)圖像中心的歐式距離dt+1之差,即δdt=dt-dt+1。收益rt和δdt關(guān)系可以表示為一個收益函數(shù)映射關(guān)系,表達(dá)式如式(3)所示:
其中,β為一個非負(fù)的固定收益值,本發(fā)明中取值為1。
為了加速訓(xùn)練,在原有rt的映射關(guān)系上,加入兩個條件,以凸顯尋找目標(biāo)的重要性。
第一個條件為跳出條件:即當(dāng)dt小于50像素的時候,認(rèn)為攝像頭可以在視頻內(nèi)捕獲全部人臉信息,此時獲得一個與β取值不同的非負(fù)的固定收益值α,本發(fā)明中設(shè)定值為100.;
第二個條件是碰撞條件:在實(shí)際執(zhí)行過程中,由于電機(jī)角度限制,觀測只能在一定空間范圍內(nèi)進(jìn)行,所以設(shè)置當(dāng)電機(jī)角度運(yùn)轉(zhuǎn)到無法執(zhí)行的動作狀態(tài)時候,電機(jī)將保持當(dāng)前角度并反饋給執(zhí)行裝置,獲得一個負(fù)的狀態(tài)收益-c,取值為一個非正的固定值,在本發(fā)明中設(shè)置為-10。
綜上,得到最終的收益函數(shù)映射關(guān)系表達(dá)式如下:
式中,targetdistance代表跳出條件,collision表示碰撞;
1-2-6)記步驟1-2-2)~步驟1-2-5)產(chǎn)生的t時刻狀態(tài)-動作對集合為{st,at,at+1,rt},簡記為sasrt;依次記錄所有時刻的狀態(tài)-動作對集合,生成集合{sasr0,sasr1,...,sasrt,...,sasrn},n為實(shí)際執(zhí)行的步數(shù),形成一條動作執(zhí)行的軌跡;
1-2-7)總執(zhí)行步數(shù)計數(shù)加一,steps_counter=steps_counter+1;
1-2-8)檢測當(dāng)前區(qū)域,即新觀測圖像st+1中是否存在人臉并進(jìn)行判定:
1-2-8-1)若存在人臉,則記錄生成的軌跡{sasr0,sasr1,...,sasrt,...,sasrn},進(jìn)入步驟1-2-9);
1-2-8-2)若不存在人臉,則檢查當(dāng)前實(shí)際執(zhí)行步數(shù)是否為最大執(zhí)行步數(shù):若當(dāng)前實(shí)際執(zhí)行步數(shù)為最大執(zhí)行步數(shù),則記錄生成的軌跡{sasr0,sasr1,...,sasrt,...,sasrn},進(jìn)入步驟1-2-9);若當(dāng)前實(shí)際執(zhí)行步數(shù)不為最大執(zhí)行步數(shù),則返回步驟1-2)生成一條新的軌跡;
1-2-9)若實(shí)際執(zhí)行步數(shù)n小于等于2,由于無法計算回報組,放棄已生成的軌跡{sasr0,sasr1,...,sasrt,...,sasrn},重新返回步驟1-2)生成一條新的軌跡;否則保留生成的軌跡{sasr0,sasr1,...,sasrt,...,sasrn},進(jìn)入步驟1-3);
1-3)獲得軌跡{sasr0,sasr1,...,sasrt,...,sasrn}后,對該軌跡進(jìn)行評價和優(yōu)化,得到優(yōu)化后的神經(jīng)網(wǎng)絡(luò)參數(shù);具體步驟如下:
1-3-1).對于{sasr0,sasr1,...,sasrt,...,sasrn}中的每個元素,提取其對應(yīng)的回報組{r0,r1,...,rn},將回報組進(jìn)行低通濾波:
其中,gamma為折損因子,可根據(jù)對于長遠(yuǎn)收益權(quán)重不同而調(diào)整,z為經(jīng)過z變換后的濾波表達(dá),{r0,r1,...,rn}經(jīng)過濾波得到狀態(tài)收益組{a0,a1,...,an}。
1-3-2)通過動作評價的函數(shù)計算動作評價關(guān)于參數(shù)θ的梯度,動作評價的函數(shù)表達(dá)式如式(6)所示:
由于動作評價函數(shù)是一個和軌跡以及神經(jīng)網(wǎng)絡(luò)參數(shù)有關(guān)的函數(shù),將神經(jīng)網(wǎng)絡(luò)πθ中的所有參數(shù)看做參數(shù)空間,則可在該空間中通過符號推演得到動作評價函數(shù)l(π)關(guān)于神經(jīng)網(wǎng)絡(luò)的參數(shù)θ的梯度,將該梯度記為
1-3-3)計算梯度g并使用梯度g更新神經(jīng)網(wǎng)絡(luò)參數(shù)θ,得到更新后的參數(shù)θnew=θ+g,此更新后的參數(shù)θnew所決定的神經(jīng)網(wǎng)絡(luò)記為新神經(jīng)網(wǎng)絡(luò)πθnew,新神經(jīng)網(wǎng)絡(luò)πθnew輸出動作新的動作分布的期望為μnew并計算在新的神經(jīng)網(wǎng)絡(luò)中的隨機(jī)擾動δnew。
1-3-4)計算神經(jīng)網(wǎng)絡(luò)πθ和新神經(jīng)網(wǎng)絡(luò)πθnew之間的kl距離:
1-3-5)由kl距離相對于參數(shù)θ的二階導(dǎo)得到費(fèi)舍爾信息矩陣g;
g=2δθtdklδθ(8)
故費(fèi)舍爾信息矩陣可以直接由kl距離對于參數(shù)θ的二次微分得到。
1-3-6)計算自然梯度,自然梯度為費(fèi)舍爾信息矩陣的逆乘以動作評價關(guān)于參數(shù)θ的梯度所得,表達(dá)式如式(10)所示:
x=g-1g(9)
由于對于費(fèi)舍爾信息矩陣求逆操作復(fù)雜,本發(fā)明將對x的求解轉(zhuǎn)換為對方程組:gx=g的求解。此方程組可以使用共軛梯度法進(jìn)行迭代求解,具體流程為:
1-3-6-1).取任意數(shù)值初始化解向量,記為x0
1-3-6-2)計算誤差r0=g-gx0,初始化輔助向量p0=r0
1-3-6-3)計算
1-3-6-4)更新xk+1=xk+akpk;
1-3-6-5)更新rk+1=rk-akgpk;
1-3-6-6)計算
1-3-6-7)更新pk+1=rk+1+βkpk;
1-3-6-8)重復(fù)1-3-6-2)~1-3-6-7),直到xk+1與xk的誤差小于固定值0.001;
1-3-7)計算步長;
本發(fā)明中設(shè)定dmax=0.01,為限制的最大kl距離。
1-3-8)將步驟1-3-3)得到新神經(jīng)網(wǎng)絡(luò)πθnew,記為當(dāng)前神經(jīng)網(wǎng)絡(luò)πθ,新的神經(jīng)網(wǎng)絡(luò)中的隨機(jī)擾動δnew記為當(dāng)前神經(jīng)網(wǎng)絡(luò)的隨機(jī)擾動δ,將新神經(jīng)網(wǎng)絡(luò)輸出動作新的動作分布的期望μnew記為當(dāng)前神經(jīng)網(wǎng)絡(luò)應(yīng)執(zhí)行動作分布的期望μ;按照公式:
θnew=θ+stepmax*x(11)
對神經(jīng)網(wǎng)絡(luò)繼續(xù)進(jìn)行更新,得到更新后的神經(jīng)網(wǎng)絡(luò)參數(shù)θnew及神經(jīng)網(wǎng)絡(luò)πθnew,并更新相應(yīng)的動作的期望和隨機(jī)擾動。
1-3-9)按照步驟1-3-8)更新后的神經(jīng)網(wǎng)絡(luò)πθnew,計算步驟1-2-9)生成的軌跡在所對應(yīng)的st時應(yīng)輸出的動作at_new;
1-3-10)計算似然度,表達(dá)式如式(12)所示:
1-3-11)更新評價函數(shù)并進(jìn)行判定;
1-3-11-1)若更新后的評價函數(shù)的值大于步驟1-3-2)所得的值,則增大限制的最大kl距離dmax=dmax*1.1;
1-3-11-2)若更新后的評價函數(shù)的值小于或等于步驟1-3-2)所得的值,則減小限制的最大kl距離dmax=dmax*0.9;
1-4)判斷步驟1-3-8)得到的神經(jīng)網(wǎng)絡(luò)參數(shù)θnew是否滿足優(yōu)化指標(biāo):
1-4-1)若步驟1-3-11)得到的更新后的評價函數(shù)的值與步驟1-3-2)所得的值之差的絕對值小于0.0001,則說明步驟1-3-8)得到的神經(jīng)網(wǎng)絡(luò)πθnew收斂,將所得神經(jīng)網(wǎng)絡(luò)參數(shù)θnew記作最終神經(jīng)網(wǎng)絡(luò)參數(shù)
2)實(shí)際執(zhí)行階段;流程如圖3所示,具體包括以下步驟:
2-1)載入訓(xùn)練階段步驟1-4-1)所獲得的最終神經(jīng)網(wǎng)絡(luò)參數(shù)
2-2)攝像頭實(shí)時捕獲到畫面;
2-3)檢測當(dāng)前畫面是否存在人臉并進(jìn)行判定:
2-3-1)若存在人臉,主動尋的結(jié)束,退出實(shí)際執(zhí)行階段;
2-3-2)若不存在人臉,則將攝像頭獲取的畫面雙線性插值為200x200灰度圖像輸入神經(jīng)網(wǎng)絡(luò),重復(fù)步驟1-2-3),計算應(yīng)執(zhí)行動作a;
2-4)執(zhí)行動作a;
2-5)動作執(zhí)行完畢獲得新的圖像,重新返回步驟2-3)。
本發(fā)明方法實(shí)際執(zhí)行效果如圖4所示,在攝像頭獲取窗口(圖中小矩形區(qū)域所示)未對準(zhǔn)人臉時,計算單元將計算正確動作使攝像頭逐步對準(zhǔn)人臉。
本發(fā)明提出的一種利用局部觀測信息的主動人臉尋的裝置,結(jié)構(gòu)如圖5所示,包括:攝像頭1,執(zhí)行裝置2,支架3,連接線4和計算單元5。所述攝像頭1放置在執(zhí)行裝置2上,執(zhí)行裝置2放置在支架3上;攝像頭1、執(zhí)行裝置2和計算單元5之間通過連接線4相互連接進(jìn)行數(shù)據(jù)傳輸。
所述攝像頭1,用于捕捉畫面,本發(fā)明選用usb攝像頭;所述執(zhí)行裝置2,在本發(fā)明中為具有x軸轉(zhuǎn)動與y軸轉(zhuǎn)動兩個自由度的電機(jī);所述支架3,用于支撐攝像頭和執(zhí)行裝置;所述連接線4,連接攝像頭、執(zhí)行裝置和計算單元之間的數(shù)據(jù)傳輸;
所述計算單元5,本發(fā)明中為事先存儲有本發(fā)明的利用局部觀測信息的主動人臉尋的方法的迷你pc。