ShadowDraw Real-Time User Guidance for Freehand Drawing. Harshal Priyadarshi

Similar documents
Feature descriptors. Alain Pagani Prof. Didier Stricker. Computer Vision: Object and People Tracking

SIFT - scale-invariant feature transform Konrad Schindler

Image Matching. AKA: Image registration, the correspondence problem, Tracking,

Edge detection. Winter in Kraków photographed by Marcin Ryczek

convolution shift invariant linear system Fourier Transform Aliasing and sampling scale representation edge detection corner detection

SIFT: SCALE INVARIANT FEATURE TRANSFORM SURF: SPEEDED UP ROBUST FEATURES BASHAR ALSADIK EOS DEPT. TOPMAP M13 3D GEOINFORMATION FROM IMAGES 2014

Local Features: Detection, Description & Matching

2D Image Processing Feature Descriptors

Edge and Texture. CS 554 Computer Vision Pinar Duygulu Bilkent University

Edge detection. Winter in Kraków photographed by Marcin Ryczek

What is an edge? Paint. Depth discontinuity. Material change. Texture boundary

Object Category Detection. Slides mostly from Derek Hoiem

Digital Image Processing. Image Enhancement - Filtering

HISTOGRAMS OF ORIENTATIO N GRADIENTS

CS 4495 Computer Vision A. Bobick. CS 4495 Computer Vision. Features 2 SIFT descriptor. Aaron Bobick School of Interactive Computing

3 October, 2013 MVA ENS Cachan. Lecture 2: Logistic regression & intro to MIL Iasonas Kokkinos

Anno accademico 2006/2007. Davide Migliore

Edge detection. Goal: Identify sudden. an image. Ideal: artist s line drawing. object-level knowledge)

CS5670: Computer Vision

SURF. Lecture6: SURF and HOG. Integral Image. Feature Evaluation with Integral Image

CS4670: Computer Vision

Edge Detection CSC 767

Feature Matching and Robust Fitting

Feature Descriptors. CS 510 Lecture #21 April 29 th, 2013

EN1610 Image Understanding Lab # 3: Edges

Other Linear Filters CS 211A

Feature descriptors and matching

AK Computer Vision Feature Point Detectors and Descriptors

The SIFT (Scale Invariant Feature

Classification and Detection in Images. D.A. Forsyth

Part-based and local feature models for generic object recognition

SCALE INVARIANT FEATURE TRANSFORM (SIFT)

Local Features Tutorial: Nov. 8, 04

Local Image Features

Lecture 9: Hough Transform and Thresholding base Segmentation

BSB663 Image Processing Pinar Duygulu. Slides are adapted from Selim Aksoy

Category vs. instance recognition

Prof. Feng Liu. Winter /15/2019

Outline 7/2/201011/6/

Recognition of Animal Skin Texture Attributes in the Wild. Amey Dharwadker (aap2174) Kai Zhang (kz2213)

Object Category Detection: Sliding Windows

CAP 5415 Computer Vision Fall 2012

EECS490: Digital Image Processing. Lecture #19

Tracking Computer Vision Spring 2018, Lecture 24

Lecture 4.1 Feature descriptors. Trym Vegard Haavardsholm

TA Section 7 Problem Set 3. SIFT (Lowe 2004) Shape Context (Belongie et al. 2002) Voxel Coloring (Seitz and Dyer 1999)

Human detection using histogram of oriented gradients. Srikumar Ramalingam School of Computing University of Utah

Colorado School of Mines. Computer Vision. Professor William Hoff Dept of Electrical Engineering &Computer Science.

Introduction. Introduction. Related Research. SIFT method. SIFT method. Distinctive Image Features from Scale-Invariant. Scale.

Templates and Background Subtraction. Prof. D. Stricker Doz. G. Bleser

CEE598 - Visual Sensing for Civil Infrastructure Eng. & Mgmt.

Edge Detection. Announcements. Edge detection. Origin of Edges. Mailing list: you should have received messages

Digital Image Processing COSC 6380/4393

Deformable Part Models

Discriminative classifiers for image recognition

EE368 Project Report CD Cover Recognition Using Modified SIFT Algorithm

CS231A Section 6: Problem Set 3

Boundaries and Sketches

CS 4495 Computer Vision. Linear Filtering 2: Templates, Edges. Aaron Bobick. School of Interactive Computing. Templates/Edges

Local Image Features

Obtaining Feature Correspondences

Classifying Images with Visual/Textual Cues. By Steven Kappes and Yan Cao

Edge Detection. Computer Vision Shiv Ram Dubey, IIIT Sri City

Previously. Part-based and local feature models for generic object recognition. Bag-of-words model 4/20/2011

Local features and image matching. Prof. Xin Yang HUST

Review of Filtering. Filtering in frequency domain

Edge detection. Gradient-based edge operators

Computer Vision for HCI. Topics of This Lecture

Lecture 6: Edge Detection

Edge and corner detection

Automatic Colorization of Grayscale Images

Lecture 10 Detectors and descriptors

Advanced Video Content Analysis and Video Compression (5LSH0), Module 4

A Survey on Face-Sketch Matching Techniques

Recognition. Topics that we will try to cover:

Local invariant features

Image Processing

Edge Detection. Today s reading. Cipolla & Gee on edge detection (available online) From Sandlot Science

Image gradients and edges

Bias-Variance Trade-off (cont d) + Image Representations

Patch Descriptors. CSE 455 Linda Shapiro

Edges and Binary Image Analysis April 12 th, 2018

Learning video saliency from human gaze using candidate selection

Previously. Edge detection. Today. Thresholding. Gradients -> edges 2/1/2011. Edges and Binary Image Analysis

Segmentation and Grouping

EECS150 - Digital Design Lecture 14 FIFO 2 and SIFT. Recap and Outline

CS5670: Computer Vision

CPSC 425: Computer Vision

Topic 4 Image Segmentation

Practical Image and Video Processing Using MATLAB

Ulas Bagci

Evaluation and comparison of interest points/regions

CAP 6412 Advanced Computer Vision

Recap Image Classification with Bags of Local Features

Object Detection Design challenges

Solution: filter the image, then subsample F 1 F 2. subsample blur subsample. blur

Lecture 24: Image Retrieval: Part II. Visual Computing Systems CMU , Fall 2013

Midterm Examination CS 534: Computational Photography

Sherlock 7 Technical Resource. Search Geometric

Filters + linear algebra

Transcription:

ShadowDraw Real-Time User Guidance for Freehand Drawing Harshal Priyadarshi

Demo

Components of Shadow-Draw Inverted File Structure for indexing Database of images Corresponding Edge maps Query method Dynamically retrieves matching images Aligns them to evolving drawing Weighs them based on matching score, to form shadow UI Displays a shadow of weighted edge maps beneath the user s drawing

Database Creation Image Acquisition Edge Extraction Patch Description Min-hash Encoding

Image Acquisition 30k images spanning 40 categories obtained from internet Scaled to obtain 300 x 300 images Problems Handled: 1. Direct Sketch images are not abundant 2. Diverse Background Still has good edges you might want to draw 3. Photographer bias to rescue

Database Creation Image Acquisition Edge Extraction Patch Description Min-hash Encoding

Edge Extraction (Step 1) Compute the local edge magnitude (pm) and orientation (po)at each pixel using steerable filters Input Output

Edge Extraction (Step 2) Normalize the edge magnitude Need to detect long, coherent edges even when faint (i.e., not simply edges with strong magnitude) Input Output

Edge Extraction (Step 3) Message Passing for length estimation Input Output

See the difference

Canny Edge Detection (Non Max Suppression) Credits - Kristen Grauman (both images)

Database Creation Image Acquisition Edge Extraction Patch Description Min-hash Encoding

Patch Descriptors Low Dimensional BiCE descriptor Encodes a histogram of edge positions and orientations Done over overlapping 60 x 60 patches with 50 % overlap As mapping an edge image E to incomplete and evolving drawing. SIFT / Daisy vs BiCE Former relies on relative strength of edge magnitudes to provide discriminability Thus reduced performance compared to BiCE on our task, where edge strengths are not important.

BiCE descriptor (Steps) 1. Local Normalization of image patch gradients Remove variation in relative gradient magnitudes 2. Binning of normalized gradients using position, orientation, and local linear length of image 3. Binarization of normalized gradient histogram Encodes the presence of edges Presence / absence of Edge is preserved across matching patches, There magnitude might not.

Step 1 Normalized Gradient (g_cap) Original Gradient (g)

Initial Binning w.r.t. just position and orientation. Step 2 Orientation aligned binning Robustness to orientation changes

Increasing Discriminability Long Coherent Edges vs Shorter Textured Edges Calculate Edge Length Discretization into 2 bins by weight based normalized gradient splitting Alpha, beta à Tunable thresholding params With gaussian Blur along x,y, theta dimension WHY??

Step 3 (Subsampling and Binarization) Subsample to discrete set of values for x, y, theta and length Value = 1 (top T percent of bins with highest frequency) Value = 0 (rest) Flatten to get the BiCE desciptor

Database Creation Image Acquisition Edge Extraction Patch Description Min-hash Encoding

Retrieval and Clustering Efficiency Reduce dimension à Improve Clustering à Improve Retrieval Preserves Maximum Jaccard Similarity

Minhashing (I apologize for my terrible animation) What are these vectors? Index Vector A Vector B 1 1 0 2 1 0 3 0 1 4 0 0 5 1 0 6 0 0 H(Index) 4 6 1 5 3 2 Index Vector A Vector B 1 5 3

Sketches (n, k) and Inverted Indexing To increase precision Index Vector A Vector B 1 5 3 2 2 1 3 1 1 4 4 6 5 3 2 6 1 6 K hash functions To increase recall Index Vector A Vector B 1 Index5 Vector 3 A Vector B 2 1 2Index 5 1Vector 3 A Vector B 3 2 2 1 1 1 Index 5 Vector 3A Vector B 4 3 42 6 1 1 2 1 Index 5 Vector 3 A Vector B 5 4 4 2 6 3 2 1 6 5 1 3 1 2 6 2 5 1 3 4 3 4 1 6 1 6 1 2 6 2 1 5 4 3 4 2 6 3 1 1 6 5 1 3 6 2 4 4 6 6 1 6 5 3 2 6 1 6 N sets of K hash functions

Components of Shadow-Draw Inverted File Structure for indexing Database of images Corresponding Edge maps Query method Dynamically retrieves matching images Aligns them to evolving drawing Weighs them based on matching score, to form shadow UI Displays a shadow of weighted edge maps beneath the user s drawing

Query Steps Dynamically Retrieving Matching Images Aligning Matching Images to Drawn Sketch Shadow Creation by Weighting

Image Matching Obtain Candidate Matches Align Candidate Matches with the partially drawn sketch Assign weight to each candidate s edge image Construct Shadow Image

Candidate Match Finding Resultant Candidate Format (Image Id, patch offset-x direction, patch offset-y direction) BiCE sketch descriptor for each patch Top 100 images and corresponding offset for the highly voted offset Note: Not 100 best patches Edge Image of Sketch Vote count for patch for each candidate image X offset of the candidate patch from the user sketch patch

Query Steps Dynamically Retrieving Matching Images Aligning Matching Images to Drawn Sketch Shadow Creation by Weighting

Aligning Candidate Matches

Query Steps Dynamically Retrieving Matching Images Aligning Matching Images to Drawn Sketch Shadow Creation by Weighting

Image Weighting Weight Image

Shadow Image Construction Blending Weight Image Shadow Image Edge Candidate Image Global matching term Spatially varying match term 3 variables: Global matching term (v) Spatially varying matching term (V) Visibility Enhancer (alpha) Visibility Enhancer Normalization Term

Image not oriented, the edges it captures are oriented Obtaining Global Matching Term (V) User Sketch (8 orientations) Candidate Image (8 orientations) Positive Correlation Negative Correlation

Global Matching Spatial Matching Average of 5 highest h i from the candidate set Gaussian Blur on the positive correlation image

Visibility Enhancer (alpha) Why is it a visibility enhancer?

Experimental Findings Robustness to????

Poor vs Average vs Good WHY?? WHY??

Complexity

Strengths Can help drawing structurally complex objects Helps preserve the unique style of the users Is a real-time algorithm Weaknesses Leads to good shadows only if the initial user sketch is not all over the place. Otherwise might confuse the user. A tussle between guidance and freedom. Sketching flow bias The way we start drawing the sketch might affect the shadow retrieved, and thus lead to confusion initially, if the user is not very certain of each detail.

References Original Paper http://vision.cs.utexas.edu/projects/shadowdraw/shadowdrawsiggraph11.pd f Supporting Papers Long Edge Detector http://grail.cs.washington.edu/projects/gradientshop/demos/gs_paper_tog_2009.pdf BiCE descriptor http://larryzitnick.org/publication/bice_eccv10.pdf

Thank You