皆さん、こんにちは。
いきなりですが、
「ディープラーニング」という言葉、聞いたことがありますか?
新聞、テレビで取り上げられることもあるので、
なんとなく聞いたことがある、という方も見えると思います。
この技術、AI(人工知能)の一種で、
画像に写っている物体の名前(人、イヌ、クルマ)を判定するなど、
これまでプログラミングだけでは判定方法を決めるのが難しかった対象に対して
この画像に写っているのはイヌです、など、
それぞれのデータに対して正解を教えてあげることでAIが学習し、
学習させたことのない画像データに対しても正しく判定してくれる、というものです。
例えば、この写真に写っているのはAKB48の○○さん、といった判定もできます。
ディープラーニングの概略については、過去の投稿もご覧ください。
意外とシンプルなAI?
青色申告会会報(2019年8月)
青色申告会会報(2020年1月)
これって、自動運転にも使えそうですよね。
実は、このディープラーニング技術で自動運転を行う競技会が
世界中で行われています。
例えば、以下の動画をご覧ください:
最初の何周かは、人が操縦して、画像と、そのときに行った操作を記録します。
このデータセットをAIに学習させると、後は自動で運転してくれる、というものです。
いちいちルールをプログラミングしなくて済むので、便利です!
実用面を考えれば、交通ルール遵守や障害物検知・回避等あるため
他の画像処理手法やセンサも併用すべきですが、
GPSが届かない場所や、駐車時の狭い場所での切り返し操作など
複雑な行動を(少ない手間で)処理するのに適していると思います。
また脳の回路に近いディープラーニングが、どのように学習していくのか、
何が苦手なのかを理解していくことは、
動物が「どのように学び、考え、行動していくか」、という
「知能」を理解するうえでも大切なことで
素晴らしい取り組みだと思います。
これを見て思ったのが、クルマだけでなく、
ドローンでやっても、面白いんじゃなかろうか、ということ。
(ざっと検索して見当たらなかったのですが、)
すでにどこかでやられているかもしれませんが、
手元にあるドローンで試してみました。
以下の動画をご覧ください。
改めて解説しますと、
ラジコンカーのようにいきなり周回レースは難しいだろうと思い、
まずはドローンを手持ちで移動させながら壁面の模様を画像で取得しました。
(壁が真っ白で特徴がないため、わざと模様をつけました)
左側から上昇、ある高さで右移動に移り、そして下降し、最後は着陸、という流れです。
あとはクルマの場合と同じく、それぞれの画像に、
上昇、右移動、下降、着陸、の各ラベルを付け
ディープラーニングで学習させました。
利用したのは画像に強みを持つCNNという種類で、
基本はコンボリューションが2層の、シンプルなモデルです。
光量変化や撮像姿勢の違いも学習させるため、
イメージ・オーギュメンテーションも入れています。
学習が終わったら、いよいよ飛行実験です。
と言っても、プログラムは、
学習結果の出力を、ドローンの制御指令に結びつけるだけです。
まず上昇して、右に移動して下降、といった命令はしていません。
飛行時に得た画像を学習結果で処理し、飛行制御命令を推論します。
では、どんな結果になったか、下記の動画(再掲)をご覧ください:
これはチャンピオン・データで、まだまだ改良しなければなりませんが、
原理的にはクルマと同じで周回レースも実現できそうと感じました。
迷路のように折れ曲がったコースを指定経路に沿って進み、
到着までのタイムを競う、楽しそうなゲームです!
いずれ、ドローンAIレース、やってみたいですね。
まずはクルマと同じように、学習時も手持ちでなく、ラジコン操作、からですね。
実用としては、農地や道路上空、トンネル、倉庫内など
決まった経路を定期的に飛行させる場合などに役立ちそうです。
これからますます賢くなる、ドローンなどのロボット達。
成長が楽しみですね!