本發(fā)明涉及圖像處理領(lǐng)域,特別涉及一種眼球驅(qū)動(dòng)方法及電子設(shè)備。
背景技術(shù):
隨著人臉識(shí)別在計(jì)算機(jī)技術(shù)中的普及,通過計(jì)算機(jī)對(duì)人臉進(jìn)行識(shí)別的技術(shù)已應(yīng)用在各個(gè)領(lǐng)域,在人臉識(shí)別中眼睛狀態(tài)的識(shí)別至關(guān)重要,通過眼睛狀態(tài)識(shí)別對(duì)眼球進(jìn)行定位,能夠?qū)崿F(xiàn)用戶對(duì)于通過眼睛識(shí)別對(duì)游戲中的目標(biāo)進(jìn)行控制等需求。
現(xiàn)有技術(shù)中的人眼球定位方法主要包括以下幾種:基于幾何特征的方法,如灰度投影法,霍夫曼變換等,是在眼睛感興趣區(qū)域首先用canny算子計(jì)算人眼邊緣輪廓,然后利用霍夫曼變換來進(jìn)行眼球的定位;基于統(tǒng)計(jì)的方法,如利用神經(jīng)網(wǎng)絡(luò)或支持向量機(jī)的方法,基于知識(shí)的方法。
但是現(xiàn)有技術(shù)中基于幾何特征的方法非常容易受光照的影響,穩(wěn)定性和精度都不夠,而基于統(tǒng)計(jì)的方法雖然對(duì)光照有一定的適應(yīng)性,但是需要大量的樣本來訓(xùn)練分類器,使得使用該方法應(yīng)用于移動(dòng)端實(shí)時(shí)性較差,同時(shí),基于知識(shí)的方法,是采用大量先驗(yàn)知識(shí)進(jìn)行人眼定位,通用性不夠。
技術(shù)實(shí)現(xiàn)要素:
為了提高眼球定位的精確度和穩(wěn)定性,同時(shí)使得該方法能夠在移動(dòng)端高效運(yùn)行,提高用戶體驗(yàn),滿足用戶通過眼球轉(zhuǎn)動(dòng)控制游戲等中的目標(biāo)對(duì)象的需求,本發(fā)明實(shí)施例提供了一種眼球驅(qū)動(dòng)方法及電子設(shè)備。所述技術(shù)方案如下:
第一方面,提供了一種眼球驅(qū)動(dòng)方法,所述方法包括:
獲取當(dāng)前視頻幀中人臉的多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo),根據(jù)所述多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)確定人臉區(qū)域;
通過左右眼濾波器對(duì)所述人臉區(qū)域進(jìn)行濾波,獲取所述當(dāng)前視頻幀中人臉的眼球位置的2d坐標(biāo);
將所述多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)轉(zhuǎn)換為對(duì)應(yīng)的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo);
根據(jù)所述多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)與所述對(duì)應(yīng)的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo)之間的轉(zhuǎn)換關(guān)系,將所述眼球位置的2d坐標(biāo)轉(zhuǎn)換為眼球位置的3d坐標(biāo);
根據(jù)所述眼球位置的3d坐標(biāo)與所述眼球的初始位置的3d坐標(biāo),驅(qū)動(dòng)目標(biāo)對(duì)象的眼球位置;
顯示驅(qū)動(dòng)后的所述目標(biāo)對(duì)象的眼球。
結(jié)合第一方面,在第一種可能的實(shí)現(xiàn)方式中,所述通過左右眼濾波器對(duì)所述人臉區(qū)域進(jìn)行濾波,獲取所述當(dāng)前視頻幀中人臉的眼球位置的2d坐標(biāo)之前,所述方法還包括:
對(duì)所述人臉區(qū)域的尺寸和/或光照進(jìn)行歸一化處理,得到歸一化后的人臉區(qū)域;
將所述歸一化后的人臉區(qū)域轉(zhuǎn)化為頻域數(shù)據(jù)。
結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述通過左右眼濾波器對(duì)所述人臉區(qū)域進(jìn)行濾波,獲取所述當(dāng)前視頻幀中人臉的眼球位置的2d坐標(biāo)包括:
通過左右眼濾波器對(duì)所述頻域數(shù)據(jù)進(jìn)行濾波,根據(jù)所述濾波后的輸出圖分別構(gòu)建左右眼的感興趣區(qū)域;
分別在所述左右眼的感興趣區(qū)域中,確定濾波輸出結(jié)果中最大值所在的位置坐標(biāo),獲取分別與所述左右眼的感興趣區(qū)域?qū)?yīng)的所述左右眼的所述位置坐標(biāo);
判斷所述左眼的所述位置坐標(biāo)是否在左眼區(qū)域內(nèi),若是,則確定所述左眼的所述位置坐標(biāo)為所述左眼的所述眼球位置的2d坐標(biāo),若否,則根據(jù)所述左眼 的關(guān)鍵點(diǎn)信息,計(jì)算所述眼球位置的位置坐標(biāo),將所述計(jì)算所得的位置坐標(biāo)作為所述左眼的所述眼球位置的2d坐標(biāo);以及
判斷所述右眼的所述位置坐標(biāo)是否在右眼區(qū)域內(nèi),若是,則確定所述右眼的所述位置坐標(biāo)為所述右眼的所述眼球位置的2d坐標(biāo),若否,則根據(jù)所述右眼的關(guān)鍵點(diǎn)信息,計(jì)算所述眼球位置的位置坐標(biāo),將所述計(jì)算所得的位置坐標(biāo)作為所述右眼的所述眼球位置的2d坐標(biāo)。
結(jié)合第一方面的第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,在執(zhí)行所述確定所述位置坐標(biāo)的步驟或所述計(jì)算所述眼球位置的位置坐標(biāo)的步驟之后,所述方法還包括:
在所述位置坐標(biāo)的周邊預(yù)設(shè)區(qū)域內(nèi)進(jìn)行積分投影,根據(jù)積分最小值的位置的坐標(biāo)調(diào)整所述左眼的所述眼球位置的2d坐標(biāo)和/或所述右眼的所述眼球位置的2d坐標(biāo)。
結(jié)合第一方面至第一方面的第三種任意一種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,所述方法還包括:
獲取多個(gè)人眼訓(xùn)練樣本;
生成與所述多個(gè)人眼訓(xùn)練樣本分別對(duì)應(yīng)的多個(gè)精確濾波器;
根據(jù)所述多個(gè)精確濾波器,生成所述左右眼濾波器。
結(jié)合第一方面,在第五種可能的實(shí)現(xiàn)方式中,在將所述多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)轉(zhuǎn)換為對(duì)應(yīng)的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo)之前,方法還包括:
根據(jù)3d模型數(shù)據(jù),計(jì)算所述多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)與所述對(duì)應(yīng)的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo)之間的轉(zhuǎn)換關(guān)系。
結(jié)合第一方面或第一方面的第五種可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中,所述方法還包括:
獲取所述目標(biāo)對(duì)象的多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)和眼球位置的2d坐標(biāo);
計(jì)算所述目標(biāo)對(duì)象的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo)和眼球位置的3d坐標(biāo)。
結(jié)合第一方面至第一方面的第六種任意一種可能的實(shí)現(xiàn)方式,在第七種可 能的實(shí)現(xiàn)方式中,所述根據(jù)所述眼球位置的3d坐標(biāo)與所述眼球的初始位置的3d坐標(biāo),驅(qū)動(dòng)目標(biāo)對(duì)象的眼球位置包括:
分別獲取所述左右眼的所述眼球位置的所述3d坐標(biāo)與所述左右眼的所述眼球的初始位置的3d坐標(biāo)的相對(duì)偏移量;
將所述左右眼的所述相對(duì)偏移量分別映射到所述目標(biāo)對(duì)象的左右眼的眼球位置的3d坐標(biāo);以及
將所述目標(biāo)對(duì)象的左右眼的眼球位置的3d坐標(biāo)轉(zhuǎn)換為2d坐標(biāo),驅(qū)動(dòng)所述目標(biāo)對(duì)象的眼球位置;
其中,所述眼球的初始位置和所述目標(biāo)對(duì)象的眼球初始位置相對(duì)應(yīng)。
結(jié)合第一方面的第七種可能的實(shí)現(xiàn)方式,在第八種可能的實(shí)現(xiàn)方式中,所述分別獲取所述左右眼的所述眼球位置的所述3d坐標(biāo)與所述左右眼的所述眼球的初始位置的3d坐標(biāo)的相對(duì)偏移量包括:
分別將所述左右眼的所述眼球位置的所述3d坐標(biāo)與所述左右眼的所述眼球的初始位置的3d坐標(biāo)進(jìn)行對(duì)比,根據(jù)對(duì)比結(jié)果分別獲取所述左右眼的偏移量;
根據(jù)所述偏移量和對(duì)應(yīng)的左右眼的感興趣區(qū)域的寬和高,分別計(jì)算所述相對(duì)偏移量。
結(jié)合第一方面的第七種可能的實(shí)現(xiàn)方式,在第九種可能的實(shí)現(xiàn)方式中,所述將所述目標(biāo)對(duì)象的左右眼的眼球位置的3d坐標(biāo)轉(zhuǎn)換為2d坐標(biāo)還包括:
根據(jù)前一幀獲取的轉(zhuǎn)換2d坐標(biāo)對(duì)當(dāng)前轉(zhuǎn)換的所述2d坐標(biāo)進(jìn)行預(yù)設(shè)比例加權(quán)調(diào)整,獲取調(diào)整后的所述2d坐標(biāo)。
結(jié)合第一方面的第九種可能的實(shí)現(xiàn)方式,在第十種可能的實(shí)現(xiàn)方式中,所述顯示驅(qū)動(dòng)后的所述目標(biāo)對(duì)象的眼球包括:
根據(jù)調(diào)整后的所述2d坐標(biāo),顯示驅(qū)動(dòng)后的所述目標(biāo)對(duì)象的眼球。
第二方面,提供了一種電子設(shè)備,所述電子設(shè)備包括:
獲取關(guān)鍵點(diǎn)模塊,用于獲取當(dāng)前視頻幀中人臉的多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo);
人臉區(qū)域確定模塊,用于根據(jù)所述多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)確定人臉區(qū)域;
濾波模塊,用于通過左右眼濾波器對(duì)所述人臉區(qū)域進(jìn)行濾波,獲取所述當(dāng)前視頻幀中人臉的眼球位置的2d坐標(biāo);
關(guān)鍵點(diǎn)轉(zhuǎn)換模塊,用于將所述多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)轉(zhuǎn)換為對(duì)應(yīng)的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo);
所述關(guān)鍵點(diǎn)轉(zhuǎn)換模塊還用于根據(jù)所述多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)與所述對(duì)應(yīng)的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo)之間的轉(zhuǎn)換關(guān)系,將所述眼球位置的2d坐標(biāo)轉(zhuǎn)換為眼球位置的3d坐標(biāo);
驅(qū)動(dòng)模塊,用于根據(jù)所述眼球位置的3d坐標(biāo)與所述眼球的初始位置的3d坐標(biāo),驅(qū)動(dòng)目標(biāo)對(duì)象的眼球位置;
顯示模塊,用于顯示驅(qū)動(dòng)后的所述目標(biāo)對(duì)象的眼球。
結(jié)合第二方面,在第一種可能的實(shí)現(xiàn)方式中,所述設(shè)備還包括:
歸一化處理模塊,用于對(duì)所述人臉區(qū)域的尺寸和/或光照進(jìn)行歸一化處理,得到歸一化后的人臉區(qū)域;
頻域轉(zhuǎn)換模塊,用于將所述歸一化后的人臉區(qū)域轉(zhuǎn)化為頻域數(shù)據(jù)。
結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,
所述濾波模塊包括構(gòu)建模塊、位置確定模塊、判斷模塊以及計(jì)算模塊;
所述構(gòu)建模塊用于通過左右眼濾波器對(duì)所述頻域數(shù)據(jù)進(jìn)行濾波,根據(jù)所述濾波后的輸出圖分別構(gòu)建左右眼的感興趣區(qū)域;
所述位置確定模塊用于分別在所述左右眼的感興趣區(qū)域中,確定濾波輸出結(jié)果中最大值所在的位置坐標(biāo),獲取分別與所述左右眼的感興趣區(qū)域?qū)?yīng)的所述左右眼的所述位置坐標(biāo);
所述判斷模塊用于判斷所述左眼的所述位置坐標(biāo)是否在左眼區(qū)域內(nèi),當(dāng)判斷是,則觸發(fā)所述位置確定模塊確定所述左眼的所述位置坐標(biāo)為所述左眼的所述眼球位置的2d坐標(biāo),當(dāng)判定否,則根據(jù)所述左眼的關(guān)鍵點(diǎn)信息,觸發(fā)所述計(jì)算模塊計(jì)算所述眼球位置的位置坐標(biāo),將所述計(jì)算所得的位置坐標(biāo)作為所述左眼的所述眼球位置的2d坐標(biāo);以及
所述判斷模塊還用于判斷所述右眼的所述位置坐標(biāo)是否在右眼區(qū)域內(nèi),當(dāng)判定是,則觸發(fā)所述位置確定模塊確定所述右眼的所述位置坐標(biāo)為所述右眼的所述眼球位置的2d坐標(biāo),當(dāng)判定否,則根據(jù)所述右眼的關(guān)鍵點(diǎn)信息,觸發(fā)所述計(jì)算模塊計(jì)算所述眼球位置的位置坐標(biāo),將所述計(jì)算所得的位置坐標(biāo)作為所述右眼的所述眼球位置的2d坐標(biāo)。
結(jié)合第二方面的第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述設(shè)備還包括:
積分確定模塊,用于在所述位置坐標(biāo)的周邊預(yù)設(shè)區(qū)域內(nèi)進(jìn)行積分投影,根據(jù)積分最小值的位置的坐標(biāo)調(diào)整所述左眼的所述眼球位置的2d坐標(biāo)和/或所述右眼的所述眼球位置的2d坐標(biāo)。
結(jié)合第二方面至第二方面的第三種任意一種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,所述設(shè)備還包括:
樣本獲取模塊,用于獲取多個(gè)人眼訓(xùn)練樣本;
精確濾波器生成模塊,用于生成與所述多個(gè)人眼訓(xùn)練樣本分別對(duì)應(yīng)的多個(gè)精確濾波器;
左右眼濾波器生成模塊,用于根據(jù)所述多個(gè)精確濾波器,生成所述左右眼濾波器。
結(jié)合第二方面,在第五種可能的實(shí)現(xiàn)方式中,所述設(shè)備還包括:
轉(zhuǎn)換關(guān)系計(jì)算模塊,用于根據(jù)3d模型數(shù)據(jù),計(jì)算所述多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)與所述對(duì)應(yīng)的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo)之間的轉(zhuǎn)換關(guān)系。
結(jié)合第二方面或第二方面的第五種可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中,所述設(shè)備還包括:
目標(biāo)對(duì)象關(guān)鍵點(diǎn)獲取模塊,用于獲取所述目標(biāo)對(duì)象的多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)和眼球位置的2d坐標(biāo);
目標(biāo)對(duì)象3d坐標(biāo)計(jì)算模塊,用于計(jì)算所述目標(biāo)對(duì)象的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo)和眼球位置的3d坐標(biāo)。
結(jié)合第二方面至第二方面的第六種任意一種可能的實(shí)現(xiàn)方式,在第七種可能的實(shí)現(xiàn)方式中,所述驅(qū)動(dòng)模塊還包括:
偏移量獲取模塊,用于分別獲取所述左右眼的所述眼球位置的所述3d坐標(biāo)與所述左右眼的所述眼球的初始位置的3d坐標(biāo)的相對(duì)偏移量;
映射模塊,用于將所述左右眼的所述相對(duì)偏移量分別映射到所述目標(biāo)對(duì)象的左右眼的眼球位置的3d坐標(biāo);以及
目標(biāo)對(duì)象坐標(biāo)轉(zhuǎn)換模塊,用于將所述目標(biāo)對(duì)象的左右眼的眼球位置的3d坐標(biāo)轉(zhuǎn)換為2d坐標(biāo),驅(qū)動(dòng)所述目標(biāo)對(duì)象的眼球位置;
其中,所述眼球的初始位置和所述目標(biāo)對(duì)象的眼球初始位置相對(duì)應(yīng)。
結(jié)合第二方面的第七種可能的實(shí)現(xiàn)方式,在第八種可能的實(shí)現(xiàn)方式中,所述偏移量獲取模塊還包括:
對(duì)比模塊,用于分別將所述左右眼的所述眼球位置的所述3d坐標(biāo)與所述左右眼的所述眼球的初始位置的3d坐標(biāo)進(jìn)行對(duì)比,根據(jù)對(duì)比結(jié)果分別獲取所述左右眼的偏移量;
相對(duì)偏移量計(jì)算模塊,用于根據(jù)所述偏移量和對(duì)應(yīng)的左右眼的感興趣區(qū)域的寬和高,分別計(jì)算所述相對(duì)偏移量。
結(jié)合第二方面的第七種可能的實(shí)現(xiàn)方式,在第九種可能的實(shí)現(xiàn)方式中,目標(biāo)對(duì)象坐標(biāo)轉(zhuǎn)換模塊還包括:
調(diào)整模塊,用于根據(jù)前一幀獲取的轉(zhuǎn)換2d坐標(biāo)對(duì)當(dāng)前轉(zhuǎn)換的所述2d坐標(biāo)進(jìn)行預(yù)設(shè)比例加權(quán)調(diào)整,獲取調(diào)整后的所述2d坐標(biāo)。
結(jié)合第二方面的第九種可能的實(shí)現(xiàn)方式,在第十種可能的實(shí)現(xiàn)方式中,所述顯示模塊具體用于:
根據(jù)調(diào)整后的所述2d坐標(biāo),顯示驅(qū)動(dòng)后的所述目標(biāo)對(duì)象的眼球。
第三方面,提供了一種電子設(shè)備,所述電子設(shè)備包括顯示屏、攝像頭、存儲(chǔ)器以及與所述顯示屏、所述攝像頭、所述存儲(chǔ)器連接的處理器,其中,所述存儲(chǔ)器用于存儲(chǔ)一組程序代碼,所述處理器調(diào)用所述存儲(chǔ)器所存儲(chǔ)的程序代碼 用于執(zhí)行以下操作:
獲取當(dāng)前視頻幀中人臉的多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo),根據(jù)所述多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)確定人臉區(qū)域;
通過左右眼濾波器對(duì)所述人臉區(qū)域進(jìn)行濾波,獲取所述當(dāng)前視頻幀中人臉的眼球位置的2d坐標(biāo);
將所述多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)轉(zhuǎn)換為對(duì)應(yīng)的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo);
根據(jù)所述多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)與所述對(duì)應(yīng)的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo)之間的轉(zhuǎn)換關(guān)系,將所述眼球位置的2d坐標(biāo)轉(zhuǎn)換為眼球位置的3d坐標(biāo);
根據(jù)所述眼球位置的3d坐標(biāo)與所述眼球的初始位置的3d坐標(biāo),驅(qū)動(dòng)目標(biāo)對(duì)象的眼球位置;
顯示驅(qū)動(dòng)后的所述目標(biāo)對(duì)象的眼球。
結(jié)合第三方面,在第一種可能的實(shí)現(xiàn)方式中,所述處理器調(diào)用所述存儲(chǔ)器所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
對(duì)所述人臉區(qū)域的尺寸和/或光照進(jìn)行歸一化處理,得到歸一化后的人臉區(qū)域;
將所述歸一化后的人臉區(qū)域轉(zhuǎn)化為頻域數(shù)據(jù)。
結(jié)合第三方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述處理器調(diào)用所述存儲(chǔ)器所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
通過左右眼濾波器對(duì)所述頻域數(shù)據(jù)進(jìn)行濾波,根據(jù)所述濾波后的輸出圖分別構(gòu)建左右眼的感興趣區(qū)域;
分別在所述左右眼的感興趣區(qū)域中,確定濾波輸出結(jié)果中最大值所在的位置坐標(biāo),獲取分別與所述左右眼的感興趣區(qū)域?qū)?yīng)的所述左右眼的所述位置坐標(biāo);
判斷所述左眼的所述位置坐標(biāo)是否在左眼區(qū)域內(nèi),若是,則確定所述左眼的所述位置坐標(biāo)為所述左眼的所述眼球位置的2d坐標(biāo),若否,則根據(jù)所述左眼的關(guān)鍵點(diǎn)信息,計(jì)算所述眼球位置的位置坐標(biāo),將所述計(jì)算所得的位置坐標(biāo)作 為所述左眼的所述眼球位置的2d坐標(biāo);以及
判斷所述右眼的所述位置坐標(biāo)是否在右眼區(qū)域內(nèi),若是,則確定所述右眼的所述位置坐標(biāo)為所述右眼的所述眼球位置的2d坐標(biāo),若否,則根據(jù)所述右眼的關(guān)鍵點(diǎn)信息,計(jì)算所述眼球位置的位置坐標(biāo),將所述計(jì)算所得的位置坐標(biāo)作為所述右眼的所述眼球位置的2d坐標(biāo)。
結(jié)合第三方面的第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述處理器調(diào)用所述存儲(chǔ)器所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
在所述位置坐標(biāo)的周邊預(yù)設(shè)區(qū)域內(nèi)進(jìn)行積分投影,根據(jù)積分最小值的位置的坐標(biāo)調(diào)整所述左眼的所述眼球位置的2d坐標(biāo)和/或所述右眼的所述眼球位置的2d坐標(biāo)。
結(jié)合第三方面至第三方面的第三種任意一種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,所述處理器調(diào)用所述存儲(chǔ)器所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
獲取多個(gè)人眼訓(xùn)練樣本;
生成與所述多個(gè)人眼訓(xùn)練樣本分別對(duì)應(yīng)的多個(gè)精確濾波器;
根據(jù)所述多個(gè)精確濾波器,生成所述左右眼濾波器。
結(jié)合第三方面,在第五種可能的實(shí)現(xiàn)方式中,所述處理器調(diào)用所述存儲(chǔ)器所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
根據(jù)3d模型數(shù)據(jù),計(jì)算所述多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)與所述對(duì)應(yīng)的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo)之間的轉(zhuǎn)換關(guān)系。
結(jié)合第三方面或第三方面的第五種可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中,所述處理器調(diào)用所述存儲(chǔ)器所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
獲取所述目標(biāo)對(duì)象的多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)和眼球位置的2d坐標(biāo);
計(jì)算所述目標(biāo)對(duì)象的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo)和眼球位置的3d坐標(biāo)。
結(jié)合第三方面至第三方面的第六種任意一種可能的實(shí)現(xiàn)方式,在第七種可能的實(shí)現(xiàn)方式中,所述處理器調(diào)用所述存儲(chǔ)器所存儲(chǔ)的程序代碼用于執(zhí)行以下 操作:
分別獲取所述左右眼的所述眼球位置的所述3d坐標(biāo)與所述左右眼的所述眼球的初始位置的3d坐標(biāo)的相對(duì)偏移量;
將所述左右眼的所述相對(duì)偏移量分別映射到所述目標(biāo)對(duì)象的左右眼的眼球位置的3d坐標(biāo);以及
將所述目標(biāo)對(duì)象的左右眼的眼球位置的3d坐標(biāo)轉(zhuǎn)換為2d坐標(biāo),驅(qū)動(dòng)所述目標(biāo)對(duì)象的眼球位置;
其中,所述眼球的初始位置和所述目標(biāo)對(duì)象的眼球初始位置相對(duì)應(yīng)。
結(jié)合第三方面的第七種可能的實(shí)現(xiàn)方式,在第八種可能的實(shí)現(xiàn)方式中,所述處理器調(diào)用所述存儲(chǔ)器所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
分別將所述左右眼的所述眼球位置的所述3d坐標(biāo)與所述左右眼的所述眼球的初始位置的3d坐標(biāo)進(jìn)行對(duì)比,根據(jù)對(duì)比結(jié)果分別獲取所述左右眼的偏移量;
根據(jù)所述偏移量和對(duì)應(yīng)的左右眼的感興趣區(qū)域的寬和高,分別計(jì)算所述相對(duì)偏移量。
結(jié)合第三方面的第七種可能的實(shí)現(xiàn)方式,在第九種可能的實(shí)現(xiàn)方式中,所述處理器調(diào)用所述存儲(chǔ)器所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
根據(jù)前一幀獲取的轉(zhuǎn)換2d坐標(biāo)對(duì)當(dāng)前轉(zhuǎn)換的所述2d坐標(biāo)進(jìn)行預(yù)設(shè)比例加權(quán)調(diào)整,獲取調(diào)整后的所述2d坐標(biāo)。
結(jié)合第三方面的第九種可能的實(shí)現(xiàn)方式,在第十種可能的實(shí)現(xiàn)方式中,所述處理器調(diào)用所述存儲(chǔ)器所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
根據(jù)調(diào)整后的所述2d坐標(biāo),顯示驅(qū)動(dòng)后的所述目標(biāo)對(duì)象的眼球。
本發(fā)明公開了一種眼球驅(qū)動(dòng)方法及電子設(shè)備,該方法包括:獲取當(dāng)前視頻幀中人臉的多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo),根據(jù)多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)確定人臉區(qū)域;通過左右眼濾波器對(duì)人臉區(qū)域進(jìn)行濾波,獲取當(dāng)前視頻幀中人臉的眼球位置的2d坐標(biāo);將多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)轉(zhuǎn)換為對(duì)應(yīng)的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo);根據(jù)多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)與對(duì)應(yīng)的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo)之間的轉(zhuǎn)換關(guān)系,將眼球位置的2d坐標(biāo)轉(zhuǎn) 換為眼球位置的3d坐標(biāo);根據(jù)眼球位置的3d坐標(biāo)與眼球的初始位置的3d坐標(biāo),驅(qū)動(dòng)目標(biāo)對(duì)象的眼球位置;顯示驅(qū)動(dòng)后的目標(biāo)對(duì)象的眼球。本發(fā)明實(shí)施例根據(jù)眼球位置的3d坐標(biāo)與該眼球的初始位置的3d坐標(biāo),驅(qū)動(dòng)目標(biāo)對(duì)象的眼球位置,提高了眼球定位及驅(qū)動(dòng)的精確度和穩(wěn)定性,同時(shí)能夠在移動(dòng)端高效運(yùn)行,提高了用戶體驗(yàn),滿足了用戶通過眼球轉(zhuǎn)動(dòng)控制目標(biāo)對(duì)象的需求;另外,通過左右眼濾波器對(duì)人臉區(qū)域進(jìn)行濾波,獲取所述當(dāng)前視頻幀中人臉的眼球位置的2d坐標(biāo),這樣相較于傳統(tǒng)的單純依賴圖片紋理信息或者僅通過濾波器定位眼球的方法而言,本發(fā)明實(shí)施例的方法將濾波器定位眼球和人臉關(guān)鍵點(diǎn)定位技術(shù)相結(jié)合,從而進(jìn)一步提高了眼球定位的精確度和穩(wěn)定性,同時(shí)因?yàn)闉V波器可以是線下訓(xùn)練獲得的,使得該方法在移動(dòng)端運(yùn)行時(shí)無需再占用處理資源,進(jìn)一步提高了在移動(dòng)端的運(yùn)行速度,提高了用戶體驗(yàn),滿足了用戶需求;另外,將所述多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)轉(zhuǎn)換為對(duì)應(yīng)的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo),這樣使得獲取的即時(shí)視頻幀中的人臉的關(guān)鍵點(diǎn)的尺度保持一致,同時(shí)進(jìn)行了正面化,從而避免了人臉處于側(cè)面或尺度不一致時(shí)對(duì)眼球定位造成的影響,同時(shí),將眼球位置的2d坐標(biāo)轉(zhuǎn)換為眼球位置的3d坐標(biāo),使得在該尺度一致以及正面化后的3d空間中獲取該眼球位置的3d坐標(biāo),進(jìn)一步提高了眼球定位的精確度,并通過該3d坐標(biāo)進(jìn)行驅(qū)動(dòng)目標(biāo)對(duì)象的眼球位置,進(jìn)一步提高了眼球驅(qū)動(dòng)的精確度和穩(wěn)定性;另外,本發(fā)明實(shí)施例所提供的眼球驅(qū)動(dòng)方法可以應(yīng)用在對(duì)游戲等中的目標(biāo)對(duì)象的眼球控制中,豐富了對(duì)游戲中目標(biāo)對(duì)象控制的方式,滿足了用戶通過眼球轉(zhuǎn)動(dòng)對(duì)目標(biāo)對(duì)象進(jìn)行控制的需求,從而進(jìn)一步提高了用戶體驗(yàn)。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實(shí)施例提供的一種眼球驅(qū)動(dòng)方法流程圖;
圖2是本發(fā)明實(shí)施例提供的一種眼球驅(qū)動(dòng)方法流程圖;
圖3是本發(fā)明實(shí)施例提供的一種確定的人臉區(qū)域示意圖;
圖4是本發(fā)明實(shí)施例提供的一種眼球驅(qū)動(dòng)方法流程圖;
圖5是本發(fā)明實(shí)施例提供的一種左右眼感興趣區(qū)域示意圖;
圖6是本發(fā)明實(shí)施例提供的一種眼球驅(qū)動(dòng)方法流程圖;
圖7是本發(fā)明實(shí)施例提供的一種眼球驅(qū)動(dòng)方法流程圖;
圖8是本發(fā)明實(shí)施例提供的一種眼球驅(qū)動(dòng)方法流程圖;
圖9是本發(fā)明實(shí)施例提供的電子設(shè)備結(jié)構(gòu)示意圖;
圖10是本發(fā)明實(shí)施例提供的電子設(shè)備結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例提供了一種眼球驅(qū)動(dòng)方法,該方法可以應(yīng)用于一種交互系統(tǒng)中,該系統(tǒng)可以包括至少一個(gè)電子設(shè)備以及用戶,其中,該電子設(shè)備可以是智能手機(jī),也可以是平板電腦或可穿戴設(shè)備,還可以是其他移動(dòng)終端,本發(fā)明實(shí)施例對(duì)具體的電子設(shè)備不加以限定;該電子設(shè)備至少包括視頻輸入模塊和視頻顯示模塊,視頻輸入模塊可以包括攝像頭,視頻顯示模塊可以包括顯示屏。
該方法可以應(yīng)用于對(duì)游戲中的目標(biāo)對(duì)象的眼球轉(zhuǎn)動(dòng)進(jìn)行控制的場(chǎng)景中,在該場(chǎng)景中電子設(shè)備中至少可以運(yùn)行一種游戲程序,該電子設(shè)備通過運(yùn)行游戲程序,以及通過開啟攝像頭功能獲取用戶的眼球位置,以對(duì)游戲中的目標(biāo)對(duì)象的眼球位置進(jìn)行控制。
除此之外,該方法也可以應(yīng)用于其他交互系統(tǒng)和應(yīng)用場(chǎng)景中,本發(fā)明實(shí)施 例對(duì)該具體的交互系統(tǒng)和應(yīng)用場(chǎng)景不加以限定。
實(shí)施例一
本發(fā)明實(shí)施例提供了一種眼球驅(qū)動(dòng)方法,參照?qǐng)D1,該方法包括:
101、獲取當(dāng)前視頻幀中人臉的多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo),根據(jù)多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)確定人臉區(qū)域。
可選的,在步驟102之前,方法還可包括:
對(duì)人臉區(qū)域的尺寸和/或光照進(jìn)行歸一化處理,得到歸一化后的人臉區(qū)域;
將歸一化后的人臉區(qū)域轉(zhuǎn)化為頻域數(shù)據(jù)。
102、通過左右眼濾波器對(duì)人臉區(qū)域進(jìn)行濾波,獲取當(dāng)前視頻幀中人臉的眼球位置的2d坐標(biāo)。
具體的,該過程可以包括:
通過左右眼濾波器對(duì)頻域數(shù)據(jù)進(jìn)行濾波,根據(jù)濾波后的輸出圖分別構(gòu)建左右眼的感興趣區(qū)域;
分別在左右眼的感興趣區(qū)域中,確定濾波輸出結(jié)果中最大值所在的位置坐標(biāo),獲取分別與左右眼的感興趣區(qū)域?qū)?yīng)的左右眼的位置坐標(biāo);
判斷左眼的位置坐標(biāo)是否在左眼區(qū)域內(nèi),若是,則確定所述左眼的位置坐標(biāo)為左眼的眼球位置的2d坐標(biāo),若否,則根據(jù)左眼的關(guān)鍵點(diǎn)信息,計(jì)算眼球位置的位置坐標(biāo),將計(jì)算所得的位置坐標(biāo)作為左眼的眼球位置的2d坐標(biāo);以及
判斷右眼的位置坐標(biāo)是否在右眼區(qū)域內(nèi),若是,則確定所述右眼的位置坐標(biāo)為右眼的眼球位置的2d坐標(biāo),若否,則根據(jù)右眼的關(guān)鍵點(diǎn)信息,計(jì)算眼球位置的位置坐標(biāo),將計(jì)算所得的位置坐標(biāo)作為右眼的眼球位置的2d坐標(biāo)。
優(yōu)選的,在執(zhí)行確定位置坐標(biāo)的步驟或計(jì)算眼球位置的位置坐標(biāo)的步驟之后,方法還包括:
在位置坐標(biāo)的周邊預(yù)設(shè)區(qū)域內(nèi)進(jìn)行積分投影,根據(jù)積分最小值的位置的坐標(biāo)調(diào)整所述左眼的眼球位置的2d坐標(biāo)和/或所述右眼的眼球位置的2d坐標(biāo)。
可選的,本發(fā)明實(shí)施例的左右眼濾波器可以是預(yù)先生成的,其中,生成左 右眼濾波器的過程可以包括:
獲取多個(gè)人眼訓(xùn)練樣本;
生成與多個(gè)人眼訓(xùn)練樣本分別對(duì)應(yīng)的多個(gè)精確濾波器;
根據(jù)多個(gè)精確濾波器,生成左右眼濾波器。
103、將多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)轉(zhuǎn)換為對(duì)應(yīng)的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo)。
可選的,在執(zhí)行步驟104之前,方法還包括:
根據(jù)3d模型數(shù)據(jù),計(jì)算多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)與對(duì)應(yīng)的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo)之間的轉(zhuǎn)換關(guān)系。
104、根據(jù)多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)與對(duì)應(yīng)的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo)之間的轉(zhuǎn)換關(guān)系,將眼球位置的2d坐標(biāo)轉(zhuǎn)換為眼球位置的3d坐標(biāo)。
105、根據(jù)眼球位置的3d坐標(biāo)與眼球的初始位置的3d坐標(biāo),驅(qū)動(dòng)目標(biāo)對(duì)象的眼球位置。
具體的,該過程包括:
分別獲取左右眼的眼球位置的3d坐標(biāo)與左右眼的眼球的初始位置的3d坐標(biāo)的相對(duì)偏移量;
將左右眼的相對(duì)偏移量分別映射到目標(biāo)對(duì)象的左右眼的眼球位置的3d坐標(biāo);以及
將目標(biāo)對(duì)象的左右眼的眼球位置的3d坐標(biāo)轉(zhuǎn)換為2d坐標(biāo),驅(qū)動(dòng)目標(biāo)對(duì)象的眼球位置。
其中,眼球的初始位置和目標(biāo)對(duì)象的眼球初始位置相對(duì)應(yīng)。
可選的,分別獲取左右眼的眼球位置的3d坐標(biāo)與左右眼的眼球的初始位置的3d坐標(biāo)的相對(duì)偏移量包括:
分別將左右眼的眼球位置的3d坐標(biāo)與左右眼的眼球的初始位置的3d坐標(biāo)進(jìn)行對(duì)比,根據(jù)對(duì)比結(jié)果分別獲取左右眼的偏移量;
根據(jù)偏移量和對(duì)應(yīng)的左右眼的感興趣區(qū)域的寬和高,分別計(jì)算相對(duì)偏移量。
可選的,將目標(biāo)對(duì)象的左右眼的眼球位置的3d坐標(biāo)轉(zhuǎn)換為2d坐標(biāo)還包括:
根據(jù)前一幀獲取的轉(zhuǎn)換2d坐標(biāo)對(duì)當(dāng)前轉(zhuǎn)換的2d坐標(biāo)進(jìn)行預(yù)設(shè)比例加權(quán)調(diào)整,獲取調(diào)整后的2d坐標(biāo)。
106、顯示驅(qū)動(dòng)后的目標(biāo)對(duì)象的眼球。
可選的,方法還包括:
獲取目標(biāo)對(duì)象的多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)和眼球位置的2d坐標(biāo);
計(jì)算目標(biāo)對(duì)象的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo)和眼球位置的3d坐標(biāo)。
可選的,根據(jù)調(diào)整后的2d坐標(biāo),顯示驅(qū)動(dòng)后的目標(biāo)對(duì)象的眼球位置。
可選的,顯示驅(qū)動(dòng)后的目標(biāo)對(duì)象的眼球可以包括:
根據(jù)調(diào)整后的2d坐標(biāo),顯示驅(qū)動(dòng)后的目標(biāo)對(duì)象的眼球。
本發(fā)明實(shí)施例提供了一種眼球驅(qū)動(dòng)方法,通過根據(jù)眼球位置的3d坐標(biāo)與該眼球的初始位置的3d坐標(biāo),驅(qū)動(dòng)目標(biāo)對(duì)象的眼球位置,提高了眼球定位及驅(qū)動(dòng)的精確度和穩(wěn)定性,同時(shí)能夠在移動(dòng)端高效運(yùn)行,提高了用戶體驗(yàn),滿足了用戶通過眼球轉(zhuǎn)動(dòng)控制目標(biāo)對(duì)象的需求;另外,通過左右眼濾波器對(duì)人臉區(qū)域進(jìn)行濾波,獲取所述當(dāng)前視頻幀中人臉的眼球位置的2d坐標(biāo),這樣相較于傳統(tǒng)的單純依賴圖片紋理信息或者僅通過濾波器定位眼球的方法而言,本發(fā)明實(shí)施例的方法將濾波器定位眼球和人臉關(guān)鍵點(diǎn)定位技術(shù)相結(jié)合,從而進(jìn)一步提高了眼球定位的精確度和穩(wěn)定性,同時(shí)因?yàn)闉V波器可以是線下訓(xùn)練獲得的,使得該方法在移動(dòng)端運(yùn)行時(shí)無需再占用處理資源,進(jìn)一步提高了在移動(dòng)端的運(yùn)行速度,提高了用戶體驗(yàn),滿足了用戶需求;另外,將所述多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)轉(zhuǎn)換為對(duì)應(yīng)的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo),這樣使得獲取的即時(shí)視頻幀中的人臉的關(guān)鍵點(diǎn)的尺度保持一致,同時(shí)進(jìn)行了正面化,從而避免了人臉處于側(cè)面或尺度不一致時(shí)對(duì)眼球定位造成的影響,同時(shí),將眼球位置的2d坐標(biāo)轉(zhuǎn)換為眼球位置的3d坐標(biāo),使得在該尺度一致以及正面化后的3d空間中獲取該眼球位置的3d坐標(biāo),進(jìn)一步提高了眼球定位的精確度,并通過該3d坐標(biāo)進(jìn)行驅(qū)動(dòng)目標(biāo)對(duì)象的眼球位置,進(jìn)一步提高了眼球驅(qū)動(dòng)的精確度和穩(wěn)定性;另外,本發(fā)明實(shí)施例所提供的眼球驅(qū)動(dòng)方法可以應(yīng)用在對(duì)游戲等中的目標(biāo)對(duì)象的眼球控制中,豐富了對(duì)游戲中目 標(biāo)對(duì)象控制的方式,滿足了用戶通過眼球轉(zhuǎn)動(dòng)對(duì)目標(biāo)對(duì)象進(jìn)行控制的需求,從而進(jìn)一步提高了用戶體驗(yàn)。
實(shí)施例二
本發(fā)明實(shí)施例提供了一種眼球驅(qū)動(dòng)方法,參照?qǐng)D2所示,該方法包括:
201、獲取當(dāng)前視頻幀中人臉的多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo),根據(jù)多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)確定人臉區(qū)域。
具體的,獲取當(dāng)前視頻幀中人臉的多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)可以通過基于形狀回歸的方法對(duì)當(dāng)前視頻幀中的人臉關(guān)鍵點(diǎn)進(jìn)行定位,獲取人臉的多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo),也可以通過sdm(superviseddescentmethod,有監(jiān)督梯度下降法)算法獲取人臉的多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo),還可以通過其他方式獲取,本發(fā)明實(shí)施例對(duì)具體的獲取當(dāng)前視頻幀中人臉的多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)的方式不加以限定。
其中,人臉的多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)可以包括用于描述人臉外圍輪廓的關(guān)鍵點(diǎn)坐標(biāo)和/或內(nèi)部的關(guān)鍵點(diǎn)坐標(biāo),該內(nèi)部的關(guān)鍵點(diǎn)坐標(biāo)包括分別用于描述人臉眉毛、眼睛、鼻子、嘴巴輪廓的關(guān)鍵點(diǎn)坐標(biāo),該人臉的多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)還可以包括其他,本發(fā)明實(shí)施例對(duì)具體的人臉的多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)不加以限定。
示例性的,該人臉的多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)可以包括用于描述該人臉外圍輪廓和內(nèi)部的66個(gè)關(guān)鍵點(diǎn)坐標(biāo)。
根據(jù)多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)確定人臉區(qū)域,可以是根據(jù)位于人臉左右的表示水平距離最寬的兩個(gè)點(diǎn)和人臉上下的表示豎直距離最長(zhǎng)的兩個(gè)點(diǎn)組成的矩形區(qū)域,示例性的,參照?qǐng)D3中a所示的人臉區(qū)域,是由箭頭所指示的左右兩側(cè)的兩個(gè)點(diǎn)和箭頭所指示上下的兩個(gè)點(diǎn)組成的矩形區(qū)域;也可以是包含了用于描述人臉的多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)的預(yù)設(shè)人臉區(qū)域,示例性的,該人臉區(qū)域可以參照?qǐng)D3中b所示;除此之外,該根據(jù)多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)確定人臉區(qū)域也可以是其他的人臉區(qū)域,本發(fā)明實(shí)施例對(duì)具體的人臉區(qū)域不加以限定。
需要說明的是,該根據(jù)多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)確定的人臉區(qū)域可以是矩形,也可以是橢圓形或其他形狀,本發(fā)明實(shí)施例對(duì)具體的人臉區(qū)域的形狀不加以限定。
202、對(duì)人臉區(qū)域的尺寸和/或光照進(jìn)行歸一化處理,得到歸一化后的人臉區(qū)域。
具體的,對(duì)人臉區(qū)域的尺寸進(jìn)行歸一化的過程可以包括:
將人臉區(qū)域的尺寸縮放至預(yù)設(shè)尺寸,優(yōu)選的,該預(yù)設(shè)尺寸可以為128*128;
對(duì)人臉區(qū)域的光照進(jìn)行歸一化的過程可以為:
對(duì)人臉區(qū)域的光照進(jìn)行l(wèi)og變換。
通過對(duì)人臉區(qū)域的尺寸進(jìn)行歸一化處理,可以避免由于尺寸差異對(duì)眼球定位結(jié)果所造成的影響,以及對(duì)人臉區(qū)域的光照進(jìn)行歸一化處理,降低了陰影和光照對(duì)眼球定位的影響,從而進(jìn)一步提高了眼球定位的精確度和穩(wěn)定性。
需要說明的是,步驟202是可選步驟,在實(shí)際應(yīng)用中,在步驟201之后,可以直接執(zhí)行步驟203,無需執(zhí)行步驟202。
203、將歸一化后的人臉區(qū)域轉(zhuǎn)化為頻域數(shù)據(jù)。
具體的,獲取人臉區(qū)域的二維高斯分布圖像g,若在步驟203之前,執(zhí)行步驟202,則獲取歸一化的人臉區(qū)域的二維高斯分布圖像g;
對(duì)二維高斯分布圖像g進(jìn)行快速傅里葉變換,生成與人臉區(qū)域?qū)?yīng)的f,若在步驟203之前,執(zhí)行步驟202,則獲取與歸一化的人臉區(qū)域?qū)?yīng)的f。
根據(jù)g與f,生成與人臉區(qū)域?qū)?yīng)的h,若在步驟203之前,執(zhí)行步驟202,則生成與歸一化的人臉區(qū)域?qū)?yīng)的h。
其中,可以根據(jù)預(yù)設(shè)公式生成與人臉區(qū)域?qū)?yīng)的h,該預(yù)設(shè)公式可以為:
將h與人臉區(qū)域相乘,獲取頻域數(shù)據(jù),若在步驟203之前,執(zhí)行步驟202,則將h與歸一化的人臉區(qū)域相乘,獲取頻域數(shù)據(jù)。
204、通過左右眼濾波器對(duì)人臉區(qū)域進(jìn)行濾波,獲取當(dāng)前視頻幀中人臉的眼球位置的2d坐標(biāo)。
具體的,參照?qǐng)D4所示,該過程可以包括:
2041、通過左右眼濾波器對(duì)頻域數(shù)據(jù)進(jìn)行濾波,根據(jù)濾波后的輸出圖分別構(gòu)建左右眼的感興趣區(qū)域。
具體的,該過程包括:
將頻域數(shù)據(jù)輸入左右眼濾波器,對(duì)頻域數(shù)據(jù)中所包括的像素點(diǎn)的灰度值進(jìn)行濾波,輸出濾波結(jié)果,該濾波結(jié)果包括左右眼興趣區(qū)域以及該左右眼感興趣區(qū)域內(nèi)所有像素點(diǎn)的灰度值;
其中,可以根據(jù)輸出圖中用于描述左右眼的關(guān)鍵點(diǎn)坐標(biāo)計(jì)算左右眼的中心點(diǎn)以及左右眼的長(zhǎng)和寬,分別根據(jù)左右眼的中心點(diǎn)和左右眼的長(zhǎng)和寬分別構(gòu)建左右眼的感興趣區(qū)域。
示例性的,參照?qǐng)D5所示,分別根據(jù)用于描述左眼的序號(hào)為36-41的6個(gè)關(guān)鍵點(diǎn)和用于描述右眼的序號(hào)為42-47的6個(gè)關(guān)鍵點(diǎn)分別計(jì)算左右眼的中心點(diǎn)以及左右眼的長(zhǎng)和寬,以分別構(gòu)建左右眼的感興趣區(qū)域。
需要說明的是,此處構(gòu)建左右眼的感興趣區(qū)域,還可以通過其他方式實(shí)現(xiàn),本發(fā)明實(shí)施例對(duì)具體的方式不加以限定,其中,圖5中所示的左右眼的感興趣區(qū)域只是示例性的。
2042、分別在左右眼的感興趣區(qū)域中,確定濾波輸出結(jié)果中最大值所在的位置坐標(biāo),獲取分別與左右眼的感興趣區(qū)域?qū)?yīng)的左右眼的位置坐標(biāo)。
具體的,確定濾波輸出結(jié)果所包括的灰度值最大值的像素點(diǎn)所在的位置為眼球位置坐標(biāo),該眼球位置坐標(biāo)可以為右眼和/或左眼的眼球位置坐標(biāo)。
在實(shí)際應(yīng)用中,可以先對(duì)左眼進(jìn)行濾波,輸出左眼的眼球位置坐標(biāo),再對(duì)右眼進(jìn)行濾波,輸出右眼的眼球位置坐標(biāo),還可以先對(duì)右眼進(jìn)行濾波,輸出右眼的眼球位置坐標(biāo),再對(duì)左眼進(jìn)行濾波,輸出左眼的眼球位置坐標(biāo),還可以同時(shí)對(duì)左眼和右眼進(jìn)行濾波,同時(shí)輸出左眼的眼球位置坐標(biāo)和右眼的眼球位置坐標(biāo),本發(fā)明實(shí)施例對(duì)具體的濾波順序不加以限定。
2043、判斷左眼的位置坐標(biāo)是否在左眼區(qū)域內(nèi),若判定是,則執(zhí)行步驟2044;若判定否,則執(zhí)行步驟2045。
其中,左眼區(qū)域是指由用于描述左眼輪廓的關(guān)鍵點(diǎn)構(gòu)成的左眼輪廓區(qū)域。
具體的,判斷步驟2043中輸出的左眼的眼球位置坐標(biāo)是否在左眼輪廓區(qū)域的范圍內(nèi),若是,則執(zhí)行步驟2044;若判定否,則執(zhí)行步驟2045。
示例性的,參照步驟2041中的示例所述,若左眼輪廓區(qū)域是由用于描述左眼輪廓的序號(hào)為36-41的6個(gè)關(guān)鍵點(diǎn)組成的眼睛輪廓區(qū)域,則判斷2043中輸出的左眼的眼球位置坐標(biāo)是否在由序號(hào)為36-41的6個(gè)關(guān)鍵點(diǎn)組成的眼睛輪廓區(qū)域內(nèi),若是,則執(zhí)行步驟2044;若判定否,則執(zhí)行步驟2045。
2044、確定左眼的位置坐標(biāo)為左眼的眼球位置的2d坐標(biāo)。
具體的,將步驟2043中輸出的左眼的眼球位置坐標(biāo)作為左眼的眼球位置的2d坐標(biāo),本發(fā)明實(shí)施例對(duì)具體的確定方式不加以限定。
2045、根據(jù)左眼的關(guān)鍵點(diǎn)信息,計(jì)算眼球位置的位置坐標(biāo),將計(jì)算所得的位置坐標(biāo)作為左眼的眼球位置的2d坐標(biāo)。
具體的,根據(jù)左眼的關(guān)鍵點(diǎn)信息,通過預(yù)設(shè)公式計(jì)算左眼球位置的位置坐標(biāo),該預(yù)設(shè)公式可以是:
其中,i是指人臉圖像的灰度圖,
將通過該預(yù)設(shè)公式計(jì)算所得的位置坐標(biāo)作為左眼的眼球位置的2d坐標(biāo)。
2046、判斷右眼的位置坐標(biāo)是否在右眼區(qū)域內(nèi),若判定是,則執(zhí)行步驟2047;若判定否,則執(zhí)行步驟2048。
其中,右眼區(qū)域是指由用于描述右眼輪廓的關(guān)鍵點(diǎn)構(gòu)成的右眼輪廓區(qū)域。
具體的,判斷步驟2043中輸出的右眼的眼球位置坐標(biāo)是否在右眼輪廓區(qū)域的范圍內(nèi),若是,則執(zhí)行步驟2047;若判定否,則執(zhí)行步驟2048。
示例性的,參照步驟2041中的示例所述,若右眼輪廓區(qū)域是由用于描述右眼輪廓的序號(hào)為42-47的6個(gè)關(guān)鍵點(diǎn)組成的眼睛輪廓區(qū)域,則判斷2043中輸出 的右眼的眼球位置坐標(biāo)是否在由序號(hào)為42-47的6個(gè)關(guān)鍵點(diǎn)組成的眼睛輪廓區(qū)域內(nèi),若判定是,則執(zhí)行步驟2047;若判定否,則執(zhí)行步驟2048。
2047、確定右眼的位置坐標(biāo)為右眼的眼球位置的2d坐標(biāo)。
具體的,將步驟2043中輸出的左右眼的眼球位置坐標(biāo)作為右眼的眼球位置的2d坐標(biāo),本發(fā)明實(shí)施例對(duì)具體的確定方式不加以限定。
2048、根據(jù)右眼的關(guān)鍵點(diǎn)信息,計(jì)算眼球位置的位置坐標(biāo),將計(jì)算所得的位置坐標(biāo)作為右眼的眼球位置的2d坐標(biāo)。
具體的,根據(jù)右眼的關(guān)鍵點(diǎn)信息,通過預(yù)設(shè)公式計(jì)算右眼球位置的位置坐標(biāo),該預(yù)設(shè)公式與步驟2045中的相同,此處不再加以贅述。
將通過該預(yù)設(shè)公式計(jì)算所得的位置坐標(biāo)作為右眼的眼球位置的2d坐標(biāo)。
值得注意的是,在該步驟204中的步驟2043-2045和步驟2046-2048可以按照上述順序執(zhí)行,也可以先執(zhí)行步驟2046-2048再行步驟2043-2045,也可以同時(shí)執(zhí)行步驟2043-2045和步驟2046-2048,本發(fā)明實(shí)施例對(duì)執(zhí)行步驟2043-2045和步驟2046-2048的順序不加以限定。
通過判斷濾波后獲取人臉的左右眼球位置的2d坐標(biāo)是否分別在左右眼區(qū)域內(nèi),這樣避免了當(dāng)用戶帶有黑框眼鏡或眼睛周邊有類似眼球黑色色彩存在時(shí),對(duì)眼球定位的尖峰位置造成的干擾,從而避免了因?yàn)殄e(cuò)誤的尖峰位置造成眼球定位錯(cuò)誤的情況,從而進(jìn)一步提高了眼球定位的準(zhǔn)確性,保證了通過眼球定位進(jìn)行目標(biāo)對(duì)象眼球驅(qū)動(dòng)的準(zhǔn)確性,從而進(jìn)一步提高了用戶體驗(yàn)。
可選的,參照?qǐng)D6所示,在執(zhí)行步驟2044和步驟2045,該方法還包括:
2049、在左眼的位置坐標(biāo)的周邊預(yù)設(shè)區(qū)域內(nèi)進(jìn)行積分投影,根據(jù)積分最小值的位置的坐標(biāo)調(diào)整左眼的眼球位置的2d坐標(biāo)。
具體的,為了進(jìn)一步得到精度更高的定位點(diǎn),分別在已經(jīng)得到的左右眼球位置的2d坐標(biāo)點(diǎn)的周邊預(yù)設(shè)區(qū)域內(nèi)分別在水平和垂直方向?qū)y理信息進(jìn)行積分投影,然后確定積分最小值的位置的坐標(biāo)為最終的眼球位置的2d坐標(biāo)。
優(yōu)選的,該預(yù)設(shè)區(qū)域可以是左右眼球位置的2d坐標(biāo)點(diǎn)的周邊7*7的區(qū)域。
通過在確定濾波輸出結(jié)果中最大值所在的位置坐標(biāo)為眼球位置坐標(biāo)之后,進(jìn)一步進(jìn)行積分投影計(jì)算,驗(yàn)證所得到的眼球位置坐標(biāo)的準(zhǔn)確性,從而保證了對(duì)眼球位置坐標(biāo)的準(zhǔn)確性,從而進(jìn)一步提高了眼球定位的精確度。
在執(zhí)行步驟2047和步驟2048之后,方法還包括:
20410、在右眼的位置坐標(biāo)的周邊預(yù)設(shè)區(qū)域內(nèi)進(jìn)行積分投影,根據(jù)積分最小值的位置的坐標(biāo)調(diào)整右眼的眼球位置的2d坐標(biāo)。
具體的,該過程與步驟2049相似,此處不再加以贅述。
205、根據(jù)3d模型數(shù)據(jù),計(jì)算多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)與對(duì)應(yīng)的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo)之間的轉(zhuǎn)換關(guān)系。
該3d模型數(shù)據(jù)可以是3d線性形狀增益模型,該過程具體包括:
首先訓(xùn)練3d線性形狀增益模型,在數(shù)據(jù)集,例如multi-pie數(shù)據(jù)集中采用“從運(yùn)動(dòng)中恢復(fù)結(jié)構(gòu)”的3d重構(gòu)技術(shù),對(duì)多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)數(shù)據(jù)集計(jì)算對(duì)應(yīng)的3d點(diǎn)坐標(biāo)點(diǎn),再對(duì)用于描述人臉內(nèi)部的關(guān)鍵點(diǎn)分成三部分,該三個(gè)部分分別用于描述眼睛、眉毛、以及嘴巴或鼻子的輪廓的關(guān)鍵點(diǎn),對(duì)于每個(gè)部分進(jìn)行奇異值分解,得到ψeyes,ψeyebrows,ψmouth,再將每個(gè)部分進(jìn)行重組,這樣就得到了3d表情形狀增益模型ψ。
根據(jù)訓(xùn)練得到了的3d表情形狀增益模型ψ,通過預(yù)設(shè)公式計(jì)算該轉(zhuǎn)換關(guān)系,該預(yù)設(shè)公式可以為:
其中,s表示縮放尺度,r表示旋轉(zhuǎn)矩陣,t表示偏移量,
對(duì)該轉(zhuǎn)換關(guān)系的進(jìn)行計(jì)算最小化二乘的最優(yōu)解,公式如下:
其中,xi,yi為當(dāng)前視頻幀中的人臉的2d關(guān)鍵點(diǎn)坐標(biāo)點(diǎn),zi是相對(duì)深度值,ε是閾值,ρ表示懲罰項(xiàng)。
通過訓(xùn)練3d線性形狀增益模型計(jì)算轉(zhuǎn)換關(guān)系,以及對(duì)轉(zhuǎn)換關(guān)系的進(jìn)行計(jì)算最小化二乘的最優(yōu)解,這樣確保了通過轉(zhuǎn)換關(guān)系計(jì)算的3d坐標(biāo)的準(zhǔn)確性,同時(shí)因?yàn)橛?jì)算2d關(guān)鍵點(diǎn)坐標(biāo)與對(duì)應(yīng)的3d關(guān)鍵點(diǎn)坐標(biāo)轉(zhuǎn)換關(guān)系可以是在線下進(jìn)行了,避免在移動(dòng)端運(yùn)行時(shí)對(duì)處理資源的占用,從而進(jìn)一步提高了在移動(dòng)端的運(yùn)行速度。
206、將多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)轉(zhuǎn)換為對(duì)應(yīng)的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo)。
具體的,根據(jù)步驟205中計(jì)算的轉(zhuǎn)換關(guān)系,將多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)計(jì)算轉(zhuǎn)換為對(duì)應(yīng)的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo)。
需要說明的是,計(jì)算獲得的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo)為歸一化以及正面化的坐標(biāo)。
通過將多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)轉(zhuǎn)換為對(duì)應(yīng)的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo),這樣使得獲取的即時(shí)視頻幀中的人臉的關(guān)鍵點(diǎn)的尺度保持一致,同時(shí)進(jìn)行了正面化,從而避免了人臉處于側(cè)面或尺度不一致時(shí)對(duì)眼球定位造成的影響,從而進(jìn)一步提高了眼球定位的精確度和準(zhǔn)確性,提高了通過該3d坐標(biāo)進(jìn)行目標(biāo)對(duì)象眼球位置驅(qū)動(dòng)的準(zhǔn)確性。
207、根據(jù)多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)與對(duì)應(yīng)的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo)之間的轉(zhuǎn)換關(guān)系,將眼球位置的2d坐標(biāo)轉(zhuǎn)換為眼球位置的3d坐標(biāo)。
具體的,根據(jù)步驟205中計(jì)算的轉(zhuǎn)換關(guān)系,將眼球位置的2d坐標(biāo)轉(zhuǎn)換為眼球位置的3d坐標(biāo)。
通過根據(jù)轉(zhuǎn)換關(guān)系將眼球位置的2d坐標(biāo)轉(zhuǎn)換為眼球位置的3d坐標(biāo),使得在該尺度一致以及正面化后的3d空間中獲取該眼球位置的3d坐標(biāo),進(jìn)一步提高了眼球定位的精確度,并通過該3d坐標(biāo)進(jìn)行驅(qū)動(dòng)目標(biāo)對(duì)象的眼球位置,進(jìn)一步提高了眼球驅(qū)動(dòng)的精確度和穩(wěn)定性。
208、根據(jù)眼球位置的3d坐標(biāo)與眼球的初始位置的3d坐標(biāo),驅(qū)動(dòng)目標(biāo)對(duì)象的眼球位置。
其中,眼球的初始位置和目標(biāo)對(duì)象的眼球初始位置相對(duì)應(yīng)。
具體的,該過程包括:
a、分別獲取左右眼的眼球位置的3d坐標(biāo)與左右眼的眼球的初始位置的3d坐標(biāo)的相對(duì)偏移量。
具體的,該過程可以包括:
分別將左右眼的眼球位置的3d坐標(biāo)與左右眼的眼球的初始位置的3d坐標(biāo)進(jìn)行對(duì)比,根據(jù)對(duì)比結(jié)果分別獲取左右眼的偏移量;
根據(jù)偏移量和對(duì)應(yīng)的左右眼的感興趣區(qū)域的寬和高,分別計(jì)算相對(duì)偏移量。
左右眼的感興趣區(qū)域與步驟2041中構(gòu)建的左右眼的感興趣區(qū)域可以相同,也可以不同,本發(fā)明實(shí)施例對(duì)此不加以限定。
優(yōu)選的,根據(jù)步驟2041中構(gòu)建的左右眼的感興趣區(qū)域,分別獲取左右眼的感興趣區(qū)域的長(zhǎng)和寬。
其中,獲取的左右眼的偏移量具有x軸和y軸的分量。
將左右眼的偏移量在x軸和y軸的分量分別除以對(duì)應(yīng)的左右眼的感興趣區(qū)域的長(zhǎng)和寬,分別計(jì)算x軸和y軸的相對(duì)偏移量,從而分別獲取相對(duì)偏移量。
b、將左右眼的相對(duì)偏移量分別映射到目標(biāo)對(duì)象的左右眼的眼球位置的3d坐標(biāo)。
具體的,將x軸和y軸的相對(duì)偏移量分別乘以目標(biāo)對(duì)象的左右眼的感興趣區(qū)域的長(zhǎng)和寬,獲取目標(biāo)對(duì)象的左右眼的感興趣區(qū)域的長(zhǎng)和寬在x軸和y軸的偏移量,再根據(jù)x軸和y軸的偏移量,調(diào)整目標(biāo)對(duì)象的左右眼的眼球位置的3d坐標(biāo)。
可選的,執(zhí)行步驟208的該步驟b之后,還可以包括:
根據(jù)前一幀獲取的轉(zhuǎn)換2d坐標(biāo)對(duì)當(dāng)前轉(zhuǎn)換的2d坐標(biāo)進(jìn)行預(yù)設(shè)比例加權(quán)調(diào)整,獲取調(diào)整后的2d坐標(biāo)。
優(yōu)選的,該預(yù)設(shè)比例可以為0.4和0.6。
具體的,將前一幀獲取的轉(zhuǎn)換2d坐標(biāo)與當(dāng)前轉(zhuǎn)換的2d坐標(biāo)按照預(yù)設(shè)比例進(jìn)行加權(quán),獲取調(diào)整后的2d坐標(biāo)。
通過將前一幀獲取的轉(zhuǎn)換2d坐標(biāo)與當(dāng)前轉(zhuǎn)換的2d坐標(biāo)按照預(yù)設(shè)比例的進(jìn) 行加權(quán),使得獲取的驅(qū)動(dòng)后的2d眼球坐標(biāo)過度更加自然,從而進(jìn)行提高了用戶體驗(yàn),滿足了用戶需求。
c、將目標(biāo)對(duì)象的左右眼的眼球位置的3d坐標(biāo)轉(zhuǎn)換為2d坐標(biāo),驅(qū)動(dòng)目標(biāo)對(duì)象的眼球位置。
具體的,根據(jù)步驟205中計(jì)算的轉(zhuǎn)換關(guān)系,將目標(biāo)對(duì)象的左右眼的眼球位置的3d坐標(biāo)轉(zhuǎn)換回2d坐標(biāo),驅(qū)動(dòng)目標(biāo)對(duì)象的眼球位置。
209、顯示驅(qū)動(dòng)后的目標(biāo)對(duì)象的眼球。
具體的,根據(jù)步驟208中c步驟中轉(zhuǎn)換回的2d坐標(biāo)在目標(biāo)對(duì)象中顯示左右眼的眼球。
可選的,若執(zhí)行步驟209之前執(zhí)行根據(jù)前一幀獲取的轉(zhuǎn)換2d坐標(biāo)對(duì)當(dāng)前轉(zhuǎn)換的2d坐標(biāo)進(jìn)行預(yù)設(shè)比例加權(quán)調(diào)整,獲取調(diào)整后的2d坐標(biāo),則步驟2012的過程還可以為:
根據(jù)調(diào)整后的2d坐標(biāo),顯示驅(qū)動(dòng)后的目標(biāo)對(duì)象的眼球。
通過根據(jù)調(diào)整后的2d坐標(biāo),顯示驅(qū)動(dòng)后的目標(biāo)對(duì)象的眼球,使得驅(qū)動(dòng)后的目標(biāo)對(duì)象的眼球顯示更加自然,從而進(jìn)行提高了用戶體驗(yàn),滿足了用戶需求。
可選的,參照?qǐng)D7所示,若本發(fā)明實(shí)施例的左右眼濾波器是預(yù)先生成的,則方法還包括生成左右眼濾波器的過程,則在執(zhí)行步驟201之前,還包括以下步驟:
701、獲取多個(gè)人眼訓(xùn)練樣本。
具體的,該多個(gè)人眼訓(xùn)練樣本包括多個(gè)右眼訓(xùn)練樣本和多個(gè)左眼訓(xùn)練樣本,在實(shí)際應(yīng)用中,可以根據(jù)同一個(gè)人眼訓(xùn)練樣本,分別生成對(duì)應(yīng)的右眼訓(xùn)練樣本和左眼訓(xùn)練樣本。
獲取多個(gè)右眼訓(xùn)練樣本和多個(gè)左眼訓(xùn)練樣本的過程可以為:
從本地的樣本庫中獲取多個(gè)人臉圖像;或者
從網(wǎng)絡(luò)側(cè)的數(shù)據(jù)庫中獲取多個(gè)人臉圖像,示例性的,該數(shù)據(jù)庫可以為bio1d或者muct;或者
還可以通過識(shí)別從網(wǎng)絡(luò)側(cè)或者本地的多個(gè)圖片中識(shí)別出多個(gè)滿足預(yù)設(shè)條件的圖片,并將該多個(gè)圖片作為人臉圖像。
識(shí)別該多個(gè)人臉圖像中的右眼,生成多個(gè)右眼訓(xùn)練樣本,以及識(shí)別該多個(gè)人臉圖像中的左眼,生成多個(gè)左眼訓(xùn)練樣本。
對(duì)多個(gè)右眼訓(xùn)練樣本中的人臉進(jìn)行定位,獲取人臉的多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo),根據(jù)多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)確定人臉區(qū)域,以及將右眼訓(xùn)練樣本中的確定的人臉區(qū)域裁剪為矩形;以及對(duì)多個(gè)左眼訓(xùn)練樣本中的人臉進(jìn)行定位,獲取人臉的多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo),根據(jù)多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)確定人臉區(qū)域,以及將左眼訓(xùn)練樣本中的確定的人臉區(qū)域裁剪為矩形。
還可以將多個(gè)右眼訓(xùn)練樣本和多個(gè)左眼訓(xùn)練樣本的尺寸縮放至預(yù)設(shè)尺寸,優(yōu)選的,該預(yù)設(shè)尺寸可以為128*128;
通過對(duì)多個(gè)右眼訓(xùn)練樣本和多個(gè)左眼訓(xùn)練樣本的尺寸進(jìn)行歸一化處理,可以避免由于尺寸差異所造成的訓(xùn)練結(jié)果差異,進(jìn)而提高左右眼濾波器識(shí)別人眼的準(zhǔn)確率,從而進(jìn)一步提高了眼球定位的精確度。
可選的,為了獲取更多的右眼訓(xùn)練樣本和左眼訓(xùn)練樣本,還可以對(duì)多個(gè)右眼訓(xùn)練樣本和多個(gè)左眼訓(xùn)練樣本執(zhí)行以下操作:
對(duì)該多個(gè)右眼訓(xùn)練樣本和多個(gè)左眼訓(xùn)練樣本分別進(jìn)行左右旋轉(zhuǎn)±π/20、上下左右平移各4個(gè)像素以及將圖像縮放1.0±0.1倍中的至少一個(gè),以獲取更多的多個(gè)右眼訓(xùn)練樣本和多個(gè)左眼訓(xùn)練樣本。
通過根據(jù)一個(gè)樣本生成多個(gè)樣本,從而除了獲取更多的右眼訓(xùn)練樣本和左眼訓(xùn)練樣本之外,還可以通過比較該一個(gè)樣本所產(chǎn)生的多個(gè)樣本之間的訓(xùn)練結(jié)果,檢驗(yàn)該左右眼濾波器的準(zhǔn)確性。
可選的,對(duì)多個(gè)右眼訓(xùn)練樣本和多個(gè)左眼訓(xùn)練樣本進(jìn)行l(wèi)og變換。通過對(duì)多個(gè)右眼訓(xùn)練樣本和多個(gè)左眼訓(xùn)練樣本進(jìn)行l(wèi)og變換,可以降低陰影和光照的影響,提高左右眼濾波器識(shí)別人眼的準(zhǔn)確率,從而進(jìn)一步提高了眼球定位的精確度和穩(wěn)定性。
此外,還可對(duì)多個(gè)右眼訓(xùn)練樣本和多個(gè)左眼訓(xùn)練樣本進(jìn)行歸一化,例如歸一化至[0,1]。
702、生成與多個(gè)人眼訓(xùn)練樣本分別對(duì)應(yīng)的多個(gè)精確濾波器。
具體的,分別獲取與多個(gè)右眼訓(xùn)練樣本和多個(gè)左眼訓(xùn)練樣本對(duì)應(yīng)的二維高斯分布圖像g,該過程可以是通過第一預(yù)設(shè)公式實(shí)現(xiàn)的,該第一預(yù)設(shè)公式可以為:
其中xcyc表示左眼或右眼的坐標(biāo)位置,δ表示控制峰值的范圍。
其中,δ的取值直接影響到整個(gè)濾波器的檢測(cè)精確度和抗噪性能,所以通過第二預(yù)設(shè)公式確定δ的取值:
其中,下標(biāo)left表示左眼,下標(biāo)right表示右眼,test表示通過濾波器定位出來的眼球坐標(biāo)點(diǎn),true表示真實(shí)地人工標(biāo)注的眼球坐標(biāo)點(diǎn),error表示測(cè)量準(zhǔn)則。
對(duì)δ分別取正整數(shù),并根據(jù)該預(yù)設(shè)公式進(jìn)行驗(yàn)證,在實(shí)際應(yīng)用中,δ可以取[2,4]之間的正整數(shù)。
對(duì)右眼和/或左眼的二維高斯分布圖像g進(jìn)行快速傅里葉變換,生成與多個(gè)右眼訓(xùn)練樣本和多個(gè)左眼訓(xùn)練樣本分別對(duì)應(yīng)的f。
利用空間域與頻域之間的關(guān)系,生成與多個(gè)右眼訓(xùn)練樣本和多個(gè)左眼訓(xùn)練樣本分別對(duì)應(yīng)的多個(gè)精確濾波器,該過程可以是通過第三預(yù)設(shè)公式實(shí)現(xiàn)的,該第三預(yù)設(shè)公式可以為:
其中,h*(w,v)即為與多個(gè)右眼訓(xùn)練樣本和多個(gè)左眼訓(xùn)練樣本對(duì)應(yīng)的多個(gè)精 確濾波器,其中,精確濾波器包括精確右眼濾波器和/或精確左眼濾波器。
703、根據(jù)多個(gè)精確濾波器,生成左右眼濾波器。
具體的,通過傅里葉變換的線性操作特性,將精確右眼濾波器和精確左眼濾波器的平均值,分別生成右眼濾波器和左眼濾波器,該過程可以是通過第四預(yù)設(shè)公式實(shí)現(xiàn),該第四預(yù)設(shè)公式可以為:
hava(x,y)=hava*(w,v)
其中,
通過將精確右眼濾波器和精確左眼濾波器的平均值,分別生成右眼濾波器和左眼濾波器,避免了訓(xùn)練樣本之間的差異對(duì)左右眼濾波器準(zhǔn)確性的影響,從而提高了左右眼濾波器識(shí)別人眼的準(zhǔn)確率。
要說明的是,上述步驟702-703中對(duì)左眼和右眼并行操作獲取左右眼濾波器僅是示例,也可以先對(duì)左眼進(jìn)行上述相關(guān)操作獲取左眼濾波器之后,再對(duì)右眼進(jìn)行上述相關(guān)操作獲取右眼濾波器,從而獲取左右眼濾波器,或者也可以先對(duì)右眼進(jìn)行上述相關(guān)操作獲取右眼濾波器之后,再對(duì)左眼進(jìn)行上述相關(guān)操作獲取左眼濾波器,從而獲取左右眼濾波器,本發(fā)明實(shí)施例對(duì)此不加以限定。
可選的,參照?qǐng)D8所示,在執(zhí)行步驟208之前,方法還包括:
801、獲取目標(biāo)對(duì)象的多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)和眼球位置的2d坐標(biāo)。
具體的,獲取目標(biāo)對(duì)象的多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)和眼球位置的2d坐標(biāo)可以是線下手工標(biāo)記獲取,也可以是對(duì)實(shí)時(shí)獲取的目標(biāo)對(duì)象進(jìn)行步驟201至步驟205的方式進(jìn)行定位,本發(fā)明實(shí)施例對(duì)此不加以限定。
802、計(jì)算目標(biāo)對(duì)象的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo)和眼球位置的3d坐標(biāo)。
具體的,通過步驟205計(jì)算的轉(zhuǎn)換關(guān)系計(jì)算目標(biāo)對(duì)象的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo)和眼球位置的3d坐標(biāo),此處再不加以贅述。
值得注意的是,可以是先執(zhí)行步驟201至步驟207,再執(zhí)行步驟801和步驟802,也可以先執(zhí)行步驟801和步驟802,再執(zhí)行步驟201至步驟207,也可以是在執(zhí)行步驟201至步驟207的過程中,執(zhí)行步驟801和步驟802,還可以是線下執(zhí)行步驟801和步驟802。
本發(fā)明實(shí)施例提供了一種眼球驅(qū)動(dòng)方法,通過根據(jù)眼球位置的3d坐標(biāo)與該眼球的初始位置的3d坐標(biāo),驅(qū)動(dòng)目標(biāo)對(duì)象的眼球位置,提高了眼球定位及驅(qū)動(dòng)的精確度和穩(wěn)定性,同時(shí)能夠在移動(dòng)端高效運(yùn)行,提高了用戶體驗(yàn),滿足了用戶通過眼球轉(zhuǎn)動(dòng)控制目標(biāo)對(duì)象的需求;另外,通過左右眼濾波器對(duì)人臉區(qū)域進(jìn)行濾波,獲取所述當(dāng)前視頻幀中人臉的眼球位置的2d坐標(biāo),這樣相較于傳統(tǒng)的單純依賴圖片紋理信息或者僅通過濾波器定位眼球的方法而言,本發(fā)明實(shí)施例的方法將濾波器定位眼球和人臉關(guān)鍵點(diǎn)定位技術(shù)相結(jié)合,從而進(jìn)一步提高了眼球定位的精確度和穩(wěn)定性,同時(shí)因?yàn)闉V波器可以是線下訓(xùn)練獲得的,使得該方法在移動(dòng)端運(yùn)行時(shí)無需再占用處理資源,進(jìn)一步提高了在移動(dòng)端的運(yùn)行速度,提高了用戶體驗(yàn),滿足了用戶需求;另外,將所述多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)轉(zhuǎn)換為對(duì)應(yīng)的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo),這樣使得獲取的即時(shí)視頻幀中的人臉的關(guān)鍵點(diǎn)的尺度保持一致,同時(shí)進(jìn)行了正面化,從而避免了人臉處于側(cè)面或尺度不一致時(shí)對(duì)眼球定位造成的影響,同時(shí),將眼球位置的2d坐標(biāo)轉(zhuǎn)換為眼球位置的3d坐標(biāo),使得在該尺度一致以及正面化后的3d空間中獲取該眼球位置的3d坐標(biāo),進(jìn)一步提高了眼球定位的精確度,并通過該3d坐標(biāo)進(jìn)行驅(qū)動(dòng)目標(biāo)對(duì)象的眼球位置,進(jìn)一步提高了眼球驅(qū)動(dòng)的精確度和穩(wěn)定性;另外,本發(fā)明實(shí)施例所提供的眼球驅(qū)動(dòng)方法可以應(yīng)用在對(duì)游戲等中的目標(biāo)對(duì)象的眼球控制中,豐富了對(duì)游戲中目標(biāo)對(duì)象控制的方式,滿足了用戶通過眼球轉(zhuǎn)動(dòng)對(duì)目標(biāo)對(duì)象進(jìn)行控制的需求,從而進(jìn)一步提高了用戶體驗(yàn)。
實(shí)施例三
本發(fā)明實(shí)施例提供了一種電子設(shè)備9,參照?qǐng)D9所示,該電子設(shè)備包括:
獲取關(guān)鍵點(diǎn)模塊91,用于獲取當(dāng)前視頻幀中人臉的多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo);
人臉區(qū)域確定模塊92,用于根據(jù)多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)確定人臉區(qū)域;
濾波模塊93,用于通過左右眼濾波器對(duì)人臉區(qū)域進(jìn)行濾波,獲取當(dāng)前視頻幀中人臉的眼球位置的2d坐標(biāo);
關(guān)鍵點(diǎn)轉(zhuǎn)換模塊94,用于將多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)轉(zhuǎn)換為對(duì)應(yīng)的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo);
關(guān)鍵點(diǎn)轉(zhuǎn)換模塊94,還用于根據(jù)多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)與對(duì)應(yīng)的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo)之間的轉(zhuǎn)換關(guān)系,將眼球位置的2d坐標(biāo)轉(zhuǎn)換為眼球位置的3d坐標(biāo);
驅(qū)動(dòng)模塊95,用于根據(jù)眼球位置的3d坐標(biāo)與眼球的初始位置的3d坐標(biāo),驅(qū)動(dòng)目標(biāo)對(duì)象的眼球位置;
顯示模塊96,用于顯示驅(qū)動(dòng)后的目標(biāo)對(duì)象的眼球。
可選,設(shè)備還包括:
歸一化處理模塊97,用于對(duì)人臉區(qū)域的尺寸和/或光照進(jìn)行歸一化處理,得到歸一化后的人臉區(qū)域;
頻域轉(zhuǎn)換模塊98,用于將歸一化后的人臉區(qū)域轉(zhuǎn)化為頻域數(shù)據(jù)。
可選的,濾波模塊93包括構(gòu)建模塊931、位置確定模塊932、判斷模塊933以及計(jì)算模塊934;
構(gòu)建模塊931,用于通過左右眼濾波器對(duì)頻域數(shù)據(jù)進(jìn)行濾波,根據(jù)濾波后的輸出圖分別構(gòu)建左右眼的感興趣區(qū)域;
位置確定模塊932,用于分別在左右眼的感興趣區(qū)域中,確定濾波輸出結(jié)果中最大值所在的位置坐標(biāo),獲取分別與左右眼的感興趣區(qū)域?qū)?yīng)的左右眼的位置坐標(biāo);
判斷模塊933,用于判斷左眼的位置坐標(biāo)是否在左眼區(qū)域內(nèi),當(dāng)判斷是時(shí),則觸發(fā)位置確定模塊932確定左眼的位置坐標(biāo)為左眼的眼球位置的2d坐標(biāo),當(dāng)判定否時(shí),則根據(jù)左眼的關(guān)鍵點(diǎn)信息,觸發(fā)計(jì)算模塊934計(jì)算眼球位置的位置坐標(biāo),將計(jì)算所得的位置坐標(biāo)作為左眼的眼球位置的2d坐標(biāo);以及
判斷模塊933,還用于判斷右眼的位置坐標(biāo)是否在右眼區(qū)域內(nèi),當(dāng)判定是時(shí), 則觸發(fā)位置確定932模塊確定右眼的位置坐標(biāo)為右眼的眼球位置的2d坐標(biāo),當(dāng)判定否時(shí),則根據(jù)右眼的關(guān)鍵點(diǎn)信息,觸發(fā)計(jì)算模塊934計(jì)算眼球位置的位置坐標(biāo),將計(jì)算所得的位置坐標(biāo)作為右眼的眼球位置的2d坐標(biāo)。
可選的,設(shè)備還包括:
積分確定模塊99,用于在位置坐標(biāo)的周邊預(yù)設(shè)區(qū)域內(nèi)進(jìn)行積分投影,根據(jù)積分最小值的位置的坐標(biāo)調(diào)整左眼的眼球位置的2d坐標(biāo)和/或右眼的眼球位置的2d坐標(biāo)。
可選的,設(shè)備還包括:
樣本獲取模塊910,用于獲取多個(gè)人眼訓(xùn)練樣本;
精確濾波器生成模塊911,用于生成與多個(gè)人眼訓(xùn)練樣本分別對(duì)應(yīng)的多個(gè)精確濾波器;
左右眼濾波器生成模塊912,用于根據(jù)多個(gè)精確濾波器,生成左右眼濾波器。
可選的,設(shè)備還包括:
轉(zhuǎn)換關(guān)系計(jì)算模塊913,用于根據(jù)3d模型數(shù)據(jù),計(jì)算多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)與對(duì)應(yīng)的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo)之間的轉(zhuǎn)換關(guān)系。
可選的,設(shè)備還包括:
目標(biāo)對(duì)象關(guān)鍵點(diǎn)獲取模塊914,用于獲取目標(biāo)對(duì)象的多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)和眼球位置的2d坐標(biāo);
目標(biāo)對(duì)象3d坐標(biāo)計(jì)算模塊915,用于計(jì)算目標(biāo)對(duì)象的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo)和眼球位置的3d坐標(biāo)。
可選的,驅(qū)動(dòng)模塊95還包括:
偏移量獲取模塊951,用于分別獲取左右眼的眼球位置的3d坐標(biāo)與左右眼的眼球的初始位置的3d坐標(biāo)的相對(duì)偏移量;
映射模塊952,用于將左右眼的相對(duì)偏移量分別映射到目標(biāo)對(duì)象的左右眼的眼球位置的3d坐標(biāo);以及
目標(biāo)對(duì)象坐標(biāo)轉(zhuǎn)換模塊953,用于將目標(biāo)對(duì)象的左右眼的眼球位置的3d坐 標(biāo)轉(zhuǎn)換為2d坐標(biāo),驅(qū)動(dòng)目標(biāo)對(duì)象的眼球位置;
其中,眼球的初始位置和目標(biāo)對(duì)象的眼球初始位置相對(duì)應(yīng)。
可選的,偏移量獲取模塊951還包括:
對(duì)比模塊9511,用于分別將左右眼的眼球位置的3d坐標(biāo)與左右眼的眼球的初始位置的3d坐標(biāo)進(jìn)行對(duì)比,根據(jù)對(duì)比結(jié)果分別獲取左右眼的偏移量;
相對(duì)偏移量計(jì)算模塊9512,用于根據(jù)偏移量和對(duì)應(yīng)的左右眼的感興趣區(qū)域的寬和高,分別計(jì)算相對(duì)偏移量。
可選的,目標(biāo)對(duì)象坐標(biāo)轉(zhuǎn)換模塊953還包括:
調(diào)整模塊9531,用于根據(jù)前一幀獲取的轉(zhuǎn)換2d坐標(biāo)對(duì)當(dāng)前轉(zhuǎn)換的2d坐標(biāo)進(jìn)行預(yù)設(shè)比例加權(quán)調(diào)整,獲取調(diào)整后的2d坐標(biāo)。
可選的,顯示模塊96具體用于:
根據(jù)調(diào)整后的2d坐標(biāo),顯示驅(qū)動(dòng)后的目標(biāo)對(duì)象的眼球。
本發(fā)明實(shí)施例提供了一種電子設(shè)備,該電子設(shè)備通過根據(jù)眼球位置的3d坐標(biāo)與該眼球的初始位置的3d坐標(biāo),驅(qū)動(dòng)目標(biāo)對(duì)象的眼球位置,提高了眼球定位及驅(qū)動(dòng)的精確度和穩(wěn)定性,同時(shí)能夠在移動(dòng)端高效運(yùn)行,提高了用戶體驗(yàn),滿足了用戶通過眼球轉(zhuǎn)動(dòng)控制目標(biāo)對(duì)象的需求;另外,通過左右眼濾波器對(duì)人臉區(qū)域進(jìn)行濾波,獲取所述當(dāng)前視頻幀中人臉的眼球位置的2d坐標(biāo),這樣相較于傳統(tǒng)的單純依賴圖片紋理信息或者僅通過濾波器定位眼球的方法而言,本發(fā)明實(shí)施例的方法將濾波器定位眼球和人臉關(guān)鍵點(diǎn)定位技術(shù)相結(jié)合,從而進(jìn)一步提高了眼球定位的精確度和穩(wěn)定性,同時(shí)因?yàn)闉V波器可以是線下訓(xùn)練獲得的,使得該方法在移動(dòng)端運(yùn)行時(shí)無需再占用處理資源,進(jìn)一步提高了在移動(dòng)端的運(yùn)行速度,提高了用戶體驗(yàn),滿足了用戶需求;另外,將所述多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)轉(zhuǎn)換為對(duì)應(yīng)的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo),這樣使得獲取的即時(shí)視頻幀中的人臉的關(guān)鍵點(diǎn)的尺度保持一致,同時(shí)進(jìn)行了正面化,從而避免了人臉處于側(cè)面或尺度不一致時(shí)對(duì)眼球定位造成的影響,同時(shí),將眼球位置的2d坐標(biāo)轉(zhuǎn)換為眼球位置的3d坐標(biāo),使得在該尺度一致以及正面化后的3d空間中獲取該眼球位置的3d坐標(biāo), 進(jìn)一步提高了眼球定位的精確度,并通過該3d坐標(biāo)進(jìn)行驅(qū)動(dòng)目標(biāo)對(duì)象的眼球位置,進(jìn)一步提高了眼球驅(qū)動(dòng)的精確度和穩(wěn)定性;另外,本發(fā)明實(shí)施例所提供的眼球驅(qū)動(dòng)方法可以應(yīng)用在對(duì)游戲等中的目標(biāo)對(duì)象的眼球控制中,豐富了對(duì)游戲中目標(biāo)對(duì)象控制的方式,滿足了用戶通過眼球轉(zhuǎn)動(dòng)對(duì)目標(biāo)對(duì)象進(jìn)行控制的需求,從而進(jìn)一步提高了用戶體驗(yàn)。
實(shí)施例四
本發(fā)明實(shí)施例提供了一種電子設(shè)備10,參照?qǐng)D10所示,該電子設(shè)備包括顯示屏1001、攝像頭1002、存儲(chǔ)器1003以及與顯示屏1001、攝像頭1002、存儲(chǔ)器1003連接的處理器1004,其中,存儲(chǔ)器1003用于存儲(chǔ)一組程序代碼,處理器1004調(diào)用存儲(chǔ)器1003所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
獲取當(dāng)前視頻幀中人臉的多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo),根據(jù)多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)確定人臉區(qū)域;
通過左右眼濾波器對(duì)人臉區(qū)域進(jìn)行濾波,獲取當(dāng)前視頻幀中人臉的眼球位置的2d坐標(biāo);
將多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)轉(zhuǎn)換為對(duì)應(yīng)的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo);
根據(jù)多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)與對(duì)應(yīng)的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo)之間的轉(zhuǎn)換關(guān)系,將眼球位置的2d坐標(biāo)轉(zhuǎn)換為眼球位置的3d坐標(biāo);
根據(jù)眼球位置的3d坐標(biāo)與眼球的初始位置的3d坐標(biāo),驅(qū)動(dòng)目標(biāo)對(duì)象的眼球位置;
顯示驅(qū)動(dòng)后的目標(biāo)對(duì)象的眼球。
可選的,處理器1004調(diào)用存儲(chǔ)器1003所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
對(duì)人臉區(qū)域的尺寸和/或光照進(jìn)行歸一化處理,得到歸一化后的人臉區(qū)域;
將歸一化后的人臉區(qū)域轉(zhuǎn)化為頻域數(shù)據(jù)。
可選的,處理器1004調(diào)用存儲(chǔ)器1003所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
通過左右眼濾波器對(duì)頻域數(shù)據(jù)進(jìn)行濾波,根據(jù)濾波后的輸出圖分別構(gòu)建左右眼的感興趣區(qū)域;
分別在左右眼的感興趣區(qū)域中,確定濾波輸出結(jié)果中最大值所在的位置坐標(biāo),獲取分別與左右眼的感興趣區(qū)域?qū)?yīng)的左右眼的位置坐標(biāo);
判斷左眼的位置坐標(biāo)是否在左眼區(qū)域內(nèi),若是,則確定左眼的位置坐標(biāo)為左眼的眼球位置的2d坐標(biāo),若否,則根據(jù)左眼的關(guān)鍵點(diǎn)信息,計(jì)算眼球位置的位置坐標(biāo),將計(jì)算所得的位置坐標(biāo)作為左眼的眼球位置的2d坐標(biāo);以及
判斷右眼的位置坐標(biāo)是否在右眼區(qū)域內(nèi),若是,則確定右眼的位置坐標(biāo)為右眼的眼球位置的2d坐標(biāo),若否,則根據(jù)右眼的關(guān)鍵點(diǎn)信息,計(jì)算眼球位置的位置坐標(biāo),將計(jì)算所得的位置坐標(biāo)作為右眼的眼球位置的2d坐標(biāo)。
可選的,處理器1004調(diào)用存儲(chǔ)器1003所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
在位置坐標(biāo)的周邊預(yù)設(shè)區(qū)域內(nèi)進(jìn)行積分投影,根據(jù)積分最小值的位置的坐標(biāo)調(diào)整左眼的眼球位置的2d坐標(biāo)和/或右眼的眼球位置的2d坐標(biāo)。
可選的,處理器1004調(diào)用存儲(chǔ)器1003所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
獲取多個(gè)人眼訓(xùn)練樣本;
生成與多個(gè)人眼訓(xùn)練樣本分別對(duì)應(yīng)的多個(gè)精確濾波器;
根據(jù)多個(gè)精確濾波器,生成左右眼濾波器。
可選的,處理器1004調(diào)用存儲(chǔ)器1003所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
根據(jù)3d模型數(shù)據(jù),計(jì)算多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)與對(duì)應(yīng)的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo)之間的轉(zhuǎn)換關(guān)系。
可選的,處理器1004調(diào)用存儲(chǔ)器1003所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
獲取目標(biāo)對(duì)象的多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)和眼球位置的2d坐標(biāo);
計(jì)算目標(biāo)對(duì)象的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo)和眼球位置的3d坐標(biāo)。
可選的,處理器1004調(diào)用存儲(chǔ)器1003所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
分別獲取左右眼的眼球位置的3d坐標(biāo)與左右眼的眼球的初始位置的3d坐標(biāo)的相對(duì)偏移量;
將左右眼的相對(duì)偏移量分別映射到目標(biāo)對(duì)象的左右眼的眼球位置的3d坐標(biāo);以及
將目標(biāo)對(duì)象的左右眼的眼球位置的3d坐標(biāo)轉(zhuǎn)換為2d坐標(biāo),驅(qū)動(dòng)目標(biāo)對(duì)象的眼球位置;
其中,眼球的初始位置和目標(biāo)對(duì)象的眼球初始位置相對(duì)應(yīng)。
可選的,處理器1004調(diào)用存儲(chǔ)器1003所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
分別將左右眼的眼球位置的3d坐標(biāo)與左右眼的眼球的初始位置的3d坐標(biāo)進(jìn)行對(duì)比,根據(jù)對(duì)比結(jié)果分別獲取左右眼的偏移量;
根據(jù)偏移量和對(duì)應(yīng)的左右眼的感興趣區(qū)域的寬和高,分別計(jì)算相對(duì)偏移量。
可選的,處理器1004調(diào)用存儲(chǔ)器1003所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
根據(jù)前一幀獲取的轉(zhuǎn)換2d坐標(biāo)對(duì)當(dāng)前轉(zhuǎn)換的2d坐標(biāo)進(jìn)行預(yù)設(shè)比例加權(quán)調(diào)整,獲取調(diào)整后的2d坐標(biāo)。
可選的,處理器1004調(diào)用存儲(chǔ)器1003所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
根據(jù)調(diào)整后的2d坐標(biāo),顯示驅(qū)動(dòng)后的目標(biāo)對(duì)象的眼球。
本發(fā)明實(shí)施例提供了一種電子設(shè)備,該電子設(shè)備通過根據(jù)眼球位置的3d坐標(biāo)與該眼球的初始位置的3d坐標(biāo),驅(qū)動(dòng)目標(biāo)對(duì)象的眼球位置,提高了眼球定位及驅(qū)動(dòng)的精確度和穩(wěn)定性,同時(shí)能夠在移動(dòng)端高效運(yùn)行,提高了用戶體驗(yàn),滿足了用戶通過眼球轉(zhuǎn)動(dòng)控制目標(biāo)對(duì)象的需求;另外,通過左右眼濾波器對(duì)人臉 區(qū)域進(jìn)行濾波,獲取所述當(dāng)前視頻幀中人臉的眼球位置的2d坐標(biāo),這樣相較于傳統(tǒng)的單純依賴圖片紋理信息或者僅通過濾波器定位眼球的方法而言,本發(fā)明實(shí)施例的方法將濾波器定位眼球和人臉關(guān)鍵點(diǎn)定位技術(shù)相結(jié)合,從而進(jìn)一步提高了眼球定位的精確度和穩(wěn)定性,同時(shí)因?yàn)闉V波器可以是線下訓(xùn)練獲得的,使得該方法在移動(dòng)端運(yùn)行時(shí)無需再占用處理資源,進(jìn)一步提高了在移動(dòng)端的運(yùn)行速度,提高了用戶體驗(yàn),滿足了用戶需求;另外,將所述多個(gè)2d關(guān)鍵點(diǎn)坐標(biāo)轉(zhuǎn)換為對(duì)應(yīng)的多個(gè)3d關(guān)鍵點(diǎn)坐標(biāo),這樣使得獲取的即時(shí)視頻幀中的人臉的關(guān)鍵點(diǎn)的尺度保持一致,同時(shí)進(jìn)行了正面化,從而避免了人臉處于側(cè)面或尺度不一致時(shí)對(duì)眼球定位造成的影響,同時(shí),將眼球位置的2d坐標(biāo)轉(zhuǎn)換為眼球位置的3d坐標(biāo),使得在該尺度一致以及正面化后的3d空間中獲取該眼球位置的3d坐標(biāo),進(jìn)一步提高了眼球定位的精確度,并通過該3d坐標(biāo)進(jìn)行驅(qū)動(dòng)目標(biāo)對(duì)象的眼球位置,進(jìn)一步提高了眼球驅(qū)動(dòng)的精確度和穩(wěn)定性;另外,本發(fā)明實(shí)施例所提供的眼球驅(qū)動(dòng)方法可以應(yīng)用在對(duì)游戲等中的目標(biāo)對(duì)象的眼球控制中,豐富了對(duì)游戲中目標(biāo)對(duì)象控制的方式,滿足了用戶通過眼球轉(zhuǎn)動(dòng)對(duì)目標(biāo)對(duì)象進(jìn)行控制的需求,從而進(jìn)一步提高了用戶體驗(yàn)。
上述所有可選技術(shù)方案,可以采用任意結(jié)合形成本發(fā)明的可選實(shí)施例,在此不再一一贅述。
值得注意的是,本發(fā)明實(shí)施例中所涉及的界面僅僅是為了進(jìn)一步說明本發(fā)明實(shí)施例的方法,僅僅是示例性的,此處并非特指。
需要說明的是:上述實(shí)施例提供的電子設(shè)備在實(shí)施眼球驅(qū)動(dòng)方法時(shí),僅以上述各功能模塊的劃分進(jìn)行舉例說明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將設(shè)備的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實(shí)施例提供的電子設(shè)備與眼球驅(qū)動(dòng)方法實(shí)施例屬于同一構(gòu)思,其具體實(shí)現(xiàn)過程詳見方法實(shí)施例,這里不再贅述。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分步驟可以通過 硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。
以上僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。