本公開涉及圖像處理
技術領域:
,尤其涉及一種圖像識別方法和裝置。
背景技術:
:圖像識別是利用計算機對圖像進行處理、分析和理解,以識別各種不同模式的目標和對象的技術。目前,圖像識別技術已廣泛應用于生物醫(yī)學、貨物檢測、目標跟蹤、自主車導航等多個領域?,F有技術中,通常對某個特定領域的內容進行圖像識別或者對圖像中的不同區(qū)域進行識別以得到不同的識別結果。對于某一區(qū)域的圖像,往往只能給出單一的識別結果。技術實現要素:本公開實施例提供了一種圖像識別方法和裝置。所述技術方案如下:根據本公開實施例的第一方面,提供一種圖像識別方法,該方法包括:獲取待識別圖像數據,并將所述待識別圖像數據輸入到預設網絡模型,所述預設網絡模型包括至少1類處理層,每類處理層包含至少3個子處理層,所述至少3個子處理層按序依次排列;依次采用所述至少1類處理層對所述待識別圖像數據進行處理,獲取識別后的圖像數據;其中,每類處理層中的所述至少子3個子處理層依次對所述待識別圖像數據進行處理,且每類處理層中從第3個所述子處理層開始,每個所述子處理層的輸入包括:至少2個在先子處理層的輸出。根據本公開實施例的第二方面,提供了一種圖像識別裝置,該裝置包括:獲取模塊,被配置為獲取待識別圖像數據,并將所述待識別圖像數據輸入到預設網絡模型,所述預設網絡模型包括至少1類處理層,每類處理層包含至少3個子處理層,所述至少3個子處理層按序依次排列;處理模塊,被配置為依次采用所述至少1類處理層對所述獲取模塊獲取到的所述待識別圖像數據進行處理,獲取識別后的圖像數據;其中,每類處理層中的所述至少子3個子處理層依次對所述待識別圖像數據進行處理,且每類處理層中從第3個所述子處理層開始,每個所述子處理層的輸入包括:至少2個在先子處理層的輸出。根據本公開實施例的第三方面,提供了一種圖像識別裝置,該裝置包括:處理器;用于存儲所述處理器的可執(zhí)行指令的存儲器;其中,所述處理器被配置為:獲取待識別圖像數據,并將所述待識別圖像數據輸入到預設網絡模型,所述預設網絡模型包括至少1類處理層,每類處理層包含至少3個子處理層,所述至少3個子處理層按序依次排列;依次采用所述至少1類處理層對所述待識別圖像數據進行處理,獲取識別后的圖像數據;其中,每類處理層中的所述至少子3個子處理層依次對所述待識別圖像數據進行處理,且每類處理層中從第3個所述子處理層開始,每個所述子處理層的輸入包括:至少2個在先子處理層的輸出。本公開實施例提供的技術方案可以包括以下有益效果:通過將獲取到的待識別圖像數據輸入到預設網絡模型,并依次采用預設網絡模型包括的至少1類處理層對待識別圖像數據進行處理,獲取識別后的圖像數據,由于該預設模塊每類處理層中的至少子3個子處理層依次對待識別圖像數據進行處理,且每類處理層中從第3個子處理層開始,每個子處理層的輸入包括至少2個在先子處理層的輸出,其能夠更迅速的獲取到識別后的圖像數據,提高了該預設網絡模型的精度,進而提高了圖像識別的精度。應當理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性和解釋性的,并不能限制本公開。附圖說明此處的附圖被并入說明書中并構成本說明書的一部分,示出了符合本公開的實施例,并與說明書一起用于解釋本公開的原理。圖1是根據一示例性實施例示出的一種圖像識別方法的流程圖;圖2為根據一示例性實施例示出的預設網絡模型的結構框圖;圖3是根據另一示例性實施例示出的一種圖像識別方法的流程圖;圖4是根據再一示例性實施例示出的一種圖像識別方法的流程圖;圖5為AlexNet深度卷積模型網絡的一種框圖;圖6是根據又一示例性實施例示出的一種圖像識別方法的流程圖;圖7是根據一示例性實施例示出的一種圖像識別裝置的框圖;圖8是根據另一示例性實施例示出的一種圖像識別裝置的框圖;圖9是根據再一示例性實施例示出的一種圖像識別裝置的框圖;圖10是根據一示例性實施例示出的一種圖像識別裝置的實體的框圖;圖11是根據一示例性實施例示出的一種圖像識別裝置的框圖。通過上述附圖,已示出本公開明確的實施例,后文中將有更詳細的描述。這些附圖和文字描述并不是為了通過任何方式限制本公開構思的范圍,而是通過參考特定實施例為本領域技術人員說明本公開的概念。具體實施方式這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本公開相一致的所有實施方式。相反,它們僅是與如所附權利要求書中所詳述的、本公開的一些方面相一致的裝置和方法的例子。圖1是根據一示例性實施例示出的一種圖像識別方法的流程圖。圖2為根據一示例性實施例示出的預設網絡模型的結構框圖。本實施例以圖像識別方法應用于終端設備或服務器中來舉例說明。其中,該終端設備例如是手機、PDA(PersonalDigitalAssistant,個人數字助理,簡稱PDA)等,也可以是具有圖像識別功能的其他設備。如圖1所示,該圖像識別方法可以包括如下幾個步驟:在步驟S11中,獲取待識別圖像數據,并將該待識別圖像數據輸入到預設網絡模型。其中,預設網絡模型包括至少1類處理層,每類處理層包含至少3個子處理層,該至少3個子處理層按序依次排列。作為一種示例,如圖2所示,假設預設網絡模型包括兩類處理層,分別是第一類處理層21和第二類處理層22,該第一類處理層21包括五個子處理層,分別為第一類第一子處理層211、第一類第二子處理層212、第一類第三子處理層213、第一類第四子處理層214和第一類第五子處理層215,該第二類處理層22包括三個子處理層,分別為第二類第一子處理層221、第二類第二子處理層222和第二類第三子處理層223,而且,第一類處理層21和第二類處理層22依次排列,且第一類處理層21中的五個子處理層和第二類處理層22中的三個子處理層依次排列。也即,待識別圖像數據首先輸入到第一類處理層21的第一類第一子處理層211中,且待識別圖像數據滿足第一類第一子處理層211的輸入大小要求??蛇x的,在本實施例中,該圖像識別方法可適用于對某一圖像中目標物的識別應用中,例如,圖像中建筑物或動植物類別的識別等。在對待識別圖像進行識別時,首先需要獲取到待識別圖像數據,該待識別圖像數據,例如是像素圖像數據或深度圖像數據,其中,像素圖像數據也即RGB(紅、綠、藍)圖像數據,指的是圖像分辨率的大小,可利用RGB傳感器獲得,而深度圖像數據也即像素深度圖像數據,是指存儲每個像素所用的位數,用來度量圖像的分辨率,可以通過深度傳感器獲取??蛇x的,在本公開的實施例中,可以通過攝像設備對目標場景進行圖像數據采集計算來獲取待識別圖像數據,進而在獲取到待識別圖像數據之后,將待識別圖像數據輸入到預設網絡模型中進行處理。在本實施例中,選用的預設網絡模型包括至少1類處理層,每類處理層包含至少3個子處理層,并且至少3個子處理層按序依次排列??蛇x的,該預設模塊可以是AlexNet深度卷積網絡。值得說明的是,該待識別圖像數據需要與預設網絡模型中第一類處理層的第一個子處理層相對應,也即,待識別圖像數據對應的矩陣向量與第一類處理層的第一個子處理層對應的矩陣向量相匹配。在步驟S12中,依次采用上述至少1類處理層對待識別圖像數據進行處理,獲取識別后的圖像數據。其中,每類處理層中的至少子3個子處理層依次對待識別圖像數據進行處理,且每類處理層中從第3個子處理層開始,每個子處理層的輸入包括:至少2個在先子處理層的輸出。在本實施例中,終端設備采用預設網絡模型的至少1類處理層對獲取到的待識別圖像數據進行處理,具體的,使待識別圖像數據依次經過每類處理層內的至少3個子處理層,利用該至少3個子處理層依次對待識別圖像數據進行處理,而且,為了加快預設網絡模型對待識別圖像數據的處理速度,提高圖像識別的精度,每類處理層中從第3個子處理層開始,通過增加在先子處理層與該字處理層的快捷鏈接,使得每個子處理層的輸入包括至少2個在先子處理層的輸出,這樣從第3個子處理層開始,每個子處理層的運算數據量增加了一倍,進而加快了整個預設網絡模型的處理速度,提高了圖像識別的精度。需要說明的是,從第3個子處理層開始,當通過快捷鏈接的方式將在先子處理層的輸出作為該子處理層的輸入時,在先子處理層的輸出需要與該子處理層的輸入相匹配,若在先子處理層的輸出與子處理層的輸入不匹配,則需要按照該子處理層的輸入對在先子處理層的輸出進行上采樣或下采樣,進而使在先子處理層的輸出經過采樣之后,其大小能夠滿足該子處理層的輸入要求??蛇x的,如圖2所示,第一類處理層的第4個子處理層的輸入包括在先3個子處理層的輸出,則分別在第一類第一子處理層211、第一類第二子處理層212和第一類第四子處理層214之間建立快捷鏈接,將第一類第一子處理層211、第一類第二子處理層212的輸出分別經過上采樣和下采樣之后和第一類第三子處理層213的輸出一起輸入到第一類第四子處理層214中。本實施例提供的圖像識別方法,通過將獲取到的待識別圖像數據輸入到預設網絡模型,并依次采用預設網絡模型包括的至少1類處理層對待識別圖像數據進行處理,獲取識別后的圖像數據,由于該預設模塊每類處理層中的至少子3個子處理層依次對待識別圖像數據進行處理,且每類處理層中從第3個子處理層開始,每個子處理層的輸入包括至少2個在先子處理層的輸出,其能夠更容易獲取到識別后的圖像數據,提高該預設網絡模型的精度,進而提高圖像識別的精度。在上述實施例的基礎上,本實施例涉及采用至少1類處理層對待識別圖像數據進行處理的具體方法。即,對上述步驟S12(依次采用至少1類處理層對待識別圖像數據進行處理,獲取識別后的圖像數據)的詳細說明,詳細請參照圖3所示實施例。圖3是根據另一示例性實施例示出的一種圖像識別方法的流程圖。本公開實施例是在上述實施例的基礎上對圖像識別方法技術方案的進一步說明。如圖3所示,本實施例涉及的圖像識別方法用于終端設備中,該終端設備例如可以是手機、PDA等,也可以是具有通話功能的其他設備。在本實施例涉及的圖像識別方法中,上述步驟S12(依次采用至少1類處理層對待識別圖像數據進行處理,獲取識別后的圖像數據)可通過如下步驟實現。在步驟S31中,根據隨機梯度下降法,依次采用至少1類處理層對待識別圖像數據進行處理,獲取識別后的圖像數據??蛇x的,隨機梯度下降法(stochasticgradientdescent,簡稱SGD)也叫增量梯度下降法,具體是根據隨機選取的某個單獨樣例的誤差增量計算權值更新,進而得到近似解的梯度下降搜索方法。隨機梯度下降法與梯度下降法相比,收斂速度快,因此,本公開實施例根據隨機梯度下降法,依次采用預設網絡模型的至少1類處理層對待識別圖像數據進行處理,獲取識別后的圖像數據,可有效加快待識別圖像數據的識別速度,提高圖像識別的精度。值得說明的是,本公開實施例以預設網絡模型為AlexNet深度卷積網絡為例進行說明。下面簡要描述隨機梯度下降法應用于該預設網絡模型的實現原理:首先,利用公式(1)表示預設網絡模型對圖像識別的總誤差:E=12Σi(yi-ai)2---(1)]]>其中,E表示預設網絡模型的總誤差數據,yi表示第i個圖像的真實圖像數據,ai表示第i個圖像利用預設網絡模型識別后的圖像數據。在利用該預設網絡模型進行圖像識別時,該預設網絡模型中每類處理層的每一子處理層的權值系數矩陣用W表示,那么,本公開實施例的目的就是通過調節(jié)權值系數矩陣W來使總誤差數據達到最小。眾所周知,由于權值系數矩陣W的變化量可用公式(2)所示的偏導公式表示,因此,對于預設網絡模型中每類處理層的每一子處理層的權值系數可通過公式(3)進行更新。ΔW∝-∂E∂W---(2)]]>θij(l+1)=θij(l)+Δθij(l)=θij(l)-α∂E(θ)∂θij(l)---(3)]]>其中,是第i個圖像的第j個待識別圖像數據在該預設網絡模型的第l+1層的權值系數,是第i個圖像的第j個待識別圖像數據在該預設網絡模型的第l層的權值系數,是第i個圖像的第j個待識別圖像數據在該預設網絡模型的第l層的誤差權值系數,α為該預設網絡模型中第l層的誤差權值系數的權重。對于該預設網絡模型的最后一層(L),第i個圖像經過上述公式(1)至公式(3)的計算之后,可直接計算出該預設網絡模型識別后的圖像數據與該第i個圖像的真實圖像數據之間的差值,本實施例中,將其定義為對于該預設網絡模型中間各層中的節(jié)點,可通過計算各層節(jié)點差值的加權平均值來計算該節(jié)點的差值。在該預設網絡模型的最后一層中,識別后的圖像數據與該第i個圖像的真實圖像數據之間的差值用公式(4)表示:δi(L)=∂E∂zi(L)=∂12(yi-ai)2∂zi(L)=∂[12(y-g(zi(L)))2]∂zi(L)=(ai(L)-y)·g′(zi(L))---(4)]]>其中,為第L層中第z個節(jié)點的權值系數,為第i個圖像經過第L層的第z個節(jié)點后得到的圖像數據,為第L層的第z個節(jié)點的差值。對于該預設網絡模型最后一層之前的每一層(l),識別后的圖像數據與該第i個圖像的真實圖像數據之間的差值用公式(5)表示:δi(l)=∂E∂zi(l)=ΣjN(l+1)∂E∂zj(l+1)·∂zj(l+1)∂zi(l)=ΣjN(l+1)δj(l+1)·∂[ΣkN(l)θjk(l)·g(zk(l))]∂zj(l),k∈i=ΣjN(l+1)(δj(l+1)·θji(l))·g′(zi(l))---(5)]]>其中,為第l層中第z個節(jié)點的權值系數,為第k個圖像經過第l層的第z個節(jié)點后得到的圖像數據,為第l層的第z個節(jié)點的差值,N(l+1)為第i個圖像的待識別圖像數據總個數,j為1與N(l+1)之間的任一待識別圖像數據,是第i個圖像的第j個待識別圖像數據在該預設網絡模型的第l層的權值系數。因此,第i個圖像經過第l層后得到的圖像數據與該第i個圖像的真實圖像數據之間的差值可用公式(6)表示:δi(l)=ΣjN(l+1)(δj(l+1)·θji(l))·g′(zi(l))---(6)]]>由前述可知,本公開實施例的目的是計算出由于可用公式(7)表示,因此,本實施例中預設網絡模型的權重系數的隨機下降方程可用公式(8)表示。∂E∂θji′=∂E∂zi(l+1)·∂zi(l+1)∂θji′=δi(l+1)·aj(l)---(7)]]>θji′=θji′-α·δi(l+1)·aj(l)---(8)]]>其中,θ′ji為該預設網絡模型中權值系數矩陣W中各參數值的變化量,α為該預設網絡模型中誤差權值系數的權重,為第i個圖像經過預設網絡模型的第l層后的圖像數據。值得說明的是,上述給出的隨機梯度下降法只是給出了一種快速計算收斂的方法,對于具體的計算細節(jié)本公開實施例并不對其進行限定??蛇x的,在圖1和圖3所示實施例提供的圖像識別方法中,上述至少1類處理層包括:卷積層和全連接層。其中,該卷積層包含至少3個子卷積層,該全連接層包含至少3個子全連接層。作為一種示例,當預設網絡模型具體采用AlexNet深度卷積網絡實現時,該AlexNet深度卷積網絡包括卷積層(ConvolutionLayer)、激活層(ActivationLayer)、池化層(PoolingLayer)、全連接層(FullyConnectedLayer)等,其中,卷積層包括5個子卷積層,全連接層包括3個子全連接層等,而且,卷積層與卷積層之間包括激活層和池化層。在上述實施例的基礎上,當上述至少1類處理層包括:卷積層和全連接層,且,卷積層包含至少3個子卷積層,全連接層包含至少3個子全連接層時,上述步驟S12(依次采用至少1類處理層對待識別圖像數據進行處理,獲取識別后的圖像數據)的可能實現方式請參照圖4所示實施例。圖4是根據再一示例性實施例示出的一種圖像識別方法的流程圖。本公開實施例是在上述實施例的基礎上對圖像識別方法技術方案的進一步說明。本實施例涉及的圖像識別方法同樣用于終端設備中,該終端設備例如可以是手機、PDA等,也可以是具有通話功能的其他設備。如圖4所示,上述步驟S12包括如下步驟。在步驟S41中,采用至少3個子卷積層依次對待識別圖像數據進行卷積處理,得到卷積后的圖像數據。如前所述,預設網絡模型的至少1類處理層包括卷積層和全連接層等,作為一種示例,一般情況下,卷積層包括的至少3個子卷積層均位于全連接層之前,那么,當將獲取到的待識別圖像數據對應的矩陣輸入到該預設網絡模型后,則首先采用該至少3個子卷積層依次對待識別圖像數據進行卷積處理,從最后一個子卷積層輸出卷積后的圖像數據。在步驟S42中,采用至少3個子全連接層依次對卷積后的圖像數據進行全連接處理,獲取識別后的圖像數據。當待識別圖像數據經過卷積層中各子卷積層的卷積處理后,得到尺寸及像素點信息都在預想范圍內的二維矩陣(也即,卷積后的圖像數據),將該二維矩陣再輸入到全連接層,經過全連接層的至少3個子全連接層全連接處理后,就可以得到識別后的圖像數據,根據該識別后的圖像數據,便可確定待識別圖像所屬的圖像類別或領域等信息。本實施例提供的圖像識別方法,當預設網絡模型的處理層包括卷積層和全連接層,且卷積層包含至少3個子卷積層,全連接層包含至少3個子全連接層時,則采用該至少3個子卷積層和至少3個子全連接層依次對待識別圖像數據進行卷積處理和全連接處理來獲取識別后的圖像數據,不僅能夠識別出該待識別圖像所屬的領域,還能識別出該圖像所屬的類別,因此,大大提高了圖像識別的效率和準確率??蛇x的,在上述各實施例的基礎上,本公開又一實施例提供的圖像識別方法中,該圖像識別方法,還包括如下步驟。對每個子全連接層的總處理數據量進行壓縮。如前所述,目前最流行的深度卷積網絡由各類計算層疊加而成,因此,在實際應用中的預設網絡模型均包括卷積層、激活層、池化層和全連接層等組成,使得整個預設網絡模型的參數眾多,預設網絡模型的大小通常在幾百MB至1GB,其雖然能夠很容易地部署在高性能服務器上,卻難以部署到內存資源緊張的嵌入式設備中。作為一種示例,圖5為AlexNet深度卷積模型網絡的一種框圖。在AlexNet深度卷積模型網絡中,第一類處理層21為卷積層,且該卷積層包括5個子卷積層(C1、C2、C3、C4、C5),第二類處理層22為全連接層,且全連接層包括3個子全連接層(FC6、FC7、FC8),在AlexNet深度卷積模型網絡中,全連接層的大小在整個AlexNet深度卷積模型網絡中的比例極大。如圖5所示,首先分別對三個子全連接層(FC6、FC7、FC8)的大小分析如下:從圖5可以看出,FC6層的輸入是一個大小為256*13*13的張量,輸出是一個大小為4096的向量,則FC6層處理的參數總數等于FC6層的輸入乘以FC6層的輸出,也即,256*13*13*4096=177209344。若以float類型存儲這些參數,那么FC6層的大小為177209344*4/1024/1024=676MB。類似的,FC7層的輸入是一個大小為4096的向量,輸出是一個大小為4096的向量,FC7層處理的參數總數為4096*4096=16777216,FC7層的大小為16777216*4/1024/1024=64MB。FC8層的輸入是一個大小為4096的向量,輸出是一個大小為1000的向量,FC8層處理的參數總數為4096*1000=4096000,FC8層的大小為4096000*4/1024/1024=15MB。從上述分析可知,FC6、FC7、FC8的總大小達到了755MB。進一步的,如圖5所示,當C1層是一個大小為96*55*55的張量,C2層是一個大小為256*27*27的張量,C3層是一個大小為384*13*13的張量,C4層是一個大小為384*13*13的張量,C5層是一個大小為256*13*13的張量時,第一類處理層21為卷積層,按照計算FC6、FC7、FC8的總大小的方法依次對卷積層的5個子卷積層(C1、C2、C3、C4、C5)進行計算,經過計算得知該5個子卷積層(C1、C2、C3、C4、C5)的總大小僅僅為10MB左右,具體的計算方法此處不再贅述。所以,本公開實施例主要對全連接層的3個子全連接層(FC6、FC7、FC8)的總處理數據量進行壓縮以降低整個AlexNet深度卷積模型網絡的大小。值得說明的是,本公開實施例并不對AlexNet深度卷積模型網絡中每一子卷積層和每一子連接層的大小進行限定,其可根據實際需要進行設置,而且不同的預設網絡模型中處理層的種類、每類處理層包括子處理層的多少以及每個子處理層的大小在不同的實施例中也可能互不相同,本公開實施例均不對其進行限定??蛇x的,上述對每個子全連接層的總處理數據量進行壓縮的一種可能實現方式包括圖6所示實施例的步驟。圖6是根據又一示例性實施例示出的一種圖像識別方法的流程圖。本公開實施例是在上述實施例的基礎上對圖像識別方法技術方案的進一步說明。本實施例涉及的圖像識別方法同樣用于終端設備中,該終端設備例如可以是手機、PDA等,也可以是具有通話功能的其他設備??蛇x的,本公開實施例是在圖4所示實施例的基礎上,將對每個子全連接層的總處理數據量進行壓縮應用在步驟S41之后進行舉例說明。如圖6所示,對每個子全連接層的總處理數據量進行壓縮包括如下步驟:在步驟S61中,分別對每個子全連接層的參數矩陣進行奇異值分解,獲取每個子全連接層的參數矩陣對應的第一參數子矩陣以及第二參數子矩陣;可選的,預設網絡模型中每個子全連接層的參數矩陣可以用一個u×v的矩陣W表示,W經過奇異值分解可以近似的表示為W=U∑mVT,其中,U是一個u×m的矩陣,∑m是一個m×m的對角矩陣,V是一個v×m的矩陣。也即,在本實施例中,子全連接層的參數矩陣W經過奇異值分解后可以得到其對應的第一參數子矩陣U和第二參數子矩陣V。則上述步驟S42(采用至少3個子全連接層依次對卷積后的圖像數據進行全連接處理,獲取識別后的圖像數據)的一種可能替代方案如步驟S62所示。在步驟S62中,采用至少3個子全連接層中每個子全連接層的參數矩陣對應的第一參數子矩陣以及第二參數子矩陣依次對卷積后的圖像數據對應的二維矩陣進行全連接處理,獲取識別后的圖像數據。在實際應用中,基于奇異值分解的加速原理來降低預設網絡模型的總大小,首先將參數矩陣為W的子全連接層,替換為兩個參數子矩陣,第一參數子矩陣的參數設置為∑mVT,第二參數子矩陣的參數設置為U,進而采用該第一參數子矩陣∑mVT和第二參數子矩陣U依次對經過卷積層卷積處理后的圖像數據對應的二維矩陣進行全連接處理,獲取到識別后的圖像數據。在本公開實施例中的待識別圖像數據量較大時,經過上述奇異值分解則可將子全連接層替換為兩個參數子矩陣,進而使子全連接層參數的個數從uv降低到了m(u+v),從而極大地降低了運算次數,極大地加速了圖像識別效率。具體的,對于如圖5所示的AlexNet深度卷積模型網絡,子全連接層FC6的總處理參數用u×v的矩陣W表示,其中,u=256*13*13=43264,v=4096。若W用奇異值SVD分解的方法近似的表示為W=U∑mVT,當對角矩陣∑m為m×m=1024的矩陣時,子全連接層FC6經過壓縮處理后的大小由原來的676MB降為了185MB(也即,m(u+v)=1024*(43264+4096)*4/1024/1024=185MB),而當對角矩陣∑m為m×m=512的矩陣時,子全連接層FC6經過壓縮處理后的大小由原來的676MB降為了92.5MB。由此可知,m值越小,壓縮比例越大。類似的,當對角矩陣∑m為m×m=512的矩陣時,子全連接層FC7經過奇異值分解SVD分解壓縮處理后的大小由原來的64MB降為了16MB(也即,m(u+v)=512*(4096+4096)*4/1024/1024=16MB)。當對角矩陣∑m為m×m=128的矩陣時,子全連接層FC8經過奇異值分解SVD分解壓縮處理后的大小由原來的15MB降為了2.5MB(也即,m(u+v)=128*(4096+1000)*4/1024/1024=2.5MB)。本實施例中的AlexNet深度卷積模型網絡經過上述壓縮處理(假設對FC6和FC7進行m=512的SVD分解,對FC8進行m=128的SVD分解),AlexNet深度卷積模型網絡由原來的總大小765MB降為了111M,壓縮效果非常明顯。值得說明的是,本公開實施例還可對預設網絡模型的卷積層進行壓縮處理,其并不對預設網絡模型中處理層是否進行壓縮處理進行限定,其需要根據實際情況進行選擇。例如,對于上述AlexNet深度卷積模型網絡中卷積層包括的子卷積層(C1、C2、C3、C4、C5),由于卷積層的總大小僅僅為10MB左右,所以,在使用預設網絡模型對圖像進行處理時,并不需要對卷積層進行壓縮處理。綜上所述,本公開實施例提供的圖像識別方法,通過對預設網絡模型的每個子全連接層的總處理數據量進行壓縮,也即,通過對每個子全連接層的參數矩陣進行奇異值分解,獲取每個子全連接層的參數矩陣對應的第一參數子矩陣以及第二參數子矩陣,并采用至少3個子全連接層中每個子全連接層的參數矩陣對應的第一參數子矩陣以及第二參數子矩陣依次對卷積后的圖像數據對應的二維矩陣進行全連接處理,獲取識別后的圖像數據,能夠極大的縮減預設網絡模型的參數個數,極大的降低預設網絡模型的尺寸,為將預設網絡模型部署到內存資源緊張的設備上提供了可能。以上描述了圖像識別方法的實現過程,該過程可以由圖像識別裝置來實現,以下將對圖像識別裝置的內部功能和結構進行說明。對于本公開裝置實施例中未披露的細節(jié),請參照本公開方法實施例。圖7是根據一示例性實施例示出的一種圖像識別裝置的框圖,該圖像識別裝置可以通過軟件、硬件或者兩者的結合實現成為包含圖像識別功能的電子設備的部分或者全部。該圖像識別裝置包括:獲取模塊71和處理模塊72。該獲取模塊71,被配置為獲取待識別圖像數據,并將該待識別圖像數據輸入到預設網絡模型。其中,該預設網絡模型包括至少1類處理層,每類處理層包含至少3個子處理層,所述至少3個子處理層按序依次排列。該處理模塊72,被配置為依次采用上述至少1類處理層對獲取模塊71獲取到的待識別圖像數據進行處理,獲取識別后的圖像數據。其中,每類處理層中的至少子3個子處理層依次對待識別圖像數據進行處理,且每類處理層中從第3個子處理層開始,每個子處理層的輸入包括:至少2個在先子處理層的輸出。關于本公開實施例提供的圖像識別裝置,其中各個模塊執(zhí)行操作的具體方式已經在圖1所示圖像識別方法實施例中進行了詳細描述,此處將不做詳細闡述說明。可選的,在本公開的另一實施例中,上述處理模塊72,還被配置為根據隨機梯度下降法,依次采用預設網絡模型的至少1類處理層對獲取模塊71獲取到的待識別圖像數據進行處理,獲取識別后的圖像數據??蛇x的,在上述任一實施例中,上述至少1類處理層包括:卷積層和全連接層。其中,卷積層包含至少3個子卷積層,全連接層包含至少3個子全連接層。圖8是根據另一示例性實施例示出的一種圖像識別裝置的框圖。本公開實施例是在上述實施例的基礎上對圖像識別裝置的進一步說明。如圖8所示,在本實施例提供的圖像識別裝置中,上述處理模塊72,包括:第一處理子模塊81和第二處理子模塊82。該第一處理子模塊81,被配置為采用至少3個子卷積層依次對獲取模塊71獲取到的待識別圖像數據進行卷積處理,得到卷積后的圖像數據。該第二處理子模塊82,被配置為采用至少3個子全連接層依次對第一處理子模塊81得到的卷積后的圖像數據進行全連接處理,獲取識別后的圖像數據。關于本公開實施例提供的圖像識別裝置,其中各個模塊執(zhí)行操作的具體方式已經在圖3所示圖像識別方法實施例中進行了詳細描述,此處將不做詳細闡述說明。圖9是根據再一示例性實施例示出的一種圖像識別裝置的框圖,在圖9所示實施例的基礎上,該裝置還包括:壓縮模塊91??蛇x的,該壓縮模塊91,被配置為對每個子全連接層的總處理數據量進行壓縮。作為一種示例,該壓縮模塊91在應用在第一處理子模塊81和第二處理子模塊82之間??蛇x的,如圖9所示,該壓縮模塊91,包括:分解子模塊911。該分解子模塊911,被配置為分別對每個子全連接層的參數矩陣進行奇異值分解,獲取每個子全連接層的參數矩陣對應的第一參數子矩陣以及第二參數子矩陣。相應的,上述第二處理子模塊82,還被配置為采用至少3個子全連接層中分解子模塊911獲取到的每個子全連接層的參數矩陣對應的第一參數子矩陣以及第二參數子矩陣依次對卷積后的圖像數據對應的二維矩陣進行全連接處理,獲取識別后的圖像數據。關于本公開實施例提供的圖像識別裝置,其中各個模塊執(zhí)行操作的具體方式已經在圖6所示圖像識別方法實施例中進行了詳細描述,此處將不做詳細闡述說明。以上描述了圖像識別裝置的內部功能模塊和結構示意,圖10是根據一示例性實施例示出的一種圖像識別裝置的實體的框圖,如圖10所示,該圖像識別裝置包括:存儲器101和處理器102。存儲器101,用于存儲處理器可執(zhí)行指令。處理器102,用于:獲取待識別圖像數據,并將該待識別圖像數據輸入到預設網絡模型,該預設網絡模型包括至少1類處理層,每類處理層包含至少3個子處理層,該至少3個子處理層按序依次排列;依次采用上述至少1類處理層對所述待識別圖像數據進行處理,獲取識別后的圖像數據;其中,每類處理層中的至少子3個子處理層依次對待識別圖像數據進行處理,且每類處理層中從第3個子處理層開始,每個子處理層的輸入包括:至少2個在先子處理層的輸出。值得說明的是,在圖10所示的圖像識別裝置的實施例中,應理解,該處理器可以是中央處理單元(英文:CentralProcessingUnit,簡稱:CPU),還可以是其他通用處理器、數字信號處理器(英文:DigitalSignalProcessor,簡稱:DSP)、專用集成電路(英文:ApplicationSpecificIntegratedCircuit,簡稱:ASIC)等。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等,而前述的存儲器可以是只讀存儲器(英文:read-onlymemory,縮寫:ROM)、隨機存取存儲器(英文:randomaccessmemory,簡稱:RAM)、快閃存儲器、硬盤或者固態(tài)硬盤。SIM卡也稱為用戶身份識別卡、智能卡,數字移動電話機必須裝上此卡方能使用。即在電腦芯片上存儲了數字移動電話客戶的信息,加密的密鑰以及用戶的電話簿等內容。結合本發(fā)明實施例所公開的方法的步驟可以直接體現為硬件處理器執(zhí)行完成,或者用處理器中的硬件及軟件模塊組合執(zhí)行完成。圖11是根據一示例性實施例示出的一種圖像識別裝置的框圖。例如,圖像識別裝置1000可以是移動電話,計算機,數字廣播終端,消息收發(fā)設備,游戲控制臺,平板設備,醫(yī)療設備,健身設備,個人數字助理等。參照圖11,圖像識別裝置1000可以包括以下一個或多個組件:處理組件1002,存儲器1004,電源組件1006,多媒體組件1008,音頻組件1010,輸入/輸出(I/O)接口1012,傳感器組件1014,以及通信組件1016。處理組件1002通??刂茍D像識別裝置1000的整體操作,諸如與顯示,電話呼叫,數據通信,相機操作和記錄操作相關聯的操作。處理組件1002可以包括一個或多個處理器1020來執(zhí)行指令,以完成上述的方法的全部或部分步驟。此外,處理組件1002可以包括一個或多個模塊,便于處理組件1002和其他組件之間的交互。例如,處理組件1002可以包括多媒體模塊,以方便多媒體組件1008和處理組件1002之間的交互。存儲器1004被配置為存儲各種類型的數據以支持在圖像識別裝置1000的操作。這些數據的示例包括用于在圖像識別裝置1000上操作的任何應用程序或方法的指令,聯系人數據,電話簿數據,消息,圖片,視頻等。存儲器1004可以由任何類型的易失性或非易失性存儲設備或者它們的組合實現,如靜態(tài)隨機存取存儲器(SRAM),電可擦除可編程只讀存儲器(EEPROM),可擦除可編程只讀存儲器(EPROM),可編程只讀存儲器(PROM),只讀存儲器(ROM),磁存儲器,快閃存儲器,磁盤或光盤。電源組件1006為圖像識別裝置1000的各種組件提供電力。電源組件1006可以包括電源管理系統,一個或多個電源,及其他與為圖像識別裝置1000生成、管理和分配電力相關聯的組件。多媒體組件1008包括在圖像識別裝置1000和用戶之間的提供一個輸出接口的屏幕。在一些實施例中,屏幕可以包括液晶顯示器(LCD)和觸摸面板(TP)。如果屏幕包括觸摸面板,屏幕可以被實現為觸摸屏,以接收來自用戶的輸入信號。觸摸面板包括一個或多個觸摸傳感器以感測觸摸、滑動和觸摸面板上的手勢。所述觸摸傳感器可以不僅感測觸摸或滑動動作的邊界,而且還檢測與所述觸摸或滑動操作相關的持續(xù)時間和壓力。在一些實施例中,多媒體組件1008包括一個前置攝像頭和/或后置攝像頭。當圖像識別裝置1000處于操作模式,如拍攝模式或視頻模式時,前置攝像頭和/或后置攝像頭可以接收外部的多媒體數據。每個前置攝像頭和后置攝像頭可以是一個固定的光學透鏡系統或具有焦距和光學變焦能力。音頻組件1010被配置為輸出和/或輸入音頻信號。例如,音頻組件1010包括一個麥克風(MIC),當圖像識別裝置1000處于操作模式,如呼叫模式、記錄模式和語音識別模式時,麥克風被配置為接收外部音頻信號。所接收的音頻信號可以被進一步存儲在存儲器1004或經由通信組件1016發(fā)送。在一些實施例中,音頻組件1010還包括一個揚聲器,用于輸出音頻信號。I/O接口1012為處理組件1002和外圍接口模塊之間提供接口,上述外圍接口模塊可以是鍵盤,點擊輪,按鈕等。這些按鈕可包括但不限于:主頁按鈕、音量按鈕、啟動按鈕和鎖定按鈕。傳感器組件1014包括一個或多個傳感器,用于為圖像識別裝置1000提供各個方面的狀態(tài)評估。例如,傳感器組件1014可以檢測到圖像識別裝置1000的打開/關閉狀態(tài),組件的相對定位,例如所述組件為圖像識別裝置1000的顯示器和小鍵盤,傳感器組件1014還可以檢測圖像識別裝置或圖像識別裝置1000一個組件的位置改變,用戶與圖像識別裝置1000接觸的存在或不存在,圖像識別裝置1000方位或加速/減速和圖像識別裝置1000的溫度變化。傳感器組件1014可以包括接近傳感器,被配置用來在沒有任何的物理接觸時檢測附近物體的存在。傳感器組件1014還可以包括光傳感器,如CMOS或CCD圖像傳感器,用于在成像應用中使用。在一些實施例中,該傳感器組件1014還可以包括加速度傳感器,陀螺儀傳感器,磁傳感器,壓力傳感器或溫度傳感器。通信組件1016被配置為便于圖像識別裝置1000和其他設備之間有線或無線方式的通信。圖像識別裝置1000可以接入基于通信標準的無線網絡,如WiFi,2G或3G,或它們的組合。在一個示例性實施例中,通信組件1016經由廣播信道接收來自外部廣播管理系統的廣播信號或廣播相關信息。在一個示例性實施例中,所述通信組件1016還包括近場通信(NFC)模塊,以促進短程通信。例如,在NFC模塊可基于射頻識別(RFID)技術,紅外數據協會(IrDA)技術,超寬帶(UWB)技術,藍牙(BT)技術和其他技術來實現。在示例性實施例中,圖像識別裝置1000可以被一個或多個應用專用集成電路(ASIC)、數字信號處理器(DSP)、數字信號處理設備(DSPD)、可編程邏輯器件(PLD)、現場可編程門陣列(FPGA)、控制器、微控制器、微處理器或其他電子元件實現,用于執(zhí)行上述方法。在示例性實施例中,還提供了一種包括指令的非臨時性計算機可讀存儲介質,例如包括指令的存儲器1004,上述指令可由圖像識別裝置1000的處理器1020執(zhí)行以完成上述方法。例如,所述非臨時性計算機可讀存儲介質可以是ROM、隨機存取存儲器(RAM)、CD-ROM、磁帶、軟盤和光數據存儲設備等。一種非臨時性計算機可讀存儲介質,當所述存儲介質中的指令由圖像識別裝置1000的處理器執(zhí)行時,使得圖像識別裝置1000能夠執(zhí)行上述各個實施例提供的圖像識別方法。本領域技術人員在考慮說明書及實踐這里公開的發(fā)明后,將容易想到本公開的其它實施方案。本申請旨在涵蓋本公開的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本公開的一般性原理并包括本公開未公開的本
技術領域:
中的公知常識或慣用技術手段。說明書和實施例僅被視為示例性的,本公開的真正范圍和精神由下面的權利要求書指出。應當理解的是,本公開并不局限于上面已經描述并在附圖中示出的精確結構,并且可以在不脫離其范圍進行各種修改和改變。本公開的范圍僅由所附的權利要求書來限制。當前第1頁1 2 3