背景技術(shù):
1、本說明書涉及使用機器學(xué)習(xí)模型來處理數(shù)據(jù)。
2、機器學(xué)習(xí)模型接收輸入并基于接收到的輸入來生成輸出,例如預(yù)測輸出。一些機器學(xué)習(xí)模型是參數(shù)模型,并且基于接收到的輸入和模型參數(shù)的值生成輸出。
3、一些機器學(xué)習(xí)模型是深度模型,深度模型采用多層模型來為接收到的輸入生成輸出。例如,深度神經(jīng)網(wǎng)絡(luò)是一種深度機器學(xué)習(xí)模型,該深度機器學(xué)習(xí)模型包括輸出層和一個或多個隱藏層,一個或多個隱藏層各自將非線性變換應(yīng)用于接收到的輸入以生成輸出。
技術(shù)實現(xiàn)思路
1、本說明書描述了在一個或多個位置中的一個或多個計算機上實現(xiàn)為計算機程序的系統(tǒng),該系統(tǒng)執(zhí)行圖像中的對象檢測。
2、在本說明書中,“嵌入”可以指數(shù)值的有序集合,例如向量、矩陣或其他數(shù)值張量。
3、根據(jù)一個方面,提供了一種由一個或多個計算機執(zhí)行的方法,該方法包括:獲得:(i)圖像,以及(ii)一組一個或多個查詢嵌入,其中每個查詢嵌入表示相應(yīng)的對象類別;使用對象檢測神經(jīng)網(wǎng)絡(luò)處理該圖像和該組查詢嵌入以生成該圖像的對象檢測數(shù)據(jù),包括:使用該對象檢測神經(jīng)網(wǎng)絡(luò)的圖像編碼子網(wǎng)絡(luò)處理該圖像以生成一組對象嵌入;使用該對象檢測神經(jīng)網(wǎng)絡(luò)的定位子網(wǎng)絡(luò)處理每個對象嵌入以生成定義該圖像的對應(yīng)區(qū)域的定位數(shù)據(jù);以及使用該對象檢測神經(jīng)網(wǎng)絡(luò)的分類子網(wǎng)絡(luò)處理:(i)該組對象嵌入,以及(ii)該組查詢嵌入,以對于每個對象嵌入生成該組查詢嵌入上的相應(yīng)分類分數(shù)分布,其中該對象嵌入中的每一個的該相應(yīng)分類分數(shù)分布為每個查詢嵌入定義與該對象嵌入相對應(yīng)的該圖像的區(qū)域描繪由該查詢嵌入表示的類別中包括的對象的可能性。
4、在一些實現(xiàn)方式中,對于該查詢嵌入中的一個或多個,獲得該查詢嵌入包括:獲得描述對象類別的文本序列;以及使用該對象檢測神經(jīng)網(wǎng)絡(luò)的文本編碼子網(wǎng)絡(luò)處理該文本序列以生成該查詢嵌入。
5、在一些實現(xiàn)方式中,該圖像編碼子網(wǎng)絡(luò)和該文本編碼子網(wǎng)絡(luò)是預(yù)訓(xùn)練的,其中預(yù)訓(xùn)練包括重復(fù)執(zhí)行包括以下的操作:獲得:(i)訓(xùn)練圖像、(ii)正文本序列,其中該正文本序列表征該訓(xùn)練圖像、以及(iii一個或多個負文本序列,其中該負文本序列不表征該訓(xùn)練圖像;使用該圖像編碼子網(wǎng)絡(luò)生成該訓(xùn)練圖像的嵌入;使用該文本編碼子網(wǎng)絡(luò)生成該正文本序列和每個該負文本序列的相應(yīng)嵌入;以及聯(lián)合訓(xùn)練該圖像編碼子網(wǎng)絡(luò)和該文本編碼子網(wǎng)絡(luò)以促進:(i)該訓(xùn)練圖像的該嵌入與該正文本序列的該嵌入之間的更大相似性、(ii)該訓(xùn)練圖像的該嵌入與該負文本序列的該嵌入之間的更小相似性。
6、在一些實現(xiàn)方式中,使用該圖像編碼子網(wǎng)絡(luò)生成該訓(xùn)練圖像的該嵌入包括:使用該圖像編碼子網(wǎng)絡(luò)處理該訓(xùn)練圖像以生成該訓(xùn)練圖像的一組對象嵌入;以及使用嵌入神經(jīng)網(wǎng)絡(luò)處理該對象嵌入以生成該訓(xùn)練圖像的該嵌入。
7、在一些實現(xiàn)方式中,該嵌入神經(jīng)網(wǎng)絡(luò)與該圖像編碼子網(wǎng)絡(luò)和該文本編碼子網(wǎng)絡(luò)一起聯(lián)合訓(xùn)練。
8、在一些實現(xiàn)方式中,聯(lián)合訓(xùn)練該圖像編碼子網(wǎng)絡(luò)和該文本編碼子網(wǎng)絡(luò)包括:聯(lián)合訓(xùn)練該圖像編碼子網(wǎng)絡(luò)和該文本編碼子網(wǎng)絡(luò)以優(yōu)化包括對比損失詞項的目標函數(shù)。
9、在一些實現(xiàn)方式中,在對該圖像編碼子網(wǎng)絡(luò)和該文本編碼子網(wǎng)絡(luò)進行預(yù)訓(xùn)練之后,訓(xùn)練對象檢測神經(jīng)網(wǎng)絡(luò)以優(yōu)化目標函數(shù),該目標函數(shù)測量該對象檢測神經(jīng)網(wǎng)絡(luò)在圖像中的對象檢測任務(wù)上的性能。
10、在一些實現(xiàn)方式中,測量該對象檢測神經(jīng)網(wǎng)絡(luò)在圖像中的對象檢測任務(wù)上的性能的目標函數(shù)包括二分匹配損失詞項。
11、在一些實現(xiàn)方式中,使用該對象檢測神經(jīng)網(wǎng)絡(luò)的分類子網(wǎng)絡(luò)處理:(i)該組對象嵌入和(ii)該組查詢嵌入,以對于每個對象嵌入生成在該組查詢嵌入上的相應(yīng)分類分數(shù)分布,包括:使用分類神經(jīng)網(wǎng)絡(luò)的一個或多個神經(jīng)網(wǎng)絡(luò)層處理每個對象嵌入以生成對應(yīng)分類嵌入;以及對于每個對象嵌入,使用(i)對應(yīng)于該對象嵌入的該分類嵌入和(ii)該查詢嵌入生成該組查詢嵌入上的該分類分數(shù)分布,包括:生成該分類嵌入與每個查詢嵌入之間的相應(yīng)相似性度量,其中該分類嵌入與查詢嵌入之間的相似性度量定義與該對象嵌入相對應(yīng)的該圖像的該區(qū)域描繪由該查詢嵌入表示的類別中包括的對象的可能性。
12、在一些實現(xiàn)方式中,使用該分類神經(jīng)網(wǎng)絡(luò)的一個或多個神經(jīng)網(wǎng)絡(luò)層處理每個對象嵌入以生成對應(yīng)分類嵌入包括:通過將對應(yīng)對象嵌入投影到包括該查詢嵌入的潛在空間中來生成每個分類嵌入。
13、在一些實現(xiàn)方式中,生成該分類嵌入與每個查詢嵌入之間的相應(yīng)相似性度量包括對于每個查詢嵌入:計算該分類嵌入與該查詢嵌入之間的內(nèi)積。
14、在一些實現(xiàn)方式中,對于每個對象嵌入,使用該定位子網(wǎng)絡(luò)處理該對象嵌入以生成定義該圖像的對應(yīng)區(qū)域的定位數(shù)據(jù)包括:使用該定位子網(wǎng)絡(luò)處理該對象嵌入以生成定義該圖像中的邊界框的定位數(shù)據(jù)。
15、在一些實現(xiàn)方式中,使用該圖像編碼子網(wǎng)絡(luò)處理該圖像以生成該組對象嵌入包括:通過該圖像編碼子網(wǎng)絡(luò)的嵌入層生成一組初始對象嵌入,其中每個初始對象嵌入至少部分地從該圖像中的對應(yīng)塊導(dǎo)出;以及通過包括一個或多個自注意力神經(jīng)網(wǎng)絡(luò)層的多個神經(jīng)網(wǎng)絡(luò)層處理該組初始對象嵌入,以生成一組最終對象嵌入。
16、在一些實現(xiàn)方式中,使用該定位子網(wǎng)絡(luò)處理對象嵌入以生成定義該圖像的該對應(yīng)區(qū)域的定位數(shù)據(jù)包括:生成一組偏移坐標,其中該偏移坐標定義該圖像的該對應(yīng)區(qū)域與對應(yīng)于該對象嵌入的圖像塊的位置的偏移。
17、在一些實現(xiàn)方式中,該文本編碼子網(wǎng)絡(luò)包括一個或多個自注意力神經(jīng)網(wǎng)絡(luò)層。
18、在一些實現(xiàn)方式中,該方法包括對于該對象嵌入中的一個或多個:基于該對象嵌入的該分類分數(shù)分布確定對應(yīng)于該對象嵌入的該圖像的該區(qū)域描繪由查詢嵌入表示的類別中包括的對象。
19、在實現(xiàn)方式中,對于該查詢嵌入中的一個或多個,獲得該查詢嵌入包括:獲得一個或多個查詢圖像,其中每個查詢圖像包括描繪目標對象的示例的相應(yīng)目標區(qū)域;生成每個查詢圖像中的該目標對象的相應(yīng)嵌入;以及通過組合該查詢圖像中的該目標對象的嵌入來生成該查詢嵌入。
20、在一些實現(xiàn)方式中,對于每個查詢圖像,生成該查詢圖像中的該目標對象的該嵌入包括:使用該圖像編碼子網(wǎng)絡(luò)處理該查詢圖像以生成該查詢圖像的一組對象嵌入;使用該定位子網(wǎng)絡(luò)處理該查詢圖像的每個對象嵌入以生成定義該查詢圖像的對應(yīng)區(qū)域的定位數(shù)據(jù);對于該查詢圖像的每個對象嵌入,確定以下兩者之間的相應(yīng)重疊度量:(i)描繪該目標對象的該示例的該查詢圖像的該目標區(qū)域,以及(ii)與該查詢圖像的該對象嵌入相對應(yīng)的該查詢圖像的該區(qū)域;以及基于重疊度量從該查詢圖像的該組對象嵌入中選擇對象嵌入作為該查詢圖像中的該目標對象的該嵌入。
21、在一些實現(xiàn)方式中,通過組合該查詢圖像中的該目標對象的該嵌入來生成該查詢嵌入包括:對該查詢圖像中的該目標對象的該嵌入進行平均。
22、根據(jù)另一個方面,提供了一種系統(tǒng),該系統(tǒng)包括:一個或多個計算機;以及通信地耦合到該一個或多個計算機的一個或多個存儲裝置,其中該一個或多個存儲裝置存儲指令,所述指令在由該一個或多個計算機執(zhí)行時,使該一個或多個計算機執(zhí)行本文所描述的方法的操作。
23、根據(jù)另一個方面,提供了一種或多種非暫時性計算機存儲介質(zhì),該一種或多種非暫時性計算機存儲介質(zhì)存儲指令,所述指令在由一個或多個計算機執(zhí)行時,使該一個或多個計算機執(zhí)行本文所描述的方法的操作。
24、本說明書中描述的主題可以在特定實施例中實現(xiàn),以便實現(xiàn)以下優(yōu)點中的一個或多個。
25、本說明書中描述的系統(tǒng)可以執(zhí)行“開放詞匯”對象檢測,即系統(tǒng)可以檢測任何對象類別中的對象。相比之下,傳統(tǒng)的對象檢測系統(tǒng)可能限于檢測一組小的固定對象類別中的對象。系統(tǒng)允許以查詢嵌入的形式指定對象類別,從而實現(xiàn)開放詞匯對象檢測。每個查詢嵌入表示相應(yīng)對象類別,并且可以以任何適當?shù)姆绞缴?,例如,從描述對象類別的文本序列(例如,“一只鳥坐在樹上”)生成,或從示出對象類別中的對象的示例的圖像生成。具體來說,系統(tǒng)能夠進行圖像條件對象檢測,即其中從示出對象的示例的圖像導(dǎo)出查詢嵌入,這允許檢測難以通過文本描述但易于在圖像中捕獲(例如,專用技術(shù)部分)的對象。
26、在文本序列的情況下,系統(tǒng)可以通過將使用文本編碼神經(jīng)網(wǎng)絡(luò)處理文本序列生成的一組查詢嵌入與使用圖像編碼神經(jīng)網(wǎng)絡(luò)處理圖像生成的一組對象嵌入進行比較來執(zhí)行對象檢測。文本編碼神經(jīng)網(wǎng)絡(luò)與圖像編碼神經(jīng)網(wǎng)絡(luò)可以獨立操作,從而可以大幅提高推理效率。例如,在文本編碼神經(jīng)網(wǎng)絡(luò)和圖像編碼神經(jīng)網(wǎng)絡(luò)融合的系統(tǒng)中,對查詢進行編碼需要經(jīng)過圖像編碼神經(jīng)網(wǎng)絡(luò)進行前向傳遞,并且將需要對每個圖像-查詢組合重復(fù)。相比之下,本說明書中描述的系統(tǒng)可以使用圖像編碼神經(jīng)網(wǎng)絡(luò)對圖像進行一次處理,然后任意地生成多個查詢嵌入,而無需重新處理圖像。這同樣適用于其他查詢模態(tài)。圖像編碼神經(jīng)網(wǎng)絡(luò)和查詢嵌入生成器是獨立的實體。查詢嵌入可以單獨生成(也可以在不同的系統(tǒng)上生成)并且提供給系統(tǒng)以執(zhí)行對象檢測(反之亦然)。
27、系統(tǒng)可以“對比地”預(yù)訓(xùn)練文本編碼神經(jīng)網(wǎng)絡(luò)和圖像編碼神經(jīng)網(wǎng)絡(luò),以學(xué)習(xí)在共享嵌入空間中圖像和文本的表示,例如,使得語義上相似的圖像和文本的嵌入,也就是說,在圖像中描繪和文本中定義的對象類別方面,在嵌入空間中趨于更接近。文本編碼神經(jīng)網(wǎng)絡(luò)和圖像編碼神經(jīng)網(wǎng)絡(luò)的對比預(yù)訓(xùn)練的訓(xùn)練數(shù)據(jù)非常豐富。相比之下,對文本編碼神經(jīng)網(wǎng)絡(luò)和圖像編碼神經(jīng)網(wǎng)絡(luò)進行預(yù)訓(xùn)練可以大大提高文本編碼神經(jīng)網(wǎng)絡(luò)和圖像編碼神經(jīng)網(wǎng)絡(luò)在對象檢測任務(wù)上的下游性能,而可用于任務(wù)的訓(xùn)練數(shù)據(jù)可能少得多。
28、在下文的附圖和描述中闡述本說明書的主題的一個或多個實施例的細節(jié)。根據(jù)所述描述、附圖和權(quán)利要求書,本主題的其他特征、方面和優(yōu)點將變得顯而易見。