Object Detection
Object detection is a computer vision technique for locating instances of objects in images or videos. Object detection algorithms typically leverage machine learning or deep learning to produce meaningful results. When looking at images or video, humans can recognize and locate objects of interest in a matter of moments. The goal of object detection is to replicate this intelligence using a computer. The best approach for object detection depends on your application and the problem you are trying to solve.
Deep learning techniques require a large number of labeled training images, so the use of a GPU is recommended to decrease the time needed to train a model. Deep learning-based approaches to object detection use convolutional neural networks (CNNs or ConvNets), such as R-CNN and YOLO, or use single-shot detection (SSD). You can train a custom object detector, or use a pretrained object detector by leveraging transfer learning, an approach that enables you to start with a pretrained network and then fine-tune it for your application. Convolutional neural networks require Deep Learning Toolbox™. Training and prediction are supported on a CUDA®-capable GPU. Use of a GPU is recommended and requires Parallel Computing Toolbox™. For more information, see Computer Vision Toolbox Preferences and Parallel Computing Support in MathWorks Products (Parallel Computing Toolbox).
Machine learning techniques for object detection include aggregate channel features (ACF), support vector machines (SVM) classification using histograms of oriented gradient (HOG) features, and the Viola-Jones algorithm for human face or upper-body detection. You can choose to start with a pretrained object detector or create a custom object detector to suit your application.
Apps
Image Labeler | Label images for computer vision applications |
Video Labeler | Label video for computer vision applications |
Functions
Blocks
Deep Learning Object Detector | Detect objects using trained deep learning object detector |
Topics
Get Started
- Point Feature Types
Choose functions that return and accept points objects for several types of features. - Coordinate Systems
Specify pixel Indices, spatial coordinates, and 3-D coordinate systems - Local Feature Detection and Extraction
Learn the benefits and applications of local feature detection and extraction. - Choose Function to Visualize Detected Objects
Compare visualization functions. - Getting Started with Object Detection Using Deep Learning
Object detection using deep learning neural networks. - Getting Started with OCR
Detect and recognize text in multiple languages, train OCR models to recognize custom text. - Get Started with Cascade Object Detector
Train a custom classifier - Image Classification with Bag of Visual Words
Use the Computer Vision Toolbox™ functions for image category classification by creating a bag of visual words.
Training Data for Object Detection and Semantic Segmentation
- Get Started with the Image Labeler
Interactively label rectangular ROIs for object detection, pixels for semantic segmentation, polygons for instance segmentation, and scenes for image classification. - Get Started with the Video Labeler
Interactively label rectangular ROIs for object detection, pixels for semantic segmentation, polygons for instance segmentation, and scenes for image classification in a video or image sequence. - Datastores for Deep Learning (Deep Learning Toolbox)
Learn how to use datastores in deep learning applications. - Getting Started with Mask R-CNN for Instance Segmentation
Perform multiclass instance segmentation using Mask R-CNN and deep learning. - Training Data for Object Detection and Semantic Segmentation
Create training data for object detection or semantic segmentation using the Image Labeler or Video Labeler.
Get Started With Deep Learning
- Deep Network Designer (Deep Learning Toolbox)
- List of Deep Learning Layers (Deep Learning Toolbox)
Discover all the deep learning layers in MATLAB®. - Deep Learning in MATLAB (Deep Learning Toolbox)
Discover deep learning capabilities in MATLAB using convolutional neural networks for classification and regression, including pretrained networks and transfer learning, and training on GPUs, CPUs, clusters, and clouds. - Pretrained Deep Neural Networks (Deep Learning Toolbox)
Learn how to download and use pretrained convolutional neural networks for classification, transfer learning and feature extraction.