圖像搜索與識別背后的故事

0 評論 3803 瀏覽 13 收藏 15 分鐘

編輯導讀:有時我們看到身邊的朋友買了一件自己很喜歡的商品,自己也想入手,除了讓他們發商品鏈接,還有一個方法就是進行圖像搜索。本文作者以拍立淘為例,對大規模圖像搜索和識別技術以及在圖像搜索中的應用進行了分析,希望對你有幫助。

2019杭州云棲大會大師零距離大咖有約,由達摩院高級算法專家淵捷帶來以“看圖時代:圖像搜索與識別技術的迭代”為題的演講。本文以拍立淘為例對大規模圖像搜索和識別技術以及在圖像搜索中的應用進行了詳細的描述,另外,還對圖像的實拍圖匹配和海量數據這兩大挑戰的解決方案進行了闡述。

以下為精彩視頻內容整理:

一、阿里巴巴數字生態系統

image.png

在阿里巴巴的整個生態系統中,包括電商、數字娛樂、物流、本地服務中,無時無刻都在產生著大量的數據。借助阿里云這個大規模平臺,以及這個平臺上先進的AI相關技術,可以對這些大數據進行一個實時的處理,從而可以不斷的提升商品的價值和用戶的使用形態,以及能夠不斷的創造用戶的價值。

接下來以電商領域中的拍立淘AI產品為例,對看圖時代的圖像搜索與識別技術的迭代進行分享和介紹。

二、拍立淘

image.png

首先介紹一下拍立淘是什么,拍立淘是一項基于深度學習以圖搜圖的圖像系統,包括圖像的搜索與識別。拍立淘包含阿里巴巴所有商品的圖像數據,而且一個商品可能有多個圖像。目前拍立淘可以通過手機打開淘寶,然后點擊右上角攝像的圖標進入。拍立淘每天有2000萬的用戶進行訪問,這些用戶會將他們想要搜索的圖片放到拍立淘進行搜索。

1. 為什么需要圖像搜索

image.png

為什么需要圖像搜索呢?由于傳統的搜索都是基于文字進行搜索的,而在電商領域有許多非標準的商品,例如衣服、鞋子、包、掛飾很難通過文字精準的描述出來是什么。比如想要搜索圖中的包,用文字搜索就是輸入“紅色的真皮手提包”,可以看到搜出來的東西和自己想要的并不一樣,總會有很多的差別。但是用以圖搜圖的形式進行搜索的話,就可以精準的描述商品,同樣可以精準的搜索出自己想要的商品。

2. 應用場景

以下是以圖搜圖的幾種比較典型的場景:

image.png

場景一:第一個場景是街拍場景,比如說在街上看到別人穿的衣服,想要買同款,就可以拍下來進行搜索購物了。

image.png

場景二:第二個場景是網絡爆款場景,比如說看到微信朋友圈、微博有很多人分享這個商品,如果想要買同樣的商品,就可以通過拍立淘進行搜索和比價。

image.png

場景三:第三個場景是海淘場景,當我們在海外時,可能碰到好多不認識的牌子,這樣就可以通過拍立淘進行拍照搜索獲取信息。

3. 拍立淘發展歷程

image.png

拍立淘是從2014年開始上線的,到現在已經有五年的歷程了。最開始拍立淘要解決的是識別圖像難的問題。隨著用戶的需求和時間的推進,拍立淘團隊為了能夠不斷的迭代線上的效果,開始不斷的擴大數據規模,以及擴大引擎容量。同時,團隊也不斷地對用戶反饋數據和可點擊數據進行挖掘,用以提高整個系統的響應速度。

接下來講一下為什么需要對圖像進行識別,對于搜索而言,其實是不能理解用戶傳的圖像是什么,只能找出相近的圖像。但是如果有了識別能力,那么就可以告訴計算機是什么,進而搜索到對應的商品。

4. 拍立淘支持的類目

image.png

這是拍立淘的類目,類目包括服飾類、包類、鞋類、裝飾類等等,在淘寶上成交比較多的類目就是服飾類。

5. 拍立淘效果展示

為了比較清晰的展示算法能力,接下來對拍立淘效果展示示例進行詳細介紹。

image.png

示例一:示例一是一個連衣裙實例,拍立淘能夠對不是正面拍出的連衣裙圖像進行識別,進而得出連衣裙圖像的類目。

image.png

示例二:示例二是一個包的實例,很明顯這個包的圖像是倒著拍的,傳統的算法很難識別出是包,但是基于深度學習的算法就能夠解決這個難題。

image.png

示例三:示例三是一個不均勻光照的鞋子圖像,通過算法也可以找到同款。

image.png

示例四:在示例四這種情況下,我們并不難找出同款,我們這個有很強的語義信息和表達能力,能夠容易的找到相似的款式。

image.png

示例五:示例五是一個海淘的示例,算法能夠比較準確的對帶有標簽的保健品、藥品等商品進行識別。

6. 以圖搜圖流程

image.png

接下來講一下拍立淘以圖搜圖的流程,其實對一個搜索而言,都會有一個在線和離線的搜索過程。離線就是把候選的圖像建立一個數據庫,然后進行一個入庫和刪除的操作,當一個離線的圖像要進庫時,首先要做一個離線的檢測,因為有可能圖像中既有衣服又有眼鏡,如果檢測到是衣服,那么接著就需要對衣服進行一個特征提取,特征提取會將圖像數據轉換成一系列的數字,接著將兩個圖像之間進行一個計算,差值越小,代表兩張圖越相似。

挑戰一:實拍圖匹配

image.png

怎么進行實拍圖匹配呢?商品的圖像搜索會有兩種圖片,其中離線的是比較高質量的圖像,因為離線的圖像都是模特在攝影棚里用高端的相機拍的,可以看到商家的圖像都是高質量精美的圖片。但是用戶所拍的上傳的圖像會出現很多低質量的圖片,所以說識別圖像匹配是一個需要解決的關鍵性問題。

Deep ranking:

image.png

為了解決圖像匹配的問題,采用了深度學習中的Deep ranking方法。若想要將一個識別搜索或者其它AI系統做到極致,首先需要大量的數據,而這些數據可以通過用戶的交互行為來獲得。

例如用戶上傳了一個圖像,經過系統檢測后系統會反饋給用戶一些圖像,用戶點擊的圖像會比沒點擊的圖像相似度要高,我們就可以拿這個數據作為特征訓練的監督的信息。接著把用戶上傳的圖像和用戶點擊的一個圖像還有用戶沒有點擊的一個圖像一起傳送到共享CNN網絡中,然后經過多層的特征提取,就可以得到數據特征的數據,這就是所謂的訓練的基本框架。但這個框架有一個致命的問題,因為我們一個樣本涉及到三幅圖,導致計算量是很大的,針對于此,研發了一種大規模數據分布式訓練。

大數據分布式訓練:

image.png

在大規模分布式訓練中,數據的運行模式中需要N個機器,每個機器中都含有數據,每個機器中獨立的數據經過CNN網絡的特征提取后,會把所有的特征匯集到一臺總機器上,這樣做的好處就是能夠更多的構造副樣本,并且它們之間可以共享,這樣就可以更高效的運用數據,進而提高運算速度。

虛擬ID:

image.png

訓練過程中看不到全部圖像,只能看到局部圖像的問題,因此導致訓練效率比較低的問題。針對這個問題提出了虛擬ID訓練,虛擬ID訓練會給圖像標注一個虛擬label,然后以label作為分類監督的信息,接著把CNN網絡中的響應拿出來進行比較。用戶在點擊商品的兩個圖時,我們會認為這兩個圖像在某種程度上是有一定的相似度。因此,讓手機用戶點擊所有的圖像時形成一個編碼,然后把圖像的label做一個聚類。這個訓練不僅速度比上文中的大數據分布式訓練速度提升十倍以上,而且訓練效果能達到90%以上。

挑戰二:海量數據

image.png

圖像搜索與識別技術的第二個挑戰就是海量數據的挑戰,拍立淘有高達30億的圖片,對圖片逐一對比是做不到的,因此需要對這些向量引擎進行聚類操作,聚類操作會產生聚類標碼,若標碼一致就搜索,標碼不一致不搜索。

圖像搜索云產品:

image.png

除了拍立淘是手機淘寶的應用,同樣在去年2月份還發布了圖像搜索的云產品。同時,在海外還有了第一個客戶THE ICONIC,它是一個賣包、鞋子的網站。

紡織圖像搜索:

image.png

除了商品搜索,也把圖像搜索擴展到了其它領域,例如紡織圖像搜索。

萬物識別:

image.png

圖像搜索并不能讓計算機知道是什么,要想讓計算機知道是什么,就還需要對圖像進行識別,這就需要算法做支撐,在拍立淘上已經能夠對車、寵物等進行搜索與識別,也就意味著萬物識別已經在路上。

 

本文由@汪仔5795 原創發布于人人都是產品經理。未經許可,禁止轉載

題圖來自Unsplash,基于CC0協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發揮!