Chris Pollett > Students > Hammoudeh

    Print View

    [Home]

    [Blog]

    [Initial Project Proposal]

    [Thesis Deliverables]

    [GitHub Repository]

    [Solver Documentation]

























CS299 Proposal

An Enhanced Square-Piece, Multiple Simultaneous Jigsaw Puzzle Solver with Missing Pieces

Zayd Hammoudeh (zayd.hammoudeh@sjsu.edu)

Advisor: Dr. Chris Pollett

Committee Members: Dr. Thomas Austin, Dr. Teng Moh

Abstract:

Solving a jigsaw puzzle entails arranging a fixed set of pieces such that they reconstruct an original source image. With a traditional jigsaw puzzle, finding the solution is straightforward as interpiece mechanical incongruence and knowledge of the solution image reduce the number of possible piece permutations.

This project proposes an algorithm that can simultaneously reconstruct multiple jigsaw puzzles consisting of uniform, square pieces. Unlike previous work, the algorithm takes no outside information (e.g., number of input puzzles). In contrast, the algorithm uses the image information from the bag of individual, input pieces.

CS297 Results

  • A literature review of existing techniques to solve jigsaw puzzles.
  • A puzzle generator implemented using OpenCV that takes an image file as the input
  • An enhanced implementation of a greedy solver based off the approach proposed by Paikin & Tal (see the references for the specific paper).
  • Visualization tools for solutions to puzzle solver solutions as well as best buddy relationships.

Proposed Schedule

Week 1: August 23-30Complete documentation for CS299 plan for approval by the CS department.
Week 2: August 31 - September 6Begin implementation of the segmentation algorithm used by Pomeranz et. al.. Present preliminary results and provide a short description of the technique.
Week 3: September 7 - 13Continue implementation of the segmentation algorithm used by Pomeranz et. al..
Week 4: September 14 - 20Finalize initial implementation of the segmentation algorithm used by Pomeranz et. al.. Begin extension of the algorithm to support missing pieces.
Week 5: September 21 - 27Deliverable #1: Complete missing piece implementation of the Pomeranz et. al. segmentation algorithm.
Week 6: September 28 - October 4Begin development of an algorithm that predicts the number of input puzzles. Provide a preliminary strategy for review.
Week 7: October 5 - 11Continue implementation of the input puzzle prediction algorithm. Provide initial accuracy results for review.
Week 8: October 12 - 18Deliverable #2: Input puzzle algorithm completed. Provide final results.
Week 9: October 19 - 25Begin development of the multipass solver that utilizes both the input puzzle count analyzer and segmentation algorithm completed in previous deliverables. Provide a basic flow chart showing the implementation plan of the algorithm.
Week 10: October 26 - November 1Continue development of the implementation of the multipass algorithm and potentially provide first pass results.
Week 11: November 2 - 8Continue development of the first pass algorithm and show a concrete flow chart of the algorithm and initial results for review.
Week 12: November 9 - 15Deliverable #3: Multipass solver using segmentation based error detection complete.
Week 13: November 16 - 22Perform experiments and data collection with final algorithm for inclusion in the thesis report and presentation.
Week 14: November 23 - 29Finalize any remaining work. Begin writing of thesis report and creation of the slides for the defense.
Week 15: November 30 - December 6Continue working on thesis report and defense slides.
Week 16: December 7 - 13Deliverable #4: Thesis completed. Distribute to committee and provide to graduate studies office.
January 31, 2017Thesis Defense.

Key Deliverables:

  • Software
    • Implementation of a segmentation algorithm to determine with a high degree of confidence portions of the solution that are assembled correctly.
    • Improvements to segmentation techniques to support the potential for missing pieces.
    • An algorithm for estimating the number of input puzzles to the solver.
    • A set of metrics used to measure the quality of solutions when solving multiple jigsaw puzzles simultaneously.
  • Report
    • Complete a thesis write-up.
    • Complete source code and thesis defense presentation.

Innovations and Challenges

  • In traditional jigsaw puzzles, pieces usually have unique or significantly different shapes. This significantly simplifies jigsaw puzzle solving since shape alone can be used to definitively determine that some pieces are not adjacent. In constrast, the puzzle pieces in this are equal sized squares which eliminates the use of shape in determining piece adjacency.
  • Most previous work on the jigsaw puzzle problem focused on solving only a single puzzle at a time. Solving multiple (in particular) large puzzles increases the number of piece permutations and introduces the complexity of dividing the input set of pieces into disjoint subsets.
  • Puzzles with missing pieces are more difficult since one cannot assume all internal pieces have a neighbor. What is more, missing puzzle pieces increase the likelihood that two puzzle pieces will have an artificially high pairwise similarity. Both of these increase the difficulty in solving a puzzle.
  • Develop the first solver that takes no outside input other than the bag of puzzle pieces.

References:

  • A. C. Gallagher, Jigsaw puzzles with pieces of unknown orientation, in Proceedings of the 2012 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), CVPR 12, pp. 382389, IEEE Computer Society, 2012.
  • D. Pomeranz, M. Shemesh, and O. Ben-Shahar, A fully automated greedy square jigsaw puzzle solver, in Proceedings of the 2011 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), CVPR 11, pp. 916, IEEE Computer Society, 2011.
  • D. Sholomon, O. David, and N. S. Netanyahu, A genetic algorithm-based solver for very large jigsaw puzzles, in Proceedings of the 2013 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), CVPR 13, pp. 17671774, IEEE Computer Society, 2013.
  • G. Bradski, The OpenCV library, Dr. Dobbs Journal of Software Tools, Nov. 2000.
  • G. Paikin and A. Tal, Solving multiple square jigsaw puzzles with missing pieces, in Proceedings of the 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), CVPR 15, IEEE Computer Society, 2015.