スライドを見る - MathWorks

先端運転支援システムへ向けた各種画像・
コンピュータビジョンアルゴリズム開発環境
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