AI 技術講座精選:在 Pinterest 上的視覺發現

摘 要

在過去的三年中,Pinterest 已經針對幾款視覺搜索和推薦服務做出了相關的實驗,其中就包括 Related Pins (2014)、Similar Looks (2015)、Flashlight (2016)以及 Lens (2017)。本論文旨在對上述幾款服務背後的視覺發現引擎做出簡要的概述,同時對技術決策和產品決策背後的理論做出分析, 如物體檢測和交互式用戶界面的使用。最終我們得出以下結論:視覺發現引擎極大地提升了搜索和推薦任務的互動性。

關鍵詞: 視覺搜索、推薦系統、卷積特徵、物體檢測

介 紹

如今,高速發展的線上圖片和視頻帶動的新興研究領域是視覺搜索和推薦服務,本論文將其統稱為視覺發現。商業視覺搜索系統,如 Google Goggles 和 Amazon Flow 等都用於檢索事物的對應圖片,查詢圖像。但另一方面,推薦系統,如 Google Similar Images、Shopping 和 Image Swirl 等都能夠在用戶沒有進行顯式查詢的情況下,根據查詢圖片提供一些看起來非常相似的圖片。我們花了超過三年半的時間用 Pinterest 不同的視覺發現系統進行實驗。最近,有兩項技術不斷髮展並相互交匯,對我們有著相當大的幫助。其中一個是計算機視覺的發展,尤其是卷積網絡的使用和 GPU 的發展,使圖片分類和物體檢測技術突飛猛進;另一個則是,有相當多的用戶當下更加傾向於使用發現系統的瀏覽功能(尋找有啟發性或者其他相關的內容),而不是搜索功能(尋找答案)。Pinterest 是個非常獨特的平臺,擁有數以千萬的用戶(經常瀏覽網頁來尋找時尚、旅行、室內設計、食譜等等方面的信息),為用戶們提供著各種不同的視覺發現體驗。我們初期的工作成果表明,卷積特徵和物體檢測可以增加用戶視覺搜索系統的互動性。接著,我們發佈了 Pinterest Flashlight。Pinterest Flashlight 是一款交互視覺發現工具,主要用於幫助用戶選擇圖片中的物體(如,燈、桌子、架子等),如圖1所示。

AI 技術講座精選:在 Pinterest 上的視覺發現

如果系統確定了物體的位置,不管是通過自動物體定位還是協同過濾,Flashlight 都會在圖片上面顯示出一個可點擊的“點”,使得接下來的操作更加便捷。如圖2所示。

AI 技術講座精選:在 Pinterest 上的視覺發現

最近我們又發佈了 Pinterest Lens,是一個可通過手機相機獲得的視覺發現體驗,如圖3所示。

AI 技術講座精選:在 Pinterest 上的視覺發現

在本次發佈的 Pinterest Lens 中,我們還將物體檢測運用到了 Pinterest 數百萬的圖片當中,使得需查詢物體可以和目錄圖片裡的其它相似物進行匹配。本篇論文在為視覺發現系統提供架構概覽的同時,也會為大家分享在 Pinterest 中將縮放和集成視覺特徵放入產品中的相關經驗。例如,我們事先對大眾經常使用的分類網絡執行檢索任務的表現做出了調查,而後評估了二值化變化對提升這些分類特徵的檢索質量和效率是否有幫助。這種變化一方面能夠使我們在進行大規模設置時提高結果的相關性,另一方面也能極大地降低檢索延遲性。與此同時,本篇論文也會闡述把物體檢測運用到多視覺發現體驗的過程,包括如何在圖像推薦系統和視覺搜索系統的查詢規格化中利用檢測作為特徵。該論文其他部分結構如下:第二和第三部分會介紹 Pinterest 的圖像集合對視覺發現體驗和搜索相關內容的重要性。第四和第五部分會談談我們系統中的視覺特徵和物體檢測器。第六部分說的是視覺特徵如何強化通用圖像推薦系統。而第七和第八部分是關於我們發佈 Pinterest Flashlight 和最新的 APP Pinterest Lens 的相關經驗。

PINTEREST RELATEDPINS

Related Pins 是一個圖釘推薦系統,在 Pinterest 大量人們自己設計的內容中,它能夠通過查詢圖釘來推薦其他的個性化圖釘。該系統常常用在圖釘特寫視圖中,也叫 Related Pins feed,如圖8所示。

AI 技術講座精選:在 Pinterest 上的視覺發現

另外,Related Pins 推薦系統如今已經和 Pinterest 的某些部分相互合併了,包括 home feed、未認證訪客的 pin page、郵件以及某些自己設置的圖釘集合(如瀏覽標籤等)。如果存在以下行為,則表明用戶在 Pinterest 上有所交互。用戶在圖釘上的詳細信息,可以通過點擊的方式查看到更多的內容。接下來,用戶還可以點擊查看相關的鏈接;如果在某一網站的停留時間較長,那麼我們就將其稱之為長點擊事件。最後,用戶可以把圖釘保存在訂板裡。我們對“相關圖釘保存傾向”很感興趣,其結果是由瀏覽 Related Pins 推薦圖釘的人數除以收藏推薦圖釘的人數得到的。D.C.Liu 等人向我們展現了相關圖釘特徵的詳細架構和演化過程。該部分主要討論的是卷積特徵以及物體探測提高 Related Pins 互動性的過程。

推薦系統的卷積特徵

Related Pins 基於協同過濾機制(圖像板共生)得到備選圖片和常用的 Rank-SVM,以此學到將輸入的特徵計算出分數用於重新排序的功能。為了進行該實驗,我們設計了一系列的 A/B 實驗,在 Pinterest 上選取了500萬個流行的 Pins 作為查詢條件,並且用不同的特徵對它們的推薦進行重新排序。對照組用現有特徵集的線性模型對 Related Pins 進行了重新排序。實驗組使用微調 VGG fc6 和 fc8 視覺相似特徵和指標變量(除了在控制組使用的那些特徵)進行了重新排序。在 5M 的查詢 Pins 中,實驗組的互動率(點擊和重訂)達到3.2%。而當將 5M 擴大到 100M 的查詢 Pins 時,我們發現 Related Pins 的互動率淨增了4%。隨後,我們把該模型投入到了產品當中。而基於微調的 AlexNet 模型的實驗結果則不太理想(互動率只增加了0.8%),與視覺特徵呈現的線下評估的預期相一致。

在圖片分類後,我們注意到視覺分類的互動率增長幅度強勁,如藝術類的增幅為8.8%,紋身類的為8.0%,插畫為7.9%,設計為7.7%;而文本類別的增幅則比較少,如引用的增幅是2.0%,健身計劃的是0.2%。鑑於分類不同而產生的互動差異,我們接著又做了另外一個實驗,在查詢的類別向量和標量 fc6 視覺相似特徵(在查詢和備選之間)之間引入了一個交叉特徵,用於捕捉線性模型中分類和視覺特徵有用性之間的依賴關係。我們把把32個新特徵引入到了模型中,並且將每個特徵引入到一個站點範圍類別中(因為 Pinterest 類別向量將大多數值的閾值設置為0,所以這些特徵很稀疏)。該試驗的結果是,除了此前視覺分類模型帶來的增長外,還有額外的1.2%的互動增長率。

物體檢測推薦

為了確認產品中的檢測系統是否有效,我們首先要進行的其中一個實驗就是要進一步提升 Related Pins 中視覺特徵的使用率(請參見上一部分)。我們發現,用戶有時感興趣的是 Pin 圖片中的某些物體,而非整個圖片。因此我們推測物體檢測可以幫助我們計算目標視覺相似特徵。在接下來的實驗中,我們主要把時尚查詢作為該試驗中唯一有效的微調時尚 Faster R-CNN 模型。

AI 技術講座精選:在 Pinterest 上的視覺發現

表四: 2015年10月在視覺相似特徵中加入交叉特徵和物體檢測,歷時7天得出的互動結果。

將非極大值抑制運用到 FasterR-CNN 得出的區域後,我們要麼考慮查詢 Pin 圖片中採樣率達到25%以上的那一部分,要麼考慮區域採樣置信度閥值超過0.9的那一部分。我們認為這些圖片包含一個主要的視覺物體,並把它們歸為一類。我們將上一部分的得到微調 VGG 分類變量作為對照組,用下面的實驗組進行實驗:

  • 變量A:如果在查詢 Pin 上檢測出了主要視覺物體,那麼我們就計算那個物體上面的視覺特徵(VGG fc6)。

  • 變量B:和變量A相同,但是我們人為調整排序模型,把視覺相似重量提高1/5。該變量後的直覺指的是,當一個主要的視覺物體出現時,視覺相似對於推薦質量來說則會變得更加重要。

  • 變量C:對照組和實驗組有相同的視覺特徵。如果查詢包含一個主要視覺物體,那麼我們就把視覺相似特徵增加1/5,與變量B一樣。在這一變量中,我們假設視覺相似對於本次被檢測的視覺物體的查詢更為重要,如包、鞋子等。

這些變量的實驗結果如表4所示。物體檢測實驗中的A、B變量表明,從物體邊界框中直接計算出的視覺特徵會稍稍提升互動性。該實驗表現不甚理想的一個猜想是,當我們把查詢物體和整個圖片備選相匹配時,我們的檢測模型會回到緊密邊界框,導致沒有足夠的上下文提供給圖片呈現模型。變量C的互動比 VGG 相似特徵控制更多,超出了4.9%,表明視覺相似重量更大。之前的實驗結果非常可喜,而接著現在的物體檢測系統也在飛速發展中,我們也將其運用到了 Flashlight 中以增加互動,詳見下一部分。

PINTEREST FLASHLIGHT

AI 技術講座精選:在 Pinterest 上的視覺發現

如圖9所示,Falshlight 是一個視覺搜索工具,幫助用戶搜索 Pinterest 圖片中的所有物體。其支持多個APP,包括2017年發佈的 Shop-the-Look,如圖10所示。

AI 技術講座精選:在 Pinterest 上的視覺發現

Falshlight 的輸入是區域採樣,可以運用第5部分提到的檢測特徵得到,或者用戶也可以直接進行圖片裁剪,如圖9所示。接著第四部分描述的檢索特徵會啟動該物體的視覺搜索,生成輕視覺重量排序的備選,並且會把原圖的元數據作為上下文。同時,Flashlight 會反饋圖片結果和可點擊的 tf-idf 加權註釋,幫助用戶縮小查找範圍。這些註釋是集合圖片結果註釋得到的。

我們把 Flashlight 作為 Similar Looks 的迭代產品,Similar Look 在我們之前的論文中提到過,是一款時尚的視覺搜索工具。從 Similar Look 中我們瞭解到,如果能在一張圖片中找到相似的物體可以增加用戶的互動性。但是,經過實驗,我們發現要想發佈 Similar Look 產品還面臨著諸多的挑戰。首先,我們早期基於部件的檢測流水線不具備線上屬性,這就給物體選擇範圍帶來了侷限性。每天只有2.4%的用戶會看看檢測物體,用戶調查也表明有些圖片中有物體,而有些則沒有,缺乏一致性,讓用戶很困惑,而用戶們希望在每張圖片上都有交互點,包括新內容。

剪裁機制是我們解決這一問題的辦法,它可以讓用戶能更加靈活地選擇圖片上的所有物體,並且得到所選物體的實時視覺相似結果。不限制用戶的剪裁範圍,使得用戶可以想搜索什麼就搜索什麼。在初次發佈的幾個月後,我們把物體檢測加入到了 Flashlight 中,生成點擊點以簡化用戶界面。在 APP 上線時,超過10億的物體被檢測出來並呈現給了用戶。

檢索的卷積特徵

早期發佈的 Flashlight 不包括自動物體檢測。我們在 Pin 圖片的右上角引入了一個半透明搜索圖標,這樣用戶點擊就可以使用剪裁機制。當用戶操作剪裁邊框時,實時視覺搜索結果和註釋便會生成。發佈這個 APP 後,我們發現2%的用戶在看 Pin 特寫時會按搜索鍵,這和每天大約400萬的視覺搜索量相對應。每張圖片經過裁剪後才會生成搜索,因此檢索視覺相似結果時,因為我們沒有裁剪的元數據,備選檢索操作之後的重新排序功能非常弱。因此,在深度學習中,視覺搜索結果的反饋大部分是由初期最近鄰檢索所決定的。因為上下文大部分基於深度學習,驅動著新的特徵,文本索引中的互動率才能達到2/3。如今該產品已經上線,並且其性能在近幾年中一直在不斷地提高。

檢索的物體探測

Flashlight 一個最重要的進步就是基於 Faster R-CNN 的實時物體檢測,這為該產品提供了很多優勢。首先,我們能簡化用戶的界面,在我們檢測的類別上放置預定的物體點,這樣用戶就可以直接點擊這些點,而不用手動操作裁剪邊框。第二,任何檢索系統的目標都是建立起用戶集合互動的信號,以增加已知查詢的互動結果。這樣的集合在我們早期的版本中無法實現,因為大部分查詢都是用戶手動裁剪的。

雖然直觀上來說,物體檢測似乎只是簡單地提高了 Flashlight 的互動性,因為它使得用戶的界面更加簡單。但A/B實驗告訴我們,事實並非如此。起初,在物體檢測實驗發佈後,對照組用於展示邊界框的缺失,實驗組則展示每個檢測物體上的點擊點(如圖2所示),我們發現互動度量在減少(我們對“Flashlight 保存傾向”很感興趣,其和之前的 Related Pins 度量相似)。我們調查了減少的原因,發現兩個重要的問題,如圖11所示:(a)物體檢測效果差(定位質量低或者物體“幻覺”,左邊例子),(b)無關檢索結果,可能是檢測效果差的影響(右邊例子),也可能是個體原因(中間例子)。

AI 技術講座精選:在 Pinterest 上的視覺發現

要解決這些問題,我們用視覺搜索系統置信度研發出了一個方法來個檢測物體排行,我們發現單單隻靠檢測置信度不足以抑制不理想的檢測結果,尤其是當我們仔細研究了視覺搜索系統反饋的3個信號後。視覺搜索系統反饋的3個信號分別是:最高結果(來自我們4096個維度的二進制卷積特徵)的視覺漢明距離、視覺搜索系統反饋的最高註釋分值(視覺搜索結果得到的 tf-idf 集合打分註釋)和類別一致性(標籤為同類的視覺搜索結果的最大部分)。我們把結果列在了表5中,並且給每個信號標上了最小閥值。

AI 技術講座精選:在 Pinterest 上的視覺發現

我們得到的最好反饋是 Flashlight 中用戶互動增長了4.9%。要想檢測物體,保持 Flashlight 中類別一致尤為重要。如果類別一致的分值較低,則意味著搜索結果無關,我們就將其作為代理同時抑制圖11中的兩種錯誤類型。

PINTEREST LENS

如圖12所示,Pinterest Lens 是一種基於手機相機的全新探索體驗。

AI 技術講座精選:在 Pinterest 上的視覺發現

和 Flashlight 不同,Lens 不是優化視覺相似結果,而查詢語義相關的多種結果。例如,通過一張藍莓的圖片,既能得到視覺相似的藍莓圖片,還能得到藍莓甜點的食譜。在這一部分,我們會對 Lens 中運用的技術做出探討,在以後的論文中會對各度量數據做出說明,因為在撰寫本論文時產品才剛發佈不久。

如圖13所示,Lens 的架構概述可以分為兩個部分。第一部分是查詢理解層,在這一層我們會迴歸到一系列輸入圖片的視覺和語義特徵上,比如註釋、物體和突出的顏色。第二部分為結果混合,因為 Lens 結果的來源不同。視覺相似結果來自 Flashlight;語義相似結果是通過計算而得出的,利用註釋調用 Pinterest 的圖片搜索功能;而上下文結果(如用戶利用照相機拍下的照片中的客廳裡有椅子)則來自我們下面即將討論到的物體搜索系統。每次請求中,不是所有的資源都被啟動。基於我們在查詢理解層面的導出特徵,混合了比率和內容來源後得到的結果會大不一樣。例如,如果我們的註釋置信度較低,那麼圖片搜索功能就不會得以啟動。

AI 技術講座精選:在 Pinterest 上的視覺發現

物體搜索

物體搜索是一個視覺搜索系統,不僅能夠像傳統系統那樣索引整個圖片,還能索引圖片中的物體。該系統的其中一個使用案例就是檢索包含某個查詢對象的結果。例如,如圖3所示,一個用戶拍了一張羅馬數字時鐘的照片,他們也許對能夠和時鐘搭配的傢俱或客廳設計感興趣。為了建立起一個這樣的系統,我們使用了 SSD 物體探測器(詳見第5部分),把數百萬張圖片中的物體抽離出來用於 Pinterest 上進行索引,這就使得一個語料庫包含數了百萬個對象。查詢時,SSD 依舊在輸入圖片上運行,因為只有當查詢圖片包含某個物體時,物體搜索才會啟動。指定一個查詢物體,我們就會計算視覺相似物體,然後把這些物體重新迴歸它們的原圖(場景),繼而反饋給用戶。圖14展示的就是流水線的端到端視圖。

AI 技術講座精選:在 Pinterest 上的視覺發現

將查詢和物體相匹配的概念之前在 [17] [3]中探索過;據我們所知,這是目前首個能夠支持推薦分類的產品系統。

總 結

本篇論文對 Pinterest 上視覺發現引擎驅動的多種視覺發現體驗做出了簡要的敘述,同時也對技術和產品決策背後的理論做出了相關的說明,如二進制特徵、物體檢測和交互用戶界面等。通過分享我們的經驗,我們希望視覺搜索能夠和現在的商業 APP 有更多結合。


編譯:AI100

原文鏈接:https://arxiv.org/pdf/1702.04680.pdf



分享到:


相關文章: