鄧 紅
(無(wú)錫機(jī)電高等職業(yè)技術(shù)學(xué)校,江蘇 無(wú)錫 214028)
圖像裁剪技術(shù),是計(jì)算機(jī)視覺(jué)領(lǐng)域的研究熱點(diǎn)之一,旨在通過(guò)修改圖像寬高比或圖像構(gòu)圖,從原圖像中移除無(wú)關(guān)區(qū)域或無(wú)意義噪聲,使得裁剪后的圖像具有相對(duì)于原圖像而言更好的視覺(jué)效果[1]。隨著審美意識(shí)的逐漸提升,人們對(duì)圖像的美學(xué)質(zhì)量也提出了要求。另外手機(jī)應(yīng)用程序、電腦網(wǎng)頁(yè)等常常需要在限定寬高比的位置上,顯示具有更完整信息或較好視覺(jué)效果的裁剪圖像,以此來(lái)獲得更多的點(diǎn)擊量。因此,自動(dòng)生成藝術(shù)性較好的圖像裁剪技術(shù)在人們?nèi)粘I罨蛏虡I(yè)領(lǐng)域中均有重要應(yīng)用,具有較高的經(jīng)濟(jì)價(jià)值。
目前圖像裁剪改進(jìn)構(gòu)圖研究已經(jīng)取得了一定進(jìn)展,然而關(guān)于人物圖像的構(gòu)圖改進(jìn)研究卻比較少?,F(xiàn)在的方法一般是通過(guò)顯著性預(yù)測(cè)或者視覺(jué)質(zhì)量評(píng)估等來(lái)制定改進(jìn)構(gòu)圖的優(yōu)化函數(shù),以此增強(qiáng)圖片的美感[2]。Suh[3]等人使用顯著圖評(píng)估圖像區(qū)域質(zhì)量,選擇尺寸最小且包含顯著性部分最多的子圖片,作為最優(yōu)裁剪窗口。有的研究人員提出基于卷積神經(jīng)網(wǎng)絡(luò)的圖像美學(xué)質(zhì)量評(píng)估和自動(dòng)裁剪的算法[4-5],其中有監(jiān)督學(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò)可以實(shí)現(xiàn)端到端的圖像裁剪[6]。然而這些方法都需要大量主觀的人工標(biāo)記,算法效率較低,而且沒(méi)有考慮人物姿勢(shì),導(dǎo)致視覺(jué)表現(xiàn)力不強(qiáng)。
分析專業(yè)攝影師與普通人對(duì)同一場(chǎng)景拍攝圖像的優(yōu)劣,主要原因在于專業(yè)攝影師具有較好的構(gòu)圖能力。基于此,本文提出通過(guò)自動(dòng)學(xué)習(xí)高藝術(shù)質(zhì)量人物圖像的構(gòu)圖規(guī)則來(lái)指導(dǎo)裁剪過(guò)程的假設(shè),避免依賴大量的人工標(biāo)記,充分考慮人體姿勢(shì),設(shè)計(jì)一種可以自動(dòng)學(xué)習(xí)構(gòu)圖的人物圖像裁剪方法,從而有效增強(qiáng)人物圖像的表現(xiàn)力。首先通過(guò)人體關(guān)鍵點(diǎn)檢測(cè),獲取學(xué)習(xí)圖片中人物姿勢(shì)及頭部中心位置,基于分層k-均值樹(shù)構(gòu)建姿勢(shì)模型,給定待裁剪的原人物圖片和寬高比,然后檢測(cè)原圖片的身體姿勢(shì),與姿勢(shì)模型進(jìn)行匹配生成候選裁剪窗口,經(jīng)熱力計(jì)算,最后給出最優(yōu)裁剪圖像。裁剪過(guò)程如圖1所示。
圖1 裁剪流程示意圖
人體關(guān)鍵點(diǎn)檢測(cè)(Human Keypoints Detection)又稱為人體姿態(tài)估計(jì),一般作為計(jì)算機(jī)視覺(jué)中人體動(dòng)作識(shí)別、行為分析、人機(jī)交互等的前置任務(wù),分為單人/多人關(guān)鍵點(diǎn)檢測(cè)、2D/3D關(guān)鍵點(diǎn)檢測(cè)。隨著深度學(xué)習(xí)領(lǐng)域的發(fā)展,目前人體關(guān)鍵點(diǎn)檢測(cè)算法可以比較精確地檢測(cè)人體關(guān)鍵點(diǎn)。例如Newell[7]等人設(shè)計(jì)的一種基于Hourglass網(wǎng)絡(luò)的人體關(guān)鍵點(diǎn)檢測(cè)算法,以及Cao[8]等人提出的部分近似區(qū)域法,來(lái)檢測(cè)多人姿勢(shì)關(guān)鍵點(diǎn)。
目前應(yīng)用最廣泛的兩個(gè)人體姿勢(shì)數(shù)據(jù)集是:COCO數(shù)據(jù)集[9]和MPII數(shù)據(jù)集[10]。COCO數(shù)據(jù)集定義了18個(gè)關(guān)鍵點(diǎn),MPII數(shù)據(jù)集定義了15個(gè)關(guān)鍵點(diǎn)。我們使用COCO數(shù)據(jù)集中的全部18個(gè)關(guān)鍵點(diǎn)和MPII數(shù)據(jù)集的 2個(gè)關(guān)鍵點(diǎn):Head Top和 Upper Neck。本文使Head Top和Upper Neck兩個(gè)鍵點(diǎn)來(lái)大致確定頭部尺寸和頭部中心,以便歸一化處理姿勢(shì)數(shù)據(jù)。
另外,在本文的方法中,對(duì)于一個(gè)待裁剪的人物圖像,先檢測(cè)該圖的人體關(guān)鍵點(diǎn),利用得到的姿勢(shì)數(shù)據(jù)(我們稱為查詢姿勢(shì),即Query Pose),搜索與之最近鄰的姿勢(shì)(我們稱為相似姿勢(shì),即Anchor Pose),目前這個(gè)問(wèn)題還沒(méi)有比線性搜索更快的算法。而Muja[11]等人提出將優(yōu)先級(jí)搜索應(yīng)用于分層k-均值樹(shù)的方法,在很多數(shù)據(jù)集中表現(xiàn)出良好的性能,因此本文使用分層k-均值樹(shù)構(gòu)建人物姿勢(shì)模型,將優(yōu)先級(jí)搜索應(yīng)用在分層k-均值樹(shù)上進(jìn)行最近鄰的搜索。
一個(gè)分層k-均值樹(shù)是指將樣本通過(guò)遞歸聚類和分裂分布到不同葉子上的樹(shù)。首先我們將所有樣本作為一個(gè)節(jié)點(diǎn),使用k-means算法(k=2)去聚類樣本。這樣一個(gè)父節(jié)點(diǎn)生成兩個(gè)子節(jié)點(diǎn),并且將兩個(gè)聚類的樣本分發(fā)給每個(gè)子節(jié)點(diǎn)。然后遞歸地對(duì)每個(gè)子節(jié)點(diǎn)運(yùn)行上述過(guò)程,直到樣本達(dá)到一個(gè)相似的節(jié)點(diǎn)。
本文使用歐式距離(Euclidean Distance)來(lái)評(píng)估兩個(gè)姿勢(shì)的相似度。在計(jì)算之前,姿勢(shì)數(shù)據(jù)必須先進(jìn)行歸一化操作,另外還需要考慮有些關(guān)鍵點(diǎn)不可見(jiàn)。例如我們不可能去計(jì)算一個(gè)具有全部身體關(guān)鍵點(diǎn)姿勢(shì)和只有上半身關(guān)鍵點(diǎn)姿勢(shì)之間的歐式距離。為了處理這個(gè)問(wèn)題,我們將包含不同關(guān)鍵點(diǎn)集合的樣本分到不同的子文件夾中,然后每個(gè)文件夾訓(xùn)練一個(gè)分層k-均值樹(shù),得到一組分層k-均值樹(shù),每個(gè)樹(shù)對(duì)應(yīng)一個(gè)關(guān)鍵點(diǎn)集合。當(dāng)給定一個(gè)查詢姿勢(shì),只要遍歷具有相同關(guān)鍵點(diǎn)集合的分層k-均值樹(shù)。
給定一個(gè)查詢姿勢(shì),需要查找一組相似姿勢(shì)。本文采用Muja等人的方法搜索最近的鄰居,應(yīng)用優(yōu)先隊(duì)列加速查找。如果一個(gè)節(jié)點(diǎn)具有兩個(gè)子節(jié)點(diǎn),則計(jì)算查詢姿勢(shì)和每個(gè)子節(jié)點(diǎn)的距離,根據(jù)計(jì)算的距離,將兩個(gè)子節(jié)點(diǎn)插入隊(duì)列,選擇與查詢姿勢(shì)距離最小的節(jié)點(diǎn);如果一個(gè)節(jié)點(diǎn)沒(méi)有子節(jié)點(diǎn),選擇該節(jié)點(diǎn),并計(jì)算該節(jié)點(diǎn)與查詢姿勢(shì)的距離。如果該距離沒(méi)有超過(guò)事先定義的閾值,則保留該葉子節(jié)點(diǎn)。通過(guò)上述過(guò)程,可以收集到一組相似姿勢(shì)。當(dāng)保留的葉子節(jié)點(diǎn)達(dá)到預(yù)定義數(shù)量后,算法停止查找。實(shí)驗(yàn)表明,該方法比“暴力搜索”(brute-force searching)大大提升了搜索效率。
對(duì)于一個(gè)查詢姿勢(shì),首先基于分層k-均值樹(shù)和優(yōu)先隊(duì)列查找一組相似姿勢(shì)。而對(duì)每一個(gè)相似姿勢(shì),計(jì)算人體頭部中心在圖片中的相對(duì)位置。然后為查詢姿勢(shì)生成一個(gè)待裁剪窗口,在該窗口中有相似的頭部中心相對(duì)位置。這樣,我們將生成一組候選裁剪方案,其過(guò)程如下算法1所示。最后,我們選擇具有最高的熱力值的候選裁剪方案作為最終裁剪方案(具體見(jiàn)3.4部分)。
算法1:generate croppingproposal
Input:F—hierarchical k-means trees I—image Output:croppingproposal
(1)Detect body key points on image I(we denote these keypoints as queryposePq);
(2)Find a group ofsimilar poses{Pqj=1...N};
(3)Calculate the heat maps with these poses;
(4)forPn∈{Pqj=1...N}:
calculate the relative position forPn’s head center;
generate a windowwnforPqaccording to the above relative position;
evaluate the heat ofwindowwnfor queryposePq;
5).Return the windowwith the maximumheat.
本文使用熱力圖(Heat Maps)來(lái)評(píng)估候選裁剪方案的視覺(jué)質(zhì)量。熱力圖是從查詢姿勢(shì)的相似姿勢(shì)中生成的。對(duì)每一個(gè)查詢姿勢(shì)Pn,記第k個(gè)關(guān)鍵點(diǎn)坐標(biāo)為(knx,kny)。由于圖片有不同的尺寸,先要進(jìn)行歸一化,處理成100×100的尺寸,其數(shù)學(xué)表達(dá)式
對(duì)于一組N個(gè)樣本,第k個(gè)關(guān)鍵點(diǎn)的熱力圖計(jì)算如下數(shù)學(xué)表達(dá)式(3):
接下來(lái)用高斯函數(shù)對(duì)熱力圖進(jìn)行平滑處理。
對(duì)于query posePn的候選裁剪窗口wm,計(jì)算wm中的關(guān)鍵點(diǎn)相應(yīng)位置,如式(1)式(2),熱力值heat計(jì)算如式(5)下:
其中,K為關(guān)鍵點(diǎn)的編號(hào)。為了簡(jiǎn)化和高效裁剪,本文只考慮三個(gè)關(guān)鍵點(diǎn):頭部中心,左肩和右肩。熱圖示例如上圖2所示。
圖2 熱力圖示例
為了訓(xùn)練Hierarchical k-means tree的姿勢(shì)模型,本文從專業(yè)的攝影網(wǎng)站收集了10,000張包括各種比例和尺寸的人物照片作為訓(xùn)練集。這些照片絕大多數(shù)都是由專業(yè)的攝影師拍攝,且具有較高的美學(xué)質(zhì)量。另外從MS COCO(Microsoft Common Objects in Context)數(shù)據(jù)集中選出631張美學(xué)質(zhì)量一般的人物照片作為本文的測(cè)試集。
由于應(yīng)用需求單人情況較多,本文先針對(duì)單人的圖像裁剪問(wèn)題進(jìn)行研究。圖3是應(yīng)用本文方法得到的裁剪結(jié)果。對(duì)于不同比例的原圖,都裁剪出3:2和3:4兩種比例的子圖。從裁剪結(jié)果來(lái)看,該方法是令人滿意的,能夠保留人物主體目標(biāo)較完整的信息,同時(shí)兼顧美感。
圖3 裁剪實(shí)例
根據(jù)不同場(chǎng)景,可以通過(guò)設(shè)置裁剪子圖中包含的關(guān)鍵點(diǎn)內(nèi)容來(lái)進(jìn)行自動(dòng)裁剪。實(shí)驗(yàn)如下圖4所示,圖4(b)的裁剪約束條件是包含人物全身關(guān)鍵點(diǎn),圖4(c)約束只包含上半身的關(guān)鍵點(diǎn),圖4(d)條件是包含肘關(guān)節(jié)及以上關(guān)鍵點(diǎn)。因此根據(jù)不同的場(chǎng)景,可以裁剪出不同的結(jié)果,對(duì)于不同應(yīng)用需求是非常有用。
圖4 有約束裁剪結(jié)果
本文實(shí)驗(yàn)系統(tǒng)環(huán)境的硬件配置是:NVIDIA GeForce GTX-1060 GPU、Intel i7-6700 CPU,操作系統(tǒng)是Ubuntu 16.04,編程語(yǔ)言是Python。代碼運(yùn)行時(shí)間主要包括兩部分:①姿勢(shì)檢測(cè)時(shí)間;②裁剪時(shí)間。姿勢(shì)檢測(cè)代碼運(yùn)行在GPU上,每張圖片需要100ms。裁剪代碼運(yùn)行在CPU上,每張圖片需要110ms。因此本方法每秒可以處理4.7張圖片。
本文提出了“從現(xiàn)有高藝術(shù)質(zhì)量圖片自動(dòng)學(xué)習(xí)構(gòu)圖規(guī)則來(lái)指導(dǎo)裁剪過(guò)程”這一假設(shè),并基于該假設(shè),設(shè)計(jì)并實(shí)現(xiàn)一種自動(dòng)學(xué)習(xí)構(gòu)圖的人物圖像裁剪方法。該方法通過(guò)檢測(cè)高美學(xué)質(zhì)量圖像中人物姿勢(shì)及頭部中心的相對(duì)位置,構(gòu)建Hierarchical k-means trees,使用優(yōu)先Hierarchical k-means trees查找相似姿勢(shì),生成候選裁剪窗口,根據(jù)熱力圖計(jì)算進(jìn)行美學(xué)評(píng)估,得到最終裁剪結(jié)果。實(shí)驗(yàn)結(jié)果表明,本文提出的假設(shè)具有合理性和可行性,該方法不需要大量人工標(biāo)識(shí),在裁剪階段能夠根據(jù)場(chǎng)景需求,保留相應(yīng)的主體信息,構(gòu)圖效果理想,效率較高,具有良好的應(yīng)用前景。
安徽電子信息職業(yè)技術(shù)學(xué)院學(xué)報(bào)2021年5期