Object matching using the dynamic programming algorithm
Koss, Rhoda Baggs
MetadataShow full item record
A new algorithm for matching objects between images is developed and investigated. Affine transformations, i.e. those with translation, rotation, scaling and shearing between images are considered. Steps along the way include segmentation of the 2 images (referred to as the reference and inspected images), contour tracing of each segment/object in each image, the creation of objects via a new object representation scheme known as length codes (developed in ), and the application of the new dynamic warping algorithm. New original concepts include the use of the dynamic warping algorithm on sequences of length codes in order to determine the k best object matchings between the reference and inspected images. As a post-processing step for the testing and validation of the algorithm, the k best object matchings represented as k pairs of object center points, are applied to the image registration problem. The transformation function is approximated using least squares and approximates the mapping of the reference image onto the inspected image. This function is applied to the reference image, giving I '; then the average difference between I' and the original inspected image is computed giving an indicator number of the closeness of the transformation computed. Condition numbers of the transformation matrices are investigated as an indicator of results. Experiments are done on synthesized images, pairs of SUN raster images (with small perspective changes), and artificially transformed SUN raster images; showing the validity, robustness, correctness, and accuracy of the algorithm, while providing an adequate test set for defining the constraints under which the algorithm succeeds and fails. All code is written in standard C++ for a Metrowerks Codewarrior 9 compiler, and run on an Apple Macintosh Performa 6400 (with processor: 200 MHz Motorola PowerPC 603E) with 80 megabytes of RAM, and 2 gigabytes of disk space.