CS6825: Computer Vision word cloud

Outline

ALERT: topics from this list may be removed or changed and new topics addedA
NOTE:    IP = "Android OpenCV" book (see syllabus)
                MV = "Machine Vision" book
               
 CV = "Computer Vision: A modern approach" book

NOTE: following is recommended (not required) reading
                CVA = "Computer Vision and Applications: A Guide for Students and Practitioners" book

NOTE: CVPR 2011 selected online papers http://www.cvpapers.com/cvpr2011.html (can get more recent CVPR directly on ACM index of our library.csueastbay.edu site)

 


Week
Module
Assignment/ 
Project
Materials

1

1

Introduction to Class, Overview of Imaging Applications

Reading

  • MV- Chapter 1

Class Lecture, Materials

1

2
Our Visual System

 

Reading

  • CV-chapter 1, cameras (local copy),
  • (recommended/ not required CVA-p.g. 12-15)

Class Lecture, Materials

 

1

3
Creating Images

 

Reading

  • MV- chapter 25

Class Lecture, Materials

1

4
Image/Video Formats

 

Reading

  • OPTIONAL Video: Chapter 2 of "Practical Image Processing in C" by C. Lindley
  • OPTIONAL Image Formats: p.g. 185-187,214-240 of "Practical Image Processing in C" by C. Lindley

Class Lecture, Materials

1

Begining Android   Lecture: Module A1 (see below)
Exercise: Exercise A1 (see below
)

2

5
Simple Image Operations

Reading 

  • MV- Chapter 2

Class Lecture, Materials

2

6
Software

 

Class Lecture, Materials

2

7
Probability

 

Reading

Class Lecture, Materials

2

8
Histograms, Equalizaton

 

Reading

  • MV- Chapter 4 (thresholding)

Class Lecture, Materials

2

More Begining Android  

Lecture: Module A4 (see below)
ASSIGN: Exercise A2

READ: IP -chapter 1 and chapter 2 (only creating our application)

Recommended : on Safari index on library.csueastbay.edu read chapter 2 of "OpenCV Android Programming By Example", by A. Mohammad - covers histograms and histogram equalization

3

9
Color

Fun:driverless car talk

Reading

Class Lecture, Materials

3

10
Geometric Relationships:
Scaling/Sizing, Rotation, Mirror Images

 

Reading

Class Lecture, Materials

Week3

11
Area Processing: edges and filters

 

Reading

  • CV-chapter 8, linearfilters (local copy)
  • CV-chapter 9, edgedetection (local copy)
  • MV- Chapter 3,5
  • OPTIONAL CVA-section 9.7 (edge)

Class Lecture, Materials

3

OpenCV & Android   Reading: IP - Chapter 2 - Edge detection in OpenCV with Android
Lecture:
Module A2,A3 if not yet covered
Exercise: A3 (see below)

4

12
Image Noise and intro to the frequency domain

 

Reading

  • CV-chapter 8, chapter 10, nonlinearfilts (local copy),
  • MV- see part of Chapter 2
  • (recommend/ not required Fourier Transform: CVA:section 8.6-8.7 )

Class Lecture, Materials

4

13
Some fun- Morphing

** you will NOT be assessed on this subject

 

Class Lecture, Materials

4

14
Binary Image processing

 

Reading

  • MV: chapter 7,9
  • (recommended/not required Binary Image Processing: Morphology, Thinning, Component Features: p.g. 25-38, 40,47, 55-70 of "Machine Vision" by Jain, Kasturi, Schunck. )

Class Lecture, Materials

4

Discuss Project 3

  • Discuss Project 3

5

15
Features and Texture

Reading

Class Lecture, Materials

5

More On Project 3

Reading

  • Exploring Kinect and Android on Own

Class Lecture, Materials

  • Discuss Ideas, Finalize Poject Choice

5

Features: OpenCV & Android  

Reading: IP - Chapter 2 (read all of the rest) including Hough&Contours,etc., Chapter 3: SIFT & more

Recommended : on Safari index on library.csueastbay.edu read chapter 3 of "OpenCV Android Programming By Example", by A. Mohammad - covers edges, shapes with Hough transform, AND chapter - covers corner detection and matching features

Week6

16
Segmentation and Fitting

 

Reading

  • CV-chapter 16, clustering (local copy)
  • Fitting: CV-chapter 17, fitting (local copy) (chapter 18 for those who are interested...not covered)
  • (recommended / not required p.g. 113-125, "A Guided Tour of Computer Vision" by Nalwa. )
  • IP: p.g. 42-44 (previously assigned - contours). See also OpenCV and contours

Class Lecture, Materials

6,7

17
Recognition

 

Reading

Class Lecture, Materials

Exercise: A4 (see below)

6

More On Project 3

LAB Work and At Home Work

6

Vision as Backend Process

 

Cloud and Vision

6

Machine Learning: OpenCV & Android  

Reading: IP - Chapter 3 Matching Featuers, Chapter 4 - Cascade filters(HOG), Chapter Chapter 7 :OCR with KNN, OCR with Support Vector Machines (SVM)
NOTE: there is an OCRTesseract class that does OCR relatively well that I recommend using if OCR is not a main topic you want to alter do research on. This chapter's reading is more about how to do KNN and SVM

Recommended : on Safari index on library.csueastbay.edu read chapter 6 of "OpenCV Android Programming By Example", by A. Mohammad - covers cascade classifier (using Haar-like featuers and adaptive boosting)

Week7

18
Data Structures in Vision

 

Reading - none

Class Lecture, Materials

7

19
Motion

 

Reading

  • Motion: MV- Chapter 19, (recommended/not required - p.g. 243-275 of "A Guided Tour of Computer Vision" by Nalwa.) ,
  • Tracking- an application of motion detection: CV-19.6 only, tracking (local copy),
  • Applications: CVA-p.g. 347-349 (applications)

Class Lecture, Materials

7

Machine Learning: OpenCV & Android   Reading: IP - Chapter 5 dealing with tracking and includes optical flow and global motion estimation

7

More On Project 3

LAB Work and At Home Work

Week8

20
Image Databases

 

Reading

  • Digital Libraries: CV-Chapter 25 , diglib (local copy )

Class Lecture, Materials

8

21
3D Imaging

 

Reading

  • Stereo vision: CV--chapter 12, (local copy), chapter 13 stereo (local copy),
  • 3D Imaging: CV- chapter 24 range (local copy), MV- Chapter 15, (recommended /not required CVA- Chapter 7)
  • advanced (not tested): Depth-from-Focus: CVA-section 11.3, Depth from motion with OpenCV (non android version)
  • other: (recommended/not required Chapter 13 p.g. 299-301, 316-322 of "Robot Vision" by Horn ;  CVA-section 11.1-11.2Chapter 11 of "Machine Vision" by Jain,et. al.)

Class Lecture, Materials

8

More On Project 3

LAB Work and At Home Work

Week9

22
Wavelets

 

Reading

Class Lecture, Materials

9

23
Compression

 

Reading

Class Lecture, Materials

9

24 Other topics - Remote Sensing, Robot Vision, Navigation, Surveillance, etc.

 

Reading

  • MV- previously assigned chapters 20-23

Class Lecture, Materials

*all A.1 Android

 

Android *****NOTE: Many of the links will take you to CS4521 website*****


NEW***Demo - overview of using Android Studio: MP4 Video OR as YouTube

Emulator and AVD Manager and Running on a Real Device

SDK Manager

Loading Existing APK, Pushing/Pulling Files

 

  • Exercise A1:(30 points) Install on your laptop the AndroidStudio IDE and Android SDKs, Download and run the Hello World code. Turn in to Blackboard->Exercises->Exercise A1 screen shots of running on BOTH emulator and a real Android Physical device DUE -before start of class Sept 28

 

Useful Apps / Tools (including important SCREEN RECORDER)

 

*all A.2 Android the Interface (Activity, Layout and Views)

:

Android

*all

A.3 Android and event handling and intents

 

Android

*all A.4 Android and the Camera and Compter Vision Apps  

YOUR APPS MUST use OpenCV in them

Android & making A Computer Vision App --the options

*** OPTIONS With and Without OpenCV ( --you must use OpenCV option)

 

Android & OpenCV apps <<< this is the option we are using

VIDEOS:

1) Discussion of OpenCV w/ Android setup and code MP4 YouTube
2) Demo OpenCVAndroid proj. Create from Scratch:MP4 YouTube
3) Demo - overview of using Android Studio: MP4 YouTube

**** please use AndroidStudio and NOT Eclipse as your IDE ******

SAMPLE ZIP FILE OF Android Studio Beginning OpenCV Application (uses Android SDK 23 and OpenCV 3.1.0)

Example Extended (adding a spinner and image processing) EXPLAINED

3rd party OpenCV videos: (some desktop not android examples)

Android & Camera without OpenCV --- not using this


Exercises

  • Exercise A2(30 points): Also follow these instructions to create a project with OpenCV on Android.. Turn in to Blackboard->Exercises->Exercise A2 screen shots of running on BOTH emulator and a real Android Physical device DUE -start of class Oct. 5

  • Exercise A3(30 points): Modify your A3 using extended sample code here AND by following instructions in Chapter 2 &3 of IP book and create app to do some image processing as shown in the chapters using OpenCV classes and methods and demo. Note instead of doing it on an image from a file do it inside the onCameraFrame method for every frame taken by the camera.. Turn in to Blackboard->Exercises->Exercise A3 screen shots of running on BOTH emulator and a real Android Physical device DUE - start of class Oct. 12 You must alter spinner in extended sample to contain choices of the following that like the extended sample code is done on LIVE VIDEO (no need to load from files as shown in book):
      • Threshold (already done),
      • Mean Blur (chapter 1),
      • Gaussian Blur (chapter 1)
      • Dialation (chapter 1)
      • Erosion (chapter 1)
      • Adaptive Thresholding(chapter 1)
      • Difference of Gaussian(chapter 2)
      • Canny Edge (chapter 2)
      • Sobel Edge (chapter 2)
      • Corner Detection (chapter 2)
      • Hough Line Transform (chapter 2) and OPTIONAL Safari book (OpenCV Android Programming By Example) read Chapter 3 (section detecting shapes)
  • Exercise A4 (60 points): Choose one of the following depending on which you choose for your Project 3 - either Google Vision API or Tensorflow. You work on this withyour project 3 groupDue Nov. 14. Get the code to work and demo it it in a YouTube Video and upload this URL to BB->Exerxices->A4
    • GOOGLE VISION OPTION -In small groups, search and find off google an android application that uses Google TensorFlow (you will need to download code for this --see lecture materials on TensorFlow) and uses a PRE-EXISTING trainned CNN. Get the code to work and demo it either in person/office hours or if instructor chooses in a YouTube Video. Note -I have given you this code (see recognition module on the outline)
    • TENSORFLOW OPTION - In small groups, follow instructions here on some NEW CODE ***** I created for you for an Android OpenCV Based application --see video inside to see it working
      • after the TensorFLow Detectors class code that reads
        detector.recognizeImage() immediate write some code that takes the Image Mat and processes it to do edge detection
      • then you should continue on with drawing of the recognition results but, now on top of the edge image.
*all A.4EXTENDED Android and Git  

Demo - Git and Android Studio

 

ASSESSMENTS:

  • Assessment and Project Presentations.
 
  • See class Announcement about any materials allowed.
REST OF MATERIAL WILL MOST LIKELY NOT BE COVERED BUT HERE FOR YOUR INTEREST

WeekO1

Speech

 

Class Lecture, Materials

O2

Fuzzy Image Processing

 

Reading

  • CVA-Chapter 16

O3

23 Camera Calibration

 

Reading

  • CV-section 6.3-6.4, analytical (local copy) ,
  • CVA- Chapter 6

O4

HTML basics

 

Class Lecture, Materials

*all K.1 Kinect

 

Kinect

"Practical Image Processing in C" by C. Lindley Image Formats on reserve at the library.
© Lynne Grewe