2017年3月27日月曜日

TensorFlowによるCNNで植物画像を分類

 PythonでDeep Learningに取りかっています。最も有名な例題は、このブログでも取り上げてきましたが、MNIST(手書き数字)の認識です。しかし、そろそろ、既定の例題ではなく、自分に必要な独自の画像などの認識へ進みたいですね。また、TensorFlowも使います。

 そこで、今回、渡辺坦さんによる下記Webサイトにある植物画像の写真をお借りして、(その極く一部ですが)その自動認識(分類)を試行してみました。

渡辺坦氏作:植物の名前を探しやすいデジタル植物写真集
http://plantidentifier.ec-net.jp


TensorFlowで作ったCNNに、4種類の植物画像(合計40枚)を学習させる

 TensoroFlowで、CNNを構成しました。具体的には、「畳み込み層->プーリング層->畳み込み層->プーリング層->全結合層->全結合層->softmax層」の7層構成です。(上図のネットワークはその具体的なものではありません。イメージです。)
 渡辺坦さんのWebには多数の植物画像があるのですが、ここでは、試行段階のため、そのうちの4種類の葉の形状を識別することとし、図のように合計40枚を学習させました。この位だと、数十秒で学習は終わりました。

学習済みのCNNによる画像認識の例

 この学習済みCNNに対して、例えば、「葉の形状が松葉」のある画像を与えると、「松葉」と認識されました。

 まだまだ、初歩的な段階に過ぎませんが、またひとつ、可能性を感じることができました。

0 件のコメント:

コメントを投稿