台灣植物辨識 app+台灣植物影像資料庫


#1

https://grants.g0v.tw/projects/5a49255d8b4d8d001efe2e6a


這是一個已從原 https://grants.g0v.tw/projects/5a49255d8b4d8d001efe2e6a 中分離的主題

#2

請問目前預計將有建立多少種植物的資料庫以及將採用何種方式來建立機器學習模型? 這問題的出發點是, 台灣植物種類繁多, 具《臺灣植物誌》[1][2] 記載, 光維管束植物就有超過四千種, 要如何挑選並建立足夠目前常用的深度學習所需的大量資料, 可能會是個問題。

[1] http://tai2.ntu.edu.tw/ebook.php?ebook=Fl.%20Taiwan%202nd
[2] https://zh.wikipedia.org/wiki/臺灣植物誌


#3

抱歉晚來回覆。

我們已與荒野保護協會達成共識,會以大安森林公園的花卉為目標,大約在 50 種以上,準確數量需要再到現場詳細勘驗,預期也大約在這個數量級。

關於建立機器學習模型的方式,將會運用深度學習:

  • Data augmentation 方面會用 cropping, flipping, hue and brightness adjustments, whitening and normalization。
  • 模型方面會用 à trous convolutions,所有層都不會有 max pooling。
  • Auxiliary loss 方面會用 Image stacking + odometry 資訊做 Simultaneous Localization And Mapping,Restricted Boltzmann Machines 做 image reconstruction。

我們近日正在盡速修改提案,以便反映與荒野保護協會洽談的新進展。


#4

超實用專案耶!!!

考不考慮把專案再簡化? 成一個 library / SDK 供大家引用,可創造出更多可能,也易於專案驗收。
當然,也可以把這個 library / SDK 封裝成 app 作為引用的 demo 。

類似概念: https://github.com/zxing/zxing


#5

Hi @YuTin_Liu 謝謝你的建議,android這邊的專案會盡量依照Activity來切成不同模組,之後的成品會把各個我們的Activity的文件說明清楚intent裡所需要的參數以及return的參數。

當然也會考慮把模組包成一個Fragment,這樣也比較好嵌入至別人既有的專案


#6

謝謝你的意見。考慮到使用者是針對一般大眾,做成完整可用的 app 會是第一要務。我在 iPhone app 這邊的開發,也會盡可能組織 app 架構,讓核心功能模組化,抽出作為 library 或是進一步包成方便給 CocoaPods 或 Carthage 等套件管理程式引用的格式,便不是難事。


#7

剛好看到荒野新竹分會有個類似的計劃,提供給你們參考一下,應該是蠻有機會可以合作的.

台灣食蟲植物棲地調查


#8

非常感謝你提供的資訊,這個題目還滿有意思的,台灣本土植物確實彌足珍貴哪。如果能有目前提案的執行成功經驗,未來擴展應用到這個題目應該滿有希望的!


#9

想問一些關於資料集的問題:
根據計畫的內容"預估每種花卉蒐集 800 張影像,以 70 種花卉估算,總計需蒐集 56,000 張花卉影像。"
Q1: 你們預計把每一類800張影像擴充到幾張呢?
Q2: 影像檔案裡的EXIF資訊是作為影像前處理用嗎? 還是作為NN輸入特徵用呢?

關於模型的問題:
"模型方面會用 à trous convolutions,所有層都不會有 max pooling"
Q3:這部分的考量點是因為要在手機執行的關係嗎? 還是其他原因呢? Transfer learning?

關於App上執行的問題:
Q4:全部的Inference運算都是在手機端嗎? 還是分散式運算?(Phone + Cloud)
Q5:在iOS上使用Core ML Framework,那Android呢? (NN API? 若是如何解決版本破碎化的問題)

關於Server的問題:
Google 雲端運算伺服器費用粗估:每個月 USD$310,約為每個月新台幣 9,100 元。
Q6:會用到哪些功能以及費用是如何評估的呢?

因為你們的專案蠻有意思的 所以問題有點多 請多包涵 : )


#10

聽說在植物分類學, 科級(Family)的分類幾乎都是以花形的差異來命名 (當然現在肯定會加上分子生物學資訊), 像是甘藷是旋花科, 就是依照花型, 所以用花型來分類是有學理依據的

使用cifar-10先預作訓練雖然也是合理,但有考慮用flower dataset加進來訓練嗎? http://www.robots.ox.ac.uk/~vgg/data/flowers/

很看好你們的專案唷, 加油~~


#11

另外,假如一種植物只有20張,用one shot learning是否有機會呢?


#12

Hi, 我在這裡一併統整團隊成員們的回覆:

Q1: 你們預計把每一類 800 張影像擴充到幾張呢?
A1: 限於人力與時間,我們應該不會擴充。

Q2: 影像檔案裡的 EXIF 資訊是作為影像前處理用嗎? 還是作為 NN 輸入特徵用呢?
A2: EXIF 的資訊會經過處理,但是原始資訊和處理過的都會作為 NN 的特徵。

Q3: “模型方面會用 à trous convolutions,所有層都不會有 max pooling” —— 這部分的考量點是因為要在手機執行的關係嗎? 還是其他原因呢? Transfer learning?
A3: 能夠在手機上跑是一個避免模型參數過多的原因之一,但是主要的原因是想要優化 generalization。我們從神經系統知道 receptive field 必須要至少大到一定的程度辨識才會好,而在限制模型層數下加大 receptive field 的好方法之一是 à trous convolutions。

Q4: 全部的 Inference 運算都是在手機端嗎? 還是分散式運算? (Phone + Cloud)
A4: 目前規劃都在手機端計算。

Q5: 在 iOS 上使用 Core ML Framework,那 Android 呢? (NN API? 若是如何解決版本破碎化的問題)
A5: Android 端會採用 Tensorflow Lite,此方案同時也可以享受到 NN API 的好處。

Q6: Google 雲端運算伺服器費用粗估:每個月 USD$310,約為每個月新台幣 9,100 元 —— 會用到哪些功能以及費用是如何評估的呢?
A6: 這是最陽春的估計,只用了不到 8GB 的 main memory 和一個 K80 GPU。我們預期可能會需要 P100 GPU,並且在做 hyperparameter sweeps 的時候使用更多的機器和加速器。

關於植物分類學部分,這方面我們不是專家,粗淺所學得知,近代的系統分類學,的確會採用植物基因組,來計算親緣譜系關係,而傳統分類學上以特徵為分類依據,上至花序、下至解剖特徵,就已經包羅萬象,在本計畫中僅以影像和相關感測資訊,其實不足以納入所有特徵判斷。不過我們畢竟不是做植物分類的學術研究,而是希望將這些分類成果帶入民間應用,從地方區域的花卉辨識出發,應該是足夠的。

Q: 使用 cifar-10 先預作訓練雖然也是合理,但有考慮用 flower dataset 加進來訓練嗎?
A: Flowers dataset 有大約 8000 張圖片分散在 100 種花上(但有些種類有多達 200 張,有些則遺憾地只有 40 張)。因為有些種類可能會跟我們有重複,所以使用它預作訓練應該會有幫助,謝謝提供這份資訊。

Q: 假如一種植物只有 20 張,用 one shot learning 是否有機會呢?
A: 一般的共識是小資料適合 non-parametric 或是 Bayesian inference,我們現階段偏好 non-parametric 的方式,也就是把所有資料都掃一遍找出最像的,詳細來說可以參考 Koch, Siamese Neural Networks for One-shot Image Recognition。

一個更難的問題是有些類別資料大,有些類別資料小,這時候牽涉到系統的 fairness 跟 bias,這還是個開放問題。不過總的來說,實務上處理這類資料大小的問題,最有效的解法是,在情況允許下從根源的資料來源下手。這也是本計畫提出的解決方案。


#13

Hi, 公視目前有一個文化部的前瞻計畫在執行,關於影像辨識檢索,目前我們正在尋找有合作意願的開發者,不曉得是否有機會和你們聊聊。

我本身是新竹荒野,對植物辨識也很有興趣,目前也在公視推動綠屋頂計畫,只是不曉得辨識植物和辨識一般影像是否可以結合,如果可以那就太好了。
https://docs.google.com/document/d/1Uf82RFPGRrrZ9XnI8AWRH2uxN8UNkA5m_8aSnDzT7BA/edit


#14

Hi,由於我們人力有限,現階段只能專注在這份提案,未來若有機會再聊聊合作的可能 :slight_smile:


#15

您好,很高興看到台灣有此系統的相關服務建置,目前我在協助特生中心執行相關計畫,特生中心也非常有意願提供相關資料與協助,不知您是否有意願一同討論,請與我聯繫 謝謝


#16

嗨 ! 我看到公視的屋頂綠化計畫文件

關於相關綠屋頂政策,也可以考慮申請「田園城市」政策的補助機制 https://farmcity.taipei/city/m0/index.php


#17

(我非專案成員,僅協助補充相關連結供網友瀏覽參考)

Smart Flower Atlas
powered by AiR(AI+AR)
智慧型植物辨識圖鑑 App
https://plant-tw.github.io/

報導文章:【2018 g0v 獎助金】台灣首款植物辨識開源系統,AI 和 AR 協尋台灣特有種