圖像檢索在高德地圖 POI 數(shù)據(jù)生產(chǎn)中的應(yīng)用
一 背景
POI 是 Point of Interest 的縮寫(xiě)。在電子地圖上,POI 代表餐廳、超市、政府機(jī)關(guān)、旅游景點(diǎn)、交通設(shè)施等等 。POI是電子地圖的核心數(shù)據(jù)。對(duì)普通用戶而言,POI 數(shù)據(jù)包含的名稱和位置信息,能夠滿足其使用電子地圖“查找目的地”,進(jìn)而喚起導(dǎo)航服務(wù)的基本需求;對(duì)電子地圖而言,通過(guò)提供“搜索附近”、“點(diǎn)評(píng)”等操作,可提高用戶的活躍時(shí)長(zhǎng)。另外,POI數(shù)據(jù)是線上線下連接互動(dòng)的一個(gè)紐帶,是基于位置服務(wù)(Location Based Service)產(chǎn)業(yè)的一個(gè)重要組件。
高德通過(guò)自有海量的圖像源,來(lái)保證現(xiàn)實(shí)世界的每一個(gè)新增的POI及時(shí)制作成數(shù)據(jù)。在較短時(shí)間間隔內(nèi)(小于月度),同一個(gè)地方的POI 的變化量是很低的,如下圖所示,只有“湯火功夫”POI是一個(gè)新增的掛牌。
圖1. 同一地方上不同時(shí)間的POI牌匾對(duì)比
如果對(duì)全部POI進(jìn)行處理的話,則會(huì)帶來(lái)高昂的作業(yè)成本,因此需要對(duì)其中沒(méi)有變化的POI進(jìn)行自動(dòng)化過(guò)濾,其中關(guān)鍵技術(shù)能力就是圖像匹配,該場(chǎng)景是一個(gè)較為典型的圖像檢索任務(wù)。
1 技術(shù)定義
圖像檢索問(wèn)題定義:給定查詢圖像(Query),通過(guò)分析視覺(jué)內(nèi)容,在大型圖像庫(kù)中(Gallery)中搜索出相似的圖像。該方向一直是計(jì)算機(jī)視覺(jué)領(lǐng)域的一個(gè)長(zhǎng)期研究課題,在行人重識(shí)別、人臉識(shí)別、視覺(jué)定位等任務(wù)中均有廣泛的研究。圖像檢索的核心技術(shù)是度量學(xué)習(xí),其目標(biāo)是在固定維度的特征空間中,約束模型將同類別樣本拉近,不同類別樣本推遠(yuǎn)。在深度學(xué)習(xí)時(shí)代,主要有幾種經(jīng)典的結(jié)構(gòu),包括:對(duì)比損失(contractive loss)、三元組損失(triplet loss)、中心損失(center loss)等,均是通過(guò)正負(fù)樣本定義以及損失函數(shù)設(shè)計(jì)上進(jìn)行優(yōu)化。此外,圖像檢索還有一個(gè)必不可少的要素就是特征提取,通常包括:全局特征、局部特征、輔助特征等,主要是針對(duì)不同任務(wù)特點(diǎn)進(jìn)行相應(yīng)的優(yōu)化,例如:行人重識(shí)別以及人臉識(shí)別具有很強(qiáng)的剛性約束,并且具備明顯的關(guān)鍵特征(行人/人臉關(guān)鍵點(diǎn)),因此會(huì)將人體分割或關(guān)鍵點(diǎn)檢測(cè)信息融合到模型特征提取中。
2 問(wèn)題特點(diǎn)
POI牌匾的圖像檢索和學(xué)術(shù)上主流檢索任務(wù)(如行人重識(shí)別)有著較大的區(qū)別,主要包括以下幾點(diǎn):異源數(shù)據(jù)、遮擋嚴(yán)重以及文本依賴性。
異源數(shù)據(jù)
行人重識(shí)別任務(wù)也存在異源數(shù)據(jù)問(wèn)題,但是該任務(wù)的異源更多是不同相機(jī)拍攝以及不同場(chǎng)景的區(qū)別。而在POI牌匾檢索場(chǎng)景中,存在更嚴(yán)重的異源數(shù)據(jù)問(wèn)題,如下圖所示:
圖2. 不同拍攝條件下的異源圖像
左圖來(lái)自低質(zhì)量相機(jī),并且是前向拍攝;右圖來(lái)自高質(zhì)量相機(jī),并且是側(cè)向拍攝;因?yàn)橄鄼C(jī)拍攝質(zhì)量以及拍攝視角不同,這就導(dǎo)致POI牌匾的亮度、形狀、清晰度等都存在非常大的差異。而如何在差異較大的異源數(shù)據(jù)中實(shí)現(xiàn)POI牌匾檢索,是一個(gè)非常具有挑戰(zhàn)性的問(wèn)題。
遮擋嚴(yán)重
在道路場(chǎng)景中,經(jīng)常存在樹(shù)木以及車(chē)輛等干擾信息,并且由于拍攝視角原因,拍攝到的POI牌匾經(jīng)常會(huì)面臨嚴(yán)重的遮擋問(wèn)題,如下圖所示:
圖3. 遮擋嚴(yán)重的POI牌匾示例
而且該遮擋場(chǎng)景還是不規(guī)則的,導(dǎo)致很難對(duì)兩個(gè)牌匾進(jìn)行較好地特征對(duì)齊,這給POI牌匾檢索帶來(lái)巨大的挑戰(zhàn)。
文本依賴性
POI牌匾還有一個(gè)獨(dú)有特性就是對(duì)文本強(qiáng)依賴,主要是對(duì)POI名稱文本的依賴。在下圖場(chǎng)景中,兩個(gè)牌匾的整體布局以及顏色都非常相似,但是其中POI名稱發(fā)生了變化。而在該場(chǎng)景下,我們希望兩個(gè)牌匾不要匹配,這就需要引入文本特征來(lái)增強(qiáng)特征區(qū)分性。不過(guò),由于遮擋原因也會(huì)導(dǎo)致文本特征不同,因此需要結(jié)合圖像特征進(jìn)行權(quán)衡。而且,文本特征和圖像特征來(lái)自多個(gè)模態(tài),如何將多模信息進(jìn)行融合也是該業(yè)務(wù)特有的技術(shù)難點(diǎn)。
圖4. 僅文本變化的POI牌匾示例
二 技術(shù)方案
牌匾檢索的技術(shù)方案主要包括數(shù)據(jù)迭代和模型優(yōu)化兩塊。在數(shù)據(jù)生成部分,我們分為了冷啟動(dòng)自動(dòng)生成數(shù)據(jù)以及模型迭代生成數(shù)據(jù)兩個(gè)步驟。在模型優(yōu)化部分,我們?cè)O(shè)計(jì)了一個(gè)多模態(tài)檢索模型,包括視覺(jué)分支和文本分支兩部分,主要是考慮到牌匾的文本信息比較豐富,因此將視覺(jué)信息與文本信息進(jìn)行融合。針對(duì)視覺(jué)信息特征的提取,我們進(jìn)一步設(shè)計(jì)了全局特征分支與局部特征分支,并分別進(jìn)行了優(yōu)化。整體技術(shù)框架如下圖所示:
圖5. 整體技術(shù)方案
首先利用傳統(tǒng)匹配算法Sift自動(dòng)生成模型所需的訓(xùn)練數(shù)據(jù),完成模型的冷啟動(dòng);并且在模型上線后,對(duì)線上人工作業(yè)結(jié)果進(jìn)行自動(dòng)挖掘,并組織成訓(xùn)練數(shù)據(jù),以迭代模型優(yōu)化。多模態(tài)檢索模型是基于三元組損失(Triplet Los)的度量學(xué)習(xí)框架下進(jìn)行設(shè)計(jì)的,輸入包括了:1)POI牌匾的圖像信息;2)POI牌匾的文本信息。圖像信息使用雙分支進(jìn)行特征提取,文本信息使用BERT進(jìn)行特征提取,最后再將文本特征與視覺(jué)特征進(jìn)行融合。
1 數(shù)據(jù)
為訓(xùn)練檢索模型,通常需要進(jìn)行實(shí)例級(jí)標(biāo)注,即按照POI牌匾粒度進(jìn)行標(biāo)注。而在不同資料中篩選同一POI牌匾是一件非常復(fù)雜的工作,如果進(jìn)行人工標(biāo)注的話,則會(huì)帶來(lái)高昂的標(biāo)注成本,并且無(wú)法大規(guī)模標(biāo)注。因此,我們?cè)O(shè)計(jì)了一套簡(jiǎn)單高效的訓(xùn)練數(shù)據(jù)自動(dòng)生成方式,可用于模型冷啟動(dòng),整個(gè)環(huán)節(jié)無(wú)需任何人工標(biāo)注。
我們借鑒了傳統(tǒng)特征點(diǎn)匹配算法思想,利用Sift特征點(diǎn)匹配算法對(duì)兩趟資料中的所有牌匾進(jìn)行兩兩匹配,并通過(guò)內(nèi)點(diǎn)數(shù)量對(duì)匹配結(jié)果進(jìn)行篩選,即內(nèi)點(diǎn)數(shù)量大于閾值的匹配牌匾視作同一牌匾。通常來(lái)說(shuō),傳統(tǒng)特征點(diǎn)匹配算法會(huì)存在泛化性不足問(wèn)題,由此生成的訓(xùn)練數(shù)據(jù)很可能導(dǎo)致模型無(wú)法很好學(xué)習(xí),具體體現(xiàn)在:1)訓(xùn)練樣本較為簡(jiǎn)單;2)類別沖突,即同一牌匾分為多個(gè)類別;3)類別錯(cuò)誤,即不同牌匾分為同一類別。因此,我們針對(duì)該問(wèn)題進(jìn)行了相應(yīng)優(yōu)化:1)采用多趟資料匹配結(jié)果,提升同一類別下牌匾的多樣性;2)采用Batch采樣策略以及MDR loss[2]來(lái)降低模型對(duì)錯(cuò)誤標(biāo)簽數(shù)據(jù)的敏感性。
具體來(lái)說(shuō),對(duì)于樣本多樣性問(wèn)題,我們使用了多趟資料的匹配結(jié)果來(lái)生成訓(xùn)練數(shù)據(jù),因?yàn)樵诓煌Y料中同一牌匾存在多張來(lái)自不同視角的拍攝結(jié)果,這就保證了同一類別下牌匾的多樣性,避免了自動(dòng)生成的樣本都為簡(jiǎn)單樣本問(wèn)題。Batch采樣策略即按類別進(jìn)行采樣,而數(shù)據(jù)中類別總數(shù)遠(yuǎn)遠(yuǎn)大于batch size,因此可以緩解類別沖突的問(wèn)題。MDR loss是在Triplet loss基礎(chǔ)上設(shè)計(jì)了根據(jù)不同距離區(qū)間進(jìn)行正則化約束的新的度量學(xué)習(xí)框架,從而減少模型對(duì)對(duì)噪聲樣本的過(guò)擬合。
圖6. MDR loss示意圖,和Triplet loss相比增加了距離正則約束
圖6 是Triplet loss和MDR loss的對(duì)比示意圖。MDR loss希望正樣本和anchor之間的距離不被拉到無(wú)限近,同時(shí)負(fù)樣本也不希望被推到無(wú)限遠(yuǎn)。以類別錯(cuò)誤噪聲樣本來(lái)說(shuō),不同牌匾被誤分為同一類別,按照Triplet loss的優(yōu)化目標(biāo)則會(huì)強(qiáng)制模型將兩者距離學(xué)習(xí)到無(wú)限近,這樣的話,模型會(huì)過(guò)擬合到噪聲樣本上,從而導(dǎo)致最終效果較差。
2 模型
為了優(yōu)化牌匾檢索效果,我們?nèi)诤狭伺曝抑械囊曈X(jué)信息與文本信息,設(shè)計(jì)了多模態(tài)檢索模型。針對(duì)視覺(jué)信息,我們優(yōu)化了模型全局特征和局部特征的提取能力。針對(duì)文本信息,我們使用BERT對(duì)牌匾的OCR結(jié)果進(jìn)行編碼,將其作為輔助特征,并與視覺(jué)特征融合后進(jìn)行度量學(xué)習(xí)。
全局特征
通常對(duì)于檢索任務(wù)來(lái)說(shuō),使用深度學(xué)習(xí)模型提取到的全局特征更為魯棒,可以適應(yīng)牌匾視角、顏色、光照變化等不同場(chǎng)景。為了進(jìn)一步提升全局特征的魯棒性,我們主要從以下兩方面進(jìn)行了優(yōu)化:1)采用Attention機(jī)制,加強(qiáng)對(duì)重要特征的關(guān)注;2)網(wǎng)絡(luò)backbone的改進(jìn),以關(guān)注到更多細(xì)粒度特征。
在我們的業(yè)務(wù)場(chǎng)景中,存在一些外觀相似而細(xì)節(jié)有一定差異的牌匾,如圖8 (c) 所示,在這種情況下,我們希望模型可以關(guān)注到牌匾中的細(xì)粒度信息,比如牌匾中文字的字體、文字排版或者是文字內(nèi)容本身。而注意力機(jī)制則可以幫助模型在大量信息中準(zhǔn)確地關(guān)注到能夠區(qū)分不同牌匾更為關(guān)鍵的部分。因此,我們?cè)诰W(wǎng)絡(luò)中引入了注意力模塊,讓模型學(xué)習(xí)關(guān)鍵信息,以提升全局特征的辨別能力。我們采用了空間注意力機(jī)制SGE(Spatial Group-wise Enhance)[4],SGE通過(guò)對(duì)特征圖上的每個(gè)空間位置生成一個(gè)注意力因子來(lái)調(diào)整每個(gè)空間位置處特征的重要性。SGE模塊如圖7所示。它首先對(duì)特征圖進(jìn)行了分組,然后對(duì)每組特征圖計(jì)算語(yǔ)義特征向量,使用語(yǔ)義特征向量和特征圖進(jìn)行position-wise點(diǎn)乘,得到注意力圖,然后將注意力圖與特征圖進(jìn)行position-wise點(diǎn)乘,以此來(lái)增強(qiáng)特征,從而獲得在空間上分布更好的語(yǔ)義特征。
圖7. SGE示意圖,引入了空間注意力機(jī)制
為了減少局部特征的損失,我們對(duì)網(wǎng)絡(luò)backbone進(jìn)行了改進(jìn),取消了ResNet網(wǎng)絡(luò)最后一個(gè)block中的下采樣,使得最終的特征圖中包含更多的局部信息。除此之外,我們使用GeM[3]池化層替代了最后一個(gè)global average pooling,GeM是一種可學(xué)習(xí)的特征聚合方法,global max pooling和global average pooling都是它的特殊情況,使用GeM池化可以進(jìn)一步提升全局特征魯棒性。
局部特征
在針對(duì)全局特征進(jìn)行優(yōu)化以后,現(xiàn)有模型仍然在以下三個(gè)方面表現(xiàn)不夠好:1)牌匾截?cái)嗟那闆r,特征學(xué)習(xí)質(zhì)量差,如圖8(a);2)遮擋的牌匾,特征中引入一些無(wú)關(guān)的上下文信息,如圖8(b);3)相似但不同的牌匾難以區(qū)分,如圖8(c)。因此,我們進(jìn)一步設(shè)計(jì)了局部特征分支[1],讓模型更加關(guān)注牌匾的幾何、紋理等局部信息,與全局特征共同做牌匾檢索。
圖8. 需局部特征優(yōu)化的不同示例,(a)截?cái)?(b)遮擋(c)文本變化
針對(duì)局部特征的提取,我們主要的思路是將牌匾垂直切分成幾個(gè)部分,分別關(guān)注每個(gè)部分的局部特征[7],并對(duì)局部特征進(jìn)行對(duì)齊后優(yōu)化。對(duì)齊操作如下圖9所示,首先將特征圖進(jìn)行垂直池化,得到分塊的局部特征圖,再計(jì)算兩張圖局部特征之間的相似度矩陣,然后根據(jù)公式1找到最短距離將兩張圖像進(jìn)行對(duì)齊,其中,i,j分別表示兩張圖中的第i塊特征和第j塊特征,dij表示兩張圖中第i塊和第j塊特征的歐式距離。
圖9. POI牌匾局部對(duì)齊示意圖
通過(guò)這種方式進(jìn)行局部特征對(duì)齊,可以很好地提升牌匾在截?cái)唷⒄趽?、檢測(cè)框不準(zhǔn)等情況下的檢索效果。
文本特征
POI牌匾對(duì)文本強(qiáng)依賴,可能存在僅牌匾名稱文本發(fā)生變化的場(chǎng)景。我們?cè)O(shè)計(jì)的全局特征分支以及局部特征分支,雖然可一定程度上學(xué)習(xí)到文本特征,但是文本信息在整體信息中占比較小,并且監(jiān)督信號(hào)僅為兩張圖是否相似,導(dǎo)致文本特征并沒(méi)有被很好的學(xué)習(xí)到。因此,我們利用已有的文本OCR識(shí)別結(jié)果,并引入BERT對(duì)OCR結(jié)果進(jìn)行編碼得到文本特征,該特征作為輔助特征分支和視覺(jué)特征進(jìn)行融合,融合后的特征用于最終的牌匾檢索度量學(xué)習(xí)。值得注意的是,在對(duì)牌匾提取OCR結(jié)果時(shí),為了減少單幀內(nèi)識(shí)別結(jié)果不準(zhǔn)的影響,我們利用了一趟資料內(nèi)同一牌匾的多幀OCR結(jié)果,并且將所得到的OCR結(jié)果進(jìn)行拼接,使用BERT對(duì)OCR結(jié)果特征編碼時(shí),對(duì)來(lái)自不同幀的OCR結(jié)果之間插入
3 模型效果
在新的技術(shù)方案下,POI牌匾圖像檢索取得了非常好的效果,準(zhǔn)確率和召回率都大于95%,大幅提升了線上指標(biāo),并且模型速度也有了巨大的提升。我們隨機(jī)選擇了一些匹配結(jié)果,如圖10所示。
圖10. 評(píng)測(cè)集中隨機(jī)抽取的POI牌匾檢索結(jié)果
我們?cè)趦?yōu)化過(guò)程中,有一些非常難的Case也在逐漸被解決,如下圖11所示:
圖11. 評(píng)測(cè)集中難例展示,(a)(b)(c)是優(yōu)化前的錯(cuò)誤檢索結(jié)果,(d)(e)(f)是優(yōu)化后的檢索結(jié)果
圖(a)、(b)、(c)展示的是優(yōu)化前的Bad case(左圖為query圖像,右圖為Rank1檢索結(jié)果),從Bad case中我們不難發(fā)現(xiàn),牌匾檢索對(duì)細(xì)粒度特征提取要求非常高,因?yàn)檫@些case普遍特點(diǎn)是具備整體相似性,但是局部特征有區(qū)別。這些Bad case就是我們?cè)O(shè)計(jì)的多模態(tài)檢索模型的初衷,并且也在優(yōu)化過(guò)程逐漸得以解決,如圖(d)、(e)、(f)所示。我們提出的多模態(tài)檢索模型通過(guò)對(duì)全局特征優(yōu)化以及引入局部特征對(duì)齊,使得模型更多關(guān)注到牌匾上更有區(qū)分性的局部特征,如文字信息,文字字體、板式,牌匾紋理等,因此我們的模型對(duì)于外觀相似的不同牌匾具有更好的區(qū)分能力,如圖(a)和圖(d)效果對(duì)比。此外,由于不同視角牌匾存在遮擋、拍攝時(shí)的光照強(qiáng)度不同以及不同相機(jī)色彩差異大等因素,部分牌匾只利用視覺(jué)特征檢索非常困難。因此,我們通過(guò)輔助特征分支加入了OCR信息,進(jìn)一步增強(qiáng)了特征的魯棒性,使得牌匾檢索可以綜合考慮牌匾的視覺(jué)信息和牌匾中的文本信息進(jìn)行檢索,如圖(b)和圖(e)效果對(duì)比。
三 未來(lái)發(fā)展和挑戰(zhàn)
圖像檢索是在高德地圖數(shù)據(jù)自動(dòng)化生產(chǎn)中的一次嘗試,取得了不錯(cuò)的效果,并且已在實(shí)際業(yè)務(wù)中使用。但是模型并不是完美的,仍會(huì)存在Corner case,為了解決這些case,我們未來(lái)將會(huì)從半監(jiān)督學(xué)習(xí)/主動(dòng)學(xué)習(xí)自動(dòng)補(bǔ)充數(shù)據(jù),以及引入Transformer[9,10]優(yōu)化特征提取和融合兩方面進(jìn)行探討。
1 數(shù)據(jù):基于半監(jiān)督學(xué)習(xí)/主動(dòng)學(xué)習(xí)的數(shù)據(jù)挖掘
數(shù)據(jù)是非常重要的,因?yàn)槟P秃茈y做到完美,總是會(huì)存在Corner case,而解決Corner case的一個(gè)非常高效的手段就是針對(duì)性補(bǔ)充數(shù)據(jù)。補(bǔ)充數(shù)據(jù)的關(guān)鍵是如何挖掘Corner case以及如何自動(dòng)標(biāo)注,該方向也是目前學(xué)術(shù)的研究熱點(diǎn),即半監(jiān)督學(xué)習(xí)以及主動(dòng)學(xué)習(xí)。半監(jiān)督學(xué)習(xí)利用有標(biāo)簽數(shù)據(jù)訓(xùn)練出的模型來(lái)對(duì)海量無(wú)標(biāo)簽數(shù)據(jù)產(chǎn)生偽標(biāo)簽,進(jìn)一步標(biāo)簽數(shù)據(jù)和偽標(biāo)簽數(shù)據(jù)混合后再優(yōu)化模型。主動(dòng)學(xué)習(xí)是利用有標(biāo)簽數(shù)據(jù)訓(xùn)練出的模型對(duì)海量無(wú)標(biāo)簽數(shù)據(jù)進(jìn)行數(shù)據(jù)挖掘,并人工標(biāo)注挖掘出的有價(jià)值數(shù)據(jù)。兩者區(qū)別在于是否需要部分人工標(biāo)注,半監(jiān)督學(xué)習(xí)是完全由模型自身產(chǎn)生標(biāo)簽,但是可能導(dǎo)致模型效果存在上限,而主動(dòng)學(xué)習(xí)則可以一定程度可提高該上限,因此未來(lái)需要深入研究?jī)烧叩慕Y(jié)合,從而更好的補(bǔ)充訓(xùn)練數(shù)據(jù),解決Corner case。
2 模型:基于Transformer的特征提取與融合
Transformer是目前學(xué)術(shù)的研究熱點(diǎn),大量的工作已證明其在分類、檢測(cè)、分割、跟蹤以及行人重識(shí)別等任務(wù)上的有效性。和CNN相比,Transformer具有全局感受野以及高階相關(guān)性建模的特點(diǎn),使其在特征提取上有著更好的表征能力。此外,Transformer的輸入較為靈活,可以方便地將其他模態(tài)信息進(jìn)行編碼,并和圖像特征一起輸入到模型中,因此其在多模特征融合上也有較大的優(yōu)勢(shì)。綜上來(lái)看,Transformer可以通過(guò)對(duì)圖像Patch的相關(guān)性建模來(lái)解決POI牌匾在遮擋/截?cái)鄨?chǎng)景下的匹配效果,并且可以通過(guò)對(duì)文本特征編碼來(lái)實(shí)現(xiàn)多模特征的融合。
本文參考文獻(xiàn)
[1] Zhang X, Luo H, Fan X, et al. Alignedreid: Surpassing human-level performance in person re-identification[J]. arXiv preprint arXiv:1711.08184, 2017.
[2]Kim, Yonghyun, and Wonpyo Park. "Multi-level Distance Regularization for Deep Metric Learning." arXiv preprint arXiv:2102.04223,2021.
[3]Radenovi? F, Tolias G, Chum O. Fine-tuning CNN image retrieval with no human annotation[J]. IEEE transactions on pattern analysis and machine intelligence, 2018, 41(7): 1655-1668.
[4]Li X, Hu X, Yang J. Spatial group-wise enhance: Improving semantic feature learning in convolutional networks[J]. arXiv preprint arXiv:1905.09646, 2019.