本發(fā)明涉及計(jì)算機(jī)圖像處理技術(shù)領(lǐng)域,特別涉及一種圖像融合的方法、裝置和設(shè)備。
背景技術(shù):
隨著智能終端的不斷普及,人們利用智能終端進(jìn)行圖像處理的需求越來(lái)越高,各類美顏類APP受到愛(ài)美人士的廣泛青睞。在這類APP中,常常會(huì)涉及到圖像融合處理,現(xiàn)有的圖像融合處理的復(fù)雜度較大,使得在圖像融合涉及到的像素面積較大時(shí),計(jì)算量引起的時(shí)間成本很大,實(shí)時(shí)性難以保證,并且對(duì)系統(tǒng)資源的消耗和占用都很大。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明提供了一種圖像融合的方法、裝置和設(shè)備,以便于降低圖像融合的計(jì)算量,降低時(shí)間成本和資源消耗。
具體技術(shù)方案如下:
本發(fā)明提供了一種圖像融合的方法,該方法包括:
確定圖像中的融合區(qū)域,得到第一模板;
對(duì)所述第一模板進(jìn)行降采樣,得到第二模板;
對(duì)第二模板中的各像素點(diǎn)的像素值進(jìn)行歸一化,得到第三模板;
對(duì)所述第三模板進(jìn)行升采樣,得到第四模板,所述第四模板的像素點(diǎn)個(gè)數(shù)等于所述第一模板的像素點(diǎn)個(gè)數(shù);
將所述第四模板中各像素點(diǎn)的像素值分別作為所述圖像中對(duì)應(yīng)像素點(diǎn)的權(quán)重,對(duì)所述圖像中融合區(qū)域各像素點(diǎn)和融合素材進(jìn)行加權(quán)融合。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述確定圖像中的融合區(qū)域,得到第一模板包括:
對(duì)圖像中的融合目標(biāo)進(jìn)行特征點(diǎn)定位,所述特征點(diǎn)包括輪廓點(diǎn);
利用定位出的特征點(diǎn),去除圖像中除融合目標(biāo)之外的區(qū)域,得到第一模板。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,對(duì)所述第一模板進(jìn)行降采樣,得到第二模板包括:采用仿射變換的方式,對(duì)所述第一模板進(jìn)行降采樣,使得到的第二模板的像素點(diǎn)個(gè)數(shù)為第一模板的倍,所述N為2以上的正整數(shù);
對(duì)所述第三模板進(jìn)行升采樣,得到第四模板包括:采用逆仿射變換的方式,對(duì)所述第三模板進(jìn)行升采樣,使得到的第四模板的像素點(diǎn)個(gè)數(shù)為所述第三模板的N倍。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,在所述對(duì)第二模板中的各像素點(diǎn)的像素值進(jìn)行歸一化之前,該方法還包括:
對(duì)第二模板的邊緣進(jìn)行平滑處理。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述對(duì)第二模板的邊緣進(jìn)行平滑處理包括:
將所述第二模板中融合區(qū)域的輪廓點(diǎn)分別向外和/或向內(nèi)擴(kuò)展M個(gè)像素點(diǎn),所述M為預(yù)設(shè)的正整數(shù),將擴(kuò)展的像素點(diǎn)所包圍的區(qū)域作為待平滑區(qū)域;
將預(yù)定義的平滑模板仿射到所述待平滑區(qū)域,得到平滑后的第二模板。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述將預(yù)定義的平滑模板仿射到所述待平滑區(qū)域包括:
將所述平滑模板中像素點(diǎn)的像素值,仿射為所述待平滑區(qū)域中對(duì)應(yīng)位置像素點(diǎn)的像素值。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述將預(yù)定義的平滑模板仿射到所述待平滑區(qū)域包括:
在所述平滑模板上的平滑區(qū)域和所述第二模板上的待平滑區(qū)域分別采用相同的方式進(jìn)行三角剖分,得到相同個(gè)數(shù)的三角區(qū)域;
將所述平滑模板中各三角區(qū)域分別仿射到第二模板中對(duì)應(yīng)位置的三角區(qū)域。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,在所述對(duì)第二模板中的各像素點(diǎn)的像素值進(jìn)行歸一化之前,該方法還包括:
對(duì)所述圖像中的融合區(qū)域進(jìn)行亮度統(tǒng)計(jì);
依據(jù)亮度統(tǒng)計(jì)結(jié)果,對(duì)平滑處理后的第二模板進(jìn)行亮度調(diào)整。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述依據(jù)亮度統(tǒng)計(jì)結(jié)果,對(duì)平滑處理后的第二模板進(jìn)行亮度調(diào)整包括:
確定所述圖像中的融合區(qū)域的亮度均值和平滑處理后的第二模板的亮度均值之間的差值;
將平滑處理后的第二模板中各像素點(diǎn)的亮度值分別加上所述差值。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,對(duì)所述圖像中融合區(qū)域各像素點(diǎn)和融合素材進(jìn)行加權(quán)融合包括:
利用Imagei_new=weight_maski*Imagei_old+(1-weight_maski)*Colori,確定融合后得到的各像素點(diǎn)的像素值;
其中Imagei_new為所述圖像中融合區(qū)域融合后得到的第i個(gè)像素點(diǎn)的像素值,weight_maski為所述第四模板中第i個(gè)像素點(diǎn)的像素值,Imagei_old為所述圖像中融合區(qū)域第i個(gè)像素點(diǎn)的像素值,Colori為融合素材提供的第i個(gè)像素點(diǎn)的像素值。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,該方法應(yīng)用于美顏類APP;
所述融合區(qū)域?yàn)槿四槄^(qū)域;所述融合素材為粉底色。
本發(fā)明還提供了一種圖像融合的裝置,該裝置包括:
模板確定單元,用于確定圖像中的融合區(qū)域,得到第一模板;
降采樣單元,用于對(duì)所述第一模板進(jìn)行降采樣,得到第二模板;
歸一化單元,用于對(duì)第二模板中的各像素點(diǎn)的像素值進(jìn)行歸一化,得到第三模板;
升采樣單元,用于對(duì)所述第三模板進(jìn)行升采樣,得到第四模板,所述第四模板的像素點(diǎn)個(gè)數(shù)等于所述第一模板的像素點(diǎn)個(gè)數(shù);
加權(quán)融合單元,用于將所述第四模板中各像素點(diǎn)的像素值分別作為所述所述圖像中對(duì)應(yīng)像素點(diǎn)的權(quán)重,對(duì)所述圖像中融合區(qū)域各像素點(diǎn)和融合素材進(jìn)行加權(quán)融合。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述模板確定單元,具體用于:
對(duì)圖像中的融合目標(biāo)進(jìn)行特征點(diǎn)定位,所述特征點(diǎn)包括輪廓點(diǎn);
利用定位出的特征點(diǎn),去除圖像中除融合目標(biāo)之外的區(qū)域,得到第一模板。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述降采樣單元,具體用于采用仿射變換的方式,對(duì)所述第一模板進(jìn)行降采樣,使得到的第二模板的像素點(diǎn)個(gè)數(shù)為第一模板的倍,所述N為2以上的正整數(shù);
所述升采樣單元,具體用于采用逆仿射變換的方式,對(duì)所述第三模板進(jìn)行升采樣,使得到的第四模板的像素點(diǎn)個(gè)數(shù)為所述第三模板的N倍。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,該裝置還包括:
邊緣平滑單元,用于對(duì)所述第二模板的邊緣進(jìn)行平滑處理,將平滑處理后的第二模板輸出給所述歸一化單元。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述邊緣平滑單元,具體用于:
將所述第二模板中融合區(qū)域的輪廓點(diǎn)分別向外和/或向內(nèi)擴(kuò)展M個(gè)像素點(diǎn),所述M為預(yù)設(shè)的正整數(shù),將擴(kuò)展的像素點(diǎn)所包圍的區(qū)域作為待平滑區(qū)域;
將預(yù)定義的平滑模板仿射到所述待平滑區(qū)域,得到平滑后的第二模板。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述邊緣平滑單元在將預(yù)定義的平滑模板仿射到所述待平滑區(qū)域時(shí),具體執(zhí)行:
將所述平滑模板中像素點(diǎn)的像素值,仿射為所述待平滑區(qū)域中對(duì)應(yīng)位置像素點(diǎn)的像素值。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述邊緣平滑單元在將預(yù)定義的平滑模板仿射到所述待平滑區(qū)域時(shí),具體執(zhí)行:
在所述平滑模板上的平滑區(qū)域和所述第二模板上的待平滑區(qū)域分別采用相同的方式進(jìn)行三角剖分,得到相同個(gè)數(shù)的三角區(qū)域;
將所述平滑模板中各三角區(qū)域分別仿射到第二模板中對(duì)應(yīng)位置的三角區(qū)域。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,該裝置還包括:
亮度調(diào)整單元,用于獲取所述邊緣平滑單元輸出的第二模板,對(duì)所述圖像中的融合區(qū)域進(jìn)行亮度統(tǒng)計(jì),依據(jù)亮度統(tǒng)計(jì)結(jié)果,對(duì)獲取的第二模板進(jìn)行亮度調(diào)整,將亮度調(diào)整后的第二模板輸出給所述歸一化單元。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述亮度調(diào)整單元在依據(jù)亮度統(tǒng)計(jì)結(jié)果,對(duì)平滑處理后的第二模板進(jìn)行亮度調(diào)整時(shí),具體執(zhí)行:
確定所述圖像中的融合區(qū)域的亮度均值和平滑處理后的第二模板的亮度均值之間的差值;
將平滑處理后的第二模板中各像素點(diǎn)的亮度值分別加上所述差值。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述加權(quán)融合單元,具體用于:
利用Imagei_new=weight_maski*Imagei_old+(1-weight_maski)*Colori,確定融合后得到的各像素點(diǎn)的像素值;
其中Imagei_new為所述圖像中融合區(qū)域融合后得到的第i個(gè)像素點(diǎn)的像素值,weight_maski為所述第四模板中第i個(gè)像素點(diǎn)的像素值,Imagei_old為所述圖像中融合區(qū)域第i個(gè)像素點(diǎn)的像素值,Colori為融合素材提供的第i個(gè)像素點(diǎn)的像素值。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,該裝置應(yīng)用于美顏類APP;
所述融合區(qū)域?yàn)槿四槄^(qū)域;所述融合素材為粉底色。
本發(fā)明還提供了一種設(shè)備,包括
一個(gè)或者多個(gè)處理器;
存儲(chǔ)器;
一個(gè)或者多個(gè)程序,所述一個(gè)或者多個(gè)程序存儲(chǔ)在所述存儲(chǔ)器中,被所述一個(gè)或者多個(gè)處理器執(zhí)行以實(shí)現(xiàn)如下操作:
確定圖像中的融合區(qū)域,得到第一模板;
對(duì)所述第一模板進(jìn)行降采樣,得到第二模板;
對(duì)第二模板中的各像素點(diǎn)的像素值進(jìn)行歸一化,得到第三模板;
對(duì)所述第三模板進(jìn)行升采樣,得到第四模板,所述第四模板的像素點(diǎn)個(gè)數(shù)等于所述第一模板的像素點(diǎn)個(gè)數(shù);
將所述第四模板中各像素點(diǎn)的像素值分別作為所述圖像中對(duì)應(yīng)像素點(diǎn)的權(quán)重,對(duì)所述圖像中融合區(qū)域各像素點(diǎn)和融合素材進(jìn)行加權(quán)融合。
由以上技術(shù)方案可以看出,本發(fā)明采用對(duì)圖像進(jìn)行降采樣的方式,對(duì)降采樣后的融合區(qū)域進(jìn)行權(quán)重計(jì)算,然后再升采樣回原始圖像大小,得到原始圖像中融合區(qū)域各像素點(diǎn)在融合時(shí)對(duì)應(yīng)的權(quán)重,大大降低了因權(quán)重計(jì)算所帶來(lái)的計(jì)算量,降低了時(shí)間成本和資源消耗。
【附圖說(shuō)明】
圖1為本發(fā)明實(shí)施例提供的主要方法流程圖;
圖2為本發(fā)明實(shí)施例提供的一種詳細(xì)方法流程圖;
圖3a為本發(fā)明實(shí)施例提供的人臉圖像的示意圖;
圖3b為對(duì)圖3a進(jìn)行特征點(diǎn)定位的示意圖;
圖3c為基于圖3b得到的第一模板區(qū)域的示意圖;
圖3d為圖3c中基于人臉輪廓產(chǎn)生的待平滑區(qū)域;
圖3e為利用三角剖分法結(jié)合平滑模板進(jìn)行平滑的示意圖;
圖4為本發(fā)明實(shí)施例提供的裝置結(jié)構(gòu)圖;
圖5為本發(fā)明實(shí)施例提供的設(shè)備結(jié)構(gòu)圖。
【具體實(shí)施方式】
為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述。
在本發(fā)明實(shí)施例中使用的術(shù)語(yǔ)是僅僅出于描述特定實(shí)施例的目的,而非旨在限制本發(fā)明。在本發(fā)明實(shí)施例和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。
應(yīng)當(dāng)理解,本文中使用的術(shù)語(yǔ)“和/或”僅僅是一種描述關(guān)聯(lián)對(duì)象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,A和/或B,可以表示:?jiǎn)为?dú)存在A,同時(shí)存在A和B,單獨(dú)存在B這三種情況。另外,本文中字符“/”,一般表示前后關(guān)聯(lián)對(duì)象是一種“或”的關(guān)系。
取決于語(yǔ)境,如在此所使用的詞語(yǔ)“如果”可以被解釋成為“在……時(shí)”或“當(dāng)……時(shí)”或“響應(yīng)于確定”或“響應(yīng)于檢測(cè)”。類似地,取決于語(yǔ)境,短語(yǔ)“如果確定”或“如果檢測(cè)(陳述的條件或事件)”可以被解釋成為“當(dāng)確定時(shí)”或“響應(yīng)于確定”或“當(dāng)檢測(cè)(陳述的條件或事件)時(shí)”或“響應(yīng)于檢測(cè)(陳述的條件或事件)”。
圖1為本發(fā)明實(shí)施例提供的主要方法流程圖,如圖1中所示,該方法主要包括以下步驟:
在101中,確定圖像中的融合區(qū)域,得到第一模板。
本步驟中涉及的圖像是需要進(jìn)行融合處理的圖像,圖像中的融合區(qū)域指的是需要進(jìn)行融合處理的區(qū)域。融合區(qū)域可以是指定的目標(biāo)區(qū)域,也可以是通過(guò)特征點(diǎn)定位的方式確定的目標(biāo)區(qū)域,具體將在后續(xù)實(shí)施例中詳述。本步驟實(shí)際上是將圖像中的融合區(qū)域截取出來(lái),得到第一模板,可以通過(guò)將圖像中融合目標(biāo)之外的區(qū)域去除的方式得到。
在102中,對(duì)第一模板進(jìn)行降采樣,得到第二模板。
為了降低對(duì)融合區(qū)域進(jìn)行融合處理所產(chǎn)生的計(jì)算量,在本步驟中,可以對(duì)第一模板進(jìn)行降采樣處理,即減少第一模板中的像素個(gè)數(shù)。
圖像降采樣的方式有很多,例如最近鄰降采樣法、B樣條降采樣法等。在本發(fā)明實(shí)施例中可以采用仿射變換的方式,例如采用對(duì)第一模板進(jìn)行縮放變換的方式,設(shè)置仿射參數(shù),使得到的第二模板的像素點(diǎn)個(gè)數(shù)為第一模板的倍,所述N為2以上的正整數(shù)。
由于圖像融合是否自然通常體現(xiàn)在融合區(qū)域的邊緣處,因此優(yōu)選地,為了使得圖像融合更加的自然,可以進(jìn)一步對(duì)第二模板的邊緣進(jìn)行平滑處理。對(duì)圖像邊緣進(jìn)行平滑處理的方式也有很多,例如簡(jiǎn)單模糊方式、高斯模糊方式、中值濾波方式、高斯濾波方式等。在本發(fā)明實(shí)施例中可以利用預(yù)定義的平滑模板對(duì)第二模板的邊緣進(jìn)行平滑處理,具體將在后續(xù)實(shí)施例中詳述。
另外,為了降低原始圖像亮度與平滑處理后第二模板的亮度之間的差異所產(chǎn)生的影響,可以對(duì)原始的圖像中融合區(qū)域進(jìn)行亮度統(tǒng)計(jì),依據(jù)亮度統(tǒng)計(jì)結(jié)果對(duì)平滑處理后的第二模板進(jìn)行亮度調(diào)整,具體的調(diào)整方式將在后續(xù)實(shí)施例中詳述。
在103中,對(duì)第二模板中的各像素點(diǎn)的像素值進(jìn)行歸一化,得到第三模板。
確定第三模板實(shí)際上就是確定各像素點(diǎn)在后續(xù)進(jìn)行圖像融合時(shí),所采用的融合權(quán)重。在進(jìn)行融合時(shí),為了體現(xiàn)圖像各像素點(diǎn)的特征,權(quán)重系數(shù)由第二模板中各像素點(diǎn)的像素值體現(xiàn),在本步驟中采用對(duì)各像素點(diǎn)的像素值進(jìn)行歸一化的方式。
在104中,對(duì)第三模板進(jìn)行升采樣,得到第四模板,第四模板的像素點(diǎn)個(gè)數(shù)等于第一模板的像素點(diǎn)個(gè)數(shù)。
在圖像融合過(guò)程中,計(jì)算量主要體現(xiàn)在確定融合權(quán)重的過(guò)程,進(jìn)行降采樣得到權(quán)重后,需要對(duì)權(quán)重進(jìn)行升采樣,得到原始圖像中融合區(qū)域?qū)?yīng)各像素點(diǎn)的權(quán)重。因此在本步驟中,對(duì)包含權(quán)重信息的第三模板進(jìn)行升采樣,得到第四模板。
同樣升采樣的方式也存在多種,可以采用諸如雙邊濾波、引導(dǎo)濾波、雙向插值等方式。在本發(fā)明實(shí)施例中,可以采用逆仿射變換的方式,即利用步驟102中仿射變換所采用的仿射參數(shù),對(duì)第三模板進(jìn)行逆仿射變換,得到像素點(diǎn)個(gè)數(shù)與第一模板相同的第四模板。
在105中,將第四模板中各像素點(diǎn)的像素值分別作為圖像中對(duì)應(yīng)像素點(diǎn)的權(quán)重,對(duì)圖像中融合區(qū)域各像素點(diǎn)和融合素材進(jìn)行加權(quán)融合。
本發(fā)明實(shí)施例中采用的是加權(quán)融合的方式,可以利用如下公式確定融合后得到的各像素點(diǎn)的像素值:
利用Imagei_new=weight_maski*Imagei_old+(1-weight_maski)*Colori
(1)
其中Imagei_new為圖像中融合區(qū)域融合后得到的第i個(gè)像素點(diǎn)的像素值,weight_maski為第四模板中第i個(gè)像素點(diǎn)的像素值,Imagei_old為圖像中融合區(qū)域第i個(gè)像素點(diǎn)的像素值,Colori為融合素材提供的第i個(gè)像素點(diǎn)的像素值。在本發(fā)明實(shí)施例中,融合素材可以是一副圖像、色彩集中的一種或多種等。
本發(fā)明所提供的方法可以應(yīng)用于對(duì)靜態(tài)圖像的融合處理,由于大大降低了計(jì)算量,能夠保證實(shí)時(shí)性,因此也可以應(yīng)用于對(duì)視頻圖像的融合處理。另外,本發(fā)明提供的上述方法的執(zhí)行主體可以為用戶終端中的應(yīng)用,也可以為用戶終端應(yīng)用中的插件或軟件開發(fā)工具包(Software Development Kit,SDK)等功能單元,或者,還可以位于服務(wù)器端,本發(fā)明實(shí)施例對(duì)此不進(jìn)行特別限定。上述應(yīng)用可以是諸如圖像處理類應(yīng)用、美顏類應(yīng)用等等。下面結(jié)合圖2,以美顏類應(yīng)用中對(duì)人臉進(jìn)行粉底試妝為例,對(duì)上述方法進(jìn)行詳細(xì)描述。
圖2為本發(fā)明實(shí)施例提供的一種詳細(xì)方法流程圖,在本實(shí)施例中實(shí)現(xiàn)對(duì)圖像中人臉進(jìn)行粉底試妝,即將圖像中的人臉區(qū)域與粉底色進(jìn)行融合。如圖2中所示,該流程可以具體包括以下步驟:
在201中,對(duì)圖像中的人臉區(qū)域進(jìn)行特征點(diǎn)定位,得到人臉的輪廓點(diǎn)以及預(yù)設(shè)的器官的輪廓點(diǎn)。
在本發(fā)明實(shí)施例中,并不對(duì)特征點(diǎn)定位的具體方式進(jìn)行限制,可以采用諸如基于SDM(Supervised Descent Method,監(jiān)督下降方法)模型的定位、id-exp模型定位等任意特征點(diǎn)定位方式,最終可以得到上述特征點(diǎn)的位置信息。
假設(shè)對(duì)圖3a中的人臉區(qū)域進(jìn)行特征點(diǎn)定位,可以得到如圖3b中所示的特征點(diǎn),即人臉的輪廓點(diǎn)以及眼睛、眉毛、嘴巴的輪廓點(diǎn)。需要說(shuō)明的是,圖3b中僅僅是示意性的,為了方便查看夸大了特征點(diǎn)的效果,在實(shí)際的特征點(diǎn)定位時(shí),定位出的特征點(diǎn)數(shù)量和粒度可能與圖3b中不一致。
在202中,利用定位出的特征點(diǎn),去除圖像中除人臉區(qū)域之外的區(qū)域,得到第一模板。
在本實(shí)施例中,實(shí)際上是去除人臉的輪廓點(diǎn)之外的區(qū)域,以及去除眼睛、眉毛、嘴巴的輪廓點(diǎn)所包圍的區(qū)域。得到的第一模板區(qū)域示意性的如圖3c中白色區(qū)域所示,圖3c中未體現(xiàn)出各像素點(diǎn)的實(shí)際像素值。
在203中,采用仿射變換的方式,對(duì)第一模板進(jìn)行降采樣,使得到的第二模板的像素點(diǎn)個(gè)數(shù)為第一模板的倍。
所謂仿射變換是一種二維坐標(biāo)到二維坐標(biāo)之間的線性變換。仿射變換可以通過(guò)一系列的原子變換來(lái)實(shí)現(xiàn),包括:平移(Translation)、縮放(Scale)、翻轉(zhuǎn)(Flip)、旋轉(zhuǎn)(Rotation)和剪切(Shear)。其中本發(fā)明實(shí)施例涉及的仿射變換是其中的縮放變換,設(shè)置合適的縮放參數(shù)(即仿射參數(shù)),將第一模板縮小至原來(lái)的倍,例如縮小至原來(lái)的倍,在縮小的過(guò)程中,采樣點(diǎn)即像素點(diǎn)的個(gè)數(shù)也減少至原來(lái)的倍,也就是通常所說(shuō)的圖像像素變少了。
其中,N值越大,所產(chǎn)生的計(jì)算量越小,N值越小,對(duì)圖片處理的質(zhì)量越高,具體可以根據(jù)實(shí)際的需求進(jìn)行衡量和選取。
在204中,將第二模板中的輪廓點(diǎn)分別向外和向內(nèi)擴(kuò)展M個(gè)像素點(diǎn),得到待平滑區(qū)域。
本步驟實(shí)際上是為圖像的邊緣平滑做準(zhǔn)備,確定待平滑區(qū)域。在本步驟中,可以將第二模板中人臉的輪廓點(diǎn)、眼睛的輪廓點(diǎn)、眉毛的輪廓點(diǎn)以及嘴巴的輪廓點(diǎn)分別向內(nèi)和/或向外擴(kuò)展M個(gè)像素點(diǎn),M為預(yù)設(shè)的正整數(shù),例如取3,分別得到帶狀的待平滑區(qū)域。所謂向內(nèi)和向外擴(kuò)展可以是沿著輪廓點(diǎn)連線的法線方向進(jìn)行的兩個(gè)方向的擴(kuò)展。
示意性的如圖3d所示,圖3d中僅示出了人臉輪廓產(chǎn)生的待平滑區(qū)域,眼睛、眉毛、嘴巴輪廓產(chǎn)生的待平滑區(qū)域類似。
在205中,采用三角剖分方式,將預(yù)定義的人臉平滑模板仿射到待平滑區(qū)域,得到平滑后的第二模板。
對(duì)人臉邊緣進(jìn)行平滑處理,目的是使圖像中人臉亮度平緩漸變,減小突變梯度,使得人臉邊緣更加柔和自然,從而改善圖像質(zhì)量。
為了加快平滑處理的速度,在本實(shí)施例中采用平滑模板的方式。由于人臉的大致形狀是基本相同的,因此可以預(yù)先利用人臉的形狀形成一個(gè)邊緣已經(jīng)平滑處理的模板,在本模板中,經(jīng)平滑處理的邊緣區(qū)域可以適當(dāng)大一點(diǎn)。在對(duì)第二模板進(jìn)行平滑處理時(shí),可以將預(yù)先定義好的平滑模板仿射到待平滑區(qū)域,從而完成對(duì)待平滑區(qū)域的平滑。這種方式,可以快速實(shí)現(xiàn)邊緣平滑,避免了實(shí)時(shí)進(jìn)行模糊平滑所帶來(lái)的計(jì)算量和時(shí)間開銷。
在本步驟中采用的三角剖分法,是在平滑模板上的平滑區(qū)域和第二模板上的待平滑區(qū)域采用相同的方式進(jìn)行三角剖分,得到相同的三角區(qū)域個(gè)數(shù)。以待平滑區(qū)域?yàn)槔?,將?nèi)外邊緣均分成m個(gè)點(diǎn),然后待平滑區(qū)域被分成2m個(gè)三角,m為預(yù)設(shè)的正整數(shù),如圖3e中所示。平滑模板上的平滑區(qū)域采用相同的剖分方式,將平滑模板中各三角區(qū)域分別仿射到第二模板中對(duì)應(yīng)位置的三角區(qū)域。
其中,本步驟中涉及的仿射指的是對(duì)應(yīng)位置像素點(diǎn)的像素值的仿射,即將平滑模板上像素點(diǎn)的像素值仿射到第二模板上待平滑區(qū)域中對(duì)應(yīng)位置的像素點(diǎn),例如將平滑模板上平滑區(qū)域的像素點(diǎn)A仿射到第二模板上待平滑區(qū)域的像素點(diǎn)a,則像素點(diǎn)a取像素點(diǎn)A的像素值,若像素點(diǎn)A為剖分得到的某三角形的頂角,那么像素點(diǎn)a為第二模板上對(duì)應(yīng)位置的三角形的頂角。
在206中,對(duì)圖像中的人臉區(qū)域進(jìn)行亮度統(tǒng)計(jì),依據(jù)亮度統(tǒng)計(jì)結(jié)果,對(duì)平滑處理后的第二模板進(jìn)行亮度調(diào)整。
本步驟的目的是,使得平滑后的第二模板的亮度能夠盡量的與原始圖像中人臉實(shí)際亮度匹配。例如,可以統(tǒng)計(jì)原始圖像中人臉區(qū)域亮度的均值以及平滑后的第二模板的亮度均值,確定兩者的差值;然后將各平滑后的第二模板中各像素點(diǎn)的亮度值均加上該差值。當(dāng)然,還可以采用其他亮度調(diào)整的具體方式,在此不再一一列舉。
在207中,對(duì)亮度調(diào)整后的第二模板中的各像素值進(jìn)行歸一化,得到第三模板。
為了在圖像融合時(shí),體現(xiàn)圖像各像素點(diǎn)的特征,權(quán)重系數(shù)由第二模板中各像素點(diǎn)的像素值體現(xiàn),在本步驟中采用對(duì)各像素點(diǎn)的像素值進(jìn)行歸一化處理后,得到的第三模板中各像素點(diǎn)的像素值就可以作為該像素點(diǎn)在后續(xù)融合時(shí)采用的權(quán)重。
權(quán)重的計(jì)算是圖像融合中帶來(lái)較大計(jì)算量的其中一個(gè)重要處理,在本發(fā)明實(shí)施例中,首先通過(guò)降采樣的方式,基于像素點(diǎn)較少的模板進(jìn)行權(quán)重計(jì)算后,在升采樣回去,得到所有像素點(diǎn)的權(quán)重,相比較直接基于原始圖像大小進(jìn)行權(quán)重計(jì)算,大大降低了計(jì)算消耗和時(shí)間成本。
在208中,利用203中采用的仿射參數(shù),將第三模板進(jìn)行逆仿射變換,得到第四模板。
在203中采用的是縮放變換,在本步驟中同樣采用縮放變換,但本步驟中需要依據(jù)在203中設(shè)置的仿射參數(shù),設(shè)置對(duì)應(yīng)的仿射參數(shù),從而實(shí)現(xiàn)逆變換。將逆仿射變換后得到的第四模板的像素點(diǎn)個(gè)數(shù)升至與第一模板相同。也就是說(shuō),本步驟實(shí)際上是要升采樣回第一模板的像素點(diǎn)個(gè)數(shù),提高分辨率。在逆仿射變換過(guò)程中,由于像素點(diǎn)個(gè)數(shù)增多,對(duì)于增加的像素點(diǎn),其像素值可以采用插值的方式得到。
在209中,將第四模板中各像素點(diǎn)的像素值分別作為圖像中對(duì)應(yīng)像素點(diǎn)的權(quán)重,對(duì)圖像中人臉區(qū)域各像素點(diǎn)和粉底色進(jìn)行加權(quán)融合。
本步驟在進(jìn)行加權(quán)融合時(shí),可以采用上述的公式(1),其中Imagei_new為圖像中人臉區(qū)域融合后得到的第i個(gè)像素點(diǎn)的像素值,Imagei_old為圖像中人臉區(qū)域(不包含眉毛、眼睛和嘴巴的區(qū)域)第i個(gè)像素點(diǎn)的像素值,Colori為粉底色的像素值,在本實(shí)施例中,各像素粉底色的像素值可以取相同的值。
本發(fā)明實(shí)施例中涉及的像素點(diǎn)的像素值涉及到R、G、B三個(gè)通道的值,在進(jìn)行上述仿射以及融合處理時(shí),需要分別對(duì)各像素點(diǎn)R、G、B三個(gè)通道的值分別進(jìn)行處理,這是較為公知的內(nèi)容,在此僅作簡(jiǎn)單說(shuō)明。
以上是對(duì)本發(fā)明所提供方法進(jìn)行的詳細(xì)描述,下面結(jié)合圖4對(duì)本發(fā)明提供的裝置進(jìn)行詳細(xì)描述。如圖4所示,該裝置可以包括:模板確定單元01、降采樣單元02、歸一化單元03、升采樣單元04以及加權(quán)融合單元05,還可以進(jìn)一步包括邊緣平滑單元06和亮度調(diào)整單元07。各組成單元的主要功能如下:
模板確定單元01負(fù)責(zé)確定圖像中的融合區(qū)域,得到第一模板。具體地,模板確定單元01可以首先對(duì)圖像中的融合目標(biāo)進(jìn)行特征點(diǎn)定位,特征點(diǎn)包括輪廓點(diǎn);然后利用定位出的特征點(diǎn),去除圖像中除融合目標(biāo)之外的區(qū)域,得到第一模板。
降采樣單元02負(fù)責(zé)對(duì)第一模板進(jìn)行降采樣,得到第二模板。圖像降采樣的方式有很多,例如最近鄰降采樣法、B樣條降采樣法等。在本發(fā)明實(shí)施例中降采樣單元02采用仿射變換的方式,對(duì)第一模板進(jìn)行降采樣,使得到的第二模板的像素點(diǎn)個(gè)數(shù)為第一模板的倍,N為2以上的正整數(shù)。
歸一化單元03負(fù)責(zé)對(duì)第二模板中的各像素點(diǎn)的像素值進(jìn)行歸一化,得到第三模板。
升采樣單元04負(fù)責(zé)對(duì)第三模板進(jìn)行升采樣,得到第四模板,第四模板的像素點(diǎn)個(gè)數(shù)等于第一模板的像素點(diǎn)個(gè)數(shù)。同樣升采樣的方式也存在多種,可以采用諸如雙邊濾波、引導(dǎo)濾波、雙向插值等方式。在本發(fā)明實(shí)施例中,升采樣單元04可以采用逆仿射變換的方式,對(duì)第三模板進(jìn)行升采樣,使得到的第四模板的像素點(diǎn)個(gè)數(shù)為第三模板的N倍。
加權(quán)融合單元05負(fù)責(zé)將第四模板中各像素點(diǎn)的像素值分別作為圖像中對(duì)應(yīng)像素點(diǎn)的權(quán)重,對(duì)圖像中融合區(qū)域各像素點(diǎn)和融合素材進(jìn)行加權(quán)融合。
具體可以采用Imagei_new=weight_maski*Imagei_old+(1-weight_maski)*Colori,確定融合后得到的各像素點(diǎn)的像素值;
其中Imagei_new為圖像中融合區(qū)域融合后得到的第i個(gè)像素點(diǎn)的像素值,weight_maski為第四模板中第i個(gè)像素點(diǎn)的像素值,Imagei_old為圖像中融合區(qū)域第i個(gè)像素點(diǎn)的像素值,Colori為融合素材提供的第i個(gè)像素點(diǎn)的像素值。
為了使得融合區(qū)域邊緣平緩漸變,減小突變梯度,更加融合和自然,邊緣平滑單元06負(fù)責(zé)對(duì)第二模板的邊緣進(jìn)行平滑處理,將平滑處理后的第二模板輸出給歸一化單元03。
具體地,邊緣平滑單元06可以將第二模板中融合區(qū)域的輪廓點(diǎn)分別向外和/或向內(nèi)擴(kuò)展M個(gè)像素點(diǎn),M為預(yù)設(shè)的正整數(shù),將擴(kuò)展的像素點(diǎn)所包圍的區(qū)域作為待平滑區(qū)域;將預(yù)定義的平滑模板仿射到待平滑區(qū)域,得到平滑后的第二模板。在進(jìn)行仿射時(shí),可以將平滑模板中像素點(diǎn)的像素值,仿射為待平滑區(qū)域中對(duì)應(yīng)位置像素點(diǎn)的像素值。
其中可以預(yù)先利用融合區(qū)域的形狀形成一個(gè)邊緣已經(jīng)平滑處理的模板,該模板就是平滑模板。這種將預(yù)先定義好的平滑模板仿射到待平滑區(qū)域,從而完成對(duì)待平滑區(qū)域的平滑的方式,可以快速實(shí)現(xiàn)邊緣平滑,避免了實(shí)時(shí)進(jìn)行模糊平滑所帶來(lái)的計(jì)算量和時(shí)間開銷。
更進(jìn)一步地,邊緣平滑單元06在將預(yù)定義的平滑模板仿射到待平滑區(qū)域時(shí),可以采用三角剖分的方式,即在平滑模板上的平滑區(qū)域和第二模板上的待平滑區(qū)域分別采用相同的方式進(jìn)行三角剖分,得到相同個(gè)數(shù)的三角區(qū)域;然后將平滑模板中各三角區(qū)域分別仿射到第二模板中對(duì)應(yīng)位置的三角區(qū)域。
亮度調(diào)整單元07負(fù)責(zé)獲取邊緣平滑單元06輸出的第二模板,對(duì)圖像中的融合區(qū)域進(jìn)行亮度統(tǒng)計(jì),依據(jù)亮度統(tǒng)計(jì)結(jié)果,對(duì)獲取的第二模板進(jìn)行亮度調(diào)整,將亮度調(diào)整后的第二模板輸出給歸一化單元03。亮度調(diào)整單元07可以使得平滑后的第二模板的亮度能夠盡量的與原始圖像中人臉實(shí)際亮度匹配。在進(jìn)行亮度調(diào)整時(shí),可以確定圖像中的融合區(qū)域的亮度均值和平滑處理后的第二模板的亮度均值之間的差值;然后將平滑處理后的第二模板中各像素點(diǎn)的亮度值分別加上差值。
該裝置可以應(yīng)用于圖像處理類APP,也可以應(yīng)用于美顏類APP等。該裝置可以體現(xiàn)為一個(gè)應(yīng)用的形式,可以是運(yùn)行于設(shè)備本地的應(yīng)用程序(nativeAPP),也可以是設(shè)備瀏覽器上的一個(gè)網(wǎng)頁(yè)程序(webApp)。除此之外,也可以體現(xiàn)為應(yīng)用中的插件或SDK的形式。
除了應(yīng)用于上述美顏類APP中諸如粉底試妝的場(chǎng)景之外,本發(fā)明還可以應(yīng)用于其他圖像融合的場(chǎng)景,例如將一副圖像中紅色的蘋果與另一幅圖像中黃色的蘋果進(jìn)行融合。
本發(fā)明實(shí)施例提供的上述方法和裝置可以以設(shè)置并運(yùn)行于設(shè)備中的計(jì)算機(jī)程序體現(xiàn)。該設(shè)備可以包括一個(gè)或多個(gè)處理器,還包括存儲(chǔ)器和一個(gè)或多個(gè)程序,如圖5中所示。其中該一個(gè)或多個(gè)程序存儲(chǔ)于存儲(chǔ)器中,被上述一個(gè)或多個(gè)處理器執(zhí)行以實(shí)現(xiàn)本發(fā)明上述實(shí)施例中所示的方法流程和/或裝置操作。例如,被上述一個(gè)或多個(gè)處理器執(zhí)行的方法流程,可以包括:
確定圖像中的融合區(qū)域,得到第一模板;
對(duì)第一模板進(jìn)行降采樣,得到第二模板;
對(duì)第二模板中的各像素點(diǎn)的像素值進(jìn)行歸一化,得到第三模板;
對(duì)第三模板進(jìn)行升采樣,得到第四模板,第四模板的像素點(diǎn)個(gè)數(shù)等于第一模板的像素點(diǎn)個(gè)數(shù);
將第四模板中各像素點(diǎn)的像素值分別作為圖像中對(duì)應(yīng)像素點(diǎn)的權(quán)重,對(duì)所述圖像中融合區(qū)域各像素點(diǎn)和融合素材進(jìn)行加權(quán)融合。
由以上描述可以看出,本發(fā)明提供的方法和裝置可以具備以下優(yōu)點(diǎn):
1)本發(fā)明采用對(duì)圖像進(jìn)行降采樣的方式,對(duì)降采樣后的融合區(qū)域進(jìn)行權(quán)重計(jì)算,然后再升采樣回原始圖像大小,得到原始圖像中融合區(qū)域各像素點(diǎn)在融合時(shí)對(duì)應(yīng)的權(quán)重,大大降低了因權(quán)重計(jì)算所帶來(lái)的計(jì)算量,降低了時(shí)間成本和資源消耗。
2)在權(quán)重計(jì)算過(guò)程中,對(duì)降采樣后的融合區(qū)域進(jìn)行邊緣平滑和/或亮度調(diào)整,更進(jìn)一步降低了計(jì)算量,降低了時(shí)間成本和資源消耗。
3)在進(jìn)行邊緣平滑時(shí),采用預(yù)定義的平滑模板,還可以進(jìn)一步結(jié)合三角剖分的方式,可以快速實(shí)現(xiàn)邊緣平滑,避免了實(shí)時(shí)進(jìn)行模糊平滑所帶來(lái)的計(jì)算量和時(shí)間開銷。
4)可以在高分辨率的畫質(zhì)下,仍保持實(shí)時(shí)性。不僅可以應(yīng)用于靜態(tài)圖像,也可以應(yīng)用于視頻圖像。
5)當(dāng)應(yīng)用于粉底試妝時(shí),由于僅對(duì)人臉區(qū)域的邊緣進(jìn)行平滑處理,能夠有效保留人臉自身的紋理信息。無(wú)需用戶手工操作,能夠根據(jù)人臉膚色的亮度自動(dòng)調(diào)整融合權(quán)重,得到更加真實(shí)的試妝體驗(yàn)。
在本發(fā)明所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的裝置和方法,可以通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式。
所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用硬件加軟件功能單元的形式實(shí)現(xiàn)。
上述以軟件功能單元的形式實(shí)現(xiàn)的集成的單元,可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。上述軟件功能單元存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(Read-Only Memory,ROM)、隨機(jī)存取存儲(chǔ)器(Random Access Memory,RAM)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。