一種基于圖片識別的自動裁剪方法
【專利摘要】本發(fā)明涉及一種基于圖片識別的自動裁剪方法,所述方法包括(1)圖片預(yù)處理;(2)人臉識別;(3)背景識別;(4)自適應(yīng)截取。本發(fā)明采用基于識別的方式實現(xiàn)圖片的裁剪,會給出裁剪出的圖片占原圖的比例。本發(fā)明無需人工干預(yù),算法簡單,可靠性高。本發(fā)明可根據(jù)需求采用不同策略,滿足不同網(wǎng)頁的展示。采用本發(fā)明對組圖進(jìn)行裁剪,選擇裁剪成功的,設(shè)為展示圖,準(zhǔn)確率達(dá)99.8%。本發(fā)明應(yīng)用到資訊和微薄的頁面圖片的裁剪,經(jīng)人工測試準(zhǔn)確率在99.5%。
【專利說明】—種基于圖片識別的自動裁剪方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種自動裁剪方法,具體講涉及一種基于圖片識別的自動裁剪方法。
【背景技術(shù)】
[0002]在網(wǎng)頁展示領(lǐng)域,圖片裁剪是項必不可少的環(huán)節(jié)。目前根據(jù)網(wǎng)頁展示需要,圖片需要裁剪成不同尺寸。圖片裁剪方法各式各樣,基本可分為兩大類:基于軟件的方式的人工裁剪和算法的裁剪。
[0003]基于軟件的方式裁剪:首先要定義裁剪的區(qū)域和縮放比例,然后可以對一組圖片進(jìn)行批量裁剪。針對某一類圖片,人工手工指定裁剪過程。算法的裁剪,利用機(jī)器識別算法,識別出背景區(qū)域,按要求展示尺寸,裁減掉部分背景,再進(jìn)行圖片縮放。
[0004]人工裁剪方式的缺點是需要耗費巨大人力資源來裁剪圖片,并且隨著網(wǎng)站的擴(kuò)建,裁剪圖片的成本也非常大。自動裁剪方式的缺點是算法復(fù)雜,同時,也要監(jiān)控圖片裁剪效果,以發(fā)現(xiàn)問題及時調(diào)整算法。
【發(fā)明內(nèi)容】
[0005]針對現(xiàn)有技術(shù)的不足,本發(fā)明提出一種基于圖片識別的自動裁剪技術(shù)。針對網(wǎng)頁要展示的尺寸,對圖片進(jìn)行有效的裁剪,而不需要人為干預(yù)。根據(jù)觀察發(fā)現(xiàn),不同的網(wǎng)頁對圖片展示的需求不同,根據(jù)要求的尺寸判定是否需要對原圖進(jìn)行裁剪,如果需要裁剪,則先進(jìn)行人臉識別,如果沒有人臉,則進(jìn)行背景識別,在此基礎(chǔ)上,找到圖片需要保留的主體部分。然后用自適應(yīng)截取的方法,截取出需要的圖形。
[0006]本發(fā)明的目的是采用下述技術(shù)方案實現(xiàn)的:
[0007]—種基于圖片識別的自動裁剪方法,其改進(jìn)之處在于,所述方法包括
[0008](I)圖片預(yù)處理;
[0009](2)人臉識別;
[0010](3)背景識別;
[0011](4)自適應(yīng)截取。
[0012]優(yōu)選的,所述步驟(I)包括讀入圖片,得到圖片的高和寬的信息,與要求的尺寸對t匕,比例正好,則直接縮放后結(jié)束。
[0013]優(yōu)選的,所述步驟(2)包括判斷是否識別出人臉。
[0014]進(jìn)一步地,
[0015](2.1)識別出多張人臉,算出最小的框,將所有人臉包含在其中,即為主體部分,進(jìn)行權(quán)利要求的步驟⑷;和
[0016](2.2)未識別出人臉則進(jìn)行權(quán)利要求的步驟(3)。
[0017]優(yōu)選的,所述人臉識別包括運用opencv的人臉檢測算法、皮膚識別算法和圖像分塊算法進(jìn)行圖片的光照補償。
[0018]優(yōu)選的,所述步驟(3)包括采用圖片分塊算法,計算出左右上下的背景部分。
[0019]優(yōu)選的,所述步驟⑷包括
[0020]對有多張人臉,裁取能包含所有人臉的最小框,標(biāo)定為圖片的主體部分;
[0021]對截取人臉失敗時,將最大的那張人臉框定為圖片的主體部分;和
[0022]對截取沒有人臉時,將除去背景部分的框標(biāo)定為圖片的主體部分。
[0023]進(jìn)一步地,根據(jù)要求的高或?qū)?,計算出圖片主體部分要截取的是高還是寬,求出一
[0024]個窗口,即圖片被保留的部分的高和寬。
[0025]進(jìn)一步地,所述方法包括對截取主體部分失敗進(jìn)行尺寸調(diào)整,其包括補全方式調(diào)整和中心擴(kuò)展裁剪方式調(diào)整;
[0026]補全方式包括如截取失敗,可通過兩邊或上下補充相應(yīng)顏色邊來得到適合的尺寸;中心擴(kuò)展裁剪方式包括如截取失敗,如高長了,則從中心上下擴(kuò)展得到相應(yīng)的合適的尺寸;如寬長了,則從中心左右擴(kuò)展得到相應(yīng)的合適尺寸。
[0027]與現(xiàn)有技術(shù)比,本發(fā)明的有益效果為:
[0028]1、本發(fā)明采用基于識別的方式實現(xiàn)圖片的裁剪,會給出裁剪出的圖片占原圖的比例。
[0029]2、本發(fā)明無需人工干預(yù)。
[0030]3、本發(fā)明算法簡單,可靠性高。
[0031]4、本發(fā)明可根據(jù)需求采用不同策略,滿足不同網(wǎng)頁的展示。
[0032]5、采用本發(fā)明對組圖進(jìn)行裁剪,選擇裁剪成功的,設(shè)為展示圖,準(zhǔn)確率達(dá)99.8%。
[0033]6、本發(fā)明應(yīng)用到資訊和微薄的頁面圖片的裁剪,經(jīng)人工測試準(zhǔn)確率在99.5%。
【專利附圖】
【附圖說明】
[0034]圖1為本發(fā)明提供的一種基于圖片識別的自動裁剪方法流程圖。
【具體實施方式】
[0035]下面結(jié)合附圖對本發(fā)明的【具體實施方式】作進(jìn)一步的詳細(xì)說明。
[0036]本發(fā)明一種基于圖片識別的自動裁剪方法具體流程如下:
[0037]1、圖片預(yù)處理。
[0038]讀入圖片,得到圖片的高(RawHeight)和寬(RawWidth)的信息。與要求的尺寸進(jìn)
[0039]行對比,width,height為要求的寬和高,要求的尺度比為scale = height/width,如
[0040]果RawHeight/RawWidth = scale,則不進(jìn)行識別,直接縮放為要求的比例后結(jié)束。
[0041]2、人臉識別。
[0042]先進(jìn)行了圖片的光照補償,再運用opencv的人臉檢測算法。為了有效降低識別錯誤率,接著用了皮膚識別算法和圖像分塊算法。(皮膚識別顏色包括白種人,黃種人和黑種人)。認(rèn)定只有皮膚覆蓋率達(dá)到一定比例和分塊符合人臉塊數(shù)才算是人臉。
[0043]本發(fā)明采用的圖像分塊算法為論文Efficient Graph-Based ImageSegmentat1n (作者 Pedro F.Felzenszwalb and Daniel P.Huttenlocher)提供的算法。對于識別出的人臉部分,進(jìn)行分塊,因為人臉圖片基本是鼻子,2個眼睛,嘴巴,臉頰,背景幾個部分組成。如果圖像分的塊數(shù)過多,就說明不是人臉。
[0044]將原來opencv人臉識別漏報率34%,降低到15%。誤報率從2%,降到0.6%。
[0045]3、背景識別。
[0046]同樣運用了上面的圖像分塊算法,因為算法的對不同尺度的圖片,運用得參數(shù)不同,所以要先將圖片壓縮到規(guī)定大小,再運用指定參數(shù),才能到達(dá)好的效果。詳細(xì)參數(shù)請參考論文。從左到右掃描,如果列上每個點都屬于同一塊,則為背景,直到掃描到不屬于同一塊的點,或者掃描到寬的1/2為止。記為左邊背景部分。同理可得其它3邊的背景部分。
[0047]4、自適應(yīng)截取,保留圖片主體部分。
[0048]識別之后,如果有多張人臉,取能包含所有人臉的最小框,標(biāo)定為圖片的主體部分;
[0049]如果截取失敗,再將最大的那張人臉框定為圖片的主體部分;
[0050]如果沒有人臉,就將除去背景部分的框標(biāo)定為圖片的主體部分。
[0051 ] 對截取主體部分失敗圖片采用尺寸調(diào)整。
[0052]其中,包括兩種調(diào)整方式:
[0053]補全方式:如果截取失敗,可以通過兩邊或者上下補充相應(yīng)顏色邊來得到適合的尺寸。
[0054]中心擴(kuò)展裁剪方式:如果截取失敗,則如果高長了,則從中心上下擴(kuò)展得到相應(yīng)的合適的尺寸。如果寬長了,則從中心左右擴(kuò)展得到相應(yīng)的合適尺寸。
[0055]在實際應(yīng)用中,可根據(jù)需要對圖進(jìn)行補全。
[0056]根據(jù)要求的高寬,計算出圖片要截取的是高還是寬。然后求出一個窗口,即圖片最后被保留的部分的聞和覽。
[0057]若要截取的是高,最后的高度為:Height = RawWidth*scale,找到保留性主體部分,(主體部分的高位y0到y(tǒng)l),窗口高就是Height,寬就是RawWidth,然后從上到下逐行移動,直到窗口包含主體部分的y0和yl,且最好主體位于窗口偏上部分或已經(jīng)移到最后結(jié)束。
[0058]若要截取的是寬,最后的寬度為:Width = RawHeight*scale,找到保留性主體部分,(主體部分的寬為x0到xl),窗口高就是RawHeight,寬就是Width,然后從左到右逐列移動,直到窗口包含主體部分的xO和xl,且最好主體位于窗口偏右部分或已經(jīng)移到最后結(jié)束。
[0059]最后應(yīng)當(dāng)說明的是:以上實施例僅用以說明本發(fā)明的技術(shù)方案而非對其限制,所屬領(lǐng)域的普通技術(shù)人員參照上述實施例依然可以對本發(fā)明的【具體實施方式】進(jìn)行修改或者等同替換,這些未脫離本發(fā)明精神和范圍的任何修改或者等同替換,均在申請待批的本發(fā)明的權(quán)利要求保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種基于圖片識別的自動裁剪方法,其特征在于,所述方法包括 (1)圖片預(yù)處理; (2)人臉識別; (3)背景識別; (4)自適應(yīng)截取。
2.如權(quán)利要求1所述的一種基于圖片識別的自動裁剪方法,其特征在于,所述步驟(I)包括讀入圖片,得到圖片的高和寬的信息,與要求的尺寸對比,比例正好,則直接縮放后結(jié)束。
3.如權(quán)利要求1所述的一種基于圖片識別的自動裁剪方法,其特征在于,所述步驟(2)包括判斷是否識別出人臉。
4.如權(quán)利要求3所述的一種基于圖片識別的自動裁剪方法,其特征在于, (2.1)識別出多張人臉,算出最小的框,將所有人臉包含在其中,即為主體部分,進(jìn)行權(quán)利要求的步驟⑷;和 (2.2)未識別出人臉則進(jìn)行權(quán)利要求的步驟(3)。
5.如權(quán)利要求1所述的一種基于圖片識別的自動裁剪方法,其特征在于,所述人臉識別包括運用opencv的人臉檢測算法、皮膚識別算法和圖像分塊算法進(jìn)行圖片的光照補償。
6.如權(quán)利要求1所述的一種基于圖片識別的自動裁剪方法,其特征在于,所述步驟(3)包括采用圖片分塊算法,計算出左右上下的背景部分。
7.如權(quán)利要求1所述的一種基于圖片識別的自動裁剪方法,其特征在于,所述步驟(4)包括 對有多張人臉,裁取能包含所有人臉的最小框,標(biāo)定為圖片的主體部分; 對截取人臉失敗時,將最大的那張人臉框定為圖片的主體部分;和 對截取沒有人臉時,將除去背景部分的框標(biāo)定為圖片的主體部分。
8.如權(quán)利要求7所述的一種基于圖片識別的自動裁剪方法,其特征在于,根據(jù)要求的高或?qū)挘嬎愠鰣D片主體部分要截取的是高還是寬,求出一個窗口,即圖片被保留的部分的高和寬。
9.如權(quán)利要求7所述的一種基于圖片識別的自動裁剪方法,其特征在于,所述方法包括對截取主體部分失敗進(jìn)行尺寸調(diào)整,其包括補全方式調(diào)整和中心擴(kuò)展裁剪方式調(diào)整; 補全方式包括如截取失敗,可通過兩邊或上下補充相應(yīng)顏色邊來得到適合的尺寸;中心擴(kuò)展裁剪方式包括如截取失敗,如高長了,則從中心上下擴(kuò)展得到相應(yīng)的合適的尺寸;如寬長了,則從中心左右擴(kuò)展得到相應(yīng)的合適尺寸。
【文檔編號】G06K9/00GK104392202SQ201410535102
【公開日】2015年3月4日 申請日期:2014年10月11日 優(yōu)先權(quán)日:2014年10月11日
【發(fā)明者】田艷莉 申請人:北京中搜網(wǎng)絡(luò)技術(shù)股份有限公司