# Title and Due Date Lazy Snapping: Optimizations and Extensions – Due February 23, 2006 # Problem Statement The current implementation of Lazy Snapping has severe bottlenecks which prevent it from being a truly real-time and interactive method for performing image cutout. Several parts of the system need to be optimized or implemented differently. Lazy Snapping also lacks some features which would improve usability, specifically editable cutout borders. Finally, Lazy Snapping has room for improvement in terms of speed, accuracy, and interface. We need to fine tune variables such as minimum segment sizes and edge weights in order to assure the best results and may be able to eliminate the need for user interaction by incorporating saliency into the algorithm. # Methods The segmentation of the image can be improved by replacing the mean shift algorithm with the Watershed algorithm. The accuracy of Lazy Snapping can be improved by allowing users to edit the cutout border before performing foreground and background separation. This can be implemented with a similar method as that described in the second half of the Lazy Snapping paper. It may be possible to speed up the performance of Lazy Snapping by pushing some work onto the GPU. The plausibility and necessity of this are unexplored, but can be kept in mind as the project continues. Saliency may be a suitable replacement for user identification of foreground and background areas of an image. Segments with high saliency would be automatically considered foreground and those with low saliency would be considered background. We are unsure as to what the results of such a system would be, but feel that saliency should allow us to either remove user interaction all together or at least prove a useful addition to the algorithm when used in conjunction with image marking. # Plan Milestone 1: Replace mean-shift image segmentation with the Watershed algorithm. Milestone 2: Optimize Lazy Snapping by improving clustering and graph cut. Milestone 3: Add Lazy Snapping to the existing image library. This may include some restructuring or improvement of the image library. Milestone 4: Improve the Lazy Snapping UI by implementing an editable cutout border which allows users to fine tune the results. Milestone 5: Research the effects of using saliency for seed values. # Evaluation Criterion Lazy Snapping should be able to operate at interactive speeds. Users should be able to load an image, easily separate foreground and background, quickly receive feedback on the results of the algorithm, and edit those results until they obtain a satisfactory and accurate result. Our results should be similar in quality to those present in the Lazy Snapping paper. Lazy Snapping should be integrated into the image library in a modular and easy to use fashion. Each part of the algorithm should be a separate implementation which could be used on any image for any purpose. (i.e. Separate image segmentation, clustering, graph cut, etc.) The results of our research questions, including saliency and the difference between max-flow and shortest path graph cuts, should be answered with measurable counts of speed and quality. # Deliverables A stand alone Lazy Snapping application which allows for easy image cutout. This should give the user control over how the image cutout is performed and allow them to edit results to their liking. The implementations of image segmentation, color clustering, graph cut, and lazy snapping with good documentation and easy to re-use code. These will be combined with the image library for future use. # Readings I have already read... 1)Lazy Snapping 2)Interactive Graph Cuts for Optimal Boundary and Region 3)Watershed Segmentation in Digital Image Processing I will read... 1)More material on Watershed image segmentation 2)Papers on image saliency 3)The current Lazy Snapping code 4)The ITImage library 5)Looking for suggestions... # Risks Many of our goals have arbitrary time constraints as they focus on optimization and speedup. This could lead to work taking longer than projected or needed and result in pushing many goals to the end of the project time line. If we want to avoid a crunch at the end of 5 weeks, we will need to stay focused on our long term goals and ensure we don't get caught up in early optimizations. # Motivation Image cutout is a complex problem which has been solved with some success, but still contains much room for improvement. A fast and accurate method to perform image cutout would be useful not only for image editing applications, but also in other image processing work. If saliency proves a useful method for performing image cutout without user interaction, many other applications could benefit.