• 検索結果がありません。

いまからはじめる、MATLABによる 画像処理・コンピュータビジョン

N/A
N/A
Protected

Academic year: 2021

シェア "いまからはじめる、MATLABによる 画像処理・コンピュータビジョン"

Copied!
49
0
0

読み込み中.... (全文を見る)

全文

(1)

いまからはじめる、MATLABによる

画像処理・コンピュータビジョン

MathWorks Japan アプリケーションエンジニアリング部 シニアアプリケーションエンジニア 大谷 卓也

(2)

Demo: 顔検出

(3)

Demo: MRI Analysis

(4)

MATLAB/Simulinkでの

画像処理、コンピュータビジョン開発

コンセプト 検討・設計 アルゴリズム 方式検討 プロト タイピング 組み込み システム設計 MATLAB/Simulinkでは、アルゴリズムから、HW/組み込みシステム 実装まで幅広くツールでカバーします 画像処理・コンピュータビジョンの • 方式検討 • アルゴリズム検討 • プロトタイピング • 実装方式の検討 • 制御部分、画像処理 • 処理速度の検討 • FPGA? CPU? DSP? • メモリ容量の検討

(5)

アジェンダ

画像処理とは?

– 画像の取り扱いの基本 – 各種画像処理アルゴリズムの扱い – MATLABで画像処理を行うメリット 

コンピュータビジョンとは?

– 応用例のご紹介 – 特徴量を使用した認識 – MATLABで使用出来る様々な環境

(6)

画像処理とは?

例えば、デジタルカメラの内部処理 様々な画像処理がハードウェア・ソフトウェアで行われる 

様々なアルゴリズムを使用し、画像の変形や変換、色の補正、

ノイズ除去などを行うこと

統計解析などを併用し、画像からデータの数値化を行うこと

(7)

画像処理とは?

ノイズ除去

(8)

画像処理とは?

モルフォロジー処理などによる、領域の分割 面積、中心点などの算出

(9)
(10)

画像処理デモ

インデックス操作

2値化、モルフォロジー処理、セグメンテーション例

画像フィルタ操作例

(11)

画像処理開発における、MATLAB使用のメリット

シンプルな構文

– C/C++に比べて、少ない作業量(ループ等の記述は最小限) – データタイプの扱いが簡単(多くの場合定義も不要) 

スクリプトでの実行、多くの可視化機能

– コンパイル等の作業が不要 – プログラム途中でのデバッグが容易 

高度なアルゴリズム・ライブラリ群

– 高速な行列演算ライブラリ – 最小限の設定ですぐに使える画像処理、 コンピュータビジョン・アルゴリズム

(12)

アジェンダ

画像処理とは?

– 画像の取り扱いの基本 – 各種画像処理アルゴリズムの扱い – MATLABで画像処理を行うメリット 

コンピュータビジョンとは?

– 応用例のご紹介 – 特徴量を使用した認識 – MATLABで使用出来る様々な環境

(13)

コンピュータビジョンとは?

静止画像や、動画像を使用し、検出、識別、物体のトラッキン

グを行い、コンピュータでシーンの理解などを行うこと

コンピュータ ビジョン シーンの理解 検出 認識 識別 トラッキング … 道路 人物 自転車 トラック アクシデント … 画像処理 ノイズ補正 コントラスト補正 測定 …

(14)

コンピュータビジョンの応用例

ロボット制御

セキュリティ

バイオメトリクス

(15)

コンピュータビジョンとは?

(16)

コンピュータビジョンとは?

特徴点をベースにパノラマ画像の生成 (Image Stitching)

(17)
(18)

コンピュータビジョンとは?

動画からの動き検出

(19)

コンピュータビジョンとは?

(20)

コンピュータビジョン デモ

顔の検出

特徴点・特徴量の抽出、マッチング

(21)

その他、MATLABで使用出来る環境

既存のC / C++ ライブラリ取り込み 柔軟な画像入力 (動画、静止画) ツールボックス追加による、 豊富な画像処理、 コンピュータビジョン アルゴリズム 多くのユーザ、研究者による MATLABコードの共有

(22)

MATLAB Centralの利用

画像処理・コンピュータ ビジョン系のアルゴリズム、 サンプル等が千件以上登録 (2012年現在) 共有されている殆どのファ イルは、BSDライセンス R2012bより、Apps機能も 使用可能

(23)

HWとの連携、GUI・配布形式アプリの制作

COM1 HWからの高速なデータ取り込み 高度なGUI作成機能 .NET COM .exe .dll/.lib MATLABコンパイラを使用し 実行形式作成

(24)

DEMO

(25)

その他、各種ツールボックスで実現できること

 各種カメラデバイスからの画像キャプチャ Image Acquisition Toolbox

 画像の前処理(色補正、フィルタ、 Image Processing Toolbox モルフォロジなど)  特徴点・特徴量の検出/抽出/マッチング Computer Vision  その他ビジョンアプリケーション System Toolbox – ブレ補正、モザイキング – 動きの検出、顔認識、人物認識 – トラッキング – ステレオ画像

(26)

CPU/DSP, FPGA実装ツール

Simulinkを使用する事で、画像処理システムの机上検証

から、Software/Hardwareと連携した検証まで実現可能

外部入力 EDA環境(Xilinx, Altera、Mentor Graphics, Cadence 等)との連携 FPGAボード連携 CPU/DSPボード 連携 IDE環境 (Texas Instruments, Analog Devices, Green Hills, Altium, Eclipse等)との連携

(27)

まとめ

すぐに動かすことが出来る、インタープリタ環境による、

画像処理・コンピュータビジョンのアルゴリズム検討

– 様々なパラメータのトライ&エラーを迅速に実施 – 多くの高速な関数を使った、様々な方式検討 – 多くの研究者、MATLAB Centralなどのリソースの有効活用

画像処理・コンピュータビジョン開発の際の

(28)

28

デモブースのご案内

信号処理アルゴリズム設計 ~システム設計~実装

© 2012 The MathWorks, Inc. MATLAB and Simulink are registered trademarks of The MathWorks, Inc. See www.mathworks.com/trademarks for a list of additional trademarks. Other product or brand names may be trademarks or registered trademarks of their respective holders.

(29)

いまからはじめる、MATLABによる

画像処理・コンピュータビジョン

MathWorks Japan アプリケーションエンジニアリング部 シニアアプリケーションエンジニア 大谷 卓也

(30)

Appendix

本セッションで行った、デモの詳細

画像処理

– インデックス操作 – 画像の2値化 – モルフォロジー処理 

コンピュータビジョン

– 顔認識 – 特徴点・特徴量の抽出

(31)

MATLABで行う画像処理

行列操作の得意な環境 (2値化・マスクの例)

■プログラム例: 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 要素ごと に掛け算

A

B

17 24 0 0 15 23 0 0 14 16 0 0 13 20 22 0 12 19 21 0 11 18 25 0 0

C

1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 0 1 1 1 0 1 1 1 0 0

(32)

32

MATLABで行う画像処理

コンパクトなコード量

I = rgb2gray(imread('peppers.png')); I = imnoise(I, 'salt', 0.1); Idenoise = medfilt2(I, [3 3]); figure, imshow(Idenoise);

4行

RGB = imread('tape.png');

[center, radius] = imfindcircles(RGB,[60 100],'Sensitivity',0.9) viscircles(center,radius);

hold on; plot(center(:,1),center(:,2),‘yx’,‘LineWidth’,2); hold off;

4行

Iorg=imread('iron.tif'); I = Iorg<180; I = bwmorph(I,'skel','inf'); I = bwmorph(I,'spur','inf'); I = bwmorph(I,'clean'); figure, imshow(~I);

6行

(33)

コイン画像の2値化例

I = imread(‘coins.png’); %画像をIという変数に取り込み imshow(I); %取り込んだ画像を表示

(34)

ヒストグラムの確認

黒い領域

(35)
(36)
(37)
(38)
(39)

モルフォロジー処理の例

(40)

画像のロード

(41)
(42)

しきい値を変更して、2値化画像の確認

単一のしきい値で2値化は出来ない様子

(43)

背景の明るさを確認

代表的なモルフォロジー処理 imdilate (膨張) imerode (収縮) imclose (クローズ処理) imopen (オープン処理) imbothat (ボトムハット処理) imtophat (トップハット処理) まず、背景の確認 (画像全体を大きくオープン処理して確認)

(44)

画像から背景を引き算

背景の輝度を調整 処理結果を確認 ヒストグラムを再度確認 画像から、オープニング処理した画像を引き算することをトップハット処理といいます (一連の動作は、imtophat関数でも処理が可能です)

(45)

画像の2値化

マニュアルでの2値化以外に、下記で 自動設定も可能

(46)

画像のクリーンアップ、及び、プロパティ解析

指定ピクセル以上のリージョンのみ残します

各リージョンのプロパティ解析を行います

(47)

ドキュメント検索のやり方、

逆引き、EXAMPLE

(48)

コンピュータビジョン系デモの詳細

顔認識

(49)

特徴点検出、マッチングのワークフロー

index_pairs = matchFeatures(f1, f2) ; matched_pts1 = vpts1(index_pairs(:, 1)); matched_pts2 = vpts2(index_pairs(:, 2)); showMatchedFeatures(I1,I2,matched_pts1,matched_pts2, ‘montage’); points1 = detectSURFFeatures(I1); points2 = detectSURFFeatures(I2); [f1, vpts1] = extractFeatures(I1, points1); [f2, vpts2] = extractFeatures(I2, points2); I1 I2 スケール変化に不変な特徴点検出 回転に不変な特徴量抽出 I1 = imread('cameraman.tif'); I2 = imrotate(I1, -20);

参照

関連したドキュメント

The goods and/or their replicas, the technology and/or software found in this catalog are subject to complementary export regulations by Foreign Exchange and Foreign Trade Law

運搬 中間 処理 許可の確認 許可証 収集運搬業の許可を持っているか

Windows Hell は、指紋または顔認証を使って Windows 10 デバイスにアクセスできる、よ

FSIS が実施する HACCP の検証には、基本的検証と HACCP 運用に関する検証から構 成されている。基本的検証では、危害分析などの

検証の実施(第 3 章).. 東京都環境局

今回、子ども劇場千葉県センターさんにも組織診断を 受けていただきました。県内の子ども NPO

⼝部における線量率の実測値は11 mSv/h程度であることから、25 mSv/h 程度まで上昇する可能性

撮影画像(4月12日18時頃撮影) 画像処理後画像 モックアップ試験による映像 CRDレール