成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

讓剁手更便捷,蘑菇街視覺搜索技術架構實踐

原創
開發 架構 人工智能
眾所周知,圖像檢索屬于計算機視覺領域被研究得較早、且較為廣泛的方向。按照描述圖像內容方式的不同,一般可以分為兩大類:基于文本的圖像檢索(TBIR)和基于內容的圖像檢索(CBIR)。

【51CTO.com原創稿件】眾所周知,圖像檢索屬于計算機視覺領域被研究得較早、且較為廣泛的方向。按照描述圖像內容方式的不同,一般可以分為兩大類:基于文本的圖像檢索(TBIR)和基于內容的圖像檢索(CBIR)。

2018 年 11 月 30 日-12 月 1 日,由 51CTO 主辦的 WOT 全球人工智能技術峰會在北京粵財 JW 萬豪酒店隆重舉行。

本次峰會以人工智能為主題,來自于美麗聯合集團的宋宏亮給大家介紹《視覺搜索技術系統與業務應用》。

本次分享將從如下三個部分展開:

  • 視覺分享的背景與現狀
  • 蘑菇街視覺搜索技術架構與研發
  • 系統及業務應用

讓剁手更便捷,蘑菇街視覺搜索技術架構實踐

視覺分享的背景與現狀

基于文本的圖像檢索方法始于上世紀70年代,它利用文本標注的方式對圖像中的內容進行描述,從而為每張圖像產生內容描述的關鍵詞,包括圖像中的物體和場景等。

這種方式既可以采用人工標注,也可以通過圖像識別技術,來實現半自動化的標注。在檢索時,系統可以根據用戶所提供的查詢關鍵字,找出那些與關鍵字相對應的圖片,并返回給用戶。

由于具有易于實現的優點,因此在一些中小型規模的圖像搜索應用中,該方法仍在被繼續使用著。

當然,該方式也存在著如下缺陷:

  • 對于大規模的圖像數據而言,由于在標注過程中需要有人工的介入,因此不但耗時耗力,而且持續涌入的新圖像也會干擾到人工標注。
  • 在需要精確查詢時,用戶可能很難用簡短的關鍵字,來描述出自己真正想要獲取的圖像。
  • 人工標注的過程,不可避免地會受到標注者的認知水平、言語使用、以及主觀判斷等方面的影響,因此會產生文字描述的差異性。

隨著圖像數據的快速增長,上述針對基于文本檢索方法的問題日益凸現。因此,業界普遍認為:索引圖像信息的最有效方式應該基于圖像內容自身。

此類方式是將對于圖像內容的表達和相似性,交給計算機自行處理,充分發揮其計算優勢,并大幅提升檢索的效率。

不過,基于內容檢索方法也存在著一項主要缺點:特征描述與高層語義之間存在著難以填補的鴻溝。

由于受到環境的干擾較大,因此我們需要選擇那些抗干擾性較強的、具有不變性局部特征的方法,如SIFT。同時,我們也要求此類方法應具有較高的特征維度。

近年來,以深度學習(尤其是卷積神經網絡CNN)為主的自動化圖像特征檢索方法,得以廣泛應用。

它能夠極大地提高檢索的精度。而且,我們可以使用PCA等降維手段,來構建出高效合理的快速檢索機制,以適應大規模或海量圖像的檢索任務。

讓剁手更便捷,蘑菇街視覺搜索技術架構實踐

上圖是基于內容圖像檢索的基本框架。我們可以事先建立好圖像特征矢量的描述,并存入圖像特征庫中。

當用戶輸入一張待查詢的圖像時,它會使用相同的方法,提取待查詢圖像的特征,并得到查詢的向量。

然后在某種相似性的度量準則下,計算查詢向量與特征庫中各個特征的相似性大小。最后按照相似性的大小進行排序,并順次輸出對應的圖片。

讓剁手更便捷,蘑菇街視覺搜索技術架構實踐

對于我們的電商場景而言,各種數據的來源一般分成兩塊:

  • 賣家端:普通賣家,上傳商品主圖、附圖、SKU圖、以及各種詳情圖。主播,生產直播內容,包含商品截圖和視頻等。
  • 用戶端:普通用戶,上傳對應的UGC內容、以及買家秀圖片等。達人,產生PGC之類的內容。

這些圖像數據不但體量龐大,而且具有“天然”的結構化信息。商家在上傳時,便能通過填寫圖片所對應的類目和屬性,完成明晰的標注。

而有了基礎的數據來源,我們就能通過構建后臺圖像數據庫,來進行款式屬性的識別,OCR文字的識別、以及圖像特征的檢索等操作。

在此基礎上,結合各種運營活動與策略,我們就能夠在前端將商品展現出去,對便用戶進行瀏覽和購買。

讓剁手更便捷,蘑菇街視覺搜索技術架構實踐

眾所周知,物體容易受拍攝環境的影響。比如:光照變化、尺度變化、視角變化、遮擋以及背景雜亂等因素,都會對檢索結果造成較大的影響。

此外,電商還面臨著來自如下方面的挑戰:

  • 電商平臺每天都有頻繁的上、下架商品,它們給索引的整體構建帶來了巨大挑戰。
  • 規模是把雙刃劍,雖然我們擁有了足夠多的數據進行模型訓練,但是龐大的數據也對整體搜索構成了巨大的壓力。
  • 數據質量無法保障,尤其是那些用戶上傳的各種買家show圖片,以及商家打錯類目標簽的問題。
  • 用戶的查詢也會存在著多樣性,包括對于各種上傳商品圖、視頻截圖、以及實拍圖的需求。

讓剁手更便捷,蘑菇街視覺搜索技術架構實踐

蘑菇街視覺搜索技術架構與研發

基于上面提到的數據特點與挑戰,我們研發了自己的視覺搜索技術架構。如上圖所示,其流程為:

  1. 在接到用戶的查詢請求之后,我們會對類目進行預測。
  2. 通過目標檢測,我們得到所需的內容。
  3. 通過特征提取器,提取圖像的特征表達。
  4. 基于ANN檢索,得到充分的檢索結果。
  5. 通過Rerank方式,得到檢索的最終結果。

讓剁手更便捷,蘑菇街視覺搜索技術架構實踐

基于上述流程,我們來依次介紹其不同的環節。對于類目預測而言,我們分為三個方向:

  • 由于輸入數據較為雜亂,因此我們需要對圖像進行質量評估,處理掉質量較差、或不宜于展示的圖片,以提升用戶的體驗。
  • 基于同圖的過濾方式,處理掉數據庫中的同圖。
  • 進行各種類目的分類工作。

讓剁手更便捷,蘑菇街視覺搜索技術架構實踐

圖像質量評估

圖像質量評估實際上是對圖像美觀度的識別。目前市面上的大部分圖像質量分析,主要是在粗粒度層面上給出質量的分級,如:好的、中等的、差的。

因此,它們只是將問題歸成了分類問題,并沒有從細節上去模擬人類的審美,給出圖像的優劣判定。

在此,我們借鑒了“Photo Aesthetics Ranking Network with Attributes and Content Adaptation”一文的思想,采用了文中提到的前兩種網絡結構。

首先,我們通過人工標注,從上圖右側所展示的多緯度屬性方向去對數據進行打標,進而得出美觀度的總體分值。接著,我們采用了單支和多分支兩種回歸網絡。

單支回歸網絡訓練的是一個回歸模型的Reg,其lable為圖片的總評分(score)。通過對某個圖片上11個評分點的相加,構造出一個多分支,進而融合成一個得分制的回歸網絡Reg+Att。

在訓練時,label的11個屬性評分與最終的score,會將Reg所訓練好的權重遷移到Reg+Att之中,并最終使用Reg+Att網絡來進行預測。

有了該網絡之后,我們便可以對于數據庫中的圖片數據進行美觀度評分,進而過濾掉美觀度分值較差的圖片。

讓剁手更便捷,蘑菇街視覺搜索技術架構實踐

同圖過濾

如果我們搜索出來的結果存在大量同圖的話,勢必會降低用戶的體驗度。因此,我們采用輕量化的pHash方式進行快速地同圖過濾。

該方式的基本思想是:為每一張圖片形成一個哈希值。整個計算過程為:

  1. 對一張圖片進行resize,將其縮放成8×8的尺度,共有64個像素。
  2. 轉成灰度圖片,計算灰度平均值。
  3. 將每個像素的灰度值和平均值進行比較。如果是大于或者是等于該平均值,則記為1;若小于平均值,則記做0。
  4. 將這些0、1的結果進行串聯,得到二進制的表達。
  5. 通過漢明距離進行距離計算,籍此判斷是否為同一張圖片。
  6. 結合包括銷量、價格、上店時間、以及店鋪星級在內的業務邏輯,進行同圖的合并或過濾。

讓剁手更便捷,蘑菇街視覺搜索技術架構實踐

類目分類

類目分類的主要目的是縮小待檢索的數據量,提升檢索的精度。在電商的場景中,有著“類目數”的概念。例如:服飾鞋包、女裝、上裝、以及T恤,就構成了類目數的不同分支。

其中,服飾鞋包是一級類目,女裝是二級類目,上裝是三級類目,T恤則對應的是四級類目。如上圖所示,我們針對于不同類目數的數據分布情況,以及用戶對于類目的認知,整理出了上述十個大類,它們基本覆蓋了我們系統中的所有葉子類目。

讓剁手更便捷,蘑菇街視覺搜索技術架構實踐

除了上述橫向的十個大類,我們也結合了縱向的四級類目(共504個),以便在后續的結果召回上實現彌補。

同時,由于各個任務之間存在著相關性,因此我們采用的是基于多任務的學習方式,通過彼此之間的促進,讓模型具有更好的泛化能力。

如上圖所示,此處的底層網絡是ResNet18,后面的兩個FC分支分別對應著兩個不同的具體任務。通過迭代,該模型的top1,在十大類層面上可達92%,而在四級類目上則為84%。

讓剁手更便捷,蘑菇街視覺搜索技術架構實踐

主體檢測

對于一張圖片,我們可以采用兩種主流的目標檢測方式:

  • Faster R-CNN之類的two-stages的方式
  • SSD之類的one-stage的方式

由于是基于RNN,因此two-stages方式的精度更高些;同時,由于是串聯方式,所以其計算性能略差。而one-stage方式則恰恰與此相反。

鑒于兩類方法的優缺點,最終我們采用了基于Refinement網絡的模型訓練。其中,Anchor refine module類似于Faster R-CNN中的RPN,而Object detect module則類似于SSD。中間通過TCB模塊進行特征轉換,將上層的ARM特征上傳到某個檢測模塊中。

同時,TCB具有一個類似于FPN金字塔形式的向前傳遞過程。因此,該網絡相當于將RPN與后面的檢測模塊并行處理,進而保證了檢索的性能。

而且,由于接入了FPN的特定制,因此它對于一些小目標的檢測來說,會有比較好的效果。

我們基于該網絡也制定了一些檢測目標,例如:我們會檢測某張圖片中出現的上服、褲子、裙裝、鞋子、包包和人臉等區域部分。

通過迭代訓練,我們最終可以達到0.95的MAP,而在K40上的檢索性能則為25FPS,同時在P100上,會達到50多的FPS效果。

讓剁手更便捷,蘑菇街視覺搜索技術架構實踐

上面四張圖展示的是我們在不同場景下目標檢測的結果:第一張圖來自商品搜索的結果;第二張圖來自用戶的實拍;第三張截圖來自直播場景;最后一張圖來自線下數據的實測情況。

讓剁手更便捷,蘑菇街視覺搜索技術架構實踐

圖像特征學習

針對在真實的電商場景中存在著圖像特征提取的需求,我們整理出了一套多位的標簽體系。其中包括:類目的CID、SKU的顏色、圖像本身的圖案信息、Shape信息、以及其他擴展信息。

雖然在制定標簽時,我們難免要進行大量的數據清洗和整理工作,但是,由于商家在上傳圖片時,已經給商品打上了Title等屬性信息,因此我們可以直接通過這些文本描述,來拿到一些“天然”的標簽。

另外,我們也可以通過諸如:款式屬性模型、元素圖案模型、以及一些細粒度的顏色模型,來對這些數據進行重新打標或予以校驗。

有了上述兩方面的基礎,我們再結合一些人工的審核方式,最后就能得出相對完善的標簽。如上圖的右側兩行文字所示,它們分別代表了標簽的具體含義。

讓剁手更便捷,蘑菇街視覺搜索技術架構實踐

在標簽體系建成之后,我們就可以開始整理數據了。一般而言,類別應當越細越好,每類的數據也是越多越好。

但是在實踐中,我們需要將每一類數據的體量設置為:上限2萬、下限1千,以避免出現樣本不均衡的問題。因此,在整理完成后,我們最終得到了2319個標簽、約1000萬個訓練樣本。

讓剁手更便捷,蘑菇街視覺搜索技術架構實踐

有了數據標簽和可供訓練的數據,下面我們便可以通過基于CNN網絡的分類模型,來訓練特征了。

為了得到更好的分類效果,我們引入了Triplet的網絡結構。如上圖所示,右側圖共有三個分支:中間為query、上面是positive、下面為negative。

而在最后,我們采用了兩種loss:一種是分類的loss、另一種是基于Triplet的loss。通過此方式,我們既可以縮減類內距離,又能夠拉大類間距離,進而增強特征學習的效果。可見,在基于Triplet loss的學習中,關鍵問題是對于上述三個分支的選擇。

對于positive樣本,我們會選擇同一個標簽的樣本;而對于negative樣本,則盡量選擇那些移位不同所對應的標簽圖片。因此,通過迭代式訓練,我們最終的分類效果(即top1)為68%。

讓剁手更便捷,蘑菇街視覺搜索技術架構實踐

有了上述基本特征的提取網絡,我們接著需要考慮具體應選用哪些特征。如上圖所示,我們分別對于res所對應的5a、5b、5c、以及res4的一些層(如fc層)進行了特征提取。通過驗證,我們最終認為:基于res 5a層所得到的結果最好。

在res 5a層上,我們會結合GAP(全局平均池化,Global Average Pooling)的方式,進行特征的聚合。GAP主要被用來解決全連接的問題。

如上圖,通過基于res 5a的512×7×7 feature map的處理,我們能得到一個1×512的512個特征。接著,我們進行各種平方與歸一化的操作,進而得到最終的檢索特征。

讓剁手更便捷,蘑菇街視覺搜索技術架構實踐

近似最近鄰檢索

接著,我們需要通過乘積量化的方式來進行近鄰檢索。乘積量化是在內存和效率之間實現平衡的一種方式。它既能為圖像的檢索結構提供足夠的內存,又能保證檢索的質量與速度。

其核心思想是對特征進行分組量化,即:將某個特征分成M組,對每一組進行細致的量化,進而通過每一組量化中心的卡爾積,得到最終的碼本。

讓剁手更便捷,蘑菇街視覺搜索技術架構實踐

在檢索過程中,我們需要構建索引的結構。上面左側圖是我們對于數據庫采用的檢索結構。輸入Y對應的是數據庫中某一張圖片。

通過粗量化的中心計算,我們能夠得到一個粗量化的QC,該QC即為對應的倒排文件入口。通過計算Y和QC之間的殘差向量,我們便可得出一個RY。

RY再通過M分組,讓每個分組對應一個細量化的中心。籍此,我們便可將該圖片加入其對應的粗量化倒排鏈了。

如上面右側圖所示,在查詢圖像時,我們會先通過粗的量化,給X找到對應的檢索入口,接著計算其殘差,并根據既有的侯選查詢集合,計算出該殘差和集合的具體距離,最后再通過排序,以得到檢索結果。

讓剁手更便捷,蘑菇街視覺搜索技術架構實踐

Reranking

為了得到更為全局的特征,我們需要采用Reranking,來挖掘圖像的局部特征。此處,我們是通過結合RMAC特征,以及Attention方式來實現的。

RMAC方式是通過變窗口的方式來進行滑窗的。該滑窗過程不是在圖像本身上進行的,而是在某個feature map上實現的。因此,它保障了特征提取的速度。

不過,雖然RMAC可以提取許多局部區域特征,但是它并未考慮到不同region之間的重要性。而且在某些情況下,由于某些圖片包含了較多的背景區域,從而干擾了檢索效果。因此,我們需要結合Regional attention來進行學習,以得出特征的重要性。

具體做法如上圖所示:通過前面訓練出來的網絡結構,我們可以得出圖像的Res維特征。接著,我們基于不同的scale,進行局部特征的提取。

通過該四個scale的特征選取,我們能夠保證相鄰窗口具有40%的overlap。之后,會配有兩個分支:

  • R-MAC模塊。其中包含了Max spooling和后處理過程(Post-processing)。該后處理過程包括:L2-normalization和PCA-whitening。此后通過sum-pooling和L2-normalization得到Global feature vector的表達。

讓剁手更便捷,蘑菇街視覺搜索技術架構實踐

  • Regional attention模塊。鑒于這些局部特征的重要性,我們需要結合Regional attention模塊,來學習不同的權重。具體過程是:我們將區域特征(Regional feature)和全局特征(Global feature)進行融合(Mean pooled),以實現對上下文的感知(Context-aware)。在Attention模塊中,我們在Channel space中進行了Concat,之后進入Attention network(其中包括兩個線性層和兩個非線性層),以得到Attention的權重。

結合上述RMAC的特征,我們通過加權,以得到基于局部特征的表達。接著,我們會基于topN的結果執行Reranking。當然,我們也會結合擴展查詢(Query expansion)的方式,以進一步提升檢索的效果。

讓剁手更便捷,蘑菇街視覺搜索技術架構實踐

如上圖所示,左側是RNN網絡提取的全局的特征,右側是RMAC+Attention網絡提取的局部特征。

讓剁手更便捷,蘑菇街視覺搜索技術架構實踐

評測集及指標

為了評測效果,我們準備了如下評測數據:

  • Query圖片,包括:商品主圖、買家秀、以及直播截圖。
  • Similar圖片,包括:商品附圖和詳情圖。
  • 共2000組、1對1形式(商品的主圖對應著商品的詳情圖)和1對N形式(一張主圖片對應N張詳細圖片)。
  • 搜索測試DB:200萬。

在結果上,我們分別設置了兩個算法測試指標:TopN的召回結果和TopN的mAP結果。

讓剁手更便捷,蘑菇街視覺搜索技術架構實踐

上圖展示了可視化搜索的效果。

系統及業務應用

讓剁手更便捷,蘑菇街視覺搜索技術架構實踐

上面是蘑菇街視覺搜索的系統架構圖。它分為四個層級:

  • 基礎網絡模型,包括:類目的識別、目標的檢測和特征提取的深度學習。同時它也包括基于PQ量化的模型。
  • 算法模塊,分為離線和線上兩個部分:
    • 離線數據的處理,包括:目標檢測、特征提取、生成索引庫、以及通過Dump過程生成一些echo文件和數據。
    • 線上的搜索過程,對應了前面提到的那張表。
  • 中間接口層,灰色為Dump數據的生成,右邊白色在線部分是針對不同算法模塊所給出接口。
  • 業務應用層,此處羅列了各種業務。目前,除了http接口,我們還接入了ZSerach和推薦引擎,以豐富推送結果。

下面具體介紹幾個業務應用:

讓剁手更便捷,蘑菇街視覺搜索技術架構實踐

運營選品業務:導購運營基于流行服飾等圖片,利用視覺搜索技術,查找到蘑菇街相應的商品。通過接入選品的后臺,我們根據運營輸入的圖片,搜索出來各種相似的商品圖片。

這些圖片附帶有價格、銷量、折扣、上架時間等商品信息。運營篩選需要的商品,通過APP前端推給用戶,從而避免了人工找圖的工作量,同時提升了運營效率。

讓剁手更便捷,蘑菇街視覺搜索技術架構實踐

同款審核:電商的基礎業務需要對商家上傳的商品圖片進行同款審核,并提供商家對于審核結果的在線查詢。

因此,在接入了視覺搜索技術之后,我們通過識別系統來判斷同款商品,并返回結果數據。在該算法上線之后,我們通過結合業務數據的實測,整體系統的準確率達到了99.06%,而漏檢率僅有3%。

讓剁手更便捷,蘑菇街視覺搜索技術架構實踐

搜圖購類產品:我們在2017年底上線了該產品的App端,而在2018年初上線了微信女裝小程序。該產品的整體情況為:日均UV可達50萬左右。

讓剁手更便捷,蘑菇街視覺搜索技術架構實踐

搭配TAB:為了給用戶推薦各種搭配商品,我們基于現有圖像數據庫,結合目標檢測算法,對全身圖商品進行了檢測。系統通過區分不同區塊,以獲取相似商品的搜索結果。

如上圖所示,用戶在點擊了首頁里的搭配圖之后,便可獲取詳細的展示信息,進而在第三層的頁面上,看到不同區塊的相似性推薦結果。

讓剁手更便捷,蘑菇街視覺搜索技術架構實踐

Buy The Look:在內容分享場景中,達人們會曬出自己的服飾自拍圖,我們根據這些圖片進行目標檢測,并通過每個區塊實施相似搜索,最終給用戶推送對應的相似商品。

【51CTO原創稿件,合作站點轉載請注明原文作者和出處為51CTO.com】

 

責任編輯:龐桂玉 來源: 51CTO
相關推薦

2016-12-01 17:52:00

人臉技術電商實踐

2015-11-05 10:20:21

蘑菇街Docker私有云

2017-05-24 11:29:10

蘑菇街搜索推薦

2018-05-22 10:30:37

深度學習蘑菇街移動端

2017-10-13 17:35:30

深度學習移動端機器學習

2013-02-21 10:03:57

Win8云存儲Skydrive

2012-02-13 09:31:44

傲游手機瀏覽器

2016-05-23 17:58:51

運維技術分享

2009-07-30 11:39:04

ASP.NET新技術

2012-10-29 09:47:24

蘑菇街

2022-12-22 13:35:22

開發應用

2017-03-22 22:51:03

強勢eBayBASE模式

2012-04-15 20:44:18

淘寶聯盟蘑菇街

2024-06-21 08:09:20

2015-07-17 07:23:01

雙十一阿里技術

2011-10-31 17:56:11

互聯網

2012-07-04 15:54:05

91手機助手

2019-04-25 15:21:00

計算機互聯網 技術
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: www精品美女久久久tv | 在线国产一区 | 一区二区三区中文字幕 | 99pao成人国产永久免费视频 | 欧美一级黄带 | 亚洲国产精品99久久久久久久久 | 一区二区三区四区国产精品 | 亚洲午夜精品一区二区三区 | 国产99久久久国产精品 | 国产视频精品区 | 欧美一区二区三区视频 | 伊人焦久影院 | 国产1区在线 | 欧美二区在线 | 国产大学生情侣呻吟视频 | 国产激情福利 | 亚洲精彩免费视频 | 丁香久久 | 蜜桃视频在线观看免费视频网站www | 欧美日本在线观看 | 亚洲精品二区 | 精品影院 | 日韩欧美操 | 欧美一区二区三区 | 欧美日韩在线电影 | 羞羞网站在线观看 | 一区二区三区免费观看 | 欧美色a v | 成人在线播放网站 | 成人欧美一区二区三区在线播放 | 超碰成人免费 | 欧美一区视频在线 | 日韩欧美专区 | 久久久久久91 | 国产欧美性成人精品午夜 | 亚洲欧美中文日韩在线v日本 | 黄色毛片免费看 | 久久精品国产99国产精品 | 久久久资源| 日韩欧美国产精品 | 日p视频免费看 |