微軟識花是怎麼實現的?

有沒有技術細節或者公開發表的論文?


計算機視覺用於物體圖像識別和圖像分類對很多人來說可能已經不是新鮮事,但精細化物體分類就相對更加神秘,它從成千上萬種動植物中分辨出具體種類,滿足用戶在實際生活中的識別需要,這也正是「微軟識花」這款應用背後的秘密所在。近日,微軟亞洲研究院多媒體搜索與挖掘組的研究員們通過大量的實驗觀察及討論提出了一種基於遞歸注意力模型的卷積神經網路,能夠讓精細化物體分類成為現實。

————這裡是正式回答的分割線————

在日常生活中,我們可以很容易地識別出常見物體的類別(比如:計算機、手機、水杯等),但如果進一步去判斷更為精細化的物體分類名稱,比如去公園遊覽所見的各種花卉、樹木,在湖中划船時遇到的各種鳥類,恐怕是專家也很難做到無所不曉。不過,也可見精細化物體分類所存在的巨大需求和潛在市場。

雖然精細化物體分類擁有廣闊的應用前景,但同時也面臨著艱巨的挑戰。如下圖所示,每一行的三種動物都屬於不同種類,但其視覺差異卻非常微小。要分辨他們,對於普通人來說絕非易事。

通過觀察我們不難發現,對於精細化物體分類問題,其實形態、輪廓特徵顯得不那麼重要,而細節紋理特徵則起到了主導作用。目前,精細化分類的方法主要有以下兩類:

  • 基於圖像重要區域定位的方法。該方法集中探討如何利用弱監督的信息自動找到圖像中有判別力的區域,從而達到精細化分類的目的。
  • 基於圖像精細化特徵表達的方法。該方法提出使用高維度的圖像特徵(如:bilinear vector)對圖像信息進行高階編碼,以達到準確分類的目的。

然而,這兩種方法都有其各自的局限性。最近,微軟亞洲研究院多媒體搜索與挖掘組的研究員們通過大量的實驗觀察以及與相關領域專家的討論,創造性地提出了「將判別力區域的定位和精細化特徵的學習聯合進行優化」的構想,從而讓兩者在學習的過程中相互強化,也由此誕生了「Recurrent Attention Convolutional Neural Network」(RA-CNN,基於遞歸注意力模型的卷積神經網路)網路結構。這種網路可以更精準地找到圖像中有判別力的子區域,然後採用高解析度、精細化特徵描述這些區域,進而大大提高精細化物體分類的精度。該項工作已經被CVPR 2017(計算機視覺與模式識別)大會接收,並應邀做了報告分享,點擊此處可查看論文《RA-CNN:基於遞歸注意力模型的卷積神經網路》。

其實,這樣的情況在精細化物體分類問題中非常普遍。看似相似的兩張圖片,當我們把有判別力的區域放大後卻發現大相徑庭。而「RA-CNN」網路則有效地利用了這一特點,通過將不同尺度圖像的重要區域特徵融合,以確保重要信息充分發揮作用:有用的信息不丟失,同時雜訊得到抑制。

只需輸入一張圖片,「RA-CNN」便可自動找到不同尺度下的有判別力區域:上圖中藍色部分是分類子網路,它們將多個尺度的圖片用相應的卷積層提取出特徵後送入softmax 分類器,再以類別標籤作為監督對卷積層和分類器參數進行優化,當最終分類時,將各個尺度的特徵拼接起來,用全連接層將信息充分融合後進行分類。

上圖中的紅色部分則是定位子網路,其輸入是一張圖片的卷積層特徵,而輸出的是這張圖片有判別力區域的中心坐標值和邊長。定位子網路以層間的排序損失函數作為監督,優化下一尺度的圖片子區域在正確類別上的預測概率大於本尺度的預測概率,這樣可以促使網路自動找到最有判別力的區域。有了重要區域的坐標,再對原圖進行裁剪和放大操作便可得到下一尺度的輸入圖片,而為了使網路可以進行端到端的訓練,研究員們設計了一種對裁剪操作進行近似的可導函數來實現。以下是「RA-CNN」在三個公開數據集上找到的有判別力區域的例子及對應的分類精度:

看到這裡或許你對「RA-CNN」精細化物體分類問題的解決原理及其效果有了一定的了解,想要親自感受精細化物體分類技術的獨特魅力的小夥伴們可以下載微軟亞洲研究院推出的智能識別應用——微軟識花一鍵體驗哦~

————這裡是回答結束的分割線————

以上回答摘選自微軟研究院AI頭條,基於遞歸注意力模型的卷積神經網路:讓精細化物體分類成為現實。

感謝大家的閱讀。

本賬號為微軟亞洲研究院的官方知乎賬號。本賬號立足於計算機領域,特別是人工智慧相關的前沿研究,旨在為人工智慧的相關研究提供範例,從專業的角度促進公眾對人工智慧的理解,並為研究人員提供討論和參與的開放平台,從而共建計算機領域的未來。

微軟亞洲研究院的每一位專家都是我們的智囊團,你在這個賬號可以閱讀到來自計算機科學領域各個不同方向的專家們的見解。請大家不要吝惜手裡的「邀請」,讓我們在分享中共同進步。

也歡迎大家關注我們的微博和微信 (ID:MSRAsia) 賬號,了解更多我們的研究。


簡單來說就是:

「數據+演算法=產品」

其中,「數據」是紛繁多樣的不同種類花的圖片;「演算法」必定是深度學習演算法。

特別要指出的是,分辨不同類花實際上是針對「花」這類物體下屬的若干子類進行圖像分類。這在計算機視覺領域中對應一個專門的研究方向——「細粒度圖像分析」(Fine-Grained Image Analysis)。

有關「細粒度圖像分析」的具體內容,請大家移步我的知乎專欄「見微知著」--細粒度圖像分析進展綜述 - 知乎專欄。

另外,工業界細粒度圖像分析的需求很是常見,舉一例:前段時間美國大自然保護協會(The Nature Conservancy)曾在kaggle上發起了對漁船上捕到的不同「魚類」進行自動識別的競賽(見以下視頻),吸引了全球2293支參賽隊。 這個任務中涉及物體定位、細粒度圖像分類、數據分布變化等現實場景中常見的計算機視覺和機器學習問題,我和@Old Xie @張晨麟 抽空也小玩了一把,有幸拿了塊gold medal :)

誠如我在專欄文章最後提到的,細粒度圖像分析今後的發展或應用絕不僅僅局限在其狹義的範圍(即對不同花、鳥、魚的分類或檢索),現實中相當多問題都可自然的劃歸到細粒度圖像分析問題中去。AI is making the world a better place.

以上。

視頻封面The Nature Conservancy Fisheries Monitoringyouku.com視頻


不管識人、識狗、識貓、還是識花,路數都是類似的。那大量樣本進去學習,得到一個神經網路。之後新照片就能預測出最可能的結果。


但要注意的是,跨界識別容易出狀況。我才不會告訴你拿我的照片去識花app,得到的品種是多肉!


這個話題竟然火了起來,不請自來,我目前工作的內容就是認知需求的動植物類別的fine-grain分類。

=====================================================================

先定義一下圖像分類,一般而言,圖像分類分為通用類別分類以及細粒度圖像分類

那什麼是通用類別以及細粒度類別呢?這裡簡要介紹下:

通用類別是指我們日常生活中的一些大類別物體,比如說,賓士,寶馬,法拉利什麼的都可以歸到車這個大類別,因為他們視覺特徵(形狀,外觀等)非常相似;
細粒度類別這裡就不僅僅要知道他們是賓士,寶馬了,更加要知道他們是賓士哪個車系,比如S150,寶馬7系(ps:這都不算最細粒度的)。

下面來說一說兩類任務:

  • 通用圖像分類是指,有很多個大類別,模型只負責識別出某個物品的大類別,而並不需要識別出他的細粒度類別,相關數據集有:ImageNet,這個數據集大概有1000多萬圖片,但是類別只有11k左右,要知道我們日常生活中光動物類的細粒度類別就有成千上萬種類別,完全不能滿足人們的認知需求,所以就有了更加細粒度的識別任務。
  • 細粒度圖像分類,這個在視覺領域有個術語叫做Fine-grained Image Classification,這個任務具體是怎麼樣的呢?就是不僅要識別出他的大類別,而且要識別的他的細粒度類別,細粒度到什麼程度呢,以昆蟲為例子,基本是要到種的級別才算細粒度。這裡具體舉個實例:

上面兩個圖中分別是灰絨麝鳳蝶糙絨麝鳳蝶,是不是很難辨認,基本是需要專家才能辨認出來,這就是細粒度圖像分類,比較好的公開數據集有Caltech-UCSD Birds-200-2011(CUB200),目前state of the art模型效果top1 準確率有85%左右,效果很不錯,但是才兩百類!!鳥類可遠遠不止200類,據我所知至少上萬類了!可見細粒度的分類還有很長一段路要走。

但是要知道,自然界光昆蟲種類就有幾十萬種,更別提其他的類別,但是這裡有個存在一個很嚴重的問題,細粒度的模型對太多類別的通用圖像分類又不是很work,你想訓練一個大而全的模型能識別出大類別又能識別出小類別,是基本不可能的(即使訓練出來效果也不是很那麼令人賞心悅目),那怎麼做呢?目前一個比較主流的方案是,訓練一個通類模型來識別出物體的大類別,也就是觸發模型,再針對各個小類別訓練一個fine grain模型識別。

因此各位提到的問題就可以解釋了, @叛逆者 拿自己的照片識別出多肉那是因為這個模型只是針對花以及植物等小類目訓練了一個fine-grain模型,因此對所有的非花草以外的圖片都是識別不出來的。

=======================================================

這裡講一講通用圖像分類以及fine-grain的相關工作:

  • 通用圖像分類:主要是基於CNN,從97年的lenet到12年AlexNet,13年的ZF-Net,14年的GoogleNet(Inception-v1),VGG,15年的Inception v2,16年的Resnet,Inception v3,Inception v4,模型細節去看paper,目前在ImageNet上面state of the art performance大概是top5 5% error,已經完全超過人的表現了,效果十分驚人,但是注意了這畢竟是較為粗粒度的類別,侯曉迪大神說過一句話,我覺得很有道理,當一個benchmark刷到極致的時候,這個benchmark就應該退出歷史的舞台了,會有新的benchmark替代,就像coco替代VOC一樣,今年也是ImageNet最後一屆比賽了。通用圖像分類任務已經做到足夠好了(實際場景下性能其實不咋樣。。各種問題,後續補充),但是針對每個類目底下的細粒度分類還遠遠不止這樣。
  • fine-grain:一般而言都是針對每個類目做細粒度分類,這個類目底下的物體有著大致一樣的外觀,目前有兩種主流的方法:
  1. 基於強監督信息的fine-grain模型,這裡指的強監督信息是指bounding box或者landmark,舉個例子,針對某一種鳥類,他和其他的類別的差異一般在於它的嘴巴、腿部,羽毛顏色等,針對輸入目標圖片,我們先通過一個detector檢測出這些部件,在經過一個CNN去做分類,主流的方法像Part-based R-CNN,Pose Normalized CNN,Part-Stacked CNN等。
  2. 基於弱監督信息的fine-grain模型,什麼是弱監督信息呢?就是說沒有bounding box或者landmark信息,只有類別信息,開山之作應該屬於Bilinear CNN,這個模型當時在CUB200上是state of the art,即使和strong supervise 方法也只是差1個點左右,但是這個方法有個極大的缺陷,那就是極大的佔用顯存,類別一多,速度極其慢,因此後來衍生來的Compact Bilinear Pooling,Low-rank Bilinear Pooling,Factorized Bilinear的performance都差不多,但是速度越來越快。

大致方法是這些,paper太多了,不一一列舉了,有疑問的可以互相學習交流下。

fine-grain這個方向,做的人感覺不多,沒有什麼像RCNN,Resnet這樣的突破性質的進展,只能是慢慢摸索了,不過今年CVPR 2017有個fine-grain的workshop,可以期待下。我還參加了這個FGVC比賽,5800類左右,top5準確率90%左右。

總之這個方向蠻有意思的~ 學到了不少。

=======================================================

ps:知乎排版太難用!吃棗藥丸

大概先寫這些,後續慢慢補充


正好現在的崗位做的就是細粒度圖像識別的工作,不請自來。細粒度圖像識別,即fine-grained classification。普通的識別僅僅是識別大類,區別貓和狗之類;細粒度圖像識別識別的大類中的子類,比如識別哈士奇和阿拉斯加。具體的流行演算法分為兩類,一類是part-based model,即基於局部特徵的演算法。比如要識別賓士和寶馬,車標就是一個part,網路可以通過學習車標的特徵來進行車輛的識別(當然除了車標還有車燈車尾等局部的特徵)。part-based model具體實施的過程類似於目標檢測,先手工標定每種花的特徵所在的位置,然後扔到網路里進行學習,這樣在具體執行識別任務的時候網路就能夠先定位到物體局部的特徵,然後根據局部特徵進行判斷。這類演算法早期十分流行,但是因為手工標註耗時耗力,很多研究者都希望不藉助局部標註的信息來進行識別,李菲菲有一篇論文,名為Fine-grained recognition without part annotation,講的就是不藉助局部標註進行細粒度圖像的識別;另外一種思路是剛才所說的只給圖片標籤,通過改進網路結構來進行識別,比如bilinear cnn model,或者是修改網路的演算法,印象中百度出了一篇論文,使用的是好像是改進的attention model,細節記不太清了,論文名字叫Fully Convolution Attention Networks for Fine-Grained Recognition,論文很新,是17年5月出的。


數據,數據,數據。


形色比微軟這個好一百倍


應該就是一個單純的GoogleNet神經網路,如下圖:

順便吐槽一下微軟,以為這麼牛叉的公司會自己擼一個神經網路出來,結果還是用了caffe。。


文章轉自IT之家,這篇文章寫得比較清楚。文字有點多,稍微要花點時間才能看完。

························································································································

十一,各個公園,商場等城市的各個角落都擺上了給祖國母親慶生的鮮花,妝點著節日的氣氛。天安門廣場上的巨型花壇,也吸引了來自全國各地遊客的駐足和拍照。那麼,這些花壇上都有哪些花呢?這時候,你可以默默掏出「微軟識花」應用,深藏功與名。

微軟亞洲研究院推出最新款智能識別應用——一位可以隨身攜帶的植物專家「微軟識花」,可以幫你破解花的秘密。拿出手機,打開App,拍張照片,一鍵識別,隨手解救好奇心。微軟識花應用所能識別的花卉覆蓋了中國的絕大多數花卉。微軟識花的打開方式應該是這樣的……

首先,打開微軟識花應用,現場拍攝或從手機圖庫里打開一張花兒的照片,將花朵移動至指定位置。然後,應用會自動識別出花朵的名稱和類型,並顯示出匹配度,告訴你花的基本特徵、藥用價值等。以上動作完全可以在不聯網的條件下實現!這就意味著,當你在流量捉襟見肘的情況下,照樣可以用沒有網的手機識別出新奇的花卉品種。

400種花卉一鍵識別

知道是什麼花還不過癮?別急,「微軟識花」有一個獨特的「花語」功能。賞花要懂花語,花語是人們賦予花的一種象徵,可以用來表達人的某種感情與願望。不同的花有不同的花語,在沒有了解花語時就亂送別人鮮花,結果只會引來別人的誤會。花語雖無聲,但此時無聲勝有聲。對於每一種花,系統都會附上一段娓娓道來的花語。比如「六道木」的花語是「對你的念想沿六條直線自下而上,終於在頂端開出了最好看的花」,是不是恰似你現在的心情呢?一鍵分享到朋友圈,用最適合你心情的曼妙花語來表達你此刻的心意吧!

大家在使用時或許還能發現藏在應用里的兩個彩蛋。

微軟識花應用帶有一個專門的花兒搜索包,將400種園藝花卉收錄在系統中,按字母順序排序。也許有的花你只聽說過名字,沒見過「真容」,那麼這款應用就可以幫你提前見識一下。只有沒聽過,沒有搜不到。400種花基本涵蓋了我國城市綠化和公園常見的花卉品種,想看哪種花都可以搜索到。

另外,如果你玩膩了識花,微軟識花還有另一個有趣的功能等待你開掘:那就是對其他常見的日常物體進行識別。拿件衣服、擺個文具來測測這款應用的「智商」,聽起來也是挺有趣的事呢!對於常用物體的識別採用了微軟亞洲研究院最先進的圖像識別技術。在內部測試中,識別精度可以達到90%。

精確識別:不僅僅是人工智慧

了精細物體識別有著極高的門檻,對於人類而言需要的是長時間的訓練和知識的積累,此外還要求極為細緻的觀察能力。例如對於人們來說,可能很輕而易舉地看出圖片上的植物到底是花還是草,但卻很難判斷出花兒的具體種類。而由於計算機識別圖像的方式原理與人類有所不同,因此這一類精細物體識別對計算機而言則相對簡單。

這款應用使用流程很簡單,背後的技術卻不見得那麼簡單。市場上已經有一些識貓狗等動物的應用,而相比於識貓識狗,花的識別更具有挑戰性。狗的種類不超過300種,而對花來說,已經被發現的野生植物就有幾十萬種,還有大量奇形怪狀的新品種在不斷地湧現。而微軟亞洲研究院多媒體搜索組的研究員們在精確識別技術方面有著長久的積累,他們正希望做這樣一些有挑戰性的事情。

這款App主要應用了深度學習技術。研究員們藉助中科院植物所提供的260萬張花的鑒定照片,對機器識別模型進行訓練。但是在弱監督的條件下,對260萬張圖片進行機器學習是一個相對低效率的過程,因為人的抽象能力和想像能力是計算機很難做到的。研究員傅建龍介紹道:「傳統的深度學習技術是一個自下而上的學習過程,讓計算機在底層的高維數據里學習隱藏的高層語義表達。如果我們能在人工智慧之外加入人類智能,對機器的深度學習進行指導,把自下而上和自上而下的學習過程相結合,會大大提升深度學習的精度和效率。」把人類的經驗和人工智慧相結合,才能迸發出增強智能的魔力。研究員們正是在這方面下了很大功夫。

總所周知,分類學家對種類繁多的生物界做了一個階層劃分,即制定了「界門綱目科屬種」的分類系統,做精確識別也需要一層一層遞進,才能提高識別的準確性。在識花方面,主要是需要機器對「科-屬-種「三個基本層級有一個提前的認知。研究員先加入一個花卉本身的層級結構,將它作為一種先驗的知識,來指導機器學習。研究員們考慮到層級的信息,例如,不同的科的植物之間會不會有相關性?於是他們通過捕捉這樣一種相關性來訓練模型。

按照「科-屬-種」的層級劃分,首先確定花的「科」,再通過一些細節的特徵,例如花瓣的分布、形態等來確定它歸於哪個「屬」,最後通過花瓣的顏色、紋理等更為細微的特徵來具體判斷它屬於哪個「種」。一朵花就是這樣被計算機識別出來的,當然每一種花的識別過程也是「因花而異「的。

那麼人類是如何識別出花的種類的呢?假設現在擺在我們面前的是一朵花的照片。我們首先會注意到這張圖片中花出現的區域,確定這張圖片上是否存在花,以及一共有幾朵花,並排除旁邊的草地等干擾項。接下來,你可能會將你的注意力放在花的一些關鍵特性上,如花的顏色、形狀、大小等等。通過這些關鍵部位的特徵,例如花是單朵頂生,顏色為黃色白色相見,形狀呈杯型或碗型等特徵,可以大致確定這是一朵鬱金香。

研究員們基於以上人類觀察物體、對物體的種類進行判斷的過程,獨具創新地開發了一個自動的視覺多級注意力模型,並結合深層神經網路技術,用於圖像的處理與識別。第一級是物體級別的關注,即自動關注到圖片中花所在的區域,而排除其他不相關的因素,如雜草等。第二級之後則是由粗到精的部位級別的關注,即關注到花的具體部位,然後對花朵的部位特徵進行學習和識別。

眾所周知,深層神經網路技術在處理圖像問題上的效果顯著。但一直以來,深層神經網路都被稱之為黑盒子,大家對它了解都不算充分,深層神經網路的理論方面還有待突破。但當黑盒子打開之後,大家能從中學習到很多的東西。研究員們通過一些可視化的策略,了解這些網路究竟學到了什麼樣的內容,看到每個卷積模板(filter)都代表什麼樣的語義。其實,卷積神經網路的中間層一些部位的信息已經可以自動學出來了,我們就把這些自動學出來的的模式(pattern)自動進行歸類。這些歸類出來的每一個聚類都可以理解成是花的某一個部位的集合。雖然模型本身並不知道其中的某一個聚類究竟是花瓣還是葉子或是花蕊,但它已經知道這是屬於某個部位的信息,這樣就構建了部位檢測模型。將由原始圖像生成的每個候選框都經過每個部位檢測器,而每個部位檢測器則會自動檢測出這個候選框內最接近這個部位的區域,這樣就實現了第二級——部位級別的關注。

弱監督學習與大規模數據

提高圖像識別系統的準確度,數據量始終是一個繞不開的關鍵問題。數據量越大越準確,那麼最終訓練出來的模型準確度也會相應地提升。對於花朵識別問題,研究員們起初是邀請一些植物學家們對花的圖像進行種類標註。但研究員很快發現,這種標註數據的方式無論是從成本上還是時間效率上都算不上是一個最佳的選擇。那麼,有沒有可能通過群體的智慧來解決這個問題呢?研究員們最終選擇從由植物專家提供數據的專業網站爬取數據,並利用弱監督學習的方式進行數據的訓練。

監督學習和無監督的學習概念大家已經不算陌生。前者會對數據進行標註,而後者則是對輸入的數據集直接進行建模。研究員們在這裡採用弱監督學習的方式是希望模型能夠生成比較準確、清晰的標註,但前期的數據並不能完全提供這一類的信息,需要模型自己去推斷。在看圖識花的這個例子里,弱監督學習中的「弱」包含了這幾個方面。第一點弱的地方在於用於機器學習的數據集只有圖像級別的標註,即植物學家在標註圖片時只標註了這張圖片上有什麼花,但是並沒有標註花在哪,也並沒有標註出最需要注意的關鍵識別區域在哪裡(但人類判斷的最關鍵的識別區域未必是計算機認為的最關鍵的識別區域)。其次,研究員使用的網路上大規模標註的數據的時候,這些數據並不一定是準確的,而且這類數據有著很多的雜訊。此外,這些數據大多比較零散,結構化並不是很好。因此,弱監督學習的方式既可以兼顧到數據質量的不足,又可以保證用於訓練的數據量的龐大,最終保證了入駐每個人手機中的微軟識花應用的準確性。

攜手植物專家:跨界玩創新

正如前面所言,植物專家的幫助對提高花卉的識別能力起到了基礎支持的作用。這次「微軟識花 「app的開發是微軟亞洲研究院和中國科學院植物研究所多年來學術合作的成果。中科院植物所不僅提供了260萬張花卉的識別圖片,還提供了經過專家鑒定的中國常見花列表。而微軟亞洲研究院的研究員們利用先進的技術開發出識別花卉的演算法,並把識別結果挑選出來,經植物所專家鑒定。經過了兩三次迭代的過程,才得到了最終訓練機器識別的樣本集合。中科院植物所植物專家的幫助對提高花卉的識別能力起到了基礎支持的作用。此外,科學出版社為我們提供了花卉的專業知識。

這次合作緣於一次機緣巧合。去年,在中科院植物所舉辦的一次研討會上,微軟亞洲研究院常務副院長芮勇博士展示了研究院在計算機視覺方面的最新技術,植物所的專家很感興趣,希望可以把最新的識別技術應用到我國的植物調研和科研中去。植物所的專家有這樣一個初衷,那就是了解全中國的植被分布。之前由基層調研人員通過翻閱手冊來判斷各地有哪些花,但是基層人員的專業素養不可控。如果能夠藉助計算機技術幫助他們識別,那麼速度和廣度要提高很多。而微軟亞洲研究院在深度學習演算法和計算機視覺方面有著領先的技術基礎,可以幫助他們做一些目前做不到的事。同時微軟亞洲研究院的研究員們也希望藉此機會,將精確識別技術更好地得到應用,並且在應用中進行進一步錘鍊和創新。

跨學科的學術合作也是微軟亞洲研究院長期耕植的領域。「對於任何物種的分類都是艱難的,」芮勇表示。「關於這項技術的難點在於讓計算機如何辨別細微的差異。而真正大的數據都在跨學科領域裡產生的。我們與中科院植物所的這次合作為微軟識花提供了大量的專業數據,讓我們的計算機技術得以更好地應用。同時,微軟的技術也在不斷加速交叉學科的新突破。」

技術讓生活更便捷

一款看似簡單的應用背後卻是微軟長期以來在機器學習領域的技術積累和跨界合作的成果。微軟亞洲研究院不僅重視基礎研究的突破,還注重將基礎研究的成果應用到更加廣闊的生活和學術中去,讓技術為人們真正帶來改變。

在談及微軟識花之後的技術走向時,研究員傅建龍提到了多個發展方向。第一點是加入更多花卉的種類,將識別的範圍拓展到多個國家,並且提供多語言的產品以及提供更多的平台。今後出國旅遊也可以帶上這位植物專家,幫你識別萬千花卉。第二點是提高識別的精確度,在學術合作中推進資料庫在質量和範圍上的提升。第三點是拓展產品的科普功能,豐富關於花的知識,提供更多的互動功能,從而實現更好的科普。不僅讓你知道是什麼花,還為你拓展在博物知識方面的涉獵,讓你離「博學之才「更近一步。第四點,研究員希望持續不斷地精進識別演算法模型,並實現離線版本與在線版本的無縫切換,讓微軟識花這一類精細物體識別技術也能以API的形式開放出來,登陸在像微軟認知服務(Microsoft Cognitive Services)一樣的人工智慧服務平台,造福更多的開發者們。最後一點是希望該項目能對專業研究者的科學研究帶來便利,比如幫助植物專家發現新的物種、幫助基層調研人員精確識別花卉品種等。


我覺得就是瞎猜吧?至少我用的幾次就沒識別準確過

這是連葉子顏色都不看的:

這是不看花瓣的:

這是哄我讀書少的:

所以我覺得這就是個瞎猜的娛樂軟體


試了幾次都沒有認出來,就想扔了


文獻倒是還沒找到,不過MSRA之前在Sina發了博客:微軟識花:精細物體識別是怎麼做到的_微軟亞洲研究院_新浪博客

這款App主要應用了深度學習技術。研究員們藉助中科院植物所提供的260萬張花的鑒定照片,對機器識別模型進行訓練。但是在弱監督的條件下,對260萬張圖片進行機器學習是一個相對低效率的過程,因為人的抽象能力和想像能力是計算機很難做到的。研究員傅建龍介紹道:「傳統的深度學習技術是一個自下而上的學習過程,讓計算機在底層的高維數據里學習隱藏的高層語義表達。如果我們能在人工智慧之外加入人類智能,對機器的深度學習進行指導,把自下而上和自上而下的學習過程相結合,會大大提升深度學習的精度和效率。」把人類的經驗和人工智慧相結合,才能迸發出增強智能的魔力。研究員們正是在這方面下了很大功夫。

然後關於弱監督學習那邊

弱監督學習與大規模數據
提高圖像識別系統的準確度,數據量始終是一個繞不開的關鍵問題。數據量越大越準確,那麼最終訓練出來的模型準確度也會相應地提升。對於花朵識別問題,研究員們起初是邀請一些植物學家們對花的圖像進行種類標註。但研究員很快發現,這種標註數據的方式無論是從成本上還是時間效率上都算不上是一個最佳的選擇。那麼,有沒有可能通過群體的智慧來解決這個問題呢?研究員們最終選擇從由植物專家提供數據的專業網站爬取數據,並利用弱監督學習(Semi-supervised learning)的方式進行數據的訓練。

文章的末尾談了一下科學的跨界創新

攜手植物專家:跨界玩創新
正如前面所言,植物專家的幫助對提高花卉的識別能力起到了基礎支持的作用。這次「微軟識花 「app的開發是微軟亞洲研究院和中國科學院植物研究所多年來學術合作的成果。中科院植物所不僅提供了260萬張花卉的識別圖片,還提供了經過專家鑒定的中國常見花列表。而微軟亞洲研究院的研究員們利用先進的技術開發出識別花卉的演算法,並把識別結果挑選出來,經植物所專家鑒定。經過了兩三次迭代的過程,才得到了最終訓練機器識別的樣本集合。中科院植物所植物專家的幫助對提高花卉的識別能力起到了基礎支持的作用。此外,科學出版社為我們提供了花卉的專業知識。


演算法要不要給你。。。微軟研究院已經關注,看看多會能發現我們中出了個叛徒。


微軟識花說是識別率不高,形色app識花軟體的識別率我試過是挺高的 貌似陽台上的幾盆花試了都是對的


感覺花比較有特徵還是比較好弄的;我之前有個想法:弄個識別各種植物的app裝手機里,上山採藥采野菜啥的,哈哈,想想都酸爽。


已邀請微軟亞洲研究院回答,不謝,逃~
話說,之前看到一群荷葉里一朵荷花是識別不了的。


數據+演算法,基本上識別類的產品原理都是這兩個,關鍵的還是足夠大的資料庫,就比如我們的人臉識別,也是一樣。


看到這個標題我才知道居然還有微軟識花這種東西

我一直都是用【形色】的

沒錯,就是右下角這個…


神經元網路而已,通過巨大的樣本來學習,使機器自動定義某個特徵,這種東西基本上是用的越多,他就越准,比如你在用開發者版的時候,你每識別一種,他會問你識別的是不是對的,然後來糾正自己的定義,這和人的認知方式有根本上的不同,舉個例子王自如說過的,人看過貓後他再次看到站著的貓,跳舞的貓,唱歌的貓,都認得它是貓,機器學習必須是讓他看過所有的貓,他才能知道你給他的就是貓,簡單的說,就是人的認知是舉一反三,機器學習是舉三反一個預測值


就是圖像識別而已,跟人臉識別一樣,通過巨量樣本獲得特徵庫,然後對比匹配


Python也有類似的教程出現,但都是比較基礎。距離優秀有一定差異。

Python的我曾經看過,大概就是灰階凹造型甚至直接轉黑白取輪廓線。

微軟這個是什麼技術目前不得而知。但可以參考其他類似技術實現。比如谷歌的識貓,py的識黃圖,這就是兩個大方向了。


跑個題,幾年前百度的一個團隊在百度內部的編程大賽上做過一個功能類似的app。不知道使用的技術是否相同。


卷積神經網路進行圖像分類。我才不會告訴你有一個叫健康吃貨的APP可以進行菜品識別呢。

還能管理飲食習慣哦。你不試試么?

http://a.app.qq.com/o/simple.jsp?pkgname=cn.jnbr.chihuo (二維碼自動識別)


推薦閱讀:

機器學習&數據挖掘方向的計算機研究生該如何整體提升自己的技術水平?
最數學的計算機科學方向有哪些?
Kaggle如何入門?
常用的機器學習演算法比較?
不同激活函數(activation function)的神經網路的表達能力是否一致?

TAG:人工智慧 | 微軟(Microsoft) | 機器學習 | 計算機視覺 | 深度學習(Deep Learning) |