Main Content

オブジェクトの検出

畳み込みニューラル ネットワーク (CNN または ConvNet) を使用した分類、オブジェクト検出、転移学習の実行、ならびにカスタム検出器の作成

オブジェクト検出は、イメージまたはビデオ内のオブジェクトのインスタンスを特定するためのコンピューター ビジョンの手法です。オブジェクト検出アルゴリズムは通常、機械学習または深層学習を活用して、意味のある結果を生成します。イメージやビデオを見るとき、人間は関心を向ける対象オブジェクトを瞬時に認識して特定できます。オブジェクト検出の目的は、コンピューターを使用してこのインテリジェンスを模倣することです。オブジェクト検出の最適なアプローチは、アプリケーションや解決しようとする問題によって異なります。

深層学習手法では、多数のラベル付き学習イメージを必要とするため、モデルに学習させるのに必要な時間を短縮するために GPU を使用することを推奨します。深層学習ベースのオブジェクト検出では、R-CNN や YOLO などの畳み込みニューラル ネットワーク (CNN または ConvNet) を使用するか、シングルショット検出 (SSD) を使用します。カスタム オブジェクト検出器に学習させることも、転移学習を活用して事前学習済みのオブジェクト検出器を使用し、事前学習済みのネットワークから始めて、アプリケーションに合わせて微調整することもできます。畳み込みニューラル ネットワークには Deep Learning Toolbox™ が必要です。学習と予測は CUDA® 対応 GPU でサポートされます。GPU を使用することが推奨され、これには Parallel Computing Toolbox™ が必要になります。詳細については、Computer Vision Toolbox の基本設定およびMathWorks 製品での並列計算のサポート (Parallel Computing Toolbox)を参照してください。

オブジェクト検出の機械学習手法には、集約チャネル特徴 (ACF)、勾配方向ヒストグラム (HOG) 特徴を使用したサポート ベクター マシン (SVM) 分類、および人間の顔や上半身を検出するための Viola-Jones アルゴリズムなどがあります。事前学習済みのオブジェクト検出器から開始することも、アプリケーションに合わせてカスタム オブジェクト検出器を作成することもできます。

Labeled boats, neural network, and person detector

アプリ

イメージ ラベラーコンピューター ビジョン アプリケーションに使用するラベル イメージ
ビデオ ラベラーLabel video for computer vision applications

関数

すべて展開する

深層学習検出器

rcnnObjectDetectorR-CNN 深層学習の検出器を使用したオブジェクトの検出
fastRCNNObjectDetectorDetect objects using Fast R-CNN deep learning detector
fasterRCNNObjectDetectorFaster R-CNN 深層学習の検出器を使用したオブジェクトの検出
ssdObjectDetectorDetect objects using SSD deep learning detector (R2020a 以降)
yolov2ObjectDetectorDetect objects using YOLO v2 object detector
yolov3ObjectDetectorDetect objects using YOLO v3 object detector (R2021a 以降)
yolov4ObjectDetectorDetect objects using YOLO v4 object detector (R2022a 以降)

特徴ベースの検出器

readAprilTagDetect and estimate pose for AprilTag in image (R2020b 以降)
readArucoMarkerDetect and estimate pose for ArUco marker in image (R2024a 以降)
generateArucoMarkerGenerate ArUco marker images (R2024a 以降)
readBarcodeDetect and decode 1-D or 2-D barcode in image (R2020a 以降)
acfObjectDetectorDetect objects using aggregate channel features
peopleDetectorACF集約チャネル特徴を使用した人物の検出
vision.CascadeObjectDetectorViola-Jones アルゴリズムを使用したオブジェクトの検出
vision.ForegroundDetector混合ガウス モデルを使用した前景の検出
vision.PeopleDetector(削除予定) HOG 特徴を使用した直立の人物の検出
vision.BlobAnalysis連結された領域のプロパティ

特徴点を使用したオブジェクトの検出

detectBRISKFeaturesBRISK 特徴の検出
detectFASTFeaturesFAST アルゴリズムを使用したコーナーの検出
detectHarrisFeaturesHarris–Stephens アルゴリズムを使用したコーナーの検出
detectKAZEFeaturesKAZE 特徴の検出
detectMinEigenFeatures最小固有値アルゴリズムを使用したコーナーの検出
detectMSERFeaturesMSER 特徴の検出
detectORBFeaturesORB キーポイントの検出
detectSIFTFeaturesScale Invariant Feature Transform (SIFT) 特徴の検出 (R2021b 以降)
detectSURFFeaturesSURF 特徴の検出
extractFeatures関心点記述子の抽出
matchFeaturesマッチする特徴の検出

検出オブジェクトの選択

selectStrongestBboxSelect strongest bounding boxes from overlapping clusters using nonmaximal suppression (NMS)
selectStrongestBboxMulticlassSelect strongest multiclass bounding boxes from overlapping clusters using nonmaximal suppression (NMS)

学習データの読み込み

boxLabelDatastoreDatastore for bounding box label data (R2019b 以降)
groundTruthグラウンド トゥルース ラベル データ
imageDatastoreイメージ データのデータストア
objectDetectorTrainingDataオブジェクト検出器用の学習データの作成
combine複数のデータストアのデータを統合

特徴ベースのオブジェクト検出器の学習

trainACFObjectDetectorACF オブジェクト検出器に学習させる
trainCascadeObjectDetectorカスケード型オブジェクト検出器モデルの学習
trainImageCategoryClassifierイメージ カテゴリ分類器の学習

深層学習ベースのオブジェクト検出器の学習

trainRCNNObjectDetectorR-CNN 深層学習オブジェクト検出器の学習
trainFastRCNNObjectDetectorFast R-CNN 深層学習オブジェクト検出器の学習
trainFasterRCNNObjectDetectorFaster R-CNN 深層学習オブジェクト検出器の学習
trainSSDObjectDetectorTrain an SSD deep learning object detector (R2020a 以降)
trainYOLOv2ObjectDetectorTrain YOLO v2 object detector
trainYOLOv3ObjectDetectorTrain YOLO v3 object detector (R2024a 以降)
trainYOLOv4ObjectDetectorTrain YOLO v4 object detector (R2022a 以降)

深層学習用の学習データの拡張と前処理

balanceBoxLabelsBalance bounding box labels for object detection (R2020a 以降)
bboxcrop境界ボックスのトリミング (R2019b 以降)
bboxeraseRemove bounding boxes (R2021a 以降)
bboxresize境界ボックスのサイズ変更 (R2019b 以降)
bboxwarpApply geometric transformation to bounding boxes (R2019b 以降)
bbox2pointsConvert rectangle to corner points list
imwarpイメージへの幾何学的変換の適用
imcropイメージのトリミング
imresizeイメージのサイズ変更
randomAffine2dランダムな 2 次元アフィン変換の作成 (R2019b 以降)
centerCropWindow2d四角形の中央トリミング ウィンドウの作成 (R2019b 以降)
randomWindow2dRandomly select rectangular region in image (R2021a 以降)
integralImage2 次元積分イメージの計算

R-CNN (Regions with Convolutional Neural Networks)

rcnnBoxRegressionLayerBox regression layer for Fast and Faster R-CNN
fasterRCNNLayersCreate a faster R-CNN object detection network (R2019b 以降)
rpnSoftmaxLayerSoftmax layer for region proposal network (RPN)
rpnClassificationLayerClassification layer for region proposal networks (RPNs)
regionProposalLayerRegion proposal layer for Faster R-CNN
roiAlignLayerNon-quantized ROI pooling layer for Mask-CNN (R2020b 以降)
roiInputLayerROI input layer for Fast R-CNN
roiMaxPooling2dLayerNeural network layer used to output fixed-size feature maps for rectangular ROIs
roialignNon-quantized ROI pooling of dlarray data (R2021b 以降)

YOLO v2 (You Only Look Once version 2)

yolov2LayersCreate YOLO v2 object detection network
yolov2TransformLayerCreate transform layer for YOLO v2 object detection network
yolov2OutputLayerCreate output layer for YOLO v2 object detection network
spaceToDepthLayer空間から深さへの変換層 (R2020b 以降)

焦点損失

focalCrossEntropyCompute focal cross-entropy loss (R2020b 以降)

SSD (シングル ショット検出器)

ssdMergeLayerCreate SSD merge layer for object detection (R2020a 以降)

アンカー ボックス

estimateAnchorBoxesEstimate anchor boxes for deep learning object detectors (R2019b 以降)
cuboid2imgProject cuboids from 3-D world coordinates to 2-D image coordinates (R2022b 以降)
insertObjectAnnotationトゥルーカラー イメージ、グレースケール イメージ、またはビデオへの注釈付け
insertObjectMask Insert masks in image or video stream (R2020b 以降)
insertShapeイメージまたはビデオへの形状の挿入
showShapeDisplay shapes on image, video, or point cloud (R2020b 以降)
evaluateObjectDetectionEvaluate object detection data set against ground truth (R2023b 以降)
objectDetectionMetricsObject detection quality metrics (R2023b 以降)
mAPObjectDetectionMetricMean average precision (mAP) metric for object detection (R2024a 以降)
bboxOverlapRatio境界ボックスのオーバーラップ率の計算
bboxPrecisionRecallCompute bounding box precision and recall against ground truth

ブロック

Deep Learning Object Detector学習済み深層学習オブジェクト検出器を使用したオブジェクトの検出 (R2021b 以降)

トピック

開始

オブジェクト検出用およびインスタンスのセグメンテーション用の学習データ

  • イメージ ラベラー入門
    四角形の ROI (オブジェクト検出用)、ピクセル (セマンティック セグメンテーション用)、多角形 (インスタンス セグメンテーション用)、およびシーン (イメージ分類用) に対話形式でラベルを付ける。
  • ビデオ ラベラー入門
    ビデオおよびイメージのシーケンス内の四角形の ROI (オブジェクト検出用)、ピクセル (セマンティック セグメンテーション用)、多角形 (インスタンス セグメンテーション用)、およびシーン (イメージ分類用) に対話形式でラベルを付ける。
  • 深層学習用のデータストア (Deep Learning Toolbox)
    深層学習アプリケーションでデータストアを使用する方法を学びます。
  • オブジェクト検出およびセマンティック セグメンテーション用の学習データ
    イメージ ラベラービデオ ラベラーを使用して、オブジェクト検出器やセマンティック セグメンテーションの学習データを作成します。
  • 深層学習用イメージ前処理とイメージ拡張の入門
    サイズ変更などの確定的演算を使用して深層学習アプリケーション用にデータを前処理する。あるいは、ランダム トリミングなどのランダム演算を使用して学習データを拡張する。

深層学習入門

  • MATLAB による深層学習 (Deep Learning Toolbox)
    畳み込みニューラル ネットワークを使用して分類や回帰を行う MATLAB® の深層学習機能を確認します。これには、事前学習済みのネットワークと転移学習のほか、GPU、CPU、クラスター、およびクラウドでの学習が含まれます。
  • 事前学習済みの深層ニューラル ネットワーク (Deep Learning Toolbox)
    分類、転移学習、特徴抽出用の事前学習済みの畳み込みニューラル ネットワークのダウンロード方法と使用方法を学習します。