一種用于對圖像進行虛化的方法和裝置的制造方法
【技術領域】
[0001]本發明涉及計算機技術領域,尤其涉及一種用于對圖像進行虛化的方法。
【背景技術】
[0002]現有技術中,對圖像進行虛化時,通常由用戶指定進行虛化的區域,進而采用現有的圖像虛化方法來對用戶指定進行虛化的區域進行虛化。
【發明內容】
[0003]本發明的目的是提供一種用于對圖像進行虛化的方法。
[0004]根據本發明的一個方面,提供一種用于對圖像進行虛化的方法,其中,該方法包括以下步驟:
[0005]根據用戶指定的圖像的圖像信息,確定該圖像中的人物輪廓;
[0006]將所確定的人物輪廓與相應的人物輪廓模板進行比對,并根據比對結果調整人物輪廓模板中的人物輪廓,以使人物輪廓模板中調整后的人物輪廓與所述所確定的人物輪廓匹配;
[0007]根據該調整后的人物輪廓,確定所述用戶指定的圖像中的人物區域、背景區域以及人物區域和背景區域之間的過渡區域;
[0008]通過對所述背景區域進行虛化,并對所述過渡區域進行漸進式虛化,來獲得虛化后的圖像,其中,所述漸進式虛化表示所述過渡區域中越靠近所述人物區域的部分的虛化程度越淺,越靠近所述背景區域的部分的虛化程度越深。
[0009]根據本發明的另一個方面,還提供了一種用于對圖像進行虛化的裝置,其中,該裝置包括以下裝置:
[0010]用于根據用戶指定的圖像的圖像信息,確定該圖像中的人物輪廓的裝置;
[0011]用于將所確定的人物輪廓與相應的人物輪廓模板進行比對,并根據比對結果調整人物輪廓模板中的人物輪廓,以使人物輪廓模板中調整后的人物輪廓與所述所確定的人物輪廓匹配的裝置;
[0012]用于根據該調整后的人物輪廓,確定所述用戶指定的圖像中的人物區域、背景區域以及人物區域和背景區域之間的過渡區域的裝置;
[0013]用于通過對所述背景區域進行虛化,并對所述過渡區域進行漸進式虛化,來獲得虛化后的圖像的裝置,其中,所述漸進式虛化表示所述過渡區域中越靠近所述人物區域的部分的虛化程度越淺,越靠近所述背景區域的部分的虛化程度越深。
[0014]與現有技術相比,本發明具有以下優點:1)能夠將圖像更精細地劃分為人物區域、過渡區域和背景區域,并分別對背景區域和過渡區域進行虛化;并且,對過渡區域的漸進式虛化使得過渡區域與人物區域相連接的部分的虛化程度為0,且與背景區域相連接的部分的虛化程度與背景區域的虛化程度相同,這使得圖像的虛化更為平滑,虛化后的圖像可以帶來更好的視覺效果;2)計算機設備能夠基于人物輪廓模板來在拍攝顯示界面上呈現人物輪廓,從而引導用戶擺出較佳的拍照姿勢;3)可直接根據人物輪廓模板來確定圖像中的人物輪廓并進行背景區域的虛化,因此,用戶無需人工指定需要虛化的區域,十分便利;且該種基于人物輪廓模板來確定人物輪廓,并對過渡區域和背景區域進行虛化的方式,還能夠適用于動態圖像的場景;4)由于人物輪廓模板能夠指示正確的人物輪廓,因此,即便計算機設備未能完全正確地識別出圖像中的人物輪廓(受限于計算機設備的處理能力和算法,人物輪廓的細節上的錯誤識別完全是可能的),也能較為正確地識別出圖像中的背景區域來進行虛化;5)根據圖像中的實際人物輪廓,來對人物輪廓模板指示的人物輪廓進行調整,因此,在借鑒人物輪廓模板中的拍攝姿勢,且能夠基于人物輪廓模板來較為正確地識別背景區域的同時,被拍攝人物可在整個拍攝畫面中自由走動,而無需受限于人物輪廓模板中的人物輪廓所限定的位置。
【附圖說明】
[0015]通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本發明的其它特征、目的和優點將會變得更明顯:
[0016]圖1為本發明一個實施例的用于對圖像進行虛化的方法的流程示意圖;
[0017]圖2為本發明一個實施例的用于對圖像進行虛化的裝置的結構示意圖;
[0018]圖3為本發明一個示例的包含人物的圖像的示意圖;
[0019]圖4為本發明一個示例的兩種人物輪廓的示意圖;
[0020]圖5為本發明一個示例的部分人物輪廓附近的分塊的示意圖。
[0021]附圖中相同或相似的附圖標記代表相同或相似的部件。
【具體實施方式】
[0022]圖1為本發明一個實施例的用于對圖像進行虛化的方法的流程示意圖。
[0023]其中,本實施例的方法主要通過計算機設備來實現;所述計算機設備包括網絡設備和用戶設備;所述網絡設備包括但不限于單個網絡服務器、多個網絡服務器組成的服務器組或基于云計算(Cloud Computing)的由大量計算機或網絡服務器構成的云,其中,云計算是分布式計算的一種,由一群松散耦合的計算機集組成的一個超級虛擬計算機;所述網絡設備所處的網絡包括但不限于互聯網、廣域網、城域網、局域網、VPN網絡等。
[0024]所述用戶設備包括但不限于PC機、平板電腦、智能手機、PDA、數碼相機等。
[0025]需要說明的是,所述計算機設備僅為舉例,其他現有的或今后可能出現的計算機設備如可適用于本發明,也應包含在本發明保護范圍以內,并以引用方式包含于此。
[0026]根據本實施例的方法包括步驟S1、步驟S2、步驟S3和步驟S4。
[0027]在步驟SI中,計算機設備根據用戶指定的圖像的圖像信息,確定該圖像中的人物輪廓。
[0028]例如,計算機設備根據用戶指定的圖像的圖像信息,并結合用戶在該圖像上所指定的區域,從該區域中獲取該圖像中的人物輪廓。
[0029]其中,用戶指定的圖像包括任何在計算機設備中可被使用的圖像。優選地,用戶指定的圖像包括但不限于:拍攝顯示界面上呈現的圖像(如移動設備的照相機的拍攝顯示界面上呈現的圖像等)、用戶在本地(如本地相冊中)所選擇的圖像等。需要說明的是,當用戶指定的圖像為拍攝顯示界面上呈現的圖像時,所述計算機設備通常為用戶設備。
[0030]其中,圖像的圖像信息包括任何與該圖像的圖形特征相關的信息;優選地,所述圖像信息包括但不限于圖像的長寬比例、圖像的像素、圖像的分辨率、圖像的平均灰度值等。
[0031]優選地,所述步驟SI進一步包括步驟SI 1、步驟S12和步驟S13。
[0032]在步驟Sll中,計算機設備將用戶指定的圖像劃分為多個分塊。
[0033]例如,計算機設備將用戶指定的、如圖3所示的圖像劃分為多個分塊。
[0034]具體地,計算機設備可采用多種方式將用戶指定的圖像劃分為多個分塊。
[0035]例如,計算機設備根據用戶指定的圖像的長寬比例將該圖像劃分為多個分塊;如用戶指定的圖像的長寬比例為16:9,則計算機設備將該圖像平均劃分為k*(16*9)個分塊,其中,k為自然數。
[0036]又例如,計算機設備將用戶指定的圖像平均劃分為預定分塊數量個分塊;如預定數量為64,計算機設備直接將用戶指定的圖像平均分割為8*8個分塊。
[0037]需要說明的是,所述分塊可具有多種形狀,如長方形、扇形或其它不規則形狀等,并且,用戶指定的圖像被劃分得到的多個分塊的形狀和/或大小可能是不相同的。例如,計算機設備將長方形的圖像均勻地劃分為M*N個分塊(M為水平方向上的分塊數量,N為垂直方向上的分塊數量),該M*N個分塊為大小相同的長方形分塊。又例如,計算機設備將橢圓形圖像劃分為M*N個分塊,該圖像邊緣位置的分塊為扇形,中間位置的分塊為長方形。
[0038]需要說明的是,所述多個分塊可能部分重疊。例如,用戶指定的圖像的像素為A*B(A為圖像的像素長度,B為圖像的像素寬度),在步驟SI中,計算機設備將該圖像劃分為大小相同的M*N個分塊,其中,每個分塊的像素為均為m*n(m為分塊的像素長度,η為分塊的像素寬度);則當圖像的理論像素長度M*m的值大于圖像實際的像素長度A時,該M*N個分塊在水平方向上會出現部分重疊;當圖像的理論像素寬度N*n的值大于圖像實際的像素寬度B時,該M*N個分塊在垂直方向上會出現部分重疊。
[0039]需要說明的是,上述舉例僅為更好地說明本發明的技術方案,而非對本發明的限制,本領域技術人員應該理解,任何將用戶指定的圖像的圖像劃分為多個分塊的實現方式,均應包含在本發明的范圍內。
[0040]在步驟S12中,計算機設備根據多個分塊的至少一個分塊中每個分塊對應的圖像信息,確定所述每個分塊的分塊屬性。
[0041]其中,所述分塊屬性用于指示分塊屬于人物區域或非人物區域。例如,分塊屬性為“O”時指示分塊屬于人物區域,分塊屬性為“ I ”時指示分塊屬于非人物區域。其中,所述人物區域為圖像中的人物所位于的區域,所述非人物區域為圖像中人物區域以外的區域;例如,圖3所示的人物所位于的區域為人物區域,該人物區域以外的空白區域為非人物區域。
[0042]其中,分塊對應的圖像信息包括任何與該分塊的圖形特征相關的信息;優選地,分塊對應的圖像信息包括該分塊所對應的圖像區域的圖像信息。優選地,分塊對應的圖像信息包括但不限于分塊的長寬比例、分塊所對應的圖像區域的分塊的像素、分塊的分辨率、分塊的灰度值等。
[0043]具體地,計算機設備根據該多個分塊的至少一個分塊中每個分塊對應的圖像信息,確定所述每個分塊的分塊屬性的實現方式包括但不限于:
[0044]I)計算機設備根據該多個分塊的至少一個分塊中每個分塊對應的圖像信息,并結合預定識別規則,確定所述每個分塊的分塊屬性。
[0045]其中,所述預定識別規則包括任何預定的、能夠根據分塊的圖像信息來確定分塊的分塊屬性的規則。
[0046]例如,所述預定識別規則包括基于人物識別技術所定義的分塊的圖像信息與分塊屬性之間的關聯規則;對于所述至少一個分塊中的每個分塊,結合該關聯規則,計算機設備可根據該分塊對應的圖像信息,來確定該分塊的分塊屬性。
[0047]2)計算機設備根據所述多個分塊的至少一個分塊中每個分塊對應的圖像信息作為分塊屬性分類器的輸入,獲得該分塊屬性分類器輸出的、所述每個分塊的分塊屬性。
[0048]其中,所述分塊屬性分類器包括任何能夠根據分塊的圖像信息來輸出分塊的分塊屬性的分類器。優選地,所述分塊屬性分類器為基于圖像塊(patch)的二分類器;例如,分塊屬性分類器以分塊的圖像信息作為輸入,以分塊的分塊屬性作為輸出,并且,當輸出為“O”時指示該分塊屬于人物區域,當輸出為“ I”時指示該分塊屬于非人物區域。
[0049]優選地,步驟S12采用上述實現方式2)時,本優選方案還包括以下步驟:計算機設備采用多個已確定分塊屬性的分塊,對分塊屬性分類器模型進行訓練,獲得所述分塊屬性分類器。
[0050]例如,現有1000個分塊,其中,600個分塊的分塊屬性指示分塊屬于人物區域,其它的400個分塊的分塊屬性指示分塊屬于非人物區域。計算機設備采用該1000個分塊,對分塊屬性分類器模型進行訓練,獲得分塊屬性分類器,該分塊屬性分類器能夠根據分塊的圖像信息來輸出分塊的分塊屬性。則在步驟Sll中,計算機設備將用戶指定的圖像劃分為多個分塊;在步驟S12中,計算機設備將該多個分塊中每個分塊對應的圖像信息作為該分塊屬性分類器的輸入,來獲得該分塊屬性分類器輸出的、每個分塊的分塊屬性。
[0051]優選地,計算機設備可基于機器學習技術,如深度神經網絡技術,來建立分塊屬性分類器模型。
[0052]需要說明的是,本領域技術人員應能理解,在步驟S12中,計算機設備可能僅需確定多個分塊中的部分分塊的分塊屬性,而無需確定多個分塊中的所有分塊的分塊屬性。例如,由于拍攝人物時,圖像頂部邊緣往往會留有一定的背景空間(即圖像頂部邊緣往往屬于非人物區域),因此,計算機設備可直接確定該等頂部邊緣的分塊屬于非人物區域(或當頂部邊緣的分塊在整個圖像中所占比例小于一定比例,或圖像的分塊數量高于一定數量時,直接確定該等頂部邊緣的分塊屬于非人物區域),而無需對該等頂部邊緣的分塊執行步驟S12。又例如,當計算機設備基于人物識別技術確定多個分塊中的部分分塊為人物面部圖像時,計算機設備可直接確定該部分分塊中每個分塊的分塊屬性,該被確定的分塊屬性指示分塊屬于人物區域;則在步驟S12中,計算機設備可僅對該部分分塊附近一定范圍內的至少一個分塊執行步驟S12來確定該至少一個分塊中每個分塊的分塊屬性,而無需對該一定范圍外的分塊執行步驟S12。
[0053]需要說明的是,上述舉例僅為更好地說明本發明的技術方案,而非對本發明的限制,本領域技術人員應該理解,任何根據多個分塊的至少一個分塊中每個分塊對應的圖像信息,確定所述每個分塊的分塊屬性的實現方式,均應包含在本發明的范圍內。
[0054]在步驟S13中,計算機設備根據所述至少一個分塊的分塊屬性,確定所述用戶指定的圖像中的人物輪廓。
[0055]具體地,計算機設備根據至少一個分塊的分塊屬性,確定圖像中的人物輪廓的實現方式包括但不限于:
[0056]I)計算機設備直接根據至少一個分塊中屬于人物區域的分塊,確定圖像中的人物輪廓。
[0057]具體地,計算機設備直接根據至少一個分塊中屬于人物區域的分塊,確定圖像中由該等屬于人物區域的分塊所構成的人物輪廓。
[0058]例如,計算機設備基于圖像處理技術中的形態學操作,計算至少一個分塊中屬于人物區域的分塊形成的多個連通區域,并進一步計算該多個連通區域中面積最大的連通區域的輪廓,且將計算得到的輪廓作為圖像中的人物輪廓。
[0059]圖4示出了圖像中兩種人物輪廓的一部分;其中,Linel為采用本實現方式I)所確定的人物輪廓的一部分。
[0060]2)計算機設備根據至少一個分塊的分塊屬性,確定初始人物輪廓;并且,計算機設備對初始人物輪廓進行線條平滑處理,確定人物輪廓。
[0061]例如,圖4為本發明一個示例的確定圖像中的人物輪廓的示意圖。計算機設備根據至少一個分塊的分塊屬性,確定初始人物輪廓線人物輪廓,圖4中的Linel示出了初始人物輪廓的一部分;接著,計算機設備對該初始人物輪廓線人物輪廓進行線條平滑處理,確定人物輪廓,圖4所示Line2為對Linel進行線條平滑處理后得到的一部分人物輪廓。
[0062]其中,計算機設備確定圖像中的初始人物輪廓的實現方式,與前述實現方式I)中計算機設備直接根據至少一個分塊中屬于人物區域的分塊,確定圖像中的人物輪廓的實現方式相同或者相似。
[0063]其中,計算機設備可采用多種曲線平滑算法,如平滑濾波算法、去毛糙算法等,來對初始人物輪廓進行線條平滑處理。
[0064]該實現方式2)所確定的人物輪廓相比實現方式I)更加平滑,也更加精確。
[0065]3)所述步驟S13進一步包括步驟S13-1、步驟S13-2和步驟S13-3。
[0066]在步驟S13-1中,計算機設備根據對圖像進行劃分所得的多個分塊中至少一個分塊的分塊屬性,確定人物輪廓附近的分塊。
[0067]具體地,計算機設備根據多個分塊中至少一個分塊的