Week
|
Module
|
Assignment/
Project
|
Materials
|
1
|
1
Introduction to Class, Overview
of Imaging Applications |
|
Reading
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
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
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 |
|
|
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
- Model-Based: CV-chapter 20, csppose (local
copy)
- Statistical Classifiers: CV-21.0 to 21.3, classifiers (local
copy), MV-chapter 14, CVA-section 15.1-15.3 (not good),
- Neural Networks: CV-21.4, classifiers (local
copy)
- Tensorflow (using deep neural network):tensorflow.org, tutorial, tutorial 2, on mobile, setup on android, how to create your own android tensorflow model app
- Google Cloud Vision API & Google Cloud Machine Learning (related to tensorflow)
- Applications and more: MV- Chapter 20-23
- Generalized Hough Transform and template matching: MV- Chapter 13 (previously assigned)
- With OPENCV: IP-Chapter 3,4
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*****
- Beginning Android and How to create an Android Project
- LECTURE: Intro
- LECTURE: START Programming: (HOW to Create a Project in Android Studio)
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
- LECTURE: more ideas and review of Android Activity
|
*all |
A.3 Android and event handling and intents |
|
Android
- LECTURE: Android Interface
|
*all |
A.4 Android and the Camera and Compter Vision Apps |
|
YOUR APPS MUST use OpenCV in them
*** OPTIONS With and Without OpenCV ( --you must use OpenCV option)
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)
- 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
|
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
|