Main Content

이 페이지의 내용은 이전 릴리스에 관한 것입니다. 해당 영문 페이지는 최신 릴리스에서 제거되었습니다.

객체 검출

컨벌루션 신경망(CNN 또는 ConvNet)을 사용하여 분류, 객체 검출, 전이 학습 수행, 커스터마이즈된 검출기 만들기

객체 검출은 영상 또는 비디오에서 객체 인스턴스를 찾기 위한 컴퓨터 비전 기법입니다. 객체 검출 알고리즘은 의미 있는 결과를 생성하기 위해 일반적으로 머신러닝 또는 딥러닝을 활용합니다. 사람은 영상이나 비디오를 보고 바로 관심 객체를 인식하고 찾을 수 있습니다. 객체 검출의 목표는 컴퓨터를 사용하여 이러한 사람의 지능을 재현하는 것입니다. 어떤 객체 검출 방법이 가장 적합한지는 사용자가 해결하려는 문제와 해당 응용 분야에 따라 다릅니다.

딥러닝 기법은 레이블이 지정된 훈련 영상이 아주 많이 필요하며, 따라서 모델 훈련에 걸리는 시간을 줄이기 위해 GPU를 사용할 것을 권장합니다. 딥러닝 기반의 객체 검출은 R-CNN, YOLO 같은 컨벌루션 신경망(CNN 또는 ConvNet)을 사용하거나 SSD(single-shot detection)를 사용합니다. 커스텀 객체 검출기를 훈련시킬 수도 있고, 사전 훈련된 신경망으로 시작해서 응용 사례에 맞게 미세 조정하는 전이 학습을 활용하는 방식으로 사전 훈련된 객체 검출기를 사용할 수도 있습니다. 컨벌루션 신경망을 사용하려면 Deep Learning Toolbox™가 필요합니다. 훈련과 예측은 CUDA®가 사용 가능한 GPU에서 지원됩니다. GPU를 사용하는 것이 권장되며, 이를 위해서는 Parallel Computing Toolbox™가 필요합니다. 자세한 내용은 Computer Vision Toolbox 기본 설정Parallel Computing Support in MathWorks Products (Parallel Computing Toolbox) 항목을 참조하십시오.

객체 검출을 위한 머신러닝 기법으로는 ACF(Aggregate Channel Features), HOG(Histograms of Oriented Gradient) 특징을 사용하는 SVM(서포트 벡터 머신) 분류, 사람의 얼굴이나 상반신 검출을 위한 Viola-Jones 알고리즘 등이 있습니다. 사전 훈련된 객체 검출기로 시작하거나 응용 사례에 적합한 커스텀 객체 검출기를 만들 수 있습니다.

Labeled boats, neural network, and person detector

영상 레이블 지정기컴퓨터 비전 응용 분야에서 영상에 레이블 지정
비디오 레이블 지정기Label video for computer vision applications

함수

모두 확장

딥러닝 검출기

rcnnObjectDetectorDetect objects using R-CNN deep learning detector
fastRCNNObjectDetectorDetect objects using Fast R-CNN deep learning detector
fasterRCNNObjectDetectorDetect objects using Faster R-CNN deep learning detector
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 이후)
solov2Segment objects using SOLOv2 instance segmentation network (R2023b 이후)
maskrcnnDetect objects using Mask R-CNN instance segmentation (R2021b 이후)
ocrRecognize text using optical character recognition

특징 기반 검출기

readAprilTagDetect and estimate pose for AprilTag in image (R2020b 이후)
readBarcodeDetect and decode 1-D or 2-D barcode in image (R2020a 이후)
acfObjectDetectorDetect objects using aggregate channel features
peopleDetectorACFDetect people using aggregate channel features
vision.CascadeObjectDetectorDetect objects using the Viola-Jones algorithm
vision.ForegroundDetectorForeground detection using Gaussian mixture models
vision.PeopleDetector(To be removed) Detect upright people using HOG features
vision.BlobAnalysisProperties of connected regions

특징점을 사용한 객체 검출

detectBRISKFeaturesBRISK 특징 검출
detectFASTFeaturesFAST 알고리즘을 사용하여 코너 검출
detectHarrisFeaturesHarris–Stephens 알고리즘을 사용하여 코너 검출
detectKAZEFeaturesDetect KAZE features
detectMinEigenFeatures최소 고유값 알고리즘을 사용하여 코너 검출
detectMSERFeaturesDetect MSER features
detectORBFeaturesDetect ORB keypoints
detectSIFTFeaturesSIFT(Scale-Invariant Feature Transform) 특징 검출 (R2021b 이후)
detectSURFFeaturesSURF 특징 검출
extractFeaturesExtract interest point descriptors
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 이후)
groundTruthGround truth label data
imageDatastore이미지 데이터의 데이터저장소
objectDetectorTrainingDataCreate training data for an object detector
ocrTrainingOptionsOptions for training OCR model (R2023a 이후)
combine여러 데이터저장소의 데이터 결합

특징 기반 객체 검출기 훈련

trainACFObjectDetectorTrain ACF object detector
trainCascadeObjectDetectorTrain cascade object detector model
trainImageCategoryClassifierTrain an image category classifier

딥러닝 기반 객체 검출기 훈련

trainRCNNObjectDetectorTrain R-CNN deep learning object detector
trainFastRCNNObjectDetectorTrain Fast R-CNN deep learning object detector
trainFasterRCNNObjectDetectorTrain Faster R-CNN deep learning object detector
trainSSDObjectDetectorTrain an SSD deep learning object detector (R2020a 이후)
trainYOLOv2ObjectDetectorTrain YOLO v2 object detector
trainYOLOv4ObjectDetectorTrain YOLO v4 object detector (R2022a 이후)
trainSOLOV2Train SOLOv2 network to perform instance segmentation (R2023b 이후)
trainMaskRCNNTrain Mask R-CNN network to perform instance segmentation (R2022a 이후)
ocrTrainingOptionsOptions for training OCR model (R2023a 이후)
trainOCRTrain OCR model to recognize text in image (R2023a 이후)
quantizeOCRQuantize OCR model (R2023a 이후)

딥러닝을 위한 훈련 데이터 증대 및 전처리

balanceBoxLabelsBalance bounding box labels for object detection (R2020a 이후)
bboxcropCrop bounding boxes (R2019b 이후)
bboxeraseRemove bounding boxes (R2021a 이후)
bboxresizeResize bounding boxes (R2019b 이후)
bboxwarpApply geometric transformation to bounding boxes (R2019b 이후)
bbox2pointsConvert rectangle to corner points list
imwarp영상에 기하 변환 적용
imcrop영상 자르기
imresize이미지 크기 조정
randomAffine2dCreate randomized 2-D affine transformation (R2019b 이후)
centerCropWindow2d사각 형태의 가운데 자르기 창 만들기 (R2019b 이후)
randomWindow2dRandomly select rectangular region in image (R2021a 이후)
integralImageCalculate 2-D integral image

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 버전 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
spaceToDepthLayerSpace to depth layer (R2020b 이후)

중점 손실 계층

focalLossLayer(To be removed) Create focal loss layer using focal loss function (R2020a 이후)
focalCrossEntropyCompute focal cross-entropy loss (R2020b 이후)

SSD(Single Shot Detector)

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 이후)
insertObjectAnnotationAnnotate truecolor or grayscale image or video
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 이후)
evaluateInstanceSegmentationEvaluate instance segmentation data set against ground truth (R2022b 이후)
instanceSegmentationMetricsInstance segmentation quality metrics (R2022b 이후)
bboxOverlapRatioCompute bounding box overlap ratio
bboxPrecisionRecallCompute bounding box precision and recall against ground truth
evaluateOCREvaluate OCR results against ground truth (R2023a 이후)
evaluateDetectionMissRate(To be removed) Evaluate miss rate metric for object detection
evaluateDetectionPrecision(To be removed) Evaluate precision metric for object detection
evaluateDetectionAOS(To be removed) Evaluate average orientation similarity metric for object detection (R2020a 이후)

블록

Deep Learning Object Detector훈련된 딥러닝 객체 검출기를 사용하여 객체 검출 (R2021b 이후)

도움말 항목

시작하기

객체 검출 및 인스턴스 분할을 위해 데이터 훈련시키기

딥러닝 시작하기

  • 심층 신경망 디자이너 (Deep Learning Toolbox)
  • 딥러닝 계층 목록 (Deep Learning Toolbox)
    MATLAB®에서 제공하는 딥러닝 계층에 대해 알아봅니다.
  • MATLAB의 딥러닝 (Deep Learning Toolbox)
    사전 훈련된 신경망 및 전이 학습, 그리고 GPU, CPU, 클러스터 및 클라우드에서의 훈련 등 분류 및 회귀에 컨벌루션 신경망을 사용하여 MATLAB의 딥러닝 기능을 알아봅니다.
  • 사전 훈련된 심층 신경망 (Deep Learning Toolbox)
    분류, 전이 학습 및 특징 추출을 위해 사전 훈련된 컨벌루션 신경망을 다운로드하고 사용하는 방법을 알아봅니다.