主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

深層学習を使用したオブジェクト検出入門

深層学習を使用したオブジェクト検出は,イメージ内のオブジェクトの位置を予測するための迅速で正確な手段を提供します。深層学習は,オブジェクト検出器が検出タスクに必要なイメージの特徴を自動的に学習する強力な機械学習手法です。深層学習を使用したオブジェクト検出には,R-CNN更快,你只看一次(YOLO)意思v2, YOLO v3,意思シングルショット検出(SSD)など,いくつかの方法を利用できます。

オブジェクト検出の応用例は次のとおりです。

  • イメージ分類

  • シーン理解

  • 自動運転車

  • 監視

オブジェクト検出用学習データの作成

ラベル付けアプリを使用して,ビデオ,イメージシーケンス,イメージコレクション,またはカスタムデータソースのグラウンドトゥルースデータに対話形式でラベルを付けます。イメージ内のオブジェクトの位置とサイズを定義する四角形のラベルを使用して,オブジェクト検出グラウンドトゥルースにラベルを付けることができます。

データの拡張と前処理

データ拡張を使用すると,限られたデータセットで学習を行うことができます。平行移動,トリミング,変換などのわずかな変更をイメージに加えることで,ロバストな検出器の学習に使用できる特徴的な一意のイメージが新たに作成されます。データストアは,データの集合の読み取りや拡張に便利です。イメージとラベル付き境界ボックスのデータ用のデータストアを作成するには,imageDatastoreboxLabelDatastoreを使用します。

データストアを使用した学習データの拡張の詳細については,深層学習用のデータストア(深度学习工具箱)および組み込みデータストアを使用した追加のイメージ処理演算の実行(深度学习工具箱)を参照してください。

オブジェクト検出ネットワークの作成

各オブジェクト検出器には,固有のネットワークアーキテクチャが含まれます。たとえば更快R-CNN検出器は検出に2ステージのネットワークを使用するのに対し,YOLO v2意思は単一ステージを使用します。ネットワークの作成には,fasterRCNNLayersyolov2Layersなどの関数を使用します。ディープネットワークデザイナー(深度学习工具箱)を使用して,ネットワークを1層ずつ設計することもできます。

検出器の学習と結果の評価

オブジェクト検出器の学習には,関数trainFasterRCNNObjectDetector、関数trainYOLOv2ObjectDetector、関数trainSSDObjectDetectorを使用します。学習結果の評価には,関数evaluateDetectionMissRateおよび関数evaluateDetectionPrecisionを使用します。

深層学習の検出器を使用したオブジェクトの検出

学習済みの検出器を使用してイメージ内のオブジェクトを検出します。たとえば,以下に示す部分的なコードでは,学習済みの探测器をイメージに対して使用します。オブジェクト関数检测fasterRCNNObjectDetectorオブジェクト,yolov2ObjectDetectorオブジェクト,yolov3ObjectDetectorオブジェクト,またはssdObjectDetectorオブジェクトに対して使用すると,境界ボックス,検出スコア,および境界ボックスに割り当てられたカテゴリカルラベルが返されます。

I = imread(input_image) [bboxes,scores,labels] = detect(检测器,I)

参考

アプリ

関連するトピック