MACHINE VISION STEREO MATCHING

Abstract: Corresponding points in at least two different images of a scene are matched by the use of a shortest path analysis. An edge point in a continuous edge segment is selected in one image and potentially matching edge points in other images are arranged as a layered network. Weightings are applied to the potential matches and the best match is identified on the basis of a shortest path analysis of the network. In one preferred arrangement epipolar lines are used. For each edge point to be matched the position of the corresponding epipolar line is calculated using matrices defining parameters associated with the capturing of the image. The epipolar line is used to identify in the other image points as potential matches to the selected point in the one image. Further constraints are applied to the identified points to find the one point in the other image that most likely matches the selected point.

Description: MACHINE VISION STEREO MATCHING The invention relates to machine -vision stereo matching, that is to say the matching of features between two different images of a scene. The matching of features in images representing a scene viewed from at least two different viewing positions is a major problem in stereo vision in the art of machine vision systems. Hitherto, this problem has been approached by applying a set of constraints so that areas or features or both in two or more images are matched. This approach has met with varying degrees of success because there is no general solution to the problem and a set of constraints applied to one scene may not be appropriate to other scenes. Improperly applied constraints will lead to an interpretation of the images which does not correspond fully with the scene. There is a reduction of one dimension when a three dimensional (3D) scene is captured in a two dimensional (2D) image. This dimensional reduction results in a loss of information about the scene because a point in the 2D image will correspond to a line in the 3D scene. Thus, the process of 2D image formation can be regarded as a many-to-one mapping. That is to say, many points in the 3D space of the "scene •• will"map on-fco a s±ngle-poin .in the : ' 2D space- of the image. Thus, the inverse operation of mapping 2D image space points onto 3D scene space points is a one-to-many mapping. ' hais, loss of-iπfoπna±i.oπ. r?nτ.,be an .is- avoided by using at least one further image of the scene taken from a different viewing position and then identifying corresponding points in the plural images that relate to the _sanie .poin .I the.3D. space of the scene . In this way the process of mapping 2D image space points on to 3D scene space points is reduced to a one-to-one mapping. However, in adopting this approach a new problem is created, namely the problem of identifying corresponding points in the plural images; the correspondence problem. For any one pixel in one image -there -will be a large number of possibly corresponding pixels in the or each other image; the extreme being every pixel in the other image being a possible match with the pixel in the first pixel, and there is of course only one correct corresponding pixel. The present invention provides a means by which the number of possible matches is reduced, thereby both reducing, 'th processing time required to find a match and increasing the likelihood of good match being made . To obtain accurately triangulated 3D measurements from stereo images, a wide baseline, ie. the separation between cameras, or in the case of convergent stereo images, a wide viewing angle is required. The correspondence problem is more severe in wide baseline/angle stereo images because the changes between pairs of images can be very large and this in turn makes matching of images more difficult. These changes can be categorized into two types, geometric distortion and photometric distortion. Geometric distortion is the change in the geometrical description of a matching entity between images. Photometric distortion is caused by the change in orientation of a surface of an object in relation to the viewing point when a scene is viewed from a different viewing position. The degree of both types of distortion increases with increased baseline or viewing angle between the two viewing positions, although photometric distortion is less significant when a scene is evenly illuminated. In an embodiment of the invention to be described in greater detail hereinafter, a compromise is made so that the matching of images is possible and at the same time the recovered 3D measurements are accurate enough for subsequent use. Most stereo matching algorithms recognize a common ^problem, namely that matching ±s only possible for those image points with distinctive image characteristics. Image points within homogeneous regions cannot be matched. In general, pixel or area based matching -s mo e prone to image noise, -whereas feature based matching suffers from both photometric and geometric distortions. The ambiguity of stereo matching can be decreased by increasing the sophistication of the mage primitives used in matching. The sophistication of matching primitives is, in ascending order: i) pixel or area; ii) edge pixels; iii) linear or curved edge segments; and iv) structural descriptions; i.e. shapes formed by edge segments. Despite less matching ambiguity with higher level primitives, the pre-processing techniques commonly used to extract higher level primitives often produce artefacts which create additional problems to those that already exist. The embodiment to be described uses edgels, that is edge pixels or elements, as the matching primitives. Current edge detection techniques are capable of producing edges to near sub-pixel accuracy and accordingly the effect of geometric distortion and photometric distortion is not severe in edgel matching. This approach reduces the problem of identifying corresponding pixels to that of resolving the ambiguities posed by matching edgels. The embodiment uses as few constraints as possible in order to make the stereo algorithm more general. Matching constraints used in stereo can be classified into three groups; the geometrical constraints which are derived from the imaging geometry, the photometric constraints which are derived from the image characteristics, such as the intensity or colour, and heuristics, such as the assumption of figural continuity. In one aspect the present invention provides a method of matching corresponding features in at least two different images representing a scene, the method comprising identifying in each image plural edge points which together form a continuous edge segment in the image; constructing for each edge segment in one image a layered network of potentially matching edge segments in the or each other image; and identifying the best match between segments on the basis of a shortest path analysis of the layered -network. Once potential corresponding points have been selected or defined, additional constraints can be applied to the points to describe the nature of those - \ o.in - * -\ϊih -ιconst ai ts ! ' ya,be o fiγample y .aπy ox all of the potential matches lying on an epipolar line or characteristics such as the local edge orientation, the intensity normal and/or the surrounding colour of the ox each image. oint. In this way, the similarity between each potential point and the point of interest can be examined to facilitate selection of the best matching point from the potential points. According to another aspect of the invention there is provided a method of matching corresponding points in a plurality of images representing different aspects of a 'scene, the method comprising selecting points in one image, identifying in the or each other image points which are potential matches to each of the selected point, applying to each identified point in each other .image a -weighting representing the likelihood of the identified points matching the selected points and selecting as the best match to the selected points the combination of points which result in a minimal weighting summation. According to a further aspect of the invention there is provided a method of matching image points in at least two different images of a scene, the method comprising selecting an image point in one image and candidate matching image points in another image and applying a shortest path algorithm to the candidate matching points thereby to identify a single point in the other image corresponding to the selected point in the one image. In international patent application no. WO89/01850 now assigned to us, the teachings of which are incorporated herein by reference, there is disclosed an adaptive vision based controller in which inter alia an electronic camera acquires images representing a scene, which images can be processed to determine information related to the scene. The present invention can be incorporated into the system of this controller or indeed any other machine vision system. Therefore, according to a further aspect of the invention there is provided a system for matching corresponding features in at least two different images representing a scene, the system comprising identifying means for identifying in each image plural edge points which together forms a continuous edge segment in the image; constructing means for constructing for each edge segment in one image a layered network of potentially matching edge segments :rin-the -ox.each. other- image;-..and identifying- eans for identifying the best match between segments on the basis of a shortest path analysis of the layered network. J .3_he--.a]røre..-and further,features of the invention together with advantages thereof will become clearer from consideration of the following detailed description of exemplary embodiments of the invention given with reference to the accompanying drawings. In the drawings: Figure 1 is a representation of the geometry associated with two images of a scene; Figure 2 is a representation of the geometry associated with three images of a scene; Figure 3 is a graphical representation of an intensity.'contoux; Figure 4 shows masks suitable for extracting colours across an edge; Figure 5 shows the construction of a layered network of potential matches; Figure 6 illustrates how dummy layers can be added to the network of Figure 5; and Figure 7 shows a matching algorithm. Referring now to Figure 1 of the accompanying drawings, there is represented the geometry associated with stereo imaging. A point 10 in 3D space (x,y,z) is seen as a point 11 in a first image plane (ϋi, Vi) when viewed from a first observation point On.. In other words, the image plane (ϋi, Vi) is in 3D- space at a position such that a line 12 between the observation point 0ι and the point 10 will intersect the plane ϋi, Vi at the point 11. When the point 10 is viewed from a second observation point 13 a line 14 will intersect a second image plane (U_z, V 2 ) at a point 15 in the second image plane. The first line 12 will be seen in the second image plane (U 2 , V 2 ) as an epipolar line 16. Thus, as will be appreciated from Figure 1, the space in the second image plane (U 2 , V 2 ) in which a point corresponding to the point 11 will lie can be reduced to the epipolar line 16. The use of an epipolar line in the second image reduces significantly the number of points in the second image that might correspond to a point in the first image and this can be put to good effect either to reduce the processing time taken to-match points and identify features or to increase the accuracy of confidence of a match of points and features between images. As shown in Figure 2 of the accompanying .dxawings.," for more than two • views .of a scene all the notional lines 12, 14, 17 projected from the respective viewing positions (not shown) will intersect at the point 10 in the 3D space. The viewing positions can be selected so that at least two epipolar lines will be seen in at least one image. In the example shown in Figure 2, the epipolar line 16 is seen in the second image plane (U 2 , V c ) and the epipolar line 16, together with an epipolar line 18 resulting from the notional line 14, is seen in a third image plane (U3, V 3 ). The point 19 at which the r epipolar lines lδ f IB intersect in the ' third image plane (U3, V 3 ) corresponds to the point 10 in 3D space. It is a simple matter to calculate the position of epipolar lines in the second and subsequent images the problem being merely one of image geometry. The calculation of epipolar lines per se is considered to be well within the scope of the notional skilled man, but for the sake of completeness a brief description of the calculation will be given hereinafter. It should be however noted that such calculations cannot be made until such time as the camera or other means by which images are acquired has been calibrated. One preferred method of calibration is that developed by Bowman & Forrest and disclosed in Transformation Calibration of a Camera Mounted on a Robot, Image and • Vision Computing, Vol. 5, No. 4, 1987, the teachings of which are incorporated herein by reference. From Figure 1 it is known that a point 10 in 3D space coordinates can be projected on to an image plan (Ui, Vi) resulting in an image point The transformation between 3D space and image space is a matrix T, which represents the transformation as performed by the camera and where: (x,y,z,l) _ = (su,sv,0,x) or xT = u. The point P will be projected onto the two image planes forming an image point (u x , vi) in the first or left hand image and an image point (u 2 , v 2 ) in the second or right hand image. This can be expressed as: (x,y,z,l)T 1 = (SI,UI,S_L,V I ,0,SI) for the left hand view, and (x,y,z,l)T* = (s 2 ,u 2 ,s 2 ,v 2 ,0,s 2 ) for the right ±cand::view where Tj 3 - and T*- are the transformation matrices for the left hand and right hand views respectively, i.e. the camera matrices. , : . ollows; The line 12 passes through OiP can be expressed as where ( x Yi Z_L I)! 1 = (0 0 0 0) . -2^ = The epipolar line 16 can therefore be obtained by a direct transformation, namely (Xx-μN,c Yi-μNy Zx-μN,. 1) * = (s 2 u s=v 0 s s ) The projection of the first observation point Ox gives the epipoϊe (u β ,v.) in the second image and this is the point from which all the epipolar lines extend in the second image. The position of this epipole (u β , v β ) in the second image is found by letting μ=0 in the above equation. The equation for the epipolar line can then be expressed as (v - v.) (v μ - v.) (u - u.) (u μ - u.) where u^ and v μ are obtained by letting μ equal an integer constant. Once epipolar lines have been defined in the or each other image, the images can be processed to identify features by applying various constraints to the images. In other words, the processing is arranged to look for similarities between a point in the first image and points selected by the identification of epipolar lines in the second and any subsequent images. As mentioned above, in this embodiment edge pixels (edgels) are used as the image primitive to be matched... - .Edges..are,, here ore .first identified in the images. The preferred method of edge detection is that developed by Marr and Hildreth as modified in the system disclosed in our abovementioned international patent.application, though other .know .methods could instead be used. Once edgels have been .thus identified an orientation constraint is applied to each edgel to facilitate identification of corresponding edgels. "Fox an'edgel in a"segmen , the orientation of the edgel has a slightly different meaning to that of a line segment. The present embodiment uses local edge orientation to refer to the tangent to a local edge segment at an edgel (u,v) . Each edgel has two directional first derivatives of intensity, G-v- and G«, where the gradient. ' G{,nVv): of the intensity .1 of an edgel is Gv + Gu and G (u,v)=5I(u,v) ai(u,v) + 3u 3v. G-u- and G«. are obtained from a gradient operator such as the so-called Sobel or the Canny operators. The local edge orientation of an edgel is expressed by tan- 1 Gv and since the local edge orientation is susceptible to both geometric distortion and image noise, this constraint is. used to filter the obvious false matches by restricting the orientation difference between the matching edgels to a limit of * 4/π. This limit can be varied accordingly to the viewing angle. This constraint is then applied between images 1 and 2 as follows. 0 < tan A= < 1 IGuiGu2 ■ + ■ G iG 2 where G v and G«. are the vertical and horizontal gradients of the image intensity at an edgel. Thus, one way in which the system can . look for similarities between images is to examine the gradient of an edgel in one image and to compare that gradient to the respective gradients of edgels identified by the epipolar line in another image. Another constraint that can be applied is to examine the intensity normal of edgels. Figure 3 of the accompanying drawings shows an intensity profile K of an image in the image plane. For a point S in the image plane, where S = f(u,v,w) and w = g(x,y), there will be an intensity normal vector B n r where B n = i + bj. + ck_. The position of the point S is given by a position vector r., where r. = ui. + v. + wk and from this B__ can be calculated. The gradient in u for the position r. is given by 8x_ = i + aw k and -the igradieπt .in v._is. given dr_ = j + 3w k av 3u Therefore , Br_ = ar ar. — x — an . 5v It should be noted that the processing can be simplified where the above discussed gradient constraint is applied because aw and 3w are in act 3u av the above discussed G u and Gv respectively. An edgel may also be characterized by a sharp transition of colour as well as or instead of intensity. The colours on each side of a detected edge ..are ..calculated using specially designed orientation masks as shown in Figure 4 of the accompanying drawings. The function of the masks is to obtain a representative colour value on each side of an edge and four orientation masks 20,21,22,23 are ■ derived from for .example .a weighted half-Gaussian kernel. At least four orientation masks are required to cover the eventuality of the detected edge having an orientation approximately to horizontal as shown by edge .24 vertical -as shown by edge 25, inclined left to right as shown by edge 26 and inclined right to left as shown by edge 27. For edges having different orientations to those shown, additional masks can be used or the mask corresponding to the approximate orientation can be selected. The centre, ie. the maximum weighting of the kernel is placed approximately 4 pixels away from the edgel in the image and therefore the weights decrease nearer to the edge. The masks are applied symmetrically about the edge and are applied repeatedly for each edgel in the edge. In this way a representation of the colours on each side of the edge is built up. The luminance or intensity L of a pixel/edgel is calculated from L = R + G + B, where R, G, B are the three primary colour components of the pixel. R, G and B can be normalised to r, g, b as follows: R G B r= L g= L and b= L Only r and g need to be calculated because r + g + b = 1 and b can therefore be calculated readily from r and g. A colour vector c is then calculated form c. - ar. + bg. and thus, colours on each side of the edge is represented by a colour vector in normalized colour coordinates. Vector subtraction is then used to compare the colour similarity between an edgel in one image and potential candidate edgels in the other image. A difference limit 6 is used to accept . ipotential atches. _ . Th di ference, limit .._€ is -defined as In order to handle an occlusion situation, that is a v -.featuxe.-^in onetiarage-'-beiπgObscured by another;-f ature in the other " image, one should not impose colour matches on both sides of the edge. The requirement therefore is that at least one side of potential matching edgels should have the same colour. I edgel matching is limited to a ' local comparison ambiguities can arise. Such ambiguities can be reduced by using the edge segment along which a disparity continuity constraint usually applies. This constraint comes from the assumption that a continuous edge in 3D space gives rise to a continuous edge in . he image. • This ^implies - that . the disparity value varies smoothly along a continuous edge. This is the coherence principle proposed in Prazdny in his paper "Detection of Binocular Disparities": Biological Cybernetics 52: 93-99, 1985. It should be noted that a continuous edge in an image may not necessarily come from just one edge in 3D space, therefore, there may be discontinuities of disparity along a continuous edge .in th image. .Particular attention should therefore be paid to this point when a disparity discontinuity constraint is applied to edgel matching. Once an edge has been identified in an image and for each edgel in that image potential corresponding edgels in another image have been selected, a final selection must be made to identify corresponding edgels in the two images on a one to one basis. In other words, an'edgel in the second or any other .image must be uniquely defined as that corresponding to an edgel in the first image. Stereo matching techniques would usually produce more than one acceptable match, even when all of the constraints described hereinabove are applied to an undecided edgel. The requirements for matching uniqueness dictates that only one must be selected from these acceptable matches and the correspondence problem thus can be considered as a combinatorial optimization problem. A potential matching candidate will satisfy the following constraints: 1. The matched pixels or the matching entities will all lie on the respective epipolar lines, or in the case of more than two views at the intersections of the respective epipolar lines. 2. There will be a similarity of image attributes between all the matched entities. 3. A continuous 2D edge segment will usually correspond to a continuous edge segment whether it is a physical edge or an edge segment ..resulting .from a .shadow. The disparity continuity constraint can then be applied. It is possible to formulate a measure which reflects the quality or goodness of match of different 5 . potential.candidates based ,on the above three criteria and this measure is used to seek a combination of the potential candidates which will give the 'best' measure. The coherence principle requires that disparities ID of the neighbouring elements corresponding to the same 3D object be similar, i.e. neighbouring image points corresponding to the same object should have nearly the same disparities. The Markov Random Field (MRF) image model, proposed by Geman and Geman in their 15 paper "Stochastic Relaxation, Gibbs Distributions and the Bayesian Jtestoration of Images" EEE Transactions on Pattern .Analysis and Machine Intelligence, Vol. PAMI-6, pp. 721-741, November 1984, is therefore also applicable in stereo matching. Using the MRF model, 20 matching adjacent edgels on an edge segment is an interdependent process as the disparities between these edgels must be similar. The MRF model quite often leads to the use of a simulated annealing algorithm which usually takes a larger amount of time 25 to arrive at near optimal matching configurations. Simulated annealing will only be suitable if the solution space is very large and where a deterministic algorithm would also run into time and space problems. If more than two views are used, the application of the similarity and the epipolar line constraints will give a very confined solution space where a deterministic optimization algorithm can be used in preference to a stochastic one. Although the MRF is best understood as a markov chain with transition probabilities for each edgel, the goodness measure can be applied in such a way that the goodness of match of an edgel depends not only on the combinations of potential candidates for itself but also on those of its neighbours. In this way, edgel-segment matching, which is a compromise between matching ambiguity and the generality of the matching algorithm, can be used to preserve the advantages of edgel matching and reduces the matching ambiguity using the disparity continuity constraint. This measure is then the transition probability in a different guise, and, in the framework of optimization, this measure of goodness of match is known as the cost function. The above discussed local edge orientation and intensity normal at a corresponding edgel vary from image to image due to the change of viewing position. The above discussed colour match constraint requires -.-calculation - ..of rthe- ...colour .value on each..side, of an edge using masks with a certain size of support and it therefore suffers from foreshortening effects due to a wide baseline or wide viewing angle. Therefore, these 3 -s ilaax -constraints can .neither .be-minimi-zed,nor maximised. They can however determine if a potential matching should be considered. The cost function C in canonical form can then be fo.rmulated as: C ,__.- * - X canonical where S=f(c., N, tan A) and, S = 1 if the similarity 15 constraints are satisfied S = 0 otherwise and where c_, N and tan A are respectively the above discussed colour vector, the intensity normal, 2.0 -rand the..local- edge orientation, n is the total number of views, dj is the sum of distances of potential matches from the epipolar line (j = 2) or from the intersections of the epipolar lines (j > 2) for the i 25 th and i+1 th edgels in a segment, D 3 is the change of disparities between neighbouring pixels (the i th and the i+lth edgel in a .segment,, and β is a weighting factor. 30 It should be note that the cost reflects the goodness of match of two neighbouring edgels. If -the similarity constraints are applied to filter the obvious false matches, the cost function will be simplified to The optimization constraints are then reduced to the distances from the epipolar lines and intersections of epipolar lines and change of disparities between neighbouring edgels only. We want a combination of matches for edgels along a segment that will give The solving of this equation will give a solution that is globally optimal as well as locally optimal. This will be better understood by reference to Figure 5 of the accompanying drawings. For a continuous edge segment containing 1 edgels, each edgel will find p__. potential candidates and a layered network of layers can be constructed with p_L nodes in each layer of the network. Cost paths 30,31,32 can then be generated for each node across the layers of the network. The paths are unidirectional from the ith layer to the i-Hth layer .and paths ±ietween the same layer are forbidden. The paths 30,31,32 connecting two nodes are associated with a weight which reflects the cost for choosing each node- =as .a .match .for the respective edgels. This ' cost is obtained using the above discussed simplified cost equation for C__.,._.-ι-χ. The complexity of the network is indicated by the number of nodes and the number of paths connecting the nodes. The total number of nodes is given by a The number of arcs is given by P_L(P_I.- * -X) . The aim is therefore to find a route which will give the minimum cost from the first edgel (i = 1st layer) to the last ■ edgel (i-lth layer) .of the segment, i.e. a node in the first layer to a node in the last layer. In other words, once the network has been created finding the solution is a shortest path problem. Various shortest path algorithms have been developed and are well known and any efficient shortest path algorithm can be used that finds the shortest path from a node to another node, or from a node to all other nodes. It has been shown that the so-called linked double ended queue (L-deque) data structure and the peculiar label updating policy designed by Pape and disclosed in ACM Transactions on Mathematical Software 6,450,1974 Algorithm 562, is one of the fastest on layered graphs and is also one of the easiest to implement. The algorithm is well known and no further explanation is required but the reasons why this algorithm is chosen for stereo matching are as follows. The memory requirement of the L-deque algorithm is 4n + 2m where n is the number of nodes and m is the number of arcs. The computational cost is approximately linear with the number of layers in the graph. There is no threshold value to be adjusted as there is in some of the other algorithms for layered graphs. Also, we have found by experimentation that the algorithm is inherently capable of handling disparity discontinuities in edge segments resulting from depth discontinuities in a scene. This enables a continuous segment to be broken up or several short segments to be joined together arbitrarily for the purpose of processing though a minimum of about 10 edgels is required to ensure correct correspondence. Since the segment can be easily broken up, the process is particularly well suited to execution in parallel processors thereby increasing the speed at which the process is performed. The L-deque algorithm calculates the shortest path from a chosen node to all other nodes in the netwonk- iTherefo-r ,-,.the -L-rdeque algorithm has to be used pi times to obtain the shortest of the p^- shortest paths. The computational cost for such a task will be pι*t where t is the time required to /calculate ; ' ftevshortest path fro a .node in -the .first layer to the nodes in the last layers as represented by Figure 6 of the accompanying drawings a dummy Oth layer and a dummy 1+1 layer with one node in each layer can be introduced into the network. Introducing these dummy layers increases th -network complexity fay two nodes and by Pi+Pi arcs but reduces the number of calculations of the shortest path to only once. This, in general, results in considerable reduction of the computational cost. Once corresponding edgels have been identified _between images, .edgels.are then-grouped- together by an 8-connectedness criterion using an iterative edge labelling algorithm. In this way, segments of edges are obtained and a matching algorithm is then used to .obtain a sparse 3D.map. of the scene. The matching algorithm is shown in Figure 7 of the accompanying drawings and is self explanatory. During the matching of a segment or a sub- . .segment, only-information .bout he matching edgels is needed. Therefore, the algorithm can be run on a network of processors in parallel and no communication is necessary between processors. A group of edgels forming a matching segment can come from a single continuous edge segment or several concatenated edge segments or a section of a long edge segment. The computation time of the algorithm is approximately linear with the length of the matching segment., the lengths of all the matching segments can be made the same for each processor so that the time taken for matching on all processors is approximately similar. Having thus described the present invention by reference to a preferred embodiment it is to be well understood that the embodiment in question is exemplary only and that modifications and variations such as will occur to those possessed of appropriate knowledge and skills may be made without departure from the spirit and scope of the invention as set forth in the appended claims and equivalents thereof.

Claims: CLAIMS : 1. ■ ">J method of'matching corresponding -f atures in at least two different images representing a scene, the method comprising identifying in each image plural edge points which together form a continuous edge •segment in the -image ? constructing for each edge segment in one image a layered network of potentially matching edge segments in the or each other image; and identifying the best match between segments on the iaasis of , a - hortest path analysis of, the .layered network. 2. A method as claimed in claim 1, wherein the layered network identifies for each edge point in the continuous edge segments of said one image potentially matching edge points in the or each other image. 3. A method as claimed in claim 2, wherein, for each edge point in the one image, potentially matching edge points are identified as those edge points lying along a corresponding epipolar Jsand in the or . each, other image. 4. A method as claimed in claim 3, wherein potentially-matching edge points are verified as those SUBSTITUTESHEET edge points lying along a corresponding epipolar line in the or each other image. 5. A method as claimed in claim 4 further comprising identifying in a third image a first epipolar line corresponding to the edge point in the one image: . identifying a second epipolar line corresponding to the epipolar line in the said other image; and identifying the point at which the first and second epipolar lines intersect as a potentially matching edge point. 6. A method as claimed in any of claims 2 to 5 wherein further constraints are applied to the points identified as potential matches in order to facilitate the identification of potential matches in the or each other image to the point in the one image. 7. A method as claimed in claim 6 wherein the further constraints include comparing at least one of the local edge orientation, the intensity normal and/or the surrounding colour of both the edge points in the one image and the potential matches in the or each other image. 8. A method as claimed in claim 7, wherein the SUBSTITUTE SHEET comparison of the surrounding colour comprises -comparing- the--colour'vector- of eac -edge point in the one image with the colour vector of potentially matching points in the other image. 9. A: w ho - as cla.iιned in - claim 8 , -wherein the colour vector is determined by applying an orientation mask to image points in the vicinity of the point in each image under comparison. 10. A method as claimed in any of claims 7 to 9 wherein the intensity normal is calculated from a gradient operator. 11. A method as claimed in any preceding claim, wherein images are captured by a camera, each image having an -associated'camera matrix defining parameters related to the capturing of the image. 12. A method as claimed in claim 11, wherein the -camera• matrix is calculated for each captured image after an initial calibration of the camera. 13. A system for matching corresponding features in .at- least two different- images representing a scene, the system comprising identifying means for SUBSTITUTESHEET identifying in each image plural edge points which together form a continuous edge segment in the image; constructing means for constructing for each edge segment in one image a layered network ©f potentially matching edge segments in the or each other image; and identifying means for identifying the best match between segments on the basis of a shortest path analysis of the layered network. 14. A system as claimed in claim 12, further comprising means for identifying in each other image epipolar lines corresponding to each edge point in the one image. 15. A system as claimed in claim 14, further comprising comparing means for comparing at least one of the local edge orientation, the intensity normal and/or the surrounding colour of both the edge points in the one image and the potential matches in the or each other image. 16. A system as claimed in any of claims 13 to 15, further comprising a camera for capturing said images and matrix defining means for defining a matrix defining parameters relating to the capturing of the image. SUBSTITUTESHEET T7. A method of matching corresponding points in a plurality of images representing different aspects of a scene, the method comprising selecting points in one image, identifying in the or each other image points -which -are potential matches to each of the selected point applying to each identified points in each other image a weighting representing the likelihood of the identified points matching the selected points and .selecting as..-.theϊbest match * -to the selected j points the combination of points which result in a minimal weighting summation. 18. A method of matching image points in at least two different images of a scene, the method comprising selecting an image jpoint in one image and candidate matching image points in another image and applying a shortest path algorithm to the candidate matching points thereby to identify a single point in the other image corresponding to the selected point in the image. 19. A method as claimed in claim 18, wherein candidate points in the other image are identified as •edge elements lying on ox near to an epipolar line calculated from an image capture matrix defining SUBSTITUTESHEET ■parameters associated with the capturing of the other image. 20. A method as claimed in claim 18 or 19, wherein candidate points are selected by comparing characteristics of the point in the one image with characteristics of points in the other image. 21. A method ' as claimed in claim 20, wherein the compared characteristics include the colour vector of the selected points in the one way and the colour vectors of points in the other image. 22. A method as claimed in claim 20 or 21, wherein the compared characteristics include the intensity normal of the selected point in the one image and the intensity normal of points in the other image. 23. A method as claimed in claim 22, wherein the intensity normal is calculated from a gradient operator. 24. A method as claimed in any of claims 18 to 23, wherein the shortest path algorithm applies to each candidate matching point a weighting representing the likelihood of the candidate point matching the SUBSTITUTESHEET selected point and selecting as the best match to the • ..;selected... point-,,the oint ϊwhich -resuLts 'in a :minimal weighting. 25. A method as claimed in claim 24, wherein the weighting that-is. applied is dependent on the compared characteristics as claimed in any of claims 20 to ' 22. SUBSTITUTESHEET

Inventors: CHAN KAP-LUK, CHAN, KAP-LUK
Applicants: EUROP VISION SYST CENTRE, EUROPEAN VISION SYSTEMS CENTRE LIMITED
Application year: 1991
Main classification: G06F15
IPC codes: G01C11, G06T1, G06T7, H04N13