EP0345912A2 - Information extraction by mapping - Google Patents

Information extraction by mapping Download PDF

Info

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
Application number
EP89202004A
Other languages
German (de)
French (fr)
Other versions
EP0345912A3 (en
Inventor
Yusuke Yasukawa
Susume Kawakami
Takashi Uchiyama
Yasushi Inamoto
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from JP59074519A external-priority patent/JPS60218184A/en
Priority claimed from JP7451884A external-priority patent/JPS60218183A/en
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of EP0345912A2 publication Critical patent/EP0345912A2/en
Publication of EP0345912A3 publication Critical patent/EP0345912A3/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/48Extraction 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 con­ditions 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 inter­sect 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 pro­jection.
  • 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 infor­mation 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 inter­section 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 corre­sponding 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 corre­sponding 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 corre­sponding 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 inter­section 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 con­centric 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 corre­spondence 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 inter­section 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 con­centric 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 ex­traction 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 pro­cessor 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 recog­nition 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 con­troller.
  • 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 inter­sections 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 corre­spond 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 inter­section 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 differ­entiated 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 refer­ence 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), re­spectively.
  • 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 inter­sections 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 inter­section 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 inte­grating 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 refer­ence 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 refer­ence 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

An information extraction method for extracting information of a picture on a plane in question by mapping comprises 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 function 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.

Description

    BACKGROUND OF THE INVENTION 1. Field of the Invention
  • 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.
  • 2. Description of the Related Art
  • In general, in order to obtain pattern infor­mation 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 con­ditions of measurement.
  • SUMMARY OF THE INVENTION
  • 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.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • In the drawings, Figs.
    • Figs. 1 to 8 illustrate the principle of spherical mapping using a spherical pro­jection in information extraction
    • Fig. 9 shows the fundamental process of in­formation 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 ex­plaining 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.
    DESCRIPTION OF THE PREFERRED EMBODIMENTS ((Introduction))
  • 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.
  • ((Spherical Mapping Using Spherical Projection))
  • 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 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.
  • 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 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. 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 a Euclidian plane 35 inter­sect the spherical surface 33 at the points 39 defining a finite range of length. Of course, the projections of the intersecting lines 40 in the Euclidian plane 35 also intersect the spherical 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 pro­jection. 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 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. By this spherical mapping, the correspondence of the point P in space to the line ℓ on the surface of the sphere 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 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 infor­mation 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 inter­section 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.
  • ((Fundamental Process of Spherical Mapping))
  • 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 the sphere 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 the sphere 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.
  • ((Production of Mapping Function))
  • 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 ℓ corre­sponding 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".
  • Hence, the cpacity of the memory used in the system illustrated in Fig. 13 is reduced by the 1 2n
    Figure imgb0001
    from the case of the above-mentioned complete registration.
  • 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.
  • ((Production and Storage of Data of Mapping Function))
  • 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, 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 P1a , P2a ... Pna 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 corre­sponding 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 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. The ROM 40 carries out the retrieval of the pattern ℓma of the great circle corre­sponding 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. 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. 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 the ROM 40 on the basis of the reference great circle and writing the produced great circles into the memory 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. 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 inter­section 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 con­centric 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 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.
  • 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 corre­spondence 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.
  • ((Example of Mapping Function Processor))
  • 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 r₁ , r₂ ... rn 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 (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 the ROM 43 and the group of the distances Lm 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 Lm, is delivered from the shift ROM 43.
  • The adder 41 adds the coordinates of the inter­section 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. When 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. When 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. 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 the con­centric 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 the mapping 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 the mapping memory 42 is carried out.
  • After the writing of the great circles corre­sponding to all the points into the mapping memory 42 is completed, a search of the peak point from the content of 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. 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 the mapping memory 42. By obtaining the point S, information extraction by the mapping is achieved.
  • ((Example of System to Which a Mapping Processor is Applied))
  • 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 ex­traction 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. Commands and data are entered through the keyboard 68. 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.
  • ((Description of Television Camera))
  • 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-­receiving element 21. In practice, since the pinhole 20 cannot provide a sufficient amount of light and cannot provide adequate focusing, it is replaced with a lens system 24. In addition, since a spherical light-­receiving element cannot be easily manufactured, 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.
  • 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 ideal spherical plane 22 indicated by the dotted line must be corrected by the lens or lens 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-receiving element 21 on the flat light-receiving element 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, 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.
  • 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 the calculation 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-­receiving element 26, as indicated by hollow dots in Fig. 22. Since the lens characteristics do not corre­spond 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.
  • ((Operation of the System to Which a Mapping Processor is Applied))
  • 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.
  • 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. When the coordinate data of all the extracted points are stored in the mapping memory 42, the processor 4a searches for a peak point SS , 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.
  • When the mapping results of the mapping processor 4a are stored in the mapping memory 55, the mapping pro­cessor 4b reads out coordinate data of the point SS 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. It should be noted that 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. When 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 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. The mapping processor 4b transfers the contents of the mapping memory thereof to the mapping memory 56. In addition, the mapping processor 4c and the mapping memory 57 for storing the mapping results are provided for obtaining a point SSS in accordance with the contents of the mapping memory 56, thereby deriving planar information.
  • A series of operations of the mapping processors are perfomred such that the processor 61 in the recog­nition section 60 exchanges commands and data with the respective mapping processors through the parallel interface 58 and the bus 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 the recognition section 60 reads out the contents from the three mapping memories through the bus 70 and discriminates the lines, their intersection, and the plane of the picture detectd by the television camera 2. The object is reconstructed by the lines and the plane. The recconstructed data is compared with various object data stored in the floppy disk drive 66 and discriminated to constitute a specific object.
  • The recognition results are printed out at the printer 67 through the printer interface 64. When a robot controller is connected to the interface 63, the recognition results are supplied to the robot con­troller. 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.
  • ((Type of System Using Mapping by Hough Trans­formation))
  • 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.
  • ((Generation and storage of Mapping Function Data by the Hough Transformation))
  • 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 inter­sections 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 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 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.
  • 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 the mapping 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 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.
  • 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.
  • ((Description of Problem of Giving Bandwidth to Mapping Function))
  • 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.
  • ((Embodiment of Giving Bandwidth to Mapping Function))
  • 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 corre­spond 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).
  • ((Embodiment of Giving Bandwidth to and Suppression Regions Mapping Function))
  • 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 inter­section 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 differ­entiated 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.
  • ((Embodiment of Applying Bandwidth to Process of Generation of Mapping Function))
  • 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 refer­ence 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. A rotation 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), re­spectively. 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 the mapping memory 42. In the mapping 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 the mapping 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.
  • ((Embodiment of Giving Bandwidth and Suppression Region to Mapping Function))
  • An application of mapping function generation using spherical projection in the system described with refer­ence 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 the rotation 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 the mapping memory 42. In the mapping 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.
  • ((Example of Mapping Processor for Giving Bandwidth and Suppression Regions to Mapping Function))
  • 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 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. 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 the great circle ROM 40, 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.
  • 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). 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 rm along the direction for the concentric circle is supplied to the great 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 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 inter­sections between the concentric circle and the four reference great circles ℓ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 Lm 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. 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 the mapping memory 42. The four inter­section coordinates from the ROM 40 are also supplied to the non-existence detection circuit 47a. When 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. However, when 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.
  • 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 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 , Xm , Xp , and Xn 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. Therefore, the adder 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 the mapping memory 42 which corresponds to the start point X. The adder 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 the mapping 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 the mapping 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 the mapping 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 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.
  • 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.
  • 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.
  • 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 inte­grating 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. When scanning of the mapping memory 42 is repeated along the X direction, 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.
  • 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 integrating register 49b.
  • Thereafter, 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. 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 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. When the above operation is performed for all addresses of the mapping 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, 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.
  • ((Example of Mapping Processor for Giving Bandwidth and Suppression Regions to 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. The ROM 4000A(1) stores the refer­ence 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 refer­ence 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. 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.
  • 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.
  • ((Supplemental Explanation of Mapping Processor))
  • 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)

1. An information extraction method for extracting information of a picture on a plane in question by mapping comprising 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.
2. A method according to claim 1, wherein the coordinate values of each of the points in the plane in question are expressed by the polar coordinate system; each of the reference points is set with regard to the corresponding concentric circle of the coordinate system, and the data of the mapping function of the reference points is stored in a memory.
3. A method according to claim 2, wherein the coordinate value of each of the points in the plane in question are expressed by the radial position of the concentric circle for the point and the rotational position of the point along the concentric circle, the corresponding mapping function is selected by the position of the concentric circle, and the mapping function of each of the points is obtained by shifting the selected mapping function on the basis of the rotational position of the point.
4. A method according to claim 2, wherein the mapping function is stored for each of the concentric circles.
5. A method according to claim 4, wherein the mapping plane is arranged separately for each of the concentric circles, the mapping function is obtained in parallel for each of the concentric circles, the shifting of the mapping function is carried out, and the shifted mapping function is stored in the mapping plane for each of the concentric circles.
6. A method according to claim 4, wherein the coordinate values of the intersection of the mapping function and each of the concentric circles are stored in a memory as the mapping function in question.
7. A method according to claim 3, wherein the shifting of the mapping function is carried out after the tranformation of the rotation position of the point to the distance from the reference point along the concentric circle and shifting.
8. A method according to claim 2, wherein the mapping is spherical mapping with regard to the mapping plane as the sphere, and the mapping plane is divided by concenctric circles as latitudinal circles.
9. A method according to claim 8, wherein the mapping function is the great circle with respect to the point as the pole on the spherical surface, said great circle being the equator with respect to the point as the pole with respect to the polar reciprocity transformation.
10. A method according to claim 2, wherein the mapping is Hough transformation with regard to the mapping plane as the Hough transformation plane.
11. A method according to claim 10, wherein the mapping function is a Hough transformation function.
EP89202004A 1984-04-13 1985-04-11 Information extraction by mapping Withdrawn EP0345912A3 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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