?

基于正則化正交非負矩陣分解的旋轉目標檢測方法

2024-01-15 08:43謝余慶黃旭東胡麗瑩
關鍵詞:人臉矩陣樣本

謝余慶,黃旭東,胡麗瑩

(1.福建師范大學計算機與網絡空間安全學院,福建師范大學數字福建環境監測物聯網實驗室,福建 福州 350117;2.維庫(廈門) 信息技術有限公司,福建 廈門 361008)

目標檢測是計算機視覺領域中的一個重要研究領域,它的目標是要在圖像或視頻中準確地識別和定位特定的目標物體,并在很多實際應用中具有廣泛的應用,如自動駕駛、視頻監控、人臉識別、物體識別等。旋轉目標檢測是在圖像或視頻中檢測和定位目標物體時,考慮目標可能發生旋轉的情況。在許多實際應用中,目標物體可能以不同的旋轉角度出現,如交通標志、人臉、車輛等,因此產生了帶旋轉角度的目標檢測的需求。此外在某些場景里,如工業生產或者計算資源有限的情況下,樣本數一般比較少,深度學習方法通常需要大量的標注數據和高性能的計算設備來進行訓練和推斷。如何使得傳統方法在小樣本和計算資源有限的情況下仍然能夠提供可靠的目標檢測結果,這需要適應小樣本的算法去解決旋轉目標的檢測問題。

Viola等[1]最早在2001年提出了基于級聯分類器和Haar-like特征的目標檢測方法,但其存在訓練和檢測速度較慢以及對光照變化敏感的缺點。Dalal等[2-3]提出將HOG(histogram of oriented gradients)特征應用于行人目標檢測任務,HOG特征通過計算圖像中局部區域的梯度方向直方圖來描述圖像中的目標特征,但復雜度較高也是其缺點之一。2014年,由Girshick等[4]提出基于深度學習的方法,引入了區域卷積神經網絡(R-CNN)的概念,R-CNN利用深度卷積神經網絡提取圖像區域的特征,并使用支持向量機進行目標分類,R-CNN方法在訓練和推理過程中的計算復雜度較高,它需要對每個候選區域進行CNN特征提取,并對每個候選區域進行獨立的前向傳播和后向傳播操作。這導致了需要大量的樣本支持,無法適用于小樣本。

旋轉目標檢測是將具有旋轉方向的目標檢測出來,在俯視圖的目標檢測中比較常見,如遙感圖像目標檢測、航拍圖像目標檢測等。目前旋轉目標檢測的方法主要分為2種。第1種方法是在候選框中進行加入旋轉因子,主要方法有基于深度學習的旋轉區域候選框網絡RRPN[5],它沿用了Faster-RCNN[6]中的RPN的思想(即使用其來生成候選區域),并在此基礎上進行了改進。文獻[7]就是在此基礎上做出改進,雖然有不錯的效果,但這種基于深度學習的方法,有著樣本量需求大、訓練時間長、解釋性差等缺點,因此對小樣本場景并不適用。第二種方法根據目標關鍵點進行檢測,與影像的大小和旋轉無關。主要方法有尺度不變特征變換(scale-invariant feature transform,SIFT)[8],一種用于圖像處理領域的描述,這種描述具有尺度不變性,可在圖像中檢測出關鍵點,是一種局部特征描述子。文獻[9]通過改進SIFT特征流程,使得檢測人臉具有一定的效果,但SIFT算法對于光照變化、旋轉、尺度變化等因素比較敏感,這些因素會影響到特征點的提取和匹配,從而影響整個算法的效果。

還有一些旋轉目標檢測的改進方法[10]采用HOG 特征來描述目標的局部紋理信息,并通過增強型隨機蕨類(boosted random ferns)來進行目標分類,但增強型隨機蕨類作為一種機器學習算法,需要充分的訓練數據和調整參數來獲得良好的分類性能,缺乏足夠的訓練數據或不合理的參數設置可能導致分類器性能不佳。本文旋轉目標檢測方法也采用HOG 特征來描述目標的局部紋理信息,因為它是基于梯度方向的統計信息,對于圖像中的物體邊緣和紋理等局部結構具有很好的描述能力。相比于像素級的特征表示,HOG特征對光照變化的影響較小,能夠更好地區分目標和背景。同時HOG特征在計算過程中對圖像進行了局部梯度計算和統計直方圖的操作,這使得它對于目標在不同尺度下的表現具有一定的不變性,并且HOG特征主要關注局部邊緣的方向信息,對于目標的具體形狀不敏感。本文對復雜度較高的HOG進行特征提取再進行了訓練檢測。

一些經典的特征提取算法有局部保持投影(locality preserving projections,LPP)[11]、局部線性嵌入算法 (locally linear embedding,LLE)[12],主成分分析(principal component analysis,PCA)[13]、KPCA(kernel PCA)[14]等。PCA的基本思想是找到數據中具有最大方差的方向,即主成分,作為新的特征空間的基。這樣,在新的特征空間中,數據的維度可以被大大減少,同時盡可能地保留了原始數據的信息。KPCA的基本思想是利用核技巧(kernel trick)將原始數據映射到一個高維的特征空間,然后在高維特征空間中進行PCA。通過這種方式,KPCA能夠發現非線性數據中的主要成分,并進行特征提取處理。LLE的基本思想是通過將每個樣本表示為其局部鄰域樣本的線性組合來進行特征提取。LPP的基本思想是通過最大化局部鄰域內的樣本之間的相似性,并最小化非局部鄰域樣本之間的距離,來實現數據特征提取。

非負矩陣分解(nonnegative matrix factorization,NMF)[15]是傳統的機器學習特征提取方法之一,它適用于小樣本場景,并且可解釋性好、訓練速度快、較高的準確率。Choi[16]等人提出正交非負矩陣分解算法(orthogonal nonnegative matrix factorization,ONMF),比原始的非負矩陣分解算法特征提取效果進行了提升,同時正交的概念讓基矩陣中的特征之間更加獨立,在用于目標檢測的特征辨別中起到不錯的效果,可以更好地適用于旋轉目標檢測中。針對ONMF可以把旋轉后的圖片主要特征集中表達在基矩陣中的優勢,本文提出一種基于正則化ONMF(regularized orthogonal nonnegative matrix factorization,RONMF)的旋轉目標檢測方法。首先,為了更好地表征學習,將目標正樣本圖片旋轉填充背景,接著將這些填充好背景的圖片,提取梯度直方圖特征[17],組成正樣本矩陣;其次,為了使提取的特征更具有代表性,對正、負樣本用本文算法進行特征提??;最后對提取后的特征進行訓練分類。為了證明本文方法的有效性,本文設計了一些對比實驗,結果表明本文方法具有可行性,并且優于其他檢測方法。

1 非負矩陣分解算法相關知識

1.1 非負矩陣分解(NMF)

NMF是由Lee等[18]提出,傳統的NMF問題描述如下:

(1)

(2)

1.2 正交非負矩陣分解(ONMF)

ONMF是在NMF的基礎上增加了基矩陣正交的約束條件,由于正交約束的引入,ONMF能夠更好地捕捉圖像的局部特征。正交基矩陣可以看作是圖像的原子或模板,每個基矩陣對應于圖像中的一個局部結構或特征,這使得ONMF在圖像分割、紋理分析和局部特征提取等任務中具有優勢,能夠更精確地捕獲圖像中的細節和局部信息。ONMF優化問題如下:

(3)

根據KKT條件,再基于斯蒂弗爾流型[20]進一步優化,得到W和H迭代公式如下所示:

(4)

(5)

ONMF要求分解得到的基矩陣W是正交矩陣,即W中的列向量(基向量)兩兩之間正交,這使得基向量更加稀疏且有強可解釋性,有助于提取具有判別性的特征和減少信息重復和冗余。

2 基于RONMF的旋轉目標檢測方法

為了更好地表征學習,本文對沒有角度旋轉的圖片先進行不同角度的旋轉,之后對背景進行了填充。同時為了有效控制模型的復雜度,防止過擬合的發生,提出一種基于正則化ONMF(RONMF)的旋轉目標檢測方法。

2.1 旋轉背景填充

圖1 背景填充的部分旋轉圖片Fig.1 Partial rotated images with background fill

將目標正樣本圖片進行旋轉并填充背景進行訓練檢測,該操作在旋轉目標檢測中有幾個主要的目的和優勢。通過旋轉并填充背景,可以生成更多樣化的正樣本數據,有助于增加訓練數據的多樣性,提高模型的泛化能力和魯棒性。旋轉填充背景后,生成的正樣本數據在旋轉目標檢測中具有旋轉不變性,意味著檢測模型可以在不同旋轉角度下對目標進行有效的檢測,而不會受到目標旋轉帶來的影響,對于處理實際場景中目標的姿態變化和視角變化非常重要。填充背景可以提供目標周圍的上下文信息,這對于目標的定位和區分背景干擾物非常有幫助。填充背景還可以提供更多的環境信息,有助于模型更好地理解目標與周圍環境的關系,并提高檢測的準確性。部分旋轉填充好的圖片如圖1所示。

2.2 RONMF算法

本文在ONMF的目標函數上加入了懲罰項,該懲罰項是由基矩陣和系數矩陣的F范數的平方之和構成。目標函數如式(6)所示:

(6)

加入F范數懲罰項可以促使分解矩陣中的部分元素趨向于零,從而實現稀疏性,這樣的稀疏表示具有一定的特征選擇能力,可以提取出更具有區分性和重要性的特征,也有助于解耦特征之間的關聯性。通過引入F范數懲罰項,可以提高特征的獨立性和互斥性,更好地捕捉到數據中的不同變化模式和特征維度。

下式為RONMF算法的乘法更新規則的推導,即目標函數(6)可以重寫為:

(7)

其中,tr代表矩陣的跡。設φ和ψ為約束W和H的拉格朗日乘子,相應地,φ=[φij],ψ=[ψij],則拉格朗日函數L為:

L=J+tr(φWT)+tr(ψHT)。

(8)

L對W和H的偏導分別為:

(9)

(10)

由KKT條件,令φijwij=0和ψijhij=0,可以得到以下關于wij和hij的等式:

(VHT+W)ijwij-(WHHT+WWTW+λW)ijwij=0,

(11)

(WTV)ijhij-(WTWH+λH)ijhij=0,

(12)

因此,可以推導出W和H的迭代公式如下:

(13)

(14)

RONMF算法偽代碼如下:

1 r∶= 2 初始化中間維度2 k∶= t 初始化需要達到的中間維度3 M0∶=DATASET 加載數據矩陣4 W0=rand(m,r) 隨機初始化基矩陣W5 H0=rand(r,n) 隨機初始化基矩陣H6 while(r<=t)7 W0,H0=RONMF(W0,H0,M0) 按照迭代公式(13)、(14)計算H0 和W08 r = r?29 W0=hstack(W0,W0) 將兩個W0水平方向上拼在一起,以便下一次迭代更好地表征10 do if(r<=t)11 thenH0=rand(r,n) 重新生成隨機矩陣H012 end if13 end while14 輸出W0、H0

RONMF迭代的時間復雜度為O(log2(k)n),其中n是迭代次數,k為初始化需要達到的中間維度。

2.3 基于RONMF算法的旋轉目標檢測方法

旋轉目標檢測方法旨在識別并定位具有不同旋轉角度的目標物體,使其在不同角度下具有較好的檢測性能?;赗ONMF算法的旋轉目標檢測方法步驟如下:

(1)先將正樣本的圖片進行每α度的旋轉填充,再將旋轉后的正樣本和負樣本的HOG特征分別提取成Vpos∈R3 780×n和Vneg∈R3 780×m2個矩陣,其中3 780是HOG特征的維度,n和m分別代表正負樣本的數量。

(2)對正、負樣本用RONMF算法進行特征提取,得到基矩陣W和系數矩陣H,基矩陣可以用來表示目標在不同旋轉角度下的特征,系數矩陣表示基矩陣特征系數的權重。用RONMF分解Vpos得到基矩陣Wpos∈R3 780×k,k為初設的中間維度,再通過公式(15)和(16)得到Hpos∈Rk×n和Hneg∈Rk×m。

(15)

(16)

其中,Wpos是正樣本的基矩陣,樣本矩陣分別用的是正樣本的Vpos和負樣本的Vneg。

(3)對提取后的特征進行訓練分類,并用基于滑動窗口的預選框機制框選出目標對象。提取到Hpos和Hneg系數矩陣特征后,放到SVM里面進行二分類的訓練,訓練好模型之后,對于測試集,首先提取待檢測區域的HOG特征,得到HOG特征描述子descriptors∈R3 780×1的向量,然后利用Wpos∈R3 780×k,得到:

(17)

再將Htest放進SVM里面進行檢測,如果與正樣本匹配度高則標記為正樣本,框選目標區域。同時一個區域若有多個預選框,則使用NMS非極大值抑制,選出最合適的那個預選框。

對目標進行檢測判別是否為目標對象實際上就是分類任務。進行檢測判別必須先提取其特征,因本文提取的特征為HOG特征,而HOG特征一般比較復雜,由于RONMF的基矩陣W能夠很好地保存原始數據的主要特征且W中元素比較稀疏,所以用RONMF算法對旋轉后的圖像集合HOG特征進行特征學習,提取其關鍵部分的特征并進行訓練。本文旋轉目標檢測方法的具體流程如圖2所示。

圖2 旋轉目標檢測方法流程Fig.2 The flowchart of the rotating object detection method

3 實驗分析

本次實驗在處理器為Intel(R)Core(TM)i7-10700,顯卡為NVIDIA GT 710的硬件環境下進行測試,算法運算過程在python3.9的軟件環境下進行。所有特征提取方法均是將原來HOG特征的特征提取后進行訓練比較,其中LLE和LPP的搜索樣本近鄰的個數設為30,其他均為默認參數。

3.1 實驗數據

因工業數據集MVTEC具有許多帶旋轉角度的圖片,且數量也較多,所以本文選取其作為結果對比,為了進一步驗證RONMF算法的有效性,同時選取人臉數據集 ABERDEEN、CMU、FDDB、FERET、MIT、ORL、PE加以驗證。數據集主要參數如表1所示,部分圖片如圖3所示。

表1 8個數據集主要參數Tab.1 The main parameters of eight datasets

(1)MVTEC數據集是一個常用的機器視覺和物體檢測的工業數據集,共包含3 466張無標注圖,其中螺絲圖片大小為700×700像素,該數據集由德國斯圖加特大學計算機視覺研究組維護和發布,MVTEC數據集旨在提供具有豐富多樣性的現實世界物體圖像,用于評估和比較不同目標檢測和圖像分割算法的性能。數據集下載地址:https:∥www.mvtec.com/company/research/datasets/mvtec-ad/。

(2)ABERDEEN人臉數據庫包含了100多個人,每個人擁有5張左右的人臉圖片,都以人名命名,總共629張,全部為彩色圖片。

(3)CMU人臉數據庫包含2 429張灰色人臉圖像,該數據集由卡內基梅隆大學(Carnegie Mellon University)的機器學習研究者和計算機視覺專家創建。數據集下載地址:http:∥vasc.ri.cmu.edu∥idb/html/face/frontal_images/index.html。

(4)FDDB數據集中共包含了2 845張圖片,其中1 100張圖片被標注為包含人臉,每張圖片的人臉數量也不相同,總共涵蓋了5 171個人臉,它由馬薩諸塞大學阿默斯特分校的計算機視覺研究團隊創建。數據集下載地址:http:∥vis-www.cs.umass.edu/fddb/。

圖3 8個數據集的部分圖片Fig.3 Partial images from eight datasets

(5)FERET數據集包含來自1 190名不同人的照片,每個人的照片數量不等,平均約為7張,最多有22張。每張照片都包含頭部和肩膀部分的圖像,并提供了人臉標記和額外的元數據(如性別、年齡、種族等)??偣灿?2 000多張圖像,本文實驗代表性的選取其中1 400張。該數據集由美國國防部高級研究計劃局(DARPA)資助,并由美國海軍研究實驗室(NRL)創建和維護。數據集下載地址:http:∥www.itl.nist.gov/iad/humanid/feret/。

(6)MIT人臉數據集是一個經典的人臉識別數據集,由麻省理工學院的計算機科學和人工智能實驗室創建,該數據集包含400多個人的圖像,其中每個人都有10張照片,每張照片都被手動標記,并包含了頭部和肩膀的圖像。該數據集中的人臉包含了不同的姿態、表情、光照和遮擋情況,以測試人臉識別算法的魯棒性和準確性,本文實驗代表性的選取其中2 705張。數據集下載地址:http:∥cbcl.mit.edu/software-datasets/heisele/facerecognition-database.html。

(7)ORL人臉數據集是一個常用的人臉識別數據集,由意大利的Olivetti Research Laboratory創建,該數據集包含了40個不同人的照片,每個人都有10張照片,每張照片都是灰度圖像,大小為92×112像素,該數據集中的人臉圖像采集于不同的姿態、表情、光照和遮擋條件下,以測試人臉識別算法的魯棒性和準確性。數據集下載地址:http:∥www.cl.cam.ac.uk/Research/DTG/attarchive:pub/data/att_faces.tar.Z。

(8)PE數據集共包含300個三維人臉模型和紋理貼圖,該數據集包含了15個不同人的三維人臉模型和紋理貼圖,每個人都有20個不同的姿態和表情的模型。這些模型是通過使用結構光三維重建系統獲取的,以捕捉人臉的形狀和紋理信息。數據集下載地址:https:∥www.princeton.edu/engineering/research/stcav/research/facial-recognition/。

本文提取的特征是HOG特征,故所有圖片尺寸均轉換成128×64像素,保持提取圖片的特征向量維數為3 780維。這種表示方式可以更好地捕捉圖像中的細節和紋理信息,提供豐富和準確的圖像描述。

為了測試本文算法在特征學習后的有效性,使用SVM(支持向量機)對結果進行分類測試,本文在SVM訓練結果的評價中采用準確率的指標,將數據集按照7∶3的比例分為訓練集和測試集。準確率公式如下所示:

Accuracy=(TP+TN)/(TP+TN+FP+FN),

(18)

其中,TP表示真正例(true positive),即實際為正樣本且被正確預測為正樣本的數量;TN表示真負例(true negative),即實際為負樣本且被正確預測為負樣本的樣本數量;FP表示假正例(false positive),即實際為負樣本但被錯誤預測為正樣本的樣本數量;FN表示假負例(false negative),即實際為正樣本但被錯誤預測為負樣本的樣本數量。

3.2 性能對比實驗

表2是工業數據集MVTEC的檢測結果,取30張正樣本圖片,其中10度代表每旋轉10度提取1次HOG特征向量加入正樣本矩陣進行訓練。正負樣本數量比為1∶3,這樣可以使模型達到比較好的性能,以下數據均是分別進行了10次實驗得到的平均結果。

表2 不同方法和不同旋轉角度對工業數據集MVTEC的平均檢測準確率Tab.2 Average detection accuracy of industrial dataset MVTEC using different methods and rotation angles %

由表2可知,RONMF算法在不同角度的圖像訓練中都有著不錯的效果。因為旋轉后的圖片特征并不是都集中在一塊區域,圖片經過不同角度的旋轉之后,特征位置也相應發生了變化。RONMF算法可以把旋轉后的圖片主要特征集中表達在基矩陣中,如果把基矩陣看成分塊矩陣的話,每一個分塊矩陣都是圖片的部分主要特征,并且RONMF算法的目標函數中加入了F范數懲罰項,使得主要特征之間相互獨立,基矩陣更加稀疏,主要特征得到了比較好的保留,從而在檢測的時候,RONMF算法能比其他算法實現更好的識別準確率。

因人臉特征較多,具有代表性,故為了進一步驗證本文方法的有效性,本文在旋轉的人臉數據集也進行了實驗。實驗結果如表3所示,其中10度代表每旋轉10度提取1次HOG特征向量加入正樣本矩陣進行訓練。

表3 不同方法和不同旋轉角度對人臉數據集的平均檢測準確率Tab.3 Average detection accuracy of face datasets using different methods and rotation angles %

由表3知,本文方法在旋轉人臉的圖像訓練中也有著不錯的效果。

本文方法在旋轉度數為15度時訓練出的模型會有比較好的檢測效果,旋轉人臉檢測的部分結果如圖4、圖5所示。

圖4 檢測結果1Fig.4 Test result 1

RONMF算法在非旋轉的目標檢測情況下也有不錯表現,在不同數據集上的平均檢測準確率對比實驗結果如表4所示。

表4 不同方法在不同人臉數據集(未旋轉)上的平均檢測準確率Tab.4 Average detection accuracy of different methods on different facial datasets (not rotated) %

從表4可知,CMU數據集均為較小的圖片人臉,所以LLE局部線性嵌入算法會有比較好的效果,FDDB數據集會有多個人臉在一張圖片中,用kernel的PCA去映射得到的低維特征在訓練集里更具有代表性,但是存在著泛化性較差的問題。MIT和ORL均為灰度圖片,且均為人臉正面,用局部投影LPP的方法會有較好的結果。ABERDEEN,FERET數據集包含不同顏色的人臉正面圖片,結果具有一定的泛化性。PE數據集包含人的肩部以上位置,同時也有側臉的圖片,表4結果也說明本文方法在提取圖片的關鍵特征的能力也是比其他方法更優。

由表5可知,在MVTEC的對比實驗中,RCNN需要1 211 s才能使準確率達到99.45%,而本文方法僅需要30.816 s即可完成模型訓練。而人臉數據集的圖片訓練,RCNN需要4個epoch,花費2 391.87 s才能讓準確率達到99.4%,而本文算法僅需要161.28 s,也可使準確率達到99.30%。

表5 訓練時間對比Tab.5 The comparison of training time s

4 小結

本文對正樣本進行旋轉背景填充,再基于正則化正交非負矩陣分解(RONMF)算法實現旋轉目標檢測。它是一種實現旋轉不變性的目標檢測方法。不僅可以對旋轉后的目標進行準確的檢測,還具有較好的魯棒性。本文旋轉目標檢測方法的實現步驟包括對包含多個圖像的數據集進行旋轉變換,對每個圖像及其所有旋轉變換后的圖像進行RONMF分解,計算待檢測圖像在不同旋轉角度下的重構誤差,將重構誤差作為該圖像在對應旋轉角度下的置信度,最終對所有旋轉角度下的置信度進行融合得到目標的檢測結果。該方法相比于基于特征提取算法的目標檢測方法(如LLE、LPP、PCA、KPCA等)的優點在于可以同時學習基向量和系數,避免了對基向量的選擇和系數的計算。同時,具有良好的魯棒性和可解釋性,并且可以應用于不同類型的數據集。然而,本方法也存在一些缺點,如計算復雜度有待優化。

雖然基于RONMF的算法對簡單背景的旋轉目標檢測有著不錯的效果,但是復雜背景的旋轉目標檢測仍然是一項難題,復雜背景的噪音、圖片光照等因素會影響算法的精度。今后將研究復雜背景的旋轉目標檢測方法,預計通過復雜背景預處理算法以及與NMF相融合算法的研究,提升整體算法的識別精度和背景抗干擾能力。

猜你喜歡
人臉矩陣樣本
有特點的人臉
用樣本估計總體復習點撥
三國漫——人臉解鎖
推動醫改的“直銷樣本”
隨機微分方程的樣本Lyapunov二次型估計
初等行變換與初等列變換并用求逆矩陣
村企共贏的樣本
矩陣
矩陣
矩陣
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合