CS 585 Computer Vision Final Report Puzzle Solving Mobile App

Size: px
Start display at page:

Download "CS 585 Computer Vision Final Report Puzzle Solving Mobile App"

Transcription

1 CS 585 Computer Vision Final Report Puzzle Solving Mobile App Developed by Timothy Chong and Patrick W. Crawford December 9, 2014

2 Introduction and Motivation This project s aim is to create a mobile application that allows a user to take a picture of a scrambled puzzle and indicate to the user how to solve the puzzle-where to move the individual pieces. Part of the motivation of this project is to tackle a difficult generic computer vision problem of reconstructing scene from scattered, yet to be correlated, images and information, and combining them with a fun practical use. The choice of a puzzle solver also allowed us to get as much test data as we needed without going into the field. Technical Approach Various potential approaches were discussed and their efficiencies and accuracies were compared. These potential approaches include template matching, mutual information, histogram matching, contour information, and scale-invariant feature transform (SIFT). Template matching This method involves sliding pieces over a solution image and finding the minimum difference that corresponds to the best location matches in the final image. While this method of finding the minimum difference in matching can be effective for generic tracker-like objects, it is not scale or rotation invariant. Any distortion or rotation would lead to failing results, and for the purpose of a scrambled puzzle, that is a critical inability of this method. Histogram/Mutual information This would be a method implement in a similar fashion as template matching in terms of sliding windows of processing over the solution image and comparing against individual puzzle pieces. Histograms between the segmented puzzle piece and a possible matching region in the solution image would be compared and evaluated along with some additional properties to determine if one location in the solution image is a good match or not. This method, however, does not conserve spatial coherence, which means that a lot of the shape information in our puzzle pieces are ignored. Contour information This can be thought of as a geometric approach to solving the question. After segmentation, each puzzle pieces would have a descriptor made including a list of

3 edges, each edge containing information such as it s profile (concave, convex, flat), its original contour, and additional information such as color buckets when moving along this edge contour. Matching would be done by first filtering by profile, then matching based on contour shapes as well as matching color buckets between to pieces going side-by-side. While early in the project time was spent to develop effective methods of approaching the problem from this perspective, this method was pushed secondary to SIFT analysis. Provided more time, additional matching and improvement on the SIFT matching method could be done by this method. If not combined with other solving techniques, this method would be the only proposed here that did not require a solution image to process. Scale-invariant feature transform (SIFT) This is a method of solving the puzzle where each puzzle piece has a descriptor calculated and then matched against the solution image to find the best location for the matching pieces. Because individual feature points calculated on both the puzzle piece have their own associated rotation based on the feature around which each point is oriented, the overall algorithm is independent to rotation of each piece. This was a key consideration for selecting this as our primary method for solving puzzles. From our evaluation of the tradeoffs of utilizing the different methods listed above, we decided to use scale-invariant feature transform as the main method used in analyzing our puzzle pieces to obtain the solution matches. Assumption made Several assumptions were made to speed up our development process. The solution image is given. The image of the puzzle pieces are placed on a flat black surface. The dimensions of the puzzles are given. (i.e. 4-by-4 puzzle). Solution image is not rotated All puzzle pieces have regular and similar rectangular shapes that are distributed evenly in the solution. The input images (both puzzle pieces and solution image) are not distorted by too much. Implementation The implementation of this project can be broken into a few stages. In the segmentation stage, simple thresholding is accomplished by hardcoding the threshold level that best fit our data. As stated before, this simple thresholding was sufficient for our needs given

4 the focus on matching and not generalized thresholding. Once the thresholding is done, active contours are calculated and the for each contour larger than some minimum area, a puzzle piece object is created. Each JSVpuzzlePiece object has a field for the original bounding box color image, cropped to the minimum area to contain the contour. There is additionally a mask field for the binary image of the piece to know how it is separated from the background. Other fields include guess_x, guess_y, guess_rotation initialized to -1, -1, and 0 respectively. Later, these fields are populated with the row/column position of the result image to indicate where this piece should go and it s guess for a rotation amount. There is an additional two fields called offset_x and offset_y, which are simply the number of pixels the top left corner of the bounding box of this puzzle piece is offset from the top left corner of the original picture of the scrambled puzzle pieces. Note all this above processing is done within the createpiecesfromimage function or method + (UIImage *) createpiecesfromimage: (UIImage *) src issolution:(bool) issolution. After these puzzle pieces objects are made, then the size of the puzzle is set based on the number of recognized pieces. If there are 3 or 4 pieces, then the size of the solution is set to be 2x2. If there are between 5 and 9, the size is set to 3x3, and if it is between 10 and 16 pieces, the size is set to be 4x4 and so forth. We then perform a SIFT analysis to extract all the key points from the puzzle pieces. The key points close to the borders are extracted and the remaining key points are filtered with 5 different methods based on the matching result. The centroid of the keypoint matches is used to estimate the location of the puzzle piece in the solution image. Details are discussed in section Scale-invariant feature transform. This happens in the function matchpieces, +(void) matchpieces:(nsarray *) pieces withsolution: (UIImage *) solution col: (int) col row:(int) row result:(mat &) finalresult The resulting solution computed is first presented to the user by displaying their computed locations on the solution image. Lastly, the application animates the puzzle pieces from their original position to the final position - a visual representation of how one can solve the puzzle given. The main programming languages that we used in this project are Objective C, for all the graphical interface (Animations, presentation of all elements on screen) and interactions (button presses and view transition), and C++, for OpenCV.

5 Segmentation Various techniques were explored for segmentations. Among these, adaptive thresholding was looked into, as well as HSV channel thresholding (segmenting out pixels that had above some minimum value && above some minimum saturation value), and furthermore even canny edge detection and straightforward application of contour calculations. Contrary to what was expected, simple thresholding ended up being the most stable method across our sets of puzzle images. After the binary object is created, some filtering is done to remove any pieces below some minimum area amount, too small to be a puzzle piece. Figure 1. Thresholding, left to right: simple, adaptive, HSV In the examples above, the optimal values and configurations is set for that type of thresholding for our dataset as a whole not just specifically these pieces, but these results show how with the worst dataset image (intentionally selected here), the basic thresholding does the best job at returning distinct pieces that can still be processed. Since the project s focus is not on segmentation, these results were deemed satisfactory;; however, for a more robust and commercial use of the app, HSV segmenting along with some light invariance consideration (scaling to consider the maximum value in the image) would be the best method as the app could automatically pick or determine the color of the table background from the corners of the image and threshold based on some angle and value differences in the HSV space.

6 Histogram Matching Though not ultimately used in the project, histogram matching was explored early as a potential way to form a descriptor along with other properties of the puzzle piece for matching purposes. Original Image Histogram In the table above, the first two rows are of the same portion of the puzzle but from different images and masks, and as expected had very similar histogram representations. The third image, while with similar colors, does have a notably different histogram. Beyond this qualitative analysis, more tests where done to check the feasibility of matching in this way. Below shows several different methods of comparing histograms, and for each method 8 testes are done for 8 different images to compare against, including itself. In each case, Image 4 should always be the best match as it is

7 functionally the same content but originating from a different image. Specifically, Image 0 and Image 4 are the source images for the first two rows of the table above. In each case, the actual best match is bolded Method: CV_COMP_CORREL Image 0: 1 Image 1: Image 2: Image 3: Image 4: Image 5: Image 6: Image 7: CV_COMP_BHATTACHARYYA Image 0: e-08 Image 1: Image 2: Image 3: Image 4: Image 5: Image 6: Image 7: // source image // same general piece, different image // source image // same general piece, different image // comes close CV_COMP_CHISQR Image 0: 0 Image 1: e+07 Image 2: e+07 Image 3: e+06 Image 4: e+06 Image 5: e+07 Image 6: e+07 Image 7: e+06 // source image // same general piece, different image CV_COMP_INTERSECT histvec size :8 Image 0: Image 1: Image 2: Image 3: Image 4: Image 5: Image 6: Image 7: // source image // same general piece, different image

8 While in the above example, the histogram does in fact match the correct piece a most of the time, it already shows it can easily be confused and would need additional descriptors to support finding the best matches. Since the results were not immediately promising, we moved on to focus on to use the SIFT method. Scale-invariant feature transform Our original selection of SIFT stems from its ability to provide scale and rotation invariant results. Similar to what we learned in class, keypoints and SIFT descriptors were extracted from the segmented puzzle pieces and solutions with the built-in opencv SIFT keypoint extractors. The key points were then matched with OpenCV s DMatch. Our first approach was to filter out keypoints based on the match distance from the matching results (filtering out matches with high distances) as what we did in class. One of the matching results are shown below in Figure 2. Figure 2. Matching results with only matching distance filtering. As we see, most of the low-distance matches are extracted from the borders of the images, which is useless of the purpose of our project.

9 5 Level of filtering: The simple match-distance-based filtering that we learned in class does not achieve the result that we want for solving puzzle pieces. Alternatively, we filtered our matches with 5 subsequent levels of filtering: Filtering based on border Filtering based on match distance Filtering based on relative orientation Filtering based on keypoint orientation Filtering based on proximity Filtering based on border As soon as we obtained all our key points, we discarded all the keypoints that are close to the contours of the segmented puzzle pieces and images. This ensures that all the matches computed will not include borders, which usually have very low match distance in their keypoint descriptor, signifying good matches. With border filtering, we obtain the following matches shown in Figure 3. Even though the results still do not look very helpful, it is much better than the border matches in Figure 2. Figure 3. Matching results with border filtering Filtering based on match distance This level filters out 100 keypoint matches with the least match-distances (best matches). This step is essentially the same as what we did in our lab. With two levels of filtering, we obtain the following matches shown in Figure 4.

10 Figure 4. Matching results with border and match-distance filtering The result starts to look more useful. Filtering based on relative orientation In this level of filtering, keypoints are filtered out depending on its relative location with respect to all other keypoints in the puzzle piece. Theoretically, if all points are correctly matched with its destination in the solution image, its location (in terms of angle) with respect to all the other points will be the same. Figure 5. Matching results with border,match-distance, and relative orientation filtering Specifically, for each key point in the puzzle piece and and solution image, all the directions (in angles) are computed from the other key points. The average of these

11 angles are calculated and compared between the puzzle piece and the solution piece. The average angle difference would be close to 0 if there is only a scale difference between the puzzle piece and the solution. If there is a rotation, all the average angle differences would be offset by a constant. The mean of all the average differences are computed, and the keypoints with angle differences higher than 45 degrees from the mean are discarded. As a result, we obtain the following matches shown in Figure 5. This filtering is very powerful. Just from looking at the resulting matches but not the images themselves, we can already guess that this particular puzzle piece should match to the upper right corner. Filtering based on keypoint orientation Each keypoint descriptor comes with an orientation for the description. The difference of the destination orientation and the original orientation is computed for all points. The differences that are outlier (median +/- 1.5 * interquartile range) are discarded. Result is shown in Figure 6. Figure 6. Matching results with border,match-distance, relative orientation, and keypoint orientation filtering The resulting image is very close to what we need. We still see a few incorrect point matches- those on the starfish and green seahorse- that are very far way from the main cluster. Filtering based on proximity This final filtering step is very straightforward. We filter out the keypoints that are far away from the main cluster. Specifically, we use the x and y coordinates of the key points in the solution as our dataset. We discard all keypoints with either x or y coordinate that is the outlier of the dataset (median +/- 1.5 * interquartile range). The

12 resulting matches, shown in Figure 7, are very close to what we would want to compute the solution of the puzzles. Figure 7. Matching results with all 5 levels of filtering The match result shown in Figure 8 corroborates with the rotation-invariance property that SIFT has. Figure 8. Rotation-invariance of SIFT Once we have all the useful keypoints ready, we compute their centroid. The centroid location with respect to the solution image is used to estimate the location of the puzzle piece given the dimension of the puzzle.

13 Results: We had very successful results overall in terms of finding the translational solution to the puzzle piece problem. We had four sets of data (distinct puzzles) with multiple cases for each (pictures with the pieces scrambled in different manners). These datasets and a few of their cases are shown below. In these example, rotation discrepancies were disregarded, as the algorithm for rotation was not sufficient enough to consider and show in these results. # Source Pieces Solution 1 2 3

14 4 5 6 Note in the table above, solution images with apparent blank spots (#5, #6) indicate some pieces of that puzzle had to match found and were not included. We did not attempt to include random guessing for remaining pieces so as to showcase the pure capability of the SIFT technique. These are just some of the cases used for these sets of puzzles. Overall, we tested 12 configurations with 87 pieces in total, and 79 of those pieces were successfully matched to the correct location.

15 Conclusions: Our takeaway from this project is that the SIFT analysis for matching components can be very powerful and work well, but is hugely dependent on finding the right kind of filtering for each individual application. The effectiveness of this method is also dependent on the detail of the components used. In this case, our puzzle pieces generally had enough detail and contrasting points that descriptors could be found and compared;; puzzles that have lots of similar, uniformly colored parts like a lake or extensive blue sky would barely be able to generate enough descriptors to match a couple points in the solution image, let alone filter down to a desirable set. In general, while our method works for solving the puzzles on the smaller scale in number of pieces, it would not scale very well to much larger problems such as puzzles with hundreds of pieces. Extension An interesting expansion from this baseline would be development into incorporating purely geometric features as talked about briefly before, primarily contour matching. Though the problem is quite difficult to solve purely with geometric matching. Combining tentative results of SIFT analysis to determine distinct edges to compare and match with would allow for accurate rotation estimates and resolve more logic in terms of pieces that had no solution found by SIFT. This potentially would even allow us to partially complete puzzle pieces without a solution image and work on smaller pieces with puzzles of a greater size. Citations: CS585 Lab 4 solution CS585 Lab 5 solution CS585 Lab 10 solution OpenCV Documentation Apple Objective C Documentation, apple.developer.com C++ DOcumentation, Cplusplus.com

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

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

More information

Arrowsmith: Automatic Archery Scorer Chanh Nguyen and Irving Lin

Arrowsmith: Automatic Archery Scorer Chanh Nguyen and Irving Lin Arrowsmith: Automatic Archery Scorer Chanh Nguyen and Irving Lin Department of Computer Science, Stanford University ABSTRACT We present a method for automatically determining the score of a round of arrows

More information

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 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

More information

Motivation. Lecture 31: Object Recognition: SIFT Keys. Simple Example. Simple Example. Simple Example

Motivation. Lecture 31: Object Recognition: SIFT Keys. Simple Example. Simple Example. Simple Example Lecture 31: Object Recognition: SIFT Keys Motivation Want to recognize a known objects from unknown viewpoints. find them in an image database of models Local Feature based Approaches Represent appearance

More information

Chess Vision. Chua Huiyan Le Vinh Wong Lai Kuan

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

More information

Automatic 3D Reconstruction via Object Detection and 3D Transformable Model Matching CS 269 Class Project Report

Automatic 3D Reconstruction via Object Detection and 3D Transformable Model Matching CS 269 Class Project Report Automatic 3D Reconstruction via Object Detection and 3D Transformable Model Matching CS 69 Class Project Report Junhua Mao and Lunbo Xu University of California, Los Angeles mjhustc@ucla.edu and lunbo

More information

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 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,

More information

G E N E R A L A P P R O A CH: LO O K I N G F O R D O M I N A N T O R I E N T A T I O N I N I M A G E P A T C H E S

G E N E R A L A P P R O A CH: LO O K I N G F O R D O M I N A N T O R I E N T A T I O N I N I M A G E P A T C H E S G E N E R A L A P P R O A CH: LO O K I N G F O R D O M I N A N T O R I E N T A T I O N I N I M A G E P A T C H E S In object categorization applications one of the main problems is that objects can appear

More information

Matt Cabot Rory Taca QR CODES

Matt Cabot Rory Taca QR CODES Matt Cabot Rory Taca QR CODES QR codes were designed to assist in the manufacturing plants of the automotive industry. These easy to scan codes allowed for a rapid way to identify parts and made the entire

More information

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 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

More information

CVChess: Computer Vision Chess Analytics

CVChess: Computer Vision Chess Analytics CVChess: Computer Vision Chess Analytics Jay Hack and Prithvi Ramakrishnan Abstract We present a computer vision application and a set of associated algorithms capable of recording chess game moves fully

More information

Food brand image (Logos) recognition

Food brand image (Logos) recognition Food brand image (Logos) recognition Ritobrata Sur(rsur@stanford.edu), Shengkai Wang (sk.wang@stanford.edu) Mentor: Hui Chao (huichao@qti.qualcomm.com) Final Report, March 19, 2014. 1. Introduction Food

More information

Face Recognition using SIFT Features

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.

More information

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

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.

More information

Colour Image Segmentation Technique for Screen Printing

Colour Image Segmentation Technique for Screen Printing 60 R.U. Hewage and D.U.J. Sonnadara Department of Physics, University of Colombo, Sri Lanka ABSTRACT Screen-printing is an industry with a large number of applications ranging from printing mobile phone

More information

The Design and Implementation of Traffic Accident Identification System Based on Video

The Design and Implementation of Traffic Accident Identification System Based on Video 3rd International Conference on Multimedia Technology(ICMT 2013) The Design and Implementation of Traffic Accident Identification System Based on Video Chenwei Xiang 1, Tuo Wang 2 Abstract: With the rapid

More information

Make and Model Recognition of Cars

Make and Model Recognition of Cars Make and Model Recognition of Cars Sparta Cheung Department of Electrical and Computer Engineering University of California, San Diego 9500 Gilman Dr., La Jolla, CA 92093 sparta@ucsd.edu Alice Chu Department

More information

Assessment. Presenter: Yupu Zhang, Guoliang Jin, Tuo Wang Computer Vision 2008 Fall

Assessment. Presenter: Yupu Zhang, Guoliang Jin, Tuo Wang Computer Vision 2008 Fall Automatic Photo Quality Assessment Presenter: Yupu Zhang, Guoliang Jin, Tuo Wang Computer Vision 2008 Fall Estimating i the photorealism of images: Distinguishing i i paintings from photographs h Florin

More information

T O B C A T C A S E G E O V I S A T DETECTIE E N B L U R R I N G V A N P E R S O N E N IN P A N O R A MISCHE BEELDEN

T O B C A T C A S E G E O V I S A T DETECTIE E N B L U R R I N G V A N P E R S O N E N IN P A N O R A MISCHE BEELDEN T O B C A T C A S E G E O V I S A T DETECTIE E N B L U R R I N G V A N P E R S O N E N IN P A N O R A MISCHE BEELDEN Goal is to process 360 degree images and detect two object categories 1. Pedestrians,

More information

ColorCrack: Identifying Cracks in Glass

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

More information

NYT crossword puzzle solver

NYT crossword puzzle solver NYT crossword puzzle solver 5. Mai 2016 1 NYT crossword puzzle solver 2 NYT crossword puzzle solver 1 Problem Description 2 Concept of Solution 3 Grid extraction 4 Box Classification 5 Solve puzzle 6 Results

More information

ROBOTRACKER A SYSTEM FOR TRACKING MULTIPLE ROBOTS IN REAL TIME. by Alex Sirota, alex@elbrus.com

ROBOTRACKER A SYSTEM FOR TRACKING MULTIPLE ROBOTS IN REAL TIME. by Alex Sirota, alex@elbrus.com ROBOTRACKER A SYSTEM FOR TRACKING MULTIPLE ROBOTS IN REAL TIME by Alex Sirota, alex@elbrus.com Project in intelligent systems Computer Science Department Technion Israel Institute of Technology Under the

More information

Computer Vision - part II

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

More information

Currency Recognition in Mobile Application for Visually Challenged

Currency Recognition in Mobile Application for Visually Challenged Currency Recognition in Mobile Application for Visually Challenged Manikandan K 1, Sumithra T 2 1 Sri Krishna College of Engineering and Technology, manikandank@skcet.ac.in,coimbatore,india 2 Sri Krishna

More information

Digital Image Processing Using Matlab. Haris Papasaika-Hanusch Institute of Geodesy and Photogrammetry, ETH Zurich

Digital Image Processing Using Matlab. Haris Papasaika-Hanusch Institute of Geodesy and Photogrammetry, ETH Zurich Haris Papasaika-Hanusch Institute of Geodesy and Photogrammetry, ETH Zurich haris@geod.baug.ethz.ch Images and Digital Images A digital image differs from a photo in that the values are all discrete. Usually

More information

Sudoku Solver. Yixin Wang

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.

More information

Multiple Object Tracking Using SIFT Features and Location Matching

Multiple Object Tracking Using SIFT Features and Location Matching Multiple Object Tracking Using SIFT Features and Location Matching Seok-Wun Ha 1, Yong-Ho Moon 2 1,2 Dept. of Informatics, Engineering Research Institute, Gyeongsang National University, 900 Gazwa-Dong,

More information

C-Green: A computer Vision System for Leaf Identification

C-Green: A computer Vision System for Leaf Identification C-Green: A computer Vision System for Leaf Identification Chinmai Basavaraj Indiana State University cbasavaraj@sycamores.indstate.edu December 16, 2014 Abstract I describe here a system which uses automatic

More information

Using Image J to Measure the Brightness of Stars (Written by Do H. Kim)

Using Image J to Measure the Brightness of Stars (Written by Do H. Kim) Using Image J to Measure the Brightness of Stars (Written by Do H. Kim) What is Image J? Image J is Java-based image processing program developed at the National Institutes of Health. Image J runs on everywhere,

More information

Image Segmentation and Registration

Image Segmentation and Registration Image Segmentation and Registration Dr. Christine Tanner (tanner@vision.ee.ethz.ch) Computer Vision Laboratory, ETH Zürich Dr. Verena Kaynig, Machine Learning Laboratory, ETH Zürich Outline Segmentation

More information

A Jigsaw Puzzle Solving Guide on Mobile Devices

A Jigsaw Puzzle Solving Guide on Mobile Devices A Jigsaw Puzzle Solving Guide on Mobile Devices Liang Liang Department of Applied Physics, Stanford University Stanford, CA 94305, USA Zhongkai Liu Department of Physics Stanford University Stanford, CA

More information

GAZETRACKERrM: SOFTWARE DESIGNED TO FACILITATE EYE MOVEMENT ANALYSIS

GAZETRACKERrM: SOFTWARE DESIGNED TO FACILITATE EYE MOVEMENT ANALYSIS GAZETRACKERrM: SOFTWARE DESIGNED TO FACILITATE EYE MOVEMENT ANALYSIS Chris kankford Dept. of Systems Engineering Olsson Hall, University of Virginia Charlottesville, VA 22903 804-296-3846 cpl2b@virginia.edu

More information

An Optical Sudoku Solver

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

More information

Mobile Augmented Reality for Grocery Shopping

Mobile Augmented Reality for Grocery Shopping Mobile Augmented Reality for Grocery Shopping Monica Thompson Department of Computer Science University of Wisconsin Eau Claire Eau Claire, WI 54702 thompmon@uwec.edu Daniel Stevenson Department of Computer

More information

An Augmented Reality Application for Previewing 3D Décor Changes

An Augmented Reality Application for Previewing 3D Décor Changes An Augmented Reality Application for Previewing 3D Décor Changes Mai Le, Aaron Zarraga, Kangrong Zhu Department of Electrical Engineering Stanford University, CA, USA Abstract In this paper, we explore

More information

Robust Panoramic Image Stitching

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

More information

BASIC PHOTO EDITING WITH ADOBE PHOTOSHOP

BASIC PHOTO EDITING WITH ADOBE PHOTOSHOP BASIC PHOTO EDITING WITH ADOBE PHOTOSHOP This handout will help you adjust your photographic images so that they look more natural. There are eight steps to basic image editing with Adobe PhotoShop. They

More information

Augmented Reality Tic-Tac-Toe

Augmented Reality Tic-Tac-Toe Augmented Reality Tic-Tac-Toe Joe Maguire, David Saltzman Department of Electrical Engineering jmaguire@stanford.edu, dsaltz@stanford.edu Abstract: This project implements an augmented reality version

More information

A Color Hand Gesture Database for Evaluating and Improving Algorithms on Hand Gesture and Posture Recognition

A Color Hand Gesture Database for Evaluating and Improving Algorithms on Hand Gesture and Posture Recognition Res. Lett. Inf. Math. Sci., 2005, Vol. 7, pp 127-134 127 Available online at http://iims.massey.ac.nz/research/letters/ A Color Hand Gesture Database for Evaluating and Improving Algorithms on Hand Gesture

More information

More Local Structure Information for Make-Model Recognition

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

More information

Assembling Jigsaw Puzzles

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.

More information

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

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

More information

VEHICLE LOCALISATION AND CLASSIFICATION IN URBAN CCTV STREAMS

VEHICLE LOCALISATION AND CLASSIFICATION IN URBAN CCTV STREAMS VEHICLE LOCALISATION AND CLASSIFICATION IN URBAN CCTV STREAMS Norbert Buch 1, Mark Cracknell 2, James Orwell 1 and Sergio A. Velastin 1 1. Kingston University, Penrhyn Road, Kingston upon Thames, KT1 2EE,

More information

IMAGE MODIFICATION DEVELOPMENT AND IMPLEMENTATION: A SOFTWARE MODELING USING MATLAB

IMAGE MODIFICATION DEVELOPMENT AND IMPLEMENTATION: A SOFTWARE MODELING USING MATLAB Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 4, Issue. 8, August 2015,

More information

The Scientific Data Mining Process

The Scientific Data Mining Process Chapter 4 The Scientific Data Mining Process When I use a word, Humpty Dumpty said, in rather a scornful tone, it means just what I choose it to mean neither more nor less. Lewis Carroll [87, p. 214] In

More information

The 3D object counter plugin a.k.a 3D-OC. Fabrice P. Cordelières

The 3D object counter plugin a.k.a 3D-OC. Fabrice P. Cordelières The 3D object counter plugin a.k.a 3D-OC Fabrice P. Cordelières v2.0, November 12, 2009 Contents 1 How to install the plugin? 2 2 What does it do? 3 3 How to use it? 6 3.1 Setting the options...............................

More information

Mean-Shift Tracking with Random Sampling

Mean-Shift Tracking with Random Sampling 1 Mean-Shift Tracking with Random Sampling Alex Po Leung, Shaogang Gong Department of Computer Science Queen Mary, University of London, London, E1 4NS Abstract In this work, boosting the efficiency of

More information

SilverFast Resolution Target (USAF 1951)

SilverFast Resolution Target (USAF 1951) SilverFast Resolution Target (USAF 1951) Content 1. Introduction 2 2. Resolution of a Scanner 2.1 dpi, what exactly is that? 2 2.2 How a scanner is structured 2 2.3 Sharpness at high Resolution 3 2.4 Higher

More information

A New Robust Algorithm for Video Text Extraction

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.

More information

Eye Tracking Instructions

Eye Tracking Instructions Eye Tracking Instructions [1] Check to make sure that the eye tracker is properly connected and plugged in. Plug in the eye tracker power adaptor (the green light should be on. Make sure that the yellow

More information

Agenda. Color Correction & Gamut Monitoring. Introduction to Spearhead Display. Introduction to LQV Display. Content Quality Assurance

Agenda. Color Correction & Gamut Monitoring. Introduction to Spearhead Display. Introduction to LQV Display. Content Quality Assurance Agenda Color Correction & Gamut Monitoring Introduction to Spearhead Display Introduction to LQV Display Content Quality Assurance 2 Basic Anatomy of the human vision system Physical part/elements Eye,

More information

Constellation Detection

Constellation Detection Constellation Detection Suyao Ji, Jinzhi Wang, Xiaoge Liu* *To whom correspondence should be addressed. Electronic mail:liuxg@stanford.edu Abstract In the night with clear sky, the beautiful star patterns

More information

Introduction to SolidWorks Software

Introduction to SolidWorks Software Introduction to SolidWorks Software Marine Advanced Technology Education Design Tools What is SolidWorks? SolidWorks is design automation software. In SolidWorks, you sketch ideas and experiment with different

More information

ECE 533 Project Report Ashish Dhawan Aditi R. Ganesan

ECE 533 Project Report Ashish Dhawan Aditi R. Ganesan Handwritten Signature Verification ECE 533 Project Report by Ashish Dhawan Aditi R. Ganesan Contents 1. Abstract 3. 2. Introduction 4. 3. Approach 6. 4. Pre-processing 8. 5. Feature Extraction 9. 6. Verification

More information

CS229 Project Final Report. Sign Language Gesture Recognition with Unsupervised Feature Learning

CS229 Project Final Report. Sign Language Gesture Recognition with Unsupervised Feature Learning CS229 Project Final Report Sign Language Gesture Recognition with Unsupervised Feature Learning Justin K. Chen, Debabrata Sengupta, Rukmani Ravi Sundaram 1. Introduction The problem we are investigating

More information

Compression and Image Formats

Compression and Image Formats Compression Compression and Image Formats Reduce amount of data used to represent an image/video Bit rate and quality requirements Necessary to facilitate transmission and storage Required quality is application

More information

MediaEdit 3 User s Guide

MediaEdit 3 User s Guide MediaEdit 3 User s Guide Contents 1. Beginning MediaEdit 3 2 1-1. Creating a new project 2 1-2. Interface 3 1-3. Adding Clips 4 1-4. Capturing Video 5 1-5. Recording Audio 6 2. Working with MediaEdit 3

More information

Building Blocks Artist Driven Procedural Buildings. James Golding - Epic Games

Building Blocks Artist Driven Procedural Buildings. James Golding - Epic Games Building Blocks Artist Driven Procedural Buildings James Golding - Epic Games Who Am I Started as Field Engineer at MathEngine Oxford, UK 1999-2003 Senior Programmer at Epic Games Raleigh, NC, USA Worked

More information

Creating Tessellations Accelerated Geometry/Algebra 2 Innovation Project

Creating Tessellations Accelerated Geometry/Algebra 2 Innovation Project Creating s Accelerated Geometry/Algebra 2 Innovation Project Purpose: For this project you will be working as a group of two to investigate and create tessellations. alternate display that will summarize

More information

Automatic Grocery Shopping Assistant

Automatic Grocery Shopping Assistant Automatic Grocery Shopping Assistant Linda He Yi Department of Electrical Engineering Stanford University Stanford, CA heyi@stanford.edu Feiqiao Brian Yu Department of Electrical Engineering Stanford University

More information

Excel: Creating and Customising Charts

Excel: Creating and Customising Charts Excel: Creating and Customising Charts Intermediate Introduction The exercises below introduce some of the different graphs available within Excel and how to customise them; the techniques used are broadly

More information

Excel 2010 Cheat Sheet

Excel 2010 Cheat Sheet Excel 2010 Cheat Sheet April 20, 2012 Toolbar customize click on arrow and then check the ones you want a shortcut for File Tab (has new, open save, print, and shows recent documents) Save, Open, New,

More information

3D Model based Object Class Detection in An Arbitrary View

3D Model based Object Class Detection in An Arbitrary View 3D Model based Object Class Detection in An Arbitrary View Pingkun Yan, Saad M. Khan, Mubarak Shah School of Electrical Engineering and Computer Science University of Central Florida http://www.eecs.ucf.edu/

More information

4a.2 Digital Media Fundamentals

4a.2 Digital Media Fundamentals 4a.1 With film photography, most people s creative involvement with their photos stops with clicking the shutter. With digital photography, the equivalent moment to dropping your film off for developing

More information

Centroid and Moment of Inertia

Centroid and Moment of Inertia Centroid and Moment of Inertia This program will find the centroid and area moments of inertia for a composite area with respect to a given coordinate system. Then the program will calculate the moments

More information

Topographic Change Detection Using CloudCompare Version 1.0

Topographic Change Detection Using CloudCompare Version 1.0 Topographic Change Detection Using CloudCompare Version 1.0 Emily Kleber, Arizona State University Edwin Nissen, Colorado School of Mines J Ramón Arrowsmith, Arizona State University Introduction CloudCompare

More information

Interactive Flag Identification using Image Retrieval Techniques

Interactive Flag Identification using Image Retrieval Techniques Interactive Flag Identification using Image Retrieval Techniques Eduardo Hart, Sung-Hyuk Cha, Charles Tappert CSIS, Pace University 861 Bedford Road, Pleasantville NY 10570 USA E-mail: eh39914n@pace.edu,

More information

CHAPTER 5 SENDER AUTHENTICATION USING FACE BIOMETRICS

CHAPTER 5 SENDER AUTHENTICATION USING FACE BIOMETRICS 74 CHAPTER 5 SENDER AUTHENTICATION USING FACE BIOMETRICS 5.1 INTRODUCTION Face recognition has become very popular in recent years, and is used in many biometric-based security systems. Face recognition

More information

Just want the standards alone? You can find the standards alone at

Just want the standards alone? You can find the standards alone at K Grade Mathematics Unpacked Content For the new Common Core standards that will be effective in all North Carolina schools in the 2012-13 school year. This document is designed to help North Carolina

More information

Environmental Remote Sensing GEOG 2021

Environmental Remote Sensing GEOG 2021 Environmental Remote Sensing GEOG 2021 Lecture 4 Image classification 2 Purpose categorising data data abstraction / simplification data interpretation mapping for land cover mapping use land cover class

More information

ADVANCES IN AUTOMATIC OPTICAL INSPECTION: GRAY SCALE CORRELATION vs. VECTORAL IMAGING

ADVANCES IN AUTOMATIC OPTICAL INSPECTION: GRAY SCALE CORRELATION vs. VECTORAL IMAGING ADVANCES IN AUTOMATIC OPTICAL INSPECTION: GRAY SCALE CORRELATION vs. VECTORAL IMAGING Vectoral Imaging, SPC & Closed Loop Communication: The Zero Defect SMD Assembly Line Mark J. Norris Vision Inspection

More information

Automatic georeferencing of imagery from high-resolution, low-altitude, low-cost aerial platforms

Automatic georeferencing of imagery from high-resolution, low-altitude, low-cost aerial platforms Automatic georeferencing of imagery from high-resolution, low-altitude, low-cost aerial platforms Amanda Geniviva, Jason Faulring and Carl Salvaggio Rochester Institute of Technology, 54 Lomb Memorial

More information

LECTURE I: GRAPHICS & IMAGE DATA REPRESENTATION DR. OUIEM BCHIR

LECTURE I: GRAPHICS & IMAGE DATA REPRESENTATION DR. OUIEM BCHIR 1 LECTURE I: GRAPHICS & IMAGE DATA REPRESENTATION DR. OUIEM BCHIR 2 DIGITAL IMAGE REPRESENTATION An image is a spatial representation of an object, a2d or 3D scene, etc. Abstractly, an image is a continuous

More information

Microsoft Word 2010 Tutorial

Microsoft Word 2010 Tutorial 1 Microsoft Word 2010 Tutorial Microsoft Word 2010 is a word-processing program, designed to help you create professional-quality documents. With the finest documentformatting tools, Word helps you organize

More information

Exercise 2: Video stabilization, transformation, and re-centering

Exercise 2: Video stabilization, transformation, and re-centering Exercise 2: Video stabilization, transformation, and re-centering Multimedia systems 2015/2016 Create a folder exercise2 that you will use during this exercise. Unpack the content of the exercise2.zip

More information

KINDERGARTEN Practice addition facts to 5 and related subtraction facts. 1 ST GRADE Practice addition facts to 10 and related subtraction facts.

KINDERGARTEN Practice addition facts to 5 and related subtraction facts. 1 ST GRADE Practice addition facts to 10 and related subtraction facts. MATH There are many activities parents can involve their children in that are math related. Children of all ages can always practice their math facts (addition, subtraction, multiplication, division) in

More information

A PHOTOGRAMMETRIC APPRAOCH FOR AUTOMATIC TRAFFIC ASSESSMENT USING CONVENTIONAL CCTV CAMERA

A PHOTOGRAMMETRIC APPRAOCH FOR AUTOMATIC TRAFFIC ASSESSMENT USING CONVENTIONAL CCTV CAMERA A PHOTOGRAMMETRIC APPRAOCH FOR AUTOMATIC TRAFFIC ASSESSMENT USING CONVENTIONAL CCTV CAMERA N. Zarrinpanjeh a, F. Dadrassjavan b, H. Fattahi c * a Islamic Azad University of Qazvin - nzarrin@qiau.ac.ir

More information

Build Panoramas on Android Phones

Build Panoramas on Android Phones Build Panoramas on Android Phones Tao Chu, Bowen Meng, Zixuan Wang Stanford University, Stanford CA Abstract The purpose of this work is to implement panorama stitching from a sequence of photos taken

More information

A Study on SURF Algorithm and Real-Time Tracking Objects Using Optical Flow

A Study on SURF Algorithm and Real-Time Tracking Objects Using Optical Flow , pp.233-237 http://dx.doi.org/10.14257/astl.2014.51.53 A Study on SURF Algorithm and Real-Time Tracking Objects Using Optical Flow Giwoo Kim 1, Hye-Youn Lim 1 and Dae-Seong Kang 1, 1 Department of electronices

More information

Supplementary Information: Visualizing the entire DNA from a chromosome in a single frame

Supplementary Information: Visualizing the entire DNA from a chromosome in a single frame Supplementary Information: Visualizing the entire DNA from a chromosome in a single frame C. Freitag, C. Noble, J. Fritzsche, F.Persson, M. Reiter-Schad, A. N. Nilsson, A. Graneli, T. Ambjörnsson, K. U.

More information

Object Recognition and Template Matching

Object Recognition and Template Matching Object Recognition and Template Matching Template Matching A template is a small image (sub-image) The goal is to find occurrences of this template in a larger image That is, you want to find matches of

More information

Extend Table Lens for High-Dimensional Data Visualization and Classification Mining

Extend Table Lens for High-Dimensional Data Visualization and Classification Mining Extend Table Lens for High-Dimensional Data Visualization and Classification Mining CPSC 533c, Information Visualization Course Project, Term 2 2003 Fengdong Du fdu@cs.ubc.ca University of British Columbia

More information

International Journal of Advancements in Technology ISSN Virtual Makeover Using MATLAB

International Journal of Advancements in Technology  ISSN Virtual Makeover Using MATLAB Virtual Makeover Using MATLAB Akash I. Mecwan akash.mecwan@nirmauni.ac.in Vijay G. Savani vijay.savani@nirmauni.ac.in Electronics and Communication Department, Institute of Technology, Nirma University

More information

Android Ros Application

Android Ros Application Android Ros Application Advanced Practical course : Sensor-enabled Intelligent Environments 2011/2012 Presentation by: Rim Zahir Supervisor: Dejan Pangercic SIFT Matching Objects Android Camera Topic :

More information

WHITE PAPER. Methods for Measuring Flat Panel Display Defects and Mura as Correlated to Human Visual Perception

WHITE PAPER. Methods for Measuring Flat Panel Display Defects and Mura as Correlated to Human Visual Perception Methods for Measuring Flat Panel Display Defects and Mura as Correlated to Human Visual Perception Methods for Measuring Flat Panel Display Defects and Mura as Correlated to Human Visual Perception Abstract

More information

NCSS Statistical Software

NCSS Statistical Software Chapter 142 Introduction The pie chart is constructed by dividing a circle into two or more sections or slices. The chart is used to show the proportion that each part is of the whole. Hence, it should

More information

Fun with Pictures: Basic Editing

Fun with Pictures: Basic Editing 4a.1 4a Fun with Pictures: Basic Editing With film photography, most people s creative involvement with their photos stops with clicking the shutter. With digital photography, the equivalent moment to

More information

Introduction Feature Estimation Keypoint Detection Keypoints + Features. PCL :: Features. Michael Dixon and Radu B. Rusu

Introduction Feature Estimation Keypoint Detection Keypoints + Features. PCL :: Features. Michael Dixon and Radu B. Rusu PCL :: Features Michael Dixon and Radu B. Rusu July 1, 2011 Outline 1. Introduction 2. Feature Estimation 3. Keypoint Detection 4. Keypoints + Features Outline 1. Introduction 2. Feature Estimation 3.

More information

Face Detection Using Color Thresholding, and Eigenimage Template Matching Diedrick Marius, Sumita Pennathur, and Klint Rose

Face Detection Using Color Thresholding, and Eigenimage Template Matching Diedrick Marius, Sumita Pennathur, and Klint Rose Face Detection Using Color Thresholding, and Eigenimage Template Matching Diedrick Marius, Sumita Pennathur, and Klint Rose 1. Introduction The goal of this project is to take a color digital image with

More information

Shear and Bending Moment

Shear and Bending Moment Problem: For the loaded beam shown below, develop the corresponding shear force and bending moment diagrams. The beam is in equilibrium. For this problem L= 10 in. Overview Anticipated time to complete

More information

Part-Based Recognition

Part-Based Recognition Part-Based Recognition Benedict Brown CS597D, Fall 2003 Princeton University CS 597D, Part-Based Recognition p. 1/32 Introduction Many objects are made up of parts It s presumably easier to identify simple

More information

LOCAL SURFACE PATCH BASED TIME ATTENDANCE SYSTEM USING FACE. indhubatchvsa@gmail.com

LOCAL SURFACE PATCH BASED TIME ATTENDANCE SYSTEM USING FACE. indhubatchvsa@gmail.com LOCAL SURFACE PATCH BASED TIME ATTENDANCE SYSTEM USING FACE 1 S.Manikandan, 2 S.Abirami, 2 R.Indumathi, 2 R.Nandhini, 2 T.Nanthini 1 Assistant Professor, VSA group of institution, Salem. 2 BE(ECE), VSA

More information

Vision based distance measurement system using single laser pointer design for underwater vehicle

Vision based distance measurement system using single laser pointer design for underwater vehicle Indian Journal of Marine Sciences Vol. 38(3), September 2009, pp. 324-331 Vision based distance measurement system using single laser pointer design for underwater vehicle Muljowidodo K 1, Mochammad A

More information

Image Processing with Scilab and Image Processing Design Toolbox

Image Processing with Scilab and Image Processing Design Toolbox Image Processing with Scilab and Image Processing Design Toolbox Copyright by Dr. Eng. (J) Harald Galda, 2011 Contents 1 Introduction...4 2 Characteristic Properties of Images...5 3 Basic Operations on

More information

3D Pipeline Segmentation (planar)

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.

More information

CS 325 Introduction to Computer Graphics

CS 325 Introduction to Computer Graphics CS 325 Introduction to Computer Graphics 01 / 29 / 2014 Instructor: Michael Eckmann Today s Topics Comments/Questions? Bresenham-Line drawing algorithm Midpoint-circle drawing algorithm Ellipse drawing

More information

Fast field survey with a smartphone

Fast field survey with a smartphone Fast field survey with a smartphone A. Masiero F. Fissore, F. Pirotti, A. Guarnieri, A. Vettore CIRGEO Interdept. Research Center of Geomatics University of Padova Italy cirgeo@unipd.it 1 Mobile Mapping

More information

Galaxy Morphological Classification

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,

More information

Perfection V19/V39 User's Guide

Perfection V19/V39 User's Guide Perfection V19/V39 User's Guide Contents Perfection V19/V39 User's Guide... 7 Scanner Basics... 8 Scanner Parts... 8 Scanner Buttons and Lights... 11 Using the Scanner Stand... 11 Placing Originals on

More information

Correcting Projector Distortions on Planar Screens via Homography

Correcting Projector Distortions on Planar Screens via Homography Correcting Projector Distortions on Planar Screens via Homography Method and Setup Proposal for Correcting Distorted Projected Images on Planar Screens Under Difficult Conditions Daniel Hirt Introduction

More information