LoginSignup
13
12

More than 3 years have passed since last update.

MATLABによる画像処理・コンピュータービジョン評価キットを使ってみる

Last updated at Posted at 2020-03-18

目次へのリンク

MATLABによる画像処理・コンピュータービジョン入門目次

MATLAB 画像処理・コンピュータービジョン評価キットとは?

Image Processing Toolbox™やComputer Vision Toolbox™の機能を網羅した例題集です。画像処理やコンピュータービジョンをこれからはじめる方が逆引き的に使用することができます。
下記のようなものが入っています。

  • MATLAB®/Simulink®による画像の取り扱い(DICOM)
  • 各種画像処理例(各種画像データ読み込み/2値化/幾何学変換/位置合わせ/フィルタ/モルフォロジー処理/セグメンテーション)
  • マルチコア/GPUコード生成/FPGA連携機能例/深層強化学習
  • コンピュータービジョン処理例(特徴点マッチング/動体検出/トラッキング/ステレオビジョン/LiDAR点群処理)
  • 画像の機械学習処理例(SVM/線形判別)
  • ディープラーニング処理例(CNN/転移学習/Faster R-CNN/YOLO v2/SegNet/FCN/U-Net/3D CNN)

必要な構成

評価キットを入手

まずは下記のコマンドでGitHubからファイルをダウンロードします。verMatlabはバージョンに合わせて変えてくださいね。Gitに詳しい人はcloneしていただいてもOKです。

verMatlab = "R2019b";
folderName = "MATLAB-IPCV-Eval-Kit-JP-"+verMatlab;
zipFileName = folderName+".zip";
if ~exist(zipFileName,"file")
websave(zipFileName,...
    "https://github.com/mathworks/MATLAB-IPCV-Eval-Kit-JP/archive/"+verMatlab+".zip");
end

解凍する

早速解凍してみましょう。

if ~exist(folderName,"dir")
    unzip(zipFileName)
end

MATLABプロジェクトを開く

プロジェクトファイルを開いてデモファイルのフォルダにパスを通します。

open(fullfile(folderName,"IPCV_Eval_Kit.prj"));

どんな機能があるか資料を見てみる

各機能を紹介するPDFが入っているのでざっと目を通してみましょう。気に入った例題があったら実行してみます。

open("IPCV_Eval_kit.pdf");

いくつか例題を動かしてみる

では例題を動かして動作を確認してみましょう。解説はなしでひたすら実行してみます。どんなデモがあるか見てもらえたらと思います。

歯車の欠けを検出

I2_01_3_myGear_7g_J_short

attach:cat

ワッシャーを種類ごとに数える

I2_09_0_myWashers7s_long

attach:cat

特徴点マッチングによる物体検出

I4_02_1_featureMatching_BRISK

attach:cat

attach:cat

ポイントトラッカーによる顔の追尾

I4_08_4_myFaceTrackingKLT

figure_15.png
figure_17.png

ステレオカメラのキャリブレーションと距離推定

I4_09_2_myStereoCalibAndSceneReconst

figure_19.png
figure_22.png
figure_23.png
figure_29.png
figure_30.png
figure_33.png

3次元点群の表示、セグメンテーション、レジストレーション

I4_10_2_myPointCloudsExample

figure_35.png
figure_39.png
figure_41.png
figure_46.png

ディープラーニング(YOLO v2)による車両検出

※GPUなしだとかなり時間かかります

I5_06_2_6_trainYOLOv2ObjectDetector
*************************************************************************
次のオブジェクト クラスに対する YOLO v2 オブジェクト検出器の学習:

* vehicle

学習データをチェック中...完了。
単一の CPU で学習中。
入力データの正規化を初期化しています。
|===================================================================|
|  エポック  |  反復  |     経過時間     |  ミニバッチ RMSE  |  ミニバッチ損失  |  基本学習率  |
|        |      |  (hh:mm:ss)  |              |           |         |
|===================================================================|
|      1 |    1 |     00:00:10 |         3.87 |      15.0 |  0.0010 |
|      2 |   30 |     00:02:53 |         0.78 |       0.6 |  0.0010 |
|      4 |   60 |     00:05:40 |         0.60 |       0.4 |  0.0010 |
|      5 |   90 |     00:08:18 |         0.41 |       0.2 |  0.0010 |
|      7 |  120 |     00:10:57 |         0.44 |       0.2 |  0.0010 |
|      9 |  150 |     00:13:29 |         0.33 |       0.1 |  0.0010 |
|     10 |  180 |     00:16:01 |         0.33 |       0.1 |  0.0010 |
|     12 |  210 |     00:18:47 |         0.32 |   9.9e-02 |  0.0010 |
|     14 |  240 |     00:21:19 |         0.29 |   8.6e-02 |  0.0010 |
|     15 |  270 |     00:23:48 |         0.27 |   7.4e-02 |  0.0010 |
|     17 |  300 |     00:26:21 |         0.27 |   7.1e-02 |  0.0010 |
|     19 |  330 |     00:28:58 |         0.22 |   5.0e-02 |  0.0010 |
|     20 |  360 |     00:31:27 |         0.29 |   8.4e-02 |  0.0010 |
|     22 |  390 |     00:34:00 |         0.24 |   5.6e-02 |  0.0010 |
|     24 |  420 |     00:36:33 |         0.20 |   4.0e-02 |  0.0010 |
|     25 |  450 |     00:39:02 |         0.22 |   4.9e-02 |  0.0010 |
|     27 |  480 |     00:41:34 |         0.18 |   3.1e-02 |  0.0010 |
|     29 |  510 |     00:44:05 |         0.23 |   5.3e-02 |  0.0010 |
|     30 |  540 |     00:46:35 |         0.25 |   6.1e-02 |  0.0010 |
|===================================================================|
検出器の学習が完了しました。
*************************************************************************

figure_51.png
figure_52.png

まとめ

以上がMATLAB 画像処理・コンピュータービジョン評価キットの使い方です。
どんなコードか気になった方はぜひダウンロードして試してみてくださいね。
何か面白いデモを見つけたり、作ったりしたらぜひコメントで教えてください。

謝辞

本記事は@eigsさんのlivescript2markdownを使わせていただいてます。

13
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
12