沈鳳仙
(三江學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院,南京 210000)
隨著移動(dòng)互聯(lián)網(wǎng)的快速發(fā)展和廣泛應(yīng)用,通過(guò)移動(dòng)服務(wù)端(如手機(jī))記錄人們飲食習(xí)慣的應(yīng)用服務(wù)得到快速發(fā)展[1]。用戶可以更直觀地了解自己的飲食習(xí)慣,并通過(guò)記錄自己的飲食來(lái)評(píng)估飲食營(yíng)養(yǎng)。在記錄膳食時(shí),通常利用文本輸入食品名稱或通過(guò)層次鏈接選擇食品,但是這種方式記錄食物的過(guò)程較為繁瑣。文獻(xiàn)[2]提出了一種專門針對(duì)快餐食品的食品識(shí)別系統(tǒng)。文獻(xiàn)[3]提出了一種食品圖像識(shí)別算法,定義了面包、牛肉和奶酪等8 種基本的食物材料,并識(shí)別它們?cè)谑澄飯D像中的相對(duì)位置。文獻(xiàn)[4]提出了一種以常見(jiàn)食品為目標(biāo)的食品識(shí)別系統(tǒng),是一種融合sift 特征包、Gabor、顏色直方圖等多種圖像特征的多核學(xué)習(xí)(MKL)食品圖像識(shí)別方法,分類識(shí)別率可達(dá)61.34%。然而,這些應(yīng)用都假設(shè)1 個(gè)食物圖像只包含1 個(gè)食物項(xiàng),無(wú)法處理包含2 個(gè)或多個(gè)食物項(xiàng)的圖像,并且在1 個(gè)圖像中食物項(xiàng)盡可能大。為此,本研究提出了一種新的多種食物圖像識(shí)別方法。該方法利用可變形部分模型(DPM)、圓形檢測(cè)器和JSEG 區(qū)域分割等方法對(duì)候選區(qū)域進(jìn)行檢測(cè);從每個(gè)候選區(qū)域提取各種圖像特征;在應(yīng)用多核學(xué)習(xí)訓(xùn)練的分類模型后,得到給定圖像上的前N個(gè)候選食品名稱。結(jié)果表明,該法是一種有效的多食品圖像識(shí)別方法。
對(duì)于圖像目標(biāo)檢測(cè),基于滑動(dòng)窗口的檢測(cè)方法是一種標(biāo)準(zhǔn)方法。在基于滑動(dòng)窗口的人臉檢測(cè)方法中,最具代表性的是Viola-Jones 人臉檢測(cè)方法[5]。近年來(lái),提出的可變形零件模型(Deformable part model,DPM)作為一種檢測(cè)通用對(duì)象的方法,由于其鑒別能力和源代碼的可用性而受到廣泛關(guān)注。在DPM 中,利用多個(gè)部分模型訓(xùn)練對(duì)其空間關(guān)系進(jìn)行建模。作為一種訓(xùn)練方法,通過(guò)使用線性SVM,實(shí)現(xiàn)支持向量機(jī)的擴(kuò)展[6]。DPM 是被廣泛用作通用對(duì)象檢測(cè)的標(biāo)準(zhǔn)方法,因此有時(shí)對(duì)相似的對(duì)象類別進(jìn)行區(qū)分,效果不是十分顯著。
針對(duì)這一問(wèn)題,有人提出了一種將基于線性SVM 的窗口搜索與非線性SVM 分類器相結(jié)合的目標(biāo)檢測(cè)方法。在該方法中,首先粗略地使用跳躍窗口搜索方法檢測(cè)候選區(qū)域,這些區(qū)域與DPM 略有不同,然后使用非線性方法核對(duì)多個(gè)候選區(qū)域,并進(jìn)行驗(yàn)證。目標(biāo)檢測(cè)算法亦遵循這個(gè)想法來(lái)檢測(cè)食物的候選區(qū)域[7]。本研究中,不僅使用了基于DPM 的窗口搜索,還使用了圓形檢測(cè)器和區(qū)域分割算法來(lái)檢測(cè)給定圖像上的候選區(qū)域。
研究提出了一個(gè)食物圖像識(shí)別系統(tǒng),該系統(tǒng)輸出食物的名稱,并在給定的食物圖像中顯示[8-10]。首先,給定一個(gè)輸入圖像作為系統(tǒng)檢測(cè)候選區(qū)域的菜肴。使用4 種類型的檢測(cè)器,包括可變形部分模型(DPM)、圓形檢測(cè)器、JSEG 區(qū)域分割以及整幅影像。將4 種方法檢測(cè)到的候選區(qū)域邊界框進(jìn)行整合,檢查寬度縱橫比、邊界框的高度并從候選集中排除與其形狀無(wú)關(guān)的邊界框。系統(tǒng)從選定的候選區(qū)域中提取各種圖像特征區(qū)域,利用SVM 通過(guò)多核學(xué)習(xí)(MKL)和非線性內(nèi)核進(jìn)行驗(yàn)證并計(jì)算得分。最后,根據(jù)評(píng)價(jià)值的降序,得到了給定圖像上前N 個(gè)食品的名稱。
現(xiàn)有的食品圖像識(shí)別工作假設(shè)一個(gè)食品圖像只包含一個(gè)食品項(xiàng),食品項(xiàng)在圖像中應(yīng)盡可能的放大顯示[11-13]。在提取圖像特征之前,使用了4 種候選區(qū)域檢測(cè)方法估計(jì)幾個(gè)食物可能存在的候選區(qū)域。遠(yuǎn)程監(jiān)控系統(tǒng)結(jié)構(gòu)如圖1 所示。
圖1 遠(yuǎn)程監(jiān)控系統(tǒng)結(jié)構(gòu)
2.1.1 整幅圖像 最簡(jiǎn)單的候選區(qū)域是整個(gè)圖像,相當(dāng)于現(xiàn)有的食物識(shí)別系統(tǒng),該系統(tǒng)假設(shè)一個(gè)圖像只包含一個(gè)食物項(xiàng)。此候選項(xiàng)適用于包含一個(gè)大盤子的圖像,但不適用于包含多個(gè)小盤子的圖像。2.1.2 可變形零件模型(DPM) 使用可變形零件模型(DPM)作為主要的檢測(cè)器。DPM 是一個(gè)雙層的層次模型,它由一個(gè)全局過(guò)濾器和幾個(gè)部分模型組成。每個(gè)部件模型指定一個(gè)空間模型和一個(gè)局部過(guò)濾器。空間模型定義了一組相對(duì)于檢測(cè)窗口的局部過(guò)濾器允許位置,以及每個(gè)位置的變形成本。檢測(cè)窗口的分?jǐn)?shù)通過(guò)根過(guò)濾器在窗口上的分?jǐn)?shù)加上各局部過(guò)濾器的總和,局部的最大位置超過(guò)該局部過(guò)濾器,局部過(guò)濾器在最終子窗口上的分?jǐn)?shù)減去變形成本。根過(guò)濾器和局部過(guò)濾器都是通過(guò)計(jì)算窗口內(nèi)一組權(quán)重和HoG 特性之間的點(diǎn)積來(lái)評(píng)分的。
DPM 采用滑動(dòng)窗口的方法對(duì)目標(biāo)區(qū)域進(jìn)行檢測(cè),通過(guò)搜索一個(gè)圖像金字塔來(lái)實(shí)現(xiàn)目標(biāo)檢測(cè)。為了降低計(jì)算成本,DPM 方法中使用了線性支持向量機(jī)。針對(duì)線性支持向量機(jī)識(shí)別能力弱于非線性核支持向量機(jī)的缺點(diǎn),提出了一種基于標(biāo)準(zhǔn)支持向量機(jī)的潛在混合支持向量機(jī)算法。在試驗(yàn)中,為100 個(gè)食品類別中的每一個(gè)類別使用latent SVM 訓(xùn)練DPMs。
2.1.3 區(qū)域分割 區(qū)域分割主要任務(wù)是把一個(gè)圖像分割成幾個(gè)區(qū)域。使用JSEG 算法作為區(qū)域分割算法。JSEG 通過(guò)顏色空間量化和顏色類映射來(lái)劃分圖像。在JSEG 中,可以將分段區(qū)域的數(shù)量設(shè)置為參數(shù)。本試驗(yàn)設(shè)置了10 個(gè)區(qū)域。計(jì)算每個(gè)區(qū)域的圓度C,將運(yùn)算圓度值超過(guò)給定閾值的區(qū)域加入?yún)^(qū)域候選集,圓度C 計(jì)算見(jiàn)式(1)。
式中,S 是區(qū)域的大小,L 是區(qū)域的周長(zhǎng)。當(dāng)C接近1 時(shí),區(qū)域的形狀接近圓。如果C 比1 小很多,那么區(qū)域的形狀就離圓很遠(yuǎn)。另外,如果兩個(gè)相鄰區(qū)域的合并區(qū)域圓度大于原始區(qū)域的圓度和閾值,將合并區(qū)域添加到一個(gè)候選集合中,圖像處理結(jié)果如圖2 所示。
圖2 圖像處理結(jié)果
通過(guò)4 種方法檢測(cè)到的所有候選區(qū)域聚合到一個(gè)候選集合中,并將它們轉(zhuǎn)換成包圍框,每個(gè)包圍框包圍一個(gè)檢測(cè)到的區(qū)域,并從所有被檢測(cè)區(qū)域的邊界盒中提取圖像特征,應(yīng)用非線性核支持向量機(jī)(經(jīng)過(guò)MKL 訓(xùn)練)的方法進(jìn)行處理。
為了降低分類成本和噪聲,將明顯不相關(guān)的區(qū)域排除在候選集之外。通過(guò)定義大小和長(zhǎng)寬比相關(guān)的區(qū)域,剔除了短邊小于60 像素的邊界框和長(zhǎng)邊框,它們的長(zhǎng)寬比是訓(xùn)練數(shù)據(jù)中所有食品邊界框平均長(zhǎng)寬比2 倍多的標(biāo)準(zhǔn)差。
要識(shí)別具有視覺(jué)特征的食物圖像,僅使用SIFT和Color 并不能得到好的結(jié)果。因此,在研究使用多核學(xué)習(xí)(MKL)來(lái)識(shí)別整個(gè)圖像,而使用MKL 來(lái)識(shí)別每個(gè)包圍框中的每個(gè)食物項(xiàng),也就是一個(gè)食物候選區(qū)域。 圖像特征包括空間金字塔的特征袋(SP-BoF)、方向梯度直方圖(HoG)、Gabor 紋理特征和顏色直方圖。
2.3.1 SIFT 和CSIFT 的BoF BoF 方法雖然簡(jiǎn)單,但在視覺(jué)對(duì)象分類/識(shí)別環(huán)境中具有良好的圖像概念表示能力,受到了物體識(shí)別研究領(lǐng)域的關(guān)注。在BoF 方案中,首先對(duì)一組局部圖像點(diǎn)進(jìn)行采樣,通過(guò)對(duì)每個(gè)點(diǎn)的尺度不變特征變換(SIFT)描述符提取視覺(jué)描述符。除了SIFT,還從RGB 顏色空間中提取CSIFT,它對(duì)光照變化具有較強(qiáng)的魯棒性。本研究使用每10 個(gè)像素的規(guī)則網(wǎng)格采樣來(lái)對(duì)局部圖像點(diǎn)進(jìn)行采樣。然后,根據(jù)預(yù)先指定的編碼,通過(guò)矢量量化對(duì)描述向量的結(jié)果分布進(jìn)行量化,并使用量化后的分布向量對(duì)圖像進(jìn)行表征。根據(jù)預(yù)先從所有訓(xùn)練圖像中提取的SIFT 向量的分布,采用k-means 聚類方法生成編碼。也就是說(shuō),一個(gè)圖像是由一組“可視單詞”表示,這與文本文檔由單詞組成的方式相同。利用網(wǎng)格采樣法對(duì)圖像中的數(shù)千個(gè)點(diǎn)進(jìn)行采樣,設(shè)置碼字的數(shù)量為1 000。圖像特征識(shí)別如圖3 所示。
圖3 圖像特征識(shí)別結(jié)果
2.3.2 空間金字塔表示 由于特征包中的圖像特征向量由SIFT 向量的分布直方圖表示,因此SIFT 向量的空間信息被丟棄。使用空間金字塔來(lái)粗略地表示空間信息,在空間金字塔中,對(duì)象區(qū)域由層次網(wǎng)格劃分。從每個(gè)網(wǎng)格中提取一個(gè)BoF 向量并進(jìn)行連接,它們變成一個(gè)長(zhǎng)向量。本研究采用1×1、2×2、3× 3 的3 層網(wǎng)格結(jié)構(gòu)。
2.3.3 方向梯度直方圖 基于梯度直方圖的局部模式描述方法與SIFT 相似,BoF 完全忽略關(guān)鍵點(diǎn)的位置信息,HoG 則通過(guò)為每個(gè)稠密的網(wǎng)格構(gòu)建直方圖,并將其拼接為一個(gè)長(zhǎng)特征向量來(lái)保持粗略的位置信息。盡管HoG 和BoF 具有不同的特征,但它們都是由許多局部梯度直方圖組成的。研究將一個(gè)給定的區(qū)域劃分為8×8 個(gè)單元,假設(shè)一個(gè)區(qū)域由3×3個(gè)單元組成,一個(gè)區(qū)域?qū)?yīng)6×6 個(gè)單元,最后得到每個(gè)區(qū)域的一個(gè)2 916 dim 向量。
圖4 為候選者數(shù)量對(duì)多幅食品圖像和單幅食品圖像分類率的影響。這些數(shù)字包括“Whole”“DPM”“Circle”“JSEG”和“GTBB”的結(jié)果。
在允許前10 名候選者的情況下,與多食品圖像的基線方法相比,本試驗(yàn)獲得了55.8% 的分類率,提高了40.4 個(gè)百分點(diǎn);與單幅食品圖像的基線方法相比,本試驗(yàn)獲得了68.9% 的分類率,提高了4.7 個(gè)百分點(diǎn)。多幅食品圖像的改進(jìn)效果顯著,證明該方法作為多食品圖像檢測(cè)方法是有效性的。
由于單個(gè)食品圖像只包含一個(gè)食品,往往被食品的前景區(qū)域所覆蓋,背景區(qū)域相對(duì)較小。本研究提出的方法與基線在分類上的區(qū)別率不大。另一方面,多個(gè)食品圖像往往包含相對(duì)較大的背景區(qū)域和幾個(gè)較小的前景區(qū)域,所以需要識(shí)別圖像的局部而不是整體。
通過(guò)引入?yún)^(qū)域檢測(cè),GTBB 的結(jié)果可以被看作是理想的結(jié)果并且具有較高的性能。該方法的結(jié)果與普通“GTBB”的結(jié)果在單幅和多幅食品圖像上的差異約為10 分。
在單區(qū)域檢測(cè)方法中,DPM 是最為可行的方法,因?yàn)镈PM 是最先進(jìn)的對(duì)象檢測(cè)方法之一。試驗(yàn)同時(shí)應(yīng)用DPM 和MKL 得到的“DPM MKL”,結(jié)果與僅使用DPM 得到的結(jié)果進(jìn)行比較。對(duì)于多食品圖像,前10 名中“DPM MKL”的分類率為52.8%,“only DPM”的分類率為41.5%。對(duì)于單一食品圖像,“DPM MKL”為65.4%,而“only DPM”為38.7%。結(jié)果表明,第二步融合了多種視覺(jué)特征,提高了分類率。
圖4 DPM MKL 與only DPM 的分類率比較
提出了一種食品圖像檢測(cè)多個(gè)食品的方法,使用多核學(xué)習(xí)(MKL)方法自適應(yīng)地整合了顏色、紋理和SIFT 等多種圖像特征。首先,通過(guò)融合多個(gè)區(qū)域檢測(cè)器的輸出來(lái)檢測(cè)多個(gè)候選區(qū)域,以組合每個(gè)類別的圖像特征MKL 能夠估計(jì)最優(yōu)權(quán)值。然后,將基于特征融合的食品識(shí)別方法應(yīng)用于具有各種視覺(jué)特征的候選區(qū)域的邊界盒。結(jié)果表明,多個(gè)食物項(xiàng)圖像的分類率為55.8%,單一食物項(xiàng)圖像的分類率為68.9%,相比于沒(méi)有區(qū)域檢測(cè),分別提高了40.4 個(gè)百分點(diǎn)和4.7 個(gè)百分點(diǎn),相比于單區(qū)域檢測(cè)DPM 的結(jié)果,提高了11.3 個(gè)百分點(diǎn)和26.7 個(gè)百分點(diǎn)。
在未來(lái)的工作中,繼續(xù)嘗試通過(guò)引入食品物品之間的共現(xiàn)概率來(lái)提高識(shí)別的準(zhǔn)確性。同時(shí)計(jì)劃研究一種估計(jì)食物量的方法,更準(zhǔn)確估計(jì)食物圖像中所顯示的每種食物的熱量。