MATLABの画像認識ディープラーニングに必要なToolboxはコレ!

MATLABの画像認識ディープラーニングに必要なToolboxを導入前に調べてみた

画像認識のイメージ画像

「MATLABで画像認識のディープラーニングをプログラミングしたいけど、 どのToolboxを使えばいいかわからない…」

という方のために、 MATLABでディープラーニングをするときに必要なToolboxを紹介しています。

私自身もMATLABを導入するときに、 MathWorks社の営業さんに色々聞いて教えてもらいました。 そのときの情報をもとに解説していきたいと思います。

目次

最低限必要なToolboxは2つ

MATLABを使ってディープラーニングで画像認識を行うときに 必要なToolboxは2つあります。

  • Deep Learning Toolbox
  • Image Processing Toolbox

まず、DeepLearningToolboxですが、 ニューラルネットワークを使ったディープラーニングをするために必須のToolboxです。

ディープラーニングは、 このDeepLearningToolboxがないと何も始められません。

Deep Learning Toolboxがあれば 画像から何かを特定したり、 画像から何かを推定したりすることができます。

ディープラーニングで有名なのは、 顔認識ですがMATLABを使えば容易にできてしまいます。 サンプルもたくさんあるのでプログラミングしやすいわけですね。

例えば医療現場などでは、 患者のCT画像からガンを特定するプログラムが補助的に使われ始めています。 これもディープラーニングを使った画像認識の例です。

また、 人の画像から人間の骨格を推定するプログラムも主流になっています。 これもまた、ディープラーニングを使った画像認識の例です。

Deep Learning Toolboxは 主に学習と認識のフェーズに分かれています。

あらかじめ用意された学習用の画像ファイルを、 Deep Learning Toolboxの機能を使って学習させます。

学習後に、 Deep Learning Toolboxの機能を使って認識させたい画像ファイルを 読み込むことで推定結果が出てくるわけですね。

ディープラーニングの学習に必要なToolbox

さて、Image Processing Toolboxは何に使うのでしょうか?

Image Processing Toolboxは、 学習用の画像データや認識させたい入力用の画像データを加工するために使います。

通常ディープラーニングでは、 正規化された画像ファイルを学習と認識のフェーズで使います。

正規化とは、 色を合わせたり、明るさを合わせたり、 画像サイズを合わせたりすることを言います。

例えば、ディープラーニングで顔認識をしたいとすると、 人間の顔の画像をたくさん用意して、 これを学習用の画像として使います。

この学習用の画像は、 サイズを256x256ピクセルにして、RGBカラー画像で、 輝度を平均値に加工する必要があるわけです。

この正規化処理にImage Processing Toolboxを使います。

また、 学習用画像では、一つの画像を水増しして使うこともあります。

例えば、 ひとりの顔画像を、10度刻みで回転させた画像を作ります。 360度分つくるので、ひとりの顔で36個の画像が作れるわけですね。

こういう、画像を回転させたり、 輝度を編集したりする時に、 Image Processing Toolboxを使うわけですね。

要約すると、 ディープラーニングプログラムでは、 「Image Processing Toolboxを画像の正規化」に使って、 「Deep Learning Toolboxをディープラーニングの学習と認識」に使う イメージです。

ビッグデータや高解像度画像を学習させる場合

上で紹介したディープラーニングは、 学習画像の数もそこまで多くない場合や 画像の解像度も高くない場合の例になります。

数十万~数百万の画像を学習させたり、 4Kや8K画像をいくつも学習させたりする場合は もうひとつParallel Computing Toolboxが必要になってきます。

  • Deep Learning Toolbox
  • Image Processing Toolbox
  • Parallel Computing Toolbox

Parallel Computing Toolboxは 並列処理を行う機能です。

このParallel Computing Toolboxを使って、 データ量の多い画像を並列処理で学習させるわけですね。

データ量の多い画像をディープラーニングで学習させようとすると かなりの時間がかかるのです。

この学習時間を短縮をするために Parallel Computing Toolboxを使います。

Parallel Computing ToolboxとDeep Learning Toolboxを組み合わせることで、 GPUを使った並列処理が可能になります。

GPUを使いデータ量の多い画像ファイルを並列に学習させることができるので、 劇的な時間短縮を実現できるのですね。

例えば、 フルHD1920x1080の画像とかを数万枚学習させるとか、 4K 3840x2160の画像を数万枚学習させるなんて言ったら、 1週間~数週間かかるわけです。

これをParallel Computing ToolboxでGPUを使うことで、 数日までに短縮させる可能性があるわけです。

もちろん、 Parallel Computing Toolboxを使う際には、 高性能なパソコンと、高性能なGPUが必須になります。

まとめ

一般的な顔認識や物体認識でディープラーニングを使い場合は、 「Deep Learning Toolbox」と「Image Processing Toolbox」 が必要になる。

「Image Processing Toolbox」は、 主に学習用の画像を加工したり、 入力用の画像を加工したりするのに使う。

ビッグデータや高解像度画像を使った ディープラーニングをするときは、 「Deep Learning Toolbox」と「Image Processing Toolbox」の他に 「Parallel Computing Toolbox」が必須になる。

「Parallel Computing Toolbox」は GPUを使って並列処理でディープラーニングの学習をすることができる。

ちなみに、 「MATLABの画像認識ディープラーニングをするのにおすすめのパソコン」 も紹介しています。 そちらもあわせて見ていただけると嬉しいです。

MATLABの画像認識ディープラーニングにおすすめのパソコン

Copyright (C) MATLABパソコンのおすすめスペック. All Rights Reserved.