This application claims the priority of Korean Patent Application No. 2004-14595, filed on Mar. 4, 2004, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein by reference.
1. Field of the Invention
The present invention relates to technology for detecting people, and more particularly, to a method and apparatus for detecting people using a stereo camera.
2. Description of Related Art
Technology for detecting people in real time is needed in various fields such as security and marketing. Methods of detecting people within a specified range have been researched and developed. Infrared methods, laser methods, and line scan methods use a sensor. These methods have a problem in that people are not distinguished from other objects.
To solve the problem, methods using cameras have been proposed. Methods using a single camera installed on a ceiling have problems in that detection accuracy is low due to shadow and reflection caused by lighting and that a viewing angle is narrow. Methods using a stereo camera have been proposed to solve these problems. A method of counting a plurality of people in a linear queue is disclosed in U.S. Pat. No. 5,581,625, entitled “Stereo Vision System for Counting Items in a Queue.” However, in that method, people crowding at one time cannot be accurately counted. In addition, a camera used in the method needs to have a wide viewing angle due to an installation requirement that a ceiling usually has a height of about 3 m. However, when people are detected from image signals obtained by a camera having a wide viewing angle, detection accuracy is not satisfactory.
Meanwhile, methods of detecting people using a front or a side camera have been proposed. Methods of detecting people using a side camera are disclosed in U.S. Pat. Nos. 5,953,055 and 6,195,121. However, in these methods, occlusion in which a moving object behind another moving object is not detected. As a result, people moving and passing by a camera cannot be accurately detected.
An aspect of the present invention provides a method and apparatus for accurately detecting people using a stereo camera having a wide viewing angle.
According to an aspect of the present invention, there is provided a method of detecting people using a stereo camera. The method includes: calculating three-dimensional information regarding a moving object from a pair of image signals received from the stereo camera and creating a height map for a specified discrete volume of interest (VOI) using the three-dimensional information; detecting a people candidate region by finding connected components from the height map; and generating a histogram with respect to the people candidate region, detecting different height regions using the histogram, and detecting a head region from the different height regions.
The operation of calculating the three-dimensional information and creating the height map may include comparing the two image signals to measure a disparity between a right image and a left image using either of the right and left images as a reference, calculating the three-dimensional information by calculating a depth from the stereo camera using the disparity, converting the three-dimensional information into a two-dimensional coordinate system with respect to the specified discrete volume of interest (VOI), and creating the height map by calculating heights with respect to each pixel in the two-dimensional coordinate system using the three-dimensional information and defining a maximum height among the calculated heights as a height of the pixel. Height information in the height map may be displayed in a specified number of gray levels. The method may further include filtering the height map to remove objects other than the moving object before the calculation of the three-dimensional information. The filtering of the height map may include at least one filtering selected from among median filtering which removes an isolated point or impulsive noise from the height map, thresholding which removes a pixel having a height lower than a specified threshold from the height map, and morphological filtering which removes noise by performing combinations of multiple morphological operations. The operation of generating the histogram, detecting the different height regions, and detecting the head region may include Gaussian filtering the histogram. Alternatively, the operation of generating the histogram, detecting the different height regions, and detecting the head region may include searching for a local minimum point in the histogram and detecting the different height regions using the local minimum point as a boundary value, generating a tree structure with respect to the different height regions using an inclusion test, searching for terminal nodes in the tree structure, and detecting a region of a terminal node including a greater number of pixels than a reference value as the head region.
According to another embodiment of the present invention, there is provided a method of detecting people using a stereo camera, the method including: detecting a people candidate region from a pair of image signals received from the stereo camera; generating a histogram with respect to the people candidate region; searching for a local minimum point in the histogram and detecting different height regions using the local minimum point as a boundary value; and detecting a region having a maximum height among the different height regions as a head region.
According to another aspect of the present invention, there is provided an apparatus for detecting people, including: a stereo camera; a stereo matching unit calculating three-dimensional information regarding a moving object from a pair of image signals received from the stereo camera; a height map creator creating a height map for a specified discrete volume of interest (VOI) using the three-dimensional information; a candidate region detector detecting a people candidate region by finding connected components from the height map; and a head region detector generating a histogram with respect to the people candidate region, detecting different height regions using the histogram, and detecting a head region from the different height regions.
The apparatus may further include a filtering processor filtering the height map to remove objects other than the moving object.
According to another embodiment of the present invention, there is provided a method of detecting a person, including: receiving first and second images from a stereo camera; calculating a distance between the stereo camera and a photographed object a depth using stereo matching; creating a height map with respect to a volume of interest (VOI) using the calculated depth; filtering the height map; detecting a people candidate region of the filtered height map; detecting different height regions of the filtered height map using a histogram of the of the people candidate region; and detecting a head region using a tree-structure analysis.
According to other aspects of the present invention, there are provided computer-readable storage media encoded with processing instructions for causing a processor to perform the aforementioned methods.
Additional and/or other aspects and advantages of the present invention will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the invention.
These and/or other aspects and advantages of the present invention will become apparent and more readily appreciated from the following detailed description, taken in conjunction with the accompanying drawings of which
Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. The embodiments are described below in order to explain the present invention by referring to the figures.
Referring to
The stereo matching unit 110 performs warping, camera calibration, and rectification on a pair of image signals received from the stereo camera 100 and measures a disparity between the two image signals to obtain 3-dimensional (3D) information. Warping is a process of compensating for distortion in an image using interpolation. Rectification is a process of making an optical axis of an image input from the left camera 102 and an optical axis of an image input from the right camera 104 identical with each other. The disparity between the two image signals is a positional variation between corresponding pixels in the two image signals respectively obtained from the left and right cameras 102 and 104 when either of the left and right images is used as a reference image.
The height map creator 120 obtains a depth from the stereo camera 100, i.e., a distance between the stereo camera 100 and an object using the disparity obtained by the stereo matching unit 110, and creates a height map with respect to a volume of interest (VOI) using the depth.
The filtering processor 130 removes portions other than a moving object from the height map and may include a median filter, a thresholding part, and a morphological filter. The median filter removes an isolated point or impulsive noise from an image signal. The thresholding part removes a portion having a height lower than a specified threshold. The morphological filter effectively removes noise by performing combinations of multiple morphological operations.
The candidate region detector 140 detects a people candidate region, which is estimated as including at least one person, from the height map by using a connected component analysis (CCA) algorithm as a labeling scheme. The CCA algorithm finds all components connected in an image and allocates a unique label to all points of each component.
The head region detector 150 generates a histogram for the people candidate region, detects different height regions from the histogram, and analyzes the different height regions in a tree structure, thereby detecting a person's head region. The display unit 160 outputs the detected head region in the form of an analog image signal.
Referring to
Thereafter, a depth, i.e., a distance between the stereo camera 100 and an object is calculated from a disparity between a left image and a right image using stereo matching in operation S210. During the stereo matching, warping and rectification are performed on the digital image signals.
Here, “L” is a distance between the left camera 102 and the right camera 104, “f” is a focal length of the stereo camera 100, and “Δr” is a disparity between the left image and the right image.
Thereafter, a height map is created with respect to a VOI in operation S220.
Thereafter, the height map is filtered in operation S230.
Thereafter, a people candidate region is detected from the filtered height map using a CCA algorithm in operation S240. To detect the people candidate region, all connected components are found in the image using the CCA algorithm, and different labels are allocated to the connected components, respectively. The CCA algorithm may be used as a labeling method. The CCA algorithm has been researched and includes various types such as linear processing, hierarchical processing, and parallel processing. Different types of CCA algorithm have their own merits and demerits, and have different computing times depending upon complexity of components. Accordingly, a CCA algorithm needs to be appropriately selected according to a place where people detection is performed.
Thereafter, different height regions are detected using a histogram of the people candidate region in operation S250.
After detecting the different height regions with respect to the people candidate region, a head region is detected using a tree-structure analysis in operation S260.
Thereafter, the detected head region is displayed in operation S270. An image representing the detected head region may be ORed with an image representing a moving object and then displayed on the display unit 170. The image representing the moving object is generated by a moving object segmentation unit (not shown) that separates a moving object from an input image. This ORing operation is performed to prevent a stationary object from being detected as a human head.
m=a1x+b1 (2)
n=a2y+b2 (3)
Here, a1, b1, a2, and b2 are defined by an entire size of the 3D positional information and a size of a 2D coordinate system of the VOI, which are obtained from the images taken by the stereo camera 100.
Thereafter, it is determined whether the 2D coordinate value (m,n) is included in the VOI in operation S510. If it is determined that the 2D coordinate value (m,n) is not included in the VOI, another 2D coordinate value (m,n) is calculated with respect to another pixel (x,y) in operation S500. If it is determined that the 2D coordinate value (m,n) is included in the VOI, it is determined whether the pixel (x,y) has an effective depth in operation S520. When there is no texture, the pixel (x,y) does not have an effective depth. For example, when a person wrapping himself/herself in a black cloak passes, a disparity cannot be measured. If the pixel (x,y) does not have an effective depth, a height h(x,y) of the pixel (x,y) is set to Hmin in operation S550. Hmin may indicate a lowest height (0 in embodiments of the present invention) of the VOI but may indicate a different value according to a user's setup. If the pixel (x,y) has an effective depth, the height h(x,y) is calculated using a depth “z” in operation S530. Like the 2D coordinate value (m,n), the height h(x,y) is calculated using a windowing conversion as shown in Equation (4).
h(x,y)=cz+d (4)
Here, “c” and “d” are determined by a maximum depth and a height of the VOI among the 3D positional information obtained from the images taken by the stereo camera 100.
It is determined whether h(x,y) is greater than Hmin in operation S540. If it is determined that h(x,y) is not greater than Hmin, h(x,y) is set to Hmin in operation S550. If it is determined that h(x,y) is greater than Hmin, it is determined whether h(x,y) is less than Hmax in operation S560. Hmax may indicate a highest height (255 in embodiments of the present invention) of the VOI but may indicate a different value according to the user's setup. If it is determined that h(x,y) is not less than Hmax, h(x,y) is set to Hmax in operation S570. If it is determined that h(x,y) is less than Hmax, H(m,n) is calculated in operation S580. When pixels (x,y) are converted into 2D coordinate values (m,n), there may be a plurality of pixels (x,y) converted into the same 2D coordinate value (m,n). Accordingly, H(m,n) indicates a highest height among the heights of the pixels (x,y) having the same 2D coordinate value (m,n) in the discrete VOI, and is calculated by Equation (5).
H(m,n)=Max h(x,y)δ(γ(x,y)−(m,n)) (5)
Here, γ(x,y)=(m,n), and δ is a Kronecker delta function.
Next, it is determined whether creation of the height map is finished in operation S590. Since height map creation is performed on each pixel, it is determined whether heights of all pixels have been obtained. It is determined that the creation of the height map is not finished, the method returns to operation S500.
The median filtering is performed in operation S600. In other words, a window is set on the height map, pixels within the window are arranged in order, and a median value of the window is set to a value of a pixel corresponding to a center of the window. The median filtering removes noise and maintains contour information of an object. Thereafter, the thresholding is performed to remove pixels having values less than a specified threshold in operation S610. Thresholding corresponds to a high-pass filter. Thereafter, the morphological filtering is performed to effectively removing noise by combining multiple morphological operations in operation S620. In embodiments of the present invention, an opening operation where an erosion operation is followed by a dilation operation is performed. In other words, an outermost edge of an image is erased pixel by pixel using the erosion operation to remove noise, and then, the outermost edge of the image is extended pixel by pixel using the dilation operation, so that an object becomes prominent.
The generated histogram is Gaussian filtered in operation S710. Gaussian filtering is referred to as histogram equalization and is used to generate a histogram having a uniform distribution. The histogram equalization is not equalizing a histogram but is redistributing light and shade. The histogram equalization is performed to facilitate a local minimum point search in a subsequent operation.
A local minimum point is searched for in the Gaussian-filtered histogram in operation S720. The local minimum point is searched for using a between-class scatter, entropy, histogram transform, preservation of moment, or the like.
Thereafter, the different height regions are detected using the local minimum point as a boundary value in operation S730. As shown in
Thereafter, terminal nodes are searched for in each tree structure in operation S910. The terminal nodes have no lower nodes. In
Subsequently, it is determined whether the number of pixels in a region of each of the searched terminal nodes is greater than a reference value in operation S920. Referring to
The invention can also be embodied as computer readable codes on a computer readable recording medium. The computer readable recording medium is any data storage device that can store data which can be thereafter read by a computer system. Examples of the computer readable recording medium include read-only memory (ROM), random-access memory (RAM), CD-ROMs, magnetic tapes, floppy disks, optical data storage devices, and carrier waves (such as data transmission through the Internet). The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. Also, functional programs, codes, and code segments for accomplishing the present invention can be easily construed by programmers skilled in the art to which the present invention pertains.
According to the present invention, a height map is created with respect to an image signal received from a stereo camera, and persons' heads are detected by using a histogram with respect to the height map and by performing tree-structure analysis on the height map, so that a plurality of persons can be accurately counted. In addition, even if the stereo camera has a wide viewing angle, people can be accurately counted.
Although a few embodiments of the present invention have been shown and described, the present invention is not limited to the described embodiments. Instead, it would be appreciated by those skilled in the art that changes may be made to these embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
10-2004-0014595 | Mar 2004 | KR | national |