EXTENSIBLE SYSTEM AND METHOD FOR STEREO MATCHING IN REAL-TIME

Information

  • Patent Application
  • 20080037862
  • Publication Number
    20080037862
  • Date Filed
    February 23, 2007
    19 years ago
  • Date Published
    February 14, 2008
    18 years ago
Abstract
Disclosed are a system and a method extensible for performing, in real-time, stereo snatching for calculating depth images with a result of searching for points of similarity by using images taken with two cameras. The system includes a coordinate creating module, a census transform module, a delay XOR calculation module, a stereo matching module, and a control module. Accordingly, by using the system extensible for performing stereo matching, depth information of corrected images can be acquired in real-time without using computer systems or software programs for special purposes. Furthermore, since the system extensible for performing stereo matching can be simply realized by hardware, the system and the method of the present invention can be easily applied to actual intellectual-type robots, industrial settings, etc.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other exemplary features, aspects, and advantages of the present invention will be more apparent from the following detailed description taken in conjunction, with the accompanying drawings, in which:



FIG. 1 is a flowchart showing a prior method for restoring the three-dimensional structure of an object;



FIG. 2 is a flowchart showing a prior method for estimating a disparity;



FIG. 3 is a block diagram illustrating a system extensible for performing stereo matching in real-time according to an exemplary embodiment of the present invention;



FIG. 4 is an example view showing a method for generating a census vector by a census transform module illustrated, in FIG. 3;



FIG. 5 is an example view showing a method for adding relevant bits in the way of counting the number of ‘1’s from a result of carrying out an operation of XOR for a delayed census vector after delaying the census vector according to an exemplary embodiment of the present invention;



FIG. 6 is a conceptual view showing the generation of windows corresponding to received values of correlations provided by a delay XOR module according to an exemplary embodiment of the present invention;



FIG. 7 is an example view showing an image taken with a left camera among original images that are objects of operations according to an exemplary embodiment of the present invention;



FIG. 8 is an example view showing an image taken with a right camera among original images that are objects of operations according to an exemplary embodiment of the present invention; and



FIG. 9 is an example view showing an image from an operation result of a hardware system embodied so as to verify a stereo matching system according to an exemplary embodiment of the present invention.





DETAILED DESCRIPTION OF THE EXEMPLARY EMBODIMENTS

Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings. The same elements will be designated by the same reference numerals all through the following description and drawings although they are shown in different drawings. Further, in the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.



FIG. 3 is a block diagram illustrating a system extensible for performing stereo matching in real-time according to an exemplary embodiment of the present invention. FIG. 4 is an example view showing a method for generating a census vector by a census transform module illustrated in FIG. 3. FIG. 5 is an example view showing a method for adding relevant bits in the way of counting the number of ‘1’s from a result of carrying out an operation of XOR for a delayed census vector after delaying the census vector according to an exemplary embodiment of the present invention. FIG. 6 is a conceptual view showing the generation of windows corresponding to received values of correlations provided by a delay XOR module according to an exemplary embodiment, of the present invention. FIG. 7 is an example view showing an image taken with a left camera among original images that are objects of operations according to an exemplary embodiment of the present invention. FIG. 8 is an example view showing an image taken with a right camera among original images that are objects of operations according to an exemplary embodiment of the present invention.


As shown in FIG. 3, the system extensible for performing stereo matching in real-time according to an exemplary embodiment of the present invention includes a coordinate creating module 110, a census transform module 120, a delay XOR calculation module 130, a stereo matching module 140, and a control module 150.


The coordinate creating module 110 calculates values of two-dimensional, coordinates of pixels that are currently being inputted on the basis of a control signal, generated from a camera taking images.


The limit of the coordinates is the same as the size of the image. If the coordinate creating module 110 progresses to the next frame after receiving one entire frame, the coordinate creating module 110 initializes a value of the coordinates, and starts to count again.


The census transform module 120 uses, in order to process pixels provided by the camera, i.e. for instance, a window-based image processing configuration proposed in a real-time window-based image processing apparatus (a specific description is omitted because of the use of well-known arts) disclosed in an application filed in the Korean Industrial Property Office and assigned Serial No. 10-2000-0006940, stores image-processed pixels in a window of k×k size, and then generates the census vector through an operation illustrated in FIG. 4.


The census transform is one type of well-known transforms, and compares the sizes of adjacent pixels with a gray value of pixels located in the center of the window. If the Gray value of the pixels located in the center of the window is larger than the size of the adjacent pixels, the value of the coordinates of the adjacent pixels is expressed as ‘0.’ Further, the census transform compares the gray value of one adjacent pixels with the gray value of the pixels located in the center of the window. If the gray value of she pixels located in the center of the window is smaller than the gray value of the adjacent pixels, the value of the coordinates of the adjacent pixels is outputted as ‘1.’


To give an example, as shown in FIG. 4, if a gray value x of the pixels located in the center of the window is compared with a gray value x−20 of the adjacent pixels, because the gray value x of the pixels located in the center of the window is larger than the gray value x−20 of the adjacent pixels, the value of the coordinates of the adjacent pixels having the gray value of x−20 is expressed as ‘0.’


If the gray value x of the pixels located in the center of the window is compared with a gray value x÷15 of the adjacent pixels, since the gray value x of the pixels located in the center of the window is smaller than the gray value x+15 of the adjacent pixels, the value of the coordinates of the adjacent pixels having the gray value of x+15 is expressed as ‘1.’


At this time, an output value of the comparison represents only the relation of largeness and smallness between the central pixels and the adjacent pixels. Accordingly, if a first gray value of the central pixels is larger than a second gray value of the adjacent pixels, the coordinate value of the adjacent pixels is represented as ‘1.’ On the contrary, if the first gray value of the central pixels is smaller than the second gray value of its adjacent pixels, the coordinate value of the adjacent pixels is represented as ‘0.’ These coordinate values don't have an effect on the final result.


In a case where the window of k×k size is used, the length of the census vector equals k×k−1 obtained by subtracting ‘1’ from the number of all pixels corresponding to a window.


The census transform is respectively applied to images taken with two cameras, and consequently, two images consisting of the census vectors are acquired.


The census vector generated in this manner corresponds to a bit string made up of ‘0’s and ‘1’s, and stands for each set of pixels.


The delay XOR calculation module 130 delays the census vector provided from the census transform module 120 by the disparity n.


Then, the disparity value can be determined according to the distance between the cameras. In general, the larger the distance between the cameras, the larger the disparity value. On the contrary, the smaller the distance between the cameras, the smaller the disparity value.





CX0=CRn XOR CL0,





CX1=CRn XOR CL1,





CX2=CRn XOR CL2,





. . . ,





CXn-1=CRn XOR CLn-1,





CXn=CRn XOR CLn,  EXPRESSION 1


where if a camera on the left and another camera on the right are respectively referred to as an L camera and an R camera at a point of view, results of the census transform of images taken with the L and R cameras are respectively CL and CR.


Additionally, if values that delay CL and CR by n are respectively referred to as CLn and CRn, EXPRESSION 1 is a process for finding what coordinates the CRn corresponding to one point of the image taken with the R camera is located at in the image taken with the L camera. CXθ˜CXn represent correlation values between the CRn corresponding to the point of the image taken with the R camera and of CL0˜CLn, respectively. Herein, lengths of the CXθ˜CXn are the same as lengths of the census vectors generated from the census transform module 120.


Each census vector corresponds to a bit string made up of ‘0’s and ‘1’s. In view of features of the XOR operation, the greater the number of same values existing in the two census vectors corresponding to comparison objects, the less the number of ‘1’s there is.


Unlike the method shown in FIG. 5, another method for counting the number of ‘1’s in the bit string by using a counter or a bit correlator can be implemented.


In this process, counting the number of ‘1’'s in advance can reduce the amount of operations in the process of the stereo matching.


Through an operation such as this, the delay XOR calculation module 130 provides the correlation values of the total number of n.


The stereo matching module 140 receives the correlation values of the total number of n provided from, the delay XOR calculation module 130, uses, for example, a window-based image processing configuration proposed in a real-time window-based image processing apparatus (a specific description is omitted because of the use of well-known arts) as disclosed in an application filed in the Korean Intellectual Property Office and assigned Serial No. 10-2005-0006940, and stores each of the received correlation values of the total number of n in a window of m×m size.


There fore, as shown in FIG. 6, windows of the total number of n are generated, an addition operation of each window of m×m size is performed, and results of the addition operations are compared with one other.


As a result of the comparison, the window having the smallest value among n windows can be that with coordinates having the closest correlation between the two images. At this time, the order of 0˜n that the relevant window has represents the relative distance between the camera and the object which is displayed in relevant coordinates in the pictures.


By repeating the aforesaid operation, the relative distance between the camera and the object which is displayed in relevant coordinates of each of the coordinates of the overall images can foe sought, and the relative distances become depth information of the images taken with the cameras.


The control module 150 controls the aforesaid overall configuration, including the coordinate creating module 110, the census transform module 120, the delay XOR calculation module 130, and the stereo matching module 140, and matches synchronization between the coordinate creating module 110, the census transform module 120, the delay XOR calculation module 130, and the stereo matching module 140.


The control module 150 adjusts the size of the first window used in the census trans fens and the size of the second window used in the stereo matching according to an external input.


The system extensible for performing the stereo matching in real-time according to the exemplary embodiment of the present invention is embodied through a Very high speed integrated circuit (VHSIC) Hardware Description Language (VHDL) so as to verify the system. The system designed through the VHDL is synthesized with a frame grabber module drawing up the above system for special use, and it is ascertained through a Virtex4 (XC4YLX200-FF1513G; apparatus of XILINX, Inc. that the synthesized system normally processes the images.



FIG. 7 is an example view showing an image taken with a left camera among original images that are objects of operations according to an exemplary embodiment of the present invention. FIG. 8 is an example view showing an image taken with a right camera among original images that are objects of operations according to an exemplary embodiment of the present invention. FIG. 9 is an example view snowing an image from an operation result of a hardware system embodied so as to verify a stereo matching system according to an exemplary embodiment of the present invention.


The merits and effects of exemplary embodiments, as disclosed in the present invention, and as so configured to operate above, will be described as follows.


As described above, an operation and results of operations are verified through a hardware system extensible for performing stereo matching in real-time.


Besides, by using the system extensible for performing stereo matching, depth information of corrected images can be acquired in real-time without using computer systems or software programs for special purposes.


Furthermore, since the system extensible for performing stereo matching can be simply realised by hardware, the system and the method of the present invention can be easily applied to actual intellectual-type robots, industrial settings, etc.


While the invention has been, shown and described with reference to a certain exemplary embodiment thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention. Therefore, the spirit and scope of the present invention must be defined not by described embodiments thereof but by the appended claims and equivalents of the appended claims.

Claims
  • 1. A system extensible for performing stereo matching in real-time, the system comprising: a coordinate creating module for calculating two-dimensional coordinates of pixels that are currently being inputted on the basis of a control signal generated from a camera for taking images;a census transform module for storing the pixels taken with the camera in a first window of an expansible size for performing census transform for each pixel of two images, and for creating a census vector;a delay XOR calculation module for delaying an output of the census transform module by a disparity that corresponds to a search object, and for finding a correlation between two census vectors;a stereo matching module for receiving an output of the delay XOR calculation module, for storing the received output of the XOR calculation module in a second window of an expansible size, and for outputting a value of the relative distance between an object and the camera by using the stored output of the XOR calculation module; anda control module for controlling the coordinate creating module, the census transform module, she delay XOR calculation module, and the stereo matching module, and for matching synchronization between the coordinate creating module, the census transform module, the delay XOR calculation module, and the stereo matching module.
  • 2. The system as claimed in claim 1, wherein the control module can adjust the size of the first, window used in the census transform and the size of the second window used in the stereo matching according to an external input.
  • 3. The system as claimed in claim 1, wherein a limit of the coordinates created by the coordinate creating module is the same as the size of the image, and the coordinate creating module initializes a value of the coordinates to start to count again if the coordinate creating module progresses to the next frame after receiving one entire frame.
  • 4. The system as claimed in claim 1, wherein the delay XOR calculation module delays a census vector for each pixel of the two images by a sought disparity, and outputs values of correlations by the delayed number by seeking the number of ‘1’ after adding relevant bits of bit vectors found after carrying out an operation, of XOR for the delayed census vectors.
  • 5. The system as claimed in claim 1, wherein the stereo matching module stores the values of the correlations calculated by the delay XOR calculation module in the second windows whose sixes are expansible, seeks addition of each of the second windows, and outputs the smallest value as the value of the relative distance between the camera and the object which is displayed in the image.
  • 6. A method extensible for performing stereo matching in real-time, the method comprising: calculating two-dimensional coordinates of images input through a camera by a coordinate creating module;generating a census vector for pixels taken with the camera by a census transform module;delaying the census vector by a disparity and finding a correlation, by a delay XOR calculation module;
  • 7. The method as claimed in claim 6, wherein finding the correlation by the delay XOR calculation module includes the following expressions: CX0=CRn XOR CL0,CX1=CRn XOR CL1,CX2=CRn XOR CL2,. . . ,CXn-1=CRn XOR CLn-1,CXn=CRn XOR CLn, wherein CL and CR correspond to results of she census transform, CLn and CRn correspond to values that delay CL and CR by n, and CX is a value of the correlation between CL and CR.
Priority Claims (1)
Number Date Country Kind
10-2006-0059208 Jun 2006 KR national