背景技術:
本實施例涉及對象檢測以及對象檢測的機器學習。
對于機器學習的對象檢測而言,使用來自圖像的輸入特征以訓練并且應用檢測器。特征的質量對于很多圖像分析任務的性能是關鍵的??茖W家已經利用對手頭的數據和任務的深入理解而提出了各種特征。例如,haar特征歸因于它們的廉價計算而被使用在器官檢測和分段中。局部二元模式(lbp)特征對于表示形狀或紋理而言是良好的,并且適合于人類重新標識。對于所有任務或所有類型的數據而言沒有特征是優(yōu)化的。通常的是要求相當大量的經驗以針對特定的應用選擇良好的特征。
感測技術的演進或者現(xiàn)有的感測技術上的變化偶爾使新的特征的設計成為必須。該處理通常是有挑戰(zhàn)性的,因為數據生成的潛在物理學可能不容易理解。字典學習和稀疏編碼算法已經被用于學習特征。例如,字典學習和稀疏編碼算法當被應用于自然圖像時學習類似gabor的模式。然而,歸因于字典原子的高相干性,該方法可能產生不穩(wěn)定的特征。換言之,如果存在看起來相似的多個字典原子,則稀疏碼可能在任何的這些原子之間跳轉。雖然這對于圖像重構或圖像降噪應用而言并不是問題,但是特征的不穩(wěn)定性對于學習良好的分類器或檢測器而言可能提出嚴重挑戰(zhàn)。
用以利用機器學習特征的另一方法使用自動編碼器(ae)或受限制的玻爾茲曼機(rbm)。由于解碼步驟僅牽涉矩陣乘法,因此產生穩(wěn)定的特征。此外,ae或rbm通常是被堆棧的,以創(chuàng)建多層的深網絡。這種層級結構可以在稍后的層處捕獲更抽象的特征。來自深網絡的最后的層的輸出被用作為所學習的特征。雖然可以使用有分辨力的訓練來精細調諧網絡,但是輸出可能不會捕獲所有有關的信息。這可能是由缺少所標注的樣本或受困于不良的局部最小值的向后傳播優(yōu)化而引起的。此外,深網絡的完全連接的結構使得難以在大圖像或體積的情況下進行學習。例如,當從100×100像素的彩色圖像學習1000個特征時,網絡將具有大約30兆個自由參數。
技術實現(xiàn)要素:
提供了用于對象檢測的系統(tǒng)、方法以及計算機可讀介質。所述對象檢測使用深的或多層的網絡以針對檢測圖像中的對象而學習特征。來自不同層的多個特征被聚合并且被用于訓練用于對象的分類器。除了來自不同層的特征聚合以外或者作為對于來自不同層的特征聚合的替換,初始層可以具有用于圖像的不同的區(qū)域的分離的節(jié)點,以減少自由參數的數量。學習對象檢測,或者應用所學習的對象檢測器。
在第一方面中,提供了用于對象檢測的方法。獲得對象的圖像。定義多層特征學習網絡的多個順序特征層。提供從網絡的多個層接收特征的聚合器層。處理器使用對象的圖像來聯(lián)合地優(yōu)化所述多層特征學習網絡和所述聚合器層。處理器輸出由被優(yōu)化的多層特征學習網絡表示的所學習的特征的集合以及利用通過所述聚合器層而生成的特征以檢測對象的檢測器。所學習的特征的集合用于區(qū)分所述對象,并且所述檢測器用于對所述對象進行分類。
在第二方面中,一種非暫態(tài)計算機可讀存儲介質已經在其中存儲有表示由被編程的處理器可執(zhí)行以用于對象檢測的指令的數據。所述存儲介質包括用于如下的指令:接收對象的圖像;通過所述處理器檢測具有從深網絡的隱藏層生成的特征的圖像中的對象,隱藏特征是從所聚合的不同的抽象層學習的,并且被由機器從不同的層輸入饋送到所述隱藏特征的機器學習分類器中作為特征矢量;以及輸出對象的檢測。
在第三方面中,提供了用于對象檢測的方法。對象的圖像被劃分為局部部分。機器訓練特征節(jié)點的第一塊以重構圖像的局部部分。機器訓練第二屬性節(jié)點的第二塊以重構特征節(jié)點。機器還訓練第三屬性節(jié)點的第三塊以重構第二屬性節(jié)點。機器訓練特征聚合器以對對象進行分類。利用第二和第三屬性節(jié)點作為輸入來訓練特征聚合器。
可以單獨地或組合地使用以上所描述的各方面中的任何一個或多個。根據要被有關于隨附附圖來閱讀的優(yōu)選實施例的以下詳細描述,這些和其它方面、特征和優(yōu)點將變得明顯。本發(fā)明由隨后的權利要求限定,并且該部分中的內容不應當被看作為對那些權利要求的限制。本發(fā)明的進一步的方面和優(yōu)點被在下面結合優(yōu)選實施例來進行討論,并且可以稍后被獨立地或組合地要求保護。
附圖說明
組件和各圖未必成比例,相反重點被放在圖解實施例的原理。此外,在各圖中,相同的參考標號貫穿不同的視圖指定對應的部分。
圖1是用于對象檢測訓練的方法的一個實施例的流程圖示圖;
圖2示出用于使用機器學習的對象檢測的重新標識的示例圖像;
圖3圖解具有用于圖像的局部部分的分離的所學習的特征和來自多個層的特征聚合器的深網絡的示例配置;
圖4是用于對象檢測應用的方法的一個實施例的流程圖示圖;
圖5是示出用于使用不同的深網絡的重新標識的累計匹配特性中的錯誤率的圖線;以及
圖6是用于對象檢測的系統(tǒng)的一個實施例的框圖。
具體實施方式
一個或多個特征的質量對于很多圖像分析任務是重要的。可以使用機器學習從原始數據構造有用的特征。與人類相比,機器的涉入可以更好地區(qū)分或標識有用的特征。給定用于圖像的大量可能的特征以及各種各樣的圖像源,機器學習方法比人工編程更魯棒。對特征進行區(qū)分的機器學習可以被應用于依賴于圖像分析(諸如人重新標識或器官檢測)的各種產品。通過利用機器來學習區(qū)分特征并且訓練分類器來提供對象檢測(無論是器官、人重新標識還是其它對象)。
提供用于從原始圖像數據構造特征的深網絡框架。并非僅使用預先編程的特征(諸如所提取的haar小波、色調飽和度值(hsv)直方圖或局部二元模式(lbp)),深網絡框架用于學習用于檢測(諸如用于識別或重新標識的檢測)的特征。例如,在檢測中,在第一層中學習用于對象的各部分檢測的局部特征。局部特征可以被用于快速地擺脫并非關注對象或對象特性的大量容易的候選??梢允褂迷谏罹W絡的稍后的層中學習的更抽象的特征來剪除更難的候選。利用具有任何數量的層或深度的深網絡來執(zhí)行學習處理。最后,來自多于一個的層(諸如兩個或更多個中間層)的所有或一些特征被聚合并且被直接饋送到分類器以用于最終預測。作為機器學習部分,分類器被與深網絡的其它層一起聯(lián)合地優(yōu)化。與利用預先編程的特征進行的機器訓練相比和/或與在沒有聚合或沒有局部到全局層的情況下利用深網絡來學習特征相比,這種聚合、局部到全局網絡結構或這兩者可以提供更高效和/或更不易于出錯的檢測。
圖1和圖4示出用于對象檢測的方法。對象的檢測可以是對象的屬性或區(qū)分特性的檢測??梢詸z測部分或整個對象。用于對象檢測的方法可以是用以學習如何檢測對象的方法,或可以是用于檢測對象的方法。圖1針對對象檢測器的機器訓練。圖4針對機器學習的對象檢測器的應用。在這兩種情況下,機器(諸如處理器、計算機或服務器)實現(xiàn)一些或所有動作。在一個實施例中,圖6的系統(tǒng)實現(xiàn)方法。用戶可以選擇用于利用處理器進行的對象檢測器的應用的圖像文件,或選擇用以從中學習特征的圖像和利用處理器的分類器。使用機器允許處理大容量(例如很多像素的圖像和/或很多圖像)的信息,由人類處置該大容量的信息可能是非高效的、由人類在所需要的時間幀中處置該大容量的信息可能是不現(xiàn)實的、或者該大容量的信息歸因于細微性和/或定時可能甚至不可能由人類來進行處理。
以所示出的順序提供了方法,但是可以提供其它順序。對于圖1而言,動作44和46可以被執(zhí)行為定義具有用于分類器的聚合器層的深網絡的一個動作。
附加地,可以提供不同的或更少的動作。例如,不提供圖1的動作41和/或42。作為另一示例,不提供圖4的動作56。在這兩個示例中,在沒有針對圖像的不同部分的分離的特征學習的情況下使用從不同的層直接到分類器中的特征聚合。還在其它示例中,提供用于捕獲圖像的動作和/或使用所檢測的信息的動作。
圖1示出用于在通過處理器學習區(qū)分對象或對象特性的一個或多個特征中的對象檢測的方法。特征可以由處理器使用以對對象或圖像進行分類和/或由處理器使用以訓練分類器。
在動作40中,獲得對象的一個或多個圖像。通過數據傳送、捕獲和/或來自存儲器的加載來獲得圖像。獲得同一對象的任何數量的圖片(諸如對象的一個、兩個、幾十個或幾百個圖像)。圖像是在相同傳感器或不同傳感器的情況下的對象。圖像中可以包括一個立體圖中的對象或來自很多立體圖的對象。
圖像可以是任何對象(諸如器官、人或建筑)或多個對象(例如人群或多個器官)。在正性匹配基本事實(groudtruth)圖像中使用同一對象。替換地,在其中一般而言特征被訓練以區(qū)分屬性或人的正性匹配基本事實圖像中使用很多不同的對象。
使用任何一個或多個傳感器來捕獲圖像。例如,使用x射線、計算機層析、熒光透視法、血管造影術、磁共振、超聲、正電子發(fā)射層析或單光子發(fā)射計算層析來捕獲器官的圖像??梢垣@得在相同或不同的設置(例如視場)中使用相同或不同的成像形態(tài)(即傳感器或傳感器的類型)的相同或不同的患者的多個圖像。醫(yī)學圖像中的關注對象可以是器官、囊腫、瘤、鈣化其它異常。
在一個實施例中,圖像是安全或區(qū)域監(jiān)控圖像,其中對象是個人或人群。從攝像機或其它視頻設備獲得圖像。可以以各種方式(諸如,經有線的或無線的網絡的傳送、從存儲器加載、直接饋送、或對圖像的其它存?。┇@得圖像。
圖像在不同時間來自不同的攝像機和/或相同的攝像機。所獲得的圖像表示相應的攝像機的視場中的一個或多個人。隨著人典型地沿著普通行進路徑行進通過視頻監(jiān)測區(qū)域,不同的攝像機或相同的攝像機在不同的時間捕獲同一人。
各圖像一般地來自相同的時段(諸如,在彼此的幾分鐘或幾小時內)。時段覆蓋其間人可能穿著相同衣物和/或其間人處于被監(jiān)測區(qū)域內的時間。可以使用更長或更短的時段,諸如在稍后的數小時、數天或數星期重新標識已經返回被監(jiān)測區(qū)域的同一人。
圖像可以是或可以不是同一人。例如,機場視頻監(jiān)測系統(tǒng)可以捕獲幾百或幾千個不同的人的圖像。一個圖像可以不包括人、包括一個或很多人。很多人中的一個可以是在不同圖像中所捕獲的同一人,或者圖像中的很多人中可以沒有任何人是同一人。對于訓練而言,具有同一人的圖像以及不具有同一人的圖像以及給定圖像中的人中的哪些屬于同一人是已知的,并且被用作為基本事實。
圖像可以是區(qū)域或者可以被剪修。對于重新標識或匹配而言,可以使用進行配合以僅包圍任何圖像中的一人的矩形框。每個這樣的框可以被用作為圖像,從而具有很多人的圖片可以被用作為很多圖像。區(qū)域的圖像中的任何人被剪修從而所得到的人圖像至少主要表示僅一個人??梢允褂幂喞粜?,諸如其中檢測并且剪修人或特定人的一般邊界。可以使用對區(qū)域的圖像和/或對個人的圖像的其它圖像處理,諸如低通、高通、帶通、定向或其它濾波。
圖2示出要被使用在用于重新標識的訓練中的示例圖像。左邊的兩行圖像示出要在其它圖像中被重新標識的兩個人。右邊的圖像集合示出用于重新標識的六個可能的候選。對于訓練而言,已知的是,候選的第一圖像是匹配,而其它五個不是。可以使用更大數量的匹配和/或非匹配。
人重新標識的任務是確定給定主體是否已經出現(xiàn)在攝像機的網絡上,并且如果他或她出現(xiàn)則檢索該主體的有關圖像。歸因于跨各攝像機的視點、照度以及分辨率的改變,該問題是困難的。在先前的方法中,人重新標識系統(tǒng)經常包含兩個步驟。第一步驟是特征提取(諸如,提取hsv直方圖和lbp特征)。第二步驟學習分級函數(諸如使用基本事實以及hsv和lbp特征作為輸入來訓練分類器)。
來自深網絡的所學習的特征可以與(例如預先編程的或人工地設計的)其它手動設計的特征組合,以改進性能。例如,采用3dhaar特征以在器官檢測任務中快速地消除容易的候選。從深網絡學習的特征可以被用在隨后階段中,以剪除不能通過haar特征檢測的困難候選。這種混合方法可以改進檢測算法的速度和準確度這兩者。
與傳統(tǒng)方法相比,使用深網絡可能是相對處理密集的。為了減少處理,對于動作42-48而言,傳統(tǒng)方法可以與以下所使用的深網絡方法組合。在動作41中,利用預先編程的特征來消除用于對象的匹配的候選。例如,hsv直方圖和/或lbp以及對應的分類器用于排除并非是匹配的一個或多個圖像。在圖2的頂部行示例中,可以利用預先編程的特征使用機器訓練的分類器將頂部行的第三、第五和第六圖像確定為并非是匹配。在圖2的底部行示例中,可以利用預先編程的特征使用機器訓練的分類器將底部行的第三圖像確定為并非是匹配。在其它示例中,候選全都處于同一圖像中。在醫(yī)學環(huán)境中,haar小波特征可以被用于標識圖像的并非為對象的區(qū)域。
作為消除的結果,深網絡具有更少的候選來應用。在訓練的情形中,傳統(tǒng)方法可以被用于減少訓練數據或圖像。通過另一方法使用將通過的或未被消除的圖像來訓練深網絡。動作48的優(yōu)化在消除之后使用其余候選。
消除可以被構建到深網絡中。來自早前的層(諸如初始層)的特征被用于剪除候選,從而針對這些候選的處理不對稍后的或更深的層造成負擔。更早前的層的特征對于用于在檢測問題中快速剪除容易的候選的計算可能是更快的。
在動作42中,圖像中的每一個被劃分為子區(qū)域。可以使用任何大小、形狀和/或數量的子區(qū)域。給定的圖像的各子區(qū)域是相同的大小和形狀的,或可以具有不同的大小和形狀。例如,圖像的中心(例如在醫(yī)學上的)或其它部分(例如人的剪修圖像的上部中心)可能更有可能包括對象或關注的對象的部分,從而更小或更大的子區(qū)域形成在圖像的該部分處。各子區(qū)域是相互排斥的,但是可以提供某種重疊。
圖3示出劃分圖像70的一個示例。給定的圖像被劃分為六個矩形局部部分。局部用于指示小于全部或并非全局的。局部部分要被分離地處置。針對每個局部部分獨立于來自其它局部部分的信息而學習至少一些特征。在替換的實施例中,不劃分圖像。相反地,圖像被作為整體來使用,或者從全局圖像學習特征。
在動作44中,定義深網絡。定義是通過對學習的配置或編程來進行的。層的數量、學習的類型以及網絡的其它特性由編程者或用戶控制。在其它實施例中,在學習期間由機器定義并且選擇一個或多個方面(例如節(jié)點的數量、層的數量或學習的類型)。在圖3的示例中,深架構具有五個層,不包括聚合器??梢蕴峁┤魏螖盗康膶樱ㄖT如兩個、三個、四個或更多)。
多層特征學習網絡被定義為多個順序特征層。順序用于指示作為對下一層的輸入的可視圖像的一般流動,其中,來自該下一層的信息被饋送到下一層,并且依此類推直到輸出。例如,在圖3中,來自第一順序特征層72的輸出是饋送到第二順序特征層74的特征,來自第二順序特征層74的輸出是饋送到第三順序特征層76的第二特征,第三順序特征層76的輸出是饋送到第四順序特征層78的第三特征,并且第四順序特征層78的輸出是饋送到第五順序特征層80的第四特征。該處理繼續(xù),直到網絡到達想要的深度。所定義的層的數量可以基于試錯。
各層可以僅前向饋送,或可以是雙向的,包括對先前的層的某種反饋。每個層的節(jié)點可以與先前的層或隨后的層的所有節(jié)點或僅節(jié)點的子集連接。
在層72-80內,提供任何數量的節(jié)點。例如,提供100個節(jié)點??梢葬槍Σ煌膶?2-80提供不同數量的節(jié)點(諸如層72的塊中的每一個中的10個節(jié)點、用于層74和76的100個節(jié)點、以及用于層78和80的更少的節(jié)點)。稍后的或隨后的層可以具有更多、更少或相同數量的節(jié)點。一般而言,隨后的層具有更高抽象。例如,第一層提供來自圖像的特征,諸如一個節(jié)點或特征是圖像中所發(fā)現(xiàn)的線條。下一層組合線條,從而節(jié)點中的一個是角。下一層可以組合來自先前的層的特征(諸如角和線條的長度),從而節(jié)點提供形狀或構建指示。
在重新標識示例中,替代直接從低級特征尋找分級函數,將低級特征用于預測稱為“屬性”的更高級的或更抽象的特征。屬性的示例是頭發(fā)顏色、襯衫顏色、性別、褲子、裙子、包或其它。所預測的屬性標注被用于檢索主體的有關實例。例如,“尋找具有金色頭發(fā)和深色襯衫的人”。屬性可以導致更好的性能和如下的更直觀的檢索系統(tǒng):人類可以對該系統(tǒng)提供直接的輸入或詢問。作為特征的屬性是抽象的,并且其可以并不清楚什么低級特征(例如hsv色彩直方圖或lbp)對于屬性(如性別)是有關的。
定義深架構以學習在不同抽象水平上的特征,而不是對特征預先編程或嘗試使特征與屬性相關。學習特征以重構更低級的特征。例如,學習用于重構圖像的特征。對于下一層而言,學習用于重構先前的層的特征的特征,提供更高抽象。
深架構包括卷積神經網絡(cnn)或深信念網絡(dbn),但可以使用其它深網絡。cnn學習前饋映射函數,而dbn學習數據的生成模型。此外,cnn針對所有局部區(qū)域使用共享權重,而dbn是全連接網絡(即,針對圖像的所有區(qū)域具有不同的權重)。cnn的訓練是通過向后傳播而是完全區(qū)分的。另一方面,dbn采用逐層的無監(jiān)測訓練(例如,預先訓練),后隨有具有向后傳播的區(qū)分細化(如果必要的話)。
層的每個節(jié)點表示特征。提供不同的節(jié)點以用于學習不同的特征。可以使用任何數量的節(jié)點。在圖3的示例中,每個框或層72-80一般表示多個節(jié)點。
機器使用任何構建塊來學習節(jié)點的特征。例如,使用自動編碼器(ae)或受限制的玻爾茲曼機(rbm)。圖3示出針對每個層72-80使用ae。ae線性地變換數據,并且然后應用非線性校正(如s形函數)。ae的目標函數是輸入圖像與使用所學習的特征的所重構的圖像之間的期望均方差??梢允褂秒S機梯度下降或其它方法來訓練ae,以通過機器學習導致最佳重構的特征。
rbm的目標函數是能量函數。精確計算與rbm關聯(lián)的似然率項是棘手的。因此,近似算法(諸如基于k步gibb采樣的對比散度或其它)被用于訓練rbm以從特征重構圖像。
對于高維輸入數據而言ae或rbm的訓練傾向于過度擬合。采用稀疏性或降噪技術(例如稀疏降噪ae(sdae))以約束參數的自由度,并且強制學習數據內的關注結構。添加噪聲以訓練圖像并且要求網絡重構無噪聲圖像可以防止過度擬合。在隱藏層內強制稀疏性(即,僅同時地激活隱藏層中的少數量的單元)也可以調整網絡。
圖3示出多層特征學習和聚合的網絡架構的一個示例定義。在該示例中,網絡的框架是用于從原始輸入圖像自動化地構造有用的特征的深架構。網絡使用局部到全局方法,其中,初始層72具有用于獨立地學習用于局部區(qū)域的特征的分離的塊,并且稍后的層74-80全局地對針對整個圖像70的特征進行操作。第一順序特征層72被定義為用于圖像70的相應的子區(qū)域的分離的局部特征學習器(例如ae的塊)。提供層72中的六個這樣的子區(qū)域以及對應的六個分離地學習的或訓練的節(jié)點或特征的集合。例如,圖像被劃分為多個16×16像素片塊??臻g劃分有助于在利用大圖像的學習中減少計算負擔。例如,與全連接網絡(即,第一層是全局的)相比,自由變量的數量減少至少于十分之一。學習具有m個隱藏單元或節(jié)點(例如m=100)的稀疏降噪自動編碼器(sdae)(即具有稀疏性和降噪正規(guī)化子的自動編碼器)得以學習,以良好地重構每個區(qū)域。針對不同的局部區(qū)域學習不同濾波器??梢允褂闷渌鼣盗康淖訁^(qū)域和隱藏節(jié)點。
可以提供使用局部劃分的任何數量的層。圖3示出具有局部特征學習的僅一個層72。其它層(諸如第二層74)被定義為全局特征學習器,以用于從分離的局部特征學習器的輸出學習用于各圖像的整體的特征。例如,來自層72的所有局部sdae的輸出被聚合,并且被饋送到第二層74中的sdae。來自第二層74的輸出被饋送到第三層76中的另一sdae。在替換的實施例中,不使用局部到全局方法。
在圖1的動作46中,提供聚合器層82。該聚合器層被定義為深網絡的部分,或者在對網絡進行定義當中被分離地處理。聚合器層82使用特征以進行分類或檢測而不是提供重構以學習特征。聚合器層82是終止特征學習網絡的分類器。例如,聚合器層82是概率提升樹、支撐矢量機或其它機器學習分類器。其它分類器可以包括單類或二元分類器、不同分類器的集合、級聯(lián)分類器、層級分類器、多類分類器、基于模型的分類器、基于機器學習的分類器,或者可以使用它們的組合。多類分類器包括cart、k最近鄰、神經網絡(例如多層感知)、混合模型或其它。可以使用糾錯輸出碼(ecoc)。
聚合器層82從多個特征層的節(jié)點接收特征。聚合器層82的輸入矢量包括直接來自多個不同層74-80的所有或一些特征以及對應的抽象水平,而不是利用最抽象層80的特征進行工作。例如,來自最后兩個、三個或四個層的特征被聚合。在圖3的示例中,聚合器層82從層74-80接收所有特征或節(jié)點輸出。在替換的實施例中,來自更少或更多的層72-80的特征被聚合。在其它替換的實施例中,使用比來自給定層的所有特征或節(jié)點輸出更少的特征或節(jié)點輸出,諸如其中特征并非是類或檢測的確定而是用于確定隨后的層的特征。
在圖1的動作48中,使用對象的圖像來對多層特征學習網絡和聚合器層一起進行訓練。執(zhí)行機器學習以使用所定義的深架構來訓練各個層72-82。學習確定性的或允許重構輸入的特征。類似地,學習提供由聚合器層82實現(xiàn)的檢測器的想要的結果或分類的特征。還學習分類器。
為了進行訓練以一起工作,聯(lián)合地優(yōu)化多層特征學習網絡和聚合器層的分類器。與用于分類的基本事實以及針對用于特征學習網絡的重構的錯誤有關的結果被向后投射,以對哪些特征工作得最佳進行訓練。使用從聚合器層82到特征層74-80中的多個層的向后投射以及各順序層之間的向后投射(例如,80到78、78到76、76到74、以及74到72)造成與用于輸入圖像70的基本事實有關的所學習的特征或節(jié)點和分類器的細化。在訓練中,網絡不僅將梯度從最后的層傳播到先前的層,而且還傳播到與聚合器層82連接的所有中間層,聯(lián)合地優(yōu)化整個網絡。聯(lián)合優(yōu)化造成分類器和特征學習網絡被一起訓練以最佳地檢測對象(諸如,檢測對象的一個或多個特性)。
還可能的是連同學習分類器(諸如,連同學習屬性分類器)一起使用向后傳播來精細調諧網絡。例如,重構錯誤被用于向后投射,以用于訓練用以在層72-80中進行檢測的特征。然后利用或不利用其它層72-80的特征的細化來訓練聚合器層82。所學習的特征被用于訓練聚合器層82的一個或多個分類器。
在優(yōu)化期間,學習不同的區(qū)分特征。在圖3的示例中,機器訓練特征節(jié)點的塊以重構圖像的局部部分。機器還訓練屬性節(jié)點的塊以重構特征節(jié)點,并且訓練其它屬性節(jié)點的塊,以重構先前的屬性節(jié)點。機器還諸如通過利用概率提升樹或支撐矢量機進行訓練來學習聚合器層的映射函數。特征聚合器被訓練以使用來自多個其它層的特征作為輸入來對對象進行分類。映射函數的訓練與用于檢測的所有輸入特征或輸入特征的子集有關。例如,聚合器層學習映射函數,以從來自多層特征學習網絡的多個層的節(jié)點的特征的任何組合預測21個屬性。學習可以僅指示來自要被用于分類的不同節(jié)點的特征的子集。
在動作50中,輸出所學習的特征和檢測器。所學習的特征由被優(yōu)化的多層特征學習網絡表示。單獨的特征的集合形成用于將對象與其它對象進行區(qū)分的特征或特征集合。基于從圖像重構對象而提供特征作為不同的抽象水平上的特征層的節(jié)點。節(jié)點定義被訓練以提取特征的處理。
檢測器是用于對對象進行分類的分類器。使用輸出特征,檢測器檢測對象的特性或屬性。例如,在人重新標識實施例中,輸出檢測器提供用于21個屬性的標注。屬性是用于檢測匹配的特征。標注可以是二元的(例如,對于屬性而言,“是”或“否”)或被分級的(諸如1-10的大小)。替換地,檢測器對來自一個圖像的輸入人是否為另一圖像中的同一人進行分類。檢測器可以使用來自早前的層的特征,以在檢測處理期間快速地拒絕不可能的候選。
一旦被訓練,就輸出矩陣。矩陣表示用于特征和檢測器的所學習的算法。替換地,分離的矩陣被用于任何節(jié)點、層、網絡和/或檢測器。
當新的傳感器被添加到系統(tǒng)(諸如,攝像機被添加到安全或居住監(jiān)控系統(tǒng))時,用以使用的特征以及檢測器被訓練,以用于與該攝像機一起使用。當開發(fā)了新的類型的傳感器時,可以從來自傳感器數據的該新的類型的傳感器訓練特征和檢測。在其它實施例中,針對任何給定的匹配或檢測情況執(zhí)行訓練。例如,在重新標識中,要定位在其它圖像中的人的一個或多個圖像被用于學習特征并且訓練檢測器。其它圖像可以于是被用于確定匹配與否。隨著人被定位,針對該人來具體地訓練特征和檢測器。
一旦學習了特征并且訓練了檢測器,就可以應用特征和檢測器。定義一個或多個特征的矩陣被用于從輸入圖像進行提取。檢測器使用來自圖像的所提取的特征,以將輸入圖像分類為表示對象或不表示對象。輸出可以是二元的“是/否”或者為是同一人的概率。輸出可以用于不同的屬性而非匹配或不匹配??梢蕴峁┲T如與替換的值關聯(lián)的概率或其它信息。
圖4是對象檢測應用的一個實施例的流程圖。相同的處理器或不同的處理器應用所學習的特征和檢測器。例如,一個或多個矩陣被傳送到另一處理器以用于該處理器進行應用。
在動作54中,處理器接收對象的一個或多個圖像。圖像可以包括相同的對象或不同的對象。應用用來確定對象或對象的特性是否相同。從傳感器接收圖像作為可視信息。對于其它類型的傳感器而言,信息可以是數據而非圖像。
在動作56中,在利用深網絡的隱藏特征進行檢測之前,處理器利用預先編程的特征來限制候選。例如,處理器使用haar、hsv色彩直方圖、lbp、梯度和/或其它信息來應用一個或多個分類器以確定每個圖像是否為對象,或確定圖像的不同部分是否為對象。然后可以僅對于其余的候選(例如圖像和/或圖像的部分)應用所學習的多層網絡和分類器。
在動作58中,使用深網絡的隱藏特征來檢測輸入圖像或圖像的部分是否表示對象。例如,所訓練的ae或rbm塊被應用于適當的輸入,以提取對應的特征。隱藏特征是從多層網絡中的不同的抽象層學習的特征節(jié)點。使用所學習的變換、非線性修正、能量函數或其它函數,從圖像提取一個或多個輸入圖像的特征??梢允褂脤咏Y構從那些所提取的特征提取其它更抽象的特征。取決于層的數量,從先前的層的特征提取其它特征。特征是表示相似性的量(諸如是對象中的特征的概率)的值(諸如二進制值、整數值或分數值)。
在一個實施例中,檢測包括針對圖像的不同子部分使用分離的隱藏特征。提取局部或子區(qū)域特定特征。可以提取使用所提取的局部特征的其它特征(例如全局特征)。
檢測使用來自不同的層的所提取的特征作為對聚合器的機器學習分類器的特征矢量或輸入。來自不同層的隱藏特征被聚合為對機器學習分類器的輸入特征矢量。分類器然后輸出檢測(諸如圖像是否為匹配、匹配的概率(例如人具有長袖襯衫的88%概率)、或者對象或對象的特性的其它指示符)。
在動作60中,輸出檢測。輸出結果或所檢測的信息。例如,輸出是否存在匹配。作為另一示例,輸出針對一個或多個屬性的匹配的概率??梢葬槍ο蠡驅ο蟮牟糠州敵鋈魏涡畔⒒蚍诸悺@?,輸出針對很多(例如10個或更多個)屬性的匹配的概率。
輸出是對于圖像的。例如,同時顯示基本事實圖像以及檢測所應用于的圖像。檢測的結果指示是否存在匹配或其它檢測。在圖2的示例中,任何匹配的圖像被突出顯示(諸如被圍繞圖像放置的框)。在其它示例中,以不同的方式突出顯示匹配的屬性和/或突出顯示非匹配的屬性。
在用于重新標識的訓練和應用的一個示例中,與使用hsv色彩直方圖和lbp的機器學習方法相比,使用來自分類器中的不同層的特征的局部到全局特征學習和聚合改進屬性分類。viper數據集具有632個主體,從不同的視點來看,主體的每一個具有兩個圖像。利用具有第一層中的32個局部區(qū)域、來自3個最后的層的5個sdae塊以及聚合的l個層(例如,l=5,網絡大小18432-4800-3000-500-200-42)來定義網絡。使用來自深網絡的所學習的特征,級別-1檢索結果內的34.2%的準確度與使用級別提升方法(該方法使用hsv直方圖和lbp)的當前現(xiàn)有技術狀況的15.2%比較。與現(xiàn)有技術狀況的40.6%和53.3%相比,級別-5和級別-10結果分別是52.1%和63.3%。
圖5示出針對不同方法的分級性能的比較,其中sae屬性和cnn屬性對應于如下的多層特征聚合網絡的性能:所述網絡的構建塊是sae和cnn,所述網絡針對人標識任務使用添加有中間的所學習特征的屬性分類輸出。lbp-hsv-efm是現(xiàn)有技術方法的狀況,現(xiàn)有技術方法使用具有局部二元模式、色彩直方圖以及顯式特征映射技術的組合的級別提升算法。pca對應于與支持矢量分級方法組合來使用主分量分析以產生特征。sae是在對于人重新標識而言不使用屬性分類輸出的情況下的針對多層特征聚合網絡的結果。
可以僅使用最后的層的輸出作為用于分類器的輸入特征來執(zhí)行同一人重新標識實驗。與多層特征聚合相比,針對級別-1、級別-5以及級別-10準確度分別下降到27.4%、49.4%以及58.2%。中間層的特征聚合可以一致地改進性能。
在上面的一些示例中使用sdae。相同的網絡定義可以被用于從l個層(例如,l=5,網絡配置是5×5濾波器->2×2池化->5×5濾波器->3×3池化->21個輸出)的cnn網絡構造特征。來自最后3個層的特征被聚合。針對級別-1、級別-5和級別-10結果準確度可以是20.9%、46.8%以及61.8%。
在另一示例中,對比于hsv和lbp特征而使用所學習的特征的屬性分類執(zhí)行得更好。例如,在關于三個屬性“深色襯衫”、“深色底部”以及“男性”的級別提升方法的情況下,與hsv直方圖和lbp特征的20.5%、32.7%和46%相比,針對利用深網絡中的層聚合的局部到全局的錯誤率分別是16%、27%和39.5%。
圖6示出用于人重新標識中的對象檢測的系統(tǒng)。系統(tǒng)是主機計算機、控制站、工作站、服務器或用于人重新標識的其它布置。系統(tǒng)包括顯示器14、存儲器16以及處理器18??梢蕴峁└郊拥?、不同的或更少的組件。系統(tǒng)用于訓練,諸如使用來自監(jiān)測系統(tǒng)11的圖像作為基本事實。替換地,系統(tǒng)用于所學習的特征和分類器的應用。在其它實施例中,監(jiān)測系統(tǒng)11和攝像機10被醫(yī)學成像器或其它傳感器替代。
顯示器14、處理器18和存儲器16可以是用于對來自視頻監(jiān)測系統(tǒng)11的攝像機10的圖像進行圖像處理的計算機、服務器或其它系統(tǒng)的部分。可以使用用于系統(tǒng)11的工作站或控制站。替換地,使用并非為視頻監(jiān)測系統(tǒng)11的部分的分離的或遠程的設備。替代地,遠程地執(zhí)行重新標識。
在一個實施例中,處理器18和存儲器16是管控用于由作為客戶機的監(jiān)測系統(tǒng)11使用的重新標識功能的服務器的部分??蛻魴C和服務器通過網絡(諸如內聯(lián)網或互聯(lián)網)互連??蛻魴C可以是視頻監(jiān)測系統(tǒng)11的計算機,并且服務器可以由視頻監(jiān)測系統(tǒng)11的制造商、提供商、主機或創(chuàng)建者提供。
視頻監(jiān)測系統(tǒng)11包括多個攝像機10。攝像機被遍布于區(qū)域(諸如建筑、建筑的樓層、倉庫、校園、綜合樓、室外區(qū)域、表演場、機場、交通區(qū)域、樞紐、城市或隧道系統(tǒng))而分布。攝像機10被安裝并且連接到通信網絡。每個攝像機10捕獲區(qū)域的場景。視頻攝像機10可以遵循開放網絡視頻接口論壇(onvif)規(guī)范。攝像機視頻流被耦合到視頻處理單元,視頻處理單元被耦合到視頻存儲體以及視頻內容分析(vca)模塊。vca模塊將加時間戳的視頻數據和元數據輸出到它們的相應的存儲體。vca模塊根據算法來生成并且輸出元數據。視頻和元數據存儲體可以被實現(xiàn)為數字視頻記錄器(dvr)或網絡視頻記錄器(nvr),以用于存儲并且回放。對視頻數據進行編碼并且存儲。可以與視頻一起存儲基于流的元數據。可以提供用于視頻監(jiān)測的其它布置(諸如規(guī)則地捕獲靜止圖像而非視頻)。
顯示器14是crt、lcd、投影儀、等離子體、打印機、智能電話或其它現(xiàn)在已知的或稍后開發(fā)的顯示設備,以用于顯示圖像、屬性、重新標識和/或對象檢測信息。例如,顯示器14顯示兩個圖像、關于用于圖像的攝像機位置的信息、以及同一人是否處于這兩個圖像中的指示。顯示器14協(xié)助確認匹配或重新標識??梢蕴娲鼗蚋郊拥仫@示屬性信息。在訓練環(huán)境中,顯示可以是網絡定義、特征信息、向后投射信息、聯(lián)合優(yōu)化信息或其它訓練信息。
指令、網絡定義、特征、分類器、矩陣、輸出和/或其它信息存儲在非暫態(tài)計算機可讀存儲器(諸如存儲器16)中。存儲器16是外部存儲設備、ram、rom、數據庫和/或本地存儲器(例如固態(tài)驅動器或硬驅動器)。相同或不同的非暫態(tài)計算機可讀介質可以被用于指令和其它數據??梢允褂糜商幚砥?8管理的并且駐留在存儲器(諸如硬盤、ram或可拆卸介質)上的數據庫管理系統(tǒng)(dbms)來實現(xiàn)存儲器16。替換地,存儲器16處于處理器18內部(諸如緩存)。
在非暫態(tài)計算機可讀存儲介質或存儲器(諸如緩存、緩沖器、ram、可拆卸介質、硬驅動器或其它計算機可讀存儲介質(諸如存儲器16))上提供用于實現(xiàn)在此所討論的訓練或應用處理、方法和/或技術中的對象檢測的指令。計算機可讀存儲介質包括各種類型的易失性和非易失性存儲介質。響應于在計算機可讀存儲介質之中或之上存儲的一個或多個指令集而執(zhí)行各圖中所圖解或在此所描述的功能、動作或任務。功能、動作或任務獨立于特定類型的指令集、存儲介質、處理器或處理策略,并且可以由單獨地或組合地操作的軟件、硬件、集成電路、固件、和微代碼等執(zhí)行。
在一個實施例中,指令被存儲在可拆卸介質設備上以用于由本地或遠程系統(tǒng)讀取。在其它實施例中,指令被存儲在遠程位置中以用于通過計算機網絡傳送。在又一實施例中,指令被存儲在給定的計算機、cpu、gpu或系統(tǒng)內。因為隨附各圖中所描繪的構成系統(tǒng)組件和方法步驟中的一些可以被實現(xiàn)在軟件中,所以各系統(tǒng)組件(或處理步驟)之間的實際連接可以取決于對本實施例進行編程的方式而不同。
程序可以被加載到包括任何合適的架構的處理器18中并且由該處理器18執(zhí)行。類似地,處理策略可以包括多處理、多任務和并行處理等。在具有硬件(諸如一個或多個中央處理單元(cpu)、隨機存取存儲器(ram)和(多個)輸入/輸出(i/o)接口)的計算機平臺上實現(xiàn)處理器18。計算機平臺還包括操作系統(tǒng)和微指令代碼。在此所描述的各種處理和功能可以是經由操作系統(tǒng)執(zhí)行的微指令代碼的一部分或程序的一部分(或其組合)。替換地,處理器18是網絡中的一個或多個處理器。
處理器18被配置為獲得圖像。圖像可以是視場或從視場剪切出的人。處理器18可以執(zhí)行剪切。圖像的區(qū)域或劃分可以由處理器18描畫。
處理器18被配置為學習特征或提取所學習的特征。例如,多層特征學習網絡被定義并且被用于學習特征以重新標識人。在不同的層處學習特征。在一個實施例中,學習局部特征和全局特征??梢酝ㄟ^應用所學習的處理來提取所學習的特征。
處理器18被配置為基于所學習的特征而進行分類。輸入特征以進行學習,以對輸入圖像進行分類。使用基本事實和聯(lián)合優(yōu)化,利用對特征的學習來學習分類器。對于應用而言,處理器18基于所輸入的所學習的特征來確定機器學習分類器的輸出。
可以一起地或分離地使用在此所描述的各種改進。雖然已經參照隨附附圖在此描述了本發(fā)明的說明性的實施例,但是要理解的是,本發(fā)明不限制于這些精確實施例,并且在不脫離本發(fā)明的范圍或精神的情況下,本領域技術人員可以在其中實行各種其它改變和修改。