EP0345912A2 - Information extraction by mapping - Google Patents
Information extraction by mapping Download PDFInfo
- Publication number
- EP0345912A2 EP0345912A2 EP89202004A EP89202004A EP0345912A2 EP 0345912 A2 EP0345912 A2 EP 0345912A2 EP 89202004 A EP89202004 A EP 89202004A EP 89202004 A EP89202004 A EP 89202004A EP 0345912 A2 EP0345912 A2 EP 0345912A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- mapping
- point
- points
- plane
- mapping function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/48—Extraction of image or video features by mapping characteristic values of the pattern into a parameter space, e.g. Hough transformation
Definitions
- the present invention relates to an information extraction method for extracting information of a picture by means of mapping.
- the method according to the present invention can be used to obtain information concerning a picture, such as the existence of a straight line, the intersection of straight lines, and the three-dimensional direction of straight lines or parallel lines.
- Such information is useful for pattern recognition of an object, such as in the case of pattern recognition by an industrial robot.
- an image of the object is taken by an imaging device, such as a TV camera, the image is processed electronically, and information is extracted from the result of the image processing.
- One of the prior art methods of the information extraction is the Hough transformation method, in which the probability of extraction of a straight line or a line segment in the image from the object is enhanced.
- the sine waves which correspond to points on a straight line in the picture plane, intersect at two points in the parameter plane. If only the positive value of ⁇ is taken into consideration, the above-mentioned sine waves intersect at a single point.
- the angle ⁇ 0 and the height ⁇ 0 of the intersecting point in the parameter plane indicate the length of the vertical line from the original point to the straight line and the angle of the vertical line in the image plane.
- information of the straight line on the image plane can be extracted by using the obtained data of the angle ⁇ 0 and the height ⁇ 0. It is also possible to use such information extraction to reproduce a straight line having interruptions or distortions.
- mapping functions corresponding to every point In the prior art Hough transformation method, however, it is necessary to obtain mapping functions corresponding to every point.
- the number of points for which the mapping functions are to be obtained is quite large. Hence, it takes a considerable length of time if such mapping functions are obtained by calculations in a point-by-point manner. Accordingly, it is difficult to extract information at a high speed.
- Prior art technology for three-dimensional measurement of an object article includes a method for detecting the three-dimensional direction of a line or a plane existing in space, a method of using the vanishing point, and a method of binocular vision.
- these prior art methods may be used only under limited conditions of measurement.
- an information extraction method for extracting information of a picture on a plane in question by mapping including the steps of: setting reference points on the plane in question; obtaining and storing the data of the mapping functions of the set reference points; obtaining data of relative positions of points on the plane in question with respect to the reference points; shifting the mapping functions of the reference points in coordinate values on the mapping plane by the obtained relative position data of points on the plane in question; obtaining mapping functions of points on the plane in question from the result of the shifting of the mapping functions of the reference points; and extracting information of a picture on the plane in question on the basis of mapping function data of coordinate values of the points.
- mapping There are two methods employed in the mapping: spherical projection and Hough transformation.
- mapping function In the spherical projection method, a great circle on the sphere is used as the mapping function, while in the Hough transformation method a Hough transformed sine wave is used as the mapping function.
- points on the plane in question are transformed into mapping functions, the obtained mapping functions are written in the mapping plane, and the information contained in each of the points in the plane in question, such as the existence of a straight line and the position and direction of the straight line, is extracted from the mutual relationship of the mapping functions, such as the intersection point of the straight lines.
- mapping function In the process of production of the mapping function, it is necessary to produce a mapping function for each of the points.
- the production of the mapping functions accounts for the largest part of the time required for information extraction using mapping.
- the principle of spherical mapping using a spherical projection is described with reference to Figs. 1 to 4.
- the fundamental process of spherical mapping using a spherical projection is as follows: An original picture is projected on the surface of a sphere to create a spherical projection. Great circles are drawn on the surface of the sphere corresponding to each of the projected points. Each great circle is defined by the intersection between the surface of the sphere and the plane which is perpendicular to the radius connecting the center of the sphere and the point in question on the surface of the sphere, that plane including the center of the sphere.
- the required information is extracted from the mutual relationship between the drawn groups of the great circles.
- the normal vector of the plane containing the points of the original picture and the center of the sphere is obtained.
- a line segment can be extracted and an interrupted or distorted line segment can be reproduced.
- mapping the information of the changing projection to a single point on the surface of the sphere the path of a point-type object article carrying out linear movement is extracted.
- mapping the projection of a plurality of line segments to a single point on the surface of the sphere and in subsequent mapping of the obtained mapping point the intersection point of the plurality of line segments is reproduced.
- a cubic configuration 31 is projected onto a flat plane 32 as a plane projection and to the surface of a sphere 33 as a spherical projection. It is assumed that a camera is positioned at the center of the sphere 33.
- the photograph taken by the camera using an ordinary lens takes the form of the plane projection on the plane 32, while the photograph taken by the camera using a fish-eye lens takes the form of the sphere projection on the surface of the sphere 33.
- the radius of the sphere is assumed as a unit length.
- straight line segments 38 on an Euclidian plane 35 are projected on the surface of a sphere 33 as portions of great circles 37.
- the great circles 37 may be defined as straight lines on the surface of the sphere 33.
- the "point" on the plane 35 corresponds to the pole on the surface of the sphere 33, which pole may be defined as a point on the surface of the sphere 33.
- the projections of the parallel lines 38 in a Euclidian plane 35 intersect the spherical surface 33 at the points 39 defining a finite range of length.
- the projections of the intersecting lines 40 in the Euclidian plane 35 also intersect the spherical surface 33.
- the intersection point of the parallel lines at infinite distance is measured by the latitude and longitude of the sphere. This measurement by spherical projection is the basis of the three-dimensional measurement by spherical mapping.
- a point to a line i.e., a great circle on the surface of the sphere; is illustrated in Fig. 3.
- a point P in space is projected to a point P′ on the surface of the sphere 33 by spherical projection.
- the mapping of the point P′ to the great circle, i.e., line l is carried out by spherical mapping.
- the mapping of the point P′ to the line l is given as the line on the surface of the sphere 33 as cut by the plane perpendicular to the radius connecting the point P′ and the center 0 of the sphere and including the center 0.
- FIG. 4 The correspondence of a line to a point defined by a group of line by the spherical mapping is illustrated in Fig. 4.
- a line L in space is projected to a line L′ on the surface of the sphere 33 by the spherical mapping.
- Points P1 , P2 , P3 ... on the line L are projected to points P′1 , P′2 , P′3 ... on the line L′.
- Mapping of the points P′1 , P′2 , P′3 ... to a group of lines l1 , l2 , l3 ..., which is a group of great circles, is carried out.
- the group of these great circles intersect at two points cn the surface of the sphere 33, which points are symmetrical with respect to the center of the sphere 33. These two points are represented by one of these two points.
- This representative point is called "point S" and is used as a mapping point.
- the information of the line L can be said to be condensed at the spoint S by spherical mapping.
- the points P1 , P2 , P3 ..., the points P′1 , P′2 , P′3 , ..., and the lines l1 , l2 , l3 , ... may be regarded as continuous points and lines.
- the points P1 , P2 , P3 ..., the points P′1 , P′2 , P′3 ..., and the lines l1 , l2 , l3 ... may be discrete points and lines due to the structure of the light receiving sensor elements or the picture memory.
- VEC(S) is the normal vector of the plane containing the line L and the original 0.
- reproduction of line segments can be carried out by designating the peak point where the great circles are assembled most frequently as the point S and mapping from the obtained point S to line L2.
- the detection of the motion of a moving object in this case a point, is described with reference to Fig. 6.
- the projection images are stored in sequence at predetermined intervals in a picture memory. After that, the difference between the present projection image and the just preceding projection image is obtained. The change of the projection image can be extracted in this way.
- mapping functions of the changed projection points are successively accumulated.
- intersection point of lines can be reproduced in a similar manner, as shown in Fig. 7.
- the point S of the line segment P is S(P)
- the point S of the line segment Q is S(Q).
- the great circle passing through S(P) and S(Q) is l.
- the radius normal to the plane containing the great circle passes through the intersection point of the line P′ and the line Q′.
- the lines P′ and Q′ are projections on the surface of the sphere 33 of the lines P and Q.
- the intersection point of the line P′ and the line Q′ is called point S S , from the nature of a second mapping after a first mapping. That is, by the subsequent mapping of the S points of the line segments, the intersection point S S is reproduced.
- the information of the points on the line segment are accumulated at the point S.
- the information of the S points on the great circle l are accumulated at the point S S . It may be considered that the information of all the points constituting the original line segment is accumulated at the point S S . Hence, reproduction of the intersection point can be attained with a high S/N ratio.
- the above-described technique is also applicable to the case where three lines intersect at one point.
- intersection point S S on the surface of the sphere 33, similarly as in the case of two intersecting lines. Moreover, as the number of parallel lines increases, the reproduction of the intersection point can be carried out with a higher S/N ratio.
- the decision whether the point S S actually indicates parallel lines is carried out as follows.
- the camera which takes the picture of the parallel lines carries out translational motion. If, in spite of such translational motion of the camera, no movement of the point S S occurs, the lines corresponding to the point S S are judged parallel. If, by such translational motion of the camera, movement of the point S S occurs, the lines corresponding to the point S S are judged non-parallel.
- the decision can be carried out in a similar manner by using two cameras instead of the motion of one camera. If the S S points obtained from the pictures by these two cameras are the same point, the lines are parallel.
- FIG. 9 A point P on the surface of the sphere 33 (actually a memory corresponding to the sphere 33) is extracted.
- the mapping function, which is a great circle, of the point P is produced and written into the surface of another sphere 33′ (actually a memory corresponding to the sphere 33′).
- the intersection point S of great circles l1 and l2 is obtained. From the position of the intersection point S, the information of the points on the surface of the sphere 33 are extracted.
- mapping functions l i From the points P i on the surface of the sphere, in order to carry out information extraction by spherical mapping.
- the mapping functions l i (l1 , l2 , l3 ...) correspond to the points P i (P1 , P2 , P3 ). It would take considerable time if the calculation were carried out for each set of coordinates of the great circles corresponding to the great circles.
- the mapping plane is specially structured so as to increase the speed of smaller and allow use of a smaller capacity memory.
- the production of the mapping function is carried out as illustrated in Figs. 10 to 15. In the illustration of the spherical surface in Fig.
- the mapping plane i.e., the surface 33′ of the sphere, is divided by concentric latitude lines r1 , r2 ... r n .
- the memory of the mapping plane is also divided by the concentric circles r1 , r2 ... r n . This means that the mapping plane is expressed by the polar coordinate system of r and ⁇ .
- the great circle l2 of point P2 which is positioned on the same concentric circle as point P1 , is the great circle rotated around the center 0 of the concentric circles from the great circle l1.
- the angle of such rotation of the great circle is the same as the angle between point P1 and point P2.
- a radius LINE(REF) is selected as the reference line carrying the reference points P ma , which are the intersection points with the concentric circles r m .
- a single great circle l ma is registered as the reference great circle corresponding to the reference point P ma .
- the great circle l corresponding to the point P(r, ⁇ ) which is positioned at angle ⁇ on the concentric circle from point P ma is obtained by the rotation e of the reference great circle l ma .
- the pattern of the reference great circle l ma is registered by registering the intersection points of the great circle l ma with the concentric circles r1 , r2 ... r n .
- the pattern of the reference great circle is registered in the matrix with quantized units having r rows (r1 , r2 , ...r n ) and ⁇ columns.
- the ⁇ columns are defined by equal divisions of 360°.
- the sections with a hatching a4 , a n-1 , b n-1 , a n , b n in the matrix with quantized units correspond to the intersection points of the reference great circle with the concentric circles.
- a bit "1" is written at the section having a hatching in the matrix with quantized units.
- the pattern of the great circle l shown in Fig. 12 is obtained by shifting the pattern in the matrix with quantized units shown in Fig. 13 in the ⁇ direction.
- the great circles have different shapes depending on the radius of the reference point P ma , that is, the radius r1 , r2 ... r n of the concentric circles.
- the great circles l 1a , l 2a ... l na are registered corresponding to the reference points P 1a , P 2a ... P na of the concentric circles r1 , r2 ...r n .
- the system shown in Fig. 14 includes a ROM 40 for great circles, an adder 41, and a memory 42 for mapping functions.
- the ROM 40 stores.
- the mapping functions in the form of pattern S of great circle corresponding to the reference points P 1a , P 2a ... P na of the concentric circles, by the values of ⁇ as shown in Fig. 13.
- the adder 41 adds the rotation position ⁇ m of the point in question to the value 8 of the great circle corresponding to the reference point as the output of the ROM 40.
- the the memory 42, the signal of the writing address is supplied and the patterns of great circles are written.
- the operation of the system shown in Fig. 14 is as follows.
- the coordinates of the point P are given in the form of the polar coordinate system, that is in the form of the position r m of the concentric circle and the rotational position ⁇ m from the reference position P ma on the concentric circle r m .
- the signal of r m is supplied to the ROM 40.
- the ROM 40 carries out the retrieval of the pattern l ma of the great circle corresponding to the reference point P ma on the concentric circle rm and delivers the signal of the pattern l ma of the great circle and the signal of intersection points of the great circle pattern l ma and the concentric circles.
- the adder 41 to which the rotational position ⁇ m of the point P is input, carries out the addition of the rotational position ⁇ m to the position ⁇ of the intersection points on the concentric circles and delivers the result of the addition.
- ⁇ m is added to the values of the great circle pattern shown in Fig. 13.
- mapping is carried out by producing great circles corresponding to the point by the ROM 40 on the basis of the reference great circle and writing the produced great circles into the memory 42.
- the memory 42 for the mapping compriss memories 42(1), 42(2) ... 42(n), for the mapping of the concentric circles, divided corresponding to the concentric circles r1 , r2 ... r n .
- the memory 40 for great circles consists of the memories 40(1), 40(2) ...40(n), for the great . circles of the concentric circles, divided per intersection point of the great circles l 1a , l 2a ... l na with the concentric circles corresponding to reference points P 1a , P 2a ... P na .
- l na with the concentric circle r1 are stored in the ROM 40(1). Similarly storage into the ROM's 40(2), 40(3) ... 40(n) is carried out. n units of adders 40 are provided.
- the system shown in Fig. 15 can be regarded as that of the system shown in Fig. 14, divided per concentric circle and set in parallel. The speed of operation of the system shown in Fig. 15 is n times of that of the system shown in Fig. 14.
- FIG. 16 and 17 Another example of the system for producing and storing mapping functions is explained with reference to Figs. 16 and 17, in which a division other than the above-described system using the concentric circles and the rotational position is used. As illustrated in part-1 of Fig. 17, the length of arc L along the con centric circle from the reference line is used instead of the rotational position ⁇ , and the coordinates (r, L) are used instead of the coordinates (r, 8).
- the length ⁇ x of the picture element is the same in every concentric circle.
- the width ⁇ of the concentric circles is selected to be a constant value, the area of the picture element of each of the concentric circles becomes uniform so that a constant resolution is obtained.
- FIG. 16 A system for producing the mapping function according to the manner shown in Fig. 17 is shown in Fig. 16.
- the system shown in Fig. 17 utilises parallel calculation.
- the above- mentioned coordinates of the intersection points are registered by a distance value L, instead of a rotational position value, into the great circle ROM'S 40(1), 40(2), ... 40(n).
- the coordinates of the point P are given in the form of (r m , ⁇ m ).
- the rottional position ⁇ m is transformed into the distance L i .
- mapping fanction memories 42(1), 42(2) ... 42(n) are divided for each of the concentric circles in correspondence with the length L. It is also possible to use series calculation, instead of the above-described parallel calculation.
- ⁇ as shown in Fig. 17 cannot be realized, it is possible to make the area of each of the picture elements constant by changing the length of the picture element.
- a system for such a division of the memory is illustrated in Fig. 18. In the illustration of Fig. 18, the area of the picture element is made uniform by changing the value of the length of the picture element from ⁇ x i to ⁇ x j in correspondence with concentric circles.
- FIG. 19 An example of the mapping function processor used for the information extraction device according to the present invention is shown in Fig. 19.
- the system shown in Fig. 19 includes a concentric circle counter 44, a ROM 45 for maximum value for the concentric circles, a great circle ROM 40, a shift ROM 43, an adder 41, a normalization circuit 46, a circuit 47 a for detecting the non-existent great circle, a write control circuit 47b, a latch circuit 48a, an adder 48b, a switching circuit 49a, and a slice register 49b.
- the concentric circle counter 44 produces a sequence the addresses of the concentric circles r1 , r2 ... r n and supplies the produced addresses to the great circle ROM 40 the shift ROM 43, and the like.
- the ROM 45 stores the maximum value of the length in the direction of rotation along the concentric circle corresponding to the address of the counter 44, for the coordinate system of (r, L) shown in Figs. 16 and 17.
- the circuit 46 carries out normalization when the output of the adder 41, which is the sum of the outputs of the ROM 40 and the ROM 43, exceeds 360° from the reference point, in terms of rotational angle. The 360° is the maximum rotational angle of the concentric circle.
- the circuit 47a monitors the output of the great circle ROM 40 and delivers a writing prohibition signal when the output of the ROM 40 is an impossible value, for example 512, which exceeds the maximum value 460.
- the circuit 47b prohibits the writing of the writing address from the normalization circuit 46 into the mapping memory 42 by the writing prohibition signal of the circuit 47a.
- the latch circuit 48a latches the data read from the mapping memory 42.
- the adder 48b carries out addition of the values supplied from the switching circuit 49a when the content of the latch circuit 48a is other than 0 and supplies the result of the addition through the bus BUS to the mapping memory 42.
- the switching circuit 49a carries out switching for supplying the adder 48b selectively with the weight W of the point from the bus BUS or the slice value from the slice register 49b as the value to be added.
- the slice register 49b registers the slice value for detecting the peak point of the mapping memory 42.
- the operation of the mapping function processor shown in Fig. 19 will now be described.
- the coordinates (r m , ⁇ m ) of the point and the weight W of this point are given.
- the coordinate r m in the direction of the concentric circle is supplied to the ROM 40 and the reference great circle l m corresponding to r m is selected accordlingly.
- the coordinate ⁇ m in the direction of rotation is supplied to the ROM 43 and the group of the distances L m corresponding to ⁇ m is selected accordingly.
- the counter 44 delivers in sequence the addresses of the concentric circles and the delivered addresses are supplied to the concentric circle maximum value ROM 45, the great circle ROM 40, and the shift ROM 43.
- the maximum value of the concentric circle is delivered from the ROM 45.
- the coordinates of the intersection point of the reference great circle with the concentric circle are delivered from the ROM 40.
- the shift distance in the concentric circle, among the group of distances L m is delivered from the shift ROM 43.
- the adder 41 adds the coordinates of the intersection point from the ROM 40 to the shift distance from the ROM 43, and the result of the addition is supplied to the normalization circuit 46.
- the normalization circuit 46 carries out a comparison between the maximum value from the ROM 45 and the value from the adder 41. When the value from the adder 41 is smaller than the maximum value, the normalization circuit 46 supplies the mapping memory 42 with the value from the adder 41 as the writing address. When the value from the adder 41 is greater than the maximum value, the normalization circuit 46 supplies the mapping memory 42 with "the value from adder 41 minus the maximum value" as the writing address.
- the coordinates of the intersection point are supplied from the ROM 40 to the circuit 47a.
- the circuit 47a detects the above-mentioned impossible value as the coordinates of the intersection point, the decision is carried out that the output of the ROM 40 indicates a reference great circle having no intersection point with the concentric circles, and the writing prohibition signal is supplied to the write control circuit 47b so that the writing into the writing address in question of the mapping memory 42 is prohibited.
- no writing prohibition signal is delivered, writing into the address in question of the mapping memory 42 is carried out.
- the content of the writing position is read from the mapping memory 42, and the read content is supplied via the bus BUS to the latch circuit 48a.
- the switching circuit 49a selects a weight W from the bus BUS and supplies the selected weight W to the adder 48b.
- the adder 48b adds the weight W to the content of the latch circuit 48a, and the result of the addition is supplied to the bus BUS so that the writing into the writing position in question of the mapping memory 42 is carried out.
- the weight W is equal to 1 when no weight is assigned to the points.
- the great circles resulting from the shifting of the reference great circle are written into the mapping memory 42 according to the sequence of the concentric circles and according to the addresses of the concentric circles which are the outputs of the concentric circle counter 44, so that the storage of the great circles carrying weight values is carried out.
- the coordinates and the weight value of the next point are supplied through the bus BUS, and the writing of a great circle corresponding to this next point into the mapping memory 42 is carried out.
- the peak point is the intersection point of the above-described plurality of great circles, the search is carried out as follows.
- the switching circuit 49a is switched to the slice register 49b, and the slice value of the slice register 49b is supplied to the adder 48b.
- the contents of the mapping memory 42 are read in sequence from the mapping memory 42 and are supplied through the bus BUS to the latch circuit 48a.
- the addition of the value which is latched in the latch circuit 48a to the slice value is carried out in the adder 48b.
- the adder 48b delivers a carry signal only when overflow occurs as the result of addition. No output is delivered except with such overflow.
- the slice value is selected such that no carry signal is delivered except for the peak point. Hence, the carry signal is delivered corresponding only to the peak point. Thus, the slicing operation in the addition process is carried out.
- the output of the adder 48b is supplied through the bus BUS to the mapping memory 42, and the writing into the position in question of the mapping memory 42 is carried out.
- the replacing writings of data "1" to the addresses corresponding to the peak point and of data "0" to the remaining addresses aer carried out.
- the data "1" is stored in the address of the mapping memory 42 corresponding to the point S shown in Fig. 4, and data "0" is stored in the remaining addresses of the mapping memory 42.
- a three-dimensional measuring system for an object will be described as an application of the data extraction method by mapping.
- Figure 20 is a block diagram of an example of a three-dimensional measuring system.
- Reference numeral 2 denotes a television camera such as a spherical camera, which will be described later; and 4a, 4b, and 4c, mapping processors, respectively.
- Each mapping processor has the system configuration shown in Fig. 19.
- Reference numeral 50 denotes an analog-to-digital (A/D) converter for converting a video signal generated by the television camera 2 to a multi-value digital picture signal; and 51, a known contour extraction section 51 for extracting a contour component from the picture signal supplied from the A/D converter 50.
- a contour-extracted picture signal is stored in a frame memory 52, which will be described later, and coordinate and weighting data of the contour points are stored in an original picture memory 54.
- the frame memory 52 stores the contour-extractd picture signal, as described above.
- Reference numeral 53 denotes a television monitor for monitoring the contents of the frame memory 52.
- the original picture memory 54 stores the coordinate and weighting data of the points of the contour component extracted by the contour extraction section 51, as described above.
- Reference numerals 55, 56, and 57 denote mapping memories for storing the results of mapping by the mapping processors 4a, 4b, and 4c, respectively; and 58, a parallel interface for sending commands from the mapping processors 4a, 4b, and 4c to the contour extraction section 51 and causing these processors and the extraction section to exchange data through a recognition section 60 and a bus, which will be described below.
- the recognition section 60 controls the overall operation of the system and recognizes a three- dimensional original picture of the television camera 2 by utilizing the mapping results.
- the recognition section 60 comprises components designated by reference numerals 61 to 66.
- a processor 61 performs overall system control and recognition in accordance with the execution of a program.
- a main memory 62 comprises a RAM for storing data or the like required for processor operation.
- An interface 63 is connected to an external device or a keyboard 68, which will be described later, through which commands and data are entered.
- a printer interface 64 is connected to a printer 67, which will be described later, and supplies commands and data thereto.
- a floppy disk controller 65 controls a floppy disk drive 66 as an external memory device. The printer 67 prints out data or the like as needed.
- the processor 61 in the recognition section 60 is connected to the A/D converter 50, the frame memory 52, the original picture memory 54, the mapping memories 55, 56, and 57, the parallel interface 58, and the floppy disk controller 65 through a multibus 70 and can send commands to and exchange data with these components therethrough.
- FIG. 1 An image of an object shown in Fig. 1 is obtained by the spherical projection by using a television camera 2 in Fig. 20. This operation will be described with reference to Figs. 21 to 23.
- Figure 21 shows representations for explaining spherical camera
- Fig. 22 is a block diagram of a coordinate transformation control type spherical camera
- Fig. 23 is a graph showing the characteristics of an equidistant projection lens.
- the television camera has an equidistant projection lens and a light-receiving element having a uniform two-dimensional position resolution.
- the television camera may have a normal lens instead of the equidistant projection lens, with a flat light-receiving element having a uniform two-dimensional position resolution, and an electronic coordinate transformation section, wherein the coordinate data of the input picture may be transformed so as to substantially obtain the same results as with the equidistant projection lens.
- the spherical camera is substantially the same as a camera having a pinhole 20 and a spherical light-receiving element 21.
- the pinhole 20 cannot provide a sufficient amount of light and cannot provide adequate focusing, it is replaced with a lens system 24.
- a flat light-receiving element 23 is used. For this reason, as indicated by the dotted line, an ideal spherical plane 22 is deviated from the flat surface of the light-receiving element 23.
- the lens system 24 comprises a single lens or a plurality of lenses.
- a flat light-receiving element such as a metal-oxide semiconductor (MOS) or a charge coupled device (CCD) element has cells equidistantly arranged in a matrix form.
- MOS metal-oxide semiconductor
- CCD charge coupled device
- the resolution is constant irrespective of the light-receiving position.
- a continuously flat light-receiving element such as a so-called vidicon also has a uniform two-dimensional position resolution. Therefore, the difference between the flat surface of the flat light-receiving element 23 and the ideal spherical plane 22 indicated by the dotted line must be corrected by the lens or lens system 24.
- the lens satisfying this equation is a fish-eye lens and is known as an equidistant projection lens.
- This spherical camera comprises a light-receiving element 26, an picture memory 27, a coordinate transformation control circuit 28, and a calculation circuit 29, as shown in Fig. 22.
- the light-receiving element 26 generates a signal obtained when a two-dimensional picture is sequentially one-dimensionally scanned.
- the output picture signal from the light-receiving element 26 is converted by an A/D converter (not shown).
- the digital picture signal is then temporarily stored in the picture memory 27.
- the coordinate transformation control circuit 28 controls the calculation circuit 29 for data write/read access with respect to the picture memory 27 and calculations of output data read out from the memory 27.
- the position data of the black dot is interpolated by a weighted average corresponding to a distance in accordance with the adjacent four hollow dots.
- a distance between the hollow dots is short, i.e., when the resolution of the light-receiving element 26 is sufficiently high, a value of a hollow dot near a black dot is approximated as an output.
- the values calculated from these two differentials are plotted as shown in Fig. 23.
- the angle resolution (CURVE-1) of the equidistant projection lens is constant irrespective of the incident angle ⁇ , and the angle resolution (CURVE-2) of the normal lens is decreased when the incident angle ⁇ is decreased.
- the spherical camera has the equidistant projection lens or an equivalent mechanism to have a uniform angle resolution irrespective of the incident angle and a visual field.
- the spherical camera is used as an eye of a robot, three-dimensional measurement is accurately performed.
- the visual field is large, wide-range visual information can be obtained. Therefore, a remote operator can feel as if he is watching an actual picture.
- Spherical mapping three-dimensional measurement is performed on the basis of the image data supplied from the television camera 2.
- the video signal from the television camera 2 as the spherical camera is supplied to the A/D converter 50.
- a digital picture signal from the A/D converter 50 is supplied to the contour extraction section 51.
- the section 51 extracts a contour component from the digital picture signal.
- the contour-extracted picture signal is supplied to the frame memory 52, and the picture detected by the television camera 2 is displayed on the television monitor 53. At the same time, the coordinate and weighting data of the extracted points are supplied to the original picture memory 54.
- the mapping processor 4a When the coordinate and weighting data are stored in the original picture memory 54, the mapping processor 4a reads out the coordinate and weighting data therefrom to generate a great circle given by the coordinate data of the extracted points as described with reference to Fig. 27. These coordinate data is weighted and stored in an internal mapping memory 42 in the mapping processor 4a.
- the mapping processor 4a sequentially reads out the coordinate and weighting data of the extracted points from teh original picture memory 54 and writes in the mapping memory 42 thereof coordinate data representing the great circle in the same manner as described above.
- the processor 4a searches for a peak point S S , and the mapping memory 42 is updated. Thereafter, the contents of the mapping memory 42 are transferred to the mapping memory 55. Line extraction can be performed by the contents of the memory 55.
- mapping results of the mapping processor 4a are stored in the mapping memory 55
- the mapping processor 4b reads out coordinate data of the point S S from the memory 55.
- the coordinate data representing the corresponding great circle is sequentially written in the mapping memory thereof in the same manner as described above.
- the picture detected by the television camera 2 has a plurality of lines and that a plurality of peak points are stored as the mapping results in the mapping memory 55.
- the mapping processor 4b writes a great circle plotted by all the peak points S in the mapping memory thereof in the same manner as described above, the peak point S S is searched, and the mapping memory is updated. In other words, mapping is performed using the coordinates of points S, thereby determining the three-dimensional directions of lines and an intersection therebetween.
- the mapping processor 4b transfers the contents of the mapping memory thereof to the mapping memory 56.
- the mapping processor 4c and the mapping memory 57 for storing the mapping results are provided for obtaining a point S SS in accordance with the contents of the mapping memory 56, thereby deriving planar information.
- mapping processors A series of operations of the mapping processors are perfomred such that the processor 61 in the recognition section 60 exchanges commands and data with the respective mapping processors through the parallel interface 58 and the bus 70.
- the recognition results are printed out at the printer 67 through the printer interface 64.
- a robot controller is connected to the interface 63, the recognition results are supplied to the robot controller.
- the robot controller controls a robot such that the robot will not bump against an obstacle or will grasp a specific object.
- the coordinate transformation can be carried out by using a camera positioned at the center of the sphere.
- the picture information extraction can be carried out, for example, by a translational movement of the camera.
- the measurement of a three-dimensional direction of a straight line, parallel lines, or a plane in space can be carried out by the translational movement of the camera.
- the detection of parallel lines in space and the measurement of the three-dimensional direction of a straight line or a plane in space with regard to the parallel lines can be carried out by the camera positioned at a fixed position.
- the present invention will be exemplified by mapping by Hough transformation.
- the principle of Hough transformation is illustrated in Fig. 24.
- Figures 25 and 26 illustrate a case where the present invention is applied to mapping by Hough transformation.
- have different phases ⁇ .
- the sine wave l1 , of the mapping function of the point P1 is shifted as shown in Fig. 25 similarly as the manner shown in Fig. 11 to obtain the sine wave l2 as the mapping function of the point P2.
- the reference sine wave having as the reference points intersections between the X-axis and the concentric circle, is provided, the sine waves of the points on the concentric circle can be obtained by shifting the reference sine wave.
- the X-Y coordinate plane is divided by concentric circles having radii r1 to r n and is represented by polar coordinates (r, ⁇ ), thereby generating a mapping function in the same manner as described with the spherical transformation.
- Figure 26 shows a registration method of a reference sine wave for the Hough transformation.
- the longitudinal axis in a radial direction of the mapping plane is divided into the concentric circles having radii r1 to r n , and intersections, indicated by small circles, between the reference sine wave and the respective concentric circles are stored to register such a pattern.
- This pattern expression may be made by using a bit pattern or values, as addresses, of Fig. 13.
- Figure 27 is a block diagram of a circuit for generating mapping data for the Hough transformation.
- Reference numeral 40A denotes a reference sine wave ROM for storing coordinate data representing the intersections between the concentric circles and their reference sine waves of mapping functions, as shown in Fig. 26.
- Reference numeral 41A denotes an adder for adding a phase ⁇ of an input point to the corresponding intersecting coordinate data read out from the reference sine wave ROM 40A.
- Reference numeral 42A denotes a mapping memory whose address is accessed in response to an output from the adder 41A so as to store a corresponding sine wave pattern.
- the coordinates of the point P(x,y) are transformed to polar coordinates by the equation described above.
- the point P(x,y) is written by a radius
- is supplied to the reference sine wave ROM 40A which selects the corresponding reference sine wave pattern. Since the adder 41A also receives the phase data ⁇ , the selected reference sine wave pattern is added to the phase data ⁇ , thereby completing the coordinate transformation.
- the reference sine wave pattern is shifted by the phase ⁇ to provide the sine wave pattern corresponding to the point P.
- the output from the adder 41A is supplied as an address signal to access the mapping memory 42A, thereby storing the sine wave pattern corresponding to the point P in the mapping memory 42A.
- the sine wave patterns of the respective points are generated by the reference sine wave ROM 40A on the basis of the reference sine wave pattern stored therein.
- the resultant sine wave patterns of the respective points are stored in the mapping memory 42A.
- distance data may be stored in place of the rotational angle data.
- a transformation ROM for transforming the phase ⁇ to a distance is provided.
- the outputs from the transformation ROM and the reference sine wave ROM 40A are supplied to the adder 41A, and an output from the adder 41A is used as a write address.
- Figure 28 shows another embodiment of a circuit for generating mapping function data by the Hough trans formation, wherein parallel operation is performed.
- the mappin gmemory is divided into mapping memories 420(1), 420(2),... and 420(n) corresponding to the intersections of the reference sine wave pattern and the concentric circles r1 ,... and r n .
- the reference sine wave ROM is also divided into ROMS 400(1), 400(2),... and 400(n) corresponding to the respective concentric circles.
- the adder is divided into adders 410(1), 410(2),... and 410(n)
- the transformation RAM is divided into transformation RAMS 430(1), 430(2),... and 430(n).
- mapping The data extraction by mapping is essentially based on the fact that a quantization structure is provided to a mapping plane assigned with the mapping function, and only the intersections between the quantization structure frame and the mapping function are stored.
- mapping functions SF1 and SF2 record intersections with the frame of this coordinate system.
- the reason why the intersection is not properly extracted is that only one point on each coordinate system frame is recorded for each mapping function.
- a technique is required such that an intersecting portion between the coordinate system frame and the mapping function is not constituted by a bandwidth range, thereby causing each mapping function to record a plurality of points on the coordinate frame.
- a bandwidth H is given to the mapping functions SF1 and SF2 which are then written on the mapping plane.
- the intersection CP between the mapping functions SF1 and SF2 is defined by these functions.
- the weight at the intersection is greater than that at other portions, thereby allowing the intersection CP to be properly extracted.
- mapping functions SF1 and SF2 match with the frame having the width H x , recording is performed within the corresponding frame. In this manner, recording is performed while the allowance width is given to the mapping function.
- the intersections of the mapping functions SF1 and SF2 are indicated by matrix points CP1 and CP2.
- the matrix points CP1 and CP2 respectively assigned to the mapping functions SF1 and SF2 are recorded on the mapping plane, thereby allowing the intersections to be easily extracted.
- Figure 32 shows a recording state of such a mapping plane.
- the mapping function SF crosses lins Y1 to Y4 of the X-Y coordinate system
- four bits which correspond to the X-direction width of the mapping function SF are stored in each of the coordinate frames Y1 to Y4 of the Y-axis in the X-Y coordinate system memory as the mapping plane.
- the mapping function with the bandwidth is stored in the mapping plane.
- Each mapping function is recorded with the plurality of points in each of the Y-coordinate frames Y1 to Y4 crossing the corresponding mapping function, thereby allowing the intersections to be easily reproduced.
- a coordinate frame Y n corresponding to a Y-coordinate in the X-Y coordinate system has a width of X l to X n .
- the corresponding execution rate and the memory capacity are required.
- only end points X l and X n are recorded.
- the weight of the mapping function is defined as "1”
- the weighted start data is assigned as "+1" to the start point X l
- the weighted end data is assigned as "-1" to the end point X n .
- the values of the points X l to X n are differentiated, and the results are assigned to the start and end points. In this manner, data storage is limited to that of two points irrespective of the width of the frame. Therefore, the increase of the execution rate and the memory capacity can be minimized.
- the values of the points X l and X n are sequentially integrated from the left, thereby reproducing the weight level as the RESULT OF INTEGRATION.
- Figure 34 shows a case wherein the start and end points of a plurality of mapping functions are written in the same manner as described above.
- Points X l , X l+1 , X m , X n-1 , and X n of the mapping function SF1 and points X l+1 , X m and X n-1 of the mapping function SF2 are written along the coordinate frame Y n .
- the weight of each of the points X l+1 , X m and X n-1 is given as "2".
- the two end points X and X n-1 of the mapping function are respectively assigned with “+1” and “-1”, and the two end points X l+1 and X n of the mapping functions SF2 are respectively assigned with “+1” and "-1".
- the weight level is reproduced as the RESULT OF INTEGRATION.
- Figure 35 shows a case wherein the above operation is applied to a multivalue weight level.
- a mapping function SF1 of a weight w1. intersects with a mapping function SF2 at the coordinate frame Y n as shown in PART-1 of Fig. 35
- the state of the coordinate frame Y n is given as shown in PART-2 of Fig. 35.
- the start point of the mapping function SF1 , the end point of the mapping function SF1 , the start point of the mapping function SF2 , the end point of the mapping function SF1 , and the end point of the mapping function SF2 are respectively assigned with values "+w1", "+w2", "-w1", and "-w2", as shown in PART-3 of Fig. 35.
- the weight value, of a region between the start and end points and a region size, i.e., the number of bits between the start and end points may be written in the start points.
- Figure 36 is a block diagram of a circuit for realizing end point recording of Figs. 33 to 35.
- This circuit comprises a mapping function generation circuit FUNC-GEN and a mapping memory MEM.
- the mapping function generation circuit FUNC-GEN generates a mapping function corresponding to an extract point P and stores coordinate data of the start and end points of the above-mentioned width of each mapping function for each of the coordinate frames Y1 to Y n .
- a mapping function corresponding to the coordinates of each extract point P is stored in the mapping function generation circuit 11.
- the corresponding mapping function is selected.
- the coordinates representing the start and end points of the selected mapping function are sequentially supplied to the mapping memory MEM.
- the start and end data are stored in the corresponding coordinate memory area in the mapping memory MEM. It should be noted that the weighted end data is also written when the mapping function is weighted.
- the effect of the system shown in Fig. 36 will be described with reference to Fig. 37.
- a case will be described wherein three mapping functions intersect with each other in the coordinate frame Y n .
- the first illustration shows conventional mapping function writing.
- the weight level of the mapping function is a relatively smooth curve when the mapping function is written in the coordinate frame Y n . It is thus difficult to detect the peak position (WEIGHT LEVEL, CASE-1).
- the peak level is increased near the intersection in the second illustration, and the slope is relatively steep, thereby simplifying peak level detection (WEIGHT LEVEL, CASE-2).
- the third illustration shows another peak value detection to be described later (WEIGHT LEVEL, CASE-3).
- suppression regions SFa and SFb having a polarity opposite to the mapping function SF are provided at two sides of the function SF.
- a function is produced such that the suppression regions SFa and SFb are added to the width inherently given to the function SF.
- mapping functions each having the width and the suppression regions intersecting with each other, as shown in PART-3 of Fig. 38, the effect of the width is provided at the intersection, i.e., the crossing point.
- the mapping functions cancel each other by means of the suppression regions around the intersection CP, thereby obtaining the mapping result with an emphasized intersection.
- the mapping function SF has the bandwidth and interferes with another mapping function with the bandwidth, writing of a excessive portion around the intersection is performed. In order to prevent such excessive writing, the suppression regions are provided.
- cancelling is performed in the dotted regions by the suppression regions around the intersection CP.
- each suppression region SFa and SFb each having the same width as that of the bandwidth of the function are provided, as shown in PART-1 of Fig. 38, each suppression region is weighted by -w/2 while the region SF is weighted by w, thereby cancelling the effect of the increment of the weight of the mapping function SF.
- the suppression regions decrease the offset level as compared with the mapping function having only the bandwidth, and the intersection is further emphasized, thereby obtaining a steep peak. Therefore, the intersection can be further easily extracted.
- the left suppression region SFa added to the mapping function at the coordinate frame Y n is defined by points X to X m-1
- the right suppression region SFb thereof is defined by points X p+1 to X n .
- These points of the right and left suppression regions are weighted by -a.
- the original region SF of the mapping function is defined by points X m to X p which are weighted by b. All the points are not written in consideration of the write rate and the number of data to be stored.
- the start point X l of the suppression region SFa is weighted by "-a”
- the start point X m of the mapping function SF is weighted by "a+b”
- the end point X p of the mapping function SF is weighted by "-(a+b)”
- the end point of the suppression region SFb is weighted by "a”. It should be noted that since the start point of the region SF of the mapping function is located next to the end point of the suppression point SFa, the end point of suppression point SFa is not recorded; instead, the differentiated value of the start point of the region SF of the mapping function is written.
- the differentiated value of the end point of the region SF is written as the start point of the suppression region SFb in accordance with the same principle described above.
- a start point address of the suppression region SFa, the start and end point addresses of the width region SF of the mapping function and the end point address of the suppression region SFb are generated, and the differentiated values are separately supplied to and written in the mapping memory.
- Figure 40 is a block diagram showing a system for realizing the above-mentioned scheme.
- This system comprises a mapping function generation circuit FUNC-GEN and a mapping memory MEM.
- the mapping function generation circuit FUNC-GEN stores mapping functions respectively corresponding to the extract points P. More particularly, the circuit FUNC-GEN stores the start address X l of the suppression region SFa of the mapping function at each of the coordinate frames Y l to Y n , the start address X m of the width region, the end address X p of the width region, and the end address X n of the suppression region SFb.
- the mapping function generation circuit FUNC-GEN When the coordinate data of the extract point P is supplied to the mapping function generation circuit FUNC-GEN, the corresponding mapping function is selected, and the start address X l , the start and end addresses X m and X p , and the end address X n are supplied to the mapping memory MEM, thereby writing the differentiated values therein at the addresses corresponding to the above-mentioned address data supplied thereto.
- the bandwidth is used in the mapping function, and the end points are recorded to store the function, and the end points are recorded to store the mapping function in the mapping memory. Therefore, two mapping functions R lma and L lma which represent the end points as the extract point of the great circle as the mapping function are to be generated. In other words, the locus addresses of the two end points on each concentric circuit are to be generated.
- the reference mapping functions each showing the two end points as the reference points on the corresponding concentric circle are stored.
- the reference mapping function is shifted on the polar coordinate system in accordance with a distance L between the reference point and the extract point, thereby generating the two mapping functions for the extract point.
- Figure 42 shows representations for explaining generation of the two mapping functions.
- locus addresses of the mapping functions R lma and L lma on the identical concentric circle r m are defined as X R and X L , respectively.
- an angle of the extract point P between a line OP and the horizontal axis where 0 is the origin of the semisphere is defined as ⁇ and the angle between the circle r m and the horizontal axis is defined as ⁇ .
- the locus addresses on each concentric circle are solely defined by the X-Y coordinates suitably adapted for the memory.
- the locus addresses of the two reference mapping functions corresponding to the reference point are calculated by the above equations, and the resultant data are stored in the mapping function generation memory.
- Figure 43 is a block diagram of a system for realizing the above scheme described with reference to Fig. 41.
- reference numerals 4000(1) and 4000(2) denote reference great circle ROMS.
- the ROM 4000(1) stores the reference mapping function R lma representing one end point of the reference mapping function with the bandwidth with respect to the reference point of the identical concentric circle.
- the ROM 4000(2) stores the reference mapping function L lmba representing the other end point thereof.
- the data in the ROMs 4000(1) and 4000(2) are stored in the form of (X L ,Y) and (X R ,Y), respectively.
- Reference numerals 4100(1) and 4100(2) denote adders.
- the adder 4100(1) adds the output from the ROM 4000(1) and an output L from a rotation ROM, which will be described in detail later.
- the adder 4100(2) adds thue output from the ROM 4000(2) and the output L from the rotation ROM.
- Reference numeral 42 denotes a mapping memory for storing the mapping functions in the X-Y coordinate system.
- a rotation ROM 43 transforms the rotational position ⁇ of the etract point with respect to the reference point into the distance L.
- the coordinates of the extract point P are given as the circle r and the angle ⁇ with respect to the reference point.
- the circle data r for the point P is supplied to the reference mapping function ROM's 4000(1) and 4000(2) which respectively select the mapping functions R lma and L lma corresponding to the reference point of the concentric circular r.
- the locus addresses (X L , Y) and (X R , Y) of each concentric circle are supplied to the adders 4100(1) and 4100(2), respectively.
- the rotational angle data ⁇ of the point P is supplied to the rotation ROM 43 and is transformed into the distance L.
- the distance data L is supplied to the adders 4100(1) and 4100(2).
- the adders 4100(1) and 4100(2) perform additions X L +L and X R +L, respectively.
- the outputs (X L +L,Y) and (X R +L,Y) from the adders 4100(1) and 4100(2) are supplied as write address data to the mapping memory 42.
- data "+1" and "-1" are stored at the addresses accessed by the write address data, respectively.
- the locus addresses of the respective concentric circles are shifted in the same manner as described above, and the corresponding data is stored in the mapping memory 42, thereby completing writing of the great circle of the mapping function of the extract point P which has the bandwidth.
- suppression regions are provided at two sides of the width region of the mapping function, and the end points are generated to record such a mapping function.
- two mapping functions S lma and F lma representing the end points of the suppression regions are generated. Therefore, the locus addresses of these mapping functions which are plotted on each concentric circle are generated. Only four reference mapping functions with respect to the reference point of each concentric circle are stored and are shifted in accordance with a distance L between the reference point and the extract point, thereby generating a mapping function having the width at the extract point and the suppression regions.
- the four functions R lma , L lma , S lma , and F lma are generated.
- Figure 45 is a block diagram showing a system for realizing the scheme described with reference to Fig. 44.
- reference numerals 4000(3) and 4000(4) denote reference mapping function ROM's which respectively store the mapping functions S lma and F lma in the same manner as the ROM's 4000(1) and 4000(2) so as to control the suppression regions.
- Reference numerals 4100(3) and 4100(4) denote adders corresponding to the ROM's 4000(3) and 4000(4), respectively.
- the adders 4100(3) and 4100(4) are arranged in the same manner as the adders 4100(1) and 4100(2), respectively.
- the operation of the system shown in Fig. 45 will be described hereinafter.
- the coordinates of the extract point P are given as the polar coordinates (r, ⁇ ) to the reference mapping function ROM's 4000(1), 4000(2), 4000(3), and 4000(4).
- the rotational angle 8 is supplied to the rotation ROM 43.
- the end addresses (X L ,Y) and (X R ,Y) of the width region of the mapping function corresponding to the reference point of the concentric circle r are read out from the reference mapping function ROMs 4000(3) and 4000(4), respectively.
- Addresses (X S ,Y) and (X F ,Y) of the reference mapping functions S lma and F lma of the suppression regions are read out from the reference mapping function ROMS 4000(3) and 4000(4).
- the adders 4100(1) to 4100(4) perform additions of X L +L, X R +L, X S +L and X F +L.
- the outputs (X L +L,Y), (X R +L,Y), (X S +L,Y) and (X F +L,Y) from the adders 4100(1) to 4100(4) are supplied as write address data to the mapping memory 42.
- mapping memory 42 data "a+b”, “-(a+b)”, “-a” and “+a” are respectively written at addresses accessed by the write address data (X L +L,Y), (X R +L,Y), (X S +L,Y) and (X F +L,Y).
- the locus addresses are shifted for each concentric circle and are written in the mapping memory 42, thereby writing the mapping function which corresponding to the extract point P and which has the bandwidth and the suppression regions.
- mapping function which corresponds to one extract point and which has the bandwidth and the suppression regions is completely written, the mapping function of the next extract point of interest will be written in the same manner as described above.
- Figure 46 shows the state of the mapping memory for storing the mapping functions by the system of Fig. 43.
- Figure 47 shows the state of the mapping memory for storing the mapping function by the system shown in Fig. 45.
- the peak point can be easily extracted as the intersection CP with a sufficiently high weight level, as shown in Fig. 46.
- the peak value is further emphasized and made steep, thereby allowing the intersection CP to be easily extracted.
- FIG. 48 An example of a mapping processor for realizing the above-mentioned scheme is shown in Fig. 48.
- Reference numeral 44 denotes a concentric circle counter for sequentially generating addresses Y1 to Y m of the concentric circles with radii r1 to r m .
- the address data from the concentric circle counter 44 is supplied to a great circle ROM 40, a shift value ROM 43, or the like.
- Reference numeral 45 denotes a concentric circle maximum value ROM for storing a maximum value of the concentric circles along the rotational direction since the number of concentric circles varies under the assumption that the polar coordinates are given in the form of (r,L).
- a maximum value is read out from the concentric circle maximum value ROM 45 in response to the address data from the concentric circle counter 44.
- Reference numeral 46 denotes a normalization circuit for normalizing an output from an adder 41 which calculates a sum of the outputs of the great circle ROM 40 and the shift ROM 43 when the sum exceeds 360°, i.e., the maximum value of the concentric value with respect to the reference point.
- the maximum value of the data from the concentric circle maximum value ROM 45 is normalized as the rotational angle of 360°.
- Reference numeral 47a denotes a non-existence detection circuit.
- the non-existence detection circuit 47a monitors the output from the great circle ROM 40. When the output from the ROM 40 represents the non-existent value, the circuit 47a generates a write inhibit signal since the corresponding concentric circle does not have intersections.
- Reference numeral 47b denotes a write control circuit for inhibiting the write access of the mapping memory 42 which is designated by the write address data from the normalization circuit 46 in response to the write inhibit signal generated from the non-existence detection circuit 47a.
- Reference numeral 48a denotes a latch circuit for latching the contents read out from the mapping memory 42.
- Reference numeral 48b denotes an adder for adding the contents of the latch circuit 48a and a sum generated from a switching circuit which will be described below.
- the resultant sum is stored in the mapping memory 42 through a bus BUS.
- a switching circuit 49a selectively supplies the weight W of the point P from the bus BUS or the value generated from an integrating register 49b, which will be described below, to the adder 48b.
- the integrating register 49b integrates the differentiated end point data.
- Reference numeral 49c denotes a suppression counter for generating the above-mentioned four addresses so as to generate the suppression regions SFa an Sfb.
- Reference numeral 49b denotes a multiplier for multiplying the weight W from the bus BUS with ⁇ 1/2, 3/2, ⁇ 3/2, or 1/2 in response to the output from the suppression counter 49c.
- Coordinates (r m , ⁇ m ) and a weight W of each extract point are generated from a memory (not shown).
- the great circle ROM 40 is the same memory constituted by the ROM'S 4000(1) to 4000(4) (Fig. 45).
- the ROM 40 stores the mapping function which has the bandwidth and the suppression region. More particularly, the ROM 40 stores the four address data. These four address data are sequentially read out from the ROM 40 in response to the output from the counter 49c.
- the coordinate r m along the direction for the concentric circle is supplied to the great circle ROM 40, and the four reference great circles S lma , R lma , L lma and F lma corresponding to the coordinate r m are selected.
- the coordinate ⁇ m along the rotation direction is supplied to the shift ROM 43, and shift distances Lm corresponding to the coordinate ⁇ m are selected.
- the concentric circle counter 44 sequentially generates address data of each concentric circle. This address data is supplied to the concentric circle maximum value ROM 45, the great circle ROM 40, and the shift ROM 43. The maximum value of the corresponding concentric circle is generated from the concentric circle maximum value ROM 45.
- the address data as the intersections between the concentric circle and the four reference great circles l m is sequentially read out from the great circle ROM 40 in response to the outputs from the suppression counter 49.
- the shift distance among the distances L m which corresponds to the concentric circle is read out from the shift ROM 43. Therefore, the adder 41 adds the four intersection coordinates generated from the great circle ROM 40 and the shift distance generated from the shift ROM 43.
- a sum from the adder 41 is supplied to the normalization circuit 46.
- the circuit 46 compares the maximum value read out from the concentric circle maximum value ROM 45 with the sum generated from the adder 41. When the sum is smaller than the maximum value, the sum is supplied as the write address data to the mapping memory 42.
- a value "sum value - maximum value" is supplied as the write address data to the mapping memory 42.
- the four intersection coordinates from the ROM 40 are also supplied to the non-existence detection circuit 47a.
- the circuit 47a detects any non-existent value among the intersection coordinates, the circuit 47a determines that the corresponding concentric circle does not have any intersections.
- the write inhibit signal is supplied from the non-existent detection circuit 47a to the write control circuit 47b.
- the circuit 47b inhibits writing of the mapping memory 42 at the designated address.
- the write inhibit signal is not generated, the corresponding data is stored at the address of the mapping memory 42 which is accessed by the address data.
- the content at the accessed write address is read out from the mapping memory 42.
- the readout data is latched by the latch circuit 48a through the bus BUS.
- the multiplier 49d supplies -w/2, 3w/2, -3w/2, and w/2 to the switching circuit 49a to weight the end points X l , X m , X p , and X n shown in Fig. 39 in accordance with the outputs from the suppression counter 49c.
- the switching circuit 49a is operated to supply the outputs from the multiplier 49d to the adder 48b.
- the adder 48b adds the contents of the latch 48a and the outputs from the multiplier 49d, and the addition results are sent onto the bus BUS and stored in the corresponding memory area of the mapping memory 42.
- the multiplier 49d sequentially generates output -w/2, 3w/2, -3w/2, and w/2 to the suppression counter 49c in response to the output from the suppression counter 49c.
- the address data of each end point for the great circle ROM 40 is sequentially updated in response to the output from the suppression counter 49c.
- the outputs from the adders 41 are then sequentially stored in the mapping memory 42, and at the same time are stored in the latch circuit 48a, thus being sequentially synchronized with the outputs generated from the multiplier 49d.
- the adder 48b calculates a sum of the content of the point X l as the start point of the suppression region and the output -w/2, and the resultant sum is written at an address of the mapping memory 42 which corresponds to the start point X l .
- the adder 48b adds the content of the point X m as the start point of the width region and the output 3w/2, and the resultant sum is written at an address of the mapping memory 42 which corresponds to the start point X m .
- the content of the point X p as the end point of the width region is added to the output -3w/2, and the resultant sum is stored at an address of the mapping memory 42 which corresponds to the end point X p .
- the content of the point X n is added to the output w/2, and the resultant sum is stored at an address of the mapping memory 42 which corresponds to the end point X n .
- the count of the concentric circle counter 44 is updated to sequentially generate the next four end address data from the great circle ROM 40. These four data are shifted and weighted by the adder 41, and the resultant data is stored in the mapping memory 42.
- mapping memory 42 When storage of the great circles for one point P in the mapping memory 42 is completed, the net point coordinates and weight are supplied through the bus BUS. The great circles are written in the mapping memory 42 in the same manner as described above.
- mapping memory 42 When all the great circles for all points of interest are written in the mapping memory 42, the same storage contents as described with reference to Fig. 39 are obtained. Subsequently, the peak point is searched from the contents of the mapping memory 42. The peak point is detected as the intersection between the great circles.
- mapping memory 42 the contents of the mapping memory 42 are integrated to obtain the original level distribution as shown in Figs. 33 and 34.
- the switching circuit 49a is switched to an integrating register 49b to supply the contents of the integrating register 49b to the adder 48a.
- the contents of the mapping memory 42 are scanned along the Y- and X-axes and read out therefrom.
- the readout data is supplied to the latch circuit 48a and is added by the adder 48b to the contents of the integrating register 49b.
- the sum is stored in the corresponding memory area of the mapping memory 42 through the bus BUS and is also set in the integrating register 49b.
- the outputs from the adder 48b are integrated. In other words, the integration of weights of the end points, i.e., the original level distribution contents shown in Figs. 46 and 47 are stored in the mapping memory 42.
- the output from the mapping memory 42 is sliced at a predetermined slice value.
- the slice value is set in the integrating register 49b.
- the content of the mapping memory 42 are read out and latched by the latch circuit 48a through the bus BUS.
- the adder 48b adds the latched contents and the slice value. When the sum overflows, the adder 48b generates a carry signal. Otherwise, the adder 48b does not generate the carry signal.
- the slice value is set so as not to generate a carry signal for a point excluding the peak point, the carry signal is not generated at a point excluding the peak point. Therefore, the carry signal is generated only at the peak point. In other words, slicing by addition is performed.
- An output from the adder 48b is stored at the immediately previous read address of the mapping memory 42 through the bus BUS, and the register 49b is not updated.
- the data "1" is stored for the peak point S in the mapping memory, and the data "0" are stored in other addresses thereof.
- the data extraction by mapping is completed.
- the mapping function having the allowance width and the suppression regions is generated and stored by the system (Fig. 45) for causing the suppression counter 49c to generate four end point address data.
- the mapping function has only the allowance width and is generated by the system shown in Fig. 43
- the ROM 40 is constituted by the ROM's 4000(1) and 4000(2) shown in Fig.. 37, and the 4-bit suppression counter 49c is replaced with a 2-bit width counter, thereby generating and writing such a mapping function.
- Figures 49 to 52 show an example when the present invention is applied to Hough transformation.
- Hough transformation is used as a technique for condensing a probability when a line or a segment of the input image is to be extracted.
- the two-dimensional coordinates (X,Y) are mapped to polar coordinates (r, ⁇ ).
- the intersection can be easily extracted.
- the bandwidth SF and the suppression regions SFa and SFb are given to the sine waves, a steeper peak point can be obtained. Therefore, the peak point, i.e., the intersection, can be easily and accurately detected.
- the same mapping function generation as in spherical transformation can be used in the Hough transformation.
- Figure 52 is an example of a mapping processor wherein the present invention is applied to Hough transformation.
- Reference numerals 4000A(1) and 4000A(2) denote reference sine wave ROM's for storing coordinates of intersections between the reference sine wave and the concentric circles.
- the ROM 4000A(1) stores the reference sine wave representing the start point of the width region, and the ROM 4000A(2) stores the reference sine wave of the end point thereof.
- Reference numerals 4100A(1) and 4100A(2) denote adders; and 42, a mapping memory.
- the write addresses of the ROMs 4000A(1) and 4000A(2) are accessed in response to the outputs from the adders 4100A(1) and 4100A(2), respectively, thereby storing the sine wave patterns therein.
- the mapping processor shown in Fig. 52 is obtained by replacing the reference great circle ROM's with reference sine wave ROM's 4000A(1) and 4000A(2), respectively.
- the operation of the mapping processor of Fig. 52 will be described hereinafter.
- the coordinates of the point (X,Y) are transformed into polar coordinates consisting of the circle
- the circle data r is supplied to the reference sine wave ROM's 4000A(1) and 4000A(2) which generate reference sine wave patterns corresponding to the concentric circle radius
- the phase ⁇ is supplied to the rotation ROM 43 wihch transforms the phase ⁇ to the distance L.
- the adders 4100A(1) and 4100A(2) add the selected reference sine wave patterns and the distance L.
- the reference sine wave patterns are shifted by the phase ⁇ corresponding to the distance L, thereby obtaining the reference wave patterns corresponding to the point P.
- the outputs from the adders 4100A(1) and 4100A(2) are used as the write addresses, thereby storing the sine waves corresponding to the point P in the mapping memory 42.
- the sine waves of the respective points are stored in the reference sine wave ROM 4000A in accordance with the reference sine waves.
- intersection extraction can be performed in the same manner as described above.
- mapping processor of Fig. 52 The structure and operation of the mapping processor of Fig. 52 are the same as those illustrated in Figs. 30 to 37. A modification may be made on the basis of Figs. 38 to 40. As shown in Fig. 45, four reference sine wave ROM's are provided as the reference mapping function ROM. End point recording can also be applied to the mapping processor of Fig. 52.
- FIG. 48 An example of the structure and the operation of the mapping processor shown in Fig. 48 is further explained with reference to Figs. 53 to 58.
- Figs. 53 and 54 schematic diagrams for explaining the structure of the mapping processor are shown.
- Fig. 55 the sequence of the execution of the programs is illustrated.
- Figs. 56, 57, and 58 flow charts of the operation of the mapping processor are shown.
- Fig. 53 the system for the writing of great circles is illustrated.
- the mapping plane address is supplied to the mapping plane in a first step.
- the multiplier the multiplication of the original data by the differentiation data is carried out.
- the result of the addition of the output of the multiplier to the data read from the mapping plane is written into the mapping plane in a second step.
- the instruction portion includes a pulse synchronizer, a sequential control circuit, a micro-program ROM, a pipeline register, and a decoder.
- the great circle writing portion includes an arithmetic and logic unit, a data bus, a great circle ROM, a multiplier ROM, a mapping plane ROM, a shift ROM, a hand shake circuit, and a connector.
- Fig. 55 A sequence of a program “CLEAR”, a program “MAP”, and a program “INTEG” is illustrated.
- the flow charts of the execution of the program “CLEAR”, the program “MAP”, and the program "INTEG” are shown in Figs. 56, 57, and 58.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
- Apparatus For Radiation Diagnosis (AREA)
- Image Processing (AREA)
- Position Input By Displaying (AREA)
Abstract
Description
- The present invention relates to an information extraction method for extracting information of a picture by means of mapping. The method according to the present invention can be used to obtain information concerning a picture, such as the existence of a straight line, the intersection of straight lines, and the three-dimensional direction of straight lines or parallel lines. Such information is useful for pattern recognition of an object, such as in the case of pattern recognition by an industrial robot.
- In general, in order to obtain pattern information of an object article, an image of the object is taken by an imaging device, such as a TV camera, the image is processed electronically, and information is extracted from the result of the image processing.
- One of the prior art methods of the information extraction is the Hough transformation method, in which the probability of extraction of a straight line or a line segment in the image from the object is enhanced.
- In the Hough transformation method, the coordinates of a point (xi , yi) in the x-y plane of the image plane are transformed into a mapping function in the form of a sine wave:
ρ = xi cosϑ + yi sinϑ, in the ϑ - ρ plane of the parameter plane. - The sine waves, which correspond to points on a straight line in the picture plane, intersect at two points in the parameter plane. If only the positive value of ρ is taken into consideration, the above-mentioned sine waves intersect at a single point. The angle ϑ₀ and the height ρ₀ of the intersecting point in the parameter plane indicate the length of the vertical line from the original point to the straight line and the angle of the vertical line in the image plane. Hence, information of the straight line on the image plane can be extracted by using the obtained data of the angle ϑ₀ and the height ρ₀. It is also possible to use such information extraction to reproduce a straight line having interruptions or distortions.
- In the prior art Hough transformation method, however, it is necessary to obtain mapping functions corresponding to every point. The number of points for which the mapping functions are to be obtained is quite large. Hence, it takes a considerable length of time if such mapping functions are obtained by calculations in a point-by-point manner. Accordingly, it is difficult to extract information at a high speed.
- Prior art technology for three-dimensional measurement of an object article includes a method for detecting the three-dimensional direction of a line or a plane existing in space, a method of using the vanishing point, and a method of binocular vision. However, these prior art methods may be used only under limited conditions of measurement.
- It is an object of the present invention to provide an improved method able to extract information of a picture at a relatively high speed using the mapping process.
- It is another object of the present invention to provide an improved information extraction method which may be used for the detection of the three-dimensional direction of a single line or a single plane existing in space.
- It is another object of the present invention to provide an improved information extraction method which may be used for the detection of the existence of a line segment, the intersection point of lines, and the three-dimensional direction of parallel lines.
- In accordance with the present invention, there is provided an information extraction method for extracting information of a picture on a plane in question by mapping including the steps of: setting reference points on the plane in question; obtaining and storing the data of the mapping functions of the set reference points; obtaining data of relative positions of points on the plane in question with respect to the reference points; shifting the mapping functions of the reference points in coordinate values on the mapping plane by the obtained relative position data of points on the plane in question; obtaining mapping functions of points on the plane in question from the result of the shifting of the mapping functions of the reference points; and extracting information of a picture on the plane in question on the basis of mapping function data of coordinate values of the points.
- In the drawings, Figs.
- Figs. 1 to 8 illustrate the principle of spherical mapping using a spherical projection in information extraction
- Fig. 9 shows the fundamental process of information extraction using spherical mapping according to the present invention;
- Figs. 10 to 13 illustrate the production of the mapping function used for the information extraction method according to the present invention;
- Figs. 14 to 18 illustrate the generation and the storage of the data of the mapping function;
- Fig. 19 shows an example of the mapping processor used for the information extraction;
- Fig. 20 shows a three-dimensional measurement system as an example of the system to which the mapping processor is applied;
- Figs. 21 to 23 illustrate a television camera used for the information extraction;
- Figs. 24 to 26 illustrate an embodiment in which mapping by Hough transformation is used;
- Figs. 27 and 28 illustrate the generation and the storage of data of the mapping function by Hough transformation;
- Fig. 29 illustrates the problem of giving a bandwidth to a mapping function;
- Figs. 30 to 37 illustrate an embodiment wherein a bandwidth is given to a mapping function;
- Figs. 38 to 40 illustrate an embodiment wherein a bandwidth and suppression regions are given to a mapping function;
- Figs. 41 to 43 illustrate a process of production of a mapping function wherein a bandwidth is applied;
- Figs. 44 and 45 illustrate a process of production of a mapping function wherein a bandwidth and suppression regions are given;
- Figs. 46 and 47 show examples of the memory data stored in a mapping function memroy;
- Fig. 48 shows an example of a mepping processor for giving a bandwidth and suppression regions to a mapping function; and
- Figs. 49 to 52 illustrate an example of the giving the bandwidth and the suppression regions to a mapping function by Hough transformation;
- Figs. 53 and 54 are schematic diagrams for explaining an example of the structure of a mapping processor;
- Fig. 55 illustrates the sequence of the execution of the programs for the example of a mapping processor; and
- Figs. 56, 57, and 58 are flow charts of the operation of the example of a mapping processor.
- The information extraction according to the present invention is based on mapping. There are two methods employed in the mapping: spherical projection and Hough transformation.
- In the spherical projection method, a great circle on the sphere is used as the mapping function, while in the Hough transformation method a Hough transformed sine wave is used as the mapping function. In each of the methods, points on the plane in question are transformed into mapping functions, the obtained mapping functions are written in the mapping plane, and the information contained in each of the points in the plane in question, such as the existence of a straight line and the position and direction of the straight line, is extracted from the mutual relationship of the mapping functions, such as the intersection point of the straight lines.
- In the process of production of the mapping function, it is necessary to produce a mapping function for each of the points. The production of the mapping functions accounts for the largest part of the time required for information extraction using mapping.
- The principle of spherical mapping using a spherical projection is described with reference to Figs. 1 to 4. The fundamental process of spherical mapping using a spherical projection is as follows: An original picture is projected on the surface of a sphere to create a spherical projection. Great circles are drawn on the surface of the sphere corresponding to each of the projected points. Each great circle is defined by the intersection between the surface of the sphere and the plane which is perpendicular to the radius connecting the center of the sphere and the point in question on the surface of the sphere, that plane including the center of the sphere.
- The required information is extracted from the mutual relationship between the drawn groups of the great circles.
- By such a fundamental process of the spherical mapping, the normal vector of the plane containing the points of the original picture and the center of the sphere is obtained. At the same time, a line segment can be extracted and an interrupted or distorted line segment can be reproduced. When mapping the information of the changing projection to a single point on the surface of the sphere, the path of a point-type object article carrying out linear movement is extracted. When mapping the projection of a plurality of line segments to a single point on the surface of the sphere and in subsequent mapping of the obtained mapping point, the intersection point of the plurality of line segments is reproduced.
- In Fig. 1, a
cubic configuration 31 is projected onto aflat plane 32 as a plane projection and to the surface of asphere 33 as a spherical projection. It is assumed that a camera is positioned at the center of thesphere 33. The photograph taken by the camera using an ordinary lens takes the form of the plane projection on theplane 32, while the photograph taken by the camera using a fish-eye lens takes the form of the sphere projection on the surface of thesphere 33. - In the following description of the spherical projection, the radius of the sphere is assumed as a unit length.
- As shown in Fig. 2,
straight line segments 38 on anEuclidian plane 35 are projected on the surface of asphere 33 as portions ofgreat circles 37. Thegreat circles 37 may be defined as straight lines on the surface of thesphere 33. The "point" on theplane 35 corresponds to the pole on the surface of thesphere 33, which pole may be defined as a point on the surface of thesphere 33. By using the spherical projection, the spherical geometry, particularly Liemann's elliptic non-Euclidian geometry is established, instead of Euclidian geometry. - With such a spherical projection, the projections of the
parallel lines 38 in aEuclidian plane 35 intersect thespherical surface 33 at thepoints 39 defining a finite range of length. Of course, the projections of the intersectinglines 40 in theEuclidian plane 35 also intersect thespherical surface 33. Thus, with the spherical projection, the intersection point of the parallel lines at infinite distance is measured by the latitude and longitude of the sphere. This measurement by spherical projection is the basis of the three-dimensional measurement by spherical mapping. - The correspondence of a point to a line, i.e., a great circle on the surface of the sphere; is illustrated in Fig. 3. A point P in space is projected to a point P′ on the surface of the
sphere 33 by spherical projection. The mapping of the point P′ to the great circle, i.e., line ℓ is carried out by spherical mapping. As shown in Fig. 3, the mapping of the point P′ to the line ℓ is given as the line on the surface of thesphere 33 as cut by the plane perpendicular to the radius connecting the point P′ and the center 0 of the sphere and including the center 0. By this spherical mapping, the correspondence of the point P in space to the line ℓ on the surface of thesphere 33 is achieved. - The correspondence of a line to a point defined by a group of line by the spherical mapping is illustrated in Fig. 4. A line L in space is projected to a line L′ on the surface of the
sphere 33 by the spherical mapping. Points P₁ , P₂ , P₃ ... on the line L are projected to points P′₁ , P′₂ , P′₃ ... on the line L′. Mapping of the points P′₁ , P′₂ , P′₃ ... to a group of lines ℓ₁ , ℓ₂ , ℓ₃ ..., which is a group of great circles, is carried out. The group of these great circles intersect at two points cn the surface of thesphere 33, which points are symmetrical with respect to the center of thesphere 33. These two points are represented by one of these two points. This representative point is called "point S" and is used as a mapping point. The information of the line L can be said to be condensed at the spoint S by spherical mapping. The points P₁ , P₂ , P₃ ..., the points P′₁ , P′₂ , P′₃ , ..., and the lines ℓ₁ , ℓ₂ , ℓ₃ , ... may be regarded as continuous points and lines. However, in practice, the points P₁ , P₂ , P₃ ..., the points P′₁ , P′₂ , P′₃ ..., and the lines ℓ₁ , ℓ₂ , ℓ₃ ... may be discrete points and lines due to the structure of the light receiving sensor elements or the picture memory. - The vector from the center of the sphere to point S may be expressed as VEC(S). VEC(S) is the normal vector of the plane containing the line L and the original 0.
- Reproduction of an interrupted or distorted line is described with reference to Fig. 5. Sometimes, in a picture taken by a camera, there are distortions due to noise signals and partially unclear portions due to the background. To counter such phenomena, a line segment is reproduced from a line segment having interruptions or distortions by information condensation using the spherical mapping.
- Such a process is described with reference to Fig. 5. When mappings of line segments LS₁ in space are carried out, if these line segments LS₁ are portions of the same straight line, notwithstanding the existence of interruptions or distortions, the spherical mapping points of these line segments are assembled in the close vicinity of a certain point S, as shown in the left illustration of Fig. 5. That is, the great circles, which are the mapping functions of the points on the line segment, pass through the close vicinity of the point S.
- Hence, reproduction of line segments can be carried out by designating the peak point where the great circles are assembled most frequently as the point S and mapping from the obtained point S to line L₂.
- The detection of the motion of a moving object, in this case a point, is described with reference to Fig. 6. For example, the projection images are stored in sequence at predetermined intervals in a picture memory. After that, the difference between the present projection image and the just preceding projection image is obtained. The change of the projection image can be extracted in this way.
- Once extracting the change in the projection image on the surface of the
sphere 33, the mapping functions of the changed projection points are successively accumulated. - If the object is carrying out linear motion, the value of the accumulation of the signals resulting from the mapping at a certain point is increased. The peak position of such accumulation is designated as point S. Then, inverse mapping is carried out, as in the case shown in the right illustration in Fig. 5.
- By such inverse mapping, the path of the projection point of the moving point object on the surface of the
sphere 33 can be extracted. - Also, it is possible to detect the motions of plural objects (points) simultaneously according to the above-described method. The longer the travel distance of the objects (points), the larger the value of the peak, thus the better the signal-to-noise (S/N) ratio.
- The intersection point of lines can be reproduced in a similar manner, as shown in Fig. 7. The point S of the line segment P is S(P), while the point S of the line segment Q is S(Q). The great circle passing through S(P) and S(Q) is ℓ. The radius normal to the plane containing the great circle passes through the intersection point of the line P′ and the line Q′. The lines P′ and Q′ are projections on the surface of the
sphere 33 of the lines P and Q. The intersection point of the line P′ and the line Q′ is called point SS , from the nature of a second mapping after a first mapping. That is, by the subsequent mapping of the S points of the line segments, the intersection point SS is reproduced. The information of the points on the line segment are accumulated at the point S. The information of the S points on the great circle ℓ are accumulated at the point SS. It may be considered that the information of all the points constituting the original line segment is accumulated at the point SS. Hence, reproduction of the intersection point can be attained with a high S/N ratio. The above-described technique is also applicable to the case where three lines intersect at one point. - The case of parallel two lines parallel is described with reference to Fig. 8. It may be said that that parallel lines intersect at an infinite point. It is difficult to obtain the infinite point by ordinary methods.
- However, it is possible to obtain the intersection point SS on the surface of the
sphere 33, similarly as in the case of two intersecting lines. Moreover, as the number of parallel lines increases, the reproduction of the intersection point can be carried out with a higher S/N ratio. - The decision whether the point SS actually indicates parallel lines is carried out as follows. The camera which takes the picture of the parallel lines carries out translational motion. If, in spite of such translational motion of the camera, no movement of the point SS occurs, the lines corresponding to the point SS are judged parallel. If, by such translational motion of the camera, movement of the point SS occurs, the lines corresponding to the point SS are judged non-parallel.
- The decision can be carried out in a similar manner by using two cameras instead of the motion of one camera. If the SS points obtained from the pictures by these two cameras are the same point, the lines are parallel.
- The fundamental process of spherical mapping used in an embodiment of the present invention is described with reference to Fig. 9. A point P on the surface of the sphere 33 (actually a memory corresponding to the sphere 33) is extracted. The mapping function, which is a great circle, of the point P is produced and written into the surface of another
sphere 33′ (actually a memory corresponding to thesphere 33′). The intersection point S of great circles ℓ₁ and ℓ₂ is obtained. From the position of the intersection point S, the information of the points on the surface of thesphere 33 are extracted. - Thus, the extraction and the reproduction of a line segment are carried out as illustrated in Figs. 4 and 5, and the extraction of the intersection point of the line segments and a plane is carried out as illustrated in Figs. 7 and 8.
- It is necessary to produce the mapping functions ℓi from the points Pi on the surface of the sphere, in order to carry out information extraction by spherical mapping. The mapping functions ℓi(ℓ₁ , ℓ₂ , ℓ₃ ...) correspond to the points Pi(P₁ , P₂ , P₃ ...). It would take considerable time if the calculation were carried out for each set of coordinates of the great circles corresponding to the great circles. In order to achieve mapping at a high speed, the mapping plane is specially structured so as to increase the speed of smaller and allow use of a smaller capacity memory. The production of the mapping function is carried out as illustrated in Figs. 10 to 15. In the illustration of the spherical surface in Fig. 10, the mapping plane, i.e., the
surface 33′ of the sphere, is divided by concentric latitude lines r₁ , r₂ ... rn. Corresponding to this division, in the illustration of the mapping plane of memory in Fig. 10, the memory of the mapping plane is also divided by the concentric circles r₁ , r₂ ... rn. This means that the mapping plane is expressed by the polar coordinate system of r and ϑ. - As shown in Fig. 11, in such a polar coordinate system, the great circle ℓ₂ of point P₂ , which is positioned on the same concentric circle as point P₁ , is the great circle rotated around the center 0 of the concentric circles from the great circle ℓ₁. The angle of such rotation of the great circle is the same as the angle between point P₁ and point P₂. Thus, the great circles corresponding to the points on the same concentric circle are obtained by the rotation of a single great circle.
- As shown in Fig. 12, a radius LINE(REF) is selected as the reference line carrying the reference points Pma , which are the intersection points with the concentric circles rm. A single great circle ℓma is registered as the reference great circle corresponding to the reference point Pma. Hence the great circle ℓ corresponding to the point P(r, ϑ) which is positioned at angle ϑ on the concentric circle from point Pma is obtained by the rotation e of the reference great circle ℓma.
- As shown in the illustration of the reference line and reference great circle in Fig. 13, the pattern of the reference great circle ℓma is registered by registering the intersection points of the great circle ℓma with the concentric circles r₁ , r₂ ... rn.
- As shown in the illustration of the pattern of reference great circle in Fig. 13, the pattern of the reference great circle is registered in the matrix with quantized units having r rows (r₁ , r₂ , ...rn) and ϑ columns. The ϑ columns are defined by equal divisions of 360°. The sections with a hatching a₄ , an-1 , bn-1 , an , bn in the matrix with quantized units correspond to the intersection points of the reference great circle with the concentric circles. In the actual memory, a bit "1" is written at the section having a hatching in the matrix with quantized units. The pattern of the great circle ℓ shown in Fig. 12 is obtained by shifting the pattern in the matrix with quantized units shown in Fig. 13 in the ϑ direction.
- As shown in the illustration of the registration of sequence of great circles in Fig. 13, the great circles have different shapes depending on the radius of the reference point Pma , that is, the radius r₁ , r₂ ... rn of the concentric circles. The great circles ℓ1a, ℓ2a ... ℓna are registered corresponding to the reference points P1a , P2a ... Pna of the concentric circles r₁ , r₂ ...rn.
- Assuming the number of the picture elements along the side of a picture is "n", which is approximately equal to the nubmer of the concentric circles, and the number of bits required for registering a great circle is "g", the capacity of a read-only memory (ROM) required for registering the great circles is "q x n" bits.
- If all the patterns of the great circles for every point were registered, the ROM required for registering all the entire patterns would have to be a large "q multiplied by the number of all the points".
-
- As shown in the illustration of the registration by values of ϑ in Fig. 13, it is possible to register the pattern of the great circle by the values of 8, instead of registration by the bit pattern. Assuming the periphery of a concentric circle is divided into 17 picture elements (bits), the coordinate of the intersection point is registered. In Fig. 13, coordinate 10 for r₄; 5 and 13 for rn-1; and 4 and 14 for rn are illustrated. In this connection, an impossible coordinate value, for example, "20", which is greater than the maximum coordinate value "17" in the present embodiment, may be written to indicate the absence of the intersection point, in order to prevent inadvertent transformation of the coordinates to a new existing coordinate value.
- An example of the system for producing and storing mapping functions is explained with reference to Fig. 14. The system shown in Fig. 14 includes a
ROM 40 for great circles, anadder 41, and amemory 42 for mapping functions. TheROM 40 stores. The mapping functions in the form of pattern S of great circle corresponding to the reference points P1a , P2a ... Pna of the concentric circles, by the values of ϑ as shown in Fig. 13. Theadder 41 adds the rotation position ϑm of the point in question to thevalue 8 of the great circle corresponding to the reference point as the output of theROM 40. The thememory 42, the signal of the writing address is supplied and the patterns of great circles are written. - The operation of the system shown in Fig. 14 is as follows. The coordinates of the point P are given in the form of the polar coordinate system, that is in the form of the position rm of the concentric circle and the rotational position ϑm from the reference position Pma on the concentric circle rm. The signal of rm is supplied to the
ROM 40. TheROM 40 carries out the retrieval of the pattern ℓma of the great circle corresponding to the reference point Pma on the concentric circle rm and delivers the signal of the pattern ℓma of the great circle and the signal of intersection points of the great circle pattern ℓma and the concentric circles. Theadder 41, to which the rotational position ϑm of the point P is input, carries out the addition of the rotational position ϑm to the position ϑ of the intersection points on the concentric circles and delivers the result of the addition. For example, ϑm is added to the values of the great circle pattern shown in Fig. 13. - In the above-described manner, the shifting of the great circle pattern and the writing of the great circle corresponding to the point P to the
memory 42 for the mapping functions in the form of the division of the concentric circles are carried out. Thus, mapping is carried out by producing great circles corresponding to the point by theROM 40 on the basis of the reference great circle and writing the produced great circles into thememory 42. - Another example of the system for producing and storing mapping functions is explained with reference to Fig. 15. The
memory 42 for the mapping compriss memories 42(1), 42(2) ... 42(n), for the mapping of the concentric circles, divided corresponding to the concentric circles r₁ , r₂ ... rn. Thememory 40 for great circles consists of the memories 40(1), 40(2) ...40(n), for the great . circles of the concentric circles, divided per intersection point of the great circles ℓ1a , ℓ2a ... ℓna with the concentric circles corresponding to reference points P1a , P2a ... Pna. For example, the intersection points of the great circles ℓ1a , t2a .. ℓna with the concentric circle r₁ are stored in the ROM 40(1). Similarly storage into the ROM's 40(2), 40(3) ... 40(n) is carried out. n units ofadders 40 are provided. The system shown in Fig. 15 can be regarded as that of the system shown in Fig. 14, divided per concentric circle and set in parallel. The speed of operation of the system shown in Fig. 15 is n times of that of the system shown in Fig. 14. - Another example of the system for producing and storing mapping functions is explained with reference to Figs. 16 and 17, in which a division other than the above-described system using the concentric circles and the rotational position is used. As illustrated in part-1 of Fig. 17, the length of arc L along the con centric circle from the reference line is used instead of the rotational position ϑ, and the coordinates (r, L) are used instead of the coordinates (r, 8).
- As shown in part-2 of Fig. 17, the length Δx of the picture element is the same in every concentric circle. When the width Δφ of the concentric circles is selected to be a constant value, the area of the picture element of each of the concentric circles becomes uniform so that a constant resolution is obtained.
- A system for producing the mapping function according to the manner shown in Fig. 17 is shown in Fig. 16. The system shown in Fig. 17 utilises parallel calculation. In the system shown in Fig. 16, the above- mentioned coordinates of the intersection points are registered by a distance value L, instead of a rotational position value, into the great circle ROM'S 40(1), 40(2), ... 40(n).. The coordinates of the point P are given in the form of (rm , ϑm). The rottional position ϑm is transformed into the distance Li. The adders 41(1), 41(2) ... 41(n) carry out the addition of L and Li, instead of the addition of rotational positions, and provides the writing address for the mapping function memoriies 42(1), 42(2) ... 42(n). The mapping fanction memories 42(1), 42(2) ... 42(n) are divided for each of the concentric circles in correspondence with the length L. It is also possible to use series calculation, instead of the above-described parallel calculation. When the constant Δφ as shown in Fig. 17 cannot be realized, it is possible to make the area of each of the picture elements constant by changing the length of the picture element. A system for such a division of the memory is illustrated in Fig. 18. In the illustration of Fig. 18, the area of the picture element is made uniform by changing the value of the length of the picture element from Δxi to Δxj in correspondence with concentric circles.
- An example of the mapping function processor used for the information extraction device according to the present invention is shown in Fig. 19. The system shown in Fig. 19 includes a
concentric circle counter 44, aROM 45 for maximum value for the concentric circles, agreat circle ROM 40, ashift ROM 43, anadder 41, anormalization circuit 46, acircuit 47 a for detecting the non-existent great circle, awrite control circuit 47b, alatch circuit 48a, anadder 48b, aswitching circuit 49a, and aslice register 49b. - The
concentric circle counter 44 produces a sequence the addresses of the concentric circles r₁ , r₂ ... rn and supplies the produced addresses to thegreat circle ROM 40 theshift ROM 43, and the like. TheROM 45 stores the maximum value of the length in the direction of rotation along the concentric circle corresponding to the address of thecounter 44, for the coordinate system of (r, L) shown in Figs. 16 and 17. Thecircuit 46 carries out normalization when the output of theadder 41, which is the sum of the outputs of theROM 40 and theROM 43, exceeds 360° from the reference point, in terms of rotational angle. The 360° is the maximum rotational angle of the concentric circle. - The
circuit 47a monitors the output of thegreat circle ROM 40 and delivers a writing prohibition signal when the output of theROM 40 is an impossible value, for example 512, which exceeds the maximum value 460. Thecircuit 47b prohibits the writing of the writing address from thenormalization circuit 46 into themapping memory 42 by the writing prohibition signal of thecircuit 47a. Thelatch circuit 48a latches the data read from themapping memory 42. Theadder 48b carries out addition of the values supplied from the switchingcircuit 49a when the content of thelatch circuit 48a is other than 0 and supplies the result of the addition through the bus BUS to themapping memory 42. - The
switching circuit 49a carries out switching for supplying theadder 48b selectively with the weight W of the point from the bus BUS or the slice value from theslice register 49b as the value to be added. Theslice register 49b registers the slice value for detecting the peak point of themapping memory 42. - The operation of the mapping function processor shown in Fig. 19 will now be described. The coordinates (rm , ϑm) of the point and the weight W of this point are given. The coordinate rm in the direction of the concentric circle is supplied to the
ROM 40 and the reference great circle ℓm corresponding to rm is selected accordlingly. The coordinate ϑm in the direction of rotation is supplied to theROM 43 and the group of the distances Lm corresponding to ϑm is selected accordingly. Thecounter 44 delivers in sequence the addresses of the concentric circles and the delivered addresses are supplied to the concentric circlemaximum value ROM 45, thegreat circle ROM 40, and theshift ROM 43. The maximum value of the concentric circle is delivered from theROM 45. The coordinates of the intersection point of the reference great circle with the concentric circle are delivered from theROM 40. The shift distance in the concentric circle, among the group of distances Lm, is delivered from theshift ROM 43. - The
adder 41 adds the coordinates of the intersection point from theROM 40 to the shift distance from theROM 43, and the result of the addition is supplied to thenormalization circuit 46. Thenormalization circuit 46 carries out a comparison between the maximum value from theROM 45 and the value from theadder 41. When the value from theadder 41 is smaller than the maximum value, thenormalization circuit 46 supplies themapping memory 42 with the value from theadder 41 as the writing address. When the value from theadder 41 is greater than the maximum value, thenormalization circuit 46 supplies themapping memory 42 with "the value fromadder 41 minus the maximum value" as the writing address. - The coordinates of the intersection point are supplied from the
ROM 40 to thecircuit 47a. When thecircuit 47a detects the above-mentioned impossible value as the coordinates of the intersection point, the decision is carried out that the output of theROM 40 indicates a reference great circle having no intersection point with the concentric circles, and the writing prohibition signal is supplied to thewrite control circuit 47b so that the writing into the writing address in question of themapping memory 42 is prohibited. When no writing prohibition signal is delivered, writing into the address in question of themapping memory 42 is carried out. - The content of the writing position is read from the
mapping memory 42, and the read content is supplied via the bus BUS to thelatch circuit 48a. Theswitching circuit 49a selects a weight W from the bus BUS and supplies the selected weight W to theadder 48b. Theadder 48b adds the weight W to the content of thelatch circuit 48a, and the result of the addition is supplied to the bus BUS so that the writing into the writing position in question of themapping memory 42 is carried out. Of course, the weight W is equal to 1 when no weight is assigned to the points. - Thus, the great circles resulting from the shifting of the reference great circle are written into the
mapping memory 42 according to the sequence of the concentric circles and according to the addresses of the concentric circles which are the outputs of theconcentric circle counter 44, so that the storage of the great circles carrying weight values is carried out. After the writing of a great circle corresponding to a point P into themapping memory 42 is completed, the coordinates and the weight value of the next point are supplied through the bus BUS, and the writing of a great circle corresponding to this next point into themapping memory 42 is carried out. - After the writing of the great circles corresponding to all the points into the
mapping memory 42 is completed, a search of the peak point from the content of themapping memory 42 is carried out. The peak point is the intersection point of the above-described plurality of great circles, the search is carried out as follows. - The
switching circuit 49a is switched to theslice register 49b, and the slice value of theslice register 49b is supplied to theadder 48b. The contents of themapping memory 42 are read in sequence from themapping memory 42 and are supplied through the bus BUS to thelatch circuit 48a. - The addition of the value which is latched in the
latch circuit 48a to the slice value is carried out in theadder 48b. Theadder 48b delivers a carry signal only when overflow occurs as the result of addition. No output is delivered except with such overflow. The slice value is selected such that no carry signal is delivered except for the peak point. Hence, the carry signal is delivered corresponding only to the peak point. Thus, the slicing operation in the addition process is carried out. - The output of the
adder 48b is supplied through the bus BUS to themapping memory 42, and the writing into the position in question of themapping memory 42 is carried out. Thus, the replacing writings of data "1" to the addresses corresponding to the peak point and of data "0" to the remaining addresses aer carried out. - Thus, the data "1" is stored in the address of the
mapping memory 42 corresponding to the point S shown in Fig. 4, and data "0" is stored in the remaining addresses of themapping memory 42. By obtaining the point S, information extraction by the mapping is achieved. - A three-dimensional measuring system for an object will be described as an application of the data extraction method by mapping.
- Figure 20 is a block diagram of an example of a three-dimensional measuring system.
Reference numeral 2 denotes a television camera such as a spherical camera, which will be described later; and 4a, 4b, and 4c, mapping processors, respectively. Each mapping processor has the system configuration shown in Fig. 19.Reference numeral 50 denotes an analog-to-digital (A/D) converter for converting a video signal generated by thetelevision camera 2 to a multi-value digital picture signal; and 51, a knowncontour extraction section 51 for extracting a contour component from the picture signal supplied from the A/D converter 50. A contour-extracted picture signal is stored in aframe memory 52, which will be described later, and coordinate and weighting data of the contour points are stored in anoriginal picture memory 54. Theframe memory 52 stores the contour-extractd picture signal, as described above. Reference numeral 53 denotes a television monitor for monitoring the contents of theframe memory 52. Theoriginal picture memory 54 stores the coordinate and weighting data of the points of the contour component extracted by thecontour extraction section 51, as described above.Reference numerals mapping processors mapping processors contour extraction section 51 and causing these processors and the extraction section to exchange data through arecognition section 60 and a bus, which will be described below. - The
recognition section 60 controls the overall operation of the system and recognizes a three- dimensional original picture of thetelevision camera 2 by utilizing the mapping results. Therecognition section 60 comprises components designated byreference numerals 61 to 66. Aprocessor 61 performs overall system control and recognition in accordance with the execution of a program. Amain memory 62 comprises a RAM for storing data or the like required for processor operation. Aninterface 63 is connected to an external device or akeyboard 68, which will be described later, through which commands and data are entered. Aprinter interface 64 is connected to aprinter 67, which will be described later, and supplies commands and data thereto. Afloppy disk controller 65 controls afloppy disk drive 66 as an external memory device. Theprinter 67 prints out data or the like as needed. Commands and data are entered through thekeyboard 68. Theprocessor 61 in therecognition section 60 is connected to the A/D converter 50, theframe memory 52, theoriginal picture memory 54, themapping memories parallel interface 58, and thefloppy disk controller 65 through a multibus 70 and can send commands to and exchange data with these components therethrough. - An image of an object shown in Fig. 1 is obtained by the spherical projection by using a
television camera 2 in Fig. 20. This operation will be described with reference to Figs. 21 to 23. - Figure 21 shows representations for explaining spherical camera; Fig. 22 is a block diagram of a coordinate transformation control type spherical camera; and Fig. 23 is a graph showing the characteristics of an equidistant projection lens.
- The television camera has an equidistant projection lens and a light-receiving element having a uniform two-dimensional position resolution. The television camera may have a normal lens instead of the equidistant projection lens, with a flat light-receiving element having a uniform two-dimensional position resolution, and an electronic coordinate transformation section, wherein the coordinate data of the input picture may be transformed so as to substantially obtain the same results as with the equidistant projection lens.
- The spherical camera is substantially the same as a camera having a
pinhole 20 and a spherical light-receivingelement 21. In practice, since thepinhole 20 cannot provide a sufficient amount of light and cannot provide adequate focusing, it is replaced with alens system 24. In addition, since a spherical light-receiving element cannot be easily manufactured, a flat light-receivingelement 23 is used. For this reason, as indicated by the dotted line, an idealspherical plane 22 is deviated from the flat surface of the light-receivingelement 23. Thelens system 24 comprises a single lens or a plurality of lenses. - For example, a flat light-receiving element such as a metal-oxide semiconductor (MOS) or a charge coupled device (CCD) element has cells equidistantly arranged in a matrix form. The resolution is constant irrespective of the light-receiving position. A continuously flat light-receiving element such as a so-called vidicon also has a uniform two-dimensional position resolution. Therefore, the difference between the flat surface of the flat light-receiving
element 23 and the idealspherical plane 22 indicated by the dotted line must be corrected by the lens orlens system 24. - Assume that the height of the image focused on the focusing plane at a position away from the center of the
lens 24 by the focal distance f is y, and that the angle of incidence of light with respect to the optical axis of the lens is φ. Equation: y = ftanφ is established in a normal lens. However, in order to focus the same image as that on the spherical light-receivingelement 21 on the flat light-receivingelement 23, a lens must be used to satisfy a linear projection relationship between the height y and the incident angle φ, equation: y = fφ. The lens satisfying this equation is a fish-eye lens and is known as an equidistant projection lens. - Even if the special projection lens described above is not used, a normal lens or other projection lens is used to constitute the following spherical camera. This spherical camera comprises a light-receiving
element 26, anpicture memory 27, a coordinatetransformation control circuit 28, and acalculation circuit 29, as shown in Fig. 22. - The light-receiving
element 26 generates a signal obtained when a two-dimensional picture is sequentially one-dimensionally scanned. The output picture signal from the light-receivingelement 26 is converted by an A/D converter (not shown). The digital picture signal is then temporarily stored in thepicture memory 27. The coordinatetransformation control circuit 28 controls thecalculation circuit 29 for data write/read access with respect to thepicture memory 27 and calculations of output data read out from thememory 27. - When the normal lens is used, a picture y′ to be focused is represented by y′ = ftanφ, derived from equation y = ftanφ. Equation y′ = ftan is transformed to obtain the characteristics given by equation y = fφ. Substitution of y′ = ftanφ into y = fφ yields equation y = fφ = ftan⁻¹(y′/f). The coordinate
transformation control circuit 28 and thecalculation circuit 29 electronically perform the above-mentioned coordinate transformation. - The
picture memory 27 stores picture data in one-to-one correspondence with the cells of the light-receivingelement 26, as indicated by hollow dots in Fig. 22. Since the lens characteristics do not correspond to equation y = fφ, the hollow dots are not plotted at equiagular intervals. The matrix dot corresponding to the equiangular interval is determined by the lens properties, as indicated by a black dot. - The position of the black dot is determined by equation y = ftan⁻¹(y′/f). The position data of the black dot is interpolated by a weighted average corresponding to a distance in accordance with the adjacent four hollow dots. When a distance between the hollow dots is short, i.e., when the resolution of the light-receiving
element 26 is sufficiently high, a value of a hollow dot near a black dot is approximated as an output. - The angle resolutions of the normal lens and the equidistant projection lens are illustrated in Fig. 23.
- The angle resolution of the normal lens is derived such that equation y = ftanφ is differentiated with φ as follows:
dy/dφ = f/cos²φ
The angle resolution of the equidistant projection lens is derived such that equation y = fφ is differentiated with φ as follows:
dy/dφ = f
The values calculated from these two differentials are plotted as shown in Fig. 23. The angle resolution (CURVE-1) of the equidistant projection lens is constant irrespective of the incident angle φ, and the angle resolution (CURVE-2) of the normal lens is decreased when the incident angle φ is decreased. - The spherical camera has the equidistant projection lens or an equivalent mechanism to have a uniform angle resolution irrespective of the incident angle and a visual field. When the spherical camera is used as an eye of a robot, three-dimensional measurement is accurately performed. Furthermore, since the visual field is large, wide-range visual information can be obtained. Therefore, a remote operator can feel as if he is watching an actual picture.
- Spherical mapping three-dimensional measurement is performed on the basis of the image data supplied from the
television camera 2. - The video signal from the
television camera 2 as the spherical camera is supplied to the A/D converter 50. A digital picture signal from the A/D converter 50 is supplied to thecontour extraction section 51. Thesection 51 extracts a contour component from the digital picture signal. The contour-extracted picture signal is supplied to theframe memory 52, and the picture detected by thetelevision camera 2 is displayed on the television monitor 53. At the same time, the coordinate and weighting data of the extracted points are supplied to theoriginal picture memory 54. - When the coordinate and weighting data are stored in the
original picture memory 54, themapping processor 4a reads out the coordinate and weighting data therefrom to generate a great circle given by the coordinate data of the extracted points as described with reference to Fig. 27. These coordinate data is weighted and stored in aninternal mapping memory 42 in themapping processor 4a. Themapping processor 4a sequentially reads out the coordinate and weighting data of the extracted points from tehoriginal picture memory 54 and writes in themapping memory 42 thereof coordinate data representing the great circle in the same manner as described above. When the coordinate data of all the extracted points are stored in themapping memory 42, theprocessor 4a searches for a peak point SS , and themapping memory 42 is updated. Thereafter, the contents of themapping memory 42 are transferred to themapping memory 55. Line extraction can be performed by the contents of thememory 55. - When the mapping results of the
mapping processor 4a are stored in themapping memory 55, themapping processor 4b reads out coordinate data of the point SS from thememory 55. The coordinate data representing the corresponding great circle is sequentially written in the mapping memory thereof in the same manner as described above. It should be noted that the picture detected by thetelevision camera 2 has a plurality of lines and that a plurality of peak points are stored as the mapping results in themapping memory 55. When themapping processor 4b writes a great circle plotted by all the peak points S in the mapping memory thereof in the same manner as described above, the peak point SS is searched, and the mapping memory is updated. In other words, mapping is performed using the coordinates of points S, thereby determining the three-dimensional directions of lines and an intersection therebetween. Themapping processor 4b transfers the contents of the mapping memory thereof to themapping memory 56. In addition, the mapping processor 4c and themapping memory 57 for storing the mapping results are provided for obtaining a point SSS in accordance with the contents of themapping memory 56, thereby deriving planar information. - A series of operations of the mapping processors are perfomred such that the
processor 61 in therecognition section 60 exchanges commands and data with the respective mapping processors through theparallel interface 58 and thebus 70. - In this manner, lines, therir intersection and three-dimensional directions, and the polar direction defined by the lines are extracted by the three mapping processors. The mapping results of these processors are respectively stored in the mapping memories, and the
processor 61 in therecognition section 60 reads out the contents from the three mapping memories through thebus 70 and discriminates the lines, their intersection, and the plane of the picture detectd by thetelevision camera 2. The object is reconstructed by the lines and the plane. The recconstructed data is compared with various object data stored in thefloppy disk drive 66 and discriminated to constitute a specific object. - The recognition results are printed out at the
printer 67 through theprinter interface 64. When a robot controller is connected to theinterface 63, the recognition results are supplied to the robot controller. The robot controller controls a robot such that the robot will not bump against an obstacle or will grasp a specific object. - From the description with reference to Fig. 20, it will be understood that the coordinate transformation can be carried out by using a camera positioned at the center of the sphere. The picture information extraction can be carried out, for example, by a translational movement of the camera. The measurement of a three-dimensional direction of a straight line, parallel lines, or a plane in space can be carried out by the translational movement of the camera. The detection of parallel lines in space and the measurement of the three-dimensional direction of a straight line or a plane in space with regard to the parallel lines can be carried out by the camera positioned at a fixed position.
- The present invention will be exemplified by mapping by Hough transformation. The principle of Hough transformation is illustrated in Fig. 24. Figures 25 and 26 illustrate a case where the present invention is applied to mapping by Hough transformation.
- As described with reference to Fig. 24, Hough transformation transforms points (X,Y) on the X-Y coordinate system to a sine wave plane in accordance with equation r = Xsinφ + Ycosφ.
- The two-dimensional coordinates (X,Y) are mapped in polar coordinates (r,φ), that is,
r = √X² + Y²
φ = tan⁻¹(Y/X)
- Points P₁ and P₂ plotted on the same concentric circle having the original 0 and the radius |r| have different phases φ. The sine wave ℓ₁ , of the mapping function of the point P₁ is shifted as shown in Fig. 25 similarly as the manner shown in Fig. 11 to obtain the sine wave ℓ₂ as the mapping function of the point P₂. When the reference sine wave, having as the reference points intersections between the X-axis and the concentric circle, is provided, the sine waves of the points on the concentric circle can be obtained by shifting the reference sine wave.
- As shown in Fig. 26, the X-Y coordinate plane is divided by concentric circles having radii r₁ to rn and is represented by polar coordinates (r,φ), thereby generating a mapping function in the same manner as described with the spherical transformation.
- Figure 26 shows a registration method of a reference sine wave for the Hough transformation. Similarly as the manner shown in Fig. 13, the longitudinal axis in a radial direction of the mapping plane is divided into the concentric circles having radii r₁ to rn , and intersections, indicated by small circles, between the reference sine wave and the respective concentric circles are stored to register such a pattern. This pattern expression may be made by using a bit pattern or values, as addresses, of Fig. 13.
- Figure 27 is a block diagram of a circuit for generating mapping data for the Hough transformation.
Reference numeral 40A denotes a reference sine wave ROM for storing coordinate data representing the intersections between the concentric circles and their reference sine waves of mapping functions, as shown in Fig. 26.Reference numeral 41A denotes an adder for adding a phase φ of an input point to the corresponding intersecting coordinate data read out from the referencesine wave ROM 40A.Reference numeral 42A denotes a mapping memory whose address is accessed in response to an output from theadder 41A so as to store a corresponding sine wave pattern. - The operation of the system shown in Fig. 27 will be described hereinafter. The coordinates of the point P(x,y) are transformed to polar coordinates by the equation described above. In other words, the point P(x,y) is written by a radius |r| of the corresponding concentric circle and a corresponding phase φ. The radius data |r| is supplied to the reference
sine wave ROM 40A which selects the corresponding reference sine wave pattern. Since theadder 41A also receives the phase data φ, the selected reference sine wave pattern is added to the phase data φ, thereby completing the coordinate transformation. - The reference sine wave pattern is shifted by the phase φ to provide the sine wave pattern corresponding to the point P. The output from the
adder 41A is supplied as an address signal to access themapping memory 42A, thereby storing the sine wave pattern corresponding to the point P in themapping memory 42A. - In this manner, the sine wave patterns of the respective points are generated by the reference
sine wave ROM 40A on the basis of the reference sine wave pattern stored therein. The resultant sine wave patterns of the respective points are stored in themapping memory 42A. - Similarly as the manner shown in Figs. 16 and 17, distance data may be stored in place of the rotational angle data. In this case, a transformation ROM for transforming the phase φ to a distance is provided. The outputs from the transformation ROM and the reference
sine wave ROM 40A are supplied to theadder 41A, and an output from theadder 41A is used as a write address. - Figure 28 shows another embodiment of a circuit for generating mapping function data by the Hough trans formation, wherein parallel operation is performed.
- As describd above, the mappin gmemory is divided into mapping memories 420(1), 420(2),... and 420(n) corresponding to the intersections of the reference sine wave pattern and the concentric circles r₁ ,... and rn. Similarly, the reference sine wave ROM is also divided into ROMS 400(1), 400(2),... and 400(n) corresponding to the respective concentric circles. Accordingly, the adder is divided into adders 410(1), 410(2),... and 410(n), and the transformation RAM is divided into transformation RAMS 430(1), 430(2),... and 430(n). With the above arrangement, generation and storage of the sine wave pattern as the mapping function can be performed in units of concentric circles with a parallel operation, thereby increasing the mapping rate.
- The data extraction by mapping is essentially based on the fact that a quantization structure is provided to a mapping plane assigned with the mapping function, and only the intersections between the quantization structure frame and the mapping function are stored. For example, when the mapping plane has a quantization structure of an orthogonal coordinate system, as shown in Fig. 29, mapping functions SF₁ and SF₂ record intersections with the frame of this coordinate system. According to this method, however, it is difficult to properly record intersections on the mapping plane and to extract the intersections between the mapping functions SF₁ and SF₂ due to quantization errors on the mapping plane, even if these mapping functions intersect with each other. The reason why the intersection is not properly extracted is that only one point on each coordinate system frame is recorded for each mapping function. In order to solve this problem, a technique is required such that an intersecting portion between the coordinate system frame and the mapping function is not constituted by a bandwidth range, thereby causing each mapping function to record a plurality of points on the coordinate frame.
- As shown in Fig. 30, a bandwidth H is given to the mapping functions SF₁ and SF₂ which are then written on the mapping plane. The intersection CP between the mapping functions SF₁ and SF₂ is defined by these functions. As indicated by a double circle, the weight at the intersection is greater than that at other portions, thereby allowing the intersection CP to be properly extracted.
- Another method is also proposed as shown in Fig. 31, wherein virtual widths Hx are given to the frames, respectively. When the mapping functions SF₁ and SF₂ match with the frame having the width Hx , recording is performed within the corresponding frame. In this manner, recording is performed while the allowance width is given to the mapping function. The intersections of the mapping functions SF₁ and SF₂ are indicated by matrix points CP₁ and CP₂. The matrix points CP₁ and CP₂ respectively assigned to the mapping functions SF₁ and SF₂ are recorded on the mapping plane, thereby allowing the intersections to be easily extracted.
- Figure 32 shows a recording state of such a mapping plane. When the mapping function SF crosses lins Y₁ to Y₄ of the X-Y coordinate system, four bits which correspond to the X-direction width of the mapping function SF are stored in each of the coordinate frames Y₁ to Y₄ of the Y-axis in the X-Y coordinate system memory as the mapping plane. In this manner, the mapping function with the bandwidth is stored in the mapping plane. Each mapping function is recorded with the plurality of points in each of the Y-coordinate frames Y₁ to Y₄ crossing the corresponding mapping function, thereby allowing the intersections to be easily reproduced.
- When the plurality of points are written, the write time is prolonged. Recording of the entire width data of the mapping function is not preferred in consideration of the execution rate and the number of data. An improved system will be described with reference to Figs. 33, 34, and 35.
- As shown in Fig. 33, assume that a coordinate frame Yn corresponding to a Y-coordinate in the X-Y coordinate system has a width of Xℓ to Xn. When all the width data Xℓ to Xn is written, the corresponding execution rate and the memory capacity are required. In order to avoid this, only end points Xℓ and Xn are recorded. When the weight of the mapping function is defined as "1", the weighted start data is assigned as "+1" to the start point Xℓ , and the weighted end data is assigned as "-1" to the end point Xn. In other words, the values of the points Xℓ to Xn are differentiated, and the results are assigned to the start and end points. In this manner, data storage is limited to that of two points irrespective of the width of the frame. Therefore, the increase of the execution rate and the memory capacity can be minimized. In order to reproduce the width consisting of the points Xℓ to Xn , the values of the points Xℓ and Xn are sequentially integrated from the left, thereby reproducing the weight level as the RESULT OF INTEGRATION.
- Figure 34 shows a case wherein the start and end points of a plurality of mapping functions are written in the same manner as described above. Points Xℓ , Xℓ+1 , Xm , Xn-1 , and Xn of the mapping function SF₁ and points Xℓ+1 , Xm and Xn-1 of the mapping function SF₂ are written along the coordinate frame Yn. The weight of each of the points Xℓ+1 , Xm and Xn-1 is given as "2". The two end points X and Xn-1 of the mapping function are respectively assigned with "+1" and "-1", and the two end points Xℓ+1 and Xn of the mapping functions SF₂ are respectively assigned with "+1" and "-1". When the data of the points is sequentially integrated from the left points, the weight level is reproduced as the RESULT OF INTEGRATION.
- Figure 35 shows a case wherein the above operation is applied to a multivalue weight level. When a mapping function SF₁ of a weight w₁. intersects with a mapping function SF₂ at the coordinate frame Yn as shown in PART-1 of Fig. 35, the state of the coordinate frame Yn is given as shown in PART-2 of Fig. 35. By using end point recording, the start point of the mapping function SF₁ , the end point of the mapping function SF₁ , the start point of the mapping function SF₂ , the end point of the mapping function SF₁ , and the end point of the mapping function SF₂ are respectively assigned with values "+w₁", "+w₂", "-w₁", and "-w₂", as shown in PART-3 of Fig. 35.
- Instead of writing the weight data for the end points in Figs. 33 to 35, the weight value, of a region between the start and end points and a region size, i.e., the number of bits between the start and end points may be written in the start points.
- Figure 36 is a block diagram of a circuit for realizing end point recording of Figs. 33 to 35. This circuit comprises a mapping function generation circuit FUNC-GEN and a mapping memory MEM. The mapping function generation circuit FUNC-GEN generates a mapping function corresponding to an extract point P and stores coordinate data of the start and end points of the above-mentioned width of each mapping function for each of the coordinate frames Y₁ to Yn.
- The operation of the functional block shown in Fig. 36 will be described hereinafter. A mapping function corresponding to the coordinates of each extract point P is stored in the mapping
function generation circuit 11. When the extract point P is entered, the corresponding mapping function is selected. The coordinates representing the start and end points of the selected mapping function are sequentially supplied to the mapping memory MEM. The start and end data are stored in the corresponding coordinate memory area in the mapping memory MEM. It should be noted that the weighted end data is also written when the mapping function is weighted. - The effect of the system shown in Fig. 36 will be described with reference to Fig. 37. A case will be described wherein three mapping functions intersect with each other in the coordinate frame Yn. The first illustration shows conventional mapping function writing. The weight level of the mapping function is a relatively smooth curve when the mapping function is written in the coordinate frame Yn. It is thus difficult to detect the peak position (WEIGHT LEVEL, CASE-1). When the allowance width is provided to thie mapping function, the peak level is increased near the intersection in the second illustration, and the slope is relatively steep, thereby simplifying peak level detection (WEIGHT LEVEL, CASE-2). The third illustration shows another peak value detection to be described later (WEIGHT LEVEL, CASE-3).
- Another embodiment will be described with reference to Figs. 38 to 40. As shown in PART-1 and PART-2 of Fig. 38, suppression regions SFa and SFb having a polarity opposite to the mapping function SF are provided at two sides of the function SF. In other words, a function is produced such that the suppression regions SFa and SFb are added to the width inherently given to the function SF.
- When a plurality of mapping functions each having the width and the suppression regions intersecting with each other, as shown in PART-3 of Fig. 38, the effect of the width is provided at the intersection, i.e., the crossing point. However, the mapping functions cancel each other by means of the suppression regions around the intersection CP, thereby obtaining the mapping result with an emphasized intersection. Since the mapping function SF has the bandwidth and interferes with another mapping function with the bandwidth, writing of a excessive portion around the intersection is performed. In order to prevent such excessive writing, the suppression regions are provided. In PART-3 of Fig. 38, cancelling is performed in the dotted regions by the suppression regions around the intersection CP.
- When the suppression regions SFa and SFb each having the same width as that of the bandwidth of the function are provided, as shown in PART-1 of Fig. 38, each suppression region is weighted by -w/2 while the region SF is weighted by w, thereby cancelling the effect of the increment of the weight of the mapping function SF.
- As shown in CASE-3 of Fig. 37, according to this system, the suppression regions decrease the offset level as compared with the mapping function having only the bandwidth, and the intersection is further emphasized, thereby obtaining a steep peak. Therefore, the intersection can be further easily extracted.
- The writing of the mapping function with the suppression regions will be described with reference to Fig. 39. As shown in the first write pattern of Fig. 39, the left suppression region SFa added to the mapping function at the coordinate frame Yn is defined by points X to Xm-1 , and the right suppression region SFb thereof is defined by points Xp+1 to Xn. These points of the right and left suppression regions are weighted by -a. The original region SF of the mapping function is defined by points Xm to Xp which are weighted by b. All the points are not written in consideration of the write rate and the number of data to be stored. In practice, as shown in the second write pattern of Fig. 39, only four points are recorded by differentiating the first write pattern. In other words, the start point Xℓ of the suppression region SFa is weighted by "-a", the start point Xm of the mapping function SF is weighted by "a+b", the end point Xp of the mapping function SF is weighted by "-(a+b)", and the end point of the suppression region SFb is weighted by "a". It should be noted that since the start point of the region SF of the mapping function is located next to the end point of the suppression point SFa, the end point of suppression point SFa is not recorded; instead, the differentiated value of the start point of the region SF of the mapping function is written. It should be also noted that the differentiated value of the end point of the region SF is written as the start point of the suppression region SFb in accordance with the same principle described above. For the mapping function, a start point address of the suppression region SFa, the start and end point addresses of the width region SF of the mapping function and the end point address of the suppression region SFb are generated, and the differentiated values are separately supplied to and written in the mapping memory.
- Figure 40 is a block diagram showing a system for realizing the above-mentioned scheme. This system comprises a mapping function generation circuit FUNC-GEN and a mapping memory MEM. The mapping function generation circuit FUNC-GEN stores mapping functions respectively corresponding to the extract points P. More particularly, the circuit FUNC-GEN stores the start address Xℓ of the suppression region SFa of the mapping function at each of the coordinate frames Yℓ to Yn , the start address Xm of the width region, the end address Xp of the width region, and the end address Xn of the suppression region SFb.
- The operation of the functional block shown in Fig. 40 will be described hereinafter. When the coordinate data of the extract point P is supplied to the mapping function generation circuit FUNC-GEN, the corresponding mapping function is selected, and the start address Xℓ , the start and end addresses Xm and Xp , and the end address Xn are supplied to the mapping memory MEM, thereby writing the differentiated values therein at the addresses corresponding to the above-mentioned address data supplied thereto.
- An embodiment of applying an bandwidth to the process of generation of a mapping function which cooperates with spherical projection in the system described with reference to Figs. 30 to 37 will be described in Figs. 41 to 43.
- In the system described with reference to Figs. 30 to 37, the bandwidth is used in the mapping function, and the end points are recorded to store the function, and the end points are recorded to store the mapping function in the mapping memory. Therefore, two mapping functions Rℓma and Lℓma which represent the end points as the extract point of the great circle as the mapping function are to be generated. In other words, the locus addresses of the two end points on each concentric circuit are to be generated. The reference mapping functions each showing the two end points as the reference points on the corresponding concentric circle are stored. The reference mapping function is shifted on the polar coordinate system in accordance with a distance L between the reference point and the extract point, thereby generating the two mapping functions for the extract point.
- Figure 42 shows representations for explaining generation of the two mapping functions.
- As shown in PART-1 of Fig. 42, assume that two mapping functions corresponding to the extract point P are defined as Lℓma and Rℓma and that a distance, i.e., a width therebetween is defined as W.
- As shown in PART-2 of Fig. 36, locus addresses of the mapping functions Rℓma and Lℓma on the identical concentric circle rm are defined as XR and XL , respectively. As shown in PART-3 of Fig. 36, an angle of the extract point P between a line OP and the horizontal axis where 0 is the origin of the semisphere is defined as φ and the angle between the circle rm and the horizontal axis is defined as α. Under these definitions, the height up to the concentric circle rm with respect to the horizontal axis is given as a Y address, and the locus addresses (XR ,Y) and (XL ,Y) are calculated where
Y = sinα
XC = Y/tanφ = Y/tan( /2 - φ) = Ytanφ - sinαtanφ
Δxsin = sin(W/2)/cosφ
therefore,
XR = XC - X = sinαtanφ - sin(W/2)/cos
XL = XC + X = sinαtanφ + sin(W/2)/cosφ - When the angles φ and α and the width W of the predetermined mapping function are given, the locus addresses on each concentric circle are solely defined by the X-Y coordinates suitably adapted for the memory. The locus addresses of the two reference mapping functions corresponding to the reference point are calculated by the above equations, and the resultant data are stored in the mapping function generation memory.
- Figure 43 is a block diagram of a system for realizing the above scheme described with reference to Fig. 41. In this system, reference numerals 4000(1) and 4000(2) denote reference great circle ROMS. The ROM 4000(1) stores the reference mapping function Rℓma representing one end point of the reference mapping function with the bandwidth with respect to the reference point of the identical concentric circle. The ROM 4000(2) stores the reference mapping function Lℓmba representing the other end point thereof. The data in the ROMs 4000(1) and 4000(2) are stored in the form of (XL ,Y) and (XR ,Y), respectively. Reference numerals 4100(1) and 4100(2) denote adders. The adder 4100(1) adds the output from the ROM 4000(1) and an output L from a rotation ROM, which will be described in detail later. The adder 4100(2) adds thue output from the ROM 4000(2) and the output L from the rotation ROM.
Reference numeral 42 denotes a mapping memory for storing the mapping functions in the X-Y coordinate system. Arotation ROM 43 transforms the rotational position ϑ of the etract point with respect to the reference point into the distance L. - The operation of the system shown in Fig. 43 will be described hereinafter. The coordinates of the extract point P are given as the circle r and the angle ϑ with respect to the reference point. The circle data r for the point P is supplied to the reference mapping function ROM's 4000(1) and 4000(2) which respectively select the mapping functions Rℓma and Lℓma corresponding to the reference point of the concentric circular r. The locus addresses (XL, Y) and (XR, Y) of each concentric circle are supplied to the adders 4100(1) and 4100(2), respectively. The rotational angle data ϑ of the point P is supplied to the
rotation ROM 43 and is transformed into the distance L. The distance data L is supplied to the adders 4100(1) and 4100(2). The adders 4100(1) and 4100(2) perform additions XL+L and XR+L, respectively. The outputs (XL+L,Y) and (XR+L,Y) from the adders 4100(1) and 4100(2) are supplied as write address data to themapping memory 42. In themapping memory 42, data "+1" and "-1" are stored at the addresses accessed by the write address data, respectively. Similarly, the locus addresses of the respective concentric circles are shifted in the same manner as described above, and the corresponding data is stored in themapping memory 42, thereby completing writing of the great circle of the mapping function of the extract point P which has the bandwidth. When the mapping function of one extract point P which has the bandwidth is completely written, the next mapping function of the next extract point of interest is written in the same manner as described above. - An application of mapping function generation using spherical projection in the system described with reference to Figs. 38 to 40 will be described with reference to Figs. 44 and 45.
- Referring to Fig. 44, suppression regions are provided at two sides of the width region of the mapping function, and the end points are generated to record such a mapping function. In addition to generation of the two mapping functions Rℓma and Lℓma representing the end points of the width region, two other mapping functions Sℓma and Fℓma representing the end points of the suppression regions are generated. Therefore, the locus addresses of these mapping functions which are plotted on each concentric circle are generated. Only four reference mapping functions with respect to the reference point of each concentric circle are stored and are shifted in accordance with a distance L between the reference point and the extract point, thereby generating a mapping function having the width at the extract point and the suppression regions. In other words, the four functions Rℓma , Lℓma , Sℓma , and Fℓma are generated.
- Figure 45 is a block diagram showing a system for realizing the scheme described with reference to Fig. 44. Referring to Fig. 45, reference numerals 4000(3) and 4000(4) denote reference mapping function ROM's which respectively store the mapping functions Sℓma and Fℓma in the same manner as the ROM's 4000(1) and 4000(2) so as to control the suppression regions. Reference numerals 4100(3) and 4100(4) denote adders corresponding to the ROM's 4000(3) and 4000(4), respectively. The adders 4100(3) and 4100(4) are arranged in the same manner as the adders 4100(1) and 4100(2), respectively.
- The operation of the system shown in Fig. 45 will be described hereinafter. The coordinates of the extract point P are given as the polar coordinates (r,ϑ) to the reference mapping function ROM's 4000(1), 4000(2), 4000(3), and 4000(4). The
rotational angle 8 is supplied to therotation ROM 43. The end addresses (XL ,Y) and (XR ,Y) of the width region of the mapping function corresponding to the reference point of the concentric circle r are read out from the reference mapping function ROMs 4000(3) and 4000(4), respectively. Addresses (XS ,Y) and (XF ,Y) of the reference mapping functions Sℓma and Fℓma of the suppression regions are read out from the reference mapping function ROMS 4000(3) and 4000(4). The adders 4100(1) to 4100(4) perform additions of XL+L, XR+L, XS+L and XF+L. The outputs (XL+L,Y), (XR+L,Y), (XS+L,Y) and (XF+L,Y) from the adders 4100(1) to 4100(4) are supplied as write address data to themapping memory 42. In themapping memory 42, data "a+b", "-(a+b)", "-a" and "+a" are respectively written at addresses accessed by the write address data (XL+L,Y), (XR+L,Y), (XS+L,Y) and (XF+L,Y). - The locus addresses are shifted for each concentric circle and are written in the
mapping memory 42, thereby writing the mapping function which corresponding to the extract point P and which has the bandwidth and the suppression regions. - When the mapping function which corresponds to one extract point and which has the bandwidth and the suppression regions is completely written, the mapping function of the next extract point of interest will be written in the same manner as described above.
- Figure 46 shows the state of the mapping memory for storing the mapping functions by the system of Fig. 43. Figure 47 shows the state of the mapping memory for storing the mapping function by the system shown in Fig. 45.
- The peak point can be easily extracted as the intersection CP with a sufficiently high weight level, as shown in Fig. 46. In the case of Fig. 46, the peak value is further emphasized and made steep, thereby allowing the intersection CP to be easily extracted.
- An example of a mapping processor for realizing the above-mentioned scheme is shown in Fig. 48.
Reference numeral 44 denotes a concentric circle counter for sequentially generating addresses Y₁ to Ym of the concentric circles with radii r₁ to rm. The address data from theconcentric circle counter 44 is supplied to agreat circle ROM 40, ashift value ROM 43, or the like.Reference numeral 45 denotes a concentric circle maximum value ROM for storing a maximum value of the concentric circles along the rotational direction since the number of concentric circles varies under the assumption that the polar coordinates are given in the form of (r,L). A maximum value is read out from the concentric circlemaximum value ROM 45 in response to the address data from theconcentric circle counter 44.Reference numeral 46 denotes a normalization circuit for normalizing an output from anadder 41 which calculates a sum of the outputs of thegreat circle ROM 40 and theshift ROM 43 when the sum exceeds 360°, i.e., the maximum value of the concentric value with respect to the reference point. The maximum value of the data from the concentric circlemaximum value ROM 45 is normalized as the rotational angle of 360°.Reference numeral 47a denotes a non-existence detection circuit. Since a non-existent value such as "512" exceeding the maximum value, e.g., "460" of the concentric circuit having no intersections with the reference great circle is written in thegreat circle ROM 40, thenon-existence detection circuit 47a monitors the output from thegreat circle ROM 40. When the output from theROM 40 represents the non-existent value, thecircuit 47a generates a write inhibit signal since the corresponding concentric circle does not have intersections.Reference numeral 47b denotes a write control circuit for inhibiting the write access of themapping memory 42 which is designated by the write address data from thenormalization circuit 46 in response to the write inhibit signal generated from thenon-existence detection circuit 47a.Reference numeral 48a denotes a latch circuit for latching the contents read out from themapping memory 42.Reference numeral 48b denotes an adder for adding the contents of thelatch circuit 48a and a sum generated from a switching circuit which will be described below. The resultant sum is stored in themapping memory 42 through a bus BUS. A switchingcircuit 49a selectively supplies the weight W of the point P from the bus BUS or the value generated from an integratingregister 49b, which will be described below, to theadder 48b. The integratingregister 49b integrates the differentiated end point data.Reference numeral 49c denotes a suppression counter for generating the above-mentioned four addresses so as to generate the suppression regions SFa an Sfb.Reference numeral 49b denotes a multiplier for multiplying the weight W from the bus BUS with ⁻1/2, 3/2, ⁻3/2, or 1/2 in response to the output from thesuppression counter 49c. - The operation of the system shown in Fig. 48 will be described hereinafter. Coordinates (rm , ϑm) and a weight W of each extract point are generated from a memory (not shown). The
great circle ROM 40 is the same memory constituted by the ROM'S 4000(1) to 4000(4) (Fig. 45). TheROM 40 stores the mapping function which has the bandwidth and the suppression region. More particularly, theROM 40 stores the four address data. These four address data are sequentially read out from theROM 40 in response to the output from thecounter 49c. The coordinate rm along the direction for the concentric circle is supplied to thegreat circle ROM 40, and the four reference great circles Sℓma , Rℓma , Lℓma and Fℓma corresponding to the coordinate rm are selected. The coordinate ϑm along the rotation direction is supplied to theshift ROM 43, and shift distances Lm corresponding to the coordinate ϑm are selected. The concentric circle counter 44 sequentially generates address data of each concentric circle. This address data is supplied to the concentric circlemaximum value ROM 45, thegreat circle ROM 40, and theshift ROM 43. The maximum value of the corresponding concentric circle is generated from the concentric circlemaximum value ROM 45. The address data as the intersections between the concentric circle and the four reference great circles ℓm is sequentially read out from thegreat circle ROM 40 in response to the outputs from thesuppression counter 49. The shift distance among the distances Lm which corresponds to the concentric circle is read out from theshift ROM 43. Therefore, theadder 41 adds the four intersection coordinates generated from thegreat circle ROM 40 and the shift distance generated from theshift ROM 43. A sum from theadder 41 is supplied to thenormalization circuit 46. Thecircuit 46 compares the maximum value read out from the concentric circlemaximum value ROM 45 with the sum generated from theadder 41. When the sum is smaller than the maximum value, the sum is supplied as the write address data to themapping memory 42. However, when the sum value is larger than the maximum value, a value "sum value - maximum value" is supplied as the write address data to themapping memory 42. The four intersection coordinates from theROM 40 are also supplied to thenon-existence detection circuit 47a. When thecircuit 47a detects any non-existent value among the intersection coordinates, thecircuit 47a determines that the corresponding concentric circle does not have any intersections. The write inhibit signal is supplied from thenon-existent detection circuit 47a to thewrite control circuit 47b. Thecircuit 47b inhibits writing of themapping memory 42 at the designated address. However, when the write inhibit signal is not generated, the corresponding data is stored at the address of themapping memory 42 which is accessed by the address data. - In order to weight the storage, the content at the accessed write address is read out from the
mapping memory 42. The readout data is latched by thelatch circuit 48a through the bus BUS. Themultiplier 49d supplies -w/2, 3w/2, -3w/2, and w/2 to theswitching circuit 49a to weight the end points Xℓ , Xm , Xp , and Xn shown in Fig. 39 in accordance with the outputs from thesuppression counter 49c. Theswitching circuit 49a is operated to supply the outputs from themultiplier 49d to theadder 48b. Theadder 48b adds the contents of thelatch 48a and the outputs from themultiplier 49d, and the addition results are sent onto the bus BUS and stored in the corresponding memory area of themapping memory 42. Themultiplier 49d sequentially generates output -w/2, 3w/2, -3w/2, and w/2 to thesuppression counter 49c in response to the output from thesuppression counter 49c. The address data of each end point for thegreat circle ROM 40 is sequentially updated in response to the output from thesuppression counter 49c. The outputs from theadders 41 are then sequentially stored in themapping memory 42, and at the same time are stored in thelatch circuit 48a, thus being sequentially synchronized with the outputs generated from themultiplier 49d. Therefore, theadder 48b calculates a sum of the content of the point Xℓ as the start point of the suppression region and the output -w/2, and the resultant sum is written at an address of themapping memory 42 which corresponds to the start point Xℓ. Theadder 48b adds the content of the point Xm as the start point of the width region and the output 3w/2, and the resultant sum is written at an address of themapping memory 42 which corresponds to the start point Xm. Similarly, the content of the point Xp as the end point of the width region is added to the output -3w/2, and the resultant sum is stored at an address of themapping memory 42 which corresponds to the end point Xp. Finally, the content of the point Xn is added to the output w/2, and the resultant sum is stored at an address of themapping memory 42 which corresponds to the end point Xn. - When these four end points of one concentric circle are written in the
mapping memory 42, the count of theconcentric circle counter 44 is updated to sequentially generate the next four end address data from thegreat circle ROM 40. These four data are shifted and weighted by theadder 41, and the resultant data is stored in themapping memory 42. - When storage of the great circles for one point P in the
mapping memory 42 is completed, the net point coordinates and weight are supplied through the bus BUS. The great circles are written in themapping memory 42 in the same manner as described above. - When all the great circles for all points of interest are written in the
mapping memory 42, the same storage contents as described with reference to Fig. 39 are obtained. Subsequently, the peak point is searched from the contents of themapping memory 42. The peak point is detected as the intersection between the great circles. - For this reason, the contents of the
mapping memory 42 are integrated to obtain the original level distribution as shown in Figs. 33 and 34. - The
switching circuit 49a is switched to an integratingregister 49b to supply the contents of the integratingregister 49b to theadder 48a. the contents of themapping memory 42 are scanned along the Y- and X-axes and read out therefrom. The readout data is supplied to thelatch circuit 48a and is added by theadder 48b to the contents of the integratingregister 49b. The sum is stored in the corresponding memory area of themapping memory 42 through the bus BUS and is also set in the integratingregister 49b. When scanning of themapping memory 42 is repeated along the X direction, the outputs from theadder 48b are integrated. In other words, the integration of weights of the end points, i.e., the original level distribution contents shown in Figs. 46 and 47 are stored in themapping memory 42. - In order to detect the peak point from the above level distribution, the output from the
mapping memory 42 is sliced at a predetermined slice value. The slice value is set in the integratingregister 49b. - Thereafter, the content of the
mapping memory 42 are read out and latched by thelatch circuit 48a through the bus BUS. Theadder 48b adds the latched contents and the slice value. When the sum overflows, theadder 48b generates a carry signal. Otherwise, theadder 48b does not generate the carry signal. When the slice value is set so as not to generate a carry signal for a point excluding the peak point, the carry signal is not generated at a point excluding the peak point. Therefore, the carry signal is generated only at the peak point. In other words, slicing by addition is performed. An output from theadder 48b is stored at the immediately previous read address of themapping memory 42 through the bus BUS, and theregister 49b is not updated. When the above operation is performed for all addresses of themapping memory 42, the data at the address corresponding to the peak point is set at logic "1" in the mapping memory, and the data at other addresses thereof are set at logic "0". - In this manner, the data "1" is stored for the peak point S in the mapping memory, and the data "0" are stored in other addresses thereof. By detecting the peak point S, the data extraction by mapping is completed.
- In the above description, the mapping function having the allowance width and the suppression regions is generated and stored by the system (Fig. 45) for causing the
suppression counter 49c to generate four end point address data. However, when the mapping function has only the allowance width and is generated by the system shown in Fig. 43, theROM 40 is constituted by the ROM's 4000(1) and 4000(2) shown in Fig.. 37, and the 4-bit suppression counter 49c is replaced with a 2-bit width counter, thereby generating and writing such a mapping function. - Figures 49 to 52 show an example when the present invention is applied to Hough transformation. Hough transformation is used as a technique for condensing a probability when a line or a segment of the input image is to be extracted. As shown in the X-Y coordinate system of Fig. 49, a point P(X,Y) on the X-Y coordinate system is transformed to a point plotted on a sine wave plane in accordance with equation r = Xsinφ + Ycosφ. In other words, the two-dimensional coordinates (X,Y) are mapped to polar coordinates (r,φ).
- When sine waves corresponding to the respective points along one straight line on the X-Y coordinate system are plotted on the sine wave plane, these sine waves intersect with each other at two points thereon. When only the absolute value of r is considered, the two sine waves intersect with each other at one point. Since a rotational angle ϑ₀ and a height r₀ of this point represent the rotational angle and the length of a vertical line when the vertical line is drawn from the origin to the straight line constituted by the points, the line data of the respective points can be extracted. In other words, extraction of a straight line or a line segment, or reproduction of a dotted line or a curve can be performed.
- When a bandwidth SF is given to the sine waves as the mapping functions for one point, the intersection can be easily extracted. In addition, if the bandwidth SF and the suppression regions SFa and SFb are given to the sine waves, a steeper peak point can be obtained. Therefore, the peak point, i.e., the intersection, can be easily and accurately detected. The same mapping function generation as in spherical transformation can be used in the Hough transformation.
- Figure 52 is an example of a mapping processor wherein the present invention is applied to Hough transformation.
Reference numerals 4000A(1) and 4000A(2) denote reference sine wave ROM's for storing coordinates of intersections between the reference sine wave and the concentric circles. TheROM 4000A(1) stores the reference sine wave representing the start point of the width region, and theROM 4000A(2) stores the reference sine wave of the end point thereof.Reference numerals 4100A(1) and 4100A(2) denote adders; and 42, a mapping memory. The write addresses of theROMs 4000A(1) and 4000A(2) are accessed in response to the outputs from theadders 4100A(1) and 4100A(2), respectively, thereby storing the sine wave patterns therein. The mapping processor shown in Fig. 52 is obtained by replacing the reference great circle ROM's with reference sine wave ROM's 4000A(1) and 4000A(2), respectively. - The operation of the mapping processor of Fig. 52 will be described hereinafter. The coordinates of the point (X,Y) are transformed into polar coordinates consisting of the circle |r| and the phase ψ. The circle data r is supplied to the reference sine wave ROM's 4000A(1) and 4000A(2) which generate reference sine wave patterns corresponding to the concentric circle radius |r|. The phase ψ is supplied to the
rotation ROM 43 wihch transforms the phase ψ to the distance L. Theadders 4100A(1) and 4100A(2) add the selected reference sine wave patterns and the distance L. - The reference sine wave patterns are shifted by the phase ψ corresponding to the distance L, thereby obtaining the reference wave patterns corresponding to the point P. The outputs from the
adders 4100A(1) and 4100A(2) are used as the write addresses, thereby storing the sine waves corresponding to the point P in themapping memory 42. The sine waves of the respective points are stored in the referencesine wave ROM 4000A in accordance with the reference sine waves. - The intersection extraction can be performed in the same manner as described above.
- The structure and operation of the mapping processor of Fig. 52 are the same as those illustrated in Figs. 30 to 37. A modification may be made on the basis of Figs. 38 to 40. As shown in Fig. 45, four reference sine wave ROM's are provided as the reference mapping function ROM. End point recording can also be applied to the mapping processor of Fig. 52.
- An example of the structure and the operation of the mapping processor shown in Fig. 48 is further explained with reference to Figs. 53 to 58. In Figs. 53 and 54, schematic diagrams for explaining the structure of the mapping processor are shown. In Fig. 55, the sequence of the execution of the programs is illustrated. In Figs. 56, 57, and 58, flow charts of the operation of the mapping processor are shown.
- In Fig. 53, the system for the writing of great circles is illustrated. The mapping plane address is supplied to the mapping plane in a first step. In the multiplier, the multiplication of the original data by the differentiation data is carried out. The result of the addition of the output of the multiplier to the data read from the mapping plane is written into the mapping plane in a second step.
- The combination of the great circle writing portion and the instruction portion thereof is illustrated in Fig. 54. The instruction portion includes a pulse synchronizer, a sequential control circuit, a micro-program ROM, a pipeline register, and a decoder. The great circle writing portion includes an arithmetic and logic unit, a data bus, a great circle ROM, a multiplier ROM, a mapping plane ROM, a shift ROM, a hand shake circuit, and a connector.
- The execution of the programs by the mapping processor under the control of the host computer is illustrated in Fig. 55. A sequence of a program "CLEAR", a program "MAP", and a program "INTEG" is illustrated. The flow charts of the execution of the program "CLEAR", the program "MAP", and the program "INTEG" are shown in Figs. 56, 57, and 58.
Claims (11)
setting reference points on the plane in question;
obtaining and storing the data of the mapping functions of the set reference points;
obtaining data of relative positions of points on the plane in question with respect to the reference points;
shifting the mapping functions of the reference points in coordinate values on the mapping plane by the obtained relative position data of points on the plane in question;
obtaining mapping functions of points on the plane in question from the result of the shifting of the mapping functions of the reference points; and
extracting information of a picture on the plane in question on the basis of mapping function data of coordinate values of the points.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP74519/84 | 1984-04-13 | ||
JP59074519A JPS60218184A (en) | 1984-04-13 | 1984-04-13 | Information extracting method based upon mapping |
JP74518/84 | 1984-04-13 | ||
JP7451884A JPS60218183A (en) | 1984-04-13 | 1984-04-13 | Information extracting method based upon mapping |
Related Parent Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP85400722A Division EP0165086B1 (en) | 1984-04-13 | 1985-04-11 | Information extraction by mapping |
EP85400722.6 Division | 1985-04-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
EP0345912A2 true EP0345912A2 (en) | 1989-12-13 |
EP0345912A3 EP0345912A3 (en) | 1990-06-06 |
Family
ID=26415668
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP85400722A Expired - Lifetime EP0165086B1 (en) | 1984-04-13 | 1985-04-11 | Information extraction by mapping |
EP89202004A Withdrawn EP0345912A3 (en) | 1984-04-13 | 1985-04-11 | Information extraction by mapping |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP85400722A Expired - Lifetime EP0165086B1 (en) | 1984-04-13 | 1985-04-11 | Information extraction by mapping |
Country Status (7)
Country | Link |
---|---|
US (1) | US4736436A (en) |
EP (2) | EP0165086B1 (en) |
KR (1) | KR920005855B1 (en) |
CA (1) | CA1232360A (en) |
DE (1) | DE3584794D1 (en) |
ES (1) | ES8609699A1 (en) |
NO (1) | NO174125C (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1178434A2 (en) * | 1999-04-12 | 2002-02-06 | Fujitsu Limited | Image measurement method, image measurement apparatus and image measurement program storage medium |
US12125263B2 (en) | 2019-01-30 | 2024-10-22 | Sony Group Corporation | Object detection apparatus, system and method using feature maps transformed into a template coordinate system |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2203877A (en) * | 1986-09-18 | 1988-10-26 | Violet Frances Leavers | Shape parametrisation |
JP2612260B2 (en) * | 1986-09-24 | 1997-05-21 | ダイキン工業株式会社 | Texture mapping equipment |
US4891762A (en) * | 1988-02-09 | 1990-01-02 | Chotiros Nicholas P | Method and apparatus for tracking, mapping and recognition of spatial patterns |
DE69033269T2 (en) | 1989-06-20 | 2000-01-05 | Fujitsu Ltd., Kawasaki | Method and device for measuring the position and position of an object |
US5063604A (en) * | 1989-11-08 | 1991-11-05 | Transitions Research Corporation | Method and means for recognizing patterns represented in logarithmic polar coordinates |
US5903319A (en) * | 1991-05-13 | 1999-05-11 | Interactive Pictures Corporation | Method for eliminating temporal and spacial distortion from interlaced video signals |
US6002430A (en) * | 1994-01-31 | 1999-12-14 | Interactive Pictures Corporation | Method and apparatus for simultaneous capture of a spherical image |
US5384588A (en) * | 1991-05-13 | 1995-01-24 | Telerobotics International, Inc. | System for omindirectional image viewing at a remote location without the transmission of control signals to select viewing parameters |
US5990941A (en) * | 1991-05-13 | 1999-11-23 | Interactive Pictures Corporation | Method and apparatus for the interactive display of any portion of a spherical image |
US7382399B1 (en) | 1991-05-13 | 2008-06-03 | Sony Coporation | Omniview motionless camera orientation system |
US6243131B1 (en) | 1991-05-13 | 2001-06-05 | Interactive Pictures Corporation | Method for directly scanning a rectilinear imaging element using a non-linear scan |
US7714936B1 (en) * | 1991-05-13 | 2010-05-11 | Sony Corporation | Omniview motionless camera orientation system |
US6005984A (en) * | 1991-12-11 | 1999-12-21 | Fujitsu Limited | Process and apparatus for extracting and recognizing figure elements using division into receptive fields, polar transformation, application of one-dimensional filter, and correlation between plurality of images |
AU3930793A (en) * | 1992-05-08 | 1993-12-13 | Apple Computer, Inc. | Textured sphere and spherical environment map rendering using texture map double indirection |
US5396583A (en) * | 1992-10-13 | 1995-03-07 | Apple Computer, Inc. | Cylindrical to planar image mapping using scanline coherence |
US6731284B1 (en) | 1992-12-14 | 2004-05-04 | Ford Oxaal | Method of and apparatus for performing perspective transformation of visible stimuli |
US5684937A (en) * | 1992-12-14 | 1997-11-04 | Oxaal; Ford | Method and apparatus for performing perspective transformation on visible stimuli |
US5819016A (en) * | 1993-10-05 | 1998-10-06 | Kabushiki Kaisha Toshiba | Apparatus for modeling three dimensional information |
KR100219072B1 (en) * | 1996-04-02 | 1999-09-01 | 김영환 | Font transformation and rasterizing method using medial axis transform |
US6373642B1 (en) | 1996-06-24 | 2002-04-16 | Be Here Corporation | Panoramic imaging arrangement |
US6459451B2 (en) | 1996-06-24 | 2002-10-01 | Be Here Corporation | Method and apparatus for a panoramic camera to capture a 360 degree image |
US6331869B1 (en) | 1998-08-07 | 2001-12-18 | Be Here Corporation | Method and apparatus for electronically distributing motion panoramic images |
US6493032B1 (en) | 1996-06-24 | 2002-12-10 | Be Here Corporation | Imaging arrangement which allows for capturing an image of a view at different resolutions |
US6341044B1 (en) | 1996-06-24 | 2002-01-22 | Be Here Corporation | Panoramic imaging arrangement |
US6356296B1 (en) | 1997-05-08 | 2002-03-12 | Behere Corporation | Method and apparatus for implementing a panoptic camera system |
US6466254B1 (en) | 1997-05-08 | 2002-10-15 | Be Here Corporation | Method and apparatus for electronically distributing motion panoramic images |
US6081253A (en) * | 1998-02-10 | 2000-06-27 | Bronson Color Company, Inc. | Method for generating numerous harmonious color palettes from two colors |
US6924832B1 (en) | 1998-08-07 | 2005-08-02 | Be Here Corporation | Method, apparatus & computer program product for tracking objects in a warped video image |
US6160924A (en) * | 1998-08-12 | 2000-12-12 | Northrop Grumman Corporation | Method for forming a map of a three-dimensional object |
US6211884B1 (en) * | 1998-11-12 | 2001-04-03 | Mitsubishi Electric Research Laboratories, Inc | Incrementally calculated cut-plane region for viewing a portion of a volume data set in real-time |
US6369818B1 (en) | 1998-11-25 | 2002-04-09 | Be Here Corporation | Method, apparatus and computer program product for generating perspective corrected data from warped information |
US6175454B1 (en) | 1999-01-13 | 2001-01-16 | Behere Corporation | Panoramic imaging arrangement |
US6174392B1 (en) | 1999-03-04 | 2001-01-16 | Northrop Grumman Corporation | Composite structure repair process |
AU2001268194A1 (en) * | 2000-06-05 | 2001-12-17 | Altoweb Systems, Inc. | System and method for accessing, organizing, and presenting data |
US7412091B2 (en) * | 2000-12-07 | 2008-08-12 | Ilookabout Inc. | System and method for registration of cubic fisheye hemispherical images |
WO2002069130A1 (en) * | 2001-02-23 | 2002-09-06 | Altoweb Systems, Inc. | System and method to create an application and to manipulate application components within the application |
US20020147991A1 (en) * | 2001-04-10 | 2002-10-10 | Furlan John L. W. | Transmission of panoramic video via existing video infrastructure |
US6927772B2 (en) * | 2002-06-05 | 2005-08-09 | Jeremy Page | Method of displaying data |
US20040114785A1 (en) * | 2002-12-06 | 2004-06-17 | Cross Match Technologies, Inc. | Methods for obtaining print and other hand characteristic information using a non-planar prism |
US7081951B2 (en) * | 2003-10-09 | 2006-07-25 | Cross Match Technologies, Inc. | Palm print scanner and methods |
DE102004017730B4 (en) * | 2004-04-10 | 2006-05-24 | Christian-Albrechts-Universität Zu Kiel | Method for rotational compensation of spherical images |
US20080031400A1 (en) * | 2004-05-06 | 2008-02-07 | Luc Beaulieu | 3D Localization Of Objects From Tomography Data |
EP2206093B1 (en) * | 2007-11-02 | 2013-06-26 | Koninklijke Philips Electronics N.V. | Automatic movie fly-path calculation |
US8645609B2 (en) * | 2010-12-06 | 2014-02-04 | Brocade Communications Systems, Inc. | Two-port memory implemented with single-port memory blocks |
CN106296645A (en) * | 2015-06-25 | 2017-01-04 | 株式会社理光 | Image processing method and image processing apparatus |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3633017A (en) * | 1970-01-07 | 1972-01-04 | Sperry Rand Corp | Digital waveform generator |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3952187A (en) * | 1975-06-27 | 1976-04-20 | Ford Motor Company | Circuit for transforming rectangular coordinates to polar coordinates |
DE2816661C3 (en) * | 1978-04-17 | 1980-10-23 | Siemens Ag, 1000 Berlin Und 8000 Muenchen | Coordinate converter for converting Cartesian vector quantities into polar vector quantities |
US4241412A (en) * | 1979-03-16 | 1980-12-23 | Diasonics, Inc. | Polar to cartesian mapping apparatus and method |
US4276561A (en) * | 1979-04-06 | 1981-06-30 | Jon Friedman | Earth photo globe |
US4451856A (en) * | 1979-07-11 | 1984-05-29 | Ohio Electronic Engravers, Inc. | Engraving and scanning apparatus |
JPH0222420B2 (en) * | 1979-10-05 | 1990-05-18 | Dokutoru Ingu* Rudorufu Heru Gmbh | |
US4489389A (en) * | 1981-10-02 | 1984-12-18 | Harris Corporation | Real time video perspective digital map display |
JPS59184973A (en) * | 1983-04-04 | 1984-10-20 | Fujitsu Ltd | Environment understanding system of robot |
-
1985
- 1985-04-09 US US06/721,571 patent/US4736436A/en not_active Expired - Fee Related
- 1985-04-10 CA CA000478700A patent/CA1232360A/en not_active Expired
- 1985-04-11 EP EP85400722A patent/EP0165086B1/en not_active Expired - Lifetime
- 1985-04-11 EP EP89202004A patent/EP0345912A3/en not_active Withdrawn
- 1985-04-11 DE DE8585400722T patent/DE3584794D1/en not_active Expired - Fee Related
- 1985-04-12 NO NO851470A patent/NO174125C/en unknown
- 1985-04-12 ES ES542188A patent/ES8609699A1/en not_active Expired
- 1985-04-13 KR KR1019850002494A patent/KR920005855B1/en not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3633017A (en) * | 1970-01-07 | 1972-01-04 | Sperry Rand Corp | Digital waveform generator |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1178434A2 (en) * | 1999-04-12 | 2002-02-06 | Fujitsu Limited | Image measurement method, image measurement apparatus and image measurement program storage medium |
EP1178434A3 (en) * | 1999-04-12 | 2004-08-18 | Fujitsu Limited | Image measurement method, image measurement apparatus and image measurement program storage medium |
US12125263B2 (en) | 2019-01-30 | 2024-10-22 | Sony Group Corporation | Object detection apparatus, system and method using feature maps transformed into a template coordinate system |
Also Published As
Publication number | Publication date |
---|---|
EP0165086B1 (en) | 1991-12-04 |
KR920005855B1 (en) | 1992-07-23 |
KR850008226A (en) | 1985-12-13 |
NO174125B (en) | 1993-12-06 |
EP0345912A3 (en) | 1990-06-06 |
EP0165086A3 (en) | 1989-02-01 |
NO174125C (en) | 1994-03-16 |
DE3584794D1 (en) | 1992-01-16 |
ES542188A0 (en) | 1986-09-01 |
ES8609699A1 (en) | 1986-09-01 |
EP0165086A2 (en) | 1985-12-18 |
CA1232360A (en) | 1988-02-02 |
US4736436A (en) | 1988-04-05 |
NO851470L (en) | 1985-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0165086B1 (en) | Information extraction by mapping | |
Liang et al. | Geometric rectification of camera-captured document images | |
US5706416A (en) | Method and apparatus for relating and combining multiple images of the same scene or object(s) | |
Weidner et al. | Towards automatic building extraction from high-resolution digital elevation models | |
US6463176B1 (en) | Image recognition/reproduction method and apparatus | |
KR100967826B1 (en) | Image processing device and method, program, program recording medium, data structure, and data recording medium | |
KR100761641B1 (en) | Apparatus and method for correcting distortion of input image | |
GB2316257A (en) | Method and apparatus for overlaying a bit map image on an environment map | |
CN113793382A (en) | Video image splicing seam searching method and video image splicing method and device | |
EP1081650A2 (en) | Image storage method, image rendering method, image storage apparatus, image processing apparatus, image download method, and computer and storage medium | |
Ablameyko | An introduction to interpretation of graphic images | |
Ho et al. | Sensor geometry and sampling methods for space-variant image processing | |
JP3300092B2 (en) | Image feature extraction device | |
Stefanidis | Using scale space techniques to eliminate scale differences across images | |
Lu et al. | Stereo image matching based on probability relaxation | |
Ambellouis et al. | Velocity selective filters recursively implemented in the spatiotemporal domain | |
Ong | Image processing, pattern recognition, and attentional algorithms in a space-variant active vision system | |
Sutro et al. | Robot vision | |
JPS63113779A (en) | Peak extraction method | |
JPH0159619B2 (en) | ||
JPS62131381A (en) | Extraction processing method for three-dimensional position information | |
CN117036990A (en) | Unmanned aerial vehicle visual angle object detection method, device and storage medium | |
CN117974773A (en) | Method for calibrating bow direction based on geographic azimuth under ship static condition in ship lock | |
CN118212276A (en) | Point cloud registration method, device, equipment, storage medium and program product | |
JPH02158888A (en) | Pattern matching circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
AC | Divisional application: reference to earlier application |
Ref document number: 165086 Country of ref document: EP |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): BE CH DE FR GB IT LI NL SE |
|
PUAL | Search report despatched |
Free format text: ORIGINAL CODE: 0009013 |
|
AK | Designated contracting states |
Kind code of ref document: A3 Designated state(s): BE CH DE FR GB IT LI NL SE |
|
17P | Request for examination filed |
Effective date: 19901122 |
|
17Q | First examination report despatched |
Effective date: 19940204 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 19940615 |