先端運転支援システムへ向けた各種画像・ コンピュータビジョンアルゴリズム開発環境 MathWorks Japan アプリケーションエンジニアリング部 シニアアプリケーションエンジニア 乙部 雅則 © 2014 The MathWorks, Inc.1 MATLAB / Simulink • Test and テスト 検証 measurement • Rapid prototyping and HIL 自動コード生成 テクニカル コンピューティング • Embedded software checking • DSP software • Code verification • Certification kits • VHDL/Verilog generation • PLC • MATLAB code • Discrete-event Simulink • DSP designs • State charts • Physical modeling simulation • Communications システム設計 シミュレーション データ解析 アルゴリズム開発 • Model Toolbox • Application deployment objects • Computer Vision System Toolbox processing Blocksets • Control design • Optimization • Image • Computational processing finance • Signal processing • Statistics MATLAB • System • Video & Image systems • Student version • Instrument and Coder • Computational biology • Parallel computing • MATLAB Mobile for iPhone/iPad database connectivity 1985 1990 1995 2000 2005 2010 設立:1984年 様々なオプション製品により、幅広いテクニカルコンピューティング環境を提供 2 でのコミュニティー活動 File Exchangeには、ユー ザー様が作られた、画像処 理・コンピュータービジョン 系のアルゴリズム、アプリ ケーション等が2,700件以 上登録 この一年で400件以上増加 共有されているほとんど のファイルは、BSDライ センス R2012bより、Apps機能 も使用可能 3 アクティブセーフティシステムへ向けたアルゴリズム開発 アダプティブクルーズ コントロール ストップ&ゴー ヘッドライト コントロール 死角検知 車線変更支援 前方衝突防止警告 緊急ブレーキ支援 先進緊急 ブレーキシステム 道路標識認識 車線逸脱警告 車線維持システム 後退時支援 From Advance Driver Assistance Systems Market, Drivers, Functions , Continental AG, KSAE 2011 4 アイデアを試してみたい / システムレベルで確認したい 世の中にあるやり方と比 べてみたい 差別化にならない部分 は、一般的なやり方で済 ませたい MATLAB/Simulink 環境を用いることで、効率的なアルゴリズム開発 5 幾何学変換 幾何学的変換(位置や形の変換) デモ 簡潔なコードで処理を実行 各種GUIツール 6 高速動画ストリーミング処理・動き検出、トラッキング 動画の高速ストリーミング処理・動き検出 車のカウント 動いている領域の検出 トラッキング(物陰への隠れ) 物体が隠れてしまっても、 位置を予測しながら トラッキングを続ける デモ 7 顔・人物の認識、機械学習 顔認識 (Viola-Jonesアルゴリズム) I = imread('visionteam.jpg'); detector = vision.CascadeObjectDetector(); faces = step(detector, I) I2 = insertObjectAnnotation(I, 'rectangle', figure; imshow(I2); 人物認識 (HOG特徴量) % 画像の読込み % 顔検出オブジェクト定義 % 顔検出 faces, 'Face'); %枠描画 % 表示 わずか数行のMATLABコードで、人の顔認識 デモ 8 ステレオビジョン向けワークフロー: ステレオカメラキャリブレーション デモ ステレオカメラ キャリブレーション パラメータ 平行化 ステレオ画像 9 ステレオビジョン:動画での人物認識・距離測定 % 人物認識 用のオブジェクト (HOG 特徴量) vision.PeopleDetector() ステレオカメラにより、人物までの距離を測定し、3m以内になったら 赤で警告 => 衝突防止等への応用 デモ 10 システム検証事例:レーンキープアシストシステム 車線からの車両の逸脱を監視、認識 ドライバーへの警告や、ステアリングを自動的に調整し車両位置を修正 Vision algorithm for lane Vision algorithm for lane detection detection Control algorithm for steering inputControl System for Steering Input 11 アクティブセーフティシステムの開発 周辺環境を用いた 閉ループシミュレーションが 課題 ? 画 像 処 理 コントローラ 12 アクティブセーフティシステムの開発 システムレベルシミュレーション オープンなMATLAB/Simulink環境に、 サードパーティー製品を接続可能 Prescan from TASS – 3D driving environment modeling – is used to test various driving conditions Provides: – 各種センサーや、自動車のモデル 480 x 640 VGA Camera Simple Dynamics Model – ビル、道路などの環境モデル – 天候、照度、道路のコンディションの変化 13 周波数変調連続波レーダーによる、 アダプティブ クルーズコントロール FMCW信号により、 送信時と受信時の周波数シフト情報から、 前方の車までの距離を推定 前方の車が、間隔50m・速度96km/h、自車が100km/h (相対速度4km/h)で走行のときの例 14 フェーズドアレイシステムとは? 以下を含むシステム: トランスデューサのアレイ – 一般的には等間隔に配置 (必須条件ではない) 複数のトランスデューサを空間的に配置することで有効に 活用する信号処理技術 – トランスデューサ信号の位相をずらし(遅延させ)、特定の方向にお いてゲインを得る (他の方向からの雑音/干渉を最小化) Signal Wavefront t2 t1 Steering Delay Stage Signal Alignment t2 t1 S 0 15 フェーズドアレイ信号処理システムをモデル化・シミュ レーションするツールおよびアルゴリズム Phased Array System Toolbox アレイ設計・解析 波形設計・解析 送信/受信モデル ターゲット/環境モデル 時間処理 空間処理 Target Range Estimation NonfluctuatingCoherent Receiver Operating Characteristic (ROC) Curves 1 -120 0.9 時空間適応処理 -140 SNR=10dB -160 0.7 0.5 SNR=0dB 0.4 Power (dBw) d -180 SNR=3dB 0.6 P SNR=13dB 0.8 -200 -220 -240 0.3 -260 0.2 -280 0.1 -300 0 -10 10 -8 10 -6 -4 10 10 Pfa -2 10 0 10 0 0.005 0.01 0.015 0.02 Time (ms) 0.025 0.03 16 Zynq(などのプログラマブルSoC)向けワークフロー コントローラ FPGA ARM HDL Coder 物理モデル AXIバス AXI I/F プロセッサ C Code Software I/Oドライバ Embedded Coder ARM 制御対象 FPGA HDL Code Hardware Zynq等のプログラマブルSoC 17 まとめ MATLAB・Simulinkを使用することにより、 すぐに動かすことが出来る統合開発環境上で、 画像処理・コンピュータービジョンの対話的 アルゴリズム検討・検証 統合マルチドメイン開発プラットフォームを提供: – – – – 画像システム 制御設計 システムレベルシミュレーション サードパーティー製品との接続 画像処理・コンピュータービジョンの開発効率の向上 案内 18 画像処理・コンピュータビジョン向けMATLAB活用セミナー (予定) 2014年8月27日(水) 13:30-16:45 秋葉原(予定) 19 Image Processing Toolbox 画像処理のベースとなる関数群 各種画像データフォーマットの読込 画像調査用の各種GUIツール 画像(色・コントラスト等)の調整・変換 幾何学的変換(位置や形の変換) レジストレーション(位置合せ) 各種フィルタ処理 モルフォロジー処理(膨張・収縮等の様々な形態処理) オブジェクト(物体)検出・解析 セグメンテーション(領域切出し) 物体の定量評価 ROIベースの処理(特定領域処理) 20 画像の表示・調査 / コントラストの調整・マッチング 画像の表示・調査 画像ビューアー アプリケーション 色の閾値 アプリケーション コントラストの調整・マッチング 21 幾何学変換 / 各種フィルター処理 幾何学的変換(位置や形の変換) 各種フィルター処理 ノイズ除去 22 モルフォロジー処理 / オブジェクト検出・解析 モルフォロジー処理(膨張・収縮等の様々な形態処理) 境界線を 抽出 オブジェクト(物体)検出・解析 直線検出 による レーン検出 車線の検出 23 セグメンテーション / 定量評価 セグメンテーション(領域切出し) 葉の部分を 抽出 物体の定量評価 各中心位置・ 面積を計測 中心点・面積の抽出 24 画像処理やコンピュータビジョンのための機能・高速ストリーミング処理 Computer Vision System Toolbox カメラキャリブレーション グラフィックス 特徴点検出・特徴量抽出、 マッチング・レジストレーション 物体認識、文字認識(OCR) – 顔・人物認識 – カスタム物体に対する機械学習 動画ストリーミングデータの高速処理 物体のトラッキング ステレオビジョン向けツール 画像処理用のSimulink ブロックセット Cコード生成・固定小数点に対応した 画像処理用システムオブジェクト 25 画像取扱い機能 カメラキャリブレーション カメラ位置推定 レンズ歪 カメラ内部 カメラ外部の パラメータ抽出 レンズ歪補正 高速なグラフィックス 注釈挿入 マーカー挿入 図形挿入 テキスト挿入 26 特徴点ベースのワークフロー 特徴点のマッチングを用いた、物体認識 SURF/Harris/FAST/BRISK等 の特徴点検出 SURF/FREAK/BRISK/HOG等 の特徴量抽出 RANSACを用いた対応点推定 物体の検出 特徴点ベースのレジストレーション(位置合せ) 27 パターンマッチング テンプレートマッチング ターゲット テンプレート ブロックマッチング 28 文字認識 OCR (光学文字認識) 29 顔・人物の認識、機械学習 顔認識 (Viola-Jonesアルゴリズム) 機械学習 人物認識 (HOG特徴量) ラベリング用のツール (Haar / HOG / LBP 特徴量) データベース 30 高速動画ストリーミング処理・動き検出、トラッキング 動画の高速ストリーミング処理・動き検出 車のカウント 動いている領域の検出 トラッキング 物体が隠れてしまっても、 位置を予測しながら トラッキングを続ける 31 ステレオビジョン向けワークフロー ステレオ画像の平行化 デモ ステレオカメラキャリブレーション 平行化 左右の画像から特徴点の抽出 奥行きの推定 (視差画像) 32 各種カメラからの画像データ直接取込み Image Acquisition Toolbox 業界標準のHWからの動画像取込み機能を提供 – フレームグラバ (画像入力ボード) Analog 入力 Camera Link 入力 – DCAM 互換 FireWire (IIDC 1394) – GigE Vision – 一般的なUSB Webカメラ => 簡易的取込みはMATLABの関数で可能 Microsoft Kinect for Windows RGB画像+骨格座標 (2人まで) カスタムアダプター開発キット Simulink ブロック 深度画像 認識した人 (6人まで) 深度プロット 33
© Copyright 2024 Paperzz