機械学習を気軽に体験し、なおかつそれを利用してScratchの環境でプログラミングできるので、簡単に動くアプリケーションを作ることができるML2Scratchを作ってみました。
上記デモ動画では、ウェブカメラでグー、チョキ、パーの画像をいくつか取り込んで機械に学習させたあと、学習した結果からウェブカメラに映る手の形を判定し、ScratchX上のネコのキャラクターに「グー」「チョキ」「パー」と言わせるという簡単なプロジェクトを紹介しています。
機械学習には、膨大なトレーニングデータが必要と思われがちなのですが、Googleから発表されたばかりのTensorFlow.jsを利用することで、それぞれ20枚ほどの画像を用意しただけで十分な精度の判定を実現できるので驚きです。
「手の形を判定するんですよ」と指定することなく、ただひたすらに各分類ごとの画像を学習させるだけなので、たとえば、赤い色のものばかりを見せたあと、青い色のものばかりを見せて学習させることで色を判定したり、同じ人の顔を角度をいろいろ変えて学習させたあと、次に別の人の顔を学習させることで簡単に顔認識を実現することもできたりします。
指を上下左右それぞれの方向に向けた画像を学習させて、それをコントローラー代わりにしてキャラクターを動かすゲームを作ることもできます。
機械学習の数学的な知識などが必要となってくる実装部分はブラックボックスのまま、それをアプリケーションにどう応用するか、あるいはどう楽しむかを考えることができるフェーズに移ってきたのかな、ということを感じさせてくれます。
日経BP社
売り上げランキング: 11,183
2018/04/09 09:00:00