Pinterest的視覺搜索

來源:知乎
作者:李粒
時間:2020-07-29
2496
本文是為了發(fā)展目前項目的視覺搜索模塊,對Pinterest的Visual Search進行研究。

閱讀背景:

·為了發(fā)展目前項目的視覺搜索模塊,對Pinterest的Visual Search進行研究;

·筆者非CS/math相關(guān)出生,對于CNN與ML為初學者,若有不當之處,請各位讀者指出斧正。

文獻總結(jié):

1.利用一些便于使用的分布式計算平臺,比如Amazon Web Services和開源工具,少量研發(fā)人員也可以使用非專有工具組合構(gòu)建大規(guī)模視覺搜索系統(tǒng);

2.利用遞增特征更新(Incremental Fingerprinting Service)和兩步式目標檢測和定位(Two-step Object Detection and Localization),能夠有效提高搜索的準確性,并且降低研發(fā)和部署的成本;

3.視覺搜索特征在圖片推薦系統(tǒng)中,能夠有效提高推薦的準確度;

1.介紹

視覺搜索,又稱基于內(nèi)容的圖像檢索,是最近的熱門研究領(lǐng)域。這個領(lǐng)域主要由爆炸性增長的在線圖片和搜索引擎的流行所驅(qū)動。其中,Google Goggles(Google的照相搜索App)、Google Similar Images(Google的相似圖片搜索)和Amazon Flow(Amazon的增強現(xiàn)實購物應(yīng)用)是幾個商業(yè)化視覺搜索系統(tǒng)中較為成功的案例。雖然在構(gòu)建網(wǎng)絡(luò)規(guī)模的視覺搜索系統(tǒng)上已經(jīng)取得了重要的進展,但是很少有文章來介紹這些商業(yè)案例中,如何部署端對端(end-to-end)的框架。這其中的原因,一部分是因為真實的視覺搜索系統(tǒng)的復(fù)雜性,另一部分是因為大公司的商業(yè)考慮——對核心搜索技術(shù)的保密。

v2-3c1ab8629535b2ac1cd479c3e954f9de_720w.png

圖1:Similar Looks:我們應(yīng)用目標檢測技術(shù)來定位產(chǎn)品,比如包和西子。在這個原型中,用戶點擊自動標記的目標來查看視覺相似的產(chǎn)品。

在Pinterest上部署一個商業(yè)化搜索引擎,我們面臨著兩個主要挑戰(zhàn)。

·作為一個小公司,我們需要控制人力和計算資源的開發(fā)成本。比如,當你想要處理一個巨大、連續(xù)增長的圖片集合時,特征計算將會變得很昂貴。并且,當工程師不斷的試驗新特征去部署系統(tǒng)時,可擴展性和合理花費就變成至關(guān)重要。

·作為一個商業(yè)應(yīng)用,評判成功的標準是它帶給用戶的效益(比如,提高了用戶的參與度)和它自身的研發(fā)、維護成本。

因此在最后,我們所研發(fā)的搜索引擎將需要通過A/B tests接受真實用戶的高頻度測試。

這篇文章將介紹,我們?nèi)绾蚊鎸η懊鎯蓚€挑戰(zhàn),并去發(fā)布、部署一個商業(yè)視覺搜索系統(tǒng)。我們做了兩個主要的成果。

·成果一,在研發(fā)視覺搜索時,我們通過使用廣泛使用的工具來實現(xiàn)可拓展性和控制成本。這些工具可以幫助一個小工程師團隊去實現(xiàn)自己的想法。Section 2.1介紹我們簡單、務(wù)實的方法來加速和提高目標檢測和定位的準確性。這個方法在Pinterest中開發(fā)了豐富的可用的大數(shù)據(jù)資源。我們使用了一個巧的方法來減弱任務(wù)難度(和計算花費)。

  ·首先,事先將目標進行檢測,確定到一個多類別的分類中;

  ·然后,我們只需要計算(昂貴的)高精準度的圖像目標檢測。

·Section 2.2介紹我們在最好的廣泛利用的工具中,建立分布式索引和搜索基礎(chǔ)。

·成果二,把我們部署的視覺搜索基礎(chǔ)的成果利用在了兩個產(chǎn)品應(yīng)用中:Related Pins和Similar Looks。在每個應(yīng)用中,我們使用應(yīng)用特有的數(shù)據(jù)集來評估每個獨立視覺搜索模塊(目標檢測,相似性的特征表示)的有效性。在部署端對端系統(tǒng)后,我們使用A/B tests來檢測現(xiàn)實中用戶的參與度。

v2-a8db99f2cf1609937c7d95644486f126_720w.png

圖2:Related Pins是一個產(chǎn)品特征,基于Pinterest的現(xiàn)有圖片展示推薦內(nèi)容。

·Related Pins(圖2)可以基于用戶正在瀏覽的Pins來推薦Pins。這些推薦主要來自于用戶、Borads和Pins的“策展圖”。但是,那些長尾的較少被翻閱的圖片卻沒有推薦。利用視覺搜索,我們?yōu)镻interest上的幾乎所有圖片都創(chuàng)建了推薦。

·第二個應(yīng)用,Similar Looks(圖1)是在測試時,特別是測試時尚Pins時發(fā)現(xiàn)的經(jīng)驗。它可以允許用戶對圖片內(nèi)感興趣的區(qū)域(比如,一個包,或一雙鞋)進行一個視覺查詢,然后為用戶辨別出一個視覺相似的Pins。與傳統(tǒng)視覺搜索不同的是,Similar Looks不再使用一個完整的圖片,這里的視覺相似性是通過查詢中的局部目標和數(shù)據(jù)庫中的圖片對比來進行計算的。據(jù)我們所知,這是第一篇商業(yè)化視覺搜索系統(tǒng)中利用目標檢測和定位的文獻。

我們的經(jīng)驗表明:

·利用大數(shù)據(jù)的目標檢測和定位方法,可以達到一個可觀的檢測率和極小的誤報率(不大于1%);

·利用來自VGG模型的特征表達極大地提升了在Pinterest基準數(shù)據(jù)庫的視覺搜索準確性;

·當使用視覺搜索來增強Related Pins和Similar Looks應(yīng)用時,我們觀察到用戶參與度巨大的增加。

2.Pinterest的視覺搜索結(jié)構(gòu)

Pinterest是一個視覺標簽工具來幫助用戶發(fā)現(xiàn)和儲存創(chuàng)意。用戶pin圖片到Borads中,這一過程對一個特定的主題或話題創(chuàng)建了集合。這個「用戶—Borads—圖片」圖譜包含豐富的關(guān)于圖片和它們語義關(guān)系的信息。比如當一個圖片被Pin到一個Borad中,表明在這個新borad和其他所有包含這個圖片的board有一個“策展聯(lián)系”。通過這些描述圖片、圖片的borad和其用戶的聯(lián)系,相關(guān)的大數(shù)據(jù)(比如,圖片的注釋)能夠不斷增長。

因為圖片是每個Pin的焦點,所以視覺特征在為用戶發(fā)現(xiàn)興趣,靈感和相關(guān)內(nèi)容上起到了非常重要的作用。在這一章中,我們介紹如何端對端執(zhí)行一個視覺搜索系統(tǒng),來檢索Pinterest中的數(shù)十億圖片。我們致力于研發(fā)真實視覺搜索系統(tǒng)的挑戰(zhàn)——如何平衡經(jīng)費限制和快速實現(xiàn)的需要。

我們將要介紹:

·從圖片中抽取的特征;

·為了分布式和增量式特征提取物所搭建的基礎(chǔ);

·實時視覺搜索服務(wù);

2.1.圖像的表現(xiàn)及特征

我們從圖片中抽取不同類型的特征,包括:位置特征和“深度特征”(深度特征從深度卷積神經(jīng)網(wǎng)絡(luò)(CNNs)的活性中間層中提?。?。我們研究基于AlexNet和VGG的結(jié)構(gòu),來提取fc6和fc8層的特征表現(xiàn)。這些特征為了有效地表現(xiàn)被二值化,并且用漢明距離(Hamming Distance)進行比較。我們使用開源的Caffe架構(gòu),在多GPU機器上來訓練和推算我們的CNNs。

這套系統(tǒng)也被用來從圖像中抽取顯著圖片顏色。顯著顏色是由圖像內(nèi)的第一檢測的顯著區(qū)域計算而來,然后應(yīng)用k均值聚類法來計算顯著像素的實驗室像素值,其中,聚類中心和權(quán)值被儲存為圖像的顏色特征。

兩步式目標檢測和定位

與Pinterest的特別相關(guān)的特征是有確切目標分類的存在,比如,包,鞋子,手表,禮服,和太陽鏡。我們考慮到在Pinterest圖片中有海量的短文本標簽,而采取兩步式檢測過程。當圖片被多次pin到不同的borad中,pin的總體描述和borad的標題提供了大量關(guān)于圖片的信息。在Pinterest中,文本處理通道從原始文本中為圖像抽取了相關(guān)的注釋,產(chǎn)生了與每個圖像有關(guān)的短文本。

v2-1fb28064d52f328b8dbd21d9f170f3b4_720w.png

圖3:并不是運用所有的目標識別探測模型來識別所有的圖像,我們第一步會先用文本元數(shù)據(jù)來預(yù)測圖像分類,然后運用對應(yīng)的目標檢測模型來識別圖像。

我們利用這些注釋來確定運行哪一個目標檢測器。在圖1中,我們首先確定這個圖像可能是包含包和鞋子,然后繼續(xù)用圖像目標檢測器來檢測這些目標種類。經(jīng)過第一步的目標預(yù)分類,我們只需要在圖像上運行一個最可能吻合的目標檢測器。這個過濾步驟減小了大量的計算成本,降低了誤報率。

我們對目標檢測的最初方法是對基于級聯(lián)的可變形部分模型(cascading deformable part-based models)的大量優(yōu)化來實現(xiàn)。這個檢測器為每個被檢測到的目標輸出一個有邊界的盒,并從中提取目標的可視化描述。我們最近的工作主要集中在研究基于深度學習的目標探測器的可行性和性能。

我們試驗結(jié)果在section 4,表明了我們的系統(tǒng)達到了非常低的誤報率(小于1%),這在我們的應(yīng)用中是必不可少的。這個兩步式方法也讓我們能并入其他信號到分類中。這種在目標檢測和定位時利用文本和視覺信號的方法已經(jīng)被廣泛運用在Web圖像檢索和分類中。

點擊預(yù)測

當用戶在Pinterest上瀏覽,他們能通過點擊放大到全屏(“close-up”,特寫)和隨后點擊來到內(nèi)容的站外來源(a click-through,點擊通過)來與一個Pin交互。對于每個圖像,我們基于它的視覺特征來預(yù)測被打開全屏的概率(CUR)和被點擊到站外來源的概率(CTR)。我們訓練一個CNN來從圖像中學習一個概率映射,關(guān)于一個用戶打開圖片全屏和到達站外來源的概率。CUR和CTR對于應(yīng)用,比如搜索排序,推薦系統(tǒng)和廣告投放都是有用的,在這些應(yīng)用中我們經(jīng)常需要知道哪一張圖像更能獲取用戶的注意力。

CNNs最近成為許多語義預(yù)測任務(wù),在涉及視覺輸入(包括分類、檢測與分割)時的主要方法。訓練一個完整的CNN來獲取一個好的結(jié)果將會是非常耗時間,也需要非常大量的數(shù)據(jù)。我們將轉(zhuǎn)移學習應(yīng)用到我們的模型中,通過保留來自其他計算視覺任務(wù)訓練的模型的低層次的視覺表現(xiàn)。網(wǎng)絡(luò)的頂層為我們現(xiàn)在的具體任務(wù)進行了細致的調(diào)整。這樣節(jié)省了大量的訓練時間,并且利用了更大的庫中學習到的視覺特征,而不僅僅只是這次任務(wù)。我們使用Caffe來進行這個遷移學習。

v2-801b10fd54d253605a8f04804dc588a2_720w.png

圖4:對于CUR預(yù)測(左)和CTR預(yù)測(右)的ROC曲線。

圖4描述了我們基于CNN方法的接受者操作特征(ROC)曲線和一個基于“傳統(tǒng)”計算機視覺途徑的基線的對比:一個在詞的金字塔直方圖(PHOW)中被二值標簽訓練的支持向量機(SVM),在目標識別數(shù)據(jù)集(如,Caltech-101)中表現(xiàn)的很好。我們的基于CNN的方法優(yōu)于基于PHOW的基線,從端對端微調(diào)CNN也帶來了顯著的性能提升。類似的方法也適用于檢測上傳到Pinterest的色情圖像的任務(wù)。

2.2.指紋增量服務(wù)

我們大多數(shù)的視覺應(yīng)用依靠于擁有一個完整的視覺特征集合,這個集合以適合于批量處理的格式存儲。保持這個數(shù)據(jù)的更新是具有挑戰(zhàn)性的,因為我們的集合包含超過十億獨特的圖像,增量地更新特性集是至關(guān)重要的,并且盡可能避免不必要的重新計算。

我們建立了一個系統(tǒng),叫做指紋增量服務(wù),這個服務(wù)為Pinterest所有的圖像計算特征,通過使用在Amazon EC2上的工作群。它主要在兩個場景下逐步更新特征集合:

·上傳到Pinterest上的新圖片

·特征迭代(工程師增加/修改特征)

我們的方法是將圖片集劃分到由上傳時間確定的時代(epochs)組中,并且為每個特性類型(全面的,本地的,深度特征)的每個版本維護一個單獨的特性存儲區(qū)。這些特征類型被大量存貯在Amazon S3,以特征種類,版本,時間來組織管理。當數(shù)據(jù)完全更新時,每一個特征存儲都會包含所有的時代組。在每一次運算中,系統(tǒng)發(fā)現(xiàn)每個特征的缺失時代組,并且把排隊工作變成一種分布式隊列來填充那些時代組。

這種存儲策略能夠如流水一般遞增升級。每一天,一個帶有當天唯一上傳時間的新特征組被加入到我們的圖片集合中,然后我們?yōu)槟莻€日期生成缺失的特征。因為老圖像不會改變,所以他們的特征也不會被重新計算。如果生成某個特征的算法或者參數(shù)被修改了,或者如果一個新的特征被增加,那么一個新的特征存儲將開始工作,并且所有的年代組會為修改/新增特征重新計算。不改變的特征不受影響。

我們將這些特性復(fù)制到各種表單中,以方便其他工作訪問:這些特征會合并,組成一個包含一張圖片所有可使用特征的指紋(fingerprint),然后指紋會被復(fù)制分享,形成為根據(jù)圖片特征(MD5 hash)隨機訪問的排序文件。這些加入的指紋文件會定期地再實現(xiàn),但是那些昂貴的特征計算只需要每張圖片計算一次。

v2-65847a082dc0dbf4f7159e0e6c0a1510_720w.png

圖5:增量式指紋更新渠道的輸出實例。初始運行顯示為2014-XX-XX,其中包括在運行之前創(chuàng)建的所有圖像。

圖5展示了一個增量指紋更新過程的流程圖。它包含5個主要工作:

·編輯新上傳圖片特征的列表,并且把它們按日期分組到時代組中。我們隨機將每個時代組劃分為大約20萬張圖像的分類碎片,以限制最終指紋文件的大小。

·定義每個特征存儲中缺失的時代組,并將工作排隊到PinLater(一個分布式隊列服務(wù),類似于Amazon SQS)。這個工作被再分為碎片到“工作塊”中,調(diào)整為這類工作塊每個大約花費30分鐘來計算。

·運行在EC2 instances的自動啟動群集,其規(guī)模取決于更新的大小??梢允褂肧pot instances;如果一個instances被終止了,它的工作將在其他的工作塊上重新排期。每個工作塊的產(chǎn)出都存儲到Amazon S3中,并且最終重組成為與原始碎片對應(yīng)的特征文件。

·將獨立的特征碎片融合為一個統(tǒng)一的包含每個圖像所有可利用特征的指紋文件。

·將所有的年代組(聯(lián)通其他元數(shù)據(jù))的指紋融合到一個排序中,分片文件格式允許隨機存取(VisualJoins)。

對所有圖片所有可利用特征的最初計算,使用了數(shù)百個32核機器,花費一天多一點的時間,產(chǎn)生了大約5TB的數(shù)據(jù)信息。而增量處理新圖像的穩(wěn)態(tài)要求僅為5臺機器。

2.3.搜索基礎(chǔ)

在Pinterest,分布式可視化搜索系統(tǒng)有好幾個用例。其中一個用例是發(fā)掘相似外表的產(chǎn)品(PInterest Similar Looks),和其他包括近似重復(fù)檢測和內(nèi)容推薦。在所有這些應(yīng)用中,視覺相似結(jié)果是通過前一個章節(jié)的Visualjoins頂部的分布式索引來計算的。由于每個用例有不同的性能和成本需求,我們的搜索基礎(chǔ)被設(shè)計成靈活的和可重構(gòu)的。圖6展示了搜索基礎(chǔ)的流程圖。

v2-ae97ff1a76eb2d8d5302c7bf96ec9035_720w.png

圖6:分布式視覺搜索渠道的流程圖。

第一步,我們用Hadoop從Visualjoins創(chuàng)造了分布式圖像索引。每臺機器包含索引(和特征),這些索引和整個圖片集合的隨機分散的子集相關(guān)。這里使用了兩類索引:

·第一種是基于磁盤(和部分內(nèi)存緩存)的token index,將每個矢量量化特性(比如,視覺詞匯token)與圖像文檔ID的展示列表關(guān)聯(lián)起來。這與基于文本的圖像檢索系統(tǒng)類似,只是文本被視覺標記所替代。

·第二個索引是一個視覺特性和元數(shù)據(jù)的內(nèi)存存儲,比如,圖像注釋,以及從【用戶-board-圖像】圖計算的“主題向量”。

第一類適合于快速(但模糊)查表,第二類適合于更精確(但較慢)排序優(yōu)化。

每一臺機器運行一個leaf排序器,用來從使用視覺特征的索引中計算k最近鄰(k-nearest neighbors),然后使用額外的元數(shù)據(jù)重新排序頂部的候選數(shù)據(jù)。在某些情況下,leaf排序器跳過token索引,直接用類似KNN方法從特征樹索引中檢索k最近鄰。另一臺機器上的一個根排序器將會從每個leaf排序器取回最高分數(shù)的結(jié)果,并且將這些結(jié)果融合,然后返還給用戶。為了處理我們的實時特征提取器生成的新指紋,我們有一個可視化搜索渠道的線上版本,其中有一個非常相似的過程。即使在線上版本中,給定的指紋依然會在預(yù)生成的索引上查詢。

3.應(yīng)用1:RELATED PINS

Pinterest視覺搜索渠道的其中一個首批應(yīng)用是在一個叫做Related Pins的推薦產(chǎn)品,這個應(yīng)用中在用戶正在瀏覽一個Pin時推薦給其他可能感興趣的圖像。傳統(tǒng)上,我們使用了結(jié)合用戶創(chuàng)建的【圖像-Board】的關(guān)系和基于內(nèi)容的信號來產(chǎn)生這些建議。然而,這套系統(tǒng)不能為不流行的pins(沒有很多聯(lián)系的pins)和新創(chuàng)建的pins(可能還沒有創(chuàng)建索引)提供推薦。結(jié)果,Pinterest上有6%的圖像只有極少或者沒有推薦。對于這些圖像,我們使用視覺搜索渠道來實時生成Visual Related Pins(圖7)。

v2-d282c8546db9fbbe7630d2df66c16761_720w.png

圖7:在加入視覺相關(guān)搜索之前和之后的對比。

Visual Related Pins的第一步,是用從所有存在的Pinterest圖像建立的本地token索引,來檢測是否我們有重復(fù)或極相似的查詢圖像。具體地說,給定一個查詢圖像,系統(tǒng)返回一組圖像,這些圖像是同一個圖像的變化,但通過一些轉(zhuǎn)換發(fā)生了變化,比如,調(diào)整大小、裁剪、旋轉(zhuǎn)、平移、添加、刪除和修改視覺內(nèi)容的次要部分。由于結(jié)果圖像看起來與查詢圖像完全相同,所以它們的建議很可能與查詢圖像相關(guān)。然而,在大多數(shù)情況下,我們發(fā)現(xiàn)有很多圖像沒有檢測到接近重復(fù)的圖像,或者相似的圖像沒有足夠的推薦。因此,我們的注意力主要集中在基于CNN特征的索引中產(chǎn)生的視覺搜索結(jié)果檢索。

搜索相關(guān)性的靜態(tài)評價

我們最初的視覺相關(guān)Pins實驗利用來自AlexNet模型的原始和微調(diào)版本在它的搜索基礎(chǔ)中。然而,更深層次CNN架構(gòu)分類的成功使我們調(diào)查來自各種CNN模型功能集的性能。

為了對視覺搜索進行評估,我們使用與圖像相關(guān)聯(lián)的圖像注釋作為關(guān)聯(lián)性的指標。除了人工評價外,這種方法通常用于視覺搜索系統(tǒng)的離線評價。在這項工作中,我們使用與每個圖像相關(guān)聯(lián)的頂級文本查詢作為標簽。我們用Pinterest Search查詢1000次,每次3000個圖像,獲得了大約160萬個獨特圖像的數(shù)據(jù)集。我們用生成它的查詢關(guān)鍵詞標記每個圖像。如果兩個圖像共享一個標簽,則可視搜索結(jié)果與查詢圖像相關(guān)。

利用這個數(shù)據(jù)集,我們基于如下幾個特征,為推薦系統(tǒng)計算精確的k最近鄰值:

·從普通的AlexNet模型的fc6層的激活(為ILSVRC的前期訓練),這個AlexNet模型的fc6層激活微調(diào)到識別超過3000個Pinterest產(chǎn)品品類;

·一個普通GoogleNet的loss3/classifier的激活;

·以及一個普通VGG16層模型的fc6層的激活。

表1:視覺搜索的相關(guān)性

v2-2906fcabd64854f129e29bbc6eea6186_720w.png

表1展示了這些模型的p 5和p 10表現(xiàn),隨著我們的視覺搜索服務(wù)的平均基于CPU的延遲,其中包括查詢圖像的特征提取和檢索。使用基于GPU的推算大大減少了這些延遲。當使用VGG16層模型的FC6層特征,我們觀察到對比我們的預(yù)估數(shù)據(jù)集在精度上有極大的提升,為我們的應(yīng)用提供了一個可接受的延遲。

線上體驗

我們建立了一個系統(tǒng)來檢測只有很少推薦的新Pins,查詢我們的視覺搜索系統(tǒng),并在HBase中存儲,在Pin被點擊放大時提供服務(wù)。

對于這個應(yīng)用,當大多數(shù)共享一個共同類別時,我們會顯示視覺搜索結(jié)果(category conformity thresholding)。我們選擇以這種方式進行覆蓋,以獲得更高的精度,以避免在我們對視覺搜索結(jié)果的信心相對較低時使用它。

我們最初對10%合適的實時通信量進行了試驗;當用戶點開一個Pin時,卻沒有足夠的推薦,這批用戶是合適的。合適的用戶將會觸發(fā)進入兩個組中:實驗組(用視覺搜索結(jié)果取代了related pin的部分)、控制組(不做處理)。我們計算在related pins模塊中,總repin行為的變化量。

通過只為6%的請求展示視覺相似的pin,其他給出空推薦,我們觀察到在related pins的總repin行為增加了2%。而且,我們也做了其他的實驗,我們將所有使用深度CNN特征相似性的推薦進行排序,在repin和點擊參與率方面提高了10%。

4.應(yīng)用2:SIMILAR LOOKS

女裝時尚是Pinterest上最受歡迎的種類之一。然而,這類pin有很大一部分比例沒有直接引導用戶去產(chǎn)生購物的能力,因此并沒有導購能力。在這里,為了讓這些pin具有導購能力,我們有兩個挑戰(zhàn):

·許多pin的標簽僅僅有簡短的描述,比如「街頭時尚」的服飾,這類pin通常鏈接一個沒有對圖像中的目標特征進行多少描述的網(wǎng)站;

·pin圖像通常包含多個目標(比如,一個女人走在街道上,提著豹紋包,穿著靴子,戴著墨鏡,穿著超短牛仔褲,等等)。

一個用戶查看某個pin,可能對其中的包特別感興趣,然而其他用戶可能會想要購買那個墨鏡。

用戶研究表明這種事情是非常常見的挫折感,我們的數(shù)據(jù)指出,相比其他種類,在女裝時尚種類中,用戶點擊圖片看源網(wǎng)站的概率要更小。

為了解決這個問題,我們做出了一個叫做“Similar Looks”的產(chǎn)品,它可以對時尚目標定位和分類(圖8)。我們使用目標識別技術(shù)來檢測Pinterest圖像中的目標,比如,包,鞋,褲子,手表,等等。從這些目標中,我們抽取出視覺和語義的特征,來生成產(chǎn)品推薦(“Similar Looks”)。一個用戶將會通過一個在Pin上的目標中的紅色斑點發(fā)現(xiàn)這些推薦(圖1)。點擊紅色斑點,能夠獲取一個在視覺特征上非常相似的pin的瀑布流(比如,藍色連衣裙的其他視覺相似圖片)。

v2-6ccc6adc9beac7bc49058d578939be8c_720w.png

圖8:一旦用戶點擊了紅點,系統(tǒng)會展示對該目標具有相似外觀的產(chǎn)品。

相關(guān)工作

目前,在學術(shù)界和工業(yè)中,已經(jīng)有將應(yīng)用視覺搜索技術(shù)到一些“軟產(chǎn)品”上。Like.com,Google Shopping,和Zappos(亞馬遜旗下)都是一些著名的計算視覺來進行時尚推薦的應(yīng)用。Baidu和Alibaba最近也上線了視覺搜索系統(tǒng)來解決相似的問題。在基于視覺基礎(chǔ)的時尚推薦搜索也有大量的提升。我們的方式證明,為數(shù)千萬Pinterest用戶提供基于目標的視覺搜索系統(tǒng)的可行性,以及展示了一個關(guān)于被檢測目標的交互搜索方式。

目標定位的靜態(tài)評價

評價我們Similar Looks產(chǎn)品的第一步是調(diào)查我們的目標定位和檢測能力(即,位置準確性和識別準確性)。我們選擇專注于時尚目標,即因為上述的商業(yè)需求,也因為“軟產(chǎn)品”往往具有具體的視覺形象(比如,短褲,包,墨鏡,等等)。

我們通過從Pinterest的女裝時尚種類中隨機抽樣一組圖片來收集我們的評價數(shù)據(jù),并且在9個大類(鞋子,連衣裙,墨鏡,包,手表,褲子,短褲,比基尼,耳環(huán))中對2399個時尚目標進行人工打標。我們觀察到,鞋子,包,連衣裙和褲子在我們的評價數(shù)據(jù)中是4個最大的分類。表2是時尚目標的分布,也是來自基于文本篩選的,基于圖片檢測的,和融合方法(先使用圖片篩選,再使用目標檢測)的圖片檢測準確率。

表2:目標檢測/分類準確度(%)

v2-ada1f8d8062b79715b5e775f4ae438e4_720w.png

正如先前所說的,基于文本的方法應(yīng)用人工創(chuàng)造的規(guī)則,比如,通用的描述,來將Pinterest大數(shù)據(jù)連接到圖像中(這類我們叫他們weak lable)。比如,一個圖片被注釋:“春季時尚,tote(一個包的品牌)和花”,可能被分類為一個“包”,并且如果圖片確實包含一個“包”的目標標簽,這會被考慮成是一個確定的事例。在基于圖片的評價中,我們計算了預(yù)測對象包圍盒和同一類型的標記對象包圍盒之間的交集,并計算了一個大于0.3或大于等于的交集作為一個正匹配。

表2表明了,無論是文本注釋篩選,還是單獨的目標定位,都不足以完成我們的檢測任務(wù),由于二者相對較高的錯誤率(分別為6.7%和2.5%)。不出意料地,結(jié)合二者的方法極大的減少了我們的錯誤率到1%以下。

具體來說,我們看到那些種類,比如眼鏡,文本注釋是不足夠的,但是基于視覺分類卻很優(yōu)秀(可能是由于眼鏡特殊的視覺形狀)。對于其他種類,比如連衣裙,這就恰好相反(視覺搜索的錯誤率太高,12.3%,由于該種類經(jīng)常被遮擋,以及樣式的高度多樣性,但是加入了文本篩選就顯著的改變了結(jié)果)。除了減少我們需要用對象分類器處理的圖像數(shù)量外,對于幾個對象類(鞋子、包、褲子),我們觀察到文本過濾對于實現(xiàn)可接受的錯誤率(1%以下)是至關(guān)重要的。

線上體驗

我們的系統(tǒng)從Pinterest圖片的分組中定義了超過八千萬的“可點擊”的目標。一個可點擊的紅點被放置在被檢測出的目標上。一旦用戶點擊這個點,我們的視覺搜索系統(tǒng)取回一個帶有同一目標種類其他實體的pins的集合,然后用請求到的目標的視覺相似度進行排序。我們對一小部分Pinterest的用戶發(fā)布了這一功能,收集在一個月內(nèi)她們的參與度。具體來說,我們觀察小點的點擊通過率(CTR),在我們的視覺搜索系統(tǒng)上的CTR,并且我們比較了在現(xiàn)有Related Pins推薦的參與度和Similar Looks中的參與度。

v2-a9ddd79780f61c8a307ec96a4ff22d65_720w.png

圖9:Similar Looks實驗的參與率

圖9表明,平均下,在某一天,12%的用戶在看見一個帶有小點的pin,點擊了這個小點。這些用戶愿意繼續(xù)點擊平均0.55個Similar Looks的結(jié)果。雖然這組數(shù)據(jù)很鼓舞人心,但是當我們比較所有在pin的點擊大圖的相關(guān)內(nèi)容的參與度時(總和了Related PIns和Similar Looks的參與度作為變量組,只使用Related Pins的參與度作為控制組),Similar Looks事實上降低了在pin點擊大圖時的總體參與度,降低了4%。在新奇效果結(jié)束后,我們觀察到在紅點上的CTR上的一個逐漸降低,最終穩(wěn)定在10%左右。

為了測試我們Similar Looks的相關(guān)性,是獨立于新UI(可點擊點的目標點),我們進行了一組實驗,我們直接將Similar Looks的結(jié)果混合到現(xiàn)有的Related Pins中。這給我們一個方式去直接計算是否用戶發(fā)現(xiàn)我們的視覺相似推薦是比我們現(xiàn)存在的非視覺推薦更相關(guān)。在我們檢測到一個目標的pins傷,這個實驗增加了在Related Pins總體的參與度(repins和放大圖片)達到5%。雖然我們?yōu)檫@個實驗設(shè)置了一個初始的靜態(tài)混合比例(每三個非視覺結(jié)果對一個視覺相似結(jié)果),我們稍后使用用戶點擊數(shù)據(jù)動態(tài)調(diào)整了這一比例。

5.總結(jié)和未來的工作

我們證明了,利用可用的分布式計算平臺,比如Amazon Web Services和開源工具,少數(shù)工程師或?qū)W術(shù)實驗室可以使用非專有工具組合構(gòu)建大規(guī)模視覺搜索系統(tǒng)。這篇文章表明,我們端對端的視覺搜索渠道,包含遞增特征更新和兩步式目標檢測和定位方式,提高了搜索準確性,降低了研發(fā)和部署成本。我們的線上產(chǎn)品經(jīng)驗表明,視覺搜索特征可以增加用戶參與度。

我們計劃在接下來的領(lǐng)域中進一步提升我們的系統(tǒng)。

·我們對于在線上視覺搜索系統(tǒng)環(huán)境下,基于目標檢測方式的CNN的表現(xiàn)和效率感興趣;

·我們對Pinterest的“策展圖”來增強視覺搜索相關(guān)性的影響力感興趣;

·我們想嘗試用于視覺搜索的交互式交互界面。

圖像識別實例

v2-2201a12b92af8ddd7f5c2e1fd72ad2f6_720w.png

圖10:以鞋為對象的搜索結(jié)果示例。檢測到的對象的邊界自動突出顯示。頂層圖像是查詢圖像。

v2-578142ff78ca471a7e7a06149c37d9ce_720w.png

圖11:以包為目標的檢測和定位結(jié)果樣本。[綠色:人工打標,藍色:識別結(jié)果]

v2-f3252b53000264fc00683a2f074b257d_720w.png

圖12:以鞋為目標的檢測和定位結(jié)果樣本。

v2-01f7e3e34aac1753f5672a677aeb50f3_720w.png

圖13:以連衣裙為目標的檢測和定位結(jié)果樣本。

本文譯自

Jing,Y.,Liu,D.,Kislyuk,D.,Zhai,A.,Xu,J.,Donahue,J.,&Tavel,S.(2015,August).Visual search at pinterest.In Proceedings of the 21th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining(pp.1889-1898).ACM.

立即登錄,閱讀全文
原文鏈接:點擊前往 >
文章來源:知乎
版權(quán)說明:本文內(nèi)容來自于知乎,本站不擁有所有權(quán),不承擔相關(guān)法律責任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多