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