Main Content

La traduzione di questa pagina non è aggiornata. Fai clic qui per vedere l'ultima versione in inglese.

Rilevamento dell’oggetto

Eseguire la classificazione, il rilevamento dell'oggetto, il Transfer learning utilizzando le reti neurali convoluzionali (CNN o ConvNet), creare rilevatori personalizzati

Il rilevamento dell'oggetto è una tecnica di visione artificiale che consente di localizzare istanze di oggetti in immagini o video. Gli algoritmi di rilevamento dell'oggetto sfruttano solitamente il Machine Learning o il Deep Learning per produrre risultati significativi. Quando si guardano immagini o video, gli esseri umani possono riconoscere e localizzare gli oggetti di interesse in pochi istanti. L'obiettivo del rilevamento dell'oggetto è replicare questa intelligenza utilizzando un computer. L'approccio migliore per il rilevamento dell'oggetto dipende dall'applicazione e dal problema che si sta cercando di risolvere.

Le tecniche di Deep Learning richiedono un gran numero di immagini di addestramento etichettate; pertanto, si consiglia l'utilizzo di una GPU per ridurre il tempo necessario all'addestramento di un modello. Gli approcci al rilevamento dell'oggetto basati su Deep Learning utilizzano reti neurali convoluzionali (CNN o ConvNets), come R-CNN e YOLO, oppure il rilevamento a singolo scatto (SSD). È possibile addestrare un rilevatore di oggetti personalizzato o utilizzare un rilevatore di oggetti preaddestrato sfruttando il Transfer learning, un approccio che consente di iniziare con una rete preaddestrata e quindi sincronizzarla per l'applicazione. Le reti neurali convoluzionali richiedono Deep Learning Toolbox™. L'addestramento e la previsione sono supportati da una GPU con capacità CUDA®. L'utilizzo di una GPU è consigliato e richiede Parallel Computing Toolbox™. Per ulteriori informazioni, vedere Preferenze Computer Vision Toolbox e Parallel Computing Support in MathWorks Products (Parallel Computing Toolbox).

Le tecniche di Machine Learning per il rilevamento dell'oggetto comprendono le feature del canale aggregato (ACF), la classificazione con macchine a vettori di supporto (SVM) che utilizzano le feature degli istogrammi del gradiente orientato (HOG) e l'algoritmo di Viola-Jones per il rilevamento del volto umano o della parte superiore del corpo. È possibile scegliere se iniziare con un rilevatore dell'oggetto preaddestrato o se creare un rilevatore dell'oggetto personalizzato per l'applicazione.

Labeled boats, neural network, and person detector

App

Image LabelerLabel images for computer vision applications
Video LabelerLabel video for computer vision applications

Funzioni

espandi tutto

Rilevatori di Deep Learning

rcnnObjectDetector(Not recommended) Detect objects using R-CNN deep learning detector
fastRCNNObjectDetector(Not recommended) Detect objects using Fast R-CNN deep learning detector
fasterRCNNObjectDetector(Not recommended) Detect objects using Faster R-CNN deep learning detector
ssdObjectDetectorDetect objects using SSD deep learning detector (Da R2020a)
yolov2ObjectDetectorDetect objects using YOLO v2 object detector
yolov3ObjectDetectorDetect objects using YOLO v3 object detector (Da R2021a)
yolov4ObjectDetectorDetect objects using YOLO v4 object detector (Da R2022a)

Rilevatori basati sulle feature

readAprilTagDetect and estimate pose for AprilTag in image (Da R2020b)
readArucoMarkerDetect and estimate pose for ArUco marker in image (Da R2024a)
generateArucoMarkerGenerate ArUco marker images (Da R2024a)
readBarcodeDetect and decode 1-D or 2-D barcode in image (Da 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(Removed) Detect upright people using HOG features
vision.BlobAnalysisProperties of connected regions

Rilevamento di oggetti tramite feature puntuali

detectBRISKFeaturesDetect BRISK features
detectFASTFeaturesDetect corners using FAST algorithm
detectHarrisFeaturesDetect corners using Harris–Stephens algorithm
detectKAZEFeaturesDetect KAZE features
detectMinEigenFeaturesDetect corners using minimum eigenvalue algorithm
detectMSERFeaturesDetect MSER features
detectORBFeaturesDetect ORB keypoints
detectSIFTFeaturesDetect scale invariant feature transform (SIFT) features (Da R2021b)
detectSURFFeaturesDetect SURF features
extractFeaturesExtract interest point descriptors
matchFeaturesFind matching features

Selezione degli oggetti rilevati

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

Caricamento dei dati di addestramento

boxLabelDatastoreDatastore for bounding box label data
groundTruthGround truth label data
imageDatastoreDatastore for image data
objectDetectorTrainingDataCreate training data for an object detector
combineCombine data from multiple datastores

Addestramento dei rilevatori di oggetti basati su feature

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

Addestramento dei rilevatori di oggetti basati su Deep Learning

trainRCNNObjectDetector(Not recommended) Train R-CNN deep learning object detector
trainFastRCNNObjectDetector(Not recommended) Train Fast R-CNN deep learning object detector
trainFasterRCNNObjectDetector(Not recommended) Train Faster R-CNN deep learning object detector
trainSSDObjectDetectorTrain SSD deep learning object detector (Da R2020a)
trainYOLOv2ObjectDetectorTrain YOLO v2 object detector
trainYOLOv3ObjectDetectorTrain YOLO v3 object detector (Da R2024a)
trainYOLOv4ObjectDetectorTrain YOLO v4 object detector (Da R2022a)

Aumento e pre-elaborazione dei dati di addestramento per il Deep Learning

balanceBoxLabelsBalance bounding box labels for object detection (Da R2020a)
bboxcropCrop bounding boxes
bboxeraseRemove bounding boxes (Da R2021a)
bboxresizeResize bounding boxes
bboxwarpApply geometric transformation to bounding boxes
bbox2pointsConvert rectangle to corner points list
imwarpApply geometric transformation to image
imcropCrop image
imresizeResize image
randomAffine2dCreate randomized 2-D affine transformation
centerCropWindow2dCreate rectangular center cropping window
randomWindow2dRandomly select rectangular region in image (Da R2021a)
integralImageCalculate 2-D integral image

R-CNN (regioni con reti neurali convoluzionali)

rcnnBoxRegressionLayer(Not recommended) Box regression layer for Fast and Faster R-CNN
fasterRCNNLayers(Not recommended) Create a faster R-CNN object detection network
rpnSoftmaxLayer(Not recommended) Softmax layer for region proposal network (RPN)
rpnClassificationLayer(Not recommended) Classification layer for region proposal networks (RPNs)
regionProposalLayer(Not recommended) Region proposal layer for Faster R-CNN
roiAlignLayerNon-quantized ROI pooling layer for Mask-CNN (Da R2020b)
roiInputLayer(Not recommended) ROI 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 (Da R2021b)

YOLO v2 (You Only Look Once, versione 2)

yolov2Layers(To be removed) Create YOLO v2 object detection network
yolov2TransformLayerCreate transform layer for YOLO v2 object detection network
yolov2OutputLayer(To be removed) Create output layer for YOLO v2 object detection network
spaceToDepthLayerSpace to depth layer (Da R2020b)

Perdita focale

focalCrossEntropyCompute focal cross-entropy loss (Da R2020b)

SSD (Rilevatore a singolo scatto)

ssdMergeLayerCreate SSD merge layer for object detection (Da R2020a)

Scatole di ancoraggio

estimateAnchorBoxesEstimate anchor boxes for deep learning object detectors
cuboid2imgProject cuboids from 3-D world coordinates to 2-D image coordinates (Da R2022b)
insertObjectAnnotationAnnotate truecolor or grayscale image or video
insertObjectMask Insert masks in image or video stream (Da R2020b)
insertShapeInsert shapes in image or video
showShapeDisplay shapes on image, video, or point cloud (Da R2020b)
evaluateObjectDetectionEvaluate object detection data set against ground truth (Da R2023b)
objectDetectionMetricsObject detection quality metrics (Da R2023b)
mAPObjectDetectionMetricMean average precision (mAP) metric for object detection (Da R2024a)
bboxOverlapRatioCompute bounding box overlap ratio
bboxPrecisionRecallCompute bounding box precision and recall against ground truth

Blocchi

Deep Learning Object DetectorDetect objects using trained deep learning object detector (Da R2021b)

Argomenti

Come iniziare

Dati di addestramento per il rilevamento dell'oggetto e la segmentazione dell'istanza

Come iniziare a utilizzare il Deep Learning

  • Deep Learning in MATLAB (Deep Learning Toolbox)
    Scoprire le capacità del Deep Learning in MATLAB® utilizzando le reti neurali convoluzionali per la classificazione e la regressione, incluse le reti preaddestrate e il transfer learning, nonché l’addestramento su GPU, CPU, cluster e cloud.
  • Reti neurali profonde preaddestrate (Deep Learning Toolbox)
    Apprendere come scaricare e utilizzare le reti neurali convoluzionali preaddestrate per la classificazione, il transfer learning e l’estrazione di feature.

Esempi in primo piano