Try Deep Learning in 10 Lines of MATLAB Code
This example shows how to use deep learning to identify objects on a live webcam using only 10 lines of MATLAB® code. Try the example to see how simple it is to get started with deep learning in MATLAB.
Run these commands to get the downloads if needed, connect to the webcam, and get a pretrained neural network.
camera = webcam; % Connect to the camera net = squeezenet; % Load the neural network
If you need to install the
webcamadd-on, a message from the function appears with a link to help you download the free add-on using Add-On Explorer. Alternatively, see MATLAB Support Package for USB Webcams.
SqueezeNet is a pretrained convolutional neural network (CNN) that has been trained on more than a million images and can classify images into 1000 object categories (for example, keyboard, mouse, coffee mug, pencil, and many animals).
Run the following code to show and classify live images. Point the webcam at an object and the neural network reports what class of object it thinks the webcam is showing. It will keep classifying images until you press Ctrl+C. The code resizes the image for the network using
while true im = snapshot(camera); % Take a picture image(im); % Show the picture im = imresize(im,[227 227]); % Resize the picture for squeezenet label = classify(net,im); % Classify the picture title(char(label)); % Show the class label drawnow end
In this example, the network correctly classifies a coffee mug. Experiment with objects in your surroundings to see how accurate the network is.
To watch a video of this example, see Deep Learning in 11 Lines of MATLAB Code.
To learn how to extend this example and show the probability scores of classes, see Classify Webcam Images Using Deep Learning.
For next steps in deep learning, you can use the pretrained network for other tasks. Solve new classification problems on your image data with transfer learning or feature extraction. For examples, see Start Deep Learning Faster Using Transfer Learning and Train Classifiers Using Features Extracted from Pretrained Networks. To try other pretrained networks, see Pretrained Deep Neural Networks.