圖像處理方法及裝置、電子設備和計算機可讀存儲介質與流程
1.本公開的實施例涉及一種圖像處理方法、圖像處理裝置、電子設備和計算機可讀存儲介質。
背景技術:
2.隨著計算機技術的快速發展,手機、電腦等電子設備越來越多地融入人們的生活和工作中,并且電子設備的功能也越來越豐富。在一些場景中,電子設備需要對用戶的臉部等對象進行特征信息檢測。例如,在人臉打卡場景中,可以采集用戶的臉部圖像,根據臉部圖像確定臉部的特征信息,進而根據特征信息識別用戶,完成打卡。
技術實現要素:
3.本公開至少一個實施例提供一種圖像處理方法,包括:獲取被檢測圖像,其中,所述被檢測圖像包括目標對象;將所述被檢測圖像輸入圖像檢測模型,得到所述圖像檢測模型的輸出結果,其中,所述圖像檢測模型的輸出結果包括所述目標對象的特征向量,所述特征向量用于識別所述目標對象;其中,所述圖像檢測模型包括m個第一子模型和第二子模型;將所述被檢測圖像輸入圖像檢測模型,得到所述圖像檢測模型的輸出結果,包括:將所述被檢測圖像分別輸入所述m個第一子模型;將所述m個第一子模型中的n個第一子模型分別對應的n個預定網絡層的結果輸入所述第二子模型,得到所述第二子模型的輸出結果,其中,所述第二子模型的輸出結果包括所述目標對象的特征向量;其中,m為正整數,n為小于或等于m的正整數。
4.例如,在本公開一實施例提供的圖像處理方法中,所述目標對象為臉部。
5.例如,本公開一實施例提供的圖像處理方法還包括:將所述目標對象的特征向量與數據庫中的多個特征向量進行比對,以從所述多個特征向量中確定與所述目標對象的特征向量滿足距離條件的目標特征向量,將所述目標特征向量對應的標簽信息作為所述目標對象的識別結果。
6.例如,在本公開一實施例提供的圖像處理方法中,所述m個第一子模型中的每個包括依次連接的第一輸入層、多個第一中間層和第一輸出層,所述n個第一子模型中的每個第一子模型對應的預定網絡層為所述每個第一子模型中的多個第一中間層中的一層或者所述每個第一子模型中的第一輸出層;所述第二子模型包括依次連接的第二輸入層、多個第二中間層和第二輸出層。
7.例如,在本公開一實施例提供的圖像處理方法中,所述n個預定網絡層分別為所述n個第一子模型中具有相同維度的結果的層。
8.例如,在本公開一實施例提供的圖像處理方法中,所述多個第一中間層包括依次連接的多個深度卷積層;或者所述多個第一中間層包括依次連接的多個深度卷積層和多個反卷積層;所述多個第二中間層包括依次連接的多個深度卷積層;或者所述多個第二中間層包括依次連接的多個深度卷積層和多個反卷積層。
9.例如,在本公開一實施例提供的圖像處理方法中,將所述m個第一子模型中的n個第一子模型分別對應的n個預定網絡層的結果輸入所述第二子模型,包括:對所述n個預定網絡層的結果進行運算,得到運算結果;將所述運算結果輸入所述第二子模型。
10.例如,在本公開一實施例提供的圖像處理方法中,所述運算包括乘法運算或加法運算;其中,所述n個預定網絡層的結果的維度相同。
11.例如,在本公開一實施例提供的圖像處理方法中,所述圖像檢測模型的輸出結果還包括所述m個第一子模型分別對應的m個子模型輸出結果,其中,所述m個子模型輸出結果分別對應m種類型的特征。
12.例如,在本公開一實施例提供的圖像處理方法中,所述m個子模型輸出結果包括熱圖特征、檢測框特征和關鍵點特征中的至少一個。
13.例如,本公開一實施例提供的圖像處理方法還包括:獲取多個樣本圖像和所述多個樣本圖像分別對應的多個標簽數據,其中,每個所述樣本圖像包括樣本對象;基于所述多個樣本圖像和所述多個標簽數據,對初始模型的參數進行更新迭代,直至滿足訓練完成條件,將訓練完成的初始模型作為所述圖像檢測模型。
14.例如,在本公開一實施例提供的圖像處理方法中,基于所述多個樣本圖像和所述多個標簽數據,對初始模型的參數進行更新迭代,包括:針對每個所述樣本圖像執行以下操作:將所述樣本圖像輸入所述初始模型,得到所述初始模型的輸出結果,其中,所述初始模型的輸出結果包括所述樣本圖像中的樣本對象的初始特征向量;根據所述初始模型的輸出結果和所述樣本圖像對應的標簽數據,計算得到損失信息;基于所述損失信息,更新所述初始模型的參數;其中,所述初始模型包括m個第一初始子模型和第二初始子模型;將所述樣本圖像輸入所述初始模型,得到所述初始模型的輸出結果,包括:將所述樣本圖像分別輸入所述m個第一初始子模型;將所述m個第一初始子模型中的n個第一初始子模型分別對應的n個預定網絡層的結果輸入所述第二初始子模型,得到所述第二初始子模型的輸出結果,所述第二初始子模型的輸出結果包括所述樣本圖像中的樣本對象的初始特征向量。
15.例如,在本公開一實施例提供的圖像處理方法中,所述初始模型的輸出結果還包括所述m個第一初始子模型分別對應的m個初始子模型輸出結果;根據所述初始模型的輸出結果和所述樣本圖像對應的標簽數據,計算得到損失信息,包括:利用損失函數,對所述m個初始子模型輸出結果、所述第二初始子模型的輸出結果和所述標簽數據進行運算,得到所述損失信息。
16.本公開至少一個實施例提供一種圖像處理裝置,包括獲取模塊和檢測模塊,獲取模塊配置為獲取被檢測圖像,其中,所述被檢測圖像包括目標對象;檢測模塊配置為將所述被檢測圖像輸入圖像檢測模型,得到所述圖像檢測模型的輸出結果,其中,所述圖像檢測模型的輸出結果包括所述目標對象的特征向量,所述特征向量用于識別所述目標對象;其中,所述圖像檢測模型包括m個第一子模型和第二子模型;所述檢測模塊進一步配置為:將所述被檢測圖像分別輸入所述m個第一子模型;將所述m個第一子模型中的n個第一子模型分別對應的n個預定網絡層的結果輸入所述第二子模型,得到所述第二子模型的輸出結果,其中,所述第二子模型的輸出結果包括所述目標對象的特征向量;其中,m為正整數,n為小于或等于m的正整數。
17.本公開至少一個實施例提供一種電子設備,包括拍攝裝置和圖像處理裝置,拍攝
裝置配置為拍攝被檢測圖像,其中,所述被檢測圖像包括目標對象;圖像處理裝置,配置為接收所述被檢測圖像,并基于所述被檢測圖像執行本公開任一實施例提供的圖像處理方法。
18.本公開至少一個實施例提供一種電子設備,包括處理器;存儲器,包括一個或多個計算機程序模塊;其中,所述一個或多個計算機程序模塊被存儲在所述存儲器中并被配置為由所述處理器執行,所述一個或多個計算機程序模塊包括用于實現本公開任一實施例提供的圖像處理方法的指令。
19.本公開至少一個實施例提供一種計算機可讀存儲介質,存儲有非暫時性計算機可讀指令,當所述非暫時性計算機可讀指令由計算機執行時實現本公開任一實施例提供的圖像處理方法。
附圖說明
20.為了更清楚地說明本公開實施例的技術方案,下面將對實施例的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅涉及本公開的一些實施例,而非對本公開的限制。
21.圖1a示出了本公開至少一實施例提供的一種圖像處理方法的流程圖;
22.圖1b示出了圖1a所示的步驟s120的一個示例的流程圖;
23.圖2示出了本公開至少一實施例提供的一種圖像檢測模型的示意圖;
24.圖3示出了本公開至少一實施例提供的一種熱圖的示意圖;
25.圖4a示出了本公開至少一實施例提供的一種第一子模型的示意圖;
26.圖4b示出了本公開至少一實施例提供的另一種第一子模型的示意圖;
27.圖5示出了本公開至少一實施例提供的一種初始模型的示意圖;
28.圖6為本公開至少一實施例提供的一種圖像處理裝置的示意性框圖;
29.圖7a為本公開至少一實施例提供的一種電子設備的示意性框圖;
30.圖7b為本公開至少一實施例提供的另一種電子設備的示意性框圖;
31.圖8為本公開至少一實施例提供的一種非瞬時性計算機可讀存儲介質的示意圖;以及
32.圖9為本公開至少一實施例提供的一種硬件環境的示意圖。
具體實施方式
33.為使本公開實施例的目的、技術方案和優點更加清楚,下面將結合本公開實施例的附圖,對本公開實施例的技術方案進行清楚、完整地描述。顯然,所描述的實施例是本公開的一部分實施例,而不是全部的實施例?;谒枋龅谋竟_的實施例,本領域普通技術人員在無需創造性勞動的前提下所獲得的所有其他實施例,都屬于本公開保護的范圍。
34.除非另外定義,本公開使用的技術術語或者科學術語應當為本公開所屬領域內具有一般技能的人士所理解的通常意義。本公開中使用的“第一”、“第二”以及類似的詞語并不表示任何順序、數量或者重要性,而只是用來區分不同的組成部分。同樣,“一個”、“一”或者“該”等類似詞語也不表示數量限制,而是表示存在至少一個?!鞍ā被蛘摺鞍钡阮愃频脑~語意指出現該詞前面的元件或者物件涵蓋出現在該詞后面列舉的元件或者物件及其等同,而不排除其他元件或者物件。“連接”或者“相連”等類似的詞語并非限定于物理的或
者機械的連接,而是可以包括電性的連接,不管是直接的還是間接的?!吧稀?、“下”、“左”、“右”等僅用于表示相對位置關系,當被描述對象的絕對位置改變后,則該相對位置關系也可能相應地改變。
35.發明人發現在根據用戶的臉部圖像檢測臉部的特征向量時,通常采用兩階段檢測,兩階段檢測包括兩個階段,即人臉檢測和人臉識別,例如,首先將臉部圖像輸入第一個模型進行人臉檢測,得到人臉的若干個檢測框;然后,從臉部圖像中截取這若干個檢測框中的圖片;再將截取的若干張圖片送入到第二個模型中進行人臉識別,以提取得到特征向量。在這一方式中,需要經過兩個單獨的模型,并且在兩個模型中間需要進行圖片截取操作。因此,這種兩階段的檢測方式耗時耗算力,檢測速度慢,在人臉打卡等場景中不能滿足實時性的要求。并且,隨著邊緣端部署的應用廣泛,希望邊緣端能夠承載盡可能多的模型,因此需要減少與壓縮模型。
36.本公開至少一個實施例提供一種圖像處理方法、圖像處理裝置、電子設備和計算機可讀存儲介質。該圖像處理方法包括:獲取被檢測圖像,被檢測圖像包括目標對象;將被檢測圖像輸入圖像檢測模型,得到圖像檢測模型的輸出結果,圖像檢測模型的輸出結果包括目標對象的特征向量,特征向量用于識別目標對象;圖像檢測模型包括m個第一子模型和第二子模型;將被檢測圖像輸入圖像檢測模型,得到圖像檢測模型的輸出結果,包括:將被檢測圖像分別輸入m個第一子模型;將m個第一子模型中的n個第一子模型分別對應的n個預定網絡層的結果輸入第二子模型,得到第二子模型的輸出結果,第二子模型的輸出結果包括目標對象的特征向量;其中,m為正整數,n為小于或等于m的正整數。
37.根據該圖像處理方法,將被檢測圖像輸入圖像檢測模型,根據圖像檢測模型可以直接得到被檢測圖像中的目標對象的特征向量,而無需再從原圖(即被檢測圖像)中截取圖片,實現了一階段檢測。因此,相比于兩階段檢測,本公開實施例的圖像處理方法,可以節省時間和算力,檢測速度加快,更能夠滿足實時性的要求。
38.需要說明的是,在本公開的實施例中,“一階段檢測”可以表示將檢測操作和識別操作(例如,當應用于人臉識別的場景時,檢測操作為人臉檢測,例如獲得人臉檢測框等;識別操作為人臉識別,例如獲得用于人臉識別的特征向量)通過同一個模型實現的。例如,在人臉識別的場景中,可以通過圖像檢測模型處理人臉圖像,從而直接提取到人臉的特征向量,特征向量用于實現對人臉的識別。
39.圖1a示出了本公開至少一實施例提供的一種圖像處理方法的流程圖,圖1b示出了圖1a所示的步驟s120的一個示例的流程圖。
40.如圖1a所示,該圖像處理方法可以包括步驟s110~s120。
41.步驟s110:獲取被檢測圖像,被檢測圖像包括目標對象。
42.步驟s120:將被檢測圖像輸入圖像檢測模型,得到圖像檢測模型的輸出結果,圖像檢測模型的輸出結果包括目標對象的特征向量,特征向量用于識別目標對象。
43.例如,圖像檢測模型包括m個第一子模型和第二子模型。如圖1b所示,步驟s120可以包括步驟s121~s122。
44.步驟s121:將被檢測圖像分別輸入m個第一子模型。
45.步驟s122:將m個第一子模型中的n個第一子模型分別對應的n個預定網絡層的結果輸入第二子模型,得到第二子模型的輸出結果,其中,第二子模型的輸出結果包括目標對
象的特征向量。
46.例如,m為正整數,n為小于或等于m的正整數。
47.例如,在步驟s110中,可以通過圖像采集的方式獲取被檢測圖像,被檢測圖像中的目標對象可以是臉部。臉部可以是人臉,在本公開的實施例中,以目標對象是人臉為例進行說明。需要說明的是,在實際應用中,可以根據實際需要來設置目標對象的類型,除了人臉以外,目標對象例如還可以是動物的臉部或者其他需要檢測特征向量的對象。
48.例如,在一些場景中(例如打卡場景),被檢測圖像中的目標對象的數量為一,即一張被檢測圖像包含一個目標對象。若被檢測圖像中包含兩個或以上的對象,則可以從該兩個或以上的對象中選取一個對象作為目標對象,忽略其他對象,例如可以選取與被檢測圖像的中心點距離最近的對象作為目標對象,或者可以選取面積占比最大的對象作為目標對象。
49.例如,圖像檢測模型可以是神經網絡模型,可以通過樣本預先對圖像檢測模型進行訓練,得到訓練好的圖像檢測模型。在步驟s120中,將被檢測圖像輸入該訓練好的圖像檢測模型中,以得到目標對象的特征向量。
50.例如,特征向量可以包含目標對象的輪廓信息、距離信息、曲率信息等信息中的至少一種。在目標對象為人臉的情況下,特征向量例如是對人臉及其多個臉部器官(眼睛、鼻子、嘴巴等)各自的特征和/或人臉及其多個臉部器官之間的結構關系的描述。例如,輪廓信息可以包括臉部整體輪廓信息和/或臉部器官的輪廓信息等,輪廓信息可以通過輪廓上關鍵點的坐標來表征。距離信息可以包括多個臉部器官之間的距離和/或臉部器官與人臉整體輪廓之間的距離。曲率信息例如可以包括人臉整體輪廓的曲率和/或臉部器官的輪廓的曲率等。
51.圖2示出了本公開至少一實施例提供的一種圖像檢測模型的示意圖。
52.如圖2所示,圖像檢測模型例如包括子模型a1、子模型a2、子模型a3和子模型b,該子模型a1、a2和a3中的每個可以作為一個第一子模型,子模型b可以作為第二子模型。每個第一子模型和第二子模型例如可以是神經網絡模型,均包括多個網絡層。將待檢測圖像分別輸入子模型a1、子模型a2、子模型a3中,以分別利用各個第一子模型的多個網絡層依次對被檢測圖像進行計算。對于每個第一子模型,被檢測圖像經過第一子模型的每個網絡層的計算處理后可以得到對應該網絡層的結果(結果可以是向量,以下也將結果稱為特征圖)。特征圖的尺寸與被檢測圖像的原始尺寸以及各個網絡層的卷積核的尺寸相關。可以將子模型a1、子模型a2、子模型a3各自的預定網絡層的計算結果(即特征圖)輸入至子模型b,經過子模型b的多個網絡層的處理后,可以得到被檢測圖像中的目標對象的特征向量。
53.例如,圖像檢測模型的輸出結果還包括m個第一子模型分別對應的m個子模型輸出結果,其中,m個子模型輸出結果分別對應m種類型的特征。例如,m個子模型輸出結果包括熱圖特征、檢測框特征和關鍵點特征中的至少一個。
54.例如,每個第一子模型輸出至少一種類型的特征,并且各個第一子模型輸出的特征的類型各不相同。例如,如圖2所示,子模型a1可以輸出熱圖特征,子模型a2可以輸出檢測框特征,子模型a3輸出可以關鍵點特征。例如,在得到一個或多個第一子模型的輸出結果后,可以向用戶提供一個或多個第一子模型的輸出結果。
55.例如,將被檢測圖像輸入子模型a1,子模型a1可以輸出多張熱圖,每張熱圖可以示
出一個關鍵點,例如,每張熱圖中數值最高的位置即表示該熱圖對應的關鍵點的位置。圖3示出了本公開至少一實施例提供的一種熱圖的示意圖,圖3的(a)部分表示被檢測圖像,(b)部分表示一張熱圖,(c)部分為(a)部分與(b)部分疊加的效果圖像。如圖3所示,將(a)部分的被檢測圖像輸入子模型a1后,子模型a1可以輸出多張熱圖,每張熱圖可以包含一個關鍵點,(b)部分示出的熱圖例如表示嘴巴處的關鍵點,該熱圖中的各個坐標位置具有對應的熱量值,并通過不同的階或顏來表示不同的熱量值。例如,圖3的(b)部分中高亮的位置p處的熱量值最高,可以將該高亮位置p作為熱圖的一個關鍵點。
56.例如,將被檢測圖像輸入子模型a2,子模型a2可以輸出關于目標對象的一個或多個檢測框(例如臉部檢測框)。將被檢測圖像輸入子模型a3,子模型a2可以輸出關于目標對象的一個或多個關鍵點的位置信息。
57.例如,在一些實施例中,在得到一個或多個第一子模型的輸出結果后,可以將一個或多個第一子模型的輸出結果展示給用戶,以作參考。在一些實施例中,可以將一個或多個第一子模型的輸出結果與被檢測圖像疊加展示給用戶,例如,在被檢測圖像上疊加人臉檢測框和關鍵點等特征,以豐富視覺效果,提高用戶體驗。
58.例如,n可以等于m,即可以將全部m個第一子模型的預定網絡層的結果均輸入第二子模型;或者,n可以小于m,即可以將m個第一子模型中的部分第一子模型的預定網絡層的結果輸入第二子模型。
59.例如,以上實施例中以m=3為例進行說明,但是,本公開并不限于此,m可以是其他數值,例如,m=1,或者m=2,或者m》3,m的數值可以根據實際需求而定。
60.例如,以上實施例中以第二子模型的數量為一為例進行說明,但是在實際應用中,也可以根據實際需求,設置兩個或多個第二子模型,即可以將n個第一子模型的預定網絡層的結果同時輸入兩個或多個第二子模型中,不同的第二子模型例如可以輸出不同的特征向量。
61.例如,在訓練圖像檢測模型時,圖像檢測模型包含的各個子模型(例如m個第一子模型和第二子模型)一起訓練。例如,在訓練時,圖像檢測模型的損失信息基于m個第一子模型的輸出(例如,熱圖、檢測框和關鍵點)和第二子模型的輸出(特征向量)共同計算得到,并利用該損失信息同時對圖像檢測模型的參數(即每個第一子模型的參數和第二子模型的參數)進行調整。在m個第一子模型和第二子模型的相互影響下,可以使得m個第一子模型的各個網絡層的計算結果不僅包含目標對象的位置信息也可以包含原圖中目標對象的特征信息,因而無需再去原圖中截取圖片,直接將包含原圖特征信息的特征圖輸入第二子模型,即可得到目標對象的特征向量。
62.根據本公開實施例的圖像處理方法,將被檢測圖像輸入圖像檢測模型,根據圖像檢測模型可以直接得到被檢測圖像中的目標對象的特征向量,而無需再從原圖截取圖片,實現了一階段檢測。因此,相比于兩階段檢測,本公開實施例的圖像處理方法,可以節省時間和算力,檢測速度加快,更能夠滿足實時性的要求。
63.圖4a示出了本公開至少一實施例提供的一種第一子模型的示意圖,圖4b示出了本公開至少一實施例提供的另一種第一子模型的示意圖。
64.如圖4a和圖4b所示,例如,m個第一子模型中的每個可以包括依次連接的第一輸入層、多個第一中間層和第一輸出層。在一些實施例中,如圖4a所示,多個第一中間層可以包
括依次連接的多個深度卷積層(深度卷積層1~深度卷積層n,n為大于1的整數)。在另一些實施例中,如圖4b所示,多個第一中間層可以包括依次連接的多個深度卷積層(深度卷積層1~深度卷積層n,n為大于1的整數)和多個反卷積層(反卷積層1~反卷積層m,m為大于1的整數,m和n相等或不相等,例如m可以小于n)。
65.例如,深度卷積層可以執行深度可分離卷積操作。
66.例如,圖4a示出的是一種基于深度卷積層的網絡結構,該網絡結構例如適用于對圖像進行檢測、分類、特征提取等方向。圖4b示出的是一種基于深度卷積層并增加反卷積層的網絡結構,該網絡結構例如適合用于對圖像進行分割,并且由于加入了反卷計算,可以使得該網絡結構輸出的特征圖的尺寸較大,即輸出結果的尺寸較大。
67.例如,對于各個第一子模型,可以根據輸出結果的尺寸大小,使用圖4a和圖4b所示的網絡結構中的一種。例如,子模型a1輸出熱圖特征,由于熱圖特征的尺寸較大,因此,子模型a1可以采用圖4b所示的網絡結構。對于輸出結果的尺寸較小的子模型(例如子模型a2)可以采用圖4a所示的網絡結構。
68.例如,每個第一子模型均包含輸入層與輸出層,因為不能保證所有子模塊的輸入與輸出都是一致的,因此輸入層和輸出層的形式可以根據實際需求而定,本公開對此不做限制。由于每個第一子模型均包含完整的模型結構(輸入層、中間層和輸出層),訓練完成的圖像檢測模型的多個第一子模型和第二子模型互不影響,因此,對于訓練完成的圖像檢測模型,在需要時,可以將圖像檢測模型的一個或多個第一子模型或第二子模型拆分出來,并將拆分出來的第一子模型或第二子模型作為單獨的網絡模型使用。例如,在某一場景中,需要獲取檢測框,則可以將圖像檢測模型中的子模型a2拆分出來,作為一個單獨的網絡模型使用。再例如,若在進行特征向量檢測時,不需要使用子模型a3,那么可以將子模型a3拆分出去,使用子模型a1、子模型a1和子模型b對被檢測圖像進行處理以得到特征向量。再例如,在某一場景中,需要獲取檢測框特征、熱圖特征和關鍵點特征,而不需要獲取特征向量,即不需要子模型b,則可以將子模型b拆分出去,保留子模型a1、a2和a3。例如,圖像檢測模型包含的各個子模型在模型訓練的時候可以一起進行訓練,訓練完成后可以根據需要將一個或多個子模型拆分出來進行單獨推理預測,而對其他子模型沒有影響。基于這一方式,可以使得圖像檢測模型的應用更為靈活,應用場景更為廣泛。此外,還可以任意設計子模型的網絡結構,子模型之間互相不影響,只要能夠滿足所要求的輸出結果即可。
69.例如,每個第一子模型對應的預定網絡層可以是每個第一子模型中的多個第一中間層中的一層或者每個第一子模型中的第一輸出層。例如,在圖4a所示的示例中,預定網絡層可以是一層深度卷積層或者第一輸出層;在圖4a所示的示例中,預定網絡層可以是一層深度卷積層,或者一層反卷積層,或者第一輸出層。
70.例如,n個預定網絡層分別為n個第一子模型中具有相同維度的結果的層。例如,對于每個第一子模型,其每個網絡層所得到的特征圖的尺寸不同,可以將n個第一子模型中輸出的特征圖的尺寸相同的層作為預定網絡層,即該n個預定網絡層的結果(向量)的維度相同。
71.例如,步驟s122可以包括:對n個預定網絡層的結果進行運算,得到運算結果;將運算結果輸入第二子模型。
72.例如,運算包括乘法運算或加法運算。
73.例如,n個預定網絡層的結果的維度相同,因此可以對該n個預定網絡層的結果直接進行乘法運算或加法運算,例如將該n個預定網絡層的結果中的對應位置的元素進行乘法運算或加法運算。例如,n個預定網絡層的結果均為1*256維度的向量,子模型a1的預定網絡層的結果例如為r1=[p1,p2,
…
,p256],子模型a2的預定網絡層的結果例如為r2=[q1,q2,
…
,q256],子模型a1的預定網絡層的結果和子模型a2的預定網絡層的結果相乘的結果為k=r1*r2=[p1*q1,p2*q2...p256*q256],然后,可以將k輸入至子模型b。相乘的考量主要在于凸顯特征的梯度,如果兩個明顯的特征(數值大)相乘后,那么明顯的特征會被放大,相反不明顯的特征會被弱化,因此,可以增加識別的準確率。
[0074]
例如,可以選取多個子模型的特征進行相乘,例如選取子模型a1,a2和a3的結果進行相乘,然后將乘積輸入子模型b。具體選擇哪些子模型的結果進行相乘根據實際應用需求設置。
[0075]
例如,在另一些實施例中,n個第一子模型的預定網絡層的結果也可以不進行運算,直接輸入第二子模型。
[0076]
例如,第二子模型包括依次連接的第二輸入層、多個第二中間層和第二輸出層。多個第二中間層包括依次連接的多個深度卷積層;或者多個第二中間層包括依次連接的多個深度卷積層和多個反卷積層。例如,對于第二子模型,也可以根據輸出的特征向量的尺寸,采用圖4a所示的網絡結構或者圖4b所示的網絡結構。例如,若輸出的特征向量的尺寸大于尺寸閾值,則采用4b所示的網絡結構;若輸出的特征向量的尺寸不大于尺寸閾值,則采用4a所示的網絡結構。
[0077]
例如,在得到目標對象的特征向量后,可以將目標對象的特征向量與數據庫中的多個特征向量進行比對,以從多個特征向量中確定與目標對象的特征向量滿足距離條件的目標特征向量,將目標特征向量對應的標簽信息作為目標對象的識別結果。
[0078]
例如,在人臉打卡場景中,可以先獲取需要進行打卡的各個用戶中的每個用戶的臉部特征向量,并將各個用戶的標簽信息(例如名字和/或編號等)及其臉部特征向量對應地存儲于數據庫中,標簽信息可以作為用戶的唯一標識。在用戶打卡時,采集包含用戶臉部的圖像,作為被檢測圖像,根據圖像檢測模型得到該被檢測圖像中臉部的特征向量。然后,可以從數據庫中確定與該模型輸出的特征向量滿足距離條件的特征向量作為目標特征向量,并將該目標特征向量對應的標簽信息作為目標對象的識別結果,進而可以識別得到用戶的名字和/或編號等信息。
[0079]
例如,目標對象的特征向量與目標特征向量滿足距離條件。在一些實施例中,可以計算數據庫中的每個特征向量與目標對象的特征向量之間的距離(例如歐氏距離),然后根據距離從小到大進行排序,可以將數據庫中與目標對象的特征向量距離最小的特征向量作為目標特征向量,即距離條件可以包括與目標對象的特征向量距離最近這一條件。在另一些實施例中,距離條件還可以包括與目標對象的特征向量之間的距離小于距離閾值這一條件,例如可以從數據庫中的與目標對象的特征向量距離小于距離閾值的一個或多個特征向量中,選取一個特征向量作為目標特征向量。例如,通過上述方式得到的識別結果可以輸出給用戶,可以通過例如圖像或者聲音等形式輸出給用戶。
[0080]
例如,如上所述,在利用圖像檢測模型預測特征向量之前,需要先對圖像檢測模型進行訓練,以下對訓練過程進行描述。
[0081]
例如,可以獲取多個樣本圖像和多個樣本圖像分別對應的多個標簽數據,其中,每個樣本圖像包括樣本對象;基于多個樣本圖像和多個標簽數據,對初始模型的參數進行更新迭代,直至滿足訓練完成條件,將訓練完成的初始模型作為圖像檢測模型。
[0082]
例如,樣本對象可以是臉部,樣本圖像即為包含臉部的圖像。每個樣本圖像具有對應的標簽數據,標簽數據可以包含熱圖標簽數據、檢測框標簽數據、關鍵點標簽數據和特征向量標簽數據。標簽數據表示樣本真值,即樣本圖像對應的真實數據,標簽數據可以通過預定算法(例如關鍵點檢測等圖像處理算法)計算得到或者可以通過人工標注的方式得到。
[0083]
例如,在對初始模型的參數進行更新迭代的過程中,可以針對每個樣本圖像執行以下操作:將樣本圖像輸入初始模型,得到初始模型的輸出結果,其中,初始模型的輸出結果包括樣本圖像中的樣本對象的初始特征向量;根據初始模型的輸出結果和樣本圖像對應的標簽數據,計算得到損失信息;基于損失信息,更新初始模型的參數。
[0084]
例如,初始模型包括m個第一初始子模型和第二初始子模型。將樣本圖像輸入初始模型,得到初始模型的輸出結果,可以包括:將樣本圖像分別輸入m個第一初始子模型;將m個第一初始子模型中的n個第一初始子模型分別對應的n個預定網絡層的結果輸入第二初始子模型,得到第二初始子模型的輸出結果,第二初始子模型的輸出結果包括樣本圖像中的樣本對象的初始特征向量。需要說明的是,n個第一初始子模型分別對應的n個預定網絡層的定義在不矛盾的情況下可以參考上面對于n個第一子模型分別對應的n個預定網絡層的描述。
[0085]
圖5示出了本公開至少一實施例提供的一種初始模型的示意圖。如圖5所示,初始模型例如包括初始子模型a1`、初始子模型a2`、初始子模型a3`和初始子模型b`,該初始子模型a1`、a2`和a3`中的每個可以作為一個第一初始子模型,初始子模型b可以作為第二初始子模型。每個第一初始子模型和第二初始子模型例如可以是神經網絡模型,均包括多個網絡層。將一個樣本圖像(例如第一樣本圖像)分別輸入初始子模型a1`、初始子模型a2`和初始子模型a3`中,然后可以將初始子模型a1`、初始子模型a2`和初始子模型a3`各自的預定網絡層的結果輸出至初始子模型b`,經過初始子模型b`的處理后,可以得到第一樣本圖像中的樣本對象的初始特征向量。
[0086]
例如,初始模型的輸出結果還包括m個第一初始子模型分別對應的m個初始子模型輸出結果,該m個初始子模型輸出結果分別對應m種類型的特征。例如,m個初始子模型輸出結果包括初始熱圖特征、初始檢測框特征和初始關鍵點特征中的至少一個。例如,如圖5所示,初始子模型a1`輸出初始熱圖特征,初始子模型a2`輸出初始檢測框特征,初始子模型a3`輸出初始關鍵點特征。
[0087]
例如,在得到m個初始子模型輸出結果和第二初始子模型的輸出結果之后,可以利用損失函數,對m個初始子模型輸出結果、第二初始子模型的輸出結果和標簽數據進行運算,得到損失信息(例如總損失值)。
[0088]
例如,利用初始模型得到第一樣本圖像對應的初始輸出結果(初始特征向量、初始熱圖特征、初始檢測框特征和初始關鍵點特征)之后,可以利用損失函數對第一樣本圖像對應的初始輸出結果與第一樣本圖像的標簽數據進行計算,得到第一損失信息。基于該第一損失信息,對m個第一初始子模型和第二初始子模型的參數進行調整更新,得到一次更新后的初始模型。然后,將下一個樣本圖像(例如第二樣本圖像)輸入該更新后的初始模型,以得
到第二樣本圖像對應的初始輸出結果,并利用損失函數對第二樣本圖像對應的初始輸出結果與第二樣本圖像的標簽數據進行計算,得到第二損失信息,然后利用該第二損失信息對m個第一初始子模型和第二初始子模型的參數(一次更新后的參數)進行第二次調整更新,得到第二次更新后的初始模型。以此類推,利用多個樣本圖像,不斷地更新迭代初始模型的參數,直至滿足訓練完成條件,可以結束訓練。將訓練完成的初始模型(即末次更新后的初始模型)作為圖像檢測模型。訓練完成條件例如包括:損失信息小于損失閾值,或者訓練時間超過時間閾值。
[0089]
訓練完成之后的初始子模型a1`即為圖2所示的圖像檢測模型中的子模型a1,訓練完成之后的初始子模型a2`即為圖2所示的圖像檢測模型中的子模型a2,訓練完成之后的初始子模型a3`即為圖2所示的圖像檢測模型中的子模型a3,訓練完成之后的初始子模型b`即為圖2所示的圖像檢測模型中的子模型b。
[0090]
需要說明的是,也可以利用同一個樣本圖像對該初始模型的參數進行多次調整。
[0091]
例如,損失函數包括兩部分,一部分是關于第二初始子模型的第一子函數,另一部分是關于m個第一初始子模型的第二子函數。
[0092]
例如,第一子函數可以聯合softmax loss和center loss(中心損失)一起使用,第一子函數可以表示為:
[0093][0094]
上述式(1)中,l為第一子函數的損失值,ls表示softmax loss對應的損失值,lc表示center loss對應的損失值,y表示模型輸出結果(即第二初始子模型輸出的初始特征向量),yi表示模型輸出結果的第i行(即第yi個類別),表示模型輸出結果的第yi個類別的特征中心,b表示偏置,xi表示屬于第yi類別的第i層的深度特征,bj表示網絡第j列的偏移量,b
yi
表示第yi類別的偏移量,表示輸入為xi、偏移量為b
yi
時的網絡權重,表示第j列的權重,m表示批尺寸,n表示類別數量,λ表示權重系數,λ為用戶自定義,通常為0.5。
[0095]
例如,第二子函數可以包括:熱圖的損失、目標對象長寬預測的損失、目標對象的中心點偏移值的損失等。第二子函數可以表示為:
[0096]
l
det
=lk+λ
size
l
size
+λ
off
l
off
??????
(2)
[0097]
式(2)中,l
det
表示第二子函數的損失值,lk表示熱圖的損失值,l
size
表示長寬預測損失值,l
off
表示中心點偏移值的損失值,λ
size
和λ
off
為超參數,λ
size
例如為0.1,λ
off
例如為1。
[0098]
例如,lk可以通過熱圖標簽數據和初始子模型a1`輸出的初始熱圖特征計算得到,lk可以表示為:
[0099][0100]
式(3)中,α和β為超參數,α例如為2,β例如為4,n表示熱圖關鍵點的數量,求和符號
∑的下標xyc表示所有熱圖上的全部坐標點,c表示類別,每個類別對應一張熱圖,表示模型的預測值(即初始熱圖特征),y
xyc
表示標簽數據中的真實值(即熱圖標簽數據)。
[0101]
例如,l
size
和l
off
可以通過檢測框標簽數據和初始子模型a2`輸出的初始檢測框特征計算得到,l
size
可以表示為:
[0102][0103]
式(4)中,n表示檢測框的數量,k表示第k個檢測框,表示檢測框的預測尺寸(即初始檢測框特征中的尺寸數據),sk表示真實尺寸(即檢測框標簽數據中的尺寸數據)。
[0104]
例如,l
off
可以表示為:
[0105][0106]
式(5)中,n表示檢測框的數量,p表示檢測框中心點的真實坐標(即初始檢測框特征中的中心點偏移值),表示中心點偏移值的預測值(即初始檢測框特征中的中心點偏移值數據),r表示縮放尺度,表示縮放后中心點的近似整數坐標。
[0107]
此外,第二子函數還可以包括關鍵點的損失l
lm
,例如可以在上述式(2)的基礎上增加λ
lm
l
lm
,從而第二子函數可以表示為:
[0108]
l
det
=lk+λ
size
l
size
+λ
off
l
off
+λ
lm
l
lm
?????
(6)
[0109]
λ
lm
為超參數,l
lm
可以通過關鍵點標簽數據和初始子模型a3`輸出的初始關鍵點特征計算得到,l
lm
可以表示為:
[0110][0111]
式(7)中,表示關鍵點的x坐標的損失值,表示關鍵點的y坐標的損失值,lm
x
表示關鍵點的x坐標預測值,lmy表示關鍵點的y坐標預測值,c
x
表示關鍵點的x坐標真實值,cy表示關鍵點的y坐標真實值,boxw表示表示框的寬,boxh表示框的高。
[0112]
例如,總損失值l
total
為第一子函數的損失值與第二子函數的損失值的加和,即l
total
=l+l
det
。又例如,總損失值l
total
還可以為第一子函數的損失值與第二子函數的損失值的加權和,即l
total
=a1*l+a2*l
det
,a1表示第一子函數l的權重,a2表示第二子函數的權重,a1和a2的具體值可以根據實際情況設置。
[0113]
例如,第一子函數可以輔助特征向量的提取,可以幫助縮小同一身份人臉特征向量之間的類內差距,并且擴大不同身份人臉特征向量之間的距離,第二子函數可以幫助檢測模型網絡,提高人臉檢測框等的準確性,因此將這兩部分聯合起來一起訓練模型,可以結合兩部分的優點,使模型同時具有以上兩個子函數所帶來的效果。
[0114]
例如,在一些實施例中,可以將n個第一初始子模型分別對應的n個預定網絡層的結果進行運算,得到運算結果,然后將運算結果輸入第二初始子模型。運算包括乘法運算或加法運算。
[0115]
例如,n個預定網絡層分別為n個第一初始子模型中具有相同維度的結果的層,即n個預定網絡層的結果(例如向量)的維度相同。
[0116]
例如,m個第一初始子模型中的每個包括依次連接的第一初始輸入層、多個第一初始中間層和第一初始輸出層。多個第一初始中間層包括依次連接的多個初始深度卷積層;或者多個第一初始中間層包括依次連接的多個初始深度卷積層和多個初始反卷積層。
[0117]
例如,n個第一初始子模型中的每個第一初始子模型對應的預定網絡層為每個第一初始子模型中的多個第一初始中間層中的一層或者每個第一初始子模型中的第一初始輸出層。
[0118]
例如,第二初始子模型包括依次連接的第二初始輸入層、多個第二初始中間層和第二初始輸出層。多個第二初始中間層包括依次連接的多個初始深度卷積層;或者多個第二初始中間層包括依次連接的多個初始深度卷積層和多個初始反卷積層。
[0119]
例如,圖像檢測模型是對初始模型進行參數調整而得到的,訓練過程中可以不對模型的網絡結構和數據處理流程進行調整,因此圖像檢測模型的網絡結構和數據處理流程例如與初始模型的網絡結構和數據處理流程一致。
[0120]
本公開至少一實施例還提供一種圖像處理裝置,圖6為本公開至少一實施例提供的一種圖像處理裝置的示意性框圖。
[0121]
如圖6所示,圖像處理裝置200可以包括獲取模塊201和檢測模塊202。這些組件通過總線系統和/或其它形式的連接機構(未示出)互連。例如,這些模塊可以通過硬件(例如電路)模塊、軟件模塊或二者的任意組合等實現,以下實施例與此相同,不再贅述。例如,可以通過中央處理單元(cpu)、圖像處理器(gpu)、張量處理器(tpu)、現場可編程邏輯門陣列(fpga)或者具有數據處理能力和/或指令執行能力的其它形式的處理單元以及相應計算機指令來實現這些單元。應當注意,圖6所示的圖像處理裝置200的組件和結構只是示例性的,而非限制性的,根據需要,圖像處理裝置200也可以具有其他組件和結構。
[0122]
例如,獲取模塊201配置為獲取被檢測圖像,被檢測圖像包括目標對象。
[0123]
例如,檢測模塊202配置為將被檢測圖像輸入圖像檢測模型,得到圖像檢測模型的輸出結果,其中,圖像檢測模型的輸出結果包括目標對象的特征向量,特征向量用于識別目標對象。
[0124]
例如,圖像檢測模型包括m個第一子模型和第二子模型。檢測模塊202進一步配置為:將被檢測圖像分別輸入m個第一子模型;將m個第一子模型中的n個第一子模型分別對應的n個預定網絡層的結果輸入第二子模型,得到第二子模型的輸出結果,第二子模型的輸出結果包括目標對象的特征向量;m為正整數,n為小于或等于m的正整數。
[0125]
例如,獲取模塊201和檢測模塊202可以包括存儲在存儲器中的代碼和程序;處理器可以執行該代碼和程序以實現如上所述的獲取模塊201和檢測模塊202的一些功能或全部功能。例如,獲取模塊201和檢測模塊202可以是專用硬件器件,用來實現如上所述的獲取模塊201和檢測模塊202的一些或全部功能。例如,獲取模塊201和檢測模塊202可以是一個電路板或多個電路板的組合,用于實現如上所述的功能。在本技術實施例中,該一個電路板
或多個電路板的組合可以包括:(1)一個或多個處理器;(2)與處理器相連接的一個或多個非暫時的存儲器;以及(3)處理器可執行的存儲在存儲器中的固件。
[0126]
需要說明的是,獲取模塊201可以用于實現圖1a所示的步驟s110,檢測模塊202可以用于實現圖1a和1b所示的步驟s120。從而關于獲取模塊201和檢測模塊202能夠實現的功能的具體說明可以參考上述圖像處理方法的實施例中的步驟s110至步驟s120的相關描述,重復之處不再贅述。此外,圖像處理裝置200可以實現與前述圖像處理方法相似的技術效果,在此不再贅述。
[0127]
需要注意的是,在本公開的實施例中,該圖像處理裝置200可以包括更多或更少的電路或單元,并且各個電路或單元之間的連接關系不受限制,可以根據實際需求而定。各個電路或單元的具體構成方式不受限制,可以根據電路原理由模擬器件構成,也可以由數字芯片構成,或者以其他適用的方式構成。
[0128]
例如,在一些實施例中,圖像處理裝置200還可以包括識別模塊,該識別模塊配置為:將目標對象的特征向量與數據庫中的多個特征向量進行比對,以從多個特征向量中確定與目標對象的特征向量滿足距離條件的目標特征向量,將目標特征向量對應的標簽信息作為目標對象的識別結果。
[0129]
例如,在一些實施例中,圖像處理裝置200還可以包括訓練模塊,該訓練模塊配置為:獲取多個樣本圖像和多個樣本圖像分別對應的多個標簽數據,每個樣本圖像包括樣本對象;基于多個樣本圖像和多個標簽數據,對初始模型的參數進行更新迭代,直至滿足訓練完成條件,將訓練完成的初始模型作為圖像檢測模型。
[0130]
本公開一些實施例還提供一種電子設備。圖7a為本公開至少一實施例提供的一種電子設備的示意性框圖。
[0131]
例如,如圖7a所示,電子設備300包括拍攝裝置301和圖像處理裝置302。
[0132]
例如,拍攝裝置301配置為拍攝被檢測圖像,被檢測圖像包括目標對象。
[0133]
例如,圖像處理裝置302配置為接收被檢測圖像,并基于被檢測圖像執行如上任一實施例所述的圖像處理方法。
[0134]
例如,拍攝裝置301可以是電子設備的后置攝像頭,或者是電子設備的前置攝像頭及反射裝置。
[0135]
例如,圖像處理裝置302可以實現為中央處理器、專用處理芯片、數字信號處理器等,本公開對此不作具體限制。
[0136]
例如,電子設備300可以為打卡機等終端設備,并且還可以提供有顯示單元(例如觸控顯示屏)等,例如顯示單元可以提供相應的人機交互界面,用于顯示交互操作的響應、交互動作提示信息等,本公開對此不作具體限制。
[0137]
例如,關于電子設備300執行圖像處理方法的過程的詳細說明可以參見上述圖像處理方法的實施例中的相關描述,重復之處不再贅述。
[0138]
本公開一些實施例還提供另一種電子設備。圖7b為本公開至少一實施例提供的另一種電子設備的示意性框圖。
[0139]
例如,如圖7b所示,電子設備400包括處理器401和存儲器402。應當注意,圖7b所示的電子設備400的組件只是示例性的,而非限制性的,根據實際應用需要,該電子設備400還可以具有其他組件。
[0140]
例如,處理器401和存儲器402之間可以直接或間接地互相通信。
[0141]
例如,處理器401和存儲器402可以通過網絡進行通信。網絡可以包括無線網絡、有線網絡、和/或無線網絡和有線網絡的任意組合。處理器401和存儲器402之間也可以通過系統總線實現相互通信,本公開對此不作限制。
[0142]
例如,在一些實施例中,存儲器402用于非瞬時性地存儲計算機可讀指令。處理器401用于運行計算機可讀指令時,計算機可讀指令被處理器401運行時實現根據上述任一實施例所述的圖像處理方法。關于該圖像處理方法的各個步驟的具體實現以及相關解釋內容可以參見上述圖像處理方法的實施例,重復之處在此不作贅述。
[0143]
例如,處理器401和存儲器402可以設置在服務器端(或云端)。
[0144]
例如,處理器401可以控制電子設備400中的其它組件以執行期望的功能。處理器401可以是中央處理器(cpu)、圖形處理器(graphics processing unit,gpu)、網絡處理器(np)等;還可以是數字信號處理器(dsp)、專用集成電路(asic)、現場可編程門陣列(fpga)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件。中央處理元(cpu)可以為x86或arm架構等。
[0145]
例如,存儲器402可以包括一個或多個計算機程序產品的任意組合,計算機程序產品可以包括各種形式的計算機可讀存儲介質,例如易失性存儲器和/或非易失性存儲器。易失性存儲器例如可以包括隨機存取存儲器(ram)和/或高速緩沖存儲器(cache)等。非易失性存儲器例如可以包括只讀存儲器(rom)、硬盤、可擦除可編程只讀存儲器(eprom)、便攜式緊致盤只讀存儲器(cd-rom)、usb存儲器、閃存等。在所述計算機可讀存儲介質上可以存儲一個或多個計算機可讀指令,處理器401可以運行所述計算機可讀指令,以實現電子設備400的各種功能。在存儲介質中還可以存儲各種應用程序和各種數據等。
[0146]
例如,在一些實施例中,電子設備400可以為手機、平板電腦、電子紙、電視機、顯示器、筆記本電腦、數碼相框、導航儀、可穿戴電子設備、智能家居設備等。
[0147]
例如,電子設備400可以包括顯示面板,顯示面板可以用于分割圖像等。例如,顯示面板可以為矩形面板、圓形面板、橢圓形面板或多邊形面板等。另外,顯示面板不僅可以為平面面板,也可以為曲面面板,甚至球面面板。
[0148]
例如,電子設備400可以具備觸控功能,即電子設備400可以為觸控裝置。
[0149]
例如,關于電子設備400執行圖像處理方法的過程的詳細說明可以參見上述圖像處理方法的實施例中的相關描述,重復之處不再贅述。
[0150]
圖8為本公開至少一實施例提供的一種非瞬時性計算機可讀存儲介質的示意圖。例如,如圖8所示,在計算機可讀存儲介質500上非暫時性地存儲有計算機可讀指令501。例如,當計算機可讀指令501由處理器執行時可以執行根據上文所述的圖像處理方法中的一個或多個步驟。
[0151]
例如,該存儲介質500可以應用于上述電子設備400中。例如,存儲介質500可以包括電子設備400中的存儲器402。
[0152]
例如,關于存儲介質500的說明可以參考電子設備400的實施例中對于存儲器402的描述,重復之處不再贅述。
[0153]
圖9為本公開至少一實施例提供的一種硬件環境的示意圖。本公開提供的電子設備可以應用在互聯網系統。
[0154]
利用圖9中提供的計算機系統可以實現本公開中涉及的圖像處理裝置和/或電子設備的功能。這類計算機系統可以包括個人電腦、筆記本電腦、平板電腦、手機、個人數碼助理、智能眼鏡、智能手表、智能指環、智能頭盔及任何智能便攜設備或可穿戴設備。本實施例中的特定系統利用功能框圖解釋了一個包含用戶界面的硬件平臺。這種計算機設備可以是一個通用目的的計算機設備,或一個有特定目的的計算機設備。兩種計算機設備都可以被用于實現本實施例中的圖像處理裝置和/或電子設備。計算機系統可以包括實施當前描述的實現圖像處理所需要的信息的任何組件。例如,計算機系統能夠被計算機設備通過其硬件設備、軟件程序、固件以及它們的組合所實現。為了方便起見,圖9中只繪制了一臺計算機設備,但是本實施例所描述的實現圖像處理所需要的信息的相關計算機功能是可以以分布的方式、由一組相似的平臺所實施的,分散計算機系統的處理負荷。
[0155]
如圖9所示,計算機系統可以包括通信端口650,與之相連的是實現數據通信的網絡,例如,計算機系統可以通過通信端口650發送和接收信息及數據,即通信端口650可以實現計算機系統與其他電子設備進行無線或有線通信以交換數據。計算機系統還可以包括一個處理器組620(即上面描述的處理器),用于執行程序指令。處理器組620可以由至少一個處理器(例如,cpu)組成。計算機系統可以包括一個內部通信總線610。計算機系統可以包括不同形式的程序儲存單元以及數據儲存單元(即上面描述的存儲器或存儲介質),例如硬盤670、只讀存儲器(rom)630、隨機存取存儲器(ram)640,能夠用于存儲計算機處理和/或通信使用的各種數據文件,以及處理器組620所執行的可能的程序指令。計算機系統還可以包括一個輸入/輸出組件660,輸入/輸出組件660用于實現計算機系統與其他組件(例如,用戶界面680等)之間的輸入/輸出數據流。
[0156]
通常,以下裝置可以連接輸入/輸出組件660:例如觸摸屏、觸摸板、鍵盤、鼠標、攝像頭、麥克風、加速度計、陀螺儀等的輸入裝置;例如顯示器(例如,lcd、oled顯示器等)、揚聲器、振動器等的輸出裝置;包括例如磁帶、硬盤等的存儲裝置;以及通信接口。
[0157]
雖然圖9示出了具有各種裝置的計算機系統,但應理解的是,并不要求計算機系統具備所有示出的裝置,可以替代地,計算機系統可以具備更多或更少的裝置。
[0158]
以上描述僅為本公開的較佳實施例以及對所運用技術原理的說明。本領域技術人員應當理解,本公開中所涉及的公開范圍,并不限于上述技術特征的特定組合而成的技術方案,同時也應涵蓋在不脫離上述公開構思的情況下,由上述技術特征或其等同特征進行任意組合而形成的其它技術方案。例如上述特征與本公開中公開的(但不限于)具有類似功能的技術特征進行互相替換而形成的技術方案。
[0159]
此外,雖然采用特定次序描繪了各操作,但是這不應當理解為要求這些操作以所示出的特定次序或以順序次序執行來執行。在一定環境下,多任務和并行處理可能是有利的。同樣地,雖然在上面論述中包含了若干具體實現細節,但是這些不應當被解釋為對本公開的范圍的限制。在單獨的實施例的上下文中描述的某些特征還可以組合地實現在單個實施例中。相反地,在單個實施例的上下文中描述的各種特征也可以單獨地或以任何合適的子組合的方式實現在多個實施例中。
[0160]
盡管已經采用特定于結構特征和/或方法邏輯動作的語言描述了本主題,但是應當理解所附權利要求書中所限定的主題未必局限于上面描述的特定特征或動作。相反,上面所描述的特定特征和動作僅僅是實現權利要求書的示例形式。
[0161]
對于本公開,還有以下幾點需要說明:
[0162]
(1)本公開實施例附圖只涉及到與本公開實施例涉及到的結構,其他結構可參考通常設計。
[0163]
(2)為了清晰起見,在用于描述本發明的實施例的附圖中,層或結構的厚度和尺寸被放大??梢岳斫?,當諸如層、膜、區域或基板之類的元件被稱作位于另一元件“上”或“下”時,該元件可以“直接”位于另一元件“上”或“下”,或者可以存在中間元件。
[0164]
(3)在不沖突的情況下,本公開的實施例及實施例中的特征可以相互組合以得到新的實施例。
[0165]
以上所述僅為本公開的具體實施方式,但本公開的保護范圍并不局限于此,本公開的保護范圍應以所述權利要求的保護范圍為準。
