現在JavaScriptの設定が無効になっています。このページを利用するにはJavaScriptの設定を有効にしてください。トップ全記事一覧テクノロジー2018.03.06PredNetを用いた混雑レーダーの未来予測はじめにこんにちは、新卒1年目の三木です。Learningを利用した混雑レーダーの未来予測」について紹介させていただきます。「そもそも混雑レーダーってなに?」という方のために簡単にご紹介をすると、ヤフーが提供しているアプリの使用状況を元に、エリアにいる人数を推定し、ヒートマップとして地図上に投影したものです。以下の画像のように、混雑しているところが一目でわかります。混雑レーダーへのリンク↓https://map.yahoo.co.jp/maps?layer=crowd&v=3&lat=35.681277&lon=139.766266&z=15今現在提供している混雑レーダーでは、現在時刻での混雑状況のみを提供しております。Learning」を用いて未来予測ができないか試してみました。PredNetさて、今回混雑レーダーの予測のために使用したアルゴリズムは、「PredNet[1]」と呼ばれる手法です。PredNetは、coxlabにおいて開発されたもので以下のような特徴があります。画像から直接画像を予測convLSTM[2]を内部で利用Keras用のソースをcoxlabは提供しています↓https://github.com/coxlab/prednet上記リンクのリポジトリをcloneして利用が可能です。https://github.com/coxlab/prednet.gitKerasのインストールは別途必要ですが、今回は説明を省略致します。サンプルも含まれており、KITTIデータセットのドライブレコーダー画像に対して予測を行うサンプルを試すことができます。サンプルの実行方法は、リポジトリのREADME.mdに記述されていますので、参照しながらやってみてください!結果画像の例[1]は以下です。上段が正解、下段が予測ですが良好な予測画像が得られています。混雑レーダーの学習サンプルではドライブレコーダー画像を使用していましたが、画像を混雑レーダー画像に差し替えて学習をしてみました。実験環境は以下のとおりです。結果画像としては以下のようになりまして、正解画像とのMSE(平均二乗誤差)は0.008858(画素値を0~1に正規化した時)です。色表現には乏しいですが、予測画像を出力することができました。上段が正解で、下段が予測です。正解画像の前フレームとのMSEを算出してみると0.006717でして、色表現に乏しい分悲しい結果に。PredNetの提案そもそも前フレームとの差が小さい時系列画像だということがわかりました。ResNet[3]では、そのような機構をネットワークに組み込むことで精度向上を実現しています。いうわけで、やってみました!!今回、PredNetに加えた変更は大きく2つあります。PredNetからの出力に入力を足し合わせたものを予測画像とするPredNetの出力に対して適用する活性化関数をReLUからtanhに変更1つ目の変更によって、前フレームからの残差を学習する機構が出来上がります。2つ目の変更は、残差で正の数だけでなく負の数を扱えるようにするために行ったものです。オリジナルのPredNetでは活性化関数にReLUを採用しており、残差(±の符号を持つ)を学習する今回のネットワーク構造には適しません。今回は負の数も扱えるtanhに変更した次第です。PredNetの構造を以下の図に示します。入力画像にも変更を加えました。先程の例では、RGBの3チャンネルを持つヒートマップ画像を入力として学習をしました。混雑度は元々1次元データなので3チャンネルで入力する必要はありません。グレースケール画像を生成し直し、そちらを適用することにしました。した予測画像に対して、MSEだけでなく他の指標も加えて評価をすることにしました。追加した指標は以下の3つです。CSIはスレットレートとも呼ばれ、検索性能の評価で用いられるF値に似た指標です。FARは誤警報率を示し、この値が小さい程、混雑していない場所を混雑していると誤って予測することが少ないことを示します。PODは再現率を示し、混雑箇所を漏れなく予測できているかを示します。これらを混雑の閾値を変更しながら算出します。予測画像の例は以下です。東京駅周辺を切り取った画像で学習及びテストをしております。前フレームでは混雑していなかった箇所が、次の時刻で混雑するという予測をしっかりできている箇所が見て取れます。予測画像に対して各種指標を算出した結果が以下です。混雑の閾値に関しては、閾値が小さくなるほど、混雑度の高い地域に限定して指標値を算出するという意味を示しております。前フレームを単に予測とした場合と比較して、今回の手法で予測した画像が上回ったものがいくつか存在しました。混雑の閾値<105の時にMSEが上回っており、混雑度の高い場所の予測に関しては良好だと言うことを示しています。今回の目的は「混雑していなかった場所が近い将来混雑することを知りたい」でしたよね。そこで、前フレームから変化した部分に対するMSEを算出してみました。これによって、混雑度の変化をシステムが予測できているかを示すことができます。0.000475558801554となり、本手法の方がMSEが小さく、混雑変化を追えているということがわかりました。おわりに今回、PredNetに変更を加えて混雑レーダーの未来フレーム予測を行いました。従来であれば、各エリア毎のログを元にエリア毎の予測モデルを生成していたと思いますが、今回のように畳み込みを組み合わせた予測アルゴリズムを用いると画像から画像を直接予測することができます。JAPANでは情報技術を駆使して人々や社会の課題を一緒に解決していける方を募集しています。詳しくは採用情報をご覧ください。JAPANのサービス開発を支える技術やデザイン、文化を発信しています。Reserved.このページの先頭へ。