Amazon Fire Phone 的 Firefly 識別功能是怎麼工作的?

能夠識別一億多種東西,包括返回商品介紹和購買按鈕。是怎樣的演算法和識別後台支撐著這個功能?

&> At a Wednesday press conference in Seattle, Amazon announced a service that would go along with its newly debuted 「Fire Phone.」 Called Firefly, this new technology is packaged in an app that can identify up to 100 million objects. For the most part, this feature will integrate with the Amazon marketplace, allowing you to take photos of products and buy them from Amazon, but the technology used to make it run will also be available to developers in an SDK available now.

Update: Amazon』s new Firefly, Dynamic Perspective pull ahead on machine vision


Amazon debuts Firefly technology上簡要看了一下視頻,Amazon Fire Phone 的識別並不是一個general purpose的方案,還是在於基於視覺和聲音信息識別商品方便購買。視屏里看基本可以分從幾種:

1. 條形碼掃描,Firefly 配置了一個Infrared LED,這個基本就是靠這個感測器輔助的。

2. 二維碼掃描,基本功能了。

3. 商品的圖像識別。Amazon既然宣布了支持上百萬種商品,應該是對已有商品在圖像和文字標識上進行過訓練的(bag of words)。因為發布商品的包裝類型都比較固定,而且是肯定要進行入庫拍照上網的,所以這個建庫的過程相對於google image搜索這種,難度也要小很多。識別的實現可能有兩種方式:

a) OCR進行文字提取,提取商品名稱或者其他字元信息作為關鍵字,然後進入已經訓練好的圖像庫進行匹配。訓練好的特徵信息應該是雲端的,考慮到上傳數據的大小,大多數情況下應該是這種方式(至少視頻展示出來的都可以如此進行)。

b) 沒有文字的情況下直接根據特徵,到圖像資料庫中匹配。

4. 聲音信息的搜索應該類似視覺。但是個人並不做信號的研究,所以就不瞎說了。

類似於OCR這種功能時很實用的,但這個功能的主因應該是商品識別過程中夾帶的,看起來比很多第三方應用要好很多。

至於一個general purpose的視覺識別方案,通過Amazon發布的SDK可能能夠實現。但是總體來說,對於machine vision的從業人員來講,基於openCV的移動版差不多都能做到這些功能,針對廣泛的android平台開發來說,這款手機在硬體上既沒有vision processor的加速,也沒有更多感測器,不見得比其他平台有什麼優勢。

至於更加好的general purpose computer vision的手機方案,大家去關注google project Tango吧 業內人士怎麼看 Google 的 Tango 手機原型? : )


到目前為止,Fire Phone 是唯一能夠滿足我對「智能」的有限想像的智能手機。(多圖)

這裡以我有限的見識描述下Firefly 識別功能:

1、Firefly 所能識別的項目

A. Text recognizers: 泛指圖像文本識別(Image Text Recognizer),有別於OCR(Optical Character Recognition),而是類似名片識別,拍照翻譯等功能,其終極問題是 Google』s New Street View Image Recognition Algorithm Can Beat Most CAPTCHAs

B. Audio recognizers: 音頻識別,如歌曲識別這一領域的先驅Shazam使用戶可以在任何地方通過歌曲的任何一個音軌對其進行識別),電視節目識別等;

C. Image recognizers: 圖像識別,主要是基於內容的圖像搜索(Content Based Image Retrival),更近一步講是類似重複圖片檢測(Near-duplicate Image Detection),只要是資料庫中存在的樣本圖像,只要查詢圖片是對其的重採樣或編輯,總是可以找到原樣本圖片,這樣就給人造成可以識別上億商品的表象,說白了就是一對一的匹配,而非廣義的圖像識別。

這三項與小李子在KDD2012開幕式上演講提到的九個需要解決的計算機問題的前三個OCR、語音識別、圖像搜索(Nine Real Hard Problems We』d Like You to Solve [Abstract, Slides: PDF])[4]不謀(也可能是有謀)而合,儘管有所出入,但大抵是這個意思。可咱貝爺已經實現了,而且意指很明顯,肯定能用它賺上錢,小李子你在忙啥,忙著跟Ng秀基情么?

文本識別和音頻識別相對來講識別對象明確些,且小生對這兩塊了解有限,接下來只講圖像識別這塊,這邊的戰鬥更多彩,攝像頭做為移動設備的入口之一,早已成為兵家必爭之地。

2、攝像頭後面的頭

燒不起器材的窮吊經常用「攝影不在於鏡頭多牛,而在於鏡頭後面的頭」 解毒,這裡我替貝爺喝句"FireFly就是攝像頭後面的頭",還在比像素你們真是LOW!

從攝像頭捕捉到的圖像中,FireFly做了這些:

二維碼/條形碼 識別;

電話號碼/郵箱/網址 識別;

圖書/CD/DVD/遊戲封面,電影海報 識別;

藝術品識別;

商品識別;

聽上去好像也就這樣,企鵝家的微信和G家的goggles也有類似功能嘛,但是它們有巨大的區別!咱先說說貝爺為這事有多麼努力騷年你們可知道呀:

2009年A9收購Snaptell[1],A9是amazon的子公司。Snaptell主要業務是手機圖像檢索,即通過手機攝像頭抓拍到的圖像搜索相關信息。官方介紹他們的演算法非常之精準,可以對付遮擋,光照不均,扭曲,透視,縮放等等,總之很牛。他們的演算法名字叫"highly accurate and robust

algorithm for image matching: Accumulated Signed Gradient

(ASG)"。創始人之一Rajeev Motwan在斯坦福大學指導過google創始人Larry Page 和Sergey Brin[2]。

2011年11月發布Amazon Flow應用程序,是一款增強現實的購物iPhone應用,它使用條形碼和圖像識別技術,讓購物者直接在攝像頭視圖中獲得信息。Flow可以識別出的書籍、DVD、CD、視頻遊戲和其他有包裝的東西,比如一盒餅乾——無論是通過掃描產品的圖像還是條形碼,通過識別媒介產品的封面、logo、藝術品以及其他一些獨特的視覺特點來工作。Flow是亞馬遜的子公司A9運營的,A9是亞馬遜旗下的專註搜索和廣告的部門[3]。

嗯,就是這麼過來的,貝爺都這麼努力了,騷年們還在晃悠什麼,戰鬥去吧。

3、如何識別

發布會的視頻中列舉過一些技術名詞,但多是用於圖像預處理,並不體現圖像識別的工作原理:

Adaptive local contrast enhancement

Adaptive noise reduction

Glare detection

Shadow removal

Underline removal

Two phase MSER scanning

Orientation normalization

Multiframe combination

Multiple OCR engines

Page layout analysis

Truncation filtering

Multiframe super-resolution

Confidence filtering

Hybrid 2-pass scanning

Adaptive scaling

Automatic cropping

所以小生並不能對其真實工作原理進行意想,要直白地描述這個過程也不是容易的事,這裡給個參考:

Mobile Visual Search:

http://www.stanford.edu/~dmchen/mvs.html

http://www.slideshare.net/foerderverein/mobile-visual-search

4、情景購買:所見即所得

想像下通過手機拍照就能到達相應商品購買頁面的情景,目前常用的手段是條形碼和二維碼,直接拍照購買的物品還局限在圖書CD電影等,要擴展到全品類商品,需要海量的數據支撐。

微信已完成第一步,在第二步上,相信在其注資京東後會有所行動;百度有相關的技術,但缺乏完善的電商數據支撐,變現不那直接,百度識圖只是個不是那麼必要的工具;G家情況也類似,goggles淪為娛樂工具;阿里有先天優勢,其定義的攝像頭門戶正合些題,但一淘火眼成長太慢了;所以,amazon在下一局大棋,並且有能力下好。

參考:

1. http://snaptell.typepad.com/http://techcrunch.com/2009/06/16/image-recognition-startup-snaptell-acquired-by-amazon-subsidiary-a9com/

2. http://www.cvchina.info/2010/01/21/company-introduction-3-snaptell

3. http://biz.jrj.com.cn/2014/06/19111717442547.shtml

4. Invited Keynote Speakers

5. http://blog.youtueye.com/tech/point-know-buy.html

6. http://blog.youtueye.com/tech/mobile-smart-vision.html


這個功能很神奇,但我想到一個問題,如果自拍拿去識別會發生什麼??? 說不定不小心發現了一件殘酷的事實——自己小時候是被父母買過來的。。


利益相關,這個是亞馬遜在Palo Alto的的子公司A9的Visual Search Team的成果。具體演算法么。。。打死我也不能說啊!

只能說他們幹了一些很crazy的事情,在scalability上做了很多優化。


通俗來說,先訓練,就是找一些圖片做上記號,哪個是蘋果,哪個是香蕉。然後把香蕉的圖片找到一些特徵並用向量表示,蘋果的也是,並找到一種分類的模式。新拍的圖片也提個特徵向量,根據訓練好的分類器區分出來是什麼。


系統內內置類似查一查應用實現,沒多智能。

只是從系統和功能整合的設計上說,要比查一查更完善。另外亞馬遜的投入更多,資源更多,思路更多。

手機端查一查的功能 類似網站上的 etao,比價,評論,引導用戶購物。也就是淘寶想做這個功能也不需要多少投入,


推薦閱讀:

機器學習中用到哪些矩陣知識,如果要補這些知識,求推薦合適的書籍資料?
機器學習應該準備哪些數學預備知識?
Matlab 中高維數組怎麼做 PCA?
谷歌智能車的難點在哪裡?模式識別,還是分析、控制演算法?

TAG:人工智慧 | 模式識別 | FirePhone | AmazonFirefly |