一種自動優(yōu)化眼角距離的方法
【專利摘要】本發(fā)明公開了一種自動優(yōu)化眼角距離的方法,其首先通過人臉檢測技術(shù)得到人眼及人臉的位置,然后根據(jù)預(yù)設(shè)的人眼長度與人臉寬度的比例計算得到需要的人眼長度,最后根據(jù)所述的人眼長度與人眼位置計算人眼的眼角需要移動的距離,并進(jìn)行自動拉眼角處理,通過對眼角的微處理,使其對整個臉型的優(yōu)化處理起到了畫龍點(diǎn)睛的作用,并且在很大程度上保持了原始圖像的真實感和自然性,使得圖像的效果更好。
【專利說明】—種自動優(yōu)化眼角距離的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種圖像處理方法,特別是一種自動優(yōu)化眼角距離的方法。
【背景技術(shù)】
[0002]隨著自拍的日漸興起,美顏相機(jī)受眾越來越廣,為了使美顏相機(jī)所得到的圖片有更好的效果,部分人的圖片需要拉眼角處理。從人臉美學(xué)的角度,較為完美的眼睛與人臉的比例應(yīng)滿足“三庭五眼”,“三庭”是把人的面部長度分為三等分,外鼻長度正好是其中三分之一;“五眼”是把讓你的面部寬度分為五等分,眼睛的寬度正好是其中五分之一;眼睛的寬度即左右兩眼內(nèi)眼角的距離應(yīng)為眼睛的長度,對于大部分人來說都不是完美的比例。
【發(fā)明內(nèi)容】
[0003]本發(fā)明為解決上述問題,提供了一種自動優(yōu)化眼角距離的方法,其通過拉眼角處理使得圖片的效果更好,同時很大程度上保持了原圖的真實感和自然性。
[0004]為實現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案為:
[0005]一種自動優(yōu)化眼角距離的方法,其特征在于,包括以下步驟:
[0006]10.接收待處理的圖像,通過人臉檢測技術(shù)得到人眼及人臉的位置;
[0007]20.根據(jù)預(yù)設(shè)的人眼長度與人臉寬度的比例,計算得到需要的人眼長度;
[0008]30.根據(jù)所述的人眼長度與人眼位置計算人眼的眼角需要移動的距離,并進(jìn)行自動拉眼角處理。
[0009]優(yōu)選的,所述的步驟10中,通過人臉檢測技術(shù)得到人眼及人臉的位置,主要是通過人臉檢測技術(shù)判斷是否檢測到人臉,若檢測到人臉則計算得到人眼的兩個瞳孔的位置及人臉左右側(cè)的位置。
[0010]優(yōu)選的,所述的步驟20中,人眼長度的計算方法如下:
[0011]eyeLength = (faceRight-faceLeft)^scale ;
[0012]其中,eyeLength為需要的人眼長度,scale為人眼長度占人臉寬度的百分比,faceRight、faceLeft分別為人臉的右側(cè)坐標(biāo)和左側(cè)坐標(biāo)。
[0013]優(yōu)選的,所述的步驟30中,根據(jù)所述的人眼長度與人眼位置計算人眼的眼角需要移動的距離,其計算方法進(jìn)一步包括以下步驟:
[0014]31.根據(jù)瞳孔的位置確定左右眼睛的斜率;
[0015]32.根據(jù)所述的斜率計算眼角的初始位置;
[0016]33.計算眼角需要移動的距離,并根據(jù)該距離得到眼角的終點(diǎn)位置。
[0017]優(yōu)選的,所述的步驟31中,根據(jù)瞳孔的位置確定左右眼睛的斜率,計算方法如下:
[0018]K= (rightPupiIY-1eftPupi 1Y) / (rightPupiΙΧ-leftPupiIX);
[0019]其中,K是眼睛的斜率,rightPupilY、IeftPupiIY>rightPupi 1X> IeftPupilX 分別是右瞳孔的縱坐標(biāo)、左瞳孔的縱坐標(biāo)、右瞳孔的橫坐標(biāo)、左瞳孔的橫坐標(biāo)。
[0020]優(yōu)選的,所述的步驟32中,根據(jù)所述的斜率計算眼角的初始位置,計算方法如下:
[0021]左眼角的橫坐標(biāo):IeftPupilX+eyeLength*LfaceK;
[0022]左眼角的縱坐標(biāo):IeftPupilY+K*eyeLength/2.0+eyeLength/9.0 ;
[0023]右眼角的橫坐標(biāo):rightPupiΙΧ-eyeLength*(1-LfaceK);
[0024]右眼角的縱坐標(biāo):rightPupilY_K*eyeLength/2.0+eyeLength/9.0 ;
[0025]其中,LfaceK為側(cè)臉情況下的向左側(cè)臉的程度,K是眼睛的斜率,eyeLength為人眼長度,faceRight、faceLeft分別為人臉的右側(cè)坐標(biāo)值和左側(cè)坐標(biāo)值,rightPupilY、leftPupilY、rightPupiIX、IeftPupiIX分別是右瞳孔的縱坐標(biāo)、左瞳孔的縱坐標(biāo)、右瞳孔的橫坐標(biāo)、左瞳孔的橫坐標(biāo)。
[0026]優(yōu)選的,向左側(cè)臉的程度的計算方法如下:
[0027]LfaceK = (faceRight-rightPupilX)/(faceRight-rightPupilX+leftPupilX-faceLeft);
[0028]其中,LfaceK為側(cè)臉情況下的向左側(cè)臉的程度,faceRight、faceLeft分別為臉的右側(cè)橫坐標(biāo)和左側(cè)橫坐標(biāo),rightPupilX、IeftPupilX分別為右瞳孔橫坐標(biāo)和左瞳孔橫坐標(biāo)。
[0029]優(yōu)選的,所述的步驟33中,計算眼角需要移動的距離的方法如下:
[0030]眼角的橫坐標(biāo)需要移動的距離:
[0031]Detax= (rightPupiIX-1eftPupi 1X-2.0^eyeLength)/2.0 ;
[0032]眼角的縱坐標(biāo)需要移動的距離:
[0033]Detay = K*Detax ;
[0034]左眼角的終點(diǎn)位置的坐標(biāo)為:
[0035](左眼角橫坐標(biāo)+Detax,左眼角縱坐標(biāo)+Detay);
[0036]右眼角的終點(diǎn)位置的坐標(biāo)為:
[0037](右眼角橫坐標(biāo)-Detax,右眼角橫坐標(biāo)-Detay)。
[0038]優(yōu)選的,所述的步驟30中進(jìn)行自動拉眼角處理,主要是根據(jù)眼角的初始位置、終點(diǎn)位置以及需要移動的距離來確定對圖像進(jìn)行形變處理的形變半徑及形變強(qiáng)度,并且在圖像的形變處理過程中還對形變的位置進(jìn)行二次線性插值處理。
[0039]優(yōu)選的,所述的形變半徑為圖像的像素點(diǎn)的形變范圍,其主要根據(jù)人眼的瞳孔大小來確定;所述的形變強(qiáng)度為圖像變形的明顯程度。
[0040]本發(fā)明的有益效果是:
[0041]本發(fā)明的一種自動優(yōu)化眼角距離的方法,其首先通過人臉檢測技術(shù)得到人眼及人臉的位置,然后根據(jù)預(yù)設(shè)的人眼長度與人臉寬度的比例計算得到需要的人眼長度,最后根據(jù)所述的人眼長度與人眼位置計算人眼的眼角需要移動的距離,并進(jìn)行自動拉眼角處理,通過對眼角的微處理,使其對整個臉型的優(yōu)化處理起到了畫龍點(diǎn)睛的作用,并且在很大程度上保持了原始圖像的真實感和自然性,使得圖像的效果更好。
【專利附圖】
【附圖說明】
[0042]此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本發(fā)明的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
[0043]圖1為本發(fā)明一種自動優(yōu)化眼角距離的方法的流程簡圖。
【具體實施方式】
[0044]為了使本發(fā)明所要解決的技術(shù)問題、技術(shù)方案及有益效果更加清楚、明白,以下結(jié)合附圖及實施例對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0045]如圖1所示,本發(fā)明的一種自動優(yōu)化眼角距離的方法,其包括以下步驟:
[0046]10.接收待處理的圖像,通過人臉檢測技術(shù)得到人眼及人臉的位置;
[0047]20.根據(jù)預(yù)設(shè)的人眼長度與人臉寬度的比例,計算得到需要的人眼長度;
[0048]30.根據(jù)所述的人眼長度與人眼位置計算人眼的眼角需要移動的距離,并進(jìn)行自動拉眼角處理。
[0049]所述的步驟10中,通過人臉檢測技術(shù)得到人眼及人臉的位置,主要是通過人臉檢測技術(shù)判斷是否檢測到人臉,若檢測到人臉則計算得到人眼的兩個瞳孔的位置及人臉左右側(cè)的位置;另外,人臉檢測技術(shù)采用現(xiàn)有的常規(guī)手段,在此不做贅述。
[0050]所述的步驟20中,人眼長度的計算方法如下:
[0051]eyeLength = (faceRight-faceLeft)^scale ;
[0052]其中,eyeLength為需要的人眼長度,scale為人眼長度占人臉寬度的百分比,faceRight,faceLeft分別為人臉的右側(cè)坐標(biāo)和左側(cè)坐標(biāo)。該人眼長度為需要的理想長度,人眼長度占人臉寬度的百分比為根據(jù)“三庭五眼”的完美的眼睛與人臉的比例來確定。
[0053]所述的步驟30中,根據(jù)所述的人眼長度與人眼位置計算人眼的眼角需要移動的距離,其計算方法進(jìn)一步包括以下步驟:
[0054]31.根據(jù)瞳孔的位置確定左右眼睛的斜率;
[0055]32.根據(jù)所述的斜率計算眼角的初始位置;
[0056]33.計算眼角需要移動的距離,并根據(jù)該距離得到眼角的終點(diǎn)位置。
[0057]本實施例中,所述的步驟31中,根據(jù)瞳孔的位置確定左右眼睛的斜率,計算方法如下:
[0058]K= (rightPupiIY-1eftPupi 1Y) / (rightPupiΙΧ-leftPupiIX);
[0059]其中,K是眼睛的斜率,rightPupilY、IeftPupiIY>rightPupi 1X> IeftPupilX 分別是右瞳孔的縱坐標(biāo)、左瞳孔的縱坐標(biāo)、右瞳孔的橫坐標(biāo)、左瞳孔的橫坐標(biāo)。
[0060]本實施例中,所述的步驟32中,根據(jù)所述的斜率計算眼角的初始位置,計算方法如下:
[0061]左眼角的橫坐標(biāo):IeftPupilX+eyeLength*LfaceK;
[0062]左眼角的縱坐標(biāo):IeftPupilY+K*eyeLength/2.0+eyeLength/9.0 ;
[0063]右眼角的橫坐標(biāo):rightPupilX-eyeLength*(1-LfaceK);
[0064]右眼角的縱坐標(biāo):rightPupilY_K*eyeLength/2.0+eyeLength/9.0 ;
[0065]其中,LfaceK為側(cè)臉情況下的向左側(cè)臉的程度,K是眼睛的斜率,eyeLength為人眼長度,faceRight、faceLeft分別為人臉的右側(cè)坐標(biāo)值和左側(cè)坐標(biāo)值,rightPupilY、leftPupilY、rightPupiIX、IeftPupiIX分別是右瞳孔的縱坐標(biāo)、左瞳孔的縱坐標(biāo)、右瞳孔的橫坐標(biāo)、左瞳孔的橫坐標(biāo)。
[0066]上述的向左側(cè)臉的程度的計算方法如下:
[0067]LfaceK = (faceRight-rightPupilX)/(faceRight-rightPupilX+leftPupilX-faceLeft);
[0068]其中,LfaceK為側(cè)臉情況下的向左側(cè)臉的程度,faceRight、faceLeft分別為臉的右側(cè)橫坐標(biāo)和左側(cè)橫坐標(biāo),rightPupilX、IeftPupilX分別為右瞳孔橫坐標(biāo)和左瞳孔橫坐標(biāo)。
[0069]上述的左眼角及右眼角的橫坐標(biāo)(X)與側(cè)臉程度有關(guān),上述的左眼角及右眼角的縱坐標(biāo)(y)跟眼睛的位置斜率有關(guān);本實施例中,假定瞳孔到眼角的橫坐標(biāo)長度為人眼長度的1/2,瞳孔到眼角的縱坐標(biāo)為人眼寬度的1/3,且,假定人眼寬度是人眼長度的1/3,并假定瞳孔的距離即為兩個眼睛的長度,則所述的步驟33中,計算眼角需要移動的距離的方法如下:
[0070]眼角的橫坐標(biāo)需要移動的距離:
[0071]Detax= (rightPupiΙΧ-leftPupi 1X-2.0^eyeLength)/2.0 ;
[0072]眼角的縱坐標(biāo)需要移動的距離:
[0073]Detay = K*Detax ;
[0074]左眼角的終點(diǎn)位置的坐標(biāo)為:
[0075](左眼角橫坐標(biāo)+Detax,左眼角縱坐標(biāo)+Detay);
[0076]右眼角的終點(diǎn)位置的坐標(biāo)為:
[0077](右眼角橫坐標(biāo)-Detax,右眼角橫坐標(biāo)-Detay)。
[0078]所述的步驟30中進(jìn)行自動拉眼角處理,主要是根據(jù)眼角的初始位置、終點(diǎn)位置以及需要移動的距離來確定對圖像進(jìn)行形變處理的形變半徑及形變強(qiáng)度,并且在圖像的形變處理過程中還對形變的位置進(jìn)行二次線性插值處理;所述的形變半徑為圖像的像素點(diǎn)的形變范圍,其主要根據(jù)人眼的瞳孔大小來確定,與圓心位置距離越近平移的距離就越大,整體的移動利于形變的自然性;所述的形變強(qiáng)度為圖像變形的明顯程度。由于不同人臉的大小有很大差別,所以此處的形變半徑與人眼的瞳孔大小相關(guān)聯(lián),有如下的公式:
[0079]eyeLength/ (3.0) *3.4 ;
[0080]其中,3.4的確定是根據(jù)其效果決定的,本實施例中形變強(qiáng)度優(yōu)選為0.15 ;可根據(jù)具體情況設(shè)置不同的參數(shù)。
[0081]上述形變處理所采用的形變原理,其形變函數(shù)的確定如下:
[0082]pow(((cos(M_PI*sqrt(i/(FILTER_SIZE_1)))+1)/2),0.7);
[0083]其中,F(xiàn)ILTER_SIZE為1000,i的范圍從O到999。上述形變函數(shù)需要在獲取變形程度時獲取,得到的方式是根據(jù)形變半徑內(nèi)點(diǎn)到圓心的距離,并與形變強(qiáng)度成正比例關(guān)系。
[0084]上述說明示出并描述了本發(fā)明的優(yōu)選實施例,應(yīng)當(dāng)理解本發(fā)明并非局限于本文所披露的形式,不應(yīng)看作是對其他實施例的排除,而可用于各種其他組合、修改和環(huán)境,并能夠在本文發(fā)明構(gòu)想范圍內(nèi),通過上述教導(dǎo)或相關(guān)領(lǐng)域的技術(shù)或知識進(jìn)行改動。而本領(lǐng)域人員所進(jìn)行的改動和變化不脫離本發(fā)明的精神和范圍,則都應(yīng)在本發(fā)明所附權(quán)利要求的保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種自動優(yōu)化眼角距離的方法,其特征在于,包括以下步驟: 10.接收待處理的圖像,通過人臉檢測技術(shù)得到人眼及人臉的位置; 20.根據(jù)預(yù)設(shè)的人眼長度與人臉寬度的比例,計算得到需要的人眼長度; 30.根據(jù)所述的人眼長度與人眼位置計算人眼的眼角需要移動的距離,并進(jìn)行自動拉眼角處理。
2.根據(jù)權(quán)利要求1所述的一種自動優(yōu)化眼角距離的方法,其特征在于:所述的步驟10中,通過人臉檢測技術(shù)得到人眼及人臉的位置,主要是通過人臉檢測技術(shù)判斷是否檢測到人臉,若檢測到人臉則計算得到人眼的兩個瞳孔的位置及人臉左右側(cè)的位置。
3.根據(jù)權(quán)利要求2所述的一種自動優(yōu)化眼角距離的方法,其特征在于:所述的步驟20中,人眼長度的計算方法如下:
eyeLength = (faceRight-faceLeft)*scale ; 其中,eyeLength為需要的人眼長度,scale為人眼長度占人臉寬度的百分比,faceRight、faceLeft分別為人臉的右側(cè)坐標(biāo)和左側(cè)坐標(biāo)。
4.根據(jù)權(quán)利要求2所述的一種自動優(yōu)化眼角距離的方法,其特征在于:所述的步驟30中,根據(jù)所述的人眼長度與人眼位置計算人眼的眼角需要移動的距離,其計算方法進(jìn)一步包括以下步驟: 31.根據(jù)瞳孔的位置確定左右眼睛的斜率; 32.根據(jù)所述的斜率計算眼角的初始位置; 33.計算眼角需要移動的距離,并根據(jù)該距離得到眼角的終點(diǎn)位置。
5.根據(jù)權(quán)利要求4所述的一種自動優(yōu)化眼角距離的方法,其特征在于:所述的步驟31中,根據(jù)瞳孔的位置確定左右眼睛的斜率,計算方法如下:
K = (rightPupilY-leftPupilY)/(rightPupilX-leftPupilX); 其中,K 是眼睛的斜率,rightPupilY、leftPupilY.rightPupilX, leftPupilX 分別是右瞳孔的縱坐標(biāo)、左瞳孔的縱坐標(biāo)、右瞳孔的橫坐標(biāo)、左瞳孔的橫坐標(biāo)。
6.根據(jù)權(quán)利要求5所述的一種自動優(yōu)化眼角距離的方法,其特征在于:所述的步驟32中,根據(jù)所述的斜率計算眼角的初始位置,計算方法如下: 左眼角的橫坐標(biāo):leftPupilX+eyeLength*LfaceK ; 左眼角的縱坐標(biāo):leftPupilY+K*eyeLength/2.0+eyeLength/9.0 ; 右眼角的橫坐標(biāo):rightPupilX_eyeLength* (1-LfaceK); 右眼角的縱坐標(biāo):rightPupilY_K*eyeLength/2.0+eyeLength/9.0 ; 其中,LfaceK為側(cè)臉情況下的向左側(cè)臉的程度,K是眼睛的斜率,eyeLength為人眼長度,faceRight、faceLeft分別為人臉的右側(cè)坐標(biāo)值和左側(cè)坐標(biāo)值,rightPupilY、leftPupilY、rightPupilX、leftPupilX分別是右瞳孔的縱坐標(biāo)、左瞳孔的縱坐標(biāo)、右瞳孔的橫坐標(biāo)、左瞳孔的橫坐標(biāo)。
7.根據(jù)權(quán)利要求6所述的一種自動優(yōu)化眼角距離的方法,其特征在于:向左側(cè)臉的程度的計算方法如下:
LfaceK = (faceRight-rightPupilX)/(faceRight-rightPupilX+leftPupilX-faceLeft); 其中,LfaceK為側(cè)臉情況下的向左側(cè)臉的程度,faceRight、faceLeft分別為臉的右側(cè)橫坐標(biāo)和左側(cè)橫坐標(biāo),rightPupilX、leftPupilX分別為右瞳孔橫坐標(biāo)和左瞳孔橫坐標(biāo)。
8.根據(jù)權(quán)利要求6所述的一種自動優(yōu)化眼角距離的方法,其特征在于:所述的步驟33中,計算眼角需要移動的距離的方法如下: 眼角的橫坐標(biāo)需要移動的距離:
DetaX = (rightPupilX-leftPupilX-2.0*eyeLength)/2.Ο ; 眼角的縱坐標(biāo)需要移動的距離:
Detay = K*Detax ; 左眼角的終點(diǎn)位置的坐標(biāo)為: (左眼角橫坐標(biāo)+Detax,左眼角縱坐標(biāo)+Detay); 右眼角的終點(diǎn)位置的坐標(biāo)為: (右眼角橫坐標(biāo)-Detax,右眼角橫坐標(biāo)-Detay)。
9.根據(jù)權(quán)利要求1所述的一種自動優(yōu)化眼角距離的方法,其特征在于:所述的步驟30中進(jìn)行自動拉眼角處理,主要是根據(jù)眼角的初始位置、終點(diǎn)位置以及需要移動的距離來確定對圖像進(jìn)行形變處理的形變半徑及形變強(qiáng)度,并且在圖像的形變處理過程中還對形變的位置進(jìn)行二次線性插值處理。
10.根據(jù)權(quán)利要求9所述的一種自動優(yōu)化眼角距離的方法,其特征在于:所述的形變半徑為圖像的像素點(diǎn)的形變范圍,其主要根據(jù)人眼的瞳孔大小來確定;所述的形變強(qiáng)度為圖像變形的明顯程度。
【文檔編號】G06K9/00GK104268518SQ201410482983
【公開日】2015年1月7日 申請日期:2014年9月19日 優(yōu)先權(quán)日:2014年9月19日
【發(fā)明者】張偉, 傅松林, 葉志鴻, 李志陽 申請人:廈門美圖之家科技有限公司