本發(fā)明涉及圖像處理技術領域,尤其涉及一種圖像分類方法、裝置和計算設備。
背景技術:
數碼設備的快速發(fā)展極大地改變了人們的生活。拍照變得越來越方便,相應地,存儲的照片也越來越多,如何高效地對照片進行管理成為一個現實問題。例如,當存儲的照片很多時,用戶需要按照照片中出現的人臉對照片進行分類,即將出現同一個人的照片歸為同一類,以便于管理。
照片的歸類可以通過聚類算法來實現。然而,經典的無監(jiān)督聚類算法(例如kmeans)往往需要人為指定聚類的類簇數量和類簇中心的初值,這在基于人臉的照片自動分類的應用情景中并不適用。而其他不需要指定類簇數量的聚類算法,例如DBSCAN算法,雖然能夠實現自動分類,但是其是一種基于密度的聚類算法,需要預先將鄰域半徑設定為一個固定的值。聚類結果對鄰域半徑的值很敏感,當數據點的密度分布不均勻時(如圖1所示),會大大降低算法的聚類效果。此外,對應于人臉特征的聚類,不同人的人臉特征有很大差異,使用固定的鄰域半徑往往容易造成兩種情況:過大的鄰域半徑容易將不同的人歸為一類,過小的鄰域半徑容易造成本應被分為同一類的照片被判定為離群或者分為多個類。此外,DBSCAN算法“先聚先得”的邊界點劃分規(guī)則也使得邊界點的劃分情況不明確,容易出現錯誤劃分。
直接使用DBSCAN算法得到的照片分類結果往往不理想。而現有的對DBSCAN算法的改進中大多需要人為干預,例如,通過多次嘗試,將鄰域半徑設置為一個最優(yōu)值來解決聚類結果對鄰域半徑敏感的問題,或人為劃定邊界數據所屬的類別。這些方法加大了用戶的使用負擔,降低了用戶體驗。
技術實現要素:
為此,本發(fā)明提供一種圖像分類方法、裝置和計算設備,以力圖解決或至少緩解上面存在的問題。
根據本發(fā)明的一個方面,提供一種圖像分類方法,在計算設備中執(zhí)行,適于根據圖像中的人臉對圖像進行分類,該方法包括:獲取待分類的多個圖像;識別每個圖像中的人臉,每個人臉對應一個人臉特征向量;采用基于第一鄰域半徑的DBSCAN算法對人臉特征向量進行聚類,得到第一聚類結果;根據第二鄰域半徑對第一聚類結果中的類簇進行合并,得到第二聚類結果,其中,第二鄰域半徑大于第一鄰域半徑;若第二聚類結果中包括離群點,則根據第三鄰域半徑對離群點進行歸類,得到第三聚類結果,其中,第三鄰域半徑大于第一鄰域半徑;根據第三聚類結果對待分類的多個圖像進行分類。
可選地,在根據本發(fā)明的圖像分類方法中,識別每個圖像中的人臉的步驟包括:檢測每個圖像的人臉區(qū)域,采用卷積神經網絡模型提取所述人臉區(qū)域的人臉特征向量。
可選地,在根據本發(fā)明的圖像分類方法中,卷積神經網絡模型的卷積核為16*16,人臉特征向量的維數為256。
可選地,在根據本發(fā)明的圖像分類方法中,在采用基于第一鄰域半徑的DBSCAN算法對人臉特征向量進行聚類時,兩個人臉特征向量的距離按照以下公式計算:
其中,d為人臉特征向量a、b的距離,‖‖表示求2-范數。
可選地,在根據本發(fā)明的圖像分類方法中,根據第二鄰域半徑對第一聚類結果中的類簇進行合并的步驟包括:從第一類簇中取出第一數量的人臉特征向量,構成第一向量集;從第二類簇中取出第二數量的人臉特征向量,構成第二向量集;其中,所述第一類簇和第二類簇為第一聚類結果中的任意兩個類簇;分別計算第一向量集的每一個向量到第二向量集的每一個向量的距離;若距離小于第二鄰域半徑的向量對的數目與向量對總數的比值大于閾值,則合并第一類簇和第二類簇。
可選地,在根據本發(fā)明的圖像分類方法中,根據第三鄰域半徑對離群點進行歸類的步驟包括:計算離群點與目標類簇中的每一個人臉特征向量的距離,其中,所述目標類簇為第二聚類結果中的任意一個類簇;若離群點僅與一個目標類簇中的每一個人臉特征向量的距離均小于第三鄰域半徑,則將離群點歸類于該目標類簇;若離群點與多個目標類簇中的每一個人臉特征向量的距離均小于第三鄰域半徑,則將離群點歸類于平均距離最小的目標類簇。
可選地,在根據本發(fā)明的圖像分類方法中,在根據第三聚類結果對待分類的多個圖像進行分類的步驟之后,還包括:接收用戶對于圖像分類結果的反饋,并根據該反饋來調整圖像分類結果。
根據本發(fā)明的一個方面,提供一種圖像分類裝置,駐留于計算設備中,適于根據圖像中的人臉對圖像進行分類,該裝置包括:讀取模塊,適于獲取待分類的多個圖像;人臉識別模塊,適于識別每個圖像中的人臉,每個人臉對應一個人臉特征向量;第一聚類模塊,適于采用基于第一鄰域半徑的DBSCAN算法對人臉特征向量進行聚類,得到第一聚類結果;第二聚類模塊,適于根據第二鄰域半徑對第一聚類結果中的類簇進行合并,得到第二聚類結果,其中,第二鄰域半徑大于第一鄰域半徑;第三聚類模塊,適于在第二聚類結果中包括離群點時,根據第三鄰域半徑對離群點進行歸類,得到第三聚類結果,以及根據第三聚類結果對待分類的多個圖像進行分類,其中,第三鄰域半徑大于第一鄰域半徑。
可選地,在根據本發(fā)明的圖像分類裝置中,人臉識別模塊進一步適于:檢測每個圖像的人臉區(qū)域,采用卷積神經網絡模型提取所述人臉區(qū)域的人臉特征向量。
可選地,在根據本發(fā)明的圖像分類裝置中,人臉識別模塊適于將所述卷積神經網絡模型的卷積核設為16*16,人臉特征向量的維數為256。
可選地,在根據本發(fā)明的圖像分類裝置中,第一聚類模塊在采用基于第一鄰域半徑的DBSCAN算法對人臉特征向量進行聚類時,適于按照以下公式計算兩個人臉特征向量的距離:
其中,d為人臉特征向量a、b的距離,‖‖表示求2-范數。
可選地,在根據本發(fā)明的圖像分類裝置中,第二聚類模塊適于按照以下步驟對第一聚類結果中的類簇進行合并:從第一類簇中取出第一數量的人臉特征向量,構成第一向量集;從第二類簇中取出第二數量的人臉特征向量,構成第二向量集;其中,所述第一類簇和第二類簇為第一聚類結果中的任意兩個類簇;分別計算第一向量集的每一個向量到第二向量集的每一個向量的距離;若距離小于第二鄰域半徑的向量對的數目與向量對總數的比值大于閾值,則合并第一類簇和第二類簇。
可選地,在根據本發(fā)明的圖像分類裝置中,第三聚類模塊適于按照以下步驟對離群點進行歸類:計算離群點與目標類簇中每一個人臉特征向量的距離,其中,所述目標類簇為第二聚類結果中的任意一個類簇;若離群點僅與一個目標類簇中每一個人臉特征向量的距離均小于第三鄰域半徑,則將離群點歸類于該目標類簇;若離群點與多個目標類簇中的每一個人臉特征向量的距離均小于第三鄰域半徑,則將離群點歸類于平均距離最小的目標類簇。
可選地,在根據本發(fā)明的圖像分類裝置中,還包括修正模塊,適于在第三聚類模塊得出圖像分類結果后,接收用戶對于圖像分類結果的反饋,并根據該反饋來調整圖像分類結果。
根據本發(fā)明的一個方面,提供一種計算設備,包括如上所述的圖像分類裝置。
根據本發(fā)明的技術方案,識別出圖像中的人臉,每個人臉對應于一個人臉特征向量,根據人臉特征向量的聚類結果來確定圖像的分類結果。
本發(fā)明采用多個鄰域半徑(即第一鄰域半徑、第二鄰域半徑和第三鄰域半徑)進行分階段的聚類,有效地改進了DBSCAN算法對鄰域半徑值敏感以及邊界點劃分不明確的缺點,提高了分類的準確率,降低了某些人臉特征向量被錯誤離群(即該人臉特征向量未被歸屬于任何類簇)的概率。此外,在對人臉特征向量進行聚類時,基于兩個人臉特征向量的余弦相似度來確定兩向量的距離,使得兩向量距離的值域為[0,1],因此也使得第一鄰域半徑的值域縮小為[0,1],相對于其他距離度量(例如歐氏距離,其值域為[0,+∞])大大縮小了第一鄰域半徑eps1的取值范圍,在很大程度上緩解了DBSCAN算法對鄰域半徑值敏感的問題。
此外,本發(fā)明也可以接收用戶對于圖像分類結果的反饋,基于該反饋實時改進聚類效果。
附圖說明
為了實現上述以及相關目的,本文結合下面的描述和附圖來描述某些說明性方面,這些方面指示了可以實踐本文所公開的原理的各種方式,并且所有方面及其等效方面旨在落入所要求保護的主題的范圍內。通過結合附圖閱讀下面的詳細描述,本公開的上述以及其它目的、特征和優(yōu)勢將變得更加明顯。遍及本公開,相同的附圖標記通常指代相同的部件或元素。
圖1示出了一種不適用于DBSCAN算法的數據點的分布圖;
圖2示出了根據本發(fā)明一個實施例的計算設備100的結構圖;
圖3示出了根據本發(fā)明一個實施例的圖像分類裝置200的結構圖;以及
圖4示出了根據本發(fā)明一個實施例的圖像分類方法300的流程圖。
具體實施方式
下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現本公開而不應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠將本公開的范圍完整的傳達給本領域的技術人員。
圖2示出了根據本發(fā)明一個實施例的計算設備100的結構圖。計算設備100可以是手機、平板電腦、個人數字助理(PDA)、個人媒體播放器設備、無線網絡瀏覽設備、裝置專用設備、或包括上面任何功能的混合設備。計算設備也可以是桌面計算機、筆記本電腦、服務器、工作站等設備。
如圖2所示,計算設備100中駐留有圖像分類裝置200,使得計算設備100能夠實現圖像分類的功能。圖像分類裝置200可以作為搜索引擎的一個插件駐留于計算設備100的瀏覽器中,或作為一個獨立的軟件安裝于計算設備100中,本發(fā)明對圖像分類裝置200在計算設備100中的存在形式不做限制。
圖3示出了根據本發(fā)明一個實施例的圖像分類裝置200的結構圖。如圖3所示,圖像分類裝置200包括讀取模塊210、人臉識別模塊220、第一聚類模塊230、第二聚類模塊240和第三聚類模塊250。
讀取模塊210適于獲取待分類的多個圖像。
人臉識別模塊220適于識別每個圖像中的人臉,每個人臉對應一個人臉特征向量。若圖像中僅有一個人臉,則識別出該人臉;若圖像中有多個人臉,則需要對該圖像中的每一個人臉均進行識別。因此,一個圖像可以對應于一個或多個人臉特征向量,而一個人臉特征向量唯一對應于一個圖像。由于一個人臉特征向量唯一對應于一個圖像,人臉特征向量的聚類情況即該人臉特征向量所對應的圖像的分類情況。應當指出,在準確分類的情況下,一個包含多個人臉的圖像會同時屬于多個類別。
根據一種實施例,人臉識別模塊220可以檢測每個圖像的人臉區(qū)域,并采用卷積神經網絡模型提取該人臉區(qū)域的人臉特征向量。例如,卷積神經網絡模型的卷積核為16*16,采用該卷積神經網絡模型對檢測到的人臉區(qū)域做卷積,可以得到一個16*16的人臉特征圖,將該特征圖轉化為向量,即為一個256維的人臉特征向量。
第一聚類模塊230適于采用基于第一鄰域半徑的DBSCAN算法對人臉特征向量進行聚類,得到第一聚類結果。
DBSCAN算法是現有算法,其需要設置兩個參數:鄰域半徑和密度閾值,為了敘述方便,將鄰域半徑記為eps,密度閾值記為minPts。DBSCAN算法中有以下幾個基本概念:
鄰域:某個點的鄰域半徑eps以內的區(qū)域為該點的鄰域。
核心點:若某個點的鄰域內所含的點的數目大于等于minPts,則該點為核心點。
邊界點:若某個點位于核心點的鄰域中,但該點本身不是核心點,則該點為邊界點。
離群點:既不是核心點也不是邊界點的點。
直接密度可達:若點q在點p的鄰域內,且點p為核心點,則點q由點p處直接密度可達。
密度可達:給定多個點p1,p2,p3,…,pn,p1=p,pn=q,若對于任意i∈[1,n-1],點p(i+1)由點pi處直接密度可達,則點q由點p處密度可達。
密度相連:若點p和點q均從點o處密度可達,則點p和點q密度相連。
DBSCAN的基本原理是,遍歷每一個點,如果某個點的鄰域中的點的數目大于等于minPts,則該點為核心點,以該點為中心建立一個包括該點和其鄰域中的點的類簇。如果一個類簇中有多個核心點,則合并以這些核心點為中心的類簇,即找到最大的密度相連集合。
在判斷一個點是否為核心點時,需要計算其他點到該點的距離,若有某個點a到該點的距離小于eps,則點a位于該點的鄰域中。顯然,為了實現基于DBSCAN算法的聚類,首先需要定義兩點距離的計算方式。對應于本發(fā)明,即需要定義兩個人臉特征向量的距離的計算方式。根據一種實施例,第一聚類模塊230適于采用以下公式計算兩個人臉特征向量的距離:
其中,d為人臉特征向量a、b的距離,‖ ‖表示求2-范數。對于n維向量a=[x1,x2,…,xn],b=[y1,y2,…,yn],則a、b之間的距離d為:
由上述距離計算公式(1)、(2)可知,向量a、b越相似,其夾角余弦越大,相應地,其距離d越小。此外,基于上述公式,兩個人臉特征向量的距離的值域為[0,1],因此也使得第一鄰域半徑eps1的值域縮小為[0,1],相對于其他距離度量(例如歐氏距離,其值域為[0,+∞])大大縮小了第一鄰域半徑eps1的取值范圍,在很大程度上緩解了DBSCAN算法對鄰域半徑值敏感的問題。
基于上述人臉特征向量的距離計算公式,第一聚類模塊230適于將第一鄰域半徑eps1設置為一個[0,1]之間的數。根據一種實施例,為了使本發(fā)明的分階段的聚類方法更準確,將eps1設置為一個較小的數,例如0.2。當然,在其他的實施例中,也可以將eps1設置為其他數值,本發(fā)明對eps1的取值并無限制,本領域技術人員可以按需求自行設置eps1的值,只要其位于[0,1]即可。
第一聚類模塊230還適于設置minPts的值。根據一種實施例,minPts的值可以根據待分類的圖片的數目進行確定。應當指出,本發(fā)明對minPts的設置方法并無限制。
基于已設置好的第一鄰域半徑eps1和密度閾值minPts,第一聚類模塊230采用DBSCAN算法對人臉特征向量進行聚類,得到第一聚類結果。一般來說,第一聚類結果中包括多個類簇和多個離群點。
在第一聚類模塊230得出第一聚類結果后,由第二聚類模塊240對第一聚類結果進行處理,即進行第二階段的聚類。第二聚類模塊240適于根據第二鄰域半徑eps2對第一聚類結果中的類簇進行合并,得到第二聚類結果,其中,eps2>eps1。
根據一種實施例,第二聚類模塊240從第一聚類結果的多個類簇中隨機選出兩個類簇,為了敘述方便,將這兩個類簇分別記為第一類簇、第二類簇。從第一類簇中取出第一數量的人臉特征向量,構成第一向量集C={c1,c2,...,cm},m為第一數量;從第二類簇中取出第二數量的人臉特征向量,構成第二向量集E={e1,e2,…,en},n為第二數量。第二聚類模塊240可以采用隨機抽取的方式從類簇中取出向量來構成向量集,也可以采用其他算法來取出向量以構成向量集,本發(fā)明對向量的抽取方式不做限制。第一數量和第二數量的值可以相同,也可以不同。根據一種實施例,分別從第一類簇、第二類簇中取出相同數量的人臉特征向量構成第一向量集、第二向量集,第一數量和第二數量的值相同。根據另一種實施例,分別從第一類簇、第二類簇中抽取相同比例的人臉特征向量,這時第一數量和第二數量的值不一定相同。例如,第一類簇中有10個向量,第二類簇中有15個向量,分別從兩個類簇中取出40%的向量,則第一數量為10*0.4=4,第二數量為15*0.4=6。當然,也可以采用其他方法來確定第一數量、第二數量的值,本發(fā)明對第一數量、第二數量的取值并無限制。
隨后,第二聚類模塊240分別計算第一向量集中的每一個向量到第二向量集中的每一個向量的距離。若距離小于eps2的向量對的數目與向量對總數的比值大于閾值,則合并第一類簇和第二類簇。上述過程相當于:分別將第一向量集C中的每一個人臉特征向量與第二向量集E中的每一個人臉特征向量進行配對,得到(m*n)個向量對(ci,ej),其中,1≤i≤m,1≤j≤n;分別計算每個向量對中的兩個人臉特征向量的距離;若距離小于第二鄰域半徑的向量對的數量與(m*n)的比值大于閾值,則合并第一類簇和第二類簇。
例如,第一類簇={向量1;向量2;向量3;向量4},第二類簇={向量5;向量6;向量7;向量8;向量9;向量10},隨機從兩個類簇中取出50%向量,得到第一向量集C={向量1,向量2},第二向量集E={向量6;向量8;向量9},第一數量m=2,第二數量n=3。分別計算(向量1,向量6)、(向量1,向量8)、(向量1,向量9)、(向量2,向量6)、(向量2,向量8)、(向量2,向量9)的距離,若(距離小于eps2的向量對的數目/(2*3))>閾值,則合并第一類簇和第二類簇,得到新的類簇{向量1;向量2;…;向量10}。
在第二聚類模塊240得到第二聚類結果后,由第三聚類模塊250對第二聚類結果進行處理,即進行第三階段的聚類。第三聚類模塊250適于在第二聚類結果中包括離群點時,根據第三鄰域半徑eps3對離群點進行歸類,得到第三聚類結果,以及根據第三聚類結果對待分類的多個圖像進行分類,其中,eps3>eps1。
根據一種實施例,對于某個離群點,第三聚類模塊250適于分別計算該離群點與第二聚類結果的每個類簇中的各向量的距離。若該離群點與某個類簇中每一個人臉特征向量的距離均小于eps3,則將該離群點歸類于該類簇。在實際應用中,可能會出現有多個類簇均滿足要求的情況,即某個離群點與多個類簇中的每一個人臉特征向量的距離均小于eps3。這時,根據一種實施例,將離群點歸類于平均距離最小的類簇。例如,eps3=0.5,某個離群點p與類簇①中的三個向量的距離分別為0.1、0.1、0.4,與類簇②中的兩個向量的距離分別為0.3、0.4,離群點p到類簇①中各向量的平均距離為(0.1+0.1+0.4)/3=0.2,離群點p到類簇②中各向量的平均距離為(0.3+0.4)/2=0.35,離群點p到類簇①中各向量的平均距離更小,因此將離群點p歸類于類簇①。
根據另一種實施例,當存在多個滿足要求的類簇時,也可以采用“先到先得”的思想,將該離群點歸類于最先檢測出的滿足要求的類簇。例如,eps3=0.5,首先檢測出離群點p與類簇①中的三個向量的距離分別為0.1、0.1、0.4,距離均小于eps3,則類簇①是一個滿足要求的類簇,將離群點p歸類于類簇①?;凇跋鹊较鹊谩钡脑瓌t,在首次檢測到滿足要求的類簇①時,離群點p就已經被歸類,后續(xù)也不再繼續(xù)檢驗是否還存在滿足要求的其他類簇,即使存在其他滿足要求的類簇,第三聚類模塊250也不會再針對離群點p進行檢測或重新歸類。
當然,在存在多個滿足要求的類簇時,還可以采用除上述兩種實施例之外的方式來確定離群點的歸屬,本發(fā)明對此并無限制。
在第三聚類模塊250完成所有離群點的歸類后,得到第三聚類結果,并根據第三聚類結果對待分類的多個圖像進行分類。第三聚類結果是人臉特征向量的聚類結果,由于每一個人臉特征向量均唯一對應于一個圖像,因此,第三聚類結果所指示的人臉特征向量的聚類情況即為該人臉特征向量所對應的圖像的分類結果。
根據一種實施例,圖像分類裝置200還包括修正模塊260(圖3中未示出),適于在第三聚類模塊250得出圖像分類結果后,接收用戶對圖像分類結果的反饋,并根據該反饋來調整圖像分類結果。例如,用戶可能將圖像分類結果中的某兩個圖像類別①和②進行合并,得到類別③,那么第三聚類模塊250將接受用戶的上述修改,并且在以后的圖像分類過程中,若新增的待分類圖像與類別①或類別②相似(即新增圖像中的人臉特征向量到類別①中的所有向量的距離均小于eps3或新增圖像中的人臉特征向量到類別②中的所有向量的距離均小于eps3),則將該圖像歸類于類別③,直至用戶做出新的修改。又例如,用戶可能將某幅分類錯誤的圖像移動到另一個類別,第三聚類模塊250將接受用戶的上述修改,并且在下次聚類時,被移動的圖像將始終屬于用戶所指定的類別,直至用戶做出新的修改。若用戶僅將某幅圖像從某個類別中刪除,則第三聚類模塊250將接受用戶的刪除,并且在下次圖像分類時,這幅圖像將不會再被劃分為任何類別,直至用戶做出新的修改。
圖4示出了根據本發(fā)明一個實施例的圖像分類方法300的流程圖。如圖4所示,該方法始于步驟S310。
在步驟S310中,獲取待分類的多個圖像。
隨后,在步驟S320中,識別每個圖像中的人臉,每個人臉對應一個人臉特征向量。
根據一種實施例,為了實現人臉識別,首先檢測每個圖像的人臉區(qū)域,隨后采用卷積神經網絡模型提取所述人臉區(qū)域的人臉特征向量。根據一種實施例,卷積神經網絡模型的卷積核為16*16,相應地,人臉特征向量的維數為256。
隨后,在步驟S330中,采用基于第一鄰域半徑的DBSCAN算法對人臉特征向量進行聚類,得到第一聚類結果。步驟S330的具體實施過程可以參考前述對第一聚類模塊230的描述,此處不再贅述。
隨后,在步驟S340中,根據第二鄰域半徑對第一聚類結果中的類簇進行合并,得到第二聚類結果,其中,第二鄰域半徑>第一鄰域半徑。步驟S340的具體實施過程可以參考前述對第二聚類模塊240的描述,此處不再贅述。
隨后,在步驟S350中,若第二聚類結果中包括離群點,則根據第三鄰域半徑對離群點進行歸類,得到第三聚類結果,其中,第三鄰域半徑>第一鄰域半徑。
隨后,在步驟S360中,根據第三聚類結果對待分類的多個圖像進行分類。步驟S350及步驟S360的具體實施過程可以參考前述對第三聚類模塊250的描述,此處不再贅述。
根據一種實施例,在步驟S360后,還包括步驟S370(圖4中未示出)。在步驟S370中,接收用戶對于圖像分類結果的反饋,并根據該反饋來調整圖像分類結果。步驟S370的具體實施過程可以參考前述對修正模塊260的描述,此處不再贅述。
A6:A4或5所述的圖像分類方法,其中,所述根據第三鄰域半徑對離群點進行歸類的步驟包括:計算離群點與目標類簇中的每一個人臉特征向量的距離,其中,所述目標類簇為第二聚類結果中的任意一個類簇;若離群點僅與一個目標類簇中的每一個人臉特征向量的距離均小于第三鄰域半徑,則將離群點歸類于該目標類簇;若離群點與多個目標類簇中的每一個人臉特征向量的距離均小于第三鄰域半徑,則將離群點歸類于平均距離最小的目標類簇。
A7:A1所述的圖像分類方法,其中,在所述根據第三聚類結果對待分類的多個圖像進行分類的步驟之后,還包括:接收用戶對于圖像分類結果的反饋,并根據該反饋來調整圖像分類結果。
B12:B11所述的圖像分類裝置,其中,所述第二聚類模塊適于按照以下步驟對第一聚類結果中的類簇進行合并:從第一類簇中取出第一數量的人臉特征向量,構成第一向量集;從第二類簇中取出第二數量的人臉特征向量,構成第二向量集;其中,所述第一類簇和第二類簇為第一聚類結果中的任意兩個類簇;分別計算第一向量集的每一個向量到第二向量集的每一個向量的距離;若距離小于第二鄰域半徑的向量對的數目與向量對總數的比值大于閾值,則合并第一類簇和第二類簇。
B13:B11或12所述的圖像分類裝置,其中,所述第三聚類模塊適于按照以下步驟對離群點進行歸類:計算離群點與目標類簇中每一個人臉特征向量的距離,其中,所述目標類簇為第二聚類結果中的任意一個類簇;若離群點僅與一個目標類簇中每一個人臉特征向量的距離均小于第三鄰域半徑,則將離群點歸類于該目標類簇;若離群點與多個目標類簇中的每一個人臉特征向量的距離均小于第三鄰域半徑,則將離群點歸類于平均距離最小的目標類簇。
B14:B8所述的圖像分類裝置,其中,還包括修正模塊,適于在第三聚類模塊得出圖像分類結果后,接收用戶對于圖像分類結果的反饋,并根據該反饋來調整圖像分類結果。
在此處所提供的說明書中,算法和顯示不與任何特定計算機、虛擬系統(tǒng)或者其它設備固有相關。各種通用系統(tǒng)也可以與本發(fā)明的示例一起使用。根據上面的描述,構造這類系統(tǒng)所要求的結構是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應當明白,可以利用各種編程語言實現在此描述的本發(fā)明的內容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實施方式。
在此處所提供的說明書中,說明了大量具體細節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細節(jié)的情況下被實踐。在一些實例中,并未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。
類似地,應當理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應將該公開的方法解釋成反映如下意圖:即所要求保護的本發(fā)明要求比在每個權利要求中所明確記載的特征更多特征。更確切地說,如下面的權利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循具體實施方式的權利要求書由此明確地并入該具體實施方式,其中每個權利要求本身都作為本發(fā)明的單獨實施例。
本領域那些技術人員應當理解在本文所公開的示例中的設備的模塊或單元或組件可以布置在如該實施例中所描述的設備中,或者可替換地可以定位在與該示例中的設備不同的一個或多個設備中。前述示例中的模塊可以組合為一個模塊或者此外可以分成多個子模塊。
本領域那些技術人員可以理解,可以對實施例中的設備中的模塊進行自適應性地改變并且把它們設置在與該實施例不同的一個或多個設備中。可以把實施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
此外,本領域的技術人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內并且形成不同的實施例。例如,在下面的權利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。
此外,所述實施例中的一些在此被描述成可以由計算機系統(tǒng)的處理器或者由執(zhí)行所述功能的其它裝置實施的方法或方法元素的組合。因此,具有用于實施所述方法或方法元素的必要指令的處理器形成用于實施該方法或方法元素的裝置。此外,裝置實施例的在此所述的元素是如下裝置的例子:該裝置用于實施由為了實施該發(fā)明的目的的元素所執(zhí)行的功能。
如在此所使用的那樣,除非另行規(guī)定,使用序數詞“第一”、“第二”、“第三”等等來描述普通對象僅僅表示涉及類似對象的不同實例,并且并不意圖暗示這樣被描述的對象必須具有時間上、空間上、排序方面或者以任意其它方式的給定順序。
盡管根據有限數量的實施例描述了本發(fā)明,但是受益于上面的描述,本技術領域內的技術人員明白,在由此描述的本發(fā)明的范圍內,可以設想其它實施例。此外,應當注意,本說明書中使用的語言主要是為了可讀性和教導的目的而選擇的,而不是為了解釋或者限定本發(fā)明的主題而選擇的。因此,在不偏離所附權利要求書的范圍和精神的情況下,對于本技術領域的普通技術人員來說許多修改和變更都是顯而易見的。對于本發(fā)明的范圍,對本發(fā)明所做的公開是說明性的,而非限制性的,本發(fā)明的范圍由所附權利要求書限定。