Project 1 Q&A. Jonathan Krause

Similar documents
Generative models and adversarial training

CS Machine Learning

Lecture 1: Machine Learning Basics

Circuit Simulators: A Revolutionary E-Learning Platform

Quantitative analysis with statistics (and ponies) (Some slides, pony-based examples from Blase Ur)

Getting Started with Deliberate Practice

12- A whirlwind tour of statistics

Modeling function word errors in DNN-HMM based LVCSR systems

EVERYTHING DiSC WORKPLACE LEADER S GUIDE

Python Machine Learning

Custom Program Title. Leader s Guide. Understanding Other Styles. Discovering Your DiSC Style. Building More Effective Relationships

Machine Learning and Data Mining. Ensembles of Learners. Prof. Alexander Ihler

Learning Methods in Multilingual Speech Recognition

OCR for Arabic using SIFT Descriptors With Online Failure Prediction

Course Content Concepts

University of Waterloo School of Accountancy. AFM 102: Introductory Management Accounting. Fall Term 2004: Section 4

CS Course Missive

Houghton Mifflin Online Assessment System Walkthrough Guide

Truth Inference in Crowdsourcing: Is the Problem Solved?

(Sub)Gradient Descent

A Neural Network GUI Tested on Text-To-Phoneme Mapping

Probabilistic Latent Semantic Analysis

ADVANCED MACHINE LEARNING WITH PYTHON BY JOHN HEARTY DOWNLOAD EBOOK : ADVANCED MACHINE LEARNING WITH PYTHON BY JOHN HEARTY PDF

Data Structures and Algorithms

CS 100: Principles of Computing

Modeling function word errors in DNN-HMM based LVCSR systems

On Human Computer Interaction, HCI. Dr. Saif al Zahir Electrical and Computer Engineering Department UBC

TU-E2090 Research Assignment in Operations Management and Services

A Simple VQA Model with a Few Tricks and Image Features from Bottom-up Attention

CSC200: Lecture 4. Allan Borodin

While you are waiting... socrative.com, room number SIMLANG2016

Analysis of Emotion Recognition System through Speech Signal Using KNN & GMM Classifier

Notetaking Directions

DegreeWorks Advisor Reference Guide

Creating Your Term Schedule

Comment-based Multi-View Clustering of Web 2.0 Items

CS4491/CS 7265 BIG DATA ANALYTICS INTRODUCTION TO THE COURSE. Mingon Kang, PhD Computer Science, Kennesaw State University

Chinese Language Parsing with Maximum-Entropy-Inspired Parser

Probability and Statistics Curriculum Pacing Guide

Evolutive Neural Net Fuzzy Filtering: Basic Description

Statewide Framework Document for:

Essentials of Ability Testing. Joni Lakin Assistant Professor Educational Foundations, Leadership, and Technology

MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question.

PREP S SPEAKER LISTENER TECHNIQUE COACHING MANUAL

DOCTORAL SCHOOL TRAINING AND DEVELOPMENT PROGRAMME

CS177 Python Programming

Introduction to Causal Inference. Problem Set 1. Required Problems

Introduction to Ensemble Learning Featuring Successes in the Netflix Prize Competition

Exploration. CS : Deep Reinforcement Learning Sergey Levine

Major Milestones, Team Activities, and Individual Deliverables

Module 12. Machine Learning. Version 2 CSE IIT, Kharagpur

Learning Methods for Fuzzy Systems

INTERMEDIATE ALGEBRA Course Syllabus

OVERVIEW OF CURRICULUM-BASED MEASUREMENT AS A GENERAL OUTCOME MEASURE

What to Do When Conflict Happens

MTH 215: Introduction to Linear Algebra

A study of speaker adaptation for DNN-based speech synthesis

Parcel. Low-fi Prototyping & Pilot Usability Testing. Management & Documentation. Development & Digital Prototyping

Chapter 10 APPLYING TOPIC MODELING TO FORENSIC DATA. 1. Introduction. Alta de Waal, Jacobus Venter and Etienne Barnard

MADERA SCIENCE FAIR 2013 Grades 4 th 6 th Project due date: Tuesday, April 9, 8:15 am Parent Night: Tuesday, April 16, 6:00 8:00 pm

Assignment 1: Predicting Amazon Review Ratings

The Evolution of Random Phenomena

Speech Emotion Recognition Using Support Vector Machine

Individual Differences & Item Effects: How to test them, & how to test them well

Application of Virtual Instruments (VIs) for an enhanced learning environment

Orange Coast College Spanish 180 T, Th Syllabus. Instructor: Jeff Brown

arxiv: v1 [cs.cl] 2 Apr 2017

Telekooperation Seminar

How To Enroll using the Stout Mobile App

Objectives. Chapter 2: The Representation of Knowledge. Expert Systems: Principles and Programming, Fourth Edition

The Consistent Positive Direction Pinnacle Certification Course

Experience College- and Career-Ready Assessment User Guide

Degree Qualification Profiles Intellectual Skills

Nutrition 10 Contemporary Nutrition WINTER 2016

Guidelines for Project I Delivery and Assessment Department of Industrial and Mechanical Engineering Lebanese American University

Communities in Networks. Peter J. Mucha, UNC Chapel Hill

AP Statistics Summer Assignment 17-18

PM tutor. Estimate Activity Durations Part 2. Presented by Dipo Tepede, PMP, SSBB, MBA. Empowering Excellence. Powered by POeT Solvers Limited

Design Of An Automatic Speaker Recognition System Using MFCC, Vector Quantization And LBG Algorithm

Lecturing in the Preclinical Curriculum A GUIDE FOR FACULTY LECTURERS

An Introduction to Simio for Beginners

Model Ensemble for Click Prediction in Bing Search Ads

System Implementation for SemEval-2017 Task 4 Subtask A Based on Interpolated Deep Neural Networks

Test Effort Estimation Using Neural Network

Value Creation Through! Integration Workshop! Value Stream Analysis and Mapping for PD! January 31, 2002!

CAN PICTORIAL REPRESENTATIONS SUPPORT PROPORTIONAL REASONING? THE CASE OF A MIXING PAINT PROBLEM

Lucy Calkins Units of Study 3-5 Heinemann Books Support Document. Designed to support the implementation of the Lucy Calkins Curriculum

Assessment System for M.S. in Health Professions Education (rev. 4/2011)

CS 446: Machine Learning

Ruggiero, V. R. (2015). The art of thinking: A guide to critical and creative thought (11th ed.). New York, NY: Longman.

The Writing Process. The Academic Support Centre // September 2015

Learning Optimal Dialogue Strategies: A Case Study of a Spoken Dialogue Agent for

Pair Programming. Spring 2015

OPTIMIZATINON OF TRAINING SETS FOR HEBBIAN-LEARNING- BASED CLASSIFIERS

Rover Races Grades: 3-5 Prep Time: ~45 Minutes Lesson Time: ~105 minutes

MINUTE TO WIN IT: NAMING THE PRESIDENTS OF THE UNITED STATES

Lecture 15: Test Procedure in Engineering Design

Thesis-Proposal Outline/Template

Testing A Moving Target: How Do We Test Machine Learning Systems? Peter Varhol Technology Strategy Research, USA

Software Maintenance

Transcription:

Project 1 Q&A Jonathan Krause Lecture 3-1

Outline GrabCut Review Error metrics Code Overview Project 1 Report Project 1 Presentations Lecture 3-2

Outline GrabCut Review Error metrics Code Overview Project 1 Report Project 1 Presentations Lecture 3-3

GrabCut some of this is foreground Input definitely background Output Lecture 3-4

The GrabCut Model Energy Minimization: : in {0,1}, foreground/background label for each pixel : GMM component for each pixel : GMM parameters : vector of pixels Lecture 3-5

Unary Terms -log(prob) of background GMM -log(prob) of foreground GMM Note: Only use a single GMM component Lecture 3-6

Pairwise Terms : a magic constant set to 50 : chosen heuristically based on average color difference : set of all (pixel,pixel) neighboring pixels Lecture 3-7

Optimization Foreground GMM from pixels in bounding box Background GMM from pixels outside bounding box Lecture 3-8

Optimization Set GMM components for each pixel Trick: initialize components with K-means K-means uses hard labels Saves initial GMM setting Don t need to do 1. in first iteration Lecture 3-9

Optimization Learn GMM parameters Components set, no EM needed Lecture 3-10

Optimization Optimize foreground/background labeling with min cut Submodular pairwise terms, exact Only need to optimize over pixels in bounding box. Trick: Just set large unary terms for pixels outside bounding box Lecture 3-11

Optimization Repeat until segmentation doesn t change or hit iteration limit Lecture 3-12

Optimization Optional for this project Lecture 3-13

Energy Minimization Our Energy function How can we optimize this with Min Cut? Lecture 3-14

Convert to Min Cut Key Idea: Convert energy function into graph Each pixel becomes a node Add a foreground and background node Unary terms -> weighted edges between foreground/ background nodes and pixel nodes Pairwise terms -> edges between pixels nodes Energy of foreground/background labeling = cost of cut Lecture 3-15

GrabCut Questions? Lecture 3-16

Outline GrabCut Review Error metrics Code Overview Project 1 Report Project 1 Presentations Lecture 3-17

Measuring Segmentation Need a way to quantify that this: is better than this: Lecture 3-18

Metric 1: Accuracy : estimated foreground/background label : ground truth foreground/background label Lecture 3-19

Problem with accuracy Want to segment: This has accuracy 66.7%: This has accuracy 74.4%: Lecture 3-20

Metric 2: Jaccard Similarity : estimated foreground/background label : ground truth foreground/background label Intersection over union of GT and predicted foreground Lecture 3-21

Accuracy vs Jaccard Accuracy Jaccard. similarity 66.7% 43.5 74.4% 0 Lecture 3-22

Outline GrabCut Review Error metrics Code Overview Project 1 Report Project 1 Presentations Lecture 3-23

What We Provide grabcut.m: Loads an image, gets bounding box coordinates from user click. data_gt.zip: The images seg_gt.zip: Segmentations bboxes.zip: (somewhat loose) bounding boxes for each image. (x1 y1 x2 y2) Lecture 3-24

BK_matlab A simple Matlab Min Cut wrapper Relevant Functions: h = BK_Create(num_nodes, num_edges) h is a handle to the graph BK_SetUnary(h, [source_weights; sink_weights]) BK_SetPairwise(h, edge_weights) BK_Minimize(h) Actually do Min Cut labels = BK_GetLabeling(h) Read out binary labels BK_Delete(h) Delete the graph/free memory Lecture 3-25

Code Subtleties If Matlab, use matrix operations where possible Going to be way too slow otherwise Handle empty clusters for GMMs and k-means Singular covariance matrices Add e.g. 1e-8 * identity Do log probabilities analytically i.e. don t compute the probability and take the log Lecture 3-26

What You Need To Do 1. Implement GrabCut 1. Initialization 2. Assigning GMM components 3. Fitting GMMs 4. Setting up energy minimization + calling graph cut procedure 5. Iterate 2. Measure performance with provided bounding boxes (accuracy and Jaccard similarity) Our baseline GrabCut has average accuracy=94.5%, Jaccard=82.4, 17 sec/image. Should be able to get approximately that (maybe slower). Lecture 3-27

What You Need To Do Q: Do I have to use the Matlab starter code? A: No! But ask the TAs if you want to use another language (Python is ok) Q: Do I need to turn in my code? A: Yes. There should be a script we can call that ll e.g. run your method on an image without any/much modification. Lecture 3-28

Outline GrabCut Review Error metrics Code Overview Project 1 Report Project 1 Presentations Lecture 3-29

Project 1 Report Write-up template provided on website (link) Use CVPR LaTeX template No more than 5 pages Rough sections: 1. Overview of the field (i.e. image segmentation) 2. The algorithm (how GrabCut works) 3. Any changes/extensions made 4. Code README 5. Results Lecture 3-30

Project 1 Report Overview of the field What is the problem What is the general scope of methods we ve talked about in class Mini-summary of class papers Cite papers! Lecture 3-31

Project 1 Report The algorithm Your understanding of how GrabCut works Don t simply copy from the paper! Describe in a way e.g. you would have liked it to be presented, or in a way that makes the most sense to you Lecture 3-32

Project 1 Report Your algorithm Did you make any changes? Either simplifications or improvements Any details missing in the paper How did you resolve them? Any extensions (will be reflected in results) Lecture 3-33

Project 1 Report Code A README for your code What are the key files/functions? Where is the entry point? How can the TAs reproduce your results? Lecture 3-34

Project 1 Report Results Quantitative and qualitative results For project 1, need average accuracy and Jaccard similarity on all 30 images Also show 6 images (w/accuracy and Jaccard) 4 good examples, 2 bad examples Plots/numbers that demonstrate your extensions Lecture 3-35

Extensions Need at least one or two extensions (depending on scope) Go beyond the baseline GrabCut! Focus on insights! Plenty of possibilities Lecture 3-36

Possible Extensions Number of iterations of GrabCut Plot performance as function of number of iterations Number of GMM components Is more better? Soft labels for GMMs/do EM? How much does this affect speed and performance? Other ways to represent probabilities Histograms? Different mixture model? Lecture 3-37

Possible Extensions 4- or 8-pixel neighborhood Does 8 improve? How much more expensive is it? Choice of gamma Hard coded, or adapt per image? Alternative ways of setting beta? Can you come up with a better heuristic? Tight or loose bounding box How much does performance improve/degrade? Lecture 3-38

Possible Extensions Better ways of using bounding box e.g. Lempitsky et al. or your own! Different ways of representing pixels Other color space? Co-segmentation Something like Guillaumin et al. or your own Other segmentation signals Saliency? Center prior? Lecture 3-39

Outline GrabCut Review Error metrics Code Overview Project 1 Report Project 1 Presentations Lecture 3-40

Project 1 Presentations These happen the day before the report/ code is due. Every team should submit 4-5 slides to me (jkrause@cs) by 5 pm the day before (Sun Apr. 19) Reminder: Teams of 1 or 2 people If two people, make sure both present! Randomly pick ~10 teams to present. Lecture 3-41

Anatomy of a Presentation Things to include: Any extensions you made Subtleties/things you didn t expect A few sample results Any insights! Lecture 3-42

Grading 35%: Technical Approach and Code Is your code correct? Do anything cool? 35%: Experimental Evaluation Performance, insights, thorough evaluation 20%: Write-up Contains everything, formatted well, etc. Cite papers! 10%: Project Presentation Clarity, Content. Lecture 3-43

Submitting Submit via CourseWork One submission per team We ll use cheating-detection software Please don t make this an issue! Lecture 3-44

Piazza Should already be signed up for Piazza If not, sign up and join CS 231B Ask most questions there! Your question may already be answered there Helps other students Fast response time (better than waiting for office hours) Lecture 3-45

Late Days You have 7, split between the three projects any way you want But your project presentation itself still needs to be on time (in class). Late days only apply to write-up/code submission Lecture 3-46

Working in Groups You can work with up to one other person Shared code/report. We ll grade fairly regardless of team size Lecture 3-47

Important Dates April 19 (5 pm): Send presentations to jkrause@cs April 20 (in class): Presentations April 21 (5 pm): Reports due Lecture 3-48

Other Questions? Lecture 3-49