Isolating objects in a scene
In this chapter, we are going to introduce the first step in an AOI algorithm and try to isolate different parts or objects in a scene. We are going to take the example of the object detection and classification of three object types (screw, packing ring, and nut) and develop them in this chapter and Chapter 6, Learning Object Classification.
Imagine that we are in a company that produces these three objects. All of them are in the same carrier tape. Our objective is to detect each object in the carrier tape and classify each one to allow a robot to put each object on the correct shelf:

In this chapter, we are going to learn how to isolate each object and detect its position in the image in pixels. In the next chapter, we are going to learn how to classify each isolated object to recognize if it is a nut, screw, or a packing ring.
In the following screenshot, we show our desired result, where there are a few objects in the left image. In the right image, we have drawn each one in a different color, showing different features such as area, height, width, and contour size:

To reach this result, we are going to follow different steps that allow us to understand and organize our algorithms better. We can see these steps in the following diagram:

Our application will be divided into two chapters. In this chapter, we are going to develop and understand the preprocessing and segmentation steps. In Chapter 6, Learning Object Classification, we are going to extract the characteristics of each segmented object and train our machine learning system/algorithm on how to recognize each object class.
Our preprocessing steps will be divided into three more subsets:
- Noise Removal
- Light Removal
- Binarization
In the segmentation step, we are going to use two different algorithms:
- Contour detection
- Connected components extraction (labeling)
We can see these steps and the application flow in the following diagram:

Now, it's time to start the preprocessing step so that we can get the best Binarization image by removing the noise and lighting effects. This minimizes any possible detection errors.
- MongoDB管理與開發(fā)精要
- Learning Spring Boot
- 圖解機(jī)器學(xué)習(xí)算法
- 文本挖掘:基于R語言的整潔工具
- 工業(yè)大數(shù)據(jù)分析算法實戰(zhàn)
- 軟件成本度量國家標(biāo)準(zhǔn)實施指南:理論、方法與實踐
- 數(shù)據(jù)革命:大數(shù)據(jù)價值實現(xiàn)方法、技術(shù)與案例
- 大話Oracle Grid:云時代的RAC
- 從0到1:JavaScript 快速上手
- 白話大數(shù)據(jù)與機(jī)器學(xué)習(xí)
- Oracle RAC日記
- Mastering LOB Development for Silverlight 5:A Case Study in Action
- 聯(lián)動Oracle:設(shè)計思想、架構(gòu)實現(xiàn)與AWR報告
- SQL Server 2008寶典(第2版)
- 基于數(shù)據(jù)發(fā)布的隱私保護(hù)模型研究