trainYOLOv3ObjectDetector
Syntax
Description
returns an object detector trained using the you only look once version 3 (YOLO v3) network
specified by detector
= trainYOLOv3ObjectDetector(trainingData
,detector
,options
)detector
. The input detector
can be
an untrained or pretrained YOLO v3 object detector. The options
input
specifies training parameters for the detection network.
You can also use this syntax to fine-tune a pretrained YOLO v3 object detector.
resumes training from the saved detector checkpoint.detector
= trainYOLOv3ObjectDetector(trainingData
,checkpoint
,options
)
You can use this syntax to:
Add more training data and continue training.
Improve training accuracy by increasing the maximum number of iterations.
[___] = trainYOLOv3ObjectDetector(___,
specifies options using one or more name-value arguments in addition to any combination of
arguments from previous syntaxes. For example, Name=Value
)ExperimentMonitor=[]
specifies not to track metrics with Experiment Manager.
Note
This functionality requires Deep Learning Toolbox™. To use the pretrained YOLO v3 deep learning networks trained on COCO dataset, you must install the Computer Vision Toolbox™ Model for YOLO v3 Object Detection from Add-On Explorer. For more information about installing add-ons, see Get and Manage Add-Ons.
Examples
Input Arguments
Name-Value Arguments
Output Arguments
Tips
To generate the ground truth, use the Image Labeler or Video Labeler app. To create a table of training data from the generated ground truth, use the
objectDetectorTrainingData
function.Use these processes to improve prediction accuracy:
Increase the number of images you use to train the network. You can expand the training data set through data augmentation. For information on how to apply data augmentation for preprocessing, see Preprocess Images for Deep Learning (Deep Learning Toolbox).
Choose anchor boxes appropriate to the training dataset. You can use the
estimateAnchorBoxes
function to compute anchor boxes directly from the training data.
When you train a rotated rectangle bounding box detector, use a learning rate approximately one order of magnitude below that of its axis-aligned counterpart.
When you perform transfer learning using a YOLO v3 object detector, consider freezing the subnetworks using the
FreezeSubNetwork
name-value argument to increase training speed and reduce GPU memory consumption.
Extended Capabilities
Version History
Introduced in R2024aSee Also
Apps
Functions
trainingOptions
(Deep Learning Toolbox) |objectDetectorTrainingData
|trainYOLOv2ObjectDetector
|trainYOLOv4ObjectDetector