Three dimensional pointing device monitored by computer vision
First Claim
1. In an apparatus for monitoring the position and orientation of a rigid three-dimensional (3-D) object in space comprising:
- an electronic camera having a reference coordinate frame and producing an analog video signal, the analog video signal being composed of scanning lines, each scanning line corresponding to a single line of an image of the electronic camera;
a plurality of light sources rigidly attached to the rigid 3-D object, these lights projecting bright spots onto the image of the camera;
processing means for processing the analog video signal and determining a list of positions of the bright spots;
computing means including memory means, output means and display means;
the computing means including pose computing means for computing a translation vector and a rotation matrix of the rigid 3-D object in the reference coordinate frame of the electronic camera and transmitting these quantities to the output means;
the output means modifying images on the display means;
the improvement comprising in the processing means;
a first electronic means for generating a timing signal synchronous to the beginning of the scanning line,a clock generator for producing a clock signal,a second electronic means for digitizing the scanning line into a string of digitized values, at the rate of the clock signal,thresholding means for thresholding the string of digitized values into a string of thresholded digitized values in which values higher than a given threshold value are set to a logical high value and values lower than a given brightness threshold value are set to a logical low value,a third electronic means for producing a flag signal which is set to a logical high value when all elements of the string of thresholded digitized values are set to a logical low value and which is reset by the synchronous timing signal,a counter driven by the clock signal and reset by the synchronous timing signal for generating address numbers,a second memory means for;
i) storing strings of thresholded digitized values to memory cells addressed by the address numbers, and (ii) storing an additional data when the flag signal is set to a logical high value,and the processing means further including means for;
i) recalling the strings of thresholded digitized values from the memory cells and skipping a string of thresholded digitized values when the additional data indicates that these digitized values are all set to a logical low value, ii) calculating from recalled strings of thresholded digitized values the positions of centers of the bright spots, and iii) computing the position and orientation of the object from the positions of the centers of the bright spots.
1 Assignment
0 Petitions
Accused Products
Abstract
A pointing device (28), comprising light sources (30) and monitored by a computer vision task running in a microcontroller (108) and a computer (24). The computer vision task computes the spatial position and orientation of the pointing device, and enables an operator to control virtual three dimensional objects (73) on the display (22) of the computer. Images (78) are captured by a video camera (20) and digitized, and only image rows that contain bright pixels (80) from the light sources are processed. The light sources are the tips of optic fibers (30) guiding light from a laser diode (32), and an optical filter (46) on the camera is matched to the wavelength of the laser diode.
224 Citations
13 Claims
-
1. In an apparatus for monitoring the position and orientation of a rigid three-dimensional (3-D) object in space comprising:
-
an electronic camera having a reference coordinate frame and producing an analog video signal, the analog video signal being composed of scanning lines, each scanning line corresponding to a single line of an image of the electronic camera; a plurality of light sources rigidly attached to the rigid 3-D object, these lights projecting bright spots onto the image of the camera; processing means for processing the analog video signal and determining a list of positions of the bright spots; computing means including memory means, output means and display means; the computing means including pose computing means for computing a translation vector and a rotation matrix of the rigid 3-D object in the reference coordinate frame of the electronic camera and transmitting these quantities to the output means;
the output means modifying images on the display means;the improvement comprising in the processing means; a first electronic means for generating a timing signal synchronous to the beginning of the scanning line, a clock generator for producing a clock signal, a second electronic means for digitizing the scanning line into a string of digitized values, at the rate of the clock signal, thresholding means for thresholding the string of digitized values into a string of thresholded digitized values in which values higher than a given threshold value are set to a logical high value and values lower than a given brightness threshold value are set to a logical low value, a third electronic means for producing a flag signal which is set to a logical high value when all elements of the string of thresholded digitized values are set to a logical low value and which is reset by the synchronous timing signal, a counter driven by the clock signal and reset by the synchronous timing signal for generating address numbers, a second memory means for;
i) storing strings of thresholded digitized values to memory cells addressed by the address numbers, and (ii) storing an additional data when the flag signal is set to a logical high value,and the processing means further including means for;
i) recalling the strings of thresholded digitized values from the memory cells and skipping a string of thresholded digitized values when the additional data indicates that these digitized values are all set to a logical low value, ii) calculating from recalled strings of thresholded digitized values the positions of centers of the bright spots, and iii) computing the position and orientation of the object from the positions of the centers of the bright spots. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. In an apparatus for monitoring the position and orientation of a rigid three-dimensional (3-D) object in space comprising:
-
an electronic camera having a reference coordinate frame and producing an analog video signal, the analog video signal being composed of scanning lines, each scanning line corresponding to a single line of an image of the electronic camera; a plurality of light sources rigidly attached to the rigid 3-D object, these lights projecting bright spots onto the image of the camera; processing means for processing the analog video signal and determining a list of positions of the bright spots; computing means including memory means, output means and display means; the computing means including pose computing means for computing a translation vector and a rotation matrix of the rigid 3-D object in the reference coordinate frame of the electronic camera and transmitting these quantities to the output means;
the output means modifying images on the display means;wherein the improvement comprising in the processing means; a first electronic means for generating a timing signal synchronous to the beginning of the scanning line, a clock generator for producing a clock signal, a second electronic means for digitizing the scanning line into a string of digitized values, at the rate of the clock signal, thresholding means for thresholding the strings of digitized values into strings of thresholded digitized values in which the values higher than a given brightness threshold value are set to a logical high value and the values lower than a given threshold value are set to a logical low value, a third electronic means for producing an edge timing pulse corresponding to an occurrence of transition from a logical low value to a logical high value and from a logical high value to a logical low value in the strings of thresholded digitized values, a counter driven by the clock signal and reset by the synchronous signal for generating an address number, a second memory means for sequentially storing the address number at each occurrence of the edge timing pulse, the processing means further including means for;
i) recalling each address number from the memory means and for calculating from all the address numbers the positions of centers of the bright spots, and ii) computing the position and orientation of the object from the positions of centers of the bright spots, and iii) controlling the brightness threshold value. - View Dependent Claims (10, 11, 12, 13)
-
Specification