本發(fā)明涉及圖像處理領(lǐng)域,特別涉及一種人臉形狀的定位方法及電子設(shè)備。
背景技術(shù):
現(xiàn)在,隨著人臉識(shí)別和虛擬模型表情動(dòng)畫技術(shù)的發(fā)展,以及即時(shí)視頻通訊在移動(dòng)終端上的普及,越來越多的用戶選擇通過即時(shí)視頻進(jìn)行交互,但是越來越多的用戶也不僅滿足于通過移動(dòng)設(shè)備的攝像頭獲取的包含自身的臉部的即時(shí)視頻畫面與他人進(jìn)行交互的方式,而是希望在交互過程中能夠改變視頻畫面,同時(shí)能夠代替通訊雙方表達(dá)情感。
現(xiàn)有技術(shù)在即時(shí)視頻過程中,用戶通過即時(shí)視頻進(jìn)行交互時(shí),通過對(duì)即時(shí)視頻中的人臉進(jìn)行美化,或?qū)磿r(shí)視頻畫面的亮度進(jìn)行調(diào)節(jié),以使得用戶更愿意通過即時(shí)視頻進(jìn)行交互。
但是現(xiàn)有技術(shù)對(duì)即時(shí)視頻中的人臉進(jìn)行美化,或?qū)磿r(shí)視頻畫面的亮度進(jìn)行調(diào)節(jié),仍不能滿足用戶對(duì)即時(shí)視頻過程中視頻畫面更加具有趣味性的要求,同時(shí),通過人臉美化或?qū)磿r(shí)視頻畫面的亮度調(diào)節(jié)會(huì)進(jìn)一步的增加對(duì)即時(shí)視頻傳輸帶寬的占用,容易出現(xiàn)視頻卡頓、模糊或掉線的情況,用戶體驗(yàn)不佳,另外,在一些陌生人社交場(chǎng)景中,不能解決用戶不愿意露臉的尷尬。
技術(shù)實(shí)現(xiàn)要素:
為了實(shí)現(xiàn)將人臉形狀定位到其他如卡通人物、非人物體或真人圖像等目標(biāo)圖像上,滿足用戶需求,同時(shí)通過迭代獲取特征點(diǎn)的位置,提高定位的精確度,本發(fā)明實(shí)施例提供了一種人臉形狀的定位方法及電子設(shè)備。所述技術(shù)方案如下:
第一方面,提供了一種人臉形狀的定位方法,所述方法包括:
在目標(biāo)圖像上確定人臉形狀的初始位置;
根據(jù)所述初始位置,通過迭代獲取所述目標(biāo)圖像的人臉形狀的特征點(diǎn)的位置。
結(jié)合第一方面,在第一種可能實(shí)現(xiàn)的方式中,所述人臉形狀包括人臉輪廓、眉毛、眼睛、鼻子和嘴巴中的至少一個(gè)。
結(jié)合第一方面的第一種可能實(shí)現(xiàn)的方式,在第二種可能實(shí)現(xiàn)的方式中,所述在目標(biāo)圖像上確定人臉形狀的初始位置包括:
在所述目標(biāo)圖像上點(diǎn)擊確定所述人臉形狀的初始位置;或者
在所述目標(biāo)圖像上獲取用戶輸入的閉合曲線確定所述人臉形狀的初始位置;或者
獲取目標(biāo)圖像中的人臉形狀的位置;
根據(jù)用戶觸發(fā)的指令,移動(dòng)所述目標(biāo)圖像中的人臉形狀的位置,以移動(dòng)后的所述人臉形狀的位置為所述人臉形狀的初始位置;或者
將默認(rèn)的位置確定為所述目標(biāo)圖像上的所述人臉形狀的初始位置。
結(jié)合第一方面或第一方面的第二種可能實(shí)現(xiàn)的方式,在第三種可能實(shí)現(xiàn)的方式中,所述根據(jù)所述初始位置,通過迭代獲取所述目標(biāo)圖像的人臉形狀的特征點(diǎn)的位置包括:
根據(jù)所述初始位置,獲取所述人臉形狀的每一個(gè)特征點(diǎn)的初始位置;
分別對(duì)所述每一個(gè)特征點(diǎn)的初始位置的梯度值進(jìn)行迭代;
獲取迭代后的每一個(gè)特征點(diǎn)的位置。
結(jié)合第一方面的第三種可能實(shí)現(xiàn)的方式,在第四種可能實(shí)現(xiàn)的方式中,所述分別對(duì)所述每一個(gè)特征點(diǎn)的初始位置的梯度值進(jìn)行迭代包括:
分別為每一個(gè)特征點(diǎn)生成高斯函數(shù);
根據(jù)所述高斯函數(shù)和所述梯度值計(jì)算每一個(gè)特征點(diǎn)位置的最優(yōu)迭代值。
結(jié)合第一方面的第四種可能實(shí)現(xiàn)的方式,在第五種可能實(shí)現(xiàn)的方式中,所述方法還包括:
對(duì)迭代過程中的所述每一個(gè)特征點(diǎn)進(jìn)行光滑處理;
結(jié)合第一方面的第五種可能實(shí)現(xiàn)的方式,在第六種可能實(shí)現(xiàn)的方式中,所述對(duì)迭代過程中的所述每一個(gè)特征點(diǎn)進(jìn)行光滑處理包括:
對(duì)迭代過程中的所述每一個(gè)特征點(diǎn)進(jìn)行高斯濾波。
結(jié)合第一方面至第一方面的第六種任意一種可能實(shí)現(xiàn)的方式,在第七種可能實(shí)現(xiàn)的方式中,所述方法還包括:
在所述目標(biāo)圖像上的所述初始位置顯示所述人臉形狀。
結(jié)合第一方面至第一方面的第六種任意一種可能實(shí)現(xiàn)的方式,在第八種可能實(shí)現(xiàn)的方式中,所述方法還包括:
在獲取的所述人臉形狀的特征點(diǎn)的位置,顯示迭代后的所述人臉形狀。
第二方面,提供了一種電子設(shè)備,所述設(shè)備包括:
初始位置確定模塊,用于在目標(biāo)圖像上確定人臉形狀的初始位置;
特征點(diǎn)位置獲取模塊,用于根據(jù)所述初始位置,通過迭代獲取所述目標(biāo)圖像的人臉形狀的特征點(diǎn)的位置。
結(jié)合第二方面,在第一種可能實(shí)現(xiàn)的方式中,所述人臉形狀包括人臉輪廓、眉毛、眼睛、鼻子和嘴巴中的至少一個(gè)。
結(jié)合第二方面的第一種可能實(shí)現(xiàn)的方式,在第二種可能實(shí)現(xiàn)的方式中,所述初始位置確定模塊具體用于:
在所述目標(biāo)圖像上點(diǎn)擊確定所述人臉形狀的初始位置;或者
在所述目標(biāo)圖像上獲取用戶輸入的閉合曲線確定所述人臉形狀的初始位置;或者
獲取目標(biāo)圖像中的人臉形狀的位置;
根據(jù)用戶觸發(fā)的指令,移動(dòng)所述目標(biāo)圖像中的人臉形狀的位置,以移動(dòng)后的所述人臉形狀的位置為所述人臉形狀的初始位置;或者
將默認(rèn)的位置確定為所述目標(biāo)圖像上的所述人臉形狀的初始位置。
結(jié)合第二方面或第二方面的第二種可能實(shí)現(xiàn)的方式,在第三種可能實(shí)現(xiàn)的方式中,所述特征點(diǎn)位置獲取模塊包括:
特征點(diǎn)初始位置獲取模塊,用于根據(jù)所述初始位置,獲取所述人臉形狀的每一個(gè)特征點(diǎn)的初始位置;
梯度值迭代模塊,用于分別對(duì)所述每一個(gè)特征點(diǎn)的初始位置的梯度值進(jìn)行迭代;
迭代后特征點(diǎn)位置獲取模塊,用于獲取迭代后的每一個(gè)特征點(diǎn)的位置。
結(jié)合第二方面的第三種可能實(shí)現(xiàn)的方式,在第四種可能實(shí)現(xiàn)的方式中,所述梯度值迭代模塊包括:
高斯函數(shù)生成模塊,用于分別為每一個(gè)特征點(diǎn)生成高斯函數(shù);
最優(yōu)迭代值計(jì)算模塊,用于根據(jù)所述高斯函數(shù)和所述梯度值計(jì)算每一個(gè)特征點(diǎn)位置的最優(yōu)迭代值。
結(jié)合第二方面的第四種可能實(shí)現(xiàn)的方式,在第五種可能實(shí)現(xiàn)的方式中,所述設(shè)備還包括:
光滑處理模塊,用于對(duì)迭代過程中的所述每一個(gè)特征點(diǎn)進(jìn)行光滑處理;
結(jié)合第二方面的第五種可能實(shí)現(xiàn)的方式,在第六種可能實(shí)現(xiàn)的方式中,所述光滑處理模塊具體用于:
對(duì)迭代過程中的所述每一個(gè)特征點(diǎn)進(jìn)行高斯濾波。
結(jié)合第二方面至第二方面的第六種任意一種可能實(shí)現(xiàn)的方式,在第七種可能實(shí)現(xiàn)的方式中,所述設(shè)備還模塊:
初始位置人臉形狀顯示模塊,用于在所述目標(biāo)圖像上的所述初始位置顯示所述人臉形狀。
結(jié)合第二方面至第二方面的第六種任意一種可能實(shí)現(xiàn)的方式,在第八種可能實(shí)現(xiàn)的方式中,所述設(shè)備還模塊:
迭代后人臉形狀顯示模塊,用于在獲取的所述人臉形狀的特征點(diǎn)的位置,顯示迭代后的所述人臉形狀。
第三方面,提供了一種電子設(shè)備,所述電子設(shè)備包括顯示屏、存儲(chǔ)器以及與所述顯示屏、所述存儲(chǔ)器連接的處理器,其中,所述存儲(chǔ)器用于存儲(chǔ)一組程序代碼,所述處理器調(diào)用所述存儲(chǔ)器所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
在目標(biāo)圖像上確定人臉形狀的初始位置;
根據(jù)所述初始位置,通過迭代獲取所述目標(biāo)圖像的人臉形狀的特征點(diǎn)的位置。
結(jié)合第三方面,在第一種可能實(shí)現(xiàn)的方式中,所述人臉形狀包括人臉輪廓、眉毛、眼睛、鼻子和嘴巴中的至少一個(gè)。
結(jié)合第三方面的第一種可能實(shí)現(xiàn)的方式,在第二種可能實(shí)現(xiàn)的方式中,所述處理器調(diào)用所述存儲(chǔ)器所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
在所述目標(biāo)圖像上點(diǎn)擊確定所述人臉形狀的初始位置;或者
在所述目標(biāo)圖像上獲取用戶輸入的閉合曲線確定所述人臉形狀的初始位置;或者
獲取目標(biāo)圖像中的人臉形狀的位置;
根據(jù)用戶觸發(fā)的指令,移動(dòng)所述目標(biāo)圖像中的人臉形狀的位置,以移動(dòng)后的所述人臉形狀的位置為所述人臉形狀的初始位置;或者
將默認(rèn)的位置確定為所述目標(biāo)圖像上的所述人臉形狀的初始位置。
結(jié)合第三方面或第三方面的第二種可能實(shí)現(xiàn)的方式,在第三種可能實(shí)現(xiàn)的方式中,所述處理器調(diào)用所述存儲(chǔ)器所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
根據(jù)所述初始位置,獲取所述人臉形狀的每一個(gè)特征點(diǎn)的初始位置;
分別對(duì)所述每一個(gè)特征點(diǎn)的初始位置的梯度值進(jìn)行迭代;
獲取迭代后的每一個(gè)特征點(diǎn)的位置。
結(jié)合第三方面的第三種可能實(shí)現(xiàn)的方式,在第四種可能實(shí)現(xiàn)的方式中,所述處理器調(diào)用所述存儲(chǔ)器所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
分別為每一個(gè)特征點(diǎn)生成高斯函數(shù);
根據(jù)所述高斯函數(shù)和所述梯度值計(jì)算每一個(gè)特征點(diǎn)位置的最優(yōu)迭代值。
結(jié)合第三方面的第四種可能實(shí)現(xiàn)的方式,在第五種可能實(shí)現(xiàn)的方式中,所述處理器調(diào)用所述存儲(chǔ)器所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
對(duì)迭代過程中的所述每一個(gè)特征點(diǎn)進(jìn)行光滑處理;
結(jié)合第三方面的第五種可能實(shí)現(xiàn)的方式,在第六種可能實(shí)現(xiàn)的方式中,所述處理器調(diào)用所述存儲(chǔ)器所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
對(duì)迭代過程中的所述每一個(gè)特征點(diǎn)進(jìn)行高斯濾波。
結(jié)合第三方面至第二方面的第六種任意一種可能實(shí)現(xiàn)的方式,在第七種可能實(shí)現(xiàn)的方式中,所述處理器調(diào)用所述存儲(chǔ)器所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
在所述目標(biāo)圖像上的所述初始位置顯示所述人臉形狀。
結(jié)合第三方面至第二方面的第六種任意一種可能實(shí)現(xiàn)的方式,在第八種可能實(shí)現(xiàn)的方式中,所述處理器調(diào)用所述存儲(chǔ)器所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
在獲取的所述人臉形狀的特征點(diǎn)的位置,顯示迭代后的所述人臉形狀。
本發(fā)明實(shí)施例提供了一種人臉形狀的定位方法及電子設(shè)備。該方法包括:在目標(biāo)圖像上確定人臉形狀的初始位置;根據(jù)所述初始位置,通過迭代獲取所述目標(biāo)圖像的人臉形狀的特征點(diǎn)的位置。從而通過迭代獲取目標(biāo)圖像的人臉形狀的特征點(diǎn)的位置,實(shí)現(xiàn)了將人臉形狀定位到其他如卡通人物、其他非人物的對(duì)象或真人圖像等目標(biāo)圖像上,滿足了用戶需求,同時(shí)通過迭代獲取特征點(diǎn)的位置,提高了定位的精確度。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實(shí)施例提供的一種人臉形狀的定位方法流程圖;
圖2是本發(fā)明實(shí)施例提供的一種人臉形狀的定位方法流程圖;
圖3是本發(fā)明實(shí)施例提供的一種確認(rèn)目標(biāo)圖像的初始位置的示意圖;
圖4是本發(fā)明實(shí)施例提供的一種確認(rèn)目標(biāo)圖像的初始位置的示意圖;
圖5是本發(fā)明實(shí)施例提供的一種確認(rèn)目標(biāo)圖像的初始位置的示意圖;
圖6是本發(fā)明實(shí)施例提供的電子設(shè)備結(jié)構(gòu)示意圖;
圖7是本發(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í)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
實(shí)施例一
本發(fā)明實(shí)施例提供了一種人臉形狀的定位方法,參照?qǐng)D1所示,該方法流程包括:
101、在目標(biāo)圖像上確定人臉形狀的初始位置。
其中,所述人臉形狀包括人臉輪廓、眉毛、眼睛、鼻子和嘴巴中的至少一個(gè)。
具體的,該過程包括:
在所述目標(biāo)圖像上點(diǎn)擊確定所述人臉形狀的初始位置;或者
在所述目標(biāo)圖像上獲取用戶輸入的閉合曲線確定所述人臉形狀的初始位置;或者
獲取目標(biāo)圖像中的人臉形狀的位置;
根據(jù)用戶觸發(fā)的指令,移動(dòng)所述目標(biāo)圖像中的人臉形狀的位置,以移動(dòng)后的所述人臉形狀的位置為所述人臉形狀的初始位置;或者
將默認(rèn)的位置確定為所述目標(biāo)圖像上的所述人臉形狀的初始位置。
102、根據(jù)所述初始位置,通過迭代獲取所述目標(biāo)圖像的人臉形狀的特征點(diǎn)的位置。
具體的,該過程包括:
根據(jù)所述初始位置,獲取所述人臉形狀的每一個(gè)特征點(diǎn)的初始位置;
分別對(duì)所述每一個(gè)特征點(diǎn)的初始位置的梯度值進(jìn)行迭代;
獲取迭代后的每一個(gè)特征點(diǎn)的位置。
其中,分別根據(jù)每一個(gè)特征點(diǎn)的初始位置的梯度值進(jìn)行迭代包括:
分別為每一個(gè)特征點(diǎn)生成高斯函數(shù);
根據(jù)所述高斯函數(shù)和所述梯度值計(jì)算每一個(gè)特征點(diǎn)位置的最優(yōu)迭代值。
可選的,方法還包括:
對(duì)迭代過程中的每一個(gè)特征點(diǎn)進(jìn)行光滑處理。
具體的,對(duì)迭代過程中的每一個(gè)特征點(diǎn)進(jìn)行光滑處理包括:
對(duì)迭代過程中的每一個(gè)特征點(diǎn)進(jìn)行高斯濾波。
可選的,方法還包括:
在所述目標(biāo)圖像上的所述初始位置顯示所述人臉形狀。
可選的,方法還包括:
在獲取的所述人臉形狀的特征點(diǎn)的位置,顯示迭代后的所述人臉形狀。
本發(fā)明實(shí)施例提供了一種人臉形狀的定位方法,通過迭代獲取目標(biāo)圖像的人臉形狀的特征點(diǎn)的位置,實(shí)現(xiàn)了將人臉形狀定位到其他如卡通人物、其他非人物的對(duì)象或真人圖像等目標(biāo)圖像上,滿足了用戶需求,同時(shí)通過迭代獲取特征點(diǎn)的位置,提高了定位的精確度。
實(shí)施例二
本發(fā)明實(shí)施例提供了一種人臉形狀的定位方法,參照?qǐng)D2所示,該方法流程包括:
201、在目標(biāo)圖像上確定人臉形狀的初始位置。
其中,所述人臉形狀包括人臉輪廓、眉毛、眼睛、鼻子和嘴巴中的至少一個(gè)。
在實(shí)際應(yīng)用中,所述人臉形狀中包括的人臉輪廓、眉毛、眼睛、鼻子和嘴巴的組合可以包括:人臉輪廓、眉毛、眼睛、鼻子和嘴巴;人臉輪廓、眼睛、鼻子和嘴巴;人臉輪廓、眼睛和嘴巴;眉毛、眼睛、鼻子和嘴巴;眼睛、鼻子和嘴巴;眼睛和嘴巴;眼睛;嘴巴,除此之外,還可以包括其他組合方式,此處不再一一列舉。
所述目標(biāo)圖像包括卡通人物、真人圖像或其他非人物的對(duì)象等,所述其他非人物的對(duì)象包括如桌面、花盆、樹葉、花朵、汽車、云朵等。
該在目標(biāo)圖像上確定人臉形狀的初始位置的過程可以通過以下方式實(shí)現(xiàn):
在所述目標(biāo)圖像上點(diǎn)擊確定所述人臉形狀的初始位置。
具體的,包括點(diǎn)擊眉毛、眼睛、鼻子和嘴巴中至少一個(gè)所在的位置或點(diǎn)擊眉毛、眼睛、鼻子和嘴巴中至少一個(gè)所要定位的位置。
若所述目標(biāo)圖像是卡通人物或真人圖像,則可以點(diǎn)擊卡通人物或真人圖像中的眉毛、眼睛、鼻子和嘴巴中的至少一個(gè)的所在的位置,示例性的,若該目標(biāo)圖像是卡通人物,該卡通人物是圖3中a所示的卡通人物,人臉形狀包括眼睛和嘴巴,則在該目標(biāo)圖像上點(diǎn)擊確認(rèn)的人臉形狀的初始位置可以參照?qǐng)D3中a中箭頭所指示的位置;若所述目標(biāo)圖像包括其他非人物的對(duì)象,則在該非人物的對(duì)象上點(diǎn)擊確認(rèn)眉毛、眼睛、鼻子和嘴巴中至少一個(gè)所要定位的位置,示例性的,若該其他非人物的對(duì)象是花盆,人臉形狀包括眼睛和嘴巴,則在該目標(biāo)對(duì)象點(diǎn)擊上確認(rèn)的人臉形狀的初始位置的示意圖可以參照?qǐng)D3中b中箭頭所指示的位置。
該在目標(biāo)圖像上確定人臉形狀的初始位置的過程還可以通過以下方式實(shí)現(xiàn):
在所述目標(biāo)圖像上獲取用戶輸入的閉合曲線確定所述人臉形狀的初始位置。
具體的,在目標(biāo)圖像上獲取用戶輸入的人臉輪廓、眉毛、眼睛、鼻子和嘴巴中的至少一個(gè)的輪廓的閉合曲線。
若目標(biāo)圖像是卡通人物或真人圖像,則可以是獲取用戶輸入的該卡通人物或真人圖像的人臉輪廓、眉毛、眼睛、鼻子和嘴巴中至少一個(gè)的輪廓閉合曲線,示例性的,若該目標(biāo)圖像是卡通人物,該卡通人物是圖4中a所示的卡通人物,人臉形狀包括人臉輪廓、眼睛和嘴巴,則在該目標(biāo)圖像上獲取用戶輸入的閉合曲線確定的所述人臉形狀的初始位置可以參照?qǐng)D4中a中箭頭所指示的閉合曲線的位置;若目標(biāo)圖像是非人物的對(duì)象,則可以獲取用戶在該非人物的對(duì)象上輸入的表示人臉輪廓、眉毛、眼睛、鼻子和嘴巴中的至少一個(gè)的輪廓位置的閉合曲線,示例性的,若該其他非人物的對(duì)象是花盆,人臉形狀包括人臉輪廓、眼睛和嘴巴,則在該目標(biāo)對(duì)象上獲取用戶輸入的閉合曲線確定的所述人臉形狀的初始位置可以參照?qǐng)D4中b中的箭頭所指示的閉合曲線的位置。
該在目標(biāo)圖像上確定人臉形狀的初始位置的過程還可以通過以下方式實(shí)現(xiàn):
a、獲取目標(biāo)圖像中的人臉形狀的位置。
具體的,該目標(biāo)圖像包括卡通人物和真人圖像,該過程可以是通過識(shí)別獲取目標(biāo)圖像中的人臉形狀的特征點(diǎn)的位置,也可以是通過獲取用戶輸入的閉合曲線獲取目標(biāo)圖像中的人臉形狀的位置,還可以是通過獲取用戶點(diǎn)擊眉毛、眼睛、鼻子和嘴巴中的至少一個(gè)的位置,再通過識(shí)別點(diǎn)擊的位置獲取目標(biāo)圖像中的人臉形狀的特征點(diǎn)的位置,除此之外,還可以通過其他方式實(shí)現(xiàn)該過程。
b、根據(jù)用戶觸發(fā)的指令,移動(dòng)所述目標(biāo)圖像中的人臉形狀的位置,以移動(dòng)后的所述人臉形狀的位置為所述人臉形狀的初始位置。
所述用戶觸發(fā)的指令可以是拖動(dòng)人臉形狀的位置的指令,也可以是點(diǎn)擊人臉人臉形狀的位置的指令,還可以是其他。
具體的,根據(jù)用戶觸發(fā)的拖動(dòng)指令,可以是拖動(dòng)識(shí)別獲取的所述目標(biāo)圖像中的人臉形狀的特征點(diǎn)的位置,以拖動(dòng)后的所述人臉形狀的位置為所述人臉形狀的初始位置,也可以是拖動(dòng)用戶輸入的閉合曲線獲取的目標(biāo)圖像中的人臉形狀的位置,以拖動(dòng)后的閉合曲線的位置為所述人臉形狀的初始位置,還可以是拖動(dòng)識(shí)別點(diǎn)擊的位置獲取的目標(biāo)圖像中的人臉形狀的特征點(diǎn)的位置,以拖動(dòng)后的所述人臉形狀的特征點(diǎn)的位置為所述人臉形狀的初始位置,除此之外,還可以包括其他方式。
根據(jù)用戶觸發(fā)的點(diǎn)擊指令,可以是點(diǎn)擊所要移動(dòng)至的新位置,將獲取的所述目標(biāo)圖像中的人臉形狀的特征點(diǎn)的位置移動(dòng)至該新的位置,或者將所述獲取的用戶輸入的閉合曲線位置移動(dòng)至該新的位置,除此之外,還可以包括其他方式。
示例性的,若目標(biāo)圖像是卡通人物,人臉形狀包括眼睛,通過點(diǎn)擊獲取的目標(biāo)圖像中的人臉形狀的位置可以參照?qǐng)D5中a中的箭頭所指示的位置,根據(jù)用戶觸發(fā)的拖動(dòng)指令,移動(dòng)所述目標(biāo)圖像中的人臉形狀的位置可以沿圖5中b所指示的曲線移動(dòng),移動(dòng)后的目標(biāo)圖像中的人臉形狀的位置可以參照?qǐng)D5中c中箭頭所指示的位置;若根據(jù)用戶觸發(fā)的點(diǎn)擊指令,點(diǎn)擊所要移動(dòng)至的新位置的示意圖可以參照?qǐng)D5中d中箭頭所指示的位置,移動(dòng)所述目標(biāo)圖像中的人臉形狀的位置至新的位置后的示意圖可以參照?qǐng)D5中e所示。
該在目標(biāo)圖像上確定人臉形狀的初始位置的過程還可以通過以下方式實(shí)現(xiàn):
將默認(rèn)的位置確定為所述目標(biāo)圖像上的所述人臉形狀的初始位置。
具體的,該默認(rèn)的位置包括默認(rèn)的人臉輪廓、眉毛、眼睛、鼻子和嘴巴中至少一個(gè)的位置。
除了上述方式之外,還可以通過其他方式實(shí)現(xiàn)在目標(biāo)圖像上確定人臉形狀的初始位置的過程,本發(fā)明實(shí)施例對(duì)具體的方式不加以限定。
通過多種方式可以實(shí)現(xiàn)在目標(biāo)圖像上確定人臉形狀的初始位置的過程,滿足了用戶個(gè)性化的需求,方便用戶選擇不同的操作方式,從而進(jìn)一步提高了用戶體驗(yàn)。
202、根據(jù)所述初始位置,獲取所述人臉形狀的每一個(gè)特征點(diǎn)的初始位置。
具體的,根據(jù)所述初始位置,獲取所述人臉形狀的每一個(gè)特征點(diǎn)的初始位置坐標(biāo)。
根據(jù)每一個(gè)特征點(diǎn)的初始位置坐標(biāo),計(jì)算每一個(gè)特征點(diǎn)的梯度值,梯度值表示如下:
grad(x,y)
其中,計(jì)算的方式包括使用canny算子,拉普拉斯算子,還可以是sobel算子,還可以是通過其他算子計(jì)算。
203、分別對(duì)所述每一個(gè)特征點(diǎn)的初始位置的梯度值進(jìn)行迭代。
具體的,該過程包括:
a、分別為每一個(gè)特征點(diǎn)生成高斯函數(shù),該高斯函數(shù)表示如下:
其中,k表示系數(shù),e表示自然對(duì)數(shù)的底數(shù),(xi,yi)是第i個(gè)特征點(diǎn)的初始位置坐標(biāo)。
b、根據(jù)所述高斯函數(shù)和所述梯度值計(jì)算每一個(gè)特征點(diǎn)位置的最優(yōu)迭代值。
通過以下公式計(jì)算每一個(gè)特征點(diǎn)位置坐標(biāo)的最優(yōu)迭代值:
其中,根據(jù)grad(x,y)×g(x,y)得到每一個(gè)特征點(diǎn)的梯度值和高斯函數(shù)輸出值的乘積,所獲得的x和y為一次迭代結(jié)果,如果所獲得的x和y不收斂,則將所獲得的x和y作為下一次迭代的初始位置繼續(xù)上述迭代,直至得到每一個(gè)特征點(diǎn)的最優(yōu)迭代值。其中,前后兩次迭代結(jié)果之差小于某一閾值可以認(rèn)為迭代收斂。
204、獲取迭代后的每一個(gè)特征點(diǎn)的位置。
具體的,獲取迭代后的每一個(gè)特征點(diǎn)的位置坐標(biāo)。
需要說明的是,步驟202至步驟204是實(shí)現(xiàn)根據(jù)所述初始位置,通過迭代獲取所述目標(biāo)圖像的人臉形狀的特征點(diǎn)的位置的過程,除了上述方式之外,還可以通過其他方式實(shí)現(xiàn)該過程,本發(fā)明實(shí)施例對(duì)具體的方式不加以限定。
可選的,在執(zhí)行步驟203的過程中,方法還包括:
對(duì)迭代過程中的每一個(gè)特征點(diǎn)進(jìn)行光滑處理。
具體的,對(duì)迭代過程中的每一個(gè)特征點(diǎn)進(jìn)行高斯濾波,公式如下:
(x,y)=g(x,y)*x
其中,*表示卷積操作,x是迭代過程中所有特征點(diǎn)組成的矩陣,(x,y)包括的部分特征點(diǎn)為光滑處理后的非確定性特征點(diǎn)。
需要說明的是,進(jìn)行濾波的次數(shù)可以為預(yù)設(shè)次數(shù),該預(yù)設(shè)次數(shù)可以根據(jù)實(shí)際需要進(jìn)行設(shè)置,本發(fā)明實(shí)施例對(duì)具體的預(yù)設(shè)次數(shù)不加以限定。
值得注意的是,如果迭代過程中獲取的部分特征點(diǎn)的位置坐標(biāo)值不在預(yù)設(shè)位置坐標(biāo)范圍內(nèi),則該部分特征點(diǎn)為迭代過程中的非確定性特征點(diǎn),上述對(duì)迭代過程中的每一個(gè)特征點(diǎn)進(jìn)行光滑處理的步驟包括將該部分非確定性的特征點(diǎn)進(jìn)行光滑處理的過程。
可選的,在步驟204之后,該方法還可以包括:
205、在所述目標(biāo)圖像上的所述初始位置顯示所述人臉形狀。
對(duì)具體的顯示方式不加以限定。
示例性的,若所述目標(biāo)圖像是卡通人物,或真人圖像,在獲取所述人臉形狀的每一個(gè)特征點(diǎn)的初始位置顯示人臉形狀。
可選的,在步驟204之后,方法還可以包括:
206、在獲取的所述人臉形狀的特征點(diǎn)的位置,顯示迭代后的所述人臉形狀。
根據(jù)獲取的所述人臉形狀的特征點(diǎn)的位置的坐標(biāo),以迭代后的特征點(diǎn)的位置的坐標(biāo)顯示所述人臉形狀。
本發(fā)明實(shí)施例提供了一種人臉形狀的定位方法,通過迭代獲取目標(biāo)圖像的人臉形狀的特征點(diǎn)的位置,實(shí)現(xiàn)了將人臉形狀定位到其他如卡通人物、其他非人物的對(duì)象或真人圖像等目標(biāo)圖像上,滿足了用戶需求,同時(shí)通過迭代獲取特征點(diǎn)的位置,提高了定位的精確度;另外,通過將人臉形狀定位到其他如卡通人物、其他非人物的對(duì)象或真人圖像上,可以應(yīng)用在虛擬現(xiàn)實(shí)、數(shù)字娛樂、通信和視頻會(huì)議、人際交互等領(lǐng)域中,當(dāng)應(yīng)用在即時(shí)視頻的交互過程中時(shí),用戶能夠通過卡通人物、其他非人物的對(duì)象或真人圖像進(jìn)行即時(shí)視頻交互,極大的提高了即時(shí)視頻通話的趣味性,滿足了用戶需求;另外,在陌生人等社交場(chǎng)景中,通過卡通人物、其他非人物的對(duì)象或真人圖像進(jìn)行即時(shí)視頻交互,避免了用戶不愿意露臉的問題,提高了用戶體驗(yàn);同時(shí),在即時(shí)視頻交互過程中,通過卡通人物、其他非人物的對(duì)象或真人圖像進(jìn)行交互相較于通過攝像頭獲取的畫面進(jìn)行交互,減少了對(duì)網(wǎng)絡(luò)帶寬的占用,避免在網(wǎng)絡(luò)情況不佳時(shí)通過攝像頭獲取的畫面進(jìn)行交互容易出現(xiàn)的視頻卡頓、模糊或掉線等情況,進(jìn)一步提高了用戶體驗(yàn),滿足了用戶需求。
實(shí)施例三
本發(fā)明實(shí)施例提供了一種電子設(shè)備6,參照?qǐng)D6所示,所述設(shè)備6包括:
初始位置確定模塊61,用于在目標(biāo)圖像上確定人臉形狀的初始位置;
特征點(diǎn)位置獲取模塊62,用于根據(jù)所述初始位置,通過迭代獲取所述目標(biāo)圖像的人臉形狀的特征點(diǎn)的位置。
可選的,所述人臉形狀包括人臉輪廓、眉毛、眼睛、鼻子和嘴巴中的至少一個(gè)。
可選的,所述初始位置確定模塊61具體用于:
在所述目標(biāo)圖像上點(diǎn)擊確定所述人臉形狀的初始位置;或者
在所述目標(biāo)圖像上獲取用戶輸入的閉合曲線確定所述人臉形狀的初始位置;或者
獲取目標(biāo)圖像中的人臉形狀的位置;
根據(jù)用戶觸發(fā)的指令,移動(dòng)所述目標(biāo)圖像中的人臉形狀的位置,以移動(dòng)后的所述人臉形狀的位置為所述人臉形狀的初始位置;或者
將默認(rèn)的位置確定為所述目標(biāo)圖像上的所述人臉形狀的初始位置。
可選的,所述特征點(diǎn)位置獲取模塊62包括:
特征點(diǎn)初始位置獲取模塊621,用于根據(jù)所述初始位置,獲取所述人臉形狀的每一個(gè)特征點(diǎn)的初始位置;
梯度值迭代模塊622,用于分別對(duì)所述每一個(gè)特征點(diǎn)的初始位置的梯度值進(jìn)行迭代;
迭代后特征點(diǎn)位置獲取模塊623,用于獲取迭代后的每一個(gè)特征點(diǎn)的位置。
可選的,所述梯度值迭代模塊622包括:
高斯函數(shù)生成模塊6221,用于分別為每一個(gè)特征點(diǎn)生成高斯函數(shù);
最優(yōu)迭代值計(jì)算模塊6222,用于根據(jù)所述高斯函數(shù)和所述梯度值計(jì)算每一個(gè)特征點(diǎn)位置的最優(yōu)迭代值。
可選的,所述設(shè)備6還包括:
光滑處理模塊63,用于對(duì)迭代過程中的每一個(gè)特征點(diǎn)進(jìn)行光滑處理;
可選的,所述光滑處理模塊63具體用于:
對(duì)迭代過程中的每一個(gè)特征點(diǎn)進(jìn)行高斯濾波。
可選的,所述設(shè)備6還模塊:
初始位置人臉形狀顯示模塊64,用于在所述目標(biāo)圖像上的所述初始位置顯示所述人臉形狀。
可選的,所述設(shè)備6還模塊:
迭代后人臉形狀顯示模塊65,用于在獲取的所述人臉形狀的特征點(diǎn)的位置,顯示迭代后的所述人臉形狀。
本發(fā)明實(shí)施例提供了一種電子設(shè)備,該電子設(shè)備通過迭代獲取目標(biāo)圖像的人臉形狀的特征點(diǎn)的位置,實(shí)現(xiàn)了將人臉形狀定位到其他如卡通人物、其他非人的對(duì)象或真人圖像等目標(biāo)圖像上,滿足了用戶需求,同時(shí)通過迭代獲取特征點(diǎn)的位置,提高了定位的精確度;另外,通過將人臉形狀定位到其他如卡通人物、其他非人物的對(duì)象或真人圖像上,可以應(yīng)用在虛擬現(xiàn)實(shí)、數(shù)字娛樂、通信和視頻會(huì)議、人際交互等領(lǐng)域中,當(dāng)應(yīng)用在即時(shí)視頻的交互過程中時(shí),用戶能夠通過卡通人物、其他非人物的對(duì)象或真人圖像進(jìn)行即時(shí)視頻交互,極大的提高了即時(shí)視頻通話的趣味性,滿足了用戶需求;另外,在陌生人等社交場(chǎng)景中,通過卡通人物、其他非人物的對(duì)象或真人圖像進(jìn)行即時(shí)視頻交互,避免了用戶不愿意露臉的問題,提高了用戶體驗(yàn);同時(shí),在即時(shí)視頻交互過程中,通過卡通人物、其他非人物的對(duì)象或真人圖像進(jìn)行交互相較于通過攝像頭獲取的畫面進(jìn)行交互,減少了對(duì)網(wǎng)絡(luò)帶寬的占用,避免在網(wǎng)絡(luò)情況不佳時(shí)通過攝像頭獲取的畫面進(jìn)行交互容易出現(xiàn)的視頻卡頓、模糊或掉線等情況,進(jìn)一步提高了用戶體驗(yàn),滿足了用戶需求。
實(shí)施例四
本發(fā)明實(shí)施例提供了一種電子設(shè)備7,參照?qǐng)D7所示,所述電子設(shè)備7包括顯示屏71、存儲(chǔ)器72以及與所述顯示屏71、所述存儲(chǔ)器72連接的處理器73,其中,所述存儲(chǔ)器72用于存儲(chǔ)一組程序代碼,所述處理器73調(diào)用所述存儲(chǔ)器72所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
在目標(biāo)圖像上確定人臉形狀的初始位置;
根據(jù)所述初始位置,通過迭代獲取所述目標(biāo)圖像的人臉形狀的特征點(diǎn)的位置。
可選的,所述人臉形狀包括人臉輪廓、眉毛、眼睛、鼻子和嘴巴中的至少一個(gè)。
可選的,所述處理器73調(diào)用所述存儲(chǔ)器72所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
在所述目標(biāo)圖像上點(diǎn)擊確定所述人臉形狀的初始位置;或者
在所述目標(biāo)圖像上獲取用戶輸入的閉合曲線確定所述人臉形狀的初始位置;或者
獲取目標(biāo)圖像中的人臉形狀的位置;
根據(jù)用戶觸發(fā)的指令,移動(dòng)所述目標(biāo)圖像中的人臉形狀的位置,以移動(dòng)后的所述人臉形狀的位置為所述人臉形狀的初始位置;或者
將默認(rèn)的位置確定為所述目標(biāo)圖像上的所述人臉形狀的初始位置。
可選的,所述處理器73調(diào)用所述存儲(chǔ)器72所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
根據(jù)所述初始位置,獲取所述人臉形狀的每一個(gè)特征點(diǎn)的初始位置;
分別對(duì)所述每一個(gè)特征點(diǎn)的初始位置的梯度值進(jìn)行迭代;
獲取迭代后的每一個(gè)特征點(diǎn)的位置。
可選的,所述處理器73調(diào)用所述存儲(chǔ)器72所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
分別為每一個(gè)特征點(diǎn)生成高斯函數(shù);
根據(jù)所述高斯函數(shù)和所述梯度值計(jì)算每一個(gè)特征點(diǎn)位置的最優(yōu)迭代值。
結(jié)合第三方面的第四種可能實(shí)現(xiàn)的方式,在第五種可能實(shí)現(xiàn)的方式中,所述處理器調(diào)用所述存儲(chǔ)器所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
對(duì)迭代過程中的每一個(gè)特征點(diǎn)進(jìn)行光滑處理;
可選的,所述處理器73調(diào)用所述存儲(chǔ)器72所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
對(duì)迭代過程中的每一個(gè)特征點(diǎn)進(jìn)行高斯濾波。
可選的,所述處理器73調(diào)用所述存儲(chǔ)器72所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
在所述目標(biāo)圖像上的所述初始位置顯示所述人臉形狀。
可選的,所述處理器73調(diào)用所述存儲(chǔ)器72所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
在獲取的所述人臉形狀的特征點(diǎn)的位置,顯示迭代后的所述人臉形狀。
本發(fā)明實(shí)施例提供了一種電子設(shè)備,該電子設(shè)備通過迭代獲取目標(biāo)圖像的人臉形狀的特征點(diǎn)的位置,實(shí)現(xiàn)了將人臉形狀定位到其他如卡通人物、其他非人物的對(duì)象或真人圖像等目標(biāo)圖像上,滿足了用戶需求,同時(shí)通過迭代獲取特征點(diǎn)的位置,提高了定位的精確度;另外,通過將人臉形狀定位到其他如卡通人物、其他非人物的對(duì)象或真人圖像上,可以應(yīng)用在虛擬現(xiàn)實(shí)、數(shù)字娛樂、通信和視頻會(huì)議、人際交互等領(lǐng)域中,當(dāng)應(yīng)用在即時(shí)視頻的交互過程中時(shí),用戶能夠通過卡通人物、其他非人物的對(duì)象或真人圖像進(jìn)行即時(shí)視頻交互,極大的提高了即時(shí)視頻通話的趣味性,滿足了用戶需求;另外,在陌生人等社交場(chǎng)景中,通過卡通人物、其他非人物的對(duì)象或真人圖像進(jìn)行即時(shí)視頻交互,避免了用戶不愿意露臉的問題,提高了用戶體驗(yàn);同時(shí),在即時(shí)視頻交互過程中,通過卡通人物、其他非人物的對(duì)象或真人圖像進(jìn)行交互相較于通過攝像頭獲取的畫面進(jìn)行交互,減少了對(duì)網(wǎng)絡(luò)帶寬的占用,避免在網(wǎng)絡(luò)情況不佳時(shí)通過攝像頭獲取的畫面進(jìn)行交互容易出現(xiàn)的視頻卡頓、模糊或掉線等情況,進(jìn)一步提高了用戶體驗(yàn),滿足了用戶需求。
上述所有可選技術(shù)方案,可以采用任意結(jié)合形成本發(fā)明的可選實(shí)施例,在此不再一一贅述。
另外,本發(fā)明實(shí)施例中所列的示意圖僅僅是示例性的,是為了幫助本領(lǐng)域技術(shù)人員進(jìn)一步理解本發(fā)明實(shí)施例所述的方法以及該方法所達(dá)到的效果,此處并非特指,本發(fā)明實(shí)施例對(duì)具體的示意圖不加以限定。
需要說明的是:上述實(shí)施例提供的電子設(shè)備在執(zhí)行人臉形狀定位方法時(shí),僅以上述各功能模塊的劃分進(jìn)行舉例說明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將設(shè)備的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實(shí)施例提供的電子設(shè)備與人臉形狀的定位方法實(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)。