Bachelor Graduation Project SOLVING JIGSAW PUZZLES USING COMPUTER VISION

Save this PDF as:

Size: px
Start display at page:

Transcription

1 SOLVING JIGSAW PUZZLES USING COMPUTER VISION AUTHOR : AREEJ MAHDI SUPERVISOR : REIN VAN DEN BOOMGAARD DATE : JUNE 22, 2005 SIGNED BY : Bachelor Graduation Project

2 Solving Jigsaw Puzzles Using Computer Vision Areej Mahdi University of Amsterdam Abstract This paper presents a method to solve jigsaw puzzles by using shape alone. The method uses scans of a real jigsaw puzzle. The pieces of the puzzle are extracted and segmented from the image by using computer vision techniques. The pieces are then each split into four curves, each curve representing a side of the puzzle. The four corners of the pieces are detected using the curvature scale space technique. This technique has not been used in previous work on solving jigsaws by computer. For the local matching the Procrustes Analysis is used. This method is tested on a 24-piece puzzle. 1. Introduction Solving a jigsaw puzzle is a very interesting problem both theoretically and practically. By using a computer to solve jigsaw puzzles we come across various known problems in the computer vision field and in matching 2D subcurves. The solution for this problem can be used in solving various practical problems like reconstructing archaeological artefacts or fitting a protein with a known amino acid sequence to a 3D electron density map [1,2]. Yet simply solving a jigsaw puzzle is by its nature a very challenging problem. The very first paper published on solving jigsaw puzzles by shape alone goes back to the year 1964 [3]. Since then many articles have been published on this subject using only the shape of the pieces. Although there are quite a few algorithms introduced to solve jigsaw puzzles, still there is no algorithm known that can solve large jigsaw puzzles in a reliable and efficient way. The purpose of my research is to build a system that solves apictorial jigsaw puzzles from an image containing all the pieces of the puzzle. Computer vision is necessary for solving jigsaw puzzles by computer especially since it mainly depends on the shape of the pieces. Thus an accurate extraction of the information from the image is essential for a good representation of the puzzle pieces and eventually a correct solution of the puzzle. In paragraph 2 related work done on jigsaw puzzle solving will be described as well as the chosen approach. In the paragraphs 3 and 4 we will describe in more detail the setup of the jigsaw puzzle solver and the implementation. The results and experimentations will be presented in paragraph 5. Paragraph 6 contains the conclusions and finally paragraph 7 presents recommendations for future work. 2. Related work In this chapter related work done previously will be described as well as the chosen approach. There are a number of approaches used in the different papers to solve jigsaw puzzles. Generally they consist of the same stages: preprocessing the images of the pieces, matching the sides of the pieces (local matching) and finally matching the jigsaw pieces (global matching). To represent the pieces, most of the published work use polygon approximations of the borders of the pieces. However the way they deal with the puzzle pieces differ, as does their implementation. To represent the boundary of the pieces the following two methods are widely used: the polygon approximation and the Freeman chain code [3]. The advantage of using chain code is that it is more compact to represent. The representation of each point on the boundary costs about 2 to 3 bits per point. Chain code is also invariant to shifting and translation; it is also possible to scale and rotate. Besides the length of the contour is easy to calculate using chain code. As well as calculating the area of a closed loop and checking the contour for multiple loops and closure. In some papers the piece is treated as a sequence of strings. The local shape analysis is based on an approximate string matching [4]. Others transform a piece into a skeleton and apply most of the processing on the skeleton [5]. The rest of the methods use the curves of the pieces themselves to solve the puzzle. A method that worked very well was the algorithm given by Wolfson. It was able to

3 solve a 104-piece puzzle [1]. A later work that was based on Wolfson approach was able to solve a 204- piece puzzle. This method differs in how the interior pieces are placed. However the algorithm was not widely tested. It also required many hand-tuned parameters. In this paper the same overall approach as that of Wolfson will be followed, but some new techniques will be used. The assumptions that have been made in this paper are: the jigsaw puzzle must have a rectangular outside border, each jigsaw puzzle must have well defined neighbours and finally, the pieces must interlock with their neighbours by tabs. The solution of the jigsaw puzzle is done in a number of phases. First the pre-processing step in which the pieces are segmented one by one from the image. Then the border of each piece is extracted and represented. After splitting each piece into four curves each curve is then matched with every other curve. This is done using a local matching algorithm. This will result in a score of how well the curves match each other. A (global) algorithm can then be used to assemble the jigsaw puzzle. This is the general set-up of the research. Each of the different phases will each be described in detail. This method will be tested on a 24-piece puzzle. 3. Pre-processing Obtaining the pieces The pieces of the puzzle are obtained by scanning the pieces of the jigsaw puzzle. This produces a black and white image containing all the jigsaw pieces (see figure 1). All subsequent processing will be done on a binary image. The pieces are placed in random orientation and position on the scanner. The image contains noise which must first be removed so that all the pieces in the image can be recognized and segmented properly. To remove the noise from the image, morphological operations are applied. The morphological operations opening-byreconstruction followed by a closing-byreconstruction are used to remove the extra noise and fill up the holes in the pieces. The next step is to segment each of the pieces from the image. The pieces of the puzzle in the image lie rather close to each other and in some positions even slightly touch each other. By applying the Watershed Transformation, we are able to segment the image into the areas. Each area contains one of the pieces. The pieces are then stored separately. The pieces have been numbered manually to be able to check if the solution is correct. figure 1: The image obtained from scaning the pieces of the puzzle. Extracting the borders The next step will be to extract and represent the border of the pieces. To extract the border of the puzzle pieces first the inner pixels of the pieces in the image are removed so that only the border is left. Then a contour algorithm is applied to obtain the x,y coordinates of the boundary of each piece. The coordinates are needed to represent the border of the pieces. Other methods to extract the border are available but this approach is both simple and effective. For correctly matching puzzle pieces it is necessary to use a good boundary description method. We will therefore represent the border using the 8-connectivity version of the Freeman chain code. Because this also includes diagonal connections. Detecting the corner points The next step is to split each piece into four curves so that they can be matched later on. It is therefore necessary to extract the four corners from each piece. For the detection of the corners we use the curvature scale space. The curvature scale space is a multi scale representation of planar curves. It describes curves at varying levels of details, which makes it possible to detect relevant information at an appropriate scale. The curve is defined in terms of the first and second derivatives of the boundary coordinates x(u), y(u), where u is the length of the path along the

4 curvature. To express the different levels of details, the boundary coordinate functions are convolved with the Gaussian function g(u,σ) producing Gaussian smoothed coordinates X(u,σ) and Y(u,σ) [6]. where The curvature is then calculated according to the following formula: where filtered out. But since some pieces contain rather large corner angles, these angles are lost at high scales. Therefore a method must be used to select the real corner points. The method used in this paper is the first to combine possible corner points found at two different scales. The chosen scales both have to contain all four true corner points. By comparing the points obtained at the two scales, some false corner points can be eliminated. Corner points that appear at one scale and disappear at the other are obviously not true corner points, so they can be deleted. Possible corner points that almost have the same position on the curve on both scales are considered to be the same point. It is not easy to know which point is a better candidate and one does not want to accidentally delete the best corner point. So the two points are replaced with a point that lies between them. The real corner points do not lie close to each other, so possible corner points that lie close to one another are examined. The point with the lowest curvature is deleted. Although this eliminates many false corners, the number of possible corners is still greater than four. To choose the corner points we take the three points with the highest curvature. These points are used to construct a parallelogram, so that the fourth corner point lies at nearly the same distance regarding the other three points. 4. Solving the jigsaw puzzle The detected corner points are used to split the chain code for each piece into four sub-chain codes. The sub-chain codes will be matched to each other in the local matching algorithm. Corners of the pieces can be detected due to the high curvature at the corner points. However other interesting points in a piece can also be detected using the curvature scale space. For example points that correspond to the inflection points of the tabs in a piece because these points also contain high curvature. Unfortunately the pieces of the puzzle contain very ridged boundaries and curves created due to the noisy image. This results in lots of high curvature points which are neither corner points nor points of interest in the piece. It is therefore important to choose an appropriate scale which results in the least number of found points with high curvature yet still containing all the actual corner points of a piece. If the scale of the curvature scale space is higher, then it produces fewer points. By smoothing the curve more noisy points will be Local Matching Algorithm To match the pieces we have used the Procrustes Analysis. This is a method used to compare the shape of objects. The shape of the objects must be described by a finite set of points. The Procrustes Analysis determines the linear transformation: translation, reflection, orthogonal rotation and scaling of the points in matrix X of an object to best fit the points in matrix Y of another object so that [8]: Y = s*x*r + 1 t Where s is the scale factor, R is the rotation and reflection matrix, t the translation vector and 1 is a matrix of ones.

5 The matrices X and Y must have the same number of points. Therefore the curves that we are trying to match must be resampled so that their lengths correspond to each other. If the curves have different curve lengths then the curve with a shorter length is repeatedly matched with the longer curve; each time the smallest curve is matched with a part of the long curve. The goodness-of-fit criterion is the sum of squared errors. By applying the Procrustes Analysis a matrix is obtained that minimizes the value of the dissimilarity measure. It is a 4Nx4N matrix where N is the number of pieces. If the dissimilarity value is smaller than a specified threshold then the match is good. To prevent performing matches with straight sides, the straight sides are recognized before they are matched with the rest of the other curves. Global matching Based on the scores of the local matching a global algorithm can be implemented to assemble the pieces. It is therefore essential that the local matching algorithm provides good matches. For the assembly of the pieces, we can divide the pieces into two types: frame pieces and interior pieces. A frame piece is a piece that contains one or more straight sides. The frame pieces are assembled first so that they can be used to fit the interior pieces into the frame. The assembly of the frame pieces is done by matching the frame pieces with each other so that they form a cycle. The cycle should contain each piece only once and has the smallest dissimilarity matches between the pieces. This is the well-known Travelling Salesman problem. Once a cycle is found, we can match the remaining pieces in this frame. One can use the same approach as Wolfson [6]. 5. Experiments and results All the code was implemented in Matlab. The algorithm was tested on a 24-piece jigsaw puzzle and it meets the requirements set out by the assumptions made in paragraph 2. The image of the jigsaw puzzle was obtained by laying the pieces upside down on their backside on a flatbed-surface scanner at a resolution of 300 dpi. The pieces were placed at random positions and orientations with no overlap. After the segmentation and representation of each piece, the corners of each piece are determined. The results for the experiments are show in table 1. This table contains the number of real corner points that are detected at each step of the experiment. The pieces are all given an id number according to their location in the puzzle. The puzzle pieces are numbered from left to right, top to bottom. This makes it easy to know with which piece we are dealing with. To detect the corners the curvature scale space is used at scale 18 and 30. Scale 18 is the highest scale that can be chosen where all four real corner points can be found for all the pieces. At scale 30 however some real corner points are lost for some of the pieces. This is the case for pieces number 4 and 5. These pieces contain corner points with a rather large angle, which are hard to recognize because of the low curvature. By using a high scale of 30 the detection becomes even more difficult. Nevertheless this scale is chosen because it provides a sufficient level of detail so that the corner points can be easily found and it works for nearly all the pieces. The results of scale 18 and 30 are combined to obtain one set of points. This set will be narrowed down throughout the experiments. After applying the heuristics, described in paragraph 3, the four corners of 19 of the pieces are still among the points found with high curvature (see table 1). However when the ten points with the highest curvature for each piece are selected, all the corners of only fourteen of the pieces are among these points. For four of the pieces the number of real corner points in the top ten is two and for the remaining pieces only three real corners. This is because some of these pieces contain corners with rather big angles, so the real corner points do not have the highest curvature when compared to other points in the same piece. When the four points with the highest curvature are taken as the possible four corners of a piece, then it only successfully identifies one piece. While by taking the top 3 highest curvature points, the corners of eight of the pieces are correctly detected. This produces better results than the top 4 because the method used to select the fourth corner chooses the closest point that forms a parallelogram together with the other three found corners. The expected position of the fourth point is calculated and displayed as a circle in the figures. The distance between the remaining candidate points and the expected position is calculated. The point with the least distance is selected as the fourth. For one of the eight pieces this happened to be a point other than the real corner point, see figure 2. As can be seen in the figure the true corner point lies further from the expected position than the point chosen as

6 the fourth corner. For pieces that have less than three true corner points as the points with the highest curvature, this results as expected in a wrong estimation of the fourth corner point, see figure 3. The detection of the corners works correctly for seven pieces, see figure 4. These pieces are emphasized in the table. From these seven pieces, six are connected to each other in the puzzle at five different places. figure 4: presents piece with succesfully detected corners The red crosses are the points found in the top 3. The circle marks the estimated location of the fourth corner and the green cross marsk the selected point. figure 2: contains a jigsaw piece that has three succesfully detected corner. The selection of the fourth corner however is incorrect. The red crosses are the points found in the top 3. The circle is the estimated location of the fourth corner and the green cross marks the selected point. The reason that the corner points of some pieces get eliminated so easily at the first rounds is because in these pieces the starting point of the curve is very close to the corner. A wrap around of 5 points is used. But it is difficult to say how long the wrap must be. If the wrap is too large, then incorrect calculations will be made, for example the calculations of the chain code and the curvature of the piece. For points of which the starting point is far from the corner points the real corners can be detected, this is the case for the eight pieces which were successfully found in the top 3 experiment. The starting point used is always on the topside of the piece. Because the pieces were randomly placed on the scan platter, this starting point sometimes just happens to lie rather close to a corner point. So it is not always possible to know what the best wrap around value is because each piece has a random orientation. From experimenting with the data, it became clear that if another starting point is chosen, the four corners are successfully detected for pieces other than the previous eight. figure 3: contains a jigsaw piece that has only two succesfully detected corner points. The red crosses are the points found in the top 3. The circle marks the location of the estimated fourth corner the green cross marks the selected point. Piece ID Top 10 Top 4 Top 3 4 th point estimation

7 Table 1: contains the results of all the experiments performed to determine the corner points of each piece, the numbers in the table refer to number of real corner points that are detected at each experiment. Cornerpoints that are succesfully detected for a piece are emphasized. The matching algorithm produces a dissimilarity matrix. A match is considered to be successful if the dissimilarity value is above a certain threshold value. The optimal threshold value 0.03 is used and has been determined by trial and error. Table 2 contains the results of the matching algorithm. The columns contain the piece id and the side of the piece, which is successfully matched with the side of the piece in the second column. The correct matches are emphasized in the table. The local matching algorithm produces nine matches of which three matches are correct, see table 2. As is obvious the results of the local matching contained a number of false positives matches. Three of these matches are impossible matches, between two indents or two outdents. Specifying whether a curve is an indent or outdent can probably lead to reducing the false positive matches. Matched Pieces Table 2: contains the results of the local matching algorithm. The piece and curve numbere in the first column are considered as a successful match with the piece and curve in the second column. The correct matches are emphasized. To prevent the algorithm from performing impossible matches such as matching a straight side of a piece with other sides, the straight sides in the puzzle must be recognized. A straight side of one of the frame pieces is matched with every side of the other pieces. If the match is below a certain threshold value then the side is considered a straight side and is not matched with sides of other pieces. The threshold value is set on This method successfully recognized all frame sides of the pieces. This can be later used in the global matching algorithm so that only frame pieces are matched at first. The matches produced by the local matching are in fact good, considering the fact that the images are at low resolution and the curves are very noisy. Unfortunately due to time limitations, the global matching has not been implemented. 6. Conclusion A method to solve jigsaw puzzles has been presented which used some new techniques not used by previous work on solving jigsaw puzzles such as the curvature scale space. The curvature scale space is applied to detect the corners of each piece. It succeeded to detect all the corners for some of the pieces. However some improvements must be made to fully make use of potentials of these methods. Better results are probably possible if more scales are combined together to detect the corner points. Also applying more heuristics may help. Furthermore the pieces on which the curvature scale space was used contained very noisy curves. The implemented local matching algorithm was successful in finding three out of the five matches correct matches. However the algorithm also returned a number of false positive matches. A number of these matches are impossible ones, so a strong suggestion is to prevent such matches from happening. This will surely enhance the performance of the matching algorithm. 7. Future work It is possible to obtain better results by applying some changes. Finding the correct corner points of the jigsaw pieces can be improved. In the paper we used the curvature scale space at two different scales and the results were combined. By using

8 more than two scales it is possible to obtain more accurate findings, which lead to a better detection of the corner points. It became clear from the experiments that choosing another starting point, which is not very close to a corner, will result in better corner findings. Furthermore the method in which the final corner points are chosen can be enhanced. This method first chooses three of the possible corner points with the highest value as three of the final corners. Applying more heuristics before this method is used, may lead to better results. So that the remaining points with a highest curvature are for more pieces indeed the corner points. The way the fourth corner point is determined can also be improved. The matching of the curves can produce a better score if we specify whether a curve that we are matching is an indent or an outdent. This will eliminate many impossible matches such as matching two indents together. This will lead to a more accurate matching algorithm and a better score. Because the curves are so noisy, smoothing them a bit before applying the matching algorithm may also help improve the matching results. The images used in this paper are of relatively low resolution. This resulted in lots of noise in the image and curves. Another possible reason for the noisy curves is that the jigsaw used in the development of the method described in this paper is hand-made from wood. Therefore the boundaries of the pieces are not entirely smooth. Jigsaw Puzzles in Computer Vision. IEEE Transactions on Systems, Man, and Cybernetics, vol. 21, no. 5, [6] H. Wolfson, E. Schonberg, A. Kalvin and Y. Lamdan. Solving jigsaw puzzles by computer. Annals of Operations Research 12 (1988), [7] F. Mokhtarian, K. Mackworth. A Theory of Multiscale, Curvature-Based Shape Representation for Planar Curves. IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 14, no. 8, [8] I. Borg and P. Groenen. Modern Multidimensional Scaling: Theory and Applications. Springer Series in Statistics (1997) References [1] D. Goldberg, C. Malon and M. Bern. A Global Approach to Automatic Solution of Jigsaw Puzzles. SoCG 02, June 5-7, [2] W. Kong and B.B. Kimia. On solving 2D and 3D puzzles using curve matching. Proc. IEEE Computer Vision and Pattern Recognition, [3] H. Freeman and L. Gardner. Apictorial jigsaw puzzles: The computer solution of a problem in pattern recognition. IEEE trans. on Electronic Computers 13 (1964) [4] H. Bunke and G. Kaufmann. Jigsaw puzzle solving using approximate string matching and best-first search. In Computer Analysis of Images and Patterns, Chetverikov and Kropatchs. ed., Springer (1993) [5] R.W. Webster, P.S. LaFolette and R. L. Stafford. Isthmus Critical Points for Solving

9 Solving Jigsaw Puzzles using Computer Vision Name: Areej Mahdi Supervisor: Rein van den Boomgaard Date: July 1, 2005

10 Overview Introduction Related work Preprocessing Local Matching Global Matching Discussion Conclusions Questions

11 Introduction The goal of this project: Building a system that solves jigsaw puzzles by shape alone from an image containing all the pieces of the puzzle

12 Interesting problem.. Reconstruction of archeological artifacts Art restoration Fitting a protein with known amino acid sequence to a 3D density map

13 Related Work (1) First article written on this subject goes back to 1964 Different approaches generally consists of the same phases Wolfson s approach

14 Related Work (2) Succeeded in solving 104-piece puzzle Divided border into four sub curves corresponding to the four sides Local Schwartz-Sharir matching algorithm Global matching Overall approach of Wolfson but applying new techniques

15 Jigsaw Puzzle Assumptions: Rectangular outside border Four well defined neighbors Pieces interlock with their neighbors by tabs

16 Jigsaw Puzzle Assumptions: Rectangular outside border Four well defined neighbors Pieces interlock with their neighbors by tabs

17 Preprocessing: Obtaining the pieces Scanning the pieces Removing the noise Segmenting the image

18 Preprocessing: Extracting the pieces Scanning the pieces Removing the noise Segmenting the image

19 Preprocessing: Extracting the pieces Scanning the pieces Removing the noise Segmenting the image

20 Preprocessing: Extracting the border Scanning the pieces Removing the noise Segmenting the image

21 Preprocessing: Extracting the border Scanning the pieces Removing the noise Segmenting the image

22 Preprocessing: Representing the border Borders are represented by Chain Code Chain code describes relative step from previous pixel 8-connectivity Chain Code: 2,1,0,7,7,0,1,1

23 Preprocessing: Dividing the border Finding the corners of the pieces: divide the border into 4 subcurves Use Curvature Scale Space

24 Curvature Scale Space (1) Mokhtarian Describes curves at varying levels of details Detection of relevant information at a appropriate scale It is invariant under rotation, uniformed scaling and translation Very suitable for noisy curves

25 Curvature Scale Space (2) Curve defined in terms of derivative of the boundary coordinates x(u), y(u), where u is the length of the path along the curve To express the different levels of details the boundary coordinate functions are convolved with the Gaussian function g(u,σ) producing Gaussian smoothed coordinates X(u,σ) and Y(u,σ)

26 Curvature Scale Space (3) The curvature of a curve is calculated as follows: where

27 Piece nr. 11

28 Piece nr. 11 Scale: 18

29 Piece nr. 19

30 Piece nr. 19 Scale: 18

31 Piece nr. 10 Scale: 18

32 Detecting the corners (1) More than four points are detected with high curvature even at high scales

33 Detecting the corners (2) Combining different scales to eliminate false corner points

34 Detecting the corners (3) Choosing the top 3 highest candidate corners and constructing a parallelogram from these points

35 Detecting the corners (3) Choosing the top 3 highest candidate corners and constructing a parallelogram from these points

36 Piece ID Top 4 Top 3 4 th point estimation

37 Detecting the corners (5)

38 Detecting the corners (5)

39 Detecting the corners (5)

40 Local Matching The corner of seven pieces are successfully detected Local matching is applied only to these pieces

41 Local Matching (1) Procrustes Analysis: Compares shapes of objects Determines linear transformation of matrix X to best fit into Y: Y = sxr + 1 T t where s is scale factor, R the rotation and reflection matrix, t the translation vector

42 Local Matching (2) Matched curves must have same lengths The minimized value of the dissimilarity measure between two curves is calculated Each curve of a piece is matched with all curves of the remaining pieces This produces a 4N x 4N matrix Straight sides of pieces are detected to prevent them from being matched with other pieces

43

44 Global Matching Same approach as Wolfson: Frame assembly Traveling Salesman Problem Interior assembly

45 Discussion Detection of the corner points: Higher resolution of jigsaw image Combining more Curvature scales Applying better heuristics to select the four corner points Local Matching: Eliminating false positive matches: indents and outdents

46 Conclusion New combination of techniques works, but lots of room for improvement Better results possible after applying suggestions to current approach

47 Questions??

48

49

50 Local Matching (3) Result table of found matches Matched Pieces

51

52 Detecting the corners (1) More than four points are detected with high curvature even at high scales

53 1 <image of curvature and X & Y in a 3D plot>

Assembling Jigsaw Puzzles

Assembling Jigsaw Puzzles Aric Bartle Tianye Lu Abstract We propose an improved method for assembling real world jigsaw puzzles. Our approach uses both shape and color measures to determine piece compatibility.

A Global Approach to Automatic Solution of Jigsaw Puzzles

A Global Approach to Automatic Solution of Jigsaw Puzzles David Goldberg 1, Christopher Malon 2, and Marshall Bern 1 1 Xerox Palo Alto Research Center 3333 Coyote Hill Rd., Palo Alto, CA 94304 USA goldberg@parc.xerox.com

Binary Image Analysis

Binary Image Analysis Segmentation produces homogenous regions each region has uniform gray-level each region is a binary image (0: background, 1: object or the reverse) more intensity values for overlapping

Department Of Computer Science, Mewar University, Rajasthan, India

Volume 5, Issue 5, May 2015 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Standard Jigsaw

A Chain Code Approach for Recognizing Basic Shapes

A Chain Code Approach for Recognizing Basic Shapes Dr. Azzam Talal Sleit (Previously, Azzam Ibrahim) azzam_sleit@yahoo.com Rahmeh Omar Jabay King Abdullah II for Information Technology College University

METHODS TO ESTIMATE AREAS AND PERIMETERS OF BLOB-LIKE OBJECTS: A COMPARISON

MVA'94 IAPR Workshop on Machine Vision Applications Dec. 13-1 5, 1994, Kawasaki METHODS TO ESTIMATE AREAS AND PERIMETERS OF BLOB-LIKE OBJECTS: A COMPARISON Luren Yang, Fritz Albregtsen, Tor Lgnnestad and

Fourier Descriptors For Shape Recognition. Applied to Tree Leaf Identification By Tyler Karrels

Fourier Descriptors For Shape Recognition Applied to Tree Leaf Identification By Tyler Karrels Why investigate shape description? Hard drives keep getting bigger. Digital cameras allow us to capture, store,

Reconstructing shredded documents through feature matching

Forensic Science International 160 (2006) 140 147 www.elsevier.com/locate/forsciint Reconstructing shredded documents through feature matching Edson Justino a, Luiz S. Oliveira a,b, *, Cinthia Freitas

Tracking Moving Objects In Video Sequences Yiwei Wang, Robert E. Van Dyck, and John F. Doherty Department of Electrical Engineering The Pennsylvania State University University Park, PA16802 Abstract{Object

Constructing Problems of Geometric Combinatorics

Constructing Problems of Geometric Combinatorics Daniel S. Hirschberg Dept. of Computer Science Univ. of California, Irvine Irvine, CA 997- USA dan@ics.uci.edu Abstract Global information is used to simplify

Automated Sudoku Solver. Marty Otzenberger EGGN 510 December 4, 2012

Automated Sudoku Solver Marty Otzenberger EGGN 510 December 4, 2012 Outline Goal Problem Elements Initial Testing Test Images Approaches Final Algorithm Results/Statistics Conclusions Problems/Limits Future

Component Ordering in Independent Component Analysis Based on Data Power

Component Ordering in Independent Component Analysis Based on Data Power Anne Hendrikse Raymond Veldhuis University of Twente University of Twente Fac. EEMCS, Signals and Systems Group Fac. EEMCS, Signals

ColorCrack: Identifying Cracks in Glass

ColorCrack: Identifying Cracks in Glass James Max Kanter Massachusetts Institute of Technology 77 Massachusetts Ave Cambridge, MA 02139 kanter@mit.edu Figure 1: ColorCrack automatically identifies cracks

An Optical Sudoku Solver

An Optical Sudoku Solver Martin Byröd February 12, 07 Abstract In this report, a vision-based sudoku solver is described. The solver is capable of solving a sudoku directly from a photograph taken with

Model-based Chart Image Recognition

Model-based Chart Image Recognition Weihua Huang, Chew Lim Tan and Wee Kheng Leow SOC, National University of Singapore, 3 Science Drive 2, Singapore 117543 E-mail: {huangwh,tancl, leowwk@comp.nus.edu.sg}

Subspace Analysis and Optimization for AAM Based Face Alignment

Subspace Analysis and Optimization for AAM Based Face Alignment Ming Zhao Chun Chen College of Computer Science Zhejiang University Hangzhou, 310027, P.R.China zhaoming1999@zju.edu.cn Stan Z. Li Microsoft

Markov chains and Markov Random Fields (MRFs)

Markov chains and Markov Random Fields (MRFs) 1 Why Markov Models We discuss Markov models now. This is the simplest statistical model in which we don t assume that all variables are independent; we assume

Signature Region of Interest using Auto cropping

ISSN (Online): 1694-0784 ISSN (Print): 1694-0814 1 Signature Region of Interest using Auto cropping Bassam Al-Mahadeen 1, Mokhled S. AlTarawneh 2 and Islam H. AlTarawneh 2 1 Math. And Computer Department,

SbLRS: Shape based Leaf Retrieval System

SbLRS: Shape based Leaf Retrieval System Komal Asrani Department of Information Technology B.B.D.E.C., Lucknow, India Renu Jain Deptt. of C.S.E University Institute of Engineering and Technology, Kanpur,

Shape Descriptors for Non-rigid Shapes with a Single Closed Contour

IEEE Conf. on Computer Vision and Pattern Recognition (CVPR), 424-429, 2000. Shape Descriptors for Non-rigid Shapes with a Single Closed Contour Longin Jan Latecki and Rolf Lakämper and Ulrich Eckhardt

3D Pipeline Segmentation (planar)

3D Pipeline Segmentation (planar) Registration (using lines) 3D PHOTOGRAPHY EXAMPLE Ten scans were acquired of façade of Thomas Hunter Building (NYC) Automatic registration. Each scan has a different color.

Convolution. 1D Formula: 2D Formula: Example on the web: http://www.jhu.edu/~signals/convolve/

Basic Filters (7) Convolution/correlation/Linear filtering Gaussian filters Smoothing and noise reduction First derivatives of Gaussian Second derivative of Gaussian: Laplacian Oriented Gaussian filters

Classification of Fingerprints. Sarat C. Dass Department of Statistics & Probability

Classification of Fingerprints Sarat C. Dass Department of Statistics & Probability Fingerprint Classification Fingerprint classification is a coarse level partitioning of a fingerprint database into smaller

Circle Object Recognition Based on Monocular Vision for Home Security Robot

Journal of Applied Science and Engineering, Vol. 16, No. 3, pp. 261 268 (2013) DOI: 10.6180/jase.2013.16.3.05 Circle Object Recognition Based on Monocular Vision for Home Security Robot Shih-An Li, Ching-Chang

APPLYING COMPUTER VISION TECHNIQUES TO TOPOGRAPHIC OBJECTS

APPLYING COMPUTER VISION TECHNIQUES TO TOPOGRAPHIC OBJECTS Laura Keyes, Adam Winstanley Department of Computer Science National University of Ireland Maynooth Co. Kildare, Ireland lkeyes@cs.may.ie, Adam.Winstanley@may.ie

Centroid Distance Function and the Fourier Descriptor with Applications to Cancer Cell Clustering

Centroid Distance Function and the Fourier Descriptor with Applications to Cancer Cell Clustering By, Swati Bhonsle Alissa Klinzmann Mentors Fred Park Department of Mathematics Ernie Esser Department of

Calibrating a Camera and Rebuilding a Scene by Detecting a Fixed Size Common Object in an Image

Calibrating a Camera and Rebuilding a Scene by Detecting a Fixed Size Common Object in an Image Levi Franklin Section 1: Introduction One of the difficulties of trying to determine information about a

2D GEOMETRIC SHAPE AND COLOR RECOGNITION USING DIGITAL IMAGE PROCESSING

2D GEOMETRIC SHAPE AND COLOR RECOGNITION USING DIGITAL IMAGE PROCESSING Sanket Rege 1, Rajendra Memane 2, Mihir Phatak 3, Parag Agarwal 4 UG Student, Dept. of E&TC Engineering, PVG s COET, Pune, Maharashtra,

Reducing the time complexity of Minkowski sum based similarity calculations by using geometric inequalities

Reducing the time complexity of Minkowski sum based similarity calculations by using geometric inequalities Henk Bekker 1, Axel Brink 1 1 Institute for Mathematics and Computing Science, University of

Poker Vision: Playing Cards and Chips Identification based on Image Processing

Poker Vision: Playing Cards and Chips Identification based on Image Processing Paulo Martins 1, Luís Paulo Reis 2, and Luís Teófilo 2 1 DEEC Electrical Engineering Department 2 LIACC Artificial Intelligence

Existence of Simple Tours of Imprecise Points

Existence of Simple Tours of Imprecise Points Maarten Löffler Department of Information and Computing Sciences, Utrecht University Technical Report UU-CS-007-00 www.cs.uu.nl ISSN: 09-7 Existence of Simple

Relational and Spatial 3D Visualisation with Dental Cone Beam CT Images. Ma Tengfei 1, Ong Sim Heng 2

Relational and Spatial 3D Visualisation with Dental Cone Beam CT Images Ma Tengfei 1, Ong Sim Heng 2 Department of Electrical & Computer Engineering National University of Singapore, 10 Kent Ridge Crescent,

Segmentation of Ureteric and Bladder Calculi in Ultrasound Images

Journal of Computer Science 8 (5): 716-720, 2012 ISSN 1549-3636 2012 Science Publications Segmentation of Ureteric and Bladder Calculi in Ultrasound Images Sridhar, S. Department of Information Science

BIL Computer Vision Mar 5, 2014

BIL 719 - Computer Vision Mar 5, 2014 Image pyramids Aykut Erdem Dept. of Computer Engineering Hacettepe University Image Scaling This image is too big to fit on the screen. How can we reduce it? How to

Palmprint Recognition. By Sree Rama Murthy kora Praveen Verma Yashwant Kashyap

Palmprint Recognition By Sree Rama Murthy kora Praveen Verma Yashwant Kashyap Palm print Palm Patterns are utilized in many applications: 1. To correlate palm patterns with medical disorders, e.g. genetic

Galaxy Morphological Classification

Galaxy Morphological Classification Jordan Duprey and James Kolano Abstract To solve the issue of galaxy morphological classification according to a classification scheme modelled off of the Hubble Sequence,

C A R I B B E A N E X A M I N A T I O N S C O U N C I L REPORT ON CANDIDATES WORK IN THE SECONDARY EDUCATION CERTIFICATE EXAMINATION MAY/JUNE 2011

C A R I B B E A N E X A M I N A T I O N S C O U N C I L REPORT ON CANDIDATES WORK IN THE SECONDARY EDUCATION CERTIFICATE EXAMINATION MAY/JUNE 2011 MATHEMATICS GENERAL PROFICIENCY EXAMINATION Copyright

More Local Structure Information for Make-Model Recognition

More Local Structure Information for Make-Model Recognition David Anthony Torres Dept. of Computer Science The University of California at San Diego La Jolla, CA 9093 Abstract An object classification

Shapes Puzzle 1. Shapes Puzzle 2. Shapes Puzzle 3

Shapes Puzzle The twelve pentominoes are shown on the left. On the right, they have been placed together in pairs. Can you show which two pentominoes have been used to make each shape? (Each pentomino

Line Separation for Complex Document Images Using Fuzzy Runlength

Line Separation for Complex Document Images Using Fuzzy Runlength Zhixin Shi and Venu Govindaraju Center of Excellence for Document Analysis and Recognition(CEDAR) State University of New York at Buffalo,

Blind Deconvolution of Corrupted Barcode Signals

Blind Deconvolution of Corrupted Barcode Signals Everardo Uribe and Yifan Zhang Advisors: Ernie Esser and Yifei Lou Interdisciplinary Computational and Applied Mathematics Program University of California,

The Role of Size Normalization on the Recognition Rate of Handwritten Numerals

The Role of Size Normalization on the Recognition Rate of Handwritten Numerals Chun Lei He, Ping Zhang, Jianxiong Dong, Ching Y. Suen, Tien D. Bui Centre for Pattern Recognition and Machine Intelligence,

Sheet Music Reader 1 INTRODUCTION 2 IMPLEMENTATION

1 Sheet Music Reader Sevy Harris, Prateek Verma Department of Electrical Engineering Stanford University Stanford, CA sharris5@stanford.edu, prateekv@stanford.edu Abstract The goal of this project was

Designing and Testing an Anonymous Face Recognition System

Designing and Testing an Anonymous Face Recognition System Joris Diesvelt University of Twente P.O. Box 217, 7500AE Enschede The Netherlands j.j.diesvelt@student.utwente.nl ABSTRACT This paper contains

Morphological segmentation of histology cell images

Morphological segmentation of histology cell images A.Nedzved, S.Ablameyko, I.Pitas Institute of Engineering Cybernetics of the National Academy of Sciences Surganova, 6, 00 Minsk, Belarus E-mail abl@newman.bas-net.by

Solving Square Jigsaw Puzzles Using Dynamic Programming and the Hungarian Procedure

American Journal of Applied Sciences 6 (11): 1941-1947, 2009 ISSN 1546-9239 2009 Science Publications Solving Square Jigsaw Puzzles Using Dynamic Programming and the Hungarian Procedure Naif Alajlan Advanced

A recognition system for symbols of electronic components in hand-written circuit diagrams.

A recognition system for symbols of electronic components in hand-written circuit diagrams. Pablo Sala Department of Computer Science University of Toronto Toronto, Canada psala@cs.toronto.edu Abstract

AIMA Chapter 3: Solving problems by searching

AIMA Chapter 3: Solving problems by searching Ana Huaman January 13, 2011 1. Define in your own words the following terms: state, state space, search tree, search node, goal, action, transition model and

Computer Vision: Filtering

Computer Vision: Filtering Raquel Urtasun TTI Chicago Jan 10, 2013 Raquel Urtasun (TTI-C) Computer Vision Jan 10, 2013 1 / 82 Today s lecture... Image formation Image Filtering Raquel Urtasun (TTI-C) Computer

A New Robust Algorithm for Video Text Extraction

A New Robust Algorithm for Video Text Extraction Pattern Recognition, vol. 36, no. 6, June 2003 Edward K. Wong and Minya Chen School of Electrical Engineering and Computer Science Kyungpook National Univ.

Face detection is a process of localizing and extracting the face region from the

Chapter 4 FACE NORMALIZATION 4.1 INTRODUCTION Face detection is a process of localizing and extracting the face region from the background. The detected face varies in rotation, brightness, size, etc.

Determining optimal window size for texture feature extraction methods

IX Spanish Symposium on Pattern Recognition and Image Analysis, Castellon, Spain, May 2001, vol.2, 237-242, ISBN: 84-8021-351-5. Determining optimal window size for texture feature extraction methods Domènec

Lecture 9: Shape Description (Regions)

Lecture 9: Shape Description (Regions) c Bryan S. Morse, Brigham Young University, 1998 2000 Last modified on February 16, 2000 at 4:00 PM Contents 9.1 What Are Descriptors?.........................................

Map Scanning and Automated Conversion

Objectives (Entry) Map Scanning and Automated Conversion This unit will introduce quick and less costly method of data capture - map scanning and automated conversion. This unit will briefly discuss about

Contrast enhancement of soft tissues in Computed Tomography images

Contrast enhancement of soft tissues in Computed Tomography images Roman Lerman, Daniela S. Raicu, Jacob D. Furst Intelligent Multimedia Processing Laboratory School of Computer Science, Telecommunications,

AN INTRODUCTION TO ERROR CORRECTING CODES Part 1

AN INTRODUCTION TO ERROR CORRECTING CODES Part 1 Jack Keil Wolf ECE 154C Spring 2008 Noisy Communications Noise in a communications channel can cause errors in the transmission of binary digits. Transmit:

CS 534: Computer Vision 3D Model-based recognition

CS 534: Computer Vision 3D Model-based recognition Ahmed Elgammal Dept of Computer Science CS 534 3D Model-based Vision - 1 High Level Vision Object Recognition: What it means? Two main recognition tasks:!

Document Image Retrieval using Signatures as Queries

Document Image Retrieval using Signatures as Queries Sargur N. Srihari, Shravya Shetty, Siyuan Chen, Harish Srinivasan, Chen Huang CEDAR, University at Buffalo(SUNY) Amherst, New York 14228 Gady Agam and

Battleship. Big bands

Ball Fill in the grid so that every row, column (six smaller cells and three bigger circles or stars), outlined figures (eight smaller cells and a bigger circle), nine bigger circles and nine bigger stars

Gauss's Law. Gauss's Law in 3, 2, and 1 Dimension

[ Assignment View ] [ Eðlisfræði 2, vor 2007 22. Gauss' Law Assignment is due at 2:00am on Wednesday, January 31, 2007 Credit for problems submitted late will decrease to 0% after the deadline has passed.

(Refer Slide Time: 00:01:23 min)

Computer Aided Design Prof. Anoop Chalwa Department of Mechanical Engineering Indian Institute of Technology, Delhi Lecture No. # 02 Input Output Devices, Raster Graphics Today we will be talking about

PuzzleSolver. An application of computer vision. Joe Zeimen Computer Vision Colorado School of Mines Spring 2013

PuzzleSolver An application of computer vision. Joe Zeimen Computer Vision Colorado School of Mines Spring 2013 Table of Contents Introduction... 3 Previous Work... 3 Program Implementation... 4 Assumptions...

3D Human Face Recognition Using Point Signature

3D Human Face Recognition Using Point Signature Chin-Seng Chua, Feng Han, Yeong-Khing Ho School of Electrical and Electronic Engineering Nanyang Technological University, Singapore 639798 ECSChua@ntu.edu.sg

Electronic Schematic Recognition

Electronic Schematic Recognition Donald Bailey 1, Andrew Norman 2, and Giovanni Moretti 2 1 Physics Department and 2 Computer Science Department Massey University Palmerston North E-mail: D.G.Bailey@massey.ac.nz,

Eyeglass Localization for Low Resolution Images

Eyeglass Localization for Low Resolution Images Earl Arvin Calapatia 1 1 De La Salle University 1 earl_calapatia@dlsu.ph Abstract: Facial data is a necessity in facial image processing technologies. In

A Simple Feature Extraction Technique of a Pattern By Hopfield Network

A Simple Feature Extraction Technique of a Pattern By Hopfield Network A.Nag!, S. Biswas *, D. Sarkar *, P.P. Sarkar *, B. Gupta **! Academy of Technology, Hoogly - 722 *USIC, University of Kalyani, Kalyani

Fingerprint Identification Using Delaunay Triangulation

Fingerprint Identification Using Delaunay Triangulation George Bebis, Taisa Deaconu and Michael Georgiopoulos Department of Computer Science, University of Nevada, Reno Department of Electrical and Computer

3194 Mersenne Composite Numbers

3194 Mersenne Composite Numbers One of the world wide cooperative computing tasks is the ``Grand Internet Mersenne Prime Search" GIMPS striving to find ever larger prime numbers by examining a particular

Robust Panoramic Image Stitching

Robust Panoramic Image Stitching CS231A Final Report Harrison Chau Department of Aeronautics and Astronautics Stanford University Stanford, CA, USA hwchau@stanford.edu Robert Karol Department of Aeronautics

Solving Multiple Square Jigsaw Puzzles with Missing Pieces

Solving Multiple Square Jigsaw Puzzles with Missing Pieces Genady Paikin Technion Ayellet Tal Technion genadyp28@gmail.com ayellet@ee.technion.ac.il Abstract Jigsaw-puzzle solving is necessary in many

Segmentation of building models from dense 3D point-clouds

Segmentation of building models from dense 3D point-clouds Joachim Bauer, Konrad Karner, Konrad Schindler, Andreas Klaus, Christopher Zach VRVis Research Center for Virtual Reality and Visualization, Institute

Automatic Liver Segmentation using the Random Walker Algorithm

Automatic Liver Segmentation using the Random Walker Algorithm F. Maier 1,2, A. Wimmer 2,3, G. Soza 2, J. N. Kaftan 2,4, D. Fritz 1,2, R. Dillmann 1 1 Universität Karlsruhe (TH), 2 Siemens Medical Solutions,

Image Content-Based Email Spam Image Filtering

Image Content-Based Email Spam Image Filtering Jianyi Wang and Kazuki Katagishi Abstract With the population of Internet around the world, email has become one of the main methods of communication among

Sudoku Solver. Yixin Wang

Sudoku Solver Yixin Wang wangyix@stanford.edu Abstract--- An Android app was developed that allows a Sudoku puzzle to be extracted and solved in real time using captured images from the device s camera.

This article was published in an Elsevier journal. The attached copy is furnished to the author for non-commercial research and education use, including for instruction at the author s institution, sharing

Image Estimation Algorithm for Out of Focus and Blur Images to Retrieve the Barcode Value

IJSTE - International Journal of Science Technology & Engineering Volume 1 Issue 10 April 2015 ISSN (online): 2349-784X Image Estimation Algorithm for Out of Focus and Blur Images to Retrieve the Barcode

Scalar Visualization

Scalar Visualization 4-1 Motivation Visualizing scalar data is frequently encountered in science, engineering, and medicine, but also in daily life. Recalling from earlier, scalar datasets, or scalar fields,

A Learning Based Method for Super-Resolution of Low Resolution Images

A Learning Based Method for Super-Resolution of Low Resolution Images Emre Ugur June 1, 2004 emre.ugur@ceng.metu.edu.tr Abstract The main objective of this project is the study of a learning based method

Computer Vision - part II

Computer Vision - part II Review of main parts of Section B of the course School of Computer Science & Statistics Trinity College Dublin Dublin 2 Ireland www.scss.tcd.ie Lecture Name Course Name 1 1 2

Digital Image Processing

Digital Image Processing Using MATLAB Second Edition Rafael C. Gonzalez University of Tennessee Richard E. Woods MedData Interactive Steven L. Eddins The MathWorks, Inc. Gatesmark Publishing A Division

Chess Vision. Chua Huiyan Le Vinh Wong Lai Kuan

Chess Vision Chua Huiyan Le Vinh Wong Lai Kuan Outline Introduction Background Studies 2D Chess Vision Real-time Board Detection Extraction and Undistortion of Board Board Configuration Recognition 3D

Chapter 2 - Graphical Summaries of Data

Chapter 2 - Graphical Summaries of Data Data recorded in the sequence in which they are collected and before they are processed or ranked are called raw data. Raw data is often difficult to make sense

Locating and Decoding EAN-13 Barcodes from Images Captured by Digital Cameras

Locating and Decoding EAN-13 Barcodes from Images Captured by Digital Cameras W3A.5 Douglas Chai and Florian Hock Visual Information Processing Research Group School of Engineering and Mathematics Edith

CALCULATIONS & STATISTICS

CALCULATIONS & STATISTICS CALCULATION OF SCORES Conversion of 1-5 scale to 0-100 scores When you look at your report, you will notice that the scores are reported on a 0-100 scale, even though respondents

LINE INTEGRALS OF VECTOR FUNCTIONS: GREEN S THEOREM. Contents. 2. Green s Theorem 3

LINE INTEGRALS OF VETOR FUNTIONS: GREEN S THEOREM ontents 1. A differential criterion for conservative vector fields 1 2. Green s Theorem 3 1. A differential criterion for conservative vector fields We

Speaker Change Detection using Support Vector Machines

Speaker Change Detection using Support Vector Machines V. Kartik and D. Srikrishna Satish and C. Chandra Sekhar Speech and Vision Laboratory Department of Computer Science and Engineering Indian Institute

Winter 2016 Math 213 Final Exam. Points Possible. Subtotal 100. Total 100

Winter 2016 Math 213 Final Exam Name Instructions: Show ALL work. Simplify wherever possible. Clearly indicate your final answer. Problem Number Points Possible Score 1 25 2 25 3 25 4 25 Subtotal 100 Extra

Recognition of Handwritten Digits using Structural Information

Recognition of Handwritten Digits using Structural Information Sven Behnke Martin-Luther University, Halle-Wittenberg' Institute of Computer Science 06099 Halle, Germany { behnke Irojas} @ informatik.uni-halle.de

Face Recognition using SIFT Features

Face Recognition using SIFT Features Mohamed Aly CNS186 Term Project Winter 2006 Abstract Face recognition has many important practical applications, like surveillance and access control.

Visual Structure Analysis of Flow Charts in Patent Images

Visual Structure Analysis of Flow Charts in Patent Images Roland Mörzinger, René Schuster, András Horti, and Georg Thallinger JOANNEUM RESEARCH Forschungsgesellschaft mbh DIGITAL - Institute for Information

Implementation of Canny Edge Detector of color images on CELL/B.E. Architecture.

Implementation of Canny Edge Detector of color images on CELL/B.E. Architecture. Chirag Gupta,Sumod Mohan K cgupta@clemson.edu, sumodm@clemson.edu Abstract In this project we propose a method to improve

A network flow algorithm for reconstructing. binary images from discrete X-rays

A network flow algorithm for reconstructing binary images from discrete X-rays Kees Joost Batenburg Leiden University and CWI, The Netherlands kbatenbu@math.leidenuniv.nl Abstract We present a new algorithm

Biometric Authentication using Online Signatures

Biometric Authentication using Online Signatures Alisher Kholmatov and Berrin Yanikoglu alisher@su.sabanciuniv.edu, berrin@sabanciuniv.edu http://fens.sabanciuniv.edu Sabanci University, Tuzla, Istanbul,

Tracking of Small Unmanned Aerial Vehicles

Tracking of Small Unmanned Aerial Vehicles Steven Krukowski Adrien Perkins Aeronautics and Astronautics Stanford University Stanford, CA 94305 Email: spk170@stanford.edu Aeronautics and Astronautics Stanford

Static Environment Recognition Using Omni-camera from a Moving Vehicle

Static Environment Recognition Using Omni-camera from a Moving Vehicle Teruko Yata, Chuck Thorpe Frank Dellaert The Robotics Institute Carnegie Mellon University Pittsburgh, PA 15213 USA College of Computing

G7-3 Measuring and Drawing Angles and Triangles Pages

G7-3 Measuring and Drawing Angles and Triangles Pages 102 104 Curriculum Expectations Ontario: 5m51, 5m52, 5m54, 6m48, 6m49, 7m3, 7m4, 7m46 WNCP: 6SS1, review, [T, R, V] Vocabulary angle vertex arms acute

Automatic Extraction of Signatures from Bank Cheques and other Documents

Automatic Extraction of Signatures from Bank Cheques and other Documents Vamsi Krishna Madasu *, Mohd. Hafizuddin Mohd. Yusof, M. Hanmandlu ß, Kurt Kubik * *Intelligent Real-Time Imaging and Sensing group,