【技術(shù)領(lǐng)域】
本發(fā)明涉及計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域,特別涉及一種圖像分類(lèi)的方法、裝置和設(shè)備。
背景技術(shù):
深度神經(jīng)網(wǎng)絡(luò)是人工神經(jīng)網(wǎng)絡(luò)的一種,已成為當(dāng)前圖像識(shí)別領(lǐng)域的研究熱點(diǎn)。它的權(quán)值共享網(wǎng)絡(luò)結(jié)構(gòu)使之更類(lèi)似于生物神經(jīng)網(wǎng)絡(luò),降低了網(wǎng)絡(luò)模型的復(fù)雜度。該優(yōu)點(diǎn)在網(wǎng)絡(luò)的輸入是多維圖像時(shí)表現(xiàn)的更為明顯,使圖像可以直接作為網(wǎng)絡(luò)的輸入,避免了傳統(tǒng)識(shí)別算法中復(fù)雜的特征提取和數(shù)據(jù)重建過(guò)程。
隨著深度神經(jīng)網(wǎng)絡(luò)的提出,特別是卷積神經(jīng)網(wǎng)絡(luò)的提出,使得圖像分類(lèi)技術(shù)獲得了巨大的進(jìn)步。該技術(shù)利用卷積層、全連層等構(gòu)建深度神經(jīng)網(wǎng)絡(luò),通過(guò)對(duì)海量的圖像樣本進(jìn)行訓(xùn)練,以獲得一個(gè)對(duì)圖像內(nèi)容可以進(jìn)行描述的神經(jīng)網(wǎng)絡(luò)。在對(duì)圖像進(jìn)行分類(lèi)時(shí),將圖像輸入該神經(jīng)網(wǎng)絡(luò),將神經(jīng)網(wǎng)絡(luò)的最高層的輸出視為對(duì)圖像的視覺(jué)特征,然后在該視覺(jué)特征上利用預(yù)先訓(xùn)練的分類(lèi)模型,對(duì)圖像進(jìn)行分類(lèi)。
深度神經(jīng)網(wǎng)絡(luò)盡管在分類(lèi)性能上相較于傳統(tǒng)方法取得了明顯的進(jìn)步,但是由于網(wǎng)絡(luò)最高層是對(duì)圖像全局內(nèi)容的描述,單純的選用網(wǎng)絡(luò)最高層的輸出作為視覺(jué)特征來(lái)描述圖像,忽略了圖像的細(xì)節(jié)信息,圖像分類(lèi)結(jié)果的準(zhǔn)確度較低。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明提供了一種圖像分類(lèi)的方法、裝置和設(shè)備,以便于提高圖像分類(lèi)的準(zhǔn)確度。
具體技術(shù)方案如下:
本發(fā)明提供了一種圖像分類(lèi)的方法,該方法包括:
獲取輸入圖像;
利用深度神經(jīng)網(wǎng)絡(luò)對(duì)所述輸入圖像進(jìn)行特征提取,得到m層特征圖;
利用分類(lèi)器分別對(duì)其中的n層特征圖進(jìn)行分類(lèi);
對(duì)所述n層特征圖分別對(duì)應(yīng)的分類(lèi)結(jié)果進(jìn)行融合,得到對(duì)所述輸入圖像的分類(lèi)結(jié)果;
其中m≥n,且m和n均為大于1的正整數(shù)。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述深度神經(jīng)網(wǎng)絡(luò)包括卷積神經(jīng)網(wǎng)絡(luò)。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述n層特征圖的各層分別采用p個(gè)分類(lèi)器進(jìn)行分類(lèi),所述p≥1。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,對(duì)所述n層特征圖分別對(duì)應(yīng)的分類(lèi)結(jié)果進(jìn)行融合包括:
將同一類(lèi)別的分類(lèi)器對(duì)各層特征圖進(jìn)行分類(lèi)的分類(lèi)結(jié)果進(jìn)行融合,分別得到各類(lèi)別的分類(lèi)器對(duì)所述輸入圖像的分類(lèi)結(jié)果;
綜合各類(lèi)別的分類(lèi)器對(duì)所述輸入圖像的分類(lèi)結(jié)果,得到所述輸入圖像所屬的類(lèi)別。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述綜合各類(lèi)別的分類(lèi)器對(duì)所述輸入圖像的分類(lèi)結(jié)果,得到所述輸入圖像所屬的類(lèi)別包括:
將所述輸入圖像在各類(lèi)別上的置信度中,置信度最高的若干個(gè)類(lèi)別作為所述輸入圖像所屬的類(lèi)別;或者,
將所述輸入圖像在各類(lèi)別上的置信度中,置信度超過(guò)預(yù)設(shè)閾值的類(lèi)別作為所述輸入圖像所屬的類(lèi)別。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,在利用第i個(gè)分類(lèi)器對(duì)第j層的特征圖進(jìn)行分類(lèi)時(shí),具體包括:
將所述第i個(gè)分類(lèi)器采用滑動(dòng)窗口的方式對(duì)所述第j層的特征圖的各子塊進(jìn)行分類(lèi),分別得到各子塊的分類(lèi)結(jié)果,其中所述各子塊具有與所述第j層的特征 圖相同的深度;
將所述第j層的特征圖的各子塊的分類(lèi)結(jié)果進(jìn)行融合,得到所述第i個(gè)分類(lèi)器對(duì)所述第j層的特征圖的分類(lèi)結(jié)果。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述融合包括:
加權(quán)平均、支持向量機(jī)或boosting。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,該方法還包括:
利用樣本圖像,預(yù)先對(duì)所述分類(lèi)器進(jìn)行訓(xùn)練。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述利用樣本圖像,預(yù)先對(duì)所述分類(lèi)器進(jìn)行訓(xùn)練包括:
利用所述深度神經(jīng)網(wǎng)絡(luò)對(duì)特定類(lèi)別的正樣本圖像和負(fù)樣本圖像進(jìn)行特征提取,分別得到正樣本圖像對(duì)應(yīng)的m層特征圖以及負(fù)樣本圖像對(duì)應(yīng)的m層特征圖;
分別利用正樣本圖像的其中n層特征圖以及負(fù)樣本圖像的其中n層特征圖對(duì)分類(lèi)器進(jìn)行訓(xùn)練,得到所述特定類(lèi)別的分類(lèi)器。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述正樣本圖像包括:樣本圖像中所述特定類(lèi)別的對(duì)象所在的第一圖像區(qū)域;所述負(fù)樣本圖像包括:樣本圖像中除了所述特定類(lèi)別的對(duì)象所在的圖像區(qū)域之外的第二圖像區(qū)域;
所述正樣本圖像對(duì)應(yīng)的m層特征圖包括:利用所述深度神經(jīng)網(wǎng)絡(luò)對(duì)樣本圖像進(jìn)行特征提取后,得到的m層特征圖中與所述第一圖像區(qū)域?qū)?yīng)的特征圖區(qū)域;
所述負(fù)樣本圖像對(duì)應(yīng)的m層特征圖包括:利用所述深度神經(jīng)網(wǎng)絡(luò)對(duì)樣本圖像進(jìn)行特征提取后,得到的m層特征圖中與所述第二圖像區(qū)域?qū)?yīng)的特征圖區(qū)域。
本發(fā)明提供了一種圖像分類(lèi)的裝置,該裝置包括:
輸入單元,用于獲取輸入圖像;
提取單元,用于利用深度神經(jīng)網(wǎng)絡(luò)對(duì)所述輸入圖像進(jìn)行特征提取,得到m層特征圖;
分類(lèi)單元,用于利用分類(lèi)器分別對(duì)其中的n層特征圖進(jìn)行分類(lèi);
融合單元,用于對(duì)所述n層特征圖分別對(duì)應(yīng)的分類(lèi)結(jié)果進(jìn)行融合,得到對(duì)所述輸入圖像的分類(lèi)結(jié)果;
其中m≥n,且m和n均為大于1的正整數(shù)。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述深度神經(jīng)網(wǎng)絡(luò)包括卷積神經(jīng)網(wǎng)絡(luò)。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述n層特征圖的各層分別采用p個(gè)分類(lèi)器進(jìn)行分類(lèi),所述p≥1。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述融合單元,具體用于:
將同一類(lèi)別的分類(lèi)器對(duì)各層特征圖進(jìn)行分類(lèi)的分類(lèi)結(jié)果進(jìn)行融合,分別得到各類(lèi)別的分類(lèi)器對(duì)所述輸入圖像的分類(lèi)結(jié)果;
綜合各類(lèi)別的分類(lèi)器對(duì)所述輸入圖像的分類(lèi)結(jié)果,得到所述輸入圖像所屬的類(lèi)別。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述融合單元在綜合各類(lèi)別的分類(lèi)器對(duì)所述輸入圖像的分類(lèi)結(jié)果時(shí),具體執(zhí)行:
將所述輸入圖像在各類(lèi)別上的置信度中,置信度最高的若干個(gè)類(lèi)別作為所述輸入圖像所屬的類(lèi)別;或者,
將所述輸入圖像在各類(lèi)別上的置信度中,置信度超過(guò)預(yù)設(shè)閾值的類(lèi)別作為所述輸入圖像所屬的類(lèi)別。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述分類(lèi)單元在利用第i個(gè)分類(lèi)器對(duì)第j層的特征圖進(jìn)行分類(lèi)時(shí),具體執(zhí)行:
將所述第i個(gè)分類(lèi)器采用滑動(dòng)窗口的方式對(duì)所述第j層的特征圖的各子塊進(jìn)行分類(lèi),分別得到各子塊的分類(lèi)結(jié)果,其中所述各子塊具有與所述第j層的特征圖相同的深度;
將所述第j層的特征圖的各子塊的分類(lèi)結(jié)果進(jìn)行融合,得到所述第i個(gè)分類(lèi)器對(duì)所述第j層的特征圖的分類(lèi)結(jié)果。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述融合包括:
加權(quán)平均、支持向量機(jī)或boosting。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,該裝置還包括:
訓(xùn)練單元,用于利用樣本圖像,預(yù)先對(duì)所述分類(lèi)器進(jìn)行訓(xùn)練。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述訓(xùn)練單元具體包括:
提取子單元,用于利用所述深度神經(jīng)網(wǎng)絡(luò)對(duì)特定類(lèi)別的正樣本圖像和負(fù)樣本圖像進(jìn)行特征提取,分別得到正樣本圖像對(duì)應(yīng)的m層特征圖以及負(fù)樣本圖像對(duì)應(yīng)的m層特征圖;
訓(xùn)練子單元,用于分別利用正樣本圖像的其中n層特征圖以及負(fù)樣本圖像的其中n層特征圖對(duì)分類(lèi)器進(jìn)行訓(xùn)練,得到所述特定類(lèi)別的分類(lèi)器。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述正樣本圖像包括:樣本圖像中所述特定類(lèi)別的對(duì)象所在的第一圖像區(qū)域;所述負(fù)樣本圖像包括:樣本圖像中除了所述特定類(lèi)別的對(duì)象所在的圖像區(qū)域之外的第二圖像區(qū)域;
所述正樣本圖像對(duì)應(yīng)的m層特征圖包括:利用所述深度神經(jīng)網(wǎng)絡(luò)對(duì)樣本圖像進(jìn)行特征提取后,得到的m層特征圖中與所述第一圖像區(qū)域?qū)?yīng)的特征圖區(qū)域;
所述負(fù)樣本圖像對(duì)應(yīng)的m層特征圖包括:利用所述深度神經(jīng)網(wǎng)絡(luò)對(duì)樣本圖像進(jìn)行特征提取后,得到的m層特征圖中與所述第二圖像區(qū)域?qū)?yīng)的特征圖區(qū)域。
本發(fā)明提供了一種設(shè)備,包括
一個(gè)或者多個(gè)處理器;
存儲(chǔ)器;
一個(gè)或者多個(gè)程序,所述一個(gè)或者多個(gè)程序存儲(chǔ)在所述存儲(chǔ)器中,被所述一個(gè)或者多個(gè)處理器執(zhí)行以實(shí)現(xiàn)如下操作:
獲取輸入圖像;
利用深度神經(jīng)網(wǎng)絡(luò)對(duì)所述輸入圖像進(jìn)行特征提取,得到m層特征圖;
利用分類(lèi)器分別對(duì)其中的n層特征圖進(jìn)行分類(lèi);
對(duì)所述n層特征圖分別對(duì)應(yīng)的分類(lèi)結(jié)果進(jìn)行融合,得到對(duì)所述輸入圖像的分類(lèi)結(jié)果;
其中m≥n,且m和n均為大于1的正整數(shù)。
由以上技術(shù)方案可以看出,本發(fā)明對(duì)圖像的分類(lèi)不再是單純利用深度神經(jīng)網(wǎng)絡(luò)輸出的最高層特征圖,而是利用分類(lèi)器對(duì)深度神經(jīng)網(wǎng)絡(luò)輸出的多層特征圖分別進(jìn)行分類(lèi)后,對(duì)得到的分類(lèi)結(jié)果進(jìn)行融合,最終得到對(duì)輸入圖像的分類(lèi)結(jié)果。這種方式能夠考慮到多層特征圖的特性,提高了圖像分類(lèi)結(jié)果的準(zhǔn)確度。
【附圖說(shuō)明】
圖1為本發(fā)明實(shí)施例提供的主要方法流程圖;
圖2為本發(fā)明實(shí)施例提供的一種對(duì)各層特征圖進(jìn)行分類(lèi)和融合的示意圖;
圖3為本發(fā)明實(shí)施例提供的一種特征圖與其子塊之間關(guān)系的示意圖;
圖4為本發(fā)明實(shí)施例提供的第i個(gè)分類(lèi)器對(duì)第j層特征圖進(jìn)行分類(lèi)的示意圖;
圖5為本發(fā)明實(shí)施例提供的訓(xùn)練分類(lèi)器的方法流程圖;
圖6為本發(fā)明實(shí)施例提供的一個(gè)樣本圖像的實(shí)例圖;
圖7為本發(fā)明實(shí)施例提供的裝置結(jié)構(gòu)圖;
圖8為本發(fā)明實(shí)施例提供的設(shè)備結(jié)構(gòu)圖。
【具體實(shí)施方式】
為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述。
在本發(fā)明實(shí)施例中使用的術(shù)語(yǔ)是僅僅出于描述特定實(shí)施例的目的,而非旨在限制本發(fā)明。在本發(fā)明實(shí)施例和所附權(quán)利要求書(shū)中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。
應(yīng)當(dāng)理解,本文中使用的術(shù)語(yǔ)“和/或”僅僅是一種描述關(guān)聯(lián)對(duì)象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,a和/或b,可以表示:?jiǎn)为?dú)存在a,同時(shí) 存在a和b,單獨(dú)存在b這三種情況。另外,本文中字符“/”,一般表示前后關(guān)聯(lián)對(duì)象是一種“或”的關(guān)系。
取決于語(yǔ)境,如在此所使用的詞語(yǔ)“如果”可以被解釋成為“在……時(shí)”或“當(dāng)……時(shí)”或“響應(yīng)于確定”或“響應(yīng)于檢測(cè)”。類(lèi)似地,取決于語(yǔ)境,短語(yǔ)“如果確定”或“如果檢測(cè)(陳述的條件或事件)”可以被解釋成為“當(dāng)確定時(shí)”或“響應(yīng)于確定”或“當(dāng)檢測(cè)(陳述的條件或事件)時(shí)”或“響應(yīng)于檢測(cè)(陳述的條件或事件)”。
圖1為本發(fā)明實(shí)施例提供的主要方法流程圖,如圖1中所示,該方法可以包括以下步驟:
在101中,獲取輸入圖像。
在本發(fā)明實(shí)施例中,可以將待分類(lèi)的圖像數(shù)據(jù)作為輸入圖像。
在102中,利用深度神經(jīng)網(wǎng)絡(luò)對(duì)輸入圖像進(jìn)行特征提取,得到m層特征圖,m為大于1的正整數(shù)。
本發(fā)明實(shí)施例中采用的深度神經(jīng)網(wǎng)絡(luò)是預(yù)先學(xué)習(xí)得到的深度神經(jīng)網(wǎng)絡(luò),其學(xué)習(xí)過(guò)程以及深度神經(jīng)網(wǎng)絡(luò)的特征提取過(guò)程本發(fā)明并不加以限制,本發(fā)明改進(jìn)之處在于利用深度申請(qǐng)網(wǎng)絡(luò)對(duì)輸入圖像提取特征之后,對(duì)特征的利用方式以及后續(xù)的分類(lèi)方式。其中深度神經(jīng)網(wǎng)絡(luò)可以采用多種類(lèi)型,諸如卷積神經(jīng)網(wǎng)絡(luò)、bp神經(jīng)網(wǎng)絡(luò)、離散hopfield網(wǎng)絡(luò)、lvq神經(jīng)網(wǎng)絡(luò)等。網(wǎng)絡(luò)結(jié)構(gòu)可以采用諸如alexnet、googlenet等已有的經(jīng)典網(wǎng)絡(luò)結(jié)構(gòu),也可以采用自定義的網(wǎng)絡(luò)結(jié)構(gòu)。
深度神經(jīng)網(wǎng)絡(luò)對(duì)輸入圖像進(jìn)行特征提取后,可以形成一種多層次的立方體形式的特征描述,每一層的特征描述稱(chēng)為特征圖,其形式可以表示為w*h*c,其中w和h分別為特征圖的寬和高,c為特征圖的深度(也稱(chēng)為通道數(shù)),也就是該層特征圖的個(gè)數(shù),該層的若干個(gè)特征圖一起構(gòu)成了立方體形式的特征描述。每一層實(shí)際上是經(jīng)過(guò)了一種輸入到輸出的數(shù)學(xué)運(yùn)算,以卷積神經(jīng)網(wǎng)絡(luò)為例,采用的數(shù)學(xué)運(yùn)算為卷積運(yùn)算、池化運(yùn)算等。
在103中,利用分類(lèi)器分別對(duì)其中的n層特征圖進(jìn)行分類(lèi),n為大于1 的正整數(shù),且m≥n。
通常一幅圖像中會(huì)包含很多事物,其顏色、形狀、紋理等視覺(jué)特征大不相同,對(duì)于深度神經(jīng)網(wǎng)絡(luò)而言,其提取的各層特征中,越高層的特征越關(guān)注圖像的整體信息,越低層的特征越關(guān)注圖像的局部信息。與現(xiàn)有實(shí)現(xiàn)方式不同的是,本發(fā)明并不是單純利用最高層的特征來(lái)進(jìn)行分類(lèi),而是利用多個(gè)層次的特征分別進(jìn)行分類(lèi)后,將多個(gè)層次的分類(lèi)結(jié)果進(jìn)行融合,從而得到更加準(zhǔn)確地分類(lèi)。
在本步驟中,可以對(duì)得到的m層特征圖分別利用分類(lèi)器進(jìn)行分類(lèi),也可以對(duì)其中的某些層的特征圖利用分類(lèi)器進(jìn)行分類(lèi),具體對(duì)哪些層的特征圖進(jìn)行分類(lèi)可以根據(jù)實(shí)際的需求或者根據(jù)經(jīng)驗(yàn)進(jìn)行靈活設(shè)置。
在104中,對(duì)上述n層特征圖分別對(duì)應(yīng)的分類(lèi)結(jié)果進(jìn)行融合,得到對(duì)輸入圖像的分類(lèi)結(jié)果。
在步驟103中,針對(duì)每一層的特征圖分別設(shè)置多個(gè)分類(lèi)器,例如分別設(shè)置p個(gè)分類(lèi)器,p≥1。每個(gè)分類(lèi)器可以對(duì)應(yīng)于一種類(lèi)別,可以有多個(gè)分類(lèi)器對(duì)應(yīng)于同一類(lèi)別。也就是說(shuō),針對(duì)每一層的特征圖分別采用p個(gè)分類(lèi)器進(jìn)行分類(lèi),然后對(duì)同一類(lèi)型的分類(lèi)器對(duì)n層特征圖的分類(lèi)結(jié)果進(jìn)行融合,得到各類(lèi)型的分類(lèi)器對(duì)輸入圖像的分類(lèi)結(jié)果,如圖2中所示。依據(jù)各類(lèi)型的分類(lèi)器對(duì)輸入圖像的分類(lèi)結(jié)果,就可以確定出輸入圖像所屬的類(lèi)別。通常,各分類(lèi)器輸出的是置信度可以依據(jù)各類(lèi)別的置信度來(lái)確定輸入圖像所屬的類(lèi)別,例如將置信度最高的若干個(gè)類(lèi)別作為輸入圖像所屬的類(lèi)別,或者將置信度超過(guò)預(yù)設(shè)閾值的類(lèi)別作為輸入圖像所屬的類(lèi)別,等等。
在進(jìn)行融合時(shí),可以采用但不限于加權(quán)平均、支持向量機(jī)或boosting等方式。以加權(quán)平均為例,對(duì)同一類(lèi)型的分類(lèi)器對(duì)n層特征圖的分類(lèi)結(jié)果進(jìn)行融合時(shí),可以將該類(lèi)型的分類(lèi)器對(duì)各層特征圖的分類(lèi)置信度進(jìn)行加權(quán)平均,各層特征圖對(duì)應(yīng)的權(quán)值可以預(yù)先依據(jù)實(shí)際需求或經(jīng)驗(yàn)值進(jìn)行設(shè)置,最終得到一個(gè)總的置信度,該置信度就是輸入圖像在該類(lèi)型上的置信度。
其中,每個(gè)分類(lèi)器進(jìn)行分類(lèi)時(shí),可以將一層的整個(gè)特征圖作為輸入,輸 出的就是該分類(lèi)器對(duì)該層特征圖的分類(lèi)結(jié)果。然而,為了得到更加準(zhǔn)確的分類(lèi)結(jié)果,各分類(lèi)器的輸入可以是特征圖的一個(gè)子塊。如圖3中所示,某一層的特征圖為h*w*c,其中一個(gè)子塊為h’*w’*c,該子塊具有和特征圖相同的深度,但不同的長(zhǎng)和寬。分類(lèi)器采用滑動(dòng)窗口的方式遍歷整個(gè)特征圖的各子塊,得到該分類(lèi)器對(duì)各子塊的分類(lèi)結(jié)果,然后將該分類(lèi)器對(duì)各子塊的分類(lèi)結(jié)果進(jìn)行融合,就得到該分類(lèi)器對(duì)該層特征圖的分類(lèi)結(jié)果。
以第i個(gè)分類(lèi)器對(duì)第j層的特征圖進(jìn)行分類(lèi)為例,該第i個(gè)分類(lèi)器采用滑動(dòng)窗口的方式對(duì)該第j層的特征圖的各子塊進(jìn)行分類(lèi),分別得到各子塊的分類(lèi)結(jié)果;然后將第j層的特征圖的各子塊的分類(lèi)結(jié)果進(jìn)行融合,得到第i個(gè)分類(lèi)器對(duì)第j層的特征圖的分類(lèi)結(jié)果,如圖4所示。其中在將第j層的特征圖的各子塊的分類(lèi)結(jié)果進(jìn)行融合時(shí),也可以采用但不限于加權(quán)平均、支持向量機(jī)或boosting等方式。以加權(quán)平均方式為例,可以依據(jù)各子塊的位置分別設(shè)置對(duì)應(yīng)權(quán)值,也可以設(shè)置為相同的權(quán)值,然后將各子塊的在第i個(gè)分類(lèi)器所對(duì)應(yīng)類(lèi)別上的置信度進(jìn)行加權(quán)平均,得到第j層的特征圖在該類(lèi)別上的置信度。
上述的各分類(lèi)器可以利用樣本圖像進(jìn)行預(yù)先訓(xùn)練得到,具體的訓(xùn)練過(guò)程可以如圖5所示,包括以下步驟:
在501中,利用深度神經(jīng)網(wǎng)絡(luò)對(duì)特定類(lèi)別的正樣本圖像和負(fù)樣本圖像進(jìn)行特征提取,分別正樣本圖像對(duì)應(yīng)的m層特征圖以及負(fù)樣本圖像對(duì)應(yīng)的m層特征圖。
其中,正樣本圖像為確認(rèn)屬于該特定類(lèi)別的圖像,負(fù)樣本圖像為確認(rèn)不屬于該特定類(lèi)別的圖像。作為一種優(yōu)選的實(shí)施方式,也可以將一幅特定類(lèi)別的圖像中,屬于該特定類(lèi)別的對(duì)象所在的圖像區(qū)域作為正樣本圖像,其他圖像區(qū)域作為負(fù)樣本圖像。
舉一個(gè)例子,圖6為一幅貓的圖像,其中虛線框內(nèi)的圖像區(qū)域?yàn)樨堖@一對(duì)象所在的圖像區(qū)域,將該部分圖像區(qū)域作為正樣本圖像,將虛線框之外的圖像區(qū)域作為負(fù)樣本圖像。利用深度神經(jīng)網(wǎng)絡(luò)對(duì)圖6所示的圖像進(jìn)行特征提 取后,形成的各層特征圖中,都存在一個(gè)區(qū)域與輸入圖像(即圖6所示的圖像)中虛線框內(nèi)的區(qū)域(正樣本圖像)對(duì)應(yīng),這部分區(qū)域即為正樣本圖像對(duì)應(yīng)的特征圖;也存在區(qū)域與輸入圖像中虛線框外的區(qū)域(負(fù)樣本圖像)對(duì)應(yīng),這部分區(qū)域即為負(fù)樣本圖像對(duì)應(yīng)的特征圖。
在502中,分別利用正樣本圖像的其中n層特征圖以及負(fù)樣本圖像的其中n層特征圖對(duì)分類(lèi)器進(jìn)行訓(xùn)練,得到該特定類(lèi)別的分類(lèi)器。
訓(xùn)練分類(lèi)器時(shí)使用的其中n層特征圖與圖1中所示的圖像分類(lèi)過(guò)程中使用的其中n層是相互對(duì)應(yīng)的,也就是說(shuō),在訓(xùn)練分類(lèi)器時(shí)使用了哪幾層的特征圖,那么在圖像分類(lèi)過(guò)程中也對(duì)應(yīng)使用這幾層的特征圖。
通過(guò)大量的正樣本圖像和負(fù)樣本圖像的其中n層特征圖,就可以訓(xùn)練得到特定類(lèi)別的分類(lèi)器。本發(fā)明實(shí)施例中采用的分類(lèi)器可以包括但不限于svm(支持向量機(jī))、貝葉斯分類(lèi)器、邏輯回歸分類(lèi)器等等。
接續(xù)上述關(guān)于圖6的例子,將其中n層特征圖中正樣本圖像對(duì)應(yīng)的特征圖區(qū)域以及負(fù)樣本圖像對(duì)應(yīng)的特征圖區(qū)域輸入分類(lèi)器,經(jīng)過(guò)大量的貓的正樣本圖像和負(fù)樣本圖像就可以得到一個(gè)貓的分類(lèi)器。
更細(xì)致地,還可以將圖6所示的圖像中虛線框內(nèi)上半部分作為貓頭的正樣本圖像,其他區(qū)域作為貓頭的負(fù)樣本圖像,經(jīng)過(guò)大量的貓頭的正樣本圖像和負(fù)樣本圖像可以訓(xùn)練得到貓頭的分類(lèi)器。將圖6所示的虛線框內(nèi)下半部分作為貓腳的樣本圖像,其他區(qū)域作為貓腳的負(fù)樣本圖像,經(jīng)過(guò)大量的貓腳的正樣本圖像和負(fù)樣本圖像就可以訓(xùn)練得到一個(gè)貓腳的分類(lèi)器。諸如此類(lèi),貓頭、貓耳朵、貓腳等分類(lèi)器可以構(gòu)成一個(gè)分類(lèi)器組,利用該分類(lèi)器組后續(xù)分別對(duì)輸入圖像進(jìn)行圖像分類(lèi)后,該分類(lèi)器組的分類(lèi)結(jié)果可以綜合確定一個(gè)輸入圖像是否屬于貓的類(lèi)別,從而使得分類(lèi)結(jié)果更加準(zhǔn)確。
以上是對(duì)本發(fā)明所提供方法進(jìn)行的詳細(xì)描述,上述方法的執(zhí)行主體可以為圖像分類(lèi)裝置,該裝置可以位于本地終端的應(yīng)用,或者還可以為位于本地終端的應(yīng)用中的插件或軟件開(kāi)發(fā)工具包(softwaredevelopmentkit,sdk)等功能單元,或者,還可以位于服務(wù)器端,本發(fā)明實(shí)施例對(duì)此不進(jìn)行特別限 定。下面結(jié)合實(shí)施例對(duì)本發(fā)明提供的裝置進(jìn)行詳細(xì)描述。圖7為本發(fā)明實(shí)施例提供的裝置結(jié)構(gòu)圖,如圖7所示,該裝置包括:輸入單元10、提取單元20、分類(lèi)單元30和融合單元40,還可以進(jìn)一步包括訓(xùn)練單元00。各組成單元的主要功能如下:
輸入單元10負(fù)責(zé)獲取輸入圖像,即待分類(lèi)的圖像數(shù)據(jù)。
提取單元20負(fù)責(zé)利用深度神經(jīng)網(wǎng)絡(luò)對(duì)輸入圖像進(jìn)行特征提取,得到m層特征圖,m為大于1的正整數(shù)。本發(fā)明實(shí)施例中采用的深度神經(jīng)網(wǎng)絡(luò)是預(yù)先學(xué)習(xí)得到的深度神經(jīng)網(wǎng)絡(luò),其學(xué)習(xí)過(guò)程以及深度神經(jīng)網(wǎng)絡(luò)的特征提取過(guò)程本發(fā)明并不加以限制,本發(fā)明改進(jìn)之處在于利用深度申請(qǐng)網(wǎng)絡(luò)對(duì)輸入圖像提取特征之后,對(duì)特征的利用方式以及后續(xù)的分類(lèi)方式。其中深度神經(jīng)網(wǎng)絡(luò)可以采用多種類(lèi)型,諸如卷積神經(jīng)網(wǎng)絡(luò)、bp神經(jīng)網(wǎng)絡(luò)、離散hopfield網(wǎng)絡(luò)、lvq神經(jīng)網(wǎng)絡(luò)等。
分類(lèi)單元30負(fù)責(zé)利用分類(lèi)器分別對(duì)其中的n層特征圖進(jìn)行分類(lèi)??梢詫?duì)得到的m層特征圖分別利用分類(lèi)器進(jìn)行分類(lèi),也可以對(duì)其中的某些層的特征圖利用分類(lèi)器進(jìn)行分類(lèi),即m≥n,且n為大于1的正整數(shù),具體對(duì)哪些層的特征圖進(jìn)行分類(lèi)可以根據(jù)實(shí)際的需求或者根據(jù)經(jīng)驗(yàn)進(jìn)行靈活設(shè)置。
融合單元40負(fù)責(zé)對(duì)n層特征圖分別對(duì)應(yīng)的分類(lèi)結(jié)果進(jìn)行融合,得到對(duì)輸入圖像的分類(lèi)結(jié)果。
其中,分類(lèi)單元30在進(jìn)行分類(lèi)時(shí),n層特征圖的各層可以分別采用p個(gè)分類(lèi)器進(jìn)行分類(lèi),p≥1。每個(gè)分類(lèi)器可以對(duì)應(yīng)于一種類(lèi)別,可以有多個(gè)分類(lèi)器對(duì)應(yīng)于同一類(lèi)別。這種情況下,融合單元40可以將同一類(lèi)別的分類(lèi)器對(duì)各層特征圖進(jìn)行分類(lèi)的分類(lèi)結(jié)果進(jìn)行融合,分別得到各類(lèi)別的分類(lèi)器對(duì)輸入圖像的分類(lèi)結(jié)果;再綜合各類(lèi)別的分類(lèi)器對(duì)輸入圖像的分類(lèi)結(jié)果,得到輸入圖像所屬的類(lèi)別。
其中,融合單元40在綜合各類(lèi)別的分類(lèi)器對(duì)輸入圖像的分類(lèi)結(jié)果時(shí),可以輸入圖像在各類(lèi)別上的置信度中,置信度最高的若干個(gè)類(lèi)別作為輸入圖像所屬的類(lèi)別,也可以將輸入圖像在各類(lèi)別上的置信度中,置信度超過(guò)預(yù)設(shè)閾值的類(lèi)別作為輸入圖像所屬的類(lèi)別。
其中,每個(gè)分類(lèi)器進(jìn)行分類(lèi)時(shí),可以將一層的整個(gè)特征圖作為輸入,輸出的就是該分類(lèi)器對(duì)該層特征圖的分類(lèi)結(jié)果。然而,為了得到更加準(zhǔn)確的分類(lèi)結(jié)果,各分類(lèi)器的輸入可以是特征圖的一個(gè)子塊,例如,分類(lèi)單元30在利用第i個(gè)分類(lèi)器對(duì)第j層的特征圖進(jìn)行分類(lèi)時(shí),可以將第i個(gè)分類(lèi)器采用滑動(dòng)窗口的方式對(duì)第j層的特征圖的各子塊進(jìn)行分類(lèi),分別得到各子塊的分類(lèi)結(jié)果,其中各子塊具有與第j層的特征圖相同的深度;再將第j層的特征圖的各子塊的分類(lèi)結(jié)果進(jìn)行融合,得到第i個(gè)分類(lèi)器對(duì)第j層的特征圖的分類(lèi)結(jié)果。
這種實(shí)現(xiàn)方式下,對(duì)分類(lèi)結(jié)果的融合既包括相同類(lèi)型的分類(lèi)器對(duì)每一層特征圖中各子塊的分類(lèi)結(jié)果的融合,又包括對(duì)各層特征圖所對(duì)應(yīng)分類(lèi)結(jié)果的融合,從而獲得更加魯棒和準(zhǔn)確的分類(lèi)結(jié)果。
本發(fā)明實(shí)施例中涉及的融合可以采用但不限于加權(quán)平均、支持向量機(jī)或boosting等方式。
訓(xùn)練單元00負(fù)責(zé)利用樣本圖像,預(yù)先對(duì)分類(lèi)器進(jìn)行訓(xùn)練。其中,訓(xùn)練單元00可以具體包括:提取子單元01和訓(xùn)練子單元02。
提取子單元01負(fù)責(zé)利用深度神經(jīng)網(wǎng)絡(luò)對(duì)特定類(lèi)別的正樣本圖像和負(fù)樣本圖像進(jìn)行特征提取,分別得到正樣本圖像對(duì)應(yīng)的m層特征圖以及負(fù)樣本圖像對(duì)應(yīng)的m層特征圖。
訓(xùn)練子單元02負(fù)責(zé)分別利用正樣本圖像的其中n層特征圖以及負(fù)樣本圖像的其中n層特征圖對(duì)分類(lèi)器進(jìn)行訓(xùn)練,得到特定類(lèi)別的分類(lèi)器。
其中,正樣本圖像為確認(rèn)屬于該特定類(lèi)別的圖像,負(fù)樣本圖像為確認(rèn)不屬于該特定類(lèi)別的圖像。作為一種優(yōu)選的實(shí)施方式,正樣本圖像可以包括:樣本圖像中特定類(lèi)別的對(duì)象所在的第一圖像區(qū)域;負(fù)樣本圖像可以包括:樣本圖像中除了特定類(lèi)別的對(duì)象所在的圖像區(qū)域之外的第二圖像區(qū)域。相應(yīng)地,正樣本圖像對(duì)應(yīng)的m層特征圖包括:利用深度神經(jīng)網(wǎng)絡(luò)對(duì)樣本圖像進(jìn)行特征提取后,得到的m層特征圖中與第一圖像區(qū)域?qū)?yīng)的特征圖區(qū)域;負(fù)樣本圖像對(duì)應(yīng)的m層特征圖包括:利用深度神經(jīng)網(wǎng)絡(luò)對(duì)樣本圖像進(jìn)行特征提取后,得到的m層特征圖中與第二圖像區(qū)域?qū)?yīng)的特征圖區(qū)域。
訓(xùn)練子單元02在訓(xùn)練分類(lèi)器時(shí)使用的其中n層特征圖與分類(lèi)單元30使用的其中n層是相互對(duì)應(yīng)的,也就是說(shuō),在訓(xùn)練分類(lèi)器時(shí)使用了哪幾層的特征圖,那么在圖像分類(lèi)過(guò)程中也對(duì)應(yīng)使用這幾層的特征圖。
本發(fā)明實(shí)施例提供的上述方法和裝置可以以設(shè)置并運(yùn)行于設(shè)備中的計(jì)算機(jī)程序體現(xiàn)。該設(shè)備可以包括一個(gè)或多個(gè)處理器,還包括存儲(chǔ)器和一個(gè)或多個(gè)程序,如圖8中所示。其中該一個(gè)或多個(gè)程序存儲(chǔ)于存儲(chǔ)器中,被上述一個(gè)或多個(gè)處理器執(zhí)行以實(shí)現(xiàn)本發(fā)明上述實(shí)施例中所示的方法流程和/或裝置操作。例如,被上述一個(gè)或多個(gè)處理器執(zhí)行的方法流程,可以包括:
獲取輸入圖像;
利用深度神經(jīng)網(wǎng)絡(luò)對(duì)所述輸入圖像進(jìn)行特征提取,得到m層特征圖;
利用分類(lèi)器分別對(duì)其中的n層特征圖進(jìn)行分類(lèi);
對(duì)所述n層特征圖分別對(duì)應(yīng)的分類(lèi)結(jié)果進(jìn)行融合,得到對(duì)所述輸入圖像的分類(lèi)結(jié)果;
其中m≥n,且m和n均為大于1的正整數(shù)。
本發(fā)明實(shí)施例提供的上述方法和裝置可以適用于多種應(yīng)用場(chǎng)景,例如:
隨著智能終端設(shè)備的普及,用戶(hù)在智能終端設(shè)備上存儲(chǔ)的圖像越來(lái)越多,幫助用戶(hù)管理圖像變得越發(fā)重要。通過(guò)本發(fā)明實(shí)施例提供的上述方法和裝置對(duì)智能終端設(shè)備上的圖像進(jìn)行分類(lèi)后,打上類(lèi)別標(biāo)簽,從而方便用戶(hù)查找和瀏覽智能終端設(shè)備上的圖像。
隨著搜索引擎所提供服務(wù)的越來(lái)越多樣化,搜索引擎所提供的服務(wù)已經(jīng)不僅僅限于網(wǎng)頁(yè)搜索、文本搜索,圖像搜索已經(jīng)成為其中一種非常重要的服務(wù)。對(duì)于搜索引擎抓取到的海量圖像,采用人工標(biāo)注的方式已經(jīng)非常不現(xiàn)實(shí)。因此可以采用本發(fā)明實(shí)施例提供的上述方法和裝置,對(duì)搜索引擎抓取到的圖像進(jìn)行分類(lèi)后,標(biāo)注上類(lèi)別標(biāo)簽,并存儲(chǔ)于數(shù)據(jù)庫(kù),從而用于響應(yīng)終端的圖像搜索請(qǐng)求。
在本發(fā)明所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的裝置和方法,可以通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的, 例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式。
所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以?xún)蓚€(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用硬件加軟件功能單元的形式實(shí)現(xiàn)。
上述以軟件功能單元的形式實(shí)現(xiàn)的集成的單元,可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。上述軟件功能單元存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤(pán)、移動(dòng)硬盤(pán)、只讀存儲(chǔ)器(read-onlymemory,rom)、隨機(jī)存取存儲(chǔ)器(randomaccessmemory,ram)、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。