 Hello everyone, welcome to the PictoBlocks machine learning environment tutorial series. In this tutorial we are going to learn about object detection. Object detection is one of the machine learning model types which can be trained in PictoBlocks. Object detection can be used to locate and recognize objects in a given range. For example, an object detection model trained to recognize alarm clocks will locate alarm clocks in an image using bounding boxes. In this example, we are going to use object detection to detect bottles and eyeglasses in a given image. However, you can pick any two objects of your trace. The two classes we will be working with are bottle and glasses. Let's get started. Open PictoBlocks and select the Python coding environment. Go to the machine learning environment by selecting the open ML environment option under the files tab. As we are training our models in Python, it is important that we have the required dependencies. In order to download these dependencies, simply click on the gear icon on the top right of the screen and select the download dependencies option. This will download and update the dependencies required to train the model. Click on the create new project option to initialize your project. Type an appropriate name of the project and select object detection as the model type. Click on the create project button and you'll see the object detection window. You'll find yourself under the import tab with three options to import images. By using the webcam, by selecting the images from the computer's hard drive and by downloading the images from a repository. For this example, we will be using a webcam to capture images. You need to capture more than 25 images for object detection to work. You will be able to see all your captured images here. If you do not like an image, hover with the image and click on the delete button to delete the image. Labeling the data is crucial on object detection. Go to the B box tab and you'll see the create bounding box window. Click on the create box button and label the object. As you label more images, class info will be updated accordingly. To label an image belonging to a class already created, click the edit button and simply click on the corresponding class. Clicking on the next button will automatically save your bounding box and label. However, make sure to press the save box button after you label the last image. Once the images are labeled, go to the image tab to review the images. Once the images are reviewed, go to the train tab. This is where we will train the model. Click on the train new model button. Make sure all the classes are selected and click on the generate data set button. Once the data set is generated, click on next. In object detection, we can work with three hyperparameters. Bath size, number of iterations, and number of layers. Hover over the hyperparameters to view their description. For this example, we'll be training the model for 5000 iterations with a bath size of 4. We'll set the number of layers to 4. Click on create and click on start training. Object detection training is a time taking task, so please be patient. After the model is trained, you can view the graphs by clicking on the corresponding buttons. Go to the evaluate tab to view a comprehensive overview of your model performance. You can also view false positives and false negatives for your classes. False positives are observations from a different class that the model detects to be in the current class. False negatives are observations from the current class that the model detects to be in a different class. Now let's move to the test tab. You can test your model here either by uploading the images or by using the webcam. Use the webcam to test your model. You can alter the IOU and confidence threshold by adjusting the sliders on top to see the performance of the trained model. Click on the pick to blocks option under the export model column and pick to blocks will load your model into the python coding environment. Observe how we already have a boilerplate code ready. This code uses cv2 to capture images and displays the class of the objects in the frame. Let's run it and see the code in action. The code will open up an object detection window. You can see bounding boxes and the corresponding classes in this window. Even if you have multiple objects, the object detection model will recognize all of them. There you go. You just created your very own object detection project in python coding.