Circle Object Recognition Based on Monocular Vision for Home Security Robot
Shih-An Li, Ching-Chang Wong*, Cheng-Yao Ho and Yi-Chun Lin
Department of Electrical Engineering, Tamkang University, Tamsui, Taiwan 251, R.O.C.
Abstract
In this paper, a circle object recognition method based on monocular vision for the home security robots is proposed. This vision system is able to process image and recognize a colored ball rapidly. The proposed method consists of two sub-modules, which are the object segmentation module and the circle detection module. In the object segmentation, the color feature is applied to find out the region of the object. After the region of the object is determined, a fast randomized circle detection (RCD) method is applied to check that there are enough radius points which all points in the same circle of region. Because of the double detection process, this system can improve the precision for detecting a colored ball. The proposed method is tested on a home security robot and can find out a red ball. The experimental results illustrate the effectiveness of the proposed method.
Key Words: Object Recognition, Computer Vision, Circle Detection, Image Processing
1. Introduction
As the average age rising, more and more families need to face the issues of taking care of the elders and the children. It is becoming a very important issue. Besides, the house service is also a huge request when peoples are busy for working. Some of the researches about the home service in the industry area or academic area are presented recently [1].
This paper presents a circle object recognition me- thod for a monocular vision system of home security ro- bot. The robot with the proposed method is able to search and pick up the colored ball autonomously. The platform of home security robot is shown in Figure 1. The robot can pick up the toys or balls at home by using the propose method. A camera which installed in front of robot is used for capturing image. A roll style brush is used to pick up the colored ball.
Many researches have been proposed their image pattern recognition methods. Most of them emphasize
the accuracy of detecting and the speed of image pro- cessing [2-5]. Detecting circles from a digital image is very important in shape recognition [6]. Hough trans- form (HT) is the most well-known method for circle de- tection [7-10]. Using the conventional Hough transform (CHT) for detecting circles, it requires a large amount of computing time to vote on such a 3-D array [11]. Ran- domized Hough transform (RHT) is presented which can significantly reduce the storage requirement and the
*Corresponding author. E-mail: [email protected] Figure 1. An autonomous home security robot.
computing time, and compared with the CHT [12,13].
Randomized Circle Detection (RCD) [14,15] is a non- HT-based randomized algorithm for detecting circles. It is based on randomly picking four edge pixels in the image and uses a distance criterion to find out a possible circle.
However, it is important to the home security robot has a real-time image processing system. The proposed method of this paper without enormous algorithm but still has capability of image processing in real-time and recognizes a colored ball accurately.
This paper is organized as follows: section 2 intro- duces the vision system architecture of robot, then the image process core is describing in section 3. The experi- ment results will be present in section 4, and section 5 is the conclusions.
2. Vision System Architecture
The vision system architecture of the home security robot in this paper is shown in Figure 2. This vision sys- tem can be separated into two parts which the user inter- face part and the image processing part. The common database is a data center of the communication. The im- age capture module will store the image pixels to the common database. Both of color model interface and setup parameters interface will store the users input data which the ranges of color model and parameters to the common database. These parameters data can be ad- justed according to the environment situation. The image processing core can use these parameters to detect the object. Once the image processing core module obtains and stores the object information, the preview image in-
terface module will display the results on screen.
There are two main modules in image processing core; one is the object segmentation module and the other is the circle detection module. The function of ob- ject segmentation module is used to determine the range of object in an image. The circle detection module is used to detect the circle object according to the radius features of the object, which is determined by the object segmentation module. The details of the image process- ing will be described in section 3.
3. Image Processing Core
The flowchart of image processing is shown in Fig- ure 3. The pixel data of image is stored to the common database by the image capture module. The color model of the object in the color space is accomplished by the step of build color model. The step of build color model will be done before starting to analyze the image. The in- put pixels are compared with the object color in the step of thresholding. The pixel colors which similar to the ob- ject colors will be selected and obtained the object region by object segmentation step. Once no satisfied color ob- ject is founded, the process will start to capture next im- age frame. The method of object segmentation will be described in section 3.1. Once the system determines the object regions by the above steps, the edges of the object in the regions will be used to calculate the radius features by randomized circle detection (RCD) method [14]. This method of obtain edge points and the randomized circle
Figure 2. The visual system architecture of the home security
robot. Figure 3. The flow chart of image processing.
detection will be described in section 3.2. If the RCD can’t find any object, then the system starts to capture the next image frame.
3.1 Image Segmentation Module
The thresholding processing is used to create a bi- nary image. The pixel which similar to the object color will be marked as 1; others will be marked as 0. The pix- els with or without the similar color can be separated in this step. After the thresholding processing, noise reduc- ing processing is necessary. An opening algorithm [16]
is chosen here. The opening algorithm includes the ero- sion and the dilation processing. Using the opening algo- rithm can reduce some noises in the image.
A fast edge detection method can speed up the image processing. After the image completing the opening al- gorithm, each pixel has been separated to “1” or “0”
value. The proposed method for the edge detection is checking that either or not exists a different value in the neighbors of processing pixel. If the pixels have a differ- ent status from its neighbors, then the edge is happening near this pixel.
The Figure 4 shows an example of the processing result. In this figure, there are two groups of the object pixel and each grid is meaning a pixel. The grid has “1”
value which is mean the pixel has the object color, and the others are not. According to the edge detection me- thod, the yellow grid can be determined by comparing the pixel with its neighbor. It means the yellow grid is the edge point. This example shows that this method is able to find out the edges of the pixel group.
In following, we will describe an object segmenta-
tion technology [17-19]. This method can obtain the co- ordinates of the color regions and detect a circle in the most probable color regions.
There are two steps in the object segmentation tech- nology. The first step is scanning the pixels of the image from left side to right side, and top side to bottom side, until the edge points have been found. These edge points are considered as a standard point. The second step is searching the near eight pixels based on the standard point. If any edge points can be found in this step, then it will be recorded and added into a queue. In the next ac- tion, the standard points will compare with the coordi- nates of the boundary and update the coordinates of boundary. Once the searching standard points of neigh- bors are completed, an edge point from the queue will be chosen as a new standard point. To repeat above steps and update the coordinates of the boundary until there are no standard points in the queue, and the coordinates of the boundary is indicating the ranges of the object.
And next, the step will return to the first step and search the next edge point until the whole image frame is searched completely. Figure 5 shows a sample of object segmentation. The red grids mean a coordinates which is the upper left and the lower right of a color region. The two coordinates can represent the ranges of the object.
3.2 Circle Detection Module
After obtaining the boundaries of color region from the module of object segmentation, it will conjecture that a colored ball whether or not exists in the colored re- gions. Therefore, this paper uses the randomized circle
Figure 4. A sample after the process of obtain the edge. Figure 5. A sample of object segmentation.
detection (RCD) method [14,20] to detect a circular ob- ject in the color regions.
The first step is separating the object colors from the background colors. Using the operation of RGB differ- ence ratio is easier to separate the more vivid object from the duller background, and it highlights the edges of ob- ject. The equation can be expressed as follows:
(1)
All target pixels will be computed by equation (1).
Figure 6 shows an example of some pixel values by us- ing the operation of RGB different ratio. The target pixels can divided from others pixels easier because the difference values. To simplify the program design, the value of each pixel should be normalized 0 to 255. The image will be expressed to a normalization image by us- ing the method. And then, a sobel operator will be used to obtain the edge points set in this normalization image [21-23]. We assume the point set is V = {(x, y)}. In a Car- tesian coordinate system, the Pythagorean Theorem [24]
is used to obtain the circle center coordinates (a, b) and radius r which the sets of all points (x, y). And it satisfied the follow equation:
(2)
The equation can be rewritten as follows:
(3)
Let vi= (xi, yi), i = 1, 2, 3 are three points which is randomized selection in V. Assume v1, v2, v3are not col- linear, and assure of the three points must greater than a distance of pixels. Substituting the three points into (3) will obtain (4):
(4)
where r123is radius, (a123, b123) is the circle center coor-
dinate. Equation (4) can be rewritten a linear system and use Gaussian elimination to obtain equation such as (5):
(5)
It has known that v1, v2, v3are not collinear from as- sumption, by using Cramer’s rule [25] and (6) will get the solution of circle center:
(6)
By using the solution of circle center and (2) will get the circle radius, as describes in (7):
(7)
Determining the distance from circle center to other edge points, it will be considered that the circle get a vote if the distance less than the pre-setting threshold. It will be considered a real circle if the numbers of vote large than the pre-setting threshold, else the v1, v2, v3will be deleted from the edge set, and repeat above steps. Fi- nally, the circle center and circle radius are stored to a
Figure 6. Example of RGB difference ratio.
database. Otherwise, if the remaining edge points less than a setting threshold, the circle detection will be ter- minated. It means there is no circular object in the color region.
The RCD is faster than the other HT-based methods [11]. Unlike the HT-based methods, the RCD does not need to vote in the parameter space. Hence, it indeed does not need any extra storage for representing the ac- cumulator which is needed in the previous HT-based methods. The RCD is also faster, and demands less me- mory space than the RHT method [12] when the noise level is between the light level and the modest level. For a heavy noise level, the RHT could be faster than the RCD. However, the RHT also needs a huge amount of memory requirement.
4. Experimental Results
In this Section, the experimental results about the accuracy of the detection are reported. The proposed method of circle object recognition in this paper is effec- tive. There are three different kinds of experimental en- vironments are performed to illustrate the efficiency of the proposed methods: (1) Complex environment, (2) Different illuminant environment, and (3) environment with similar objects. The purpose of the experiment was to find out the red ball in these environments. The exper- iment results were shown as follow, and performance data is presented in the table.
4.1 Complex Environments
The first experimental results of object recognition method in complex environments are shown in Figure 7.
In these images, the red regions will be segmented. The object with the red color is drawn with a red rectangular.
The RCD method can find out the circle object correctly.
The object with circle feature is determined by the pro- posed method. The green circle shows the results. The Table 1 presents the executions time which the proposed method.
4.2 Different Illuminant Environments
The second experiment presents the recognition re- sults in different illuminant environments. In the Figure 8, the red object is drawn with the red rectangular. The
green circle shows the recognition results by the RCD method. The results shows that the recognize objects me- thod only use color is affected by light sources, but the proposed method is solved the problem of inexact identi- fication by circle detection. The Table 2 presents the exe- cutions time and success rate of the proposed method, the successful rate is performed on a compound data set of 2000 images.
4.3 Environments with Similar Objects
The third experiment is the comparison of the detec- tion accuracy between the propose method with the RCD and the method only depend on color features. In pre- vious work of this paper, the adopted method is only base on absolute color features for object recognition.
Figure 7. The experiment results at complex environment.
There are some interference with similar color near the red ball. In the Figure 9, the red object is drawn with the red rectangular. The green circle shows the recognition results. The result of propose method is shown in Figure 9(a), and the object recognition method only depend on color and it is shown in the Figure 9(b) and (c). The exe- cutions time of the object recognition method only de- pend on color is much less but the object recognition result is more unstable. In the Table 3, the executions time and successful rate of this method is presented, the successful rate also is performed on a compound data set of 2000 images. It was shown that this method has better recognized ability in real time processing. Therefore, it can prove the proposed circle object recognition method in this paper is effective.
5. Conclusions
In this paper, a circle object recognition method
based on monocular vision for the home security robots is proposed. This proposed method is able to find a co- lored ball rapidly. Two sub-modules are implemented in this system. The proposed method checks the objects with color and radius feature in a circle-all the radius are the same. The experimental results illustrate the effec- tiveness of the proposed method. It has capability of im- age processing in real-time and recognizes a colored ball accurately but without enormous algorithm.
Table 1. The executions time at complex environment Executions time (times/sec) Experimental results
numbers Times of
capture frame
Times of execute recognition
(a) 30 14-18
(b) 30 20-22
(c) 30 15-17
(d) 30 12-14
Figure 8. Experiment results at different illuminant environ- ments.
Table 2. Executions time at different illuminant environments
Executions time (times/sec) Experimental
results numbers Times of capture frame
Times of execute recognition
Success rate (%)
(a) 30 19-20 99.95%
(b) 30 12-14 92.95%
(c) 30 12-14 70.6%0
Figure 9. The experiment results at environment with similar objects.
Table 3. The executions time at environment with similar objects
Executions time (times/sec) Experimental
results numbers Times of capture frame
Times of execute recognition
Success rate
(a) 30 16-18 94.85%
(b) and (c) 30 25-27 20.55%
Acknowledgements
This research was supported in part by the National Science Council (NSC) of the Republic of China under contract NSC 100-2221-E-032-059.
References
[1] Intelligent Robotics Industry: Analysis & Investment Opportunities, Department of Investment Services, Ministry of Economic Affairs, Taipei: Ministry of Economic Affairs (2008).
[2] Jia, L. Q., Liu, H. M., Wang, Z. H. and Chen, H., “An Effective Non-HT Circle Detection for Centers and Radii,” Proc. of the 2011 International Conference on Machine Learning and Cybernetics (ICMLC), Guilin, China, Vol. 10-13, pp. 814-818 (2011). doi: 10.1109/
ICMLC.2011.6016769
[3] Ceccarelli, M., Petrosino, A. and Laccetti, G., “Circle Detection Based on Orientation Matching,” Proc. of 11th International Conference on Image Analysis and Processing, Palermo, Italy, Vol. 26-28, pp. 119-124 (2001). doi: 10.1109/ICIAP.2001.956995
[4] Rad, A. A., Faez, K. and Qaragozlou, N., “Fast Circle Detection Using Gradient Pair Vectors,” DICTA, pp.
879-888 (2003).
[5] Ho, C. T. and Chen L. H. “A Fast Ellipse/Circle De- tector Using Geometric Symmetry,” Pattern Recogni- tion, Vol. 28, Issue 1, pp. 117-124 (1995). doi: 10.
1016/0031-3203(94)00077-Y
[6] Davies, E. R., Machine Vision: Theory, Algorithms, Practicalities, Academic Press, London (1990). doi:
10.1016/1049-9660(91)90080-9
[7] Ballard, D. H. “Generalizing the Hough Transform to Detect Arbitrary Shapes,” Pattern Recognition, Vol.
13, No. 2, pp. 111-122 (1981). doi: 10.1016/0031- 3203(81)90009-1
[8] Brown, C. M. “Inherent Bias and Noise in the Hough Transform,” IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 5, pp. 493-505 (1983).
doi: 10.1109/TPAMI.1983.4767428
[9] Illingworth, J. and Kittler, J., “Survey: A Survey of the Hough Transform,” Computer Vision, Graphics, Im- age Process, Vol. 44, Issue 1, pp. 87-116 (1988). doi:
10.1016/S0734-189X(88)80033-1
[10] Leavers, V. F., “Survey: Which Hough Transform,”
CVGIP: Image Understanding, Vol. 58, pp. 250-264 (1993). doi: 10.1006/cviu.1993.1043
[11] Duda, R. O. and Hart, P. E., “Use of the Hough Trans- formation to Detect Lines and Curves in Pictures,”
Communications of the ACM, Vol. 15, Issue 1, pp.
11-15 (1972). doi: 10.1145/361237.361242
[12] Xu, L., Oja, E. and Kultanan, P., “A New Curve Detec- tion Method: Randomized Hough Transform (RHT),”
Pattern Recognition Letters, Vol. 11, Issue 5, pp.
331-338 (1990). doi: 10.1016/0167-8655(90)90042- Z
[13] Xu, L. and Oja, E., “Randomized Hough Transform (RHT): Basic Mechanisms, Algorithms, and Compu- tational Complexities,” CVGIP: Image Understand- ing, Vol. 57, No. 2, pp. 131-154 (1993). doi: 10.1006/
ciun.1993.1009
[14] Chen, T. C. and Chung, K. L., “An Efficient Random- ized Algorithm for Detecting Circles,” Computer Vi- sion and Image Understanding, Vol. 83, No. 2, pp.
172-191 (2001). doi: 10.1006/cviu.2001.0923 [15] D’Orazio, T., Guaragnella, C., Leo, M. and Distante,
A., “A New Algorithm for Ball Recognition Using Cir- cle Hough Transform and Neural Classifier,” Pattern Recognition, Vol. 37, No. 3, pp. 393-408 (2004). doi:
10.1016/S0031-3203(03)00228-0
[16] Gonzalez, R. C. and Woods, R. E., Digital Image Pro- cessing 3/e, 3rd ed., Prentice Hall, United States (2008).
[17] Yu, C. J., Hardware/Software Co-Design of Real-Time Human Face Detection, Master Thesis, Department of Electrical Engineering, Tamkang University, Taiwan (2010).
[18] Chiu, C. C., Ku, M. Y. and Liang, L. W., “A Robust Object Segmentation System Using a Probability- Based Background Extraction Algorithm,” IEEE Transactions on Circuits and Systems for Video Tech- nology, Vol. 20, No. 4, pp. 518-528 (2010). doi: 10.
1109/TCSVT.2009.2035843
[19] Xu, D., Liu, J., Li, X., Liu, Z. and Tang, X., “Insignifi- cant Shadow Detection for Video Segmentation,”
IEEE Transactions on Circuits and Systems for Video Technology, Vol. 15, No. 8, pp. 1058-1064 (2005).
doi: 10.1109/TCSVT.2005.852402
[20] Chung, K. L., Image Processing and Computer Vision,
5th ed., Tunghua, Taiwan (2008).
[21] Lindeberg, T., “Edge Detection and Ridge Detection with Automatic Scale Selection,” International Jour- nal of Computer Vision, Vol. 30, No. 2, pp. 117-156 (1998). doi: 10.1023/A:1008097225773
[22] Canny, J., “A Computational Approach to Edge De- tection,” IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 6, pp. 679-698 (1986). doi:
10.1109/TPAMI.1986.4767851
[23] Sobel operator, Information on http://en.wikipedia.
org/wiki/Sobel_operator
[24] Pythagorean theorem, Information on http://en.wiki- pedia.org/wiki/Pythagorean_theorem
[25] Cramer’s rule, Information on http://en.wikipedia.org/
wiki/Cramer’s_rule
Manuscript Received: Feb. 20, 2013 Accepted: Jun. 28, 2013