United Statesからアクセスのようです。言語設定をEnglishに切り替えますか?
Switch to English site
Skip to main content

FPGAプラットフォームを用いたLiDAR自動車検出システム

今回、ポーランド最大の工科大のAGH科学技術大学の学生が開発した自動車用LiDAR(ライダー)システムについて紹介する。

LiDAR(Light Detection and Ranging、Laser Imaging Detection and Ranging)とは光による検知計測システムの総称である。自動走行制御の判断材料として、路面上の物体検知ために使用されたりする。例えば、LiDARで車両周辺の物体を検知し、自動的に減速したり、事故を回避するために速度を落としたりすることができる。

LiDARの動作原理はシンプルだ。LiDARセンサーは、特殊な光学システムを介して、特定の波長のレーザー光の化合物を特定の方向に放出する。障害物に当たって跳ね返ってきたレーザー光を、同じデバイスに設置された機器がそれを検出する。レーザー光を照射し、その光が物体に当たって跳ね返ってくるまでの時間をもとに、障害物までの距離を算出する。

通常、センサーからのデータ処理は演算が複雑になることが多いため、強力なプロセッサーでしか行えない。しかし、今回のプロジェクトでは、画像及びデータ処理を、プロセッサーと同様にヘテロジニアス(異機種間接続)なプラットフォーム(FPGA + ARM)で効率的に行えることを実証する。今回ハードウェアプラットフォームにはDigilent製のFPGAボード「Zybo Z7」が採用された。Zybo Z7には Xilinx製のFPGAチップ「Zynq-7000ファミリー」を搭載し、さらに豊富な機能を実現するサンプルコードが付属しており、高速処理を要するデジタル回路を実現できる開発ボードである。Xilinx製のZynqは、『All Programmable System-on-Chip (AP SoC) 』を軸に設計されており、デュアルコアのARM Cortex-A9 と、ザイリンクス 7 シリーズの 『Field Programmable Gate Array (FPGA)』の ロジックをワンチップに統合している。

このシステムで最も重要な機能は、LiDARセンサーとカメラから取得された情報を元にZybo Z7 FPGAボード(164-3487)・(164-3486)で行われる物体検知だ。LiDARは、3次元物体を検出するために、点群データの処理を行う。点群データ処理は、複数の段階に分類される。第一段階は前処理で、地面の除去、抽出、背景の除去などが行われる。次の段階はセグメンテーションで、残りの点群を、潜在的な物体を含むセグメントに分割する。最終的には、各セグメントごとに特徴を抽出し、分類を行う。

ZYBO Z7 FPGA Board

システムの映像部分では、最初にLiDARデータ処理で評価されたセグメントを画像平面に投影し、対応する重要性の高い対象物が映像内に占める領域(ROI)を選択する。ROIが抽出され、スケーリングされる。最終的には、特徴抽出と分類(例:HOG+SVMを使用)が行われる。アルゴリズムの最終段階はデータの統合である。両システムの分類スコアを統合して、最終的な物体検出率を算出する。この方法は、MATLAB 環境および Vivado シミュレーションでも試験された。

LiDAR measurement

下の図は、プロジェクト全体の設計と機能設計の実装を示している。線付近にある数字は、LiDARデータセルからの信号を示している。LiDARから送信される信号は、処理フローの各段階を経て、分析される。この処理は、点群の前処理でデータセルが削除されたかどうかを示し、有効かどうかのフラグを立てる。信号の集合をセグメントに変換し、分類する。最後に、セグメントはバウンディングボックスに変換され、物体として認識され、システムによって検証され、モニターに表示される。

ZYBO

今回のプロジェクトのように、ヘテロジニアスなプラットフォームでも自動車検知システムを実現することが可能である。Zybo Z7に接続したLiDARカメラとセンサーを使用Zynq-7000を用いることにより、ADAS(Adaptive Driver Assistance System:適応型運転支援システム)と統合できるプロジェクトを低コストで開発することができる。

awong さんはまだ自己紹介を入力されていません...
DesignSpark Electrical Logolinkedin