« 2019年4月 | トップページ | 2019年6月 »

2019年5月31日 (金)

自動運転のためのセンサシステム入門(61)

 免疫ネットワークを説明する前に、まず、免疫とは何かを知ってもらう必要がある。なお、ここでの免疫とは、身体を守る仕組み全体をさす広義の意味ではなく、予防接種して免疫を獲得するという狭義の意味である。

 筆者が幼少の頃、近所で麻疹の子供が発症すると、麻疹にかかっていない子供を親がわざわざその家庭に連れて行って、麻疹がかかるようにしていた。もちろん、麻疹の免疫を得るためである。
麻疹が治ると免疫ができるため、もう麻疹にかかることはなくなる。ところが、耳下腺炎(おたふく風邪)にはかかってしまう。麻疹と同様、耳下腺炎に一度かからなければ、耳下腺炎の免疫はできていないからである。このように、麻疹ウイルスの感染によって獲得した免疫は、別のウイルスには効かない。つまり、ある特定のウイルスとその免疫は、「鍵と鍵穴」の関係なのである。

 現代では麻疹も耳下腺炎も、それぞれのウイルスに対するワクチンを予防接種し、わざわざ病気にかからなくてもよい。しかし、「鍵と鍵穴」の関係から、結核、百日咳、小児麻痺と、それぞれのワクチンを接種しなければならないのである。

| | コメント (0)

2019年5月30日 (木)

自動運転のためのセンサシステム入門(60)

 以上、複合型、統合型、融合型のセンサフュージョン例を紹介した。センサフュージョンの最終段階が連合型であり、単独センサだけでは考えられないような多彩な結果を導くことが可能となる。

 センサフュージョンとは、「複数のセンサ情報の処理過程の総体を工学的に実現すること」であった。例えば、人間は目、耳、鼻、舌、皮膚というそれぞれのセンサで情報を取り込み、脳内でこれら複数センサの処理を行った結果、非常に多彩な結果を得ることができる。そして、食べ物であれば、単に目から入った情報から匂いや味を連想し、そのときの状況や感じたことまでも思い出すことができる。これが、連合型がセンサフュージョンの最終段階といわれる由縁である。

 まず、工学的に連合型センサフュージョンを実現するため、複数センサを利用した免疫ネットワークを紹介する。そして、免疫ネットワークを利用した相互診断ネットワーク処理を紹介し、これを応用した走行環境を認識する方法を連合型センサフュージョンの実施例として紹介する。

| | コメント (0)

2019年5月29日 (水)

自動運転のためのセンサシステム入門(59)

 路面上の高さのない物体か、高さのある障害物かの違いは、パターン認識能力の高いカメラに判定させる。この高さがあるかないかは、カメラ画像が被写空間を透視投影していることを利用する。

 つまり、カメラが静止した物体に向かって前進すると、物体が高さのある車両の場合、水平エッジパターンの拡大率Ehと垂直エッジパターンの拡大率Evは同じになる。ところが、物体が高さのない道路のマーキングの場合、両者の拡大率が異なって観測される。なぜなら、透視投影で撮影されるため、対象物体までの距離が変化すると、縦と横の変化の比率が変化するからである。よって、水平と垂直の拡大率Eh,Evを観測することにより、路面反射物を前方車と識別することが可能となる。

 路面反射物に接近した場合と車両に接近した場合の、水平、垂直方向のエッジパターン拡大率を積分して行くと、両者の違いがわかり易くなる。両シーンのデータを比較すると、路面反射物の水平、垂直拡大率の積分値が、前方車両に比較して大きくなることが分かる。そのため、両者を分ける閾値を設定することにより、水平、垂直の拡大率の積分値が大きい場合は前方車両ではないと判定することが可能となる。

| | コメント (0)

2019年5月28日 (火)

自動運転のためのセンサシステム入門(58)

 LiDARが認識した物体の横幅精度不足は、カメラによる横幅計測の精度が高いことを利用する。すなわち、LiDARによる横幅とカメラによる横幅を採用する割合を、カメラ側に高く取るのである。

 まず、エッジヒストグラム法によりカメラ画像から先行車の車幅を切り出しWiとする。この画像から算出した車両幅WiとLiDARが計測した物体幅Wrの採用割合を調整することで、横幅の計測精度を向上させるのである。調整方法については、画像の採用割合αiを設定し、エッジヒストグラムが鮮明に出ているときは画像処理による車両幅Wiが安定度しているとしてαiを高くする。LiDARとカメラのセンサフュージョンによる車両幅Wfは次式で決定する。

Wf=αi*Wi+(1-α)*Wr

 このようにカメラ画像と融合することにより、LiDARがレーザ光の反射率が高い車両リフレクタの両端ではなく、実際の車両端の計測が可能となる。また、雨天等走行中に発生する不安定な横幅計測値の補正等も可能となる。

| | コメント (0)

2019年5月27日 (月)

自動運転のためのセンサシステム入門(57)

 また、ROIをLiDARが見ている対象物体の幅の領域よりも、少し広く設定することにより、LiDARが示す水平位置の補正も可能となる。LiDARが示す前方走行車の横位置は、横方法の精度不足によりサンプリング毎に一定せず不安定である。

 すなわち、LiDARの情報で決定したROIに対し、次回更新時のROIの幅方向を広めに設定し、左端から1画素ずつずらしながらパターンマッチングを行う。これはLiDARが正しくトラッキングしているときのみ有効なやり方である。これで得た積分誤差系列の中で、最小の誤差となる位置が正しい横方向の移動位置になるのである。これにより、LiDARが毎回認識する前方走行車の位置情報が安定するのである。更に、前方走行車の位置精度を向上させるときは、広目に取ったROIの中で車両認識処理を行う。この場合も、ROIで画像の範囲が狭められているため、カメラ単独で車両認識を行うより、少ない計算で行うことが可能である。

| | コメント (0)

2019年5月26日 (日)

自動運転のためのセンサシステム入門(56)

 LiDARの認識対象が先行車から路側物へ遷移してしまうことは、カメラと融合型センサフュージョンを行うことで回避可能となる。考え方としては、LiDARが見ている領域に変化があったかどうかをカメラでチェックするのである。

 まず、LiDARの情報を元に、カメラがチェックすべき探索範囲ROI(Region Of Interest)を決定する。カメラで得た画像全体を処理するのではなく、チェックすべきROI内だけのチェックのため、処理時間は非常に短くなる。

 次に、今回のROI画像と前回のROI画像を重ね合わせ、テンプレートマッチングを行う。テンプレートマッチングの積分誤差Eiを観測することにより、認識対象が先行車から路側物へ遷移する状態を検知することができる。すなわち、LiDARが安定してトラッキングしているときは、カメラによるROI同士の積分誤差が小さいまま推移し、認識対象が遷移したときは積分誤差がいきなり大きくなるのである。

| | コメント (0)

2019年5月25日 (土)

自動運転のためのセンサシステム入門(55)

(3)路面反射物等の検知

 路面上のキャッツアイやマンホール等の反射物を検知し、前方車と区別が付きにくい場合がある。

 LiDARで得られるポイントクラウドは、LiDARから送信したビームが当たった地点の3D情報である。路面上に反射物があり、その位置が急な上り坂の開始地点のような場合、このポイントクラウドをクラスタリングしたかたまりの形状が前方走行車と似ていることがある。例えば、山間部のアップダウンや連続カーブが続く状況での、路側を示すデリニエータとセンターラインを示すキャッツアイの反射が、前方走行車後面両端のテールランプの反射鏡と間違えることがある。実際はそのまま走行しても問題ない箇所で、前方走行車が停止していると判断して誤ブレーキがかかってしまうと、非常に危険な状況を招いてしまいかねない。これは、LiDARは3D情報でしか対象を判断できないたいめ、避けることができないのである。

| | コメント (0)

2019年5月24日 (金)

自動運転のためのセンサシステム入門(54)

(2)認識対象の横幅計測精度不足

 LiDARの横方向の分解能低下により、車両両端位置があいまいになる場合がある。

 LiDARで獲得したポイントクラウドは、物体までの距離が近いときは容易に3D形状がわかるほど密度が高い。ところが、その距離が離れるに連れ、ポイントクラウドの密度が下がって行き、前方走行車のような大きな物体であってもそのポイントが数点にまで低下してしまう。車間距離が近い状況から前方走行車を認識したときは、車間距離が遠くなってもトラッキングしているので問題ない。ところが、車間距離が離れた状況から認識したときは、ある程度前方走行車が近づくまで車両の幅がわからないのである。

 また、雨天時はLiDARのレーザ光を送受信する部分に雨滴がかかってしまい、LiDAR内部で設定したレーザ光の送信角が歪んでしまう問題が生じる。その結果、認識したい物体の幅が計測の度に変わってしまい、トラッキングが不安定になったり、計測の度に物体幅が変化したりする現象が発生する。

| | コメント (0)

2019年5月23日 (木)

自動運転のためのセンサシステム入門(53)

 融合型センサフュージョンにより、LiDAR単独の場合より走行環境が認識しやすくなる状況は、次の3つの場合が多い。

(1) 認識対象が先行車から路側物へ遷移

 認識対象が先行車付近の道路構造物に遷移してしまう現象で、前方車をトラッキング中に発生することがある。

 この現象は、高速道路や自動車専用道を走行しているときには発生しない。道路幅の狭い一般道のカーブで、ガードレールや路側の看板等が多くある状況で発生する。

 センサシステムは、0.1秒程度の周期で繰り返し対象を計測している。そして、認識した物体が次の計測タイミングでどこに移動したかを認識するため、毎回の計測結果を関連付けるトラッキングを行っている。例えば、前方がカーブ路だと、LiDARで認識した前方走行車は、次回の計測でカーブ方向に移動しており、システムは2つの前方走行車を同じ車両と認識することにより、前方走行車がカーブ方向に移動したと認識するのである。ここで、カーブ半径が小さく、前方走行車がカーブ方向に移動すると看板が見える状況を考えよう。LiDARは前方走行車と看板の両方のポイントクラウドのかたまりを処理することになり、たまたま前方走行車と看板の形状が似ていると、看板を前回の前方走行車と間違えてしまうことがある。すると、システムはこれを前方走行車が急ブレーキをかけた状況と、誤って認識してしまうのである。

| | コメント (0)

2019年5月22日 (水)

自動運転のためのセンサシステム入門(52)

 複合型センサフュージョンはLiDARとカメラの認識結果を足し合わせたもので、統合型センサフュージョンではそれぞれの認識結果を掛け合わせたものであった。融合型センサフュージョンは、それぞれのセンサ情報を協調・競合的に処理することにより、一つのセンサでは得ることができなかった処理結果を出すものである。

 LiDARで検知した対象物体が前方走行車であるかどうかは、反射地点での反射特性や時系列で観測した結果等を基に判定される。これらの情報から静止物、同一方向移動物、対抗方向移動物等を区別し、前方走行車を認識することができる。しかし、前方車両が停止中で周辺には色々な物体が混在している環境では、LiDARが発見したポイントクラウドのかたまりが車両なのか道路側ガードレール等の静止物なのか判断するのは難しい。

 そこで、LiDARで検出した車両候補が前方車であるかどうかをカメラで判断する融合型センサフュージョンが考えられる。例えば、LiDARで停止車両らしいポイントクラウドのかたまり領域を検出したとき、それぞれの領域をカメラで画像処理し、車両形状を示す特徴量があるかどうかを調べ、これらの領域が前方車かどうか判断する方式が、融合型センサフュージョンといえる。LiDARだけでは車両そのものを認識するのが難しく、またカメラだけでは全ての領域を処理するのに計算時間がかかるため、この方式では相互補完的な処理ができているといえる。

| | コメント (0)

2019年5月21日 (火)

自動運転のためのセンサシステム入門(51)

 次に、統合型センサフュージョンだとどうなるか考えよう。今回、LiDARとカメラのFOVはほぼ同じとする。

 対象とする状況は、自車前方がカーブ路の2車線で、どちらの車線にも先行車が走行している場合のACCの先行車を決定するときとする。一般に、LiDARだけでもカーブ路において、ステアリングの操舵角情報から自車の進行予想軌跡を計算し、前方走行車が自車線上にあるかどうか推定している。しかし、自車がまだカーブ路に入っていない舵を入れる直前や、S字路の場合は原理的にこの方式を適用できない。そこでこのような場合、カメラによる車線認識結果とLiDARによる前方走行車位置を統合することにより、前方走行車が自車と同一車線にあるかどうか判定可能となる。すなわち、車線認識しているので、前方の2台の先行車のうち、どちらの先行車が自車線上を走行しているかが判定できるということである。

| | コメント (0)

2019年5月20日 (月)

自動運転のためのセンサシステム入門(50)

 センサフュージョン例を示すため、LiDARと単眼カメラの2種類のセンサを搭載した車両を考える。各センサの主な役目は、LiDARは前方走行車までの車間距離を計測し、単眼カメラは前方走行車の車両形状と車線を認識するものとする。

 LiDARのFOVがカメラのFOVよりも狭いものの、遠距離までセンシングできるような仕様にしてあるものとする。LiDARはFOVを狭めると、遠距離でもセンシングの解像度を高く保つことが可能である。逆にカメラのFOVはLiDARのFOVより広く設定され、短距離しかセンシングできない場合を考えよう。これら仕様では、自車線の前方走行車はLiDARで認識し、自車線よりも幅広い左右の他社線の車両はカメラで認識することができる。すると、カメラは割り込み車の検出を行うことになり、FOVの狭いLiDARの機能を補う形となる。このシステムは、LiDARとカメラの役割が独立しており、複合型センサフュージョンシステムといえる。

| | コメント (0)

2019年5月19日 (日)

自動運転のためのセンサシステム入門(49)

 このように、アクティブ方式とパッシブ方式は異なった特徴がある。それは走行環境認識の距離計測とパターン認識という課題に対して、アクティブ方式は前者が得意で後者が不得意、パッシブ方式は前者が不得意で後者が得意というものである。そこで、アクティブ方式とパッシブ方式のセンサをフュージョンすることにより、お互いの長所だけを使って走行環境認識の幅を広げることが可能となってくる。

 センサフュージョンとは、「複数のセンサ情報の処理過程の総体を工学的に実現すること」と定義でき、複合・統合・融合・連合の4段階のレベルで考えることができる。

(1)複合:複数のセンサからの情報を並列的に組み合わせた出力を得る、相補的・加法的処理過程。相互関係は言及しない。これをアクティブ方式とパッシブ方式で走行環境を認識するシステムに当てはめてみよう。ここでパッシブ方式の視野角はアクティブ方式よりも広いものとすると、渋滞時の追従走行時に前方走行車の認識はアクティブ方式で行い、アクティブ方式では見えない割込車の検出をパッシブ方式で行うシステムが複合型フュージョンと考えられる。

(2)統合:複数のセンサからの情報に、演算処理 を施してまとまった情報を得る乗法的処理過程。演算処理 f に対する関係として規定する。例えば前述のアクティブ方式とパッシブ方式によるシステムの場合、アクティブ方式で前方走行車両を認識しパッシブ方式で車線を認識した結果から、前方走行車両が同一車線に存在するかどうかを判断するシステムは、この複合型センサフュージョンと考えられる。

(3)融合:複数のセンサからの情報から、各データどうしの処理を行って一つのまとまった知覚表現を得る協調・競合的処理過程。相互の関係から新しい情報を抽出する。これは、アクティブ方式では前方走行車両を認識せずアクティブ方式がある場所の距離だけを計測し、パッシブ方式による画像認識で車両形状かどうかを判断して、反射波を返した物体が前方走行車かどうか認識するシステムがこれに相当する。

(4)連合:センサ情報間の関係を理解する連想的処理過程。相互の関係が抽出される。これはセンサ情報間の関係を理解することにより対象を認識し、更には予測や学習・記憶等も目的となり、相互の関係が記憶と異なっていればセンサ異常と判断することも可能となるものである。走行環境認識での例として、本稿では免疫ネットワークを用いた連合レベルでの走行環境認識手法を例示する。

 以下これら4段階のフュージョン例を紹介する。

| | コメント (0)

2019年5月18日 (土)

自動運転のためのセンサシステム入門(48)

 自動運転に使う外界環境センサとして、LiDARとカメラが有望であることを述べてきた。そして、LiDARかカメラではなく、両者を同時に使う必要もあることも理解してもらえたと思う。

 ここで両センサは特性が異なるため、どのように組み合わせ、すなわちフュージョン(融合)すれば良いかが重要となる。まずは、両センサの特性をアクティブ方式とパッシブ方式という観点から再確認しよう。

 LiDARを電波レーダも含めて、送信波からの受信波を解析して対象物体の位置を計測するアクティブ方式である。このことから、計測状態や精度が送信波の物理特性と対象物体の反射特性に依存する。例えば、LiDARは光なので光学的に反射しやすい物体の方が容易に計測でき、ミリ波レーダは金属の計測が容易であるという特性を有する。これらのアクティブ方式は、これまで実用化の実績が豊富で、超音波ソナー、レーザレーダ、ミリ波レーダが商品化されている。一方、車載単眼カメラとステレオは、対象物体が発する光を画像化して所望の対象物体情報を推定するパッシブ手法である。この方式は、周囲の天候や時間等の配光状態に依存し、更に画像をどの様に処理するかの認識アルゴリズムに依存する。

 パッシブ方式はアクティブ方式に比べて、受光部だけで構成されることや、民生用に大量生産されていることからコスト面で有利である。また、アクティブ方式では難しい対象物体属性の判定が可能なことから、歩行者認識用センサとして使われている。

| | コメント (0)

2019年5月17日 (金)

自動運転のためのセンサシステム入門(47)

 ICPは、画像処理のテンプレートマッチングのポイントクラウド版といえる。すなわち、記憶しているポイントと計測したポイント間の距離を計算窓内で全て計算し、その総和が最小になるまで位置をずらしながら計算するのである。

 ICPは適度なサイズの計算窓領域を、膨大なポイントクラウドデータ中で位置をずらしながら対応点を求める手法である。対応点の定義は、画像処理のテンプレートマッチングと同様、点間距離の総和が最小となる位置を検索したときとなる。

 ICPの精度は良いものの非常に計算時間がかかるため、NDTNormal Distributions Transform)という高速化を図ったアルゴリズムも考案されている。NDTは、まず空間をグリッド状に分割し、グリッド内のポイントクラウドを正規分布で近似する。マッチングする領域もグリッドとなるため、対応度の定義はマハラノビス距離を最小化することになる。NDTICPより簡略したおり粗いマッチングにはなるものの、十分な精度を得ることができる。ポイントクラウド間ではなくグリッド間で計算するため、計算時間は大幅に短縮される。

 ICPとの違いのイメージを図4に示す。ICPより高速になった分精度は落ちことになるものの、SLAMに支障のない精度は得ることができる。これは、地図となる環境情報が膨大なポイントクラウドで表現されているため、多少の精度劣化は問題ないからである。

| | コメント (0)

2019年5月16日 (木)

自動運転のためのセンサシステム入門(46)

 レベル4以上の自動運転になると、ドライバが運転に介在しなくなるため、車両自身がどこを走行しているかという自己位置推定が重要になってくる。自己位置推定というと、GPSの技術と思いがちなものの自動運転のためにはGPSよりも位置精度をあげなければならない。

 Googleが自動運転の公道実験を始めたとき、Velodyne製LiDARのHDL64Eで行った自己位置推定手法が、現在の自動運転用の自己位置推定のデファクト・スタンダードとなった。それは、自己位置推定をSLAM(Simultaneous Localization and Mapping)で行うというものである。

 SLAMとは、自己位置推定と地図製作を同時に行うことである。同時といっても、予め獲得した環境情報のポイントクラウドに対して、2回目の走行時にスキャンマッチングで自己位置を推定することもSLAMと呼ばれ、LiDARで行っているSLAMはLiDAR SLAMと呼ばれている。LiDARで行うSLAMは、LiDARによる予め製作したポイントクラウドによる環境地図上を、スキャンマッチングで自己位置を計算する手法である。レーザビーム1本で得られるポイントは距離と位置情報であり、レーザから送射されたビームの先端部の空間座標情報を持つ。HDL64Eでは高さ方向に64本あるレーザビームが360°回転するため、車両天井のレーザを中心とした全周囲にポイントクラウドが生成される。車両の車速センサによる移動量(オドメトリー)により、車両が走行した経路のポイントクラウドが得られ、2回目に走行するときはスキャンマッチングを行い、現在位置を計算する。スキャンマッチングとはデータ同士のデータ照合のことであり、SLAMでは環境地図データに現在位置データを照合して現在位置を照合する。

 スキャンマッチングの代表的な手法はICP((Iterative Closest Point)である。ICPは理論上、最も精度良く位置合わせを行うことができる。

| | コメント (0)

2019年5月15日 (水)

自動運転のためのセンサシステム入門(45)

 LiDARで車両や歩行者を認識する場合、対象物体の法線ベクトル分布のマッチングはZ軸回りだけ行えばよい。なぜなら、自車両のLiDARが車両や歩行者を観測するとき、変わるのは水平方向の視点が異なるだけだからである。

 また、車両に対しては追従、歩行者に対しては歩行者の横断時のみと、観測する向きを絞れば更にマッチング時間は短縮する。更に、車両と歩行者の大きさの違いに着目すると、法線ベクトル分布でのマッチングが不要となる。

 交通環境で遭遇する障害物は、通常、車両、二輪車、歩行者の3種類に大別できる。LiDARで得たポイントクラウドをマージして、同一物体と処理できれば、車両、二輪車、歩行者では、大きくサイズが異なるため、サイズだけの分類でよくなる。例えば、マージしたポイントクラウドデータから物体の縦横高さのサイズを計測し、縦横高さの3軸でこれらの計測データをクラスタリングすると、3つのクラスタが出現する。クラスタ間の分離面はサポートベクターマシーンSVMSupport Vector Machine)という機械学習手法で決定すればよい。このクラスタ分類を用いれば、LiDARのポイントクラウドをマージした物体はどのクラスタに属するか容易にわかり、車両か二輪車か歩行者かが認識できるのである。

 LiDARで得られるポイントクラウドのマージによる認識手法の弱点は、対象物体までの距離によってポイントクラウドの密度が異なることである。つまり、、遠距離の物体はポイントクラウドの密度が低下してマージできないため、大きな塊としての物体と認識できない。

| | コメント (0)

2019年5月14日 (火)

自動運転のためのセンサシステム入門(44)

 LiDARで取得したポイントクラウドを統合すると、物体全体の3次元形状がわかる。そのため、ポイントクラウドの物体認識の基本は、3次元形状の照合となる。

 3次元形状の照合を行うため、まず、ポイントクラウド個々のポイントを接続(マージ)することから始める。これは同一物体上のポイントとみなすためである。

 マージするときの最大距離δを適当に設定し、δ以内のポイントは同一物体とみなす。ポイント3点を結ぶと平面ができるので、その平面を物体の一部を微小平面化したものとして扱う。そして、その微小平面の法線ベクトルを計算する。すると、対称物体形状を法線ベクトルだけで表すことができる。正確に物体の3次元形状を表しているのではないものの、法線ベクトルの分布はかなり正確に物体形状を表現している。そして、予めLiDARでポイントクラウド化した物体の多くの微小平面の法線ベクトル分布とマッチングを行い、物体を認識するのである。ただし、法線ベクトルの分布をマッチングするためには、XYZ軸の3軸でそれぞれ順番に回転しながら行う必要があるため、かなりの計算時間がかかってしまう。

ところが、LiDARでの車両認識や歩行者認識では大胆な簡略化を行うことができる。なぜなら、車両も歩行者も、一般物体のようにXYZ軸の3軸で回転して存在することはないからからである。

| | コメント (0)

2019年5月13日 (月)

自動運転のためのセンサシステム入門(43)

 道路白線の塗料は、夜間でも見やすいように直径約0.1~1mmの大きさのガラスビーズを混入している。このガラスビーズの再帰反射特性を利用すると、自車のヘッドランプの光が自車方行に反射するため、夜間でも見やすくなるのである。

 ガラスビーズの再帰反射特性は、LiDARが送信するレーザ光でも同様に作用する。そのため、自車から発射したレーザ光が自車方向に反射するのである。

 つまり、道路一般面からの反射よりも、道路白線からの反射の方が反射強度が高く、LiDARが路面に向かってレーザ光を放射すれば、容易に道路白線の位置の空間距離を計測することができるのである。そのため、ステレオカメラ画像と同じ処理で、車線を認識することができるのである。さらに、道路一般面に文字が書かれていたり反射物があれば、ステレオカメラ同様、道路面自体も認識することができる。

 車載カメラによる車線認識との差異は、カメラが画像面中の白線に沿って高密度に車線を認識可能なことに対し、LiDARは送信ビーム分しか認識できないことである。そのため、道路白線が破線の場合、更に認識密度が極端に落ちることに注意しなければならない。

| | コメント (0)

2019年5月12日 (日)

自動運転のためのセンサシステム入門(42)

 深層学習、ディープラーニングとは、ディープニューラルネットワークDNN(Deep Neural Network)で学習することを意味する。DNNは一連のニューラルネットワークNN(Neural Network)から構成され、ニューラルネットワークは生物の神経系の構造をヒントにモデル化した計算アルゴリズムである。

 DNNには主に4種類の方式がある。その4種類というのは、フィードフォワードニューラルネットワーク(Feedforward Neural Networks)、畳み込みニューラルネットワークCNN(Convolutional Neural Networks)、リカーシブニューラルネットワーク(Recursive Neural Networks)、リカレントニューラルネットワーク(Recurrent Neural Networks)である.

 歩行者認識に限らず、一般的に画像認識で使われるDNNは畳み込みニューラルネットワークCNNである。これは前述のように、福島先生が提案されたネオコグニトロンを発展させたものである。NNは入力層、中間層、出力層の3層で構成される。この中間層を多層化したものがCNNであり、NNの認識性能を飛躍的に向上させた。CNNの中間層は畳み込み層とプーリング層が何回も繰り返される構造となる。畳み込み層は、入力マップと重みフィルタの内積をとる処理を行い、一種のフィルターの作用をなす。畳み込みで使用される重みフィルタの各重みは、ランダムな値で初期化され学習を通して調整される。プーリング層では次元を削減し、位置と回転に不変性を付与する。対象とする小ウィンドウ内の最大値を出力するマックスプーリングと、ウィンドウ内の平均値を出力するアベレージプーリングのどちらかを採用することが一般的である。畳み込み層とプーリング層を繰り返した後、最後に全結合を行いバックプロパゲーションという収束手法を用いる。

 グーグルが開発したGoogLeNetでは、畳み込み層が22もある深い層になっている。GoogLeNet は2014年に開催された画像認識の世界大会で優勝し、利用者も多い。

| | コメント (0)

2019年5月11日 (土)

自動運転のためのセンサシステム入門(41)

 このHOG特徴量を用いて歩行者認識を行う。基本的な原理は、HOG特徴量が一般的な歩行者のHOG特徴量と似ているかどうかで判定する。

 一般的な歩行者のHOG特徴量とは、何万枚もの歩行者の画像データを平均化したものである。また、歩行者か歩行者でないかを決めるため、歩行者でない画像もほぼ同枚数容易する。

 似ているかどうかの判定は、ブースティングの代表的アルゴリズム、アダブースト(AdaBoost)を使用する。アダブーストは多数の弱識別器の結果を合計し、その値が閾値を超えるかどうかで対象に似ているかどうかを判定する。対象画像のそれぞれのHOG特徴量と、一般的な歩行者のそれぞれのHOG特徴量の似ている程度を重みとし、これら重みを合計してある閾値を超えれば歩行者に似ていると判断するのである。

 歩行者の判定で注意すべきことは、横断歩行者か対向歩行者かを区別することである。横断歩行者と対向歩行者は形状が異なるため、それぞれ別の比較画像を用意しなければならない。

| | コメント (0)

2019年5月10日 (金)

自動運転のためのセンサシステム入門(40)

 歩行者認識は、方向勾配ヒストグラムHOG (Histograms of Oriented Gradients) 特徴量を用いるとうまく行くことがわかっている。HOGは画像の局所的な輝度勾配の強度と方向を基にした特徴量である。

 HOG特徴量は、領域ごとの明るさの方向の分布を基にしているため、計算コストが少なく、ある程度の照明変化に強い。また、HOGは物体の大まかな形状を表すことが可能である。

 HOGへの変換手順は次のようになる。まず、輝度勾配の強度m(?, ?)と方向θ(?, ?)を次の式から変換する。

m(x, y) = √Ix(x, y)2+ Iy(x, y)2

θ(x, y) = tan-1(Iy(x, y)/ Ix(x, y))

ただし、I(x, y)を画像のx, y座標の明るさとして、x, y方向の微分値は

Ix(x, y) = I( x + 1, y) – I(x - 1, y)

Iy(x, y) = I( x, y + 1) – I(x, y - 1)

と計算する。次に、勾配方向を20°単位で0~180°を9方向に量子化する。そして、5×5画素を1セルと定義し、セル内の9方向に量子化された方向ごとに、勾配強度を積み重ねてヒストグラムを生成する。最後に、3×31ブロックと定義し、ブロック内でヒストグラムの正規化を行う。

 HOGが証明変化に強いのは、ブロック内で正規化を行うからである。こうして、2次元画像の特徴量は、セル数×9次元に変換されることになる。

| | コメント (0)

2019年5月 9日 (木)

自動運転のためのセンサシステム入門(39)

 車線認識や車両認識と、歩行者認識のアルゴリズムは考え方の視点が異なっている。車線認識や車両認識は一撃アルゴリズムであり、歩行者認識は統計的アプローチといえる。

 一撃アルゴリズムとは、完全で誤りのない結果を目指した巧妙・複雑・完璧な認識手法である。一方、統計的アプローチとは、多数の簡易で不完全な認識手法を適用し、それらの結果と統計的アプローチで機械学習する認識手法である。

 なぜこのように方法が異なるかというと、車線や車両はパターンの定義が比較的明確で、そのパターンを一撃で認識可能なアルゴリズムが開発可能なことに対し、歩行者は人や姿勢や向きによって大きく形状が変わるため、歩行者のパターンを一撃で認識することが難しいからである。そのため、さまざまな認識手法を適用し、それらの結果を統計的に解析して多数決等で決定する方が、一撃アルゴリズムより遥かに良い結果が出させるのである。

 なお、多数の認識結果を多数決で決める方法をバギングという。また、多数の認識結果の良い点だけを使うことをブースティングという。

| | コメント (0)

2019年5月 8日 (水)

自動運転のためのセンサシステム入門(38)

 ステレオカメラでの車両認識は、車線同様、距離情報がベースとなる。ステレオカメラでは、濃淡画像のまま扱わず、微分処理でエッジ画像化して距離情報を計算する。

 ステレオカメラは左右に配置されているため、左右画像のマッチングは横方向に行う。したがって、縦方向のエッジ部の距離情報が得られることになる。

 前方車両を後面視すると矩形なため、車両は2本の縦棒として表現される。車両の対称性を考慮し、左右対称な一組の縦棒ペアを車両として認識する。更に、一回の計測だけで認識するのではなく、連続して矛盾のない現れ方をするかもチェックする。

 連続して矛盾しないということは、時間軸での成立性も検討しているこということである。これはステレオカメラに限らず、単眼カメラや電波レーダ、LiDAR等ほとんどのセンサーで行う処理である。

| | コメント (0)

2019年5月 7日 (火)

自動運転のためのセンサシステム入門(37)

 単眼カメラでの車両認識は、同一レーンの前方走行車を認識することが多いため、車両後面視の形状認識に特化することが多い。車両を後面から視ると、車種によらず共通の特徴がある。

 すなわち、ほぼ四角形と見なせ、左右対称であり、両端に赤いブレーキランプがあるという特徴である。このパターン認識をロバストに行う画像処理手法が、単眼カメラの車両認識といえる。

 その一例として、画像の微分値をヒストグラム投影するエッジヒストグラム手法を紹介する。適当な横長の矩形ROI(Region Of Interest)内で、縦方向にエッジヒストグラムを取ると、車両がある場合は両端にピークがある左右対称のヒストグラムが得られる。四角形の縦端部がエッジヒストグラムのピークを発生させるためである。また、原画像が対称なら、エッジヒストグラムも対称になる。このROIの高さを何回か変えて、同じ傾向の出現するところを前方走行車とし、更に左右対称に赤色成分のあるROIが含まれるかを調べる。この操作で、四角形、対称、両端に赤という特徴を認識することができる。

 後述する歩行者認識と共通のアルゴリズムを使う場合もある。ただ、アルゴリズムが複雑になるため、歩行者を認識しなくてもよければ、シンプルな車両認識アルゴリズムを用いる。

| | コメント (0)

2019年5月 6日 (月)

自動運転のためのセンサシステム入門(36)

 単眼カメラでは、道路車線を画像に映った2次元のパターンとして処理している。ところが、ステレオカメラでは距離情報が計測できるため、道路車線を空間中の直線として認識する。

 したがって、単眼カメラで道路車線を認識するときは、車線認識専用のアルゴリズムとなる。しかし、ステレオカメラでは距離情報をベースとするため、距離情報の計算までは各物体認識共共通のアルゴリズムである。

 空間中の直線の定義は以下のようになる。空間上の2点P0x0,y0,z0),P1x1,y1,z1)を通る直線の式は、

(x−x0)/(x1−x0) = (y−y0)/(y1−y0) = (z−z0)/(z1−z0)

となる。ここから車線を認識するアルゴリズムは種々あり、例えば、車線の始点候補と終点候補をいくつか選んでいくつかの直線を定義し、これらの直線上になるべく多く他の計算可能な点が乗るかを調べる等する。更に、道路車線ではなく、道路面そのものを平面として認識し、前方に平坦な走行可能領域があるかどうかを調べることも可能である。道路面の交通文字や影、汚れ等の箇所の距離情報が計測できるため、平面の方程式を

              y = ax + bz +c

と定義し、各距離計算地点とこの平面との誤差Sを各j番目の座標について、

S = Σj (Yj – ( axj + byj + c)^2 )

として、Sを最小にするa,b,cを計算して道路平面かどうかを反転する。

 このように、ステレオカメラは距離情報を基に空間構造を再構築できる。そのため、道路上の車線だけでなく、道路端の溝や段差まで認識可能である。

| | コメント (0)

2019年5月 5日 (日)

自動運転のためのセンサシステム入門(35)

 レベル4以上に向けた自動運転用の本命センサは、LiDARとカメラであることがわかった。それでは、それぞれのセンサで基本的な認識対象の車線、車両、歩行者をどのように認識しているかみてみよう。

 まず、車載単眼カメラでの車線認識から始めよう。単眼カメラでの車線認識は、道路白線を検出して直線を当てはめる画像処理を行い、これにより車線として認識している。

 画像処理での直線当てはめの代表的手法が、ハフ変換である。ハフ変換とは、直線を表すパラメータを軸とした空間に、直線候補となる点を写像(投票)し、ある一定の値以上の投票値が得られた点を直線とする手法である。直線を

  ρ=xsinθ+ycosθ

と表現する。ここで、ρはxy軸の原点から直線までの距離で、θは減点から直線までの垂線とx軸がなす角度である。すると、この直線上のある点はρ-θ空間で1曲線となる。直線上の違う点は、ρ-θ空間で先ほどと違う形の曲線となる。ところが、この2つの曲線は1点で交わり、そのρとθの値が元の直線を表すのである。

 実際の車線認識では、車両前方15~25mの地点での画像を2値化して、候補点をハフ変換する。そして、対をなすある角度の2つの直線を取り出し、道路両端の白線と認識するのである。

| | コメント (0)

2019年5月 4日 (土)

自動運転のためのセンサシステム入門(34)

 レベル4以上の自動運転で、検出距離が200mでたいていの物体が認識できるセンサはLiDARしかない。現に、天井に設置されたVelodyneLiDARがなければ、Googleは自動運転をビジネスにはしなかっただろう。

 すると、自動運転用の外界センサはLiDARだけでよいかというとそうではない。LiDARにも欠点があるのである。

 最大の欠点は、遠距離でのポイントクラウドの密度が低下することである。鋭く絞ったLiDARの送信ビームは、11本がファン状に広がる。そのため、距離が伸びるほどビーム間の距離が広がり、遠距離では物体に当たらないこともある。フラッシュLiDARでは、ビームそのものが広がって行くため、遠距離でもビーム間の距離が広がることはない。しかし、遠距離ではビームサイズが大きくなってしまい、空間解像度が極端に低下したことになってしまう。そして、もう一つの欠点は、交通で重要な意味を示す色が認識できないことである。

 そのため、LiDARの欠点を補間するためにカメラを用いることが一般的である。カメラの空間解像度は高くLiDARの隙間を埋めることが可能で、色も検出できるからである。

| | コメント (0)

2019年5月 3日 (金)

自動運転のためのセンサシステム入門(33)

 自動運転で外界センサが認識しなければならない対象物体は、自動化のレベルによって異なる。自動化のレベルとは米国自動車技術協会SAESociety of Automotive Engineering)が提案し、各国の産官学界が受け入れたものである。

 この自動化レベルを追って自動運転は進化して行くものと思われ、物体認識という観点からみると、各レベルがどの道路に対応しているかがポイントとなる。つまり、レベル1から3では高速道路のみを対象としており、一般道路も含める全ての道路はレベル4以上と考えられるのである。

 高速道路と一般道路では、認識対象が異なってくる。高速道路での認識対象は、走行車線、自車以外の走行車両(高速道路を走行可能な二輪を含む)である。一般道路になると、これに歩行者と小型のバイクや自転車が含まれる。また、信号機の色と矢印も認識対象になってくる。更に一般道路交通では、あらゆる物体が障害物になる可能性があるため、物体属性は認識できなくても、物体が存在していること、物体の形状、物体までの距離が必要になる。

 すると、高速道路で有利な電波レーダは、一般道路が対象になると適用が難しくなることがわかる。一般道路である程度の距離が離れていて適用可能なセンサは、LiDARとカメラ(ステレオ、単眼)だけなのである。

| | コメント (0)

2019年5月 2日 (木)

自動運転のためのセンサシステム入門(32)

 センサの空間解像度とは、センサがFOVの中に映る空間をどれくらいの分解能で見ているかということである。車間距離計測用のセンサであれば、最低限要求される空間解像度は水平方向に3である。

 これは直進状態を想定し、自車レーン前方と左右レーンということで3ということになる。初期のLiDARでは3つの固定ビームを送信してこれに対応していた。

 しかし、カーブでの前方走行車位置を考えると3では足らず、ファンビーム方式となったLiDARでは、一気に105×6(横×縦)と高解像になった。縦方向にも分解能を追加したのは、車両の上下振動や道路勾配による姿勢変化に対応するためである。更に、ステレオカメラや単眼カメラでは、通常の画像の解像度そのものが空間解像度となるため、最低でも640×480(横×縦)の空間解像度がある。LiDARやカメラに対し、電波レーダの空間解像度は定義を変えなければならない。例えば、電波レーダの受信アンテナが9つあるとすると、空間解像度が9になるかというとそうではない。9つのアンテナで電子スキャンを行っているため、横方向の解像度は高くなるのである。ところが、解像度が高くても、物体の端から急に反射信号の強度が小さくなることはないので、物体の端が正確にわからないのである。

 つまり、電波レーダでは、前方の車両の幅が正確にわからないといえる。また、両隣の車線に車幅の大きなトラックが走行していると、自車線に車両がいなくてもトラックの反射波が影響し、車両がいるように見えることもある。

| | コメント (0)

2019年5月 1日 (水)

自動運転のためのセンサシステム入門(31)

 車間距離警報から始まった運転支援システムで、当時要求された前方走行車までの最大検知距離は100mだった。そのため、超音波センサを除いて、各前方車間距離機能を有するセンサは、最低100mを検知することを開発目標とした。

 実際のACCで最大検知距離が100mだと、車間距離制御が遅れ気味になりギクシャク感が出る。そのため、現在の電波レーダでは、直線で200m以上の検出性能を出している。

 100km/hまでの走行速度であれば、車間距離検出性能は100mが最低ラインかも知れない。しかし、ドイツのアウトバーンの速度制限がない区間等を考えると、100mでは足りない状況もある。日本でも最高速度が120km/hへの引き上げる方針が発表され、一部では110km/hが先行実施されている。このような状況を考えると、現状の電波レーダの性能の200m検知が今後の検出性能のデファクト・スタンダードになるものと思われる。実際、次世代LiDARとして発表されるものは、200mの車間距離検知を謳うものが多い。

 ステレオカメラや単眼カメラも、現状で100mの検出性能を出している。しかし、200mの性能は車載可能な光学系の大きさからは難しいかも知れない。

| | コメント (0)

« 2019年4月 | トップページ | 2019年6月 »