AIの勉強会を兼ねて、ディープラーニングを中心としたAI技術で植物の分類システムを作成しようと考えています。

【システム概要】
・ユーザがデジカメ・スマートフォンなどで植物の写真を撮影してアプリに入力すると植物の種類をAIが回答するシステム。
・写真は、正確に判別するために、葉・茎・幹・花・実などの単独の写真や全体の概要の写真とする。
予めそれぞれの学習結果モデルを用意、それぞれの推定の確信度(可能性の高さ)を総合して推定する。
例えば、
「セイヨウタンポポはガクが下を向いている。カントウタンポポ(日本のタンポポ)はガクが上を向いている」
のような違いは、横向きの花を拡大した写真があれば判別できると考えられる。
写真で判別できない(写真がない)場合は「セイヨウタンポポまたはカントウタンポポの可能性が高いです。花の下のガクを見てください…」のような回答をする。
・AIでの完璧な正解は難しいと思われるので大まかな可能性を示すのみとする(正確に知りたい場合はユーザがWeb植物辞典等で確認)。
例えば、
「マメザクラかヤブザクラの可能性が考えられます。ヤブザクラは関東~中部地方に分布し…」
のような回答とする。
・Webアプリと、スマートフォンアプリを予定している。

 

 

試しに、最初はわかりやすい3種類の葉の写真で「深層学習 Keras 学習済モデルで動物画像分類(転移学習)(2)」 手法で簡単な分類をしてみました。

学習用画像(40枚x3種類) train.zip

アジサイの葉(ファイル名:AJISAI????.JPG )
アオキの葉(ファイル名:AOKI????.JPG )
イチョウの葉(ファイル名:ICHOU????.JPG )

テスト用画像(10枚x3種類) test.zip

プログラム(言語 Python、テキストファイル UTF-8)
plant01_leaf3.py

テスト結果
plant01_leaf3_result.txt
【テスト結果と写真の一部抜粋】

DSC_0206DSC_0101DSC_0794DSC_0202DSC_0254

——
画像ファイル名: AJISAI0041.JPG
アジサイ: 1.000
アオキ: 0.000
イチョウ: 0.000
——
画像ファイル名: AJISAI0042.JPG
アジサイ: 1.000
アオキ: 0.000
イチョウ: 0.000
——
画像ファイル名: AJISAI0043.JPG
アジサイ: 1.000
アオキ: 0.000
イチョウ: 0.000
——
画像ファイル名: AJISAI0044.JPG
アジサイ: 1.000
アオキ: 0.000
イチョウ: 0.000
——
画像ファイル名: AJISAI0045.JPG
アジサイ: 1.000
アオキ: 0.000
イチョウ: 0.000

 

DSC_0853DSC_0183DSC_0842DSC_0843DSC_0195DSC_0189

——
画像ファイル名: AOKI0041.JPG
アジサイ: 0.000
アオキ: 0.783
イチョウ: 0.000
——
画像ファイル名: AOKI0042.JPG
アジサイ: 0.000
アオキ: 1.000
イチョウ: 0.000
——
画像ファイル名: AOKI0043.JPG
アジサイ: 0.000
アオキ: 0.000
イチョウ: 0.000
——
画像ファイル名: AOKI0044.JPG
アジサイ: 0.000
アオキ: 0.643
イチョウ: 0.000
——
画像ファイル名: AOKI0045.JPG
アジサイ: 0.000
アオキ: 1.000
イチョウ: 0.000
——
画像ファイル名: AOKI0046.JPG
アジサイ: 0.007
アオキ: 0.000
イチョウ: 0.000

 

DSC_0276DSC_0224DSC_0229DSC_0273DSC_0672
——
画像ファイル名: ICHOU0041.JPG
アジサイ: 0.000
アオキ: 0.000
イチョウ: 1.000
——
画像ファイル名: ICHOU0042.JPG
アジサイ: 0.000
アオキ: 0.000
イチョウ: 1.000
——
画像ファイル名: ICHOU0043.JPG
アジサイ: 0.000
アオキ: 0.000
イチョウ: 1.000
——
画像ファイル名: ICHOU0044.JPG
アジサイ: 0.000
アオキ: 0.000
イチョウ: 1.000
——
画像ファイル名: ICHOU0045.JPG
アジサイ: 0.000
アオキ: 0.000
イチョウ: 0.979
——end.

 

AOKI0043,AOKI0046 の結果は、確信度(ネットワークからの出力値、確からしさ表すスコア)が低いなどあやしい結果となっています。
結果の悪い写真をみると、ピンボケ・一部が切れている・他の葉が映ってるなどの問題があるのではないかと思います。
このような判別しにくい場合でも判別できるネットワーク構成を構築できる可能性もありますが、葉だけではわかりにくい場合は、茎や実のデータがあれば判別しやすいと思われます。
それらが難しい場合は「判別しにくい写真です。もう一度写真を撮っていただけますか?」のような回答にしようと思います。

とりあえず、葉の分類3種やっていましたが、日本の維管束植物の種数だけでも4000種以上はあるといわれているので、大量のデータを集める必要があります。
まずは身近にみられる植物からデータを集めようと思います。
データを大量に集めて分類整理(データベース化)するのに時間がかかりますが少しずつ構築する予定でいます。
(植物写真データ集めに協力していだだける方がいらっしゃればありがたいです。)

【参考文献】このブログの参考書籍はこちらにまとめてあります。
http://www.ecobioinfo.com/?page_id=838

(2018/11/03 S.Onda)