画像認識とは
これだけは知っておきたい 3 つのこと
これだけは知っておきたい 3 つのこと
画像認識とは、画像や動画に写っているオブジェクトや特徴を識別するプロセスのことです。画像認識は、欠陥検出、医用画像処理、セキュリティ監視など多くの用途に使用されています。
画像認識を使用すると、作業を省力化し、手作業による画像検査よりも速く、あるいはより正確に画像を処理できます。画像認識は多くのアプリケーションに不可欠の技術であり、以下のようなディープラーニングを使用したアプリケーションの主な原動力となっています。
これらのアプリケーションの中心的な基盤となる技術が画像認識です。画像中のオブジェクトやシーンを識別し、その情報を使用して大規模なシステムの一部として意思決定を行うものです。画像認識は、これらのシステムの認識力を高め、本質的にはシステムに洞察をもたらすことでより良い意思決定を可能にしています。
画像認識とオブジェクト検出は類似した手法で、多くの場合は併用されます。画像認識では、画像中に存在するオブジェクトやシーンを識別し、オブジェクト検出では、画像中のオブジェクトのインスタンスと位置情報を検出します。
一般的なオブジェクト検出手法には、Faster R-CNN や YOLOv3 があります。
画像認識 (左) とオブジェクト検出 (右)。
画像認識には、機械学習やディープラーニングなど、さまざまな手法があります。どの手法を使用するかは用途によりますが、一般的には、問題が複雑であればあるほど、ディープラーニング手法を検討する可能性が高くなります。
画像認識のためのディープラーニング手法では、サンプル画像から関連する特徴を自動的に学習し、新しい画像でその特徴を自動的に識別する、畳み込みニューラル ネットワークを使用できます。
画像認識の一般的なディープラーニングワークフローは以下のとおりです。
学習データの準備: 画像の収集から始め、それらを関連するカテゴリにまとめます。また、より正確なモデルを作成するために、画像の整合性を向上させるための前処理を行うこともできます。
ディープラーニングモデルの作成: ディープラーニング モデルをゼロから構築することもできますが、アプリケーションの開始点として使用できる事前学習済みモデルから始めることをお勧めします。(詳細は事前学習済みモデルを参照してください。)
モデルの学習: モデルの学習では、テストデータをモデルに与えます。その後、モデルはデータを何度も反復し、画像に関連する最も重要な特徴を自動的に学習します。学習が進むにつれて、モデルはより高度な特徴を学習し、学習セットに含まれる画像のクラス間を正確に解読できるようになるまで学習します。
テストデータ: モデルがこれまでに学習したことのない新しいデータでテストを行い、モデルが画像をどう認識するか確認します。結果が予想と異なる場合は、より許容できる精度が得られるまで、上記の 4 つの手順を繰り返してください。
ディープラーニングの手法は複雑そうに聞こえるかもしれませんが、簡単な例を使用すれば、すぐに始めてこの技術に関する知識を深めることができます。
ヒント: ディープラーニングの手法は、高い精度と堅牢性をもつ結果が得られることから、画像認識に多く使用されています。ディープラーニングは、大量の学習データを使用することで最適な学習効果が得られることが多く、転移学習などの手法により画像認識ワークフローを簡略化できます。 Deep Learning Toolbox™ には、アルゴリズム、事前学習済みモデル、アプリを使用したディープ ニューラル ネットワークの設計と実装のためのフレームワークが用意されています。
機械学習を使用した画像認識では、画像から主要な特徴を識別して抽出し、機械学習モデルへの入力として使用します。
機械学習アルゴリズムや特徴抽出には多くの手法があり、それらをさまざまに組み合わせて正確なオブジェクト認識モデルを作成できます。
ヒント: オブジェクト認識に機械学習を使用することで、学習に最適な特徴と分類器の組み合わせを柔軟に選択できます。最小限のデータで正確な結果を得ることができます。Statistics and Machine Learning Toolbox™ には、データを記述、解析、およびモデル化する関数やアプリが用意されています。
画像認識: ディープラーニングと機械学習
画像認識にディープラーニングと機械学習のどちらを使用するかは、どのようにして決めればよいでしょうか。大まかにいえば、機械学習を使用して特徴を手動で選ぶか、ディープラーニングを使用して自動的に学ばせるかの違いです。
ディープラーニングや機械学習とは別に、従来の画像処理手法の多くは、用途によっては画像認識に非常に有効です。画像処理手法は、以下のような「ピクセルベース」の認識アプリケーションに適している傾向があります。
MATLAB® を使用すると、複雑な画像認識の作業を簡略化できます。
クリーンな前処理済みデータを使用すると、画像認識が成功しやすくなります。イメージ ラベラー アプリでは、画像の切り抜きやラベル付けのプロセスを自動化できます。
最初のうちは、ディープラーニングと機械学習のどちらの手法を使用するか迷う場合もあるでしょう。MATLAB では、あらゆる手法の組み合わせを試すことができます。ディープラーニングの事前学習済みモデルや、機械学習の分類アルゴリズムを検討できます。
ONNX™ (Open Neural Network Exchange) のインポート/エクスポート機能を使用して、TensorFlow™、Keras、PyTorch、Caffe2 などのフレームワークのネットワークやネットワークアーキテクチャと相互運用できます。
最終的に、アルゴリズムをデスクトップ環境の外で使用する必要が生じる可能性があります。MATLAB には、画像認識アルゴリズムを Web、組み込みハードウェア、運用環境サーバーなど、あらゆる場所に展開するためのコード生成ツールが用意されています。
アルゴリズムの作成後、GPU Coder™ で自動ワークフローを使用して、ハードウェアインザループ テスト向けの TensorRT または CUDA® コードを生成できます。生成したコードは、既存のプロジェクトに統合でき、デスクトップ GPU または NVIDIA® Jetson、NVIDIA Drive プラットフォームなどの組み込み GPU でのオブジェクト検出アルゴリズムの検証に使用できます。
ドキュメンテーション、例、ビデオなどを通じて知識を広げましょう。
30日間無料トライアル
今すぐ始めるWeb サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ