本申請的各實施例涉及用于具有多個文本標簽的圖像的嵌入空間。
背景技術:
圖像分類是計算機視覺中的基本問題。廣而言之,圖像分類嘗試從圖像提取語義信息,從而使得圖像可以被標注以描述圖像的內(nèi)容。語義信息可以例如包括在圖像中描繪的物體(和圖像的其中描繪物體的位置)、在圖像中描繪的景象(例如,圖像是否描繪海灘或者日落)、與在圖像中描繪的人臉或者臉部表情關聯(lián)的情緒、圖像審美(例如,良好組成、不良組成、遵守三分法(rule-of-thirds)等)、圖像感情(例如,恐懼、憤怒等)等等。
一些常規(guī)圖像分類技術通過訓練多類分類器將圖像分類成代表語義信息的固定類集合。然而,由于在類之間的語義關系可能復雜(例如,分級、不相交等),所以難以定義對語義關系中的許多語義關系編碼的分類器。為了解決這些缺點,已經(jīng)開發(fā)了可視語義嵌入技術。常規(guī)可視語義嵌入技術利用來自無注解文本數(shù)據(jù)的語義信息來學習在文本標簽之間的語義關系,并且將圖像顯式地映射到豐富語義嵌入空間中。然而,這些常規(guī)可視語義嵌入技術限于用單個文本標簽對圖像作注解。因而,用于自動地將文本標簽與圖像關聯(lián)以描述它們的內(nèi)容的常規(guī)技術對于一些圖像標注任務是不夠的。
技術實現(xiàn)要素:
描述了用于具有多個文本標簽的圖像的嵌入空間。在嵌入空間中,可以嵌入文本標簽和圖像區(qū)域二者。在嵌入空間中嵌入的文本標簽被配置為描述在圖像內(nèi)容中展示的語義概念,例如,圖像是否包括海灘或者日落、圖像審美(比如圖像是否根據(jù)攝影“規(guī)則”備良好地組成)等等。嵌入空間被訓練以將嵌入的文本標簽語義地相關,從而使得如“太陽”和“日落”的文本標簽比如“太陽”和“鳥”的文本標簽被更接近地相關。訓練嵌入空間也包括將具有舉例說明語義概念的圖像內(nèi)容的代表性圖像映射到相應的文本標簽。
不同于常規(guī)可視語義嵌入技術,這里描述的技術使用各自與多個文本標簽關聯(lián)的訓練圖像來訓練嵌入空間。并非對于與訓練圖像關聯(lián)的多個文本標簽中的每個文本標簽將整個訓練圖像嵌入到嵌入空間中,這里描述的技術處理訓練圖像以生成與多個文本標簽對應的區(qū)域。訓練圖像的區(qū)域然后以將區(qū)域映射到對應的文本標簽的方式被嵌入到嵌入空間中。在訓練圖像的區(qū)域與對應的文本標簽之間的映射被學習作為映射函數(shù)。一旦嵌入空間被訓練,就可以通過應用映射函數(shù)來使用嵌入空間以用多個文本標簽對圖像作注解以描述圖像的內(nèi)容。為了對圖像作注解,為圖像提議了多個語義有意義區(qū)域。然后使用在訓練期間學習的映射函數(shù)對于多個區(qū)域中的每個區(qū)域從嵌入空間發(fā)現(xiàn)至少一個文本標簽。學習的映射函數(shù)取得待注解的圖像的圖像區(qū)域作為輸入,并且將圖像區(qū)域中的每個圖像區(qū)域映射到嵌入空間中的文本標簽。對于圖像的多個區(qū)域而發(fā)現(xiàn)的文本標簽然后可以用來對圖像作注解。
這一發(fā)明內(nèi)容以簡化形式介紹了以下在具體實施方式中被進一步描述的概念的選集。這樣,這一發(fā)明內(nèi)容未旨在于標識要求保護的主題內(nèi)容的實質(zhì)特征、也未旨在于在確定要求保護的主題內(nèi)容的范圍時用作輔助。
附圖說明
參照附圖描述具體實施方式。在各圖中,標號的最左數(shù)字標識該標號在其中首次出現(xiàn)的圖。在描述和各圖中在不同實例中使用相同標號可以指示相似或者相同項目。在各圖中代表的實體可以指示一個或者多個實體,并且因此可以在討論中可互換地指代實體的單數(shù)或者復數(shù)形式。
圖1是示例實現(xiàn)方式中的數(shù)字環(huán)境的圖示,該數(shù)字環(huán)境可操作用于運用這里描述的技術。
圖2是描繪具有多個文本標簽的圖像和圖像的與多個文本標簽對應的區(qū)域的指示的示例實現(xiàn)方式。
圖3是被配置為嵌入文本標簽和被映射到文本標簽的圖像區(qū)域二者的嵌入空間的示例實現(xiàn)方式。
圖4是嵌入空間的另一示例實現(xiàn)方式,其中由文本標簽描述的語義概念被建模為嵌入空間中的分布。
圖5是描繪示例實現(xiàn)方式中的過程的流程圖,在該過程中,與多個文本標簽關聯(lián)的訓練圖像的區(qū)域被映射到嵌入空間中的對應的文本標簽以訓練嵌入空間,并且在該過程中,使用嵌入空間對于查詢圖像發(fā)現(xiàn)文本標簽。
圖6是描繪另一示例實現(xiàn)方式中的過程的流程圖,在該過程中,訓練的嵌入空間被用來將多個文本標簽與待注解的圖像的相應的區(qū)域關聯(lián)。
圖7是描繪另一示例實現(xiàn)方式中的過程的流程圖,在該過程中,嵌入空間被生成以將由文本標簽描述的語義概念建模為嵌入空間中的分布。
圖8圖示了包括示例設備的各種部件的示例系統(tǒng),該設備可以被運用于用于這里描述的用于具有多個文本標簽的圖像的嵌入空間的技術的一個或者多個實現(xiàn)方式。
具體實施方式
概述
常規(guī)可視語義嵌入技術利用來自無注解文本數(shù)據(jù)的語義信息以學習在文本標簽之間的語義關系并且將圖像顯式地映射到豐富語義嵌入空間中。雖然這些常規(guī)可視語義嵌入技術用于對具有單個標簽的圖像的圖像任務,但是這樣的常規(guī)技術尚未被擴展用于對具有多個文本標簽的圖像使用。這些缺點使常規(guī)可視語義技術不適合用于多種應用,因為圖像經(jīng)常與多個文本標簽關聯(lián)。此外,將單標簽可視語義模型擴展成多標簽可視語義模型是不平凡任務。常規(guī)可視語義技術的實現(xiàn)方式部分基于圖像標簽與圖像的全部對應的假設。然而,這對于與多個文本標簽關聯(lián)的圖像完全不是這種情況。實際上,多標簽圖像的不同文本標簽可以對應于圖像的不同區(qū)域。
用于具有多個文本標簽的圖像的嵌入空間被描述。如這里所用,“嵌入空間”是指能夠代表已經(jīng)在模型中嵌入的文本標簽和圖像的計算機生成的模型。嵌入空間也能夠代表在嵌入的文本標簽與圖像之間的關系,比如在不同文本標簽之間的語義關系和在圖像與文本標簽之間的對應性。使用這里描述的技術,各自與多個文本標簽關聯(lián)的訓練圖像被用來訓練嵌入空間。一旦嵌入空間被訓練,嵌入空間就可以用來對圖像作注解。具體而言,嵌入空間可以用來發(fā)現(xiàn)用于圖像的多個文本標簽。被發(fā)現(xiàn)的多個文本標簽然后可以與圖像關聯(lián)(例如,通過與圖像包括作為元數(shù)據(jù)或者以其它方式)以對圖像作注解。
再次關于這里使用的嵌入空間,嵌入空間被配代表聯(lián)合圖像-文本嵌入空間,該嵌入空間代表已經(jīng)在嵌入空間中嵌入的文本標簽和圖像(例如,圖像的區(qū)域)二者。具體而言,被嵌入的文本標簽來自為了訓練嵌入空間而被選擇的文本詞匯表,并且可以用來描述在圖像中描繪的語義概念。文本標簽也在嵌入空間中被語義地相關作為訓練嵌入空間的部分。在嵌入空間中將文本標簽語義地相關涉及對在文本標簽之間的關系編碼,這些關系指示由文本標簽描述的語義概念如何接近地被相關。舉例而言,文本詞匯表的文本標簽被語義地相關,從而使得如“太陽”和“日落”的文本標簽比“太陽”和“鳥”的文本標簽被更接近地相關。
除了將文本標簽語義地相關之外,還訓練嵌入空間,從而使得舉例說明由文本詞匯表的文本標簽描述的語義概念的圖像區(qū)域被嵌入在嵌入空間中并且被映射到文本標簽。從已經(jīng)出于訓練嵌入空間的目的而選擇的并且各自與多個文本標簽關聯(lián)的訓練圖像提取被嵌入作為訓練嵌入空間的部分的圖像區(qū)域。在訓練中,圖像區(qū)域被映射到相應的文本標簽,例如,描繪太陽的訓練圖像的區(qū)域可以被映射到嵌入空間中的文本標簽“太陽”,而描繪鳥的訓練圖像的不同區(qū)域可以被映射到嵌入空間中的文本標簽“鳥”。
如以上指出的那樣,用來訓練嵌入空間的訓練圖像中的每個訓練圖像在被用來訓練嵌入空間之前與多個文本標簽關聯(lián),例如,文本標簽與訓練圖像關聯(lián)作為元數(shù)據(jù)。作為訓練嵌入空間的部分,每個訓練圖像被處理以生成訓練圖像的與關聯(lián)于訓練圖像的多個文本標簽對應的區(qū)域的集合。為了生成區(qū)域的集合,根據(jù)區(qū)域提議技術(例如,測地對象提議)初始地處理訓練圖像,其結(jié)果是候選區(qū)域的集合。對于與訓練圖像關聯(lián)的多個標簽的每個個體標簽,選擇被確定與由文本標簽描述的語義概念最佳地匹配的提議的候選區(qū)域。這對于形成用于訓練圖像的區(qū)域到標簽對應性是有效的。另外,這一方式防止圖像以將圖像與最少地相關于圖像的文本標簽相關的方式被嵌入在嵌入空間中。
在為訓練圖像的文本標簽生成區(qū)域的集合之后,在嵌入空間中嵌入?yún)^(qū)域。關于在嵌入空間中“嵌入”區(qū)域,如這里所用,在嵌入空間中“嵌入”區(qū)域涉及提取圖像區(qū)域的特征、將提取的特征轉(zhuǎn)換成代表提取的數(shù)據(jù)的數(shù)據(jù)(例如,矢量)以及在嵌入空間中插入代表以使得區(qū)域由嵌入空間代表。圖像區(qū)域的嵌入也涉及形成嵌入空間中的在插入的代表與對應的文本標簽之間的關系。例如,基于與訓練圖像區(qū)域?qū)亩鄠€文本標簽被嵌入的位置來嵌入訓練圖像的區(qū)域。舉例而言,基于文本標簽“太陽”被嵌入的位置在嵌入空間中嵌入描繪太陽的圖像區(qū)域。對于為訓練圖像而生成的區(qū)域的集合執(zhí)行這一過程。
嵌入空間一旦被訓練就然后可以用來用多個文本標簽對圖像作注解??紤]如下示例,在該示例中接收尚未與文本標簽關聯(lián)的圖像作為用于注解的輸入??梢詫τ诓樵儓D像從訓練的嵌入空間發(fā)現(xiàn)文本標簽以描述查詢圖像的內(nèi)容。為了從訓練的嵌入空間發(fā)現(xiàn)文本標簽,(例如,使用能夠確定圖像的語義有意義區(qū)域的一種或者多種已知技術,比如測地對象提議來)確定查詢圖像的語義有意義區(qū)域。一旦確定了查詢圖像的語義有意義區(qū)域,然后就例如通過比較指示嵌入的區(qū)域的可視特性的矢量和查詢圖像的確定的區(qū)域來在訓練期間比較語義有意義區(qū)域與在嵌入空間中嵌入的圖像區(qū)域?;诒容^,查詢圖像的確定的區(qū)域可以被映射到可視地相似的嵌入的圖像區(qū)域,并且因此也被映射到相似的嵌入的圖像區(qū)域?qū)诘奈谋緲撕灐?/p>
然后用在這一過程中發(fā)現(xiàn)的多個(例如,兩個或者更多個)文本標簽對查詢圖像作注解。例如,可以用預定數(shù)目的如下發(fā)現(xiàn)的標簽對查詢圖像作注解,對于這些發(fā)現(xiàn)的標簽,在查詢圖像的確定的區(qū)域與嵌入的區(qū)域之間的相似性最大,例如,用于查詢圖像的與嵌入的區(qū)域最相似的五個確定的區(qū)域的文本標簽。備選地或者附加地,可以用如下發(fā)現(xiàn)的文本標簽中的每個發(fā)現(xiàn)的文本標簽對查詢圖像作注解,對于這些發(fā)現(xiàn)的文本標簽,在查詢圖像的確定的區(qū)域與嵌入的區(qū)域之間的相似性超過閾值,例如,與嵌入的區(qū)域至少百分之八十五相似的任何確定的區(qū)域的文本標簽。
不同于常規(guī)可視語義嵌入技術,這里描述的技術實現(xiàn)使用具有多個文本標簽的訓練圖像來訓練聯(lián)合圖像-文本嵌入空間,并且實現(xiàn)使用聯(lián)合圖像-文本嵌入空間用多個文本標簽對圖像作注解。這里描述的技術也實現(xiàn)對于與圖像關聯(lián)的多個文本標簽中的每個文本標簽發(fā)現(xiàn)語義有意義區(qū)域。附加地,這里描述的技術在零射(zeroshot)學習中提供較常規(guī)技術而言的優(yōu)點,例如,在嵌入空間的文本標簽先前沒有描述的新類別中對圖像分類。
在以下討論中,首先描述可以運用這里描述的技術的示例環(huán)境。然后描述可以在示例環(huán)境以及其它環(huán)境中執(zhí)行的示例實施細節(jié)和過程。因而,對示例過程的執(zhí)行不限于示例環(huán)境并且示例環(huán)境不限于執(zhí)行示例過程。
示例環(huán)境
圖1是示例實現(xiàn)方式中的環(huán)境100的圖示,環(huán)境100可操作用于運用這里描述的技術。圖示的環(huán)境100包括計算設備102,計算設備102具有包括一個或者多個處理設備(例如,處理器)的處理系統(tǒng)104和一個或者多個計算機可讀存儲介質(zhì)106。圖示的環(huán)境100也包括在計算機可讀存儲介質(zhì)106上體現(xiàn)并且經(jīng)由處理系統(tǒng)104可操作用于實施這里描述的對應的功能的圖像數(shù)據(jù)108、文本標簽110、多實例嵌入模型112、多實例嵌入模塊114(“mie模塊114”)和基于區(qū)域的多標簽圖像116。在至少一些實現(xiàn)方式中,計算設備102包括如以下進一步具體描述的用于訪問各種種類的基于web的資源(內(nèi)容和服務)、與在線提供方交互等等的功能。
計算設備102可被配置為任何適當類型的計算設備。例如,計算設備102可以被配置為服務器、臺式計算機、膝上型計算機、移動設備(例如,假設手持配置,比如平板計算機或者移動電話)、平板計算機、被配置為接收手勢輸入的設備、被配置為接收三維(3d)手勢作為輸入的設備、被配置為接收話音輸入的設備、被配置為接收基于觸筆的輸入的設備、被配置為接收那些輸入的組合的設備等等。因此,計算設備102可以范圍從具有大量存儲器和處理器資源的全資源設備(例如,服務器、個人計算機、游戲控制臺)到具有有限存儲器和/或處理資源的低資源設備(例如,移動設備)。附加地,雖然示出了單個計算設備102,但是計算設備102可以代表用于如關于圖8進一步描述的那樣“在云之上”執(zhí)行操作的多個不同設備。
環(huán)境100還描繪被配置為通過網(wǎng)絡120(比如因特網(wǎng))與計算設備102通信以提供“基于云”的計算環(huán)境的一個或者多個服務提供方118。一般而言,服務提供方118被配置為使各種資源122通過網(wǎng)絡120可用于客戶端。在一些場景中,用戶簽注被運用以訪問來自提供方的對應的資源的賬戶。提供方在批準對賬戶和對應的資源122的訪問之前認證用戶的證書(例如,用戶名和口令)。使其它資源122自由地可用(例如,無認證或者基于賬戶的訪問)。資源122可以包括通常地由一個或者多個提供方通過網(wǎng)絡使其可用的服務和/或內(nèi)容的任何適當組合。服務的一些示例包括但不限于圖像存儲和/或共享服務(例如,
這些服務用作為大量圖像數(shù)據(jù)的來源。圖像數(shù)據(jù)108代表可以在包括但不限于jpeg、tiff、raw、gif、bmp、png等的多種圖像格式中的任何圖像格式中被格式化的這樣的圖像數(shù)據(jù)。通過服務使其可用的圖像數(shù)據(jù)可以由具有與那些服務的賬戶的用戶發(fā)表。例如,具有與圖像存儲和/或共享服務的賬戶的用戶上傳圖像,比如利用用戶的數(shù)字相機拍攝的圖像,或者經(jīng)由電子手段向用戶發(fā)送的圖像。圖像存儲和/或共享服務的用戶然后可以比如通過提供指向圖像的相冊或者指向用戶的簡檔的鏈接來與其他人共享他們的上傳的圖像。
附加地,圖像能夠與附加信息關聯(lián)以描述圖像。例如,由圖像數(shù)據(jù)108代表的圖像可以包括描述圖像的元數(shù)據(jù)。舉例而言,圖像的元數(shù)據(jù)可以描述圖像的按像素的大小、圖像的存儲大小、用來捕獲圖像的相機設備、捕獲圖像的日期、上次修改圖像的日期等等。附加地,由圖像數(shù)據(jù)108代表的圖像可以與描述在圖像中描繪的內(nèi)容的元數(shù)據(jù)關聯(lián)。例如,元數(shù)據(jù)可以被配置為文本標簽,并且可以用描述圖像的內(nèi)容的那些文本標簽對圖像作注解。這樣的文本標簽可以描述在圖像中描繪的對象(以及圖像的描繪對象的位置)、在圖像中描繪的景象(例如,圖像是否描繪海灘或者日落)、與在圖像中描繪的人臉或者臉部表情關聯(lián)的情緒、圖像審美(例如,良好組成、不良組成、遵守三分法等)、圖像感情(例如,恐懼、憤怒等)等等。廣而言之,文本標簽110代表可以用來對圖像作注解的多種文本標簽。
mie模塊114代表用來實施如這里描述的用于具有多個文本標簽的圖像的嵌入空間的技術的功能。作為這樣做的部分,mie模塊114創(chuàng)建被配置為聯(lián)合圖像-文本嵌入空間的嵌入空間?!奥?lián)合圖像-文本嵌入空間”意味著可以在其中嵌入文本標簽110和來自圖像數(shù)據(jù)108的代表性圖像(例如,圖像的區(qū)域)二者。多實例嵌入模型112代表這樣的嵌入空間。另外,mie模塊114代表如下功能,該功能用于訓練多實例嵌入模型112,從而使得在圖像區(qū)域給定時,多實例嵌入模型112可以用來發(fā)現(xiàn)文本標簽,該文本標簽描述在圖像區(qū)域中描繪的內(nèi)容。
為了訓練多實例嵌入模型112,mie模塊114根據(jù)由文本標簽描述的語義概念來將在多實例嵌入模型112中嵌入的文本標簽語義地相關。例如,mie模塊114將文本標簽語義地相關,從而使得文本標簽“太陽”和“日落”在多實例嵌入模型112中比文本標簽“太陽”和“鳥”被更接近地定位。
mie模塊114也使用可以作為圖像數(shù)據(jù)108的部分而被包括的訓練圖像來訓練多實例嵌入模型112。訓練圖像各自在訓練之前已經(jīng)與描述描繪的內(nèi)容的多個文本標簽關聯(lián)。對于每個訓練圖像,mie模塊114處理圖像以生成圖像的與訓練圖像的多個文本標簽對應的區(qū)域的集合。因此,mie模塊114形成用于每個訓練圖像的區(qū)域到標簽對應性,從而使得訓練圖像的區(qū)域被選擇以代表多個文本標簽中的每個文本標簽。
mie模塊114然后將區(qū)域的集合嵌入到多實例嵌入模型112中。具體而言,mie模塊114基于區(qū)域的對應的標簽被嵌入的位置來將區(qū)域嵌入到多實例嵌入模型112中。例如,在訓練圖像與文本標簽“太陽”關聯(lián)時,選擇訓練圖像的與“太陽”對應的區(qū)域。mie模塊114然后至少部分地基于多實例嵌入模型112中的其中嵌入文本標簽“太陽”的位置來嵌入訓練圖像的與“太陽”對應的區(qū)域。mie模塊114可以對于訓練圖像的集合中的每個訓練圖像執(zhí)行這一過程。通過用訓練圖像訓練多實例嵌入模型112,學習映射函數(shù)。在圖像(例如,圖像區(qū)域)給定時,映射函數(shù)能夠?qū)⒔o定的圖像映射到多實例嵌入模型112中的位置。然后確定給定的圖像對應于在多實例嵌入模型112中嵌入的與給定的圖像被映射到的位置最近的文本標簽。
在一個或者多個實現(xiàn)方式中,多實例嵌入模型112被配置為將由文本標簽描述的和由代表性圖像描繪的語義概念建模為分布,例如,高斯分布、高斯混合等等。這與將語義概念代表為單個點的技術形成對照。將與多個文本標簽關聯(lián)的圖像嵌入到可視語義嵌入空間中的單個點可能使可視語義映射函數(shù)被容易地混淆,例如,使技術在預測在圖像中描繪的內(nèi)容時更不準確。
附加地,mie模塊114表示用于對圖像作注解的功能?!白⒔狻币馕吨枋鲈趫D像中描繪的內(nèi)容的文本標簽可以被選擇并且與圖像關聯(lián)。為了對圖像作注解,mie模塊114確定圖像的區(qū)域的集合。具體而言,mie模塊114例如使用已知技術(比如測地對象提議,因為它覆蓋前景區(qū)域和背景區(qū)域二者)來從圖像提取被確定為語義有意義的區(qū)域。mie模塊114然后通過使用學習的映射函數(shù)將區(qū)域映射到文本標簽來發(fā)現(xiàn)用于區(qū)域的文本標簽。使用映射函數(shù),mie模塊114可以確定在多實例嵌入模型112中嵌入的圖像中的哪些圖像與待注解的區(qū)域相似,并且關聯(lián)與相似的嵌入的圖像對應的文本標簽與待注解的區(qū)域。
以這一方式,圖像可以初始地與大量文本標簽關聯(lián),例如,每個文本標簽用于確定的區(qū)域中的一個區(qū)域。然而,可以減少文本標簽的數(shù)目,從而使得用被確定為最代表圖像內(nèi)容的標簽對圖像作注解。例如,mie模塊114可以用預定數(shù)目的文本標簽對圖像作注解。在這一場景中,mie模塊114選擇預定數(shù)目的如下文本標簽,對于這些文本標簽,圖像的區(qū)域與在多實例嵌入模型112中嵌入的圖像最相似。備選地,mie模塊114選擇用于待注解的圖像的可變數(shù)目的文本標簽。在這一備選場景中,選擇的文本標簽的數(shù)目可以基于閾值相似度,從而使得對于圖像的任何如下區(qū)域(對于這些區(qū)域,與嵌入的圖像的相似度在閾值相似度以上),發(fā)現(xiàn)的文本標簽用來對圖像作注解。在任何情況下,基于區(qū)域的多標簽圖像116代表mie模塊114通過確定圖像區(qū)域和使用多實例嵌入模型112以發(fā)現(xiàn)用于圖像區(qū)域的標簽來用多個文本標簽作注解的圖像。
在一個或者多個實現(xiàn)方式中,mie模塊114可實施為軟件模塊、硬件設備或者使用軟件、硬件、固件、固定邏輯電路裝置等的組合可實施。另外,mie模塊114可以可實施為如圖所示的計算設備102的單獨部件。附加地或者備選地,mie模塊114可以被配置為web服務的部件、應用、計算設備102的操作系統(tǒng)、插件模塊或者如關于圖8進一步描述的其它設備應用。
已經(jīng)考慮了示例環(huán)境,現(xiàn)在考慮對根據(jù)一個或者多個實現(xiàn)方式的用于具有多個文本標簽的圖像的嵌入空間的技術的一些示例細節(jié)的討論。
用于有多個文本標簽的圖像的嵌入空間
這一節(jié)描述根據(jù)一個或者多個實現(xiàn)方式的用于針對具有多個文本標簽的圖像的嵌入空間的技術的一些示例細節(jié)。該討論參照圖2,圖2圖示了具有多個文本標簽的圖像并且圖示了與這里描述的功能有關的概念。
具體而言,圖2大體地在200處描繪了具有文本標簽204、206、208、210、212的圖像202。圖2也描繪了圖像區(qū)域214、216、218、220。圖像202可以代表訓練圖像,該訓練圖像已經(jīng)與文本標簽204、206、208、210、212關聯(lián),并且對于該訓練圖像,mie模塊114選擇圖像區(qū)域214、216、218、220與文本標簽對應,例如,圖像區(qū)域214與文本標簽208對應、圖像區(qū)域216與文本標簽206對應、圖像區(qū)域218與文本標簽204對應、圖像區(qū)域220與文本標簽210對應并且代表圖像202的全部的圖像區(qū)域與文本標簽212對應。備選地,圖像202可以代表由mie模塊114作注解的圖像,從而使得mie模塊114生成用于圖像202的提出的區(qū)域、使用多實例嵌入模型112來發(fā)現(xiàn)用于提出的區(qū)域的文本標簽并且從發(fā)現(xiàn)的文本標簽選擇與圖像區(qū)域214、216、218、220(以及與圖像的全部對應的區(qū)域)對應的文本標簽204、206、208、210、212以用于描述圖像202的內(nèi)容。
圖3大體地在300處描繪了其中文本標簽和被映射到文本標簽的圖像區(qū)域二者可以被嵌入的示例嵌入空間。具體而言,圖3包括聯(lián)合圖像-文本嵌入空間302(其可以對應于圖1的多實例嵌入模型112)、圖像數(shù)據(jù)庫304(其包括由mie模塊114用來訓練聯(lián)合圖像-文本嵌入空間302的圖像)和文本詞匯表306(其可以對應于圖1的可用來描述在圖像中描繪的語義概念的文本標簽110)。
聯(lián)合圖像-文本嵌入空間302被配置為讓文本標簽和圖像(全部圖像和圖像的部分)二者嵌入在其中。圖像數(shù)據(jù)庫304和文本詞匯表306分別代表圖像和文本標簽,mie模塊114使用這些圖像和文本標簽以訓練聯(lián)合圖像-文本嵌入空間302,例如,從而使得聯(lián)合圖像-文本嵌入空間302可以用來發(fā)現(xiàn)描述圖像的內(nèi)容的文本標簽。組成文本詞匯表306的文本標簽被配置為描述可以在圖像內(nèi)容中展示的語義概念。圖像數(shù)據(jù)庫304的圖像描繪舉例說明由文本詞匯表306的文本標簽描述的語義概念的圖像內(nèi)容。
在訓練中,mie模塊114將在文本詞匯表306內(nèi)的文本標簽語義地相關。例如,取得用于“樹木”的文本標簽308。mie模塊114表示如下功能,其用于例如通過在聯(lián)合圖像-文本嵌入空間302中的位置處嵌入文本標簽308、310、312來將用于“樹木”的文本標簽308語義地相關到用于“女人”的文本標簽310和用于“建筑”的文本標簽312。文本標簽在聯(lián)合圖像-文本嵌入空間302中被嵌入的位置依賴于由文本標簽描述的語義概念多么接近地被相關。舉例而言,用于“樹木”的文本標簽308可以被嵌入在聯(lián)合圖像-文本嵌入空間302中,從而使得它被定位得比與用于“女人”的文本標簽310和用于“建筑”的文本標簽312更接近用于“松樹”、“森林”和“植物”(未示出)的文本標簽。
在圖3中,在表示相應的文本標簽的填入形狀旁邊圖示了文本標簽308、310、312中的每個文本標簽,例如,在填入星號旁邊圖示了用于“樹木”的文本標簽308,在填入十字形旁邊圖示了用于“女人”的文本標簽310,并且在填入x旁邊圖示了用于“建筑”的文本標簽312。也在聯(lián)合圖像-文本嵌入空間302中包括這些填入形狀中的每個填入形狀以代表對文本標簽308、310、312的嵌入。應當認識到聯(lián)合圖像-文本嵌入空間302的描繪的形狀和填入形狀的描繪的位置可能沒有準確地反映聯(lián)合圖像-文本嵌入空間302的實際形式或者mie模塊114實際地嵌入文本標簽308、310、312的位置。實際上,聯(lián)合圖像-文本嵌入空間302的描繪的形狀和填入形狀的描繪的位置對于說明這里描述的技術有用。
mie模塊114也將圖像數(shù)據(jù)庫304中的圖像相關到文本詞匯表306的文本標簽。如以上提到的那樣,圖像數(shù)據(jù)庫304的訓練圖像可以描繪舉例說明由文本詞匯表306的文本標簽描述的語義概念的圖像內(nèi)容。為了將圖像相關到文本標簽,mie模塊114部分基于對應的文本標簽的位置在聯(lián)合圖像-文本嵌入空間302中的位置處嵌入每個圖像。換而言之,mie模塊114將每個圖像映射到描述圖像的圖像內(nèi)容的文本標簽,并且基于該文本標簽的位置嵌入圖像。
例如,圖像數(shù)據(jù)庫304的描繪樹木的圖像基于用于“樹木”的文本標簽308被嵌入的位置而被嵌入在聯(lián)合圖像-文本嵌入空間302中,例如,mie模塊114將描繪樹木的圖像映射到用于“樹木”的文本標簽308。以相似方式,描繪女人的圖像基于用于“女人”的文本標簽310被嵌入的位置被嵌入,并且描繪建筑的圖像基于用于“建筑”的文本標簽312被嵌入的位置被嵌入。換而言之,圖像在比與其它文本標簽更接近圖像對應于的文本標簽的位置被嵌入在聯(lián)合圖像-文本嵌入空間302中。圖像也被嵌入在聯(lián)合圖像-文本嵌入空間302中比與更不接近地相關的語義概念對應的圖像更接近與接近地相關的語義概念對應的圖像。舉例而言,樹木的圖像一般地比與建筑的圖像或者婦女的圖像更接近松樹和森林的圖像被嵌入在聯(lián)合圖像-文本嵌入空間302中。
在圖3中,圖像集合314代表圖像數(shù)據(jù)庫304的描繪樹木的圖像,圖像集合316代表圖像數(shù)據(jù)庫304的描繪婦女的圖像,并且圖像集合318代表圖像數(shù)據(jù)庫304的描繪建筑的圖像。用表示圖像的未填充形狀圖示每個圖像集合314、316、318的圖像,例如,用未填充星形圖示圖像集合314的圖像(其描繪樹木),用未填充十字形圖示圖像集合316的圖像(其描繪女人),并且用未填充“x”圖示圖像集合318的圖像(其描繪建筑)。
也在聯(lián)合圖像-文本嵌入空間302中包括這些未填充形狀以代表對來自圖像集合314、316、318的圖像的嵌入,這些圖像的位置基于對應的文本標簽308、310、312被嵌入的位置。因而,在填入星形周圍圖示了代表描繪樹木的圖像的未填充星形,這些未填充星形代表用于“樹木”的文本標簽308,在填入十字周圍圖示了代表描繪女人的圖像的未填充十字,這些未填充十字代表用于“女人”的文本標簽310,并且在填入x周圍圖示了代表描繪建筑的圖像的未填充x,這些未填充x代表用于“建筑”的文本標簽312。
關于在聯(lián)合圖像-文本嵌入空間302中嵌入的代表性圖像,mie模塊114從訓練圖像提取它們作為區(qū)域。因此,描繪女人的圖像的集合314可以對應于從訓練圖像提取的區(qū)域(例如,圖像的少于全部的部分)。廣而言之,為了訓練聯(lián)合圖像-文本嵌入空間302,mie模塊114從各自與多個文本標簽關聯(lián)的訓練圖像開始。舉例而言,mie模塊114從訓練圖像(比如已經(jīng)與文本標簽204、206、208、210、212關聯(lián)的圖像202)開始。
對于每個訓練圖像,mie模塊114生成與訓練圖像的文本標簽對應的區(qū)域的集合??紤]圖2的示例,在該示例中,圖像202與文本標簽204、206、208、210、212關聯(lián)。在這一示例中,mie模塊114可以生成與文本標簽204、206、208、210、212中的每個文本標簽對應的區(qū)域,從而使得圖像區(qū)域214對應于用于“女人”的文本標簽208,圖像區(qū)域216對應于用于“埃菲爾鐵塔”的文本標簽206,圖像區(qū)域218對應于用于“包”的文本標簽204,圖像區(qū)域220對應于用于“建筑”的文本標簽210,并且代表圖像202的全部的圖像區(qū)域?qū)谟糜凇岸际酗L景”的文本標簽212。
為了生成與訓練圖像的文本標簽對應的區(qū)域,mie模塊114初始地將區(qū)域提議技術應用于訓練圖像。例如,mie模塊114應用測地對象提議技術、隨機區(qū)域提議技術等中的至少一種技術。圖像的語義有意義區(qū)域并非僅包括在圖像的前景中描繪的對象。實際上,圖像的背景部分也可以語義有意義。與一般對象提議技術形成對照,由mie模塊114使用的區(qū)域提議技術覆蓋圖像的前景區(qū)域和背景區(qū)域二者以提議圖像區(qū)域。
一旦為訓練圖像提議了候選區(qū)域的集合,mie模塊114就丟棄提議的候選區(qū)域中的至少一些提議的候選區(qū)域。mie模塊114使用的由對象提議技術最初提議的候選區(qū)域的數(shù)目可以是數(shù)千個,并且使用提議的候選區(qū)域中的每個提議的候選區(qū)域用于訓練將使計算資源有大量負擔。因而,mie模塊114可以應用一種或者多種后處理技術以丟棄提出的候選區(qū)域中的至少一些提出的候選區(qū)域。例如,mie模塊114可以應用一種或者多種后處理技術以丟棄未能滿足預定義的大小標準或者縱橫比標準的提議的候選區(qū)域。舉例而言而非限制,預定義的大小標準可以指定為了使用提議的候選區(qū)域,提議的候選區(qū)域的邊將是圖像的對應的邊的長度的至少百分之三十,例如,對于400像素×500像素的圖像,mie模塊114通過丟棄具有小于120像素×150像素的大小的任何提出的候選區(qū)域來實行標準。關于示例縱橫比,預定義的縱橫比標準可以指定為了使用提出的候選區(qū)域,提出的候選區(qū)域的縱橫比將在1:4與4:1之間。
從剩余的提出的候選區(qū)域,mie模塊114然后向訓練圖像的每個文本標簽聯(lián)合地指派最佳匹配的候選區(qū)域以構(gòu)建區(qū)域到標簽對應性。在這樣做時,mie模塊114被配置為使用單標簽嵌入模型。這具有丟棄甚至更大數(shù)目的提出的候選區(qū)域以使得剩余區(qū)域的數(shù)目對應于與圖像關聯(lián)的文本標簽的數(shù)目的效果。mie模塊114然后將這些區(qū)域嵌入到聯(lián)合圖像-文本嵌入空間302中。參照圖2中的示例并且在其中圖像202用來訓練聯(lián)合圖像-文本嵌入空間302的場景中,mie模塊可以將由區(qū)域提議技術提議的數(shù)千個候選區(qū)域減少成圖像區(qū)域214、216、218、220以及與圖像202的全部對應的區(qū)域。
為了在聯(lián)合圖像-文本嵌入空間302中嵌入訓練圖像的區(qū)域,mie模塊114計算用于區(qū)域的d維特征矢量。mie模塊114可以例如通過用卷積神經(jīng)網(wǎng)絡(cnn)(例如,包括卷積、匯合(pooling)和起始層的cnn)提取圖像特征來計算用于區(qū)域的特征矢量。在一個具體示例中,mie模塊114用快速的基于區(qū)域的cnn(rcnn)技術來提取圖像特征。換而言之,在訓練圖像和將在聯(lián)合圖像-文本嵌入空間302中嵌入的區(qū)域給定時,mie模塊114單次通過cnn傳遞訓練圖像。mie模塊114然后可以將生成的區(qū)域的集合的每個區(qū)域匯合成固定大小的特征映射以獲得最終特征矢量。
考慮如下示例,在該示例中,mie模塊114使用各自與多個文本標簽關聯(lián)的訓練圖像的集合來訓練聯(lián)合圖像-文本嵌入空間302。這樣的訓練圖像的集合可以被定義為
為了簡化,待嵌入的訓練圖像的集合可以被表示為
取代如這些常規(guī)技術所做的那樣將文本標簽定義為離散集合,可視語義模型學習連續(xù)語義空間s,該連續(xù)語義空間s捕獲在文本標簽之間的語義關系并且顯式地學習從訓練圖像的集合x到連續(xù)語義空間s的映射函數(shù)(x→s)。因此,mie模塊114被配置為構(gòu)造圖像標簽訓練數(shù)據(jù)對{(xi,s(yi))}以學習用于聯(lián)合圖像-文本嵌入空間302的映射函數(shù)f:x→s。mie模塊114學習映射函數(shù)以便將訓練圖像的集合的第i個圖像xi映射到聯(lián)合圖像-文本嵌入空間302。mie模塊114將這學習為與第i個圖像xi關聯(lián)的文本標簽的集合yi的函數(shù)s(yi)。函數(shù)s(yi)被學習,從而使得使用的標簽的集合y被映射到連續(xù)語義空間s,從而使得s:y→s。
在一個或者多個實現(xiàn)方式中,mie模塊114被配置為使用用未注解文本數(shù)據(jù)(例如,來自因特網(wǎng)的未注解文本數(shù)據(jù))訓練的文本建模架構(gòu)技術來學習連續(xù)語義標簽空間s(例如,在文本標簽之間的關系)。文本建模架構(gòu)使mie模塊114能夠?qū)W習用于語義相關的文本標簽的相似嵌入位置,因為同義詞更可能出現(xiàn)在相似語義情境中。舉例而言,mie模塊114使用glove模型以構(gòu)造將在文本標簽之間的語義關系具體化的300維文本標簽空間s。
關于學習映射函數(shù),一些常規(guī)可視語義方式用l2損耗函數(shù)或者排行損耗函數(shù)學習用于嵌入空間的映射函數(shù)f:x→s。一般而言,這樣的函數(shù)鼓勵用于給定的圖像的投影的嵌入點更接近它在嵌入空間中的對應的標簽。以下是由常規(guī)可視語義方式使用的這樣的排行損耗函數(shù)的示例,具體而言,它對應于按對鉸接排行損耗函數(shù):
這里,項f(·)代表待學習的映射函數(shù),項m代表裕度。為了符號表示簡化,使用y取代s(y)以表示連續(xù)語義標簽空間s中的標簽矢量。另外,τ+表示正文本標簽的集合,τ-表示負文本標簽的集合,
然而,使用以上指出的按對鉸接排行函數(shù)的常規(guī)可視語義方式具有缺點。例如,雖然每個圖像xi可以對應于文本標簽的集合yi中的多個標簽,但是那些標簽的一對或者多對可以被嵌入在連續(xù)語義標簽空間s中的相互相對地遠離的位置中。因此,推動對整個圖像f(xi)的嵌入,從而使得第i個圖像xi被嵌入在嵌入空間中的與多個文本標簽(這些文本標簽被嵌入在相互相對地遠離的位置)接近的位置可能引起映射函數(shù)的誤差。附加地或者備選地,這樣做可能造成將圖像xi映射到標簽矢量的平均位置,從而使得平均位置對應于與由個體文本標簽描述的概念不同的語義概念。
與常規(guī)可視語義嵌入技術形成對照,mie模塊114被配置為在一個或者多個實現(xiàn)方式中使用以下?lián)p耗函數(shù)以學習用于聯(lián)合圖像-文本嵌入空間302的多實例嵌入:
這里,項
在一個或者多個實現(xiàn)方式中,mie模塊114優(yōu)化對用于訓練圖像的區(qū)域的預測的文本標簽的排行。為了這樣做,mie模塊114使用調(diào)整的多實例嵌入損耗公式,該公式鼓勵正文本標簽(例如,與訓練圖像關聯(lián)的文本標簽)具有比大多數(shù)負文本標簽更小的min距離。以這一方式,mie模塊114將正文本標簽排行在用于訓練圖像的給定的區(qū)域的預測的文本標簽的列表的頂部。換而言之,mie模塊114懲罰將正文本標簽排行在列表的底部的錯誤預測。舉例而言,mie模塊114可以被配置為根據(jù)以下調(diào)整的公式優(yōu)化對預測的文本標簽的排行:
這里,項w(·)是權(quán)值函數(shù),并且項rj是正文本標簽在用于訓練圖像的給定的區(qū)域的預測的文本標簽的列表中的排行。在一個或者多個實現(xiàn)方式中,mie模塊114根據(jù)以下公式確定項rj:
這里,1(·)是指示符函數(shù),mie模塊114對于第i個圖像xi使用該指示符函數(shù)以根據(jù)預測的文本標簽yt(例如,在聯(lián)合圖像-文本嵌入空間302中)與區(qū)域的集合c中的每個區(qū)域的距離來對它排行。具體而言,mie模塊114將排行計算為由項
這里,項#(τ+)代表與第i個圖像xi關聯(lián)的文本標簽的數(shù)目。因此,如果與第i個圖像xi關聯(lián)的文本標簽之一是預測列表中的前#(τ+)個文本標簽之一,則mie模塊114通過向權(quán)值指派更小數(shù)來懲罰損耗。例如,如果第i個圖像xi與五個文本標簽關聯(lián)并且關聯(lián)的文本標簽之一是為圖像而預測的文本標簽的列表中的前五個排行的標簽之一,則mie模塊114通過向權(quán)值指派更小數(shù)來懲罰計算出的損耗。對照而言,如果與第i個圖像xi關聯(lián)的標簽之一不是預測列表中的前#(τ+)個文本標簽之一,則mie模塊114通過向權(quán)值指派更大數(shù)來懲罰損耗。
繼續(xù)其中第i個圖像xi與五個文本標簽關聯(lián)的示例,考慮如下場景,在該場景中,關聯(lián)的文本標簽之一不是為圖像而預測的文本標簽的列表中的前五個排行的標簽之一。在這一情況中,mie模塊114通過向權(quán)值指派更大數(shù)來懲罰計算出的損耗。通過以這一方式向損耗函數(shù)應用懲罰,mie模塊114將語義有意義標簽映射得更接近它們在聯(lián)合圖像-文本嵌入空間302中的對應的標簽。在訓練圖像(例如,在圖像數(shù)據(jù)庫304中包括的訓練圖像)的區(qū)域被映射到聯(lián)合圖像-文本嵌入空間302中的文本標簽(例如,在文本詞匯表306中包括的文本標簽)之后,它可以由mie模塊114用來發(fā)現(xiàn)用于未注解圖像的文本標簽。
考慮如下示例,其中例如結(jié)合對圖像編索引以用于搜索來向mie模塊114給定待注解的圖像x’。以與為訓練圖像生成區(qū)域的相似方式,mie模塊114生成用于待注解的圖像x’的區(qū)域的集合c’,例如,mie模塊114將區(qū)域提議技術(例如,測地對象提議或者隨機區(qū)域提議)應用于待注解的圖像,然后將后處理技術應用于提議的區(qū)域以減少用于待注解的圖像的提議的區(qū)域的數(shù)目。
mie模塊114然后通過聯(lián)合圖像-文本嵌入空間302傳遞待注解的圖像和從其生成的區(qū)域的集合以獲得用于區(qū)域中的每個區(qū)域的嵌入矢量。在以上討論的映射函數(shù)給定時,mie模塊114計算用于待注解的圖像的區(qū)域的集合的嵌入矢量,從而使得為給定的區(qū)域c獲得嵌入矢量f(x′c)。然后對于聯(lián)合圖像-文本嵌入空間302中的文本標簽y’中的任何文本標簽,mie模塊114通過
mie模塊114然后對為待注解的圖像確定的文本標簽排行。具體而言,mie模塊114根據(jù)在區(qū)域的嵌入矢量與相應的文本標簽之間的距離對確定的文本標簽排行,從而使得與相應的區(qū)域的距離更少的文本標簽被更有利地排行。因而,與相應的區(qū)域的距離最小的確定的文本標簽是最高排行的文本標簽。使用排行,mie模塊114生成被確定為與待注解的圖像的區(qū)域?qū)奈谋緲撕灥呐判械牧斜?。mie模塊114然后可以用來自列表的預定數(shù)目的標簽對待注解的圖像作注解。舉例而言而非限制,mie模塊114可以用來自與區(qū)域?qū)奈谋緲撕灥牧斜淼那拔鍌€排行的文本標簽對待注解的圖像作注解。無論預定數(shù)目如何,mie模塊114都被配置為使用聯(lián)合圖像-文本嵌入空間302以用多個文本標簽對圖像作注解。
如以上簡要地描述的那樣,聯(lián)合圖像-文本嵌入空間302也被配置為將由文本標簽描述的并且代表性圖像被映射到的語義概念建模為分布,例如,高斯分布、高斯混合等。
圖4在400處描繪了嵌入空間的示例,該嵌入空間將由文本標簽描述的語義概念代表為分布。具體而言,示例400描繪了包括分布404、406、408的聯(lián)合圖像-文本嵌入空間402。分布404、406、408可以例如分別代表樹木、蘋果和水果這些語義概念。應當注意到,在分布404、406、408之間有一些重疊,該重疊代表由文本標簽代表的語義概念可以重疊。換而言之,由用于“樹木”、“蘋果”和“水果”的文本標簽代表的語義概念可以重疊,部分因為蘋果可以對應于樹木并且也可以對應于水果。因而,語義概念被建模為聯(lián)合圖像-文本嵌入空間402中的分布而不是被建模為單個點。
mie模塊114學習聯(lián)合圖像-文本嵌入空間402以通過對由文本標簽描述的每個語義概念建模來生成它。舉例而言,mie模塊114將語義概念中的每個語義概念建模為高斯分布如下:
這里,項m代表用來訓練聯(lián)合圖像-文本嵌入空間402的文本詞匯表中的文本標簽的數(shù)目。項tk代表文本詞匯表中的第k個文本標簽t,項μk代表第k個文本標簽t的矢量(例如,從用于文本標簽代表的glove模型獲得的文本標簽的glove特征),項∑k代表被初始化到聯(lián)合圖像-文本嵌入空間402的單位矩陣,并且n(·)代表分布建模函數(shù)(例如,標準高斯分布,但是可以使用其它分布)。在一個或者多個實現(xiàn)方式中,mie模塊114通過深度神經(jīng)網(wǎng)絡來學習用于聯(lián)合圖像-文本嵌入空間402的分布。mie模塊114可以通過卷積神經(jīng)網(wǎng)絡(cnn)來代表訓練圖像的集合中的給定的圖像i,并且可以根據(jù)損耗函數(shù)(例如,排行損耗)來初始化用于圖像的圖像嵌入權(quán)值。關于項∑k,mie模塊114通過最小化用于訓練圖像的集合中的每個圖像i的損耗來如下學習它:
參照這一等式,mie模塊114被配置為將用于給定的圖像i的正文本標簽ti建模為n(μi,∑i),并且將用于給定的圖像的負文本標簽tn建模為n(μn,∑n)。如在以上等式中那樣,m代表裕度項。
雖然主要地參照高斯分布描述了將語義概念建模為嵌入空間中的分布的實現(xiàn)方式,但是應當認識到,mie模塊114被配置為使用多種其它分布對由嵌入空間中的文本標簽描述的語義概念建模而未脫離這里描述的技術的精神實質(zhì)或者范圍。舉例而言而非限制,mie模塊114也能夠?qū)⒂汕度肟臻g中的文本標簽描述的語義概念建模為高斯混合、對數(shù)正態(tài)分布、pareto分布等等。
通過將由文本標簽描述的語義概念建模為分布而不是單個點,這里描述的技術使語義概念能夠重疊。這造成生成嵌入空間,該嵌入空間比將語義概念建模為單個點的嵌入空間更準確地代表在語義概念之間的關系,例如,因為許多語義概念重疊。例如,太陽和日落這些語義概念重疊,但是太陽和日出這些語義概念也是這樣。在任何情況下,mie模塊114被配置為生成將由文本詞匯表的文本標簽描述的語義概念建模為分布的嵌入空間。
已經(jīng)討論了用于具有多個文本標簽的圖像的嵌入空間的技術的示例細節(jié),現(xiàn)在考慮一些示例過程以舉例說明技術的附加方面。
示例過程
這一節(jié)描述了一個或者多個實現(xiàn)方式中的用于針對具有多個文本標簽的圖像的嵌入空間的示例過程??梢栽谟布⒐碳蛘哕浖蛘咚鼈兊慕M合中實施過程的方面。過程被示出為指定由一個或者多個設備執(zhí)行的操作的塊的集合而未必限于所示的用于由相應的塊執(zhí)行操作的順序。在至少一些實現(xiàn)方式中,過程由適當?shù)嘏渲玫脑O備(比如圖1的利用mie模塊114的示例計算設備102)執(zhí)行。
圖5描繪了示例過程500,在該過程中,與多個文本標簽關聯(lián)的訓練圖像的區(qū)域被映射到嵌入空間中的對應的文本標簽以訓練嵌入空間,并且在該過程中,使用嵌入空間為查詢圖像發(fā)現(xiàn)文本標簽。與多個文本標簽關聯(lián)的訓練圖像被處理以生成與相應的多個文本標簽對應的圖像區(qū)域的集合(塊502)。
例如,假設圖像202對應于訓練圖像并且已經(jīng)與文本標簽204、206、208、210、212關聯(lián)。在這一場景中,mie模塊114處理圖像202以生成圖像區(qū)域214、216、218、220以對應于文本標簽,從而使得圖像區(qū)域214被生成以對應于文本標簽208,圖像區(qū)域216被生成以對應于文本標簽206,圖像區(qū)域218被生成以對應于文本標簽204,圖像區(qū)域220被生成以對應于文本標簽210,并且代表圖像202的全部的圖像區(qū)域被生成以對應于文本標簽212。如以上更具體討論的那樣,mie模塊114通過應用區(qū)域提議技術并且對提議的候選區(qū)域執(zhí)行后處理技術來生成圖像區(qū)域。mie模塊114也通過例如基于在區(qū)域?qū)⒃谇度肟臻g中被嵌入的位置與嵌入空間中的文本標簽的位置之間的距離選擇用于文本標簽204、206、208、210、212中的每個文本標簽的最佳匹配區(qū)域來生成對應的區(qū)域。
在被配置為嵌入文本標簽和被映射到文本標簽的圖像區(qū)域二者的嵌入空間內(nèi)嵌入?yún)^(qū)域的集合(塊504)。另外,至少部分基于與訓練圖像的圖像區(qū)域?qū)亩鄠€文本標簽在嵌入空間中被嵌入的位置來嵌入?yún)^(qū)域的集合。并且對區(qū)域集合的嵌入與嵌入其它訓練圖像的區(qū)域的集合一起對學習映射函數(shù)有效。舉例而言,mie模塊114在聯(lián)合圖像-文本嵌入空間302中嵌入圖像區(qū)域214、216、218、220和對應于圖像202的全部的圖像區(qū)域。mie模塊114也至少部分基于文本標簽204、206、208、210、212在聯(lián)合圖像-文本嵌入空間302中被嵌入的位置來這樣做。
如以上更具體討論的那樣,mie模塊114例如通過用卷積神經(jīng)網(wǎng)絡(cnn)(比如快速的基于區(qū)域的cnn(rcnn)技術)提取圖像特征來計算用于圖像區(qū)域214、216、218、220和對應于圖像202的全部的圖像區(qū)域中的每個圖像區(qū)域的特征矢量,以在聯(lián)合圖像-文本嵌入空間302中嵌入它們。附加地,在mie模塊114在聯(lián)合圖像-文本嵌入空間302中嵌入圖像區(qū)域214、216、218、220和對應于圖像202的全部的圖像區(qū)域時,mie模塊114將區(qū)域映射到對應的文本標簽以學習映射函數(shù),例如,從而使得無文本標簽的圖像和圖像區(qū)域可以被映射到聯(lián)合圖像-文本嵌入空間302中的位置。
一旦嵌入空間被訓練,學習的映射函數(shù)就可用來從用于圖像的嵌入空間發(fā)現(xiàn)文本標簽以例如用于圖像加標記、用于基于多文本的圖像搜索(以將圖像標識為對應于搜索)、圖像加字幕等等。使用訓練的嵌入空間來發(fā)現(xiàn)與查詢圖像的圖像區(qū)域?qū)奈谋緲撕?塊506)。為了發(fā)現(xiàn)文本標簽,向?qū)W習的映射函數(shù)中輸入圖像區(qū)域,該映射函數(shù)將圖像區(qū)域映射到嵌入空間的文本標簽。
現(xiàn)在假設圖像202對應于查詢圖像并且文本標簽204、206、208、210、212尚未與圖像202關聯(lián)。在這一場景中,圖像區(qū)域214、216、218、220和對應于圖像202的全部的圖像區(qū)域到聯(lián)合圖像-文本嵌入空間302中的文本標簽可以用作向?qū)W習的映射函數(shù)的輸入。
根據(jù)學習的映射函數(shù)將圖像區(qū)域214、216、218、220和對應于圖像202的全部的圖像區(qū)域映射到聯(lián)合圖像-文本嵌入空間302允許執(zhí)行與在聯(lián)合圖像-文本嵌入空間302中嵌入的圖像區(qū)域的比較。在一個或者多個實現(xiàn)方式中,通過比較為圖像區(qū)域214、216、218、220和對應于圖像202的全部的圖像區(qū)域提取的特征矢量與在聯(lián)合圖像-文本嵌入空間302中嵌入的圖像區(qū)域的特征矢量來作為訓練的部分執(zhí)行比較。mie模塊114向圖像區(qū)域214、216、218、220和對應于圖像202的全部的圖像區(qū)域指派相似的嵌入的圖像區(qū)域被映射到的嵌入的文本標簽。以這一方式,mie模塊114為圖像區(qū)域214、216、218、220和對應于圖像202的全部的圖像區(qū)域發(fā)現(xiàn)聯(lián)合圖像-文本嵌入空間302中的文本標簽204、206、208、210、212。
用發(fā)現(xiàn)的文本標簽對查詢圖像作注解以描述查詢圖像的內(nèi)容(塊508)。舉例而言,mie模塊114例如通過與圖像202一起包括文本標簽204、206、208、210、212作為元數(shù)據(jù)或者以某種其它方式將它們與圖像202關聯(lián)來用它們對圖像202作注解。
呈現(xiàn)查詢圖像的與文本標簽對應的區(qū)域(塊510)。舉例而言,接收用于呈現(xiàn)圖像202的與用來對圖像202作注解的文本標簽對應的區(qū)域的用戶請求。mie模塊114比如在圖像202的顯示之上呈現(xiàn)圖像區(qū)域214、216、218、220和對應于圖像202的全部的圖像區(qū)域中的一個或者多個圖像區(qū)域的指示(例如,定界框)。應當認識到,mie模塊114能夠以多種不同方式呈現(xiàn)圖像區(qū)域的指示而未脫離這里描述的技術的精神實質(zhì)或者范圍。舉例而言而非限制,可以與對應的文本標簽一起呈現(xiàn)圖像區(qū)域的指示,可以可視地改變區(qū)域以表現(xiàn)得不同于圖像的其它部分(例如,在使圖像的其它部分模糊之時聚焦)等等。
圖6描繪了示例過程600,在該過程中,使用訓練的嵌入空間以將多個文本標簽與待注解的圖像的相應的區(qū)域關聯(lián)。訓練其中圖像和文本二者被嵌入的嵌入空間(塊602)。訓練涉及將被配置為描述在圖像內(nèi)容中展示的語義概念的文本標簽語義地相關以及將具有舉例說明語義概念的圖像內(nèi)容的代表性圖像映射到相應的文本標簽。
舉例而言,mie模塊114訓練聯(lián)合圖像-文本嵌入空間302。為了這樣做,mie模塊114例如通過利用在因特網(wǎng)上可用的文本數(shù)據(jù)以學習可伸縮和按詞典分布的字詞的代表以在文本詞匯表306的文本標簽之中捕獲語義含義來將文本詞匯表306的文本標簽語義地相關。在一個或者多個實現(xiàn)方式中,mie模塊114利用一種或者多種文本建模架構(gòu)技術以這樣做,比如word2vec模型、glove模型等等。
繼續(xù)這一示例,mie模塊114通過將圖像數(shù)據(jù)庫304的代表性圖像映射到聯(lián)合圖像-文本嵌入空間302中的文本詞匯表306的相應的文本標簽來訓練聯(lián)合圖像-文本嵌入空間302。例如,mie模塊114在聯(lián)合圖像-文本嵌入空間302中將圖像集合314的圖像映射到用于“樹木”的文本標簽308、將圖像集合316的圖像映射到用于“女人”的文本標簽310并且將圖像集合318的圖像映射到用于“建筑”的文本標簽312。作為訓練的結(jié)果,mie模塊114學習用于將圖像區(qū)域映射到聯(lián)合圖像-文本嵌入空間302中的文本標簽的映射函數(shù)。
一旦聯(lián)合圖像-文本嵌入空間302被訓練,學習的映射函數(shù)就可以用來對圖像作注解。待注解的圖像被獲得(塊604)。舉例而言,圖像202被獲得。在這一示例中,假設圖像202未被作注解并且尚未與文本標簽204、206、208、210、212關聯(lián)。
圖像的區(qū)域的集合被生成(塊606)。在一個或者多個實現(xiàn)方式中,生成涉及使用區(qū)域提議技術,該區(qū)域提議技術提議能夠被映射到嵌入空間中的對應的文本標簽的區(qū)域。舉例而言,mie模塊114生成用于圖像202的區(qū)域的集合,該區(qū)域的集合包括圖像區(qū)域214、216、218、220和對應于圖像202的全部的圖像區(qū)域。mie模塊114用以上更具體描述的方式生成用于圖像202的區(qū)域的集合。生成的區(qū)域在語義上有意義并且能夠被映射到嵌入空間中的嵌入的文本標簽。
向?qū)W習的映射函數(shù)中輸入?yún)^(qū)域的集合以將區(qū)域的集合映射到嵌入空間中的描述在區(qū)域的集合中展示的語義概念的對應的文本標簽(塊608)。舉例而言,mie模塊114使用通過在塊602處訓練聯(lián)合圖像-文本嵌入空間302學習的映射函數(shù)以在塊606處發(fā)現(xiàn)用于為圖像202生成的區(qū)域的集合的文本標簽。具體而言,mie模塊114使用學習的映射函數(shù)以將區(qū)域的集合映射到在聯(lián)合圖像-文本嵌入空間302中嵌入的描述在圖像區(qū)域214、216、218、220和對應于圖像202的全部的圖像區(qū)域中的每個圖像區(qū)域中展示的語義概念的文本標簽。具體而言,mie模塊114使用學習的映射函數(shù)以將描繪女人的圖像區(qū)域214映射到用于“女人”的文本標簽208、將描繪艾爾菲鐵塔的圖像區(qū)域216映射到用于“埃菲爾鐵塔”的文本標簽206、將描繪購物袋的圖像區(qū)域218映射到用于“袋”的文本標簽204、將描繪建筑的圖像區(qū)域220映射到用于“建筑”的文本標簽210并且將對應于圖像202的全部的圖像區(qū)域映射到用于“都市風景”的文本標簽212。
用對應的文本標簽中的至少兩個文本標簽對圖像作注解(塊610)。例如,mie模塊114基于在塊608處的映射用文本標簽204、206、208、210、212對圖像202注解作。如以上指出的那樣,比圖2中描繪的圖像區(qū)域更大數(shù)目的圖像區(qū)域可以被生成并且被映射到聯(lián)合圖像-文本嵌入空間302中。作為結(jié)果,可以生成與圖像202對應的文本標簽的列表。然而,可以用來自列表的選擇的一組文本標簽對圖像作注解。舉例而言而非限制,可以如以上更具體描述的那樣對文本標簽的列表排行,并且mie模塊114選擇預定數(shù)目的最高排行的標簽以用于圖像202的注解。
除了使用排行的列表之外,還可以用其它方式選擇為對圖像作注解選擇的標簽。例如,可以基于對應的區(qū)域與在聯(lián)合圖像-文本嵌入空間302中嵌入的代表性圖像的閾值差值來選擇標簽。為了這樣做,mie模塊114以例如通過提取圖像區(qū)域的特征矢量和嵌入的代表性圖像并且比較特征矢量來找到在為圖像生成的每個區(qū)域與聯(lián)合圖像-文本嵌入空間302中的嵌入的代表性圖像之間的距離(例如,歐幾里得距離)。mie模塊114然后可以選擇如下文本標簽,對于這些文本標簽,圖像區(qū)域具有與嵌入的代表性圖像的少于閾值差值的差值。mie模塊114可以用更多其它方式從被確定為與圖像的區(qū)域?qū)奈谋緲撕炦x擇用于對圖像作注解的文本標簽而未脫離這里描述的技術的精神實質(zhì)或者范圍。
圖7描繪了示例過程700,在該過程中,嵌入空間被生成以將由文本標簽描述的語義概念建模為嵌入空間中的分布。其中可以嵌入圖像和文本標簽二者的嵌入空間被生成,從而使得由文本詞匯表中的文本標簽描述的語義概念被建模為嵌入空間中的分布(塊702)。對嵌入空間的生成也包括通過在嵌入空間中嵌入代表性圖像來訓練嵌入空間,從而使得代表圖像性映射到相應分布。
舉例而言,mie模塊114通過將由來自文本詞匯表的文本標簽描述的語義概念建模為分布(例如,高斯分布、高斯混合等等)來生成聯(lián)合圖像文本嵌入空間402。mie模塊114生成聯(lián)合-圖像文本嵌入空間402以相對于被建模為分布的語義概念來實現(xiàn)圖像和文本標簽嵌入。另外,mie模塊114通過在為語義概念形成的相應的分布內(nèi)嵌入具有舉例說明語義概念的圖像內(nèi)容的圖像區(qū)域來訓練聯(lián)合-圖像文本嵌入空間402。
將語義概念建模為分布的嵌入空間被用來對圖像作注解(塊704)。舉例而言,mie模塊114使用聯(lián)合-圖像文本嵌入空間402以用描述圖像202的內(nèi)容的文本標簽對圖像202作注解。例如,mie模塊114使用聯(lián)合-圖像文本嵌入空間402以發(fā)現(xiàn)文本標簽204、206、208、210、212,并且然后用發(fā)現(xiàn)的標簽對圖像202作注解。
已經(jīng)描述了根據(jù)一個或者多個實現(xiàn)方式的示例過程,現(xiàn)在考慮可以用來實施這里描述的各種技術的示例系統(tǒng)和設備。
示例系統(tǒng)和設備
圖8大體地在800處圖示了示例系統(tǒng),該系統(tǒng)包括代表實施這里描述的各種技術的一個或者多個計算系統(tǒng)和/或設備的示例計算設備802。通過包括mie模塊114來圖示這一點,mie模塊114如以上描述的那樣操作。計算設備802可以例如是服務器提供方的服務器、與客戶端關聯(lián)的設備(例如,客戶端設備)、片上系統(tǒng)和/或任何其它適當計算設備或者計算系統(tǒng)。
示例計算設備802包括相互通信地耦合的處理系統(tǒng)804、一個或者多個計算機可讀介質(zhì)806和一個或者多個i/o接口808。雖然未示出,但是計算設備802還可以包括相互耦合各種部件的系統(tǒng)總線或者其它數(shù)據(jù)和命令傳送系統(tǒng)。系統(tǒng)總線可以包括不同總線結(jié)構(gòu)(比如存儲器總線或者存儲器控制器、外圍總線、通用串行總線和/或利用多種總線架構(gòu)中的任何總線架構(gòu)的處理器或者本地總線)中的任何總線結(jié)構(gòu)或者組合。也設想了多種其它示例,比如控制和數(shù)據(jù)線。
處理系統(tǒng)804代表用于使用硬件來執(zhí)行一個或者多個操作的功能。因而,處理系統(tǒng)804被圖示為包括可以被配置為處理器、功能塊等的硬件單元810。這包括在硬件中被實施為專用集成電路或者使用一個或者多個半導體形成的其它邏輯器件。硬件單元810不受形成它們的材料或者其中運用的處理機制所限制。例如,處理器可以由半導體和/或晶體管(例如,電子集成電路(ic))組成。在這樣的上下文中,處理器可執(zhí)行指令可以是電子地可執(zhí)行的指令。
計算機可讀存儲介質(zhì)806被圖示為包括存儲器/存儲裝置812。存儲器/存儲裝置812代表與一個或者多個計算機可讀介質(zhì)關聯(lián)的存儲器/存儲容量。存儲器/存儲裝置812可以包括易失性介質(zhì)(比如隨機存取存儲器(ram))和/或非易失性介質(zhì)(比如只讀存儲器(rom)、閃存、光盤、磁盤等)。存儲器/存儲裝置812可以包括固定介質(zhì)(例如,ram、rom、固定硬驅(qū)動等)以及可拆卸介質(zhì)(例如,閃存、可拆卸硬驅(qū)動、光盤等)??梢杂萌缫韵逻M一步描述的多種其它方式配置計算機可讀介質(zhì)806。
輸入/輸出接口808代表用于允許用戶向計算設備802錄入命令和信息并且也允許向用戶呈現(xiàn)信息的功能和/或使用各種輸入/輸出設備的其它部件或者設備。輸入設備的示例包括鍵盤、光標控制設備(例如,鼠標)、麥克風、掃描儀、觸摸功能(例如,被配置為檢測物理觸摸的電容或者其它傳感器)、相機(例如,運用可見光不可見光波長(比如紅外線頻率)以將移動識別為不涉及觸摸的手勢的相機)等。輸出設備的示例包括顯示設備(例如,監(jiān)視器或者投影儀)、揚聲器、打印機、網(wǎng)卡、觸覺響應設備等等。因此,可以用如以下進一步描述的多種方式配置計算設備802以支持用戶交互。
這里在軟件、硬件單元或者程序模塊的一般上下文中描述了各種技術。一般而言,這樣的模塊包括執(zhí)行特定任務或者實施特定抽象數(shù)據(jù)類型的例程、程序、對象、單元、部件、數(shù)據(jù)結(jié)構(gòu)等。如這里所用的術語“模塊”、“功能”和“部件”一般地代表軟件、固件、硬件或者它們的組合。這里描述的技術的特征獨立于平臺,這意味著可以在具有多種處理器的多種商用計算平臺上實施技術。
可以在某個形式的計算機可讀介質(zhì)上存儲或者跨越該計算機可讀介質(zhì)傳輸描述的模塊和技術的實現(xiàn)方式。計算機可讀介質(zhì)可以包括計算設備802可以訪問的多種介質(zhì)。舉例而言而非限制,計算機可讀介質(zhì)包括“計算機可讀存儲介質(zhì)”和“計算機可讀信號介質(zhì)”。
“計算機可讀存儲介質(zhì)”是指與僅信號傳輸、載波或者信號本身對照而言實現(xiàn)信息的持久和/或非瞬態(tài)存儲的介質(zhì)和/或設備。因此,計算機可讀存儲介質(zhì)沒有包括信號本身或者信號承載介質(zhì)。計算機可讀存儲介質(zhì)包括硬件(比如在適合用于存儲信息、比如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、邏輯元件/電路或者其它數(shù)據(jù))的方法或者技術中實施的硬件,比如易失性和非易失性、可拆卸和非可拆卸介質(zhì)和/或存儲設備。計算機可讀存儲介質(zhì)的示例可以包括但不限于ram、rom、eeprom、閃存或者其它存儲器技術、cd-rom、數(shù)字萬用盤(dvd)或者其它光存儲裝置、硬盤、磁盒、磁帶、磁盤存儲裝置或者其它磁存儲設備或者適合用來存儲希望的信息并且可以由計算機訪問的其它存儲設備、有形介質(zhì)或者制造品。
“計算機可讀信號介質(zhì)”是指被配置為比如經(jīng)由網(wǎng)絡向計算設備802的硬件傳輸指令的信號承載介質(zhì)。信號介質(zhì)通常地在調(diào)制的數(shù)據(jù)信號(比如載波、數(shù)據(jù)信號)或者其它傳送機制中體現(xiàn)計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或者其它數(shù)據(jù)。信號介質(zhì)也包括任何信息遞送介質(zhì)。術語“調(diào)制的數(shù)據(jù)信號”意味著如下信號,該信號讓它的特性中的一個或者多個特性以對信號中的信息編碼這樣的方式被設置或者改變。舉例而言而非限制,通信介質(zhì)包括有線介質(zhì)(比如有線網(wǎng)絡或者直接有線連接)和無線介質(zhì)(比如聲學、rf、紅外線和其它無線介質(zhì))。
如先前描述的那樣,硬件單元810和計算機可讀介質(zhì)806代表以如下硬件形式實施的模塊、可編程邏輯器件和/或固定器件邏輯,可以在一些實現(xiàn)方式中運用該硬件形式以實施這里描述的技術的至少一些方面,比如執(zhí)行一個或者多個指令。硬件可以包括集成電路或者片上系統(tǒng)的部件、專用集成電路(asic)、現(xiàn)場可編程門陣列(fpga)、復雜可編程邏輯器件(cpld)和在硅或者其它硬件中的其它實現(xiàn)方式。在本文中,硬件作為處理設備操作,該處理設備執(zhí)行由指令定義的程序任務和/或由硬件體現(xiàn)的邏輯以及用來存儲用于執(zhí)行的指令的硬件,例如,先前描述的計算機可讀存儲介質(zhì)。
也可以運用前述各項的組合以實施這里描述的各種技術。因而,軟件、硬件或者可執(zhí)行模塊被實施為在某個形式的計算機可讀存儲介質(zhì)上和/或由一個或者多個硬件單元810體現(xiàn)的一個或者多個指令和/或邏輯。計算設備802可以被配置為實施與軟件和/或硬件模塊對應的特定指令和/或功能。因而,可以至少部分地在硬件中(例如,通過使用計算機可讀存儲介質(zhì)和/或處理系統(tǒng)804的硬件單元810)來實現(xiàn)作為軟件可由計算設備802執(zhí)行的模塊的實現(xiàn)方式。指令和/或功能由一個或者多個制造品(例如,一個或者多個計算設備802和/或處理系統(tǒng)804)可執(zhí)行/可操作以實施這里描述的技術、模塊和示例。
這里描述的技術由計算設備802的各種配置支持而不限于這里描述的技術的具體示例。也可以全部或者部分通過使用分布式系統(tǒng)(比如如以下描述的那樣經(jīng)由平臺816通過“云”814)來實施這一功能。
云814包括和/或代表用于資源818的平臺816。平臺816將云814的硬件(例如,服務器)和軟件資源的下層功能抽象化。資源818可以包括可以在從計算設備802遠離的服務器上執(zhí)行計算機處理之時被利用的應用和/或數(shù)據(jù)。資源818也可以包括通過因特網(wǎng)和/或通過訂戶網(wǎng)絡(比如蜂窩或者wi-fi網(wǎng)絡)提供的服務。
平臺816將用于連接計算設備802與其它計算設備的資源和功能抽象化。平臺816也服務于將資源的伸縮抽象化以提供與對于經(jīng)由平臺816被實施的資源818的所遇需求對應的規(guī)模級別。因而,在一個互連設備實施例中,貫穿系統(tǒng)800分布這里描述的功能的實現(xiàn)方式。例如,部分在計算設備802上以及經(jīng)由將云814的功能抽象化的平臺816實施功能。
結(jié)論
雖然已經(jīng)用結(jié)構(gòu)特征和/或方法動作特有的言語描述了本發(fā)明,但是將理解,在所附權(quán)利要求中定義的本發(fā)明未必限于描述的具體特征或者動作。實際上,具體特征和動作被公開作為實施要求包含的本發(fā)明的示例形式。