\documentstyle[12pt]{article}
\setlength{\textwidth}{9.75 in}
\setlength{\evensidemargin}{-0.4 in}
\setlength{\oddsidemargin}{-0.4  in}
\setlength{\textheight}{7.2 in}
\setlength{\topmargin}{-1.05 in}
\setlength{\arraycolsep}{9pt}
\renewcommand{\baselinestretch}{1.0}
\newcommand{\psfuh}    {/u/vision/fuh/document/}
\newcommand{\open}{\mbox{\Large $\circ$}}
\newcommand{\close}{\mbox{\Large $\bullet$}}
% \input{psfig}
\newcommand{\epsfig}[1]{\psfig{#1}}
\begin{document}
\bibliographystyle{plain}
\Huge

\begin{center}
Computer Vision (I)
\end{center}

\LARGE
\noindent
Course Number: 526 U1090 \\
Credits: 3 \\
Time: Tuesday 6, 7, 8 (2:10PM-5:00PM) \\
Classroom: New CSIE Classroom 309 \\
Classification: Elective for junior, senior, and graduate students \\
Prerequisite: None \\
Instructor: Chiou-Shann Fuh \\
Office: New Computer Science and Information Engineering 327 \\
Phone: 23625336 ext. 327, 23630231 ext. 3232 ext. 327 \\
Office Hours: Tuesday 9AM-11AM \\
Objective: To learn computer and robot vision through extensive  \\
  \hspace*{1in} course projects. 

\vspace{1cm}
\noindent
Textbook: R. M. Haralick and L. G. Shapiro, {\em Computer \\
\hspace*{1in} and Robot Vision,} Vol. I, Addison Wesley, Reading, MA, 1992. \\
Reference: L. G. Shapiro and G. C. Stockman, {\em Computer Vision,} \\
\hspace*{1in} Prentice-Hall, Upper Saddle River, NJ, 2001. \\
Reference: R. Jain, R. Kasturi, and B. G. Schunck, {\em Machine Vision,} \\
\hspace*{1in} McGraw-Hill, New York, 1995. \\
Reference: R. C. Gonzalez and R. E. Woods, {\em Digital \\
\hspace*{1in} Image Processing,} Addison Wesley, Reading, MA, 1992. \\
Reference: R. C. Gonzalez and R. E. Woods, {\em Digital Image \\
\hspace*{1in} Processing,} 2nd Ed., Prentice-Hall, Upper Saddle River, NJ, 2002. \\
Projects: will be assigned every week or every other week (30\%) \\
Examinations: one midterm (30\%) and one final (40\%)

\vspace{1cm}
\noindent
Content: \\
This is the first semester of a fast pace course which covers robot and computer
vision.
This semester covers low-level vision and mostly no reference to the third 
dimension: \\
1. Computer Vision: Overview \\
2. Binary Machine Vision: Thresholding and Segmentation\\
3. Binary Machine Vision: Region Analysis \\
4. Statistical Pattern Recognition \\
5. Mathematical Morphology \\
6. Neighborhood Operators \\
7. Conditioning and Labeling \\
8. The Facet Model \\
9. Texture \\
10. Image Segmentation \\
11. Arc Extraction and Segmentation 

\noindent
Next semester covers higher-level techniques.



\newpage
\Huge
\begin{center}
Chapter 1 Computer Vision: Overview
\end{center}

\LARGE
1.1 Introduction \\
computer vision is the science that develops the theoretical and algorithmic
basis by which useful information about the world can be automatically 
extracted and analyzed from an observed image, image set, or image sequence
from computations made by special-purpose or general-purpose computers. \\
computer vision: to emulate human vision with computers \\
computer vision: dual process of computer graphics: 2D $\rightarrow$ 3D

\vspace{1cm}
Information:
\begin{itemize}
\item recognition of a generic object \\
=====Nalwa, {\em A Guided Tour of Computer Vision,} Cover===== \\
=====Nalwa, {\em A Guided Tour of Computer Vision,} Fig. 2.4=====
\item three-dimensional description of an unknown object \\
=====Nalwa, {\em A Guided Tour of Computer Vision,} Fig. 6.9=====
\item position and orientation of the observed object \\
=====Nalwa, {\em A Guided Tour of Computer Vision,} Fig. 6.1===== \\
=====Nalwa, {\em A Guided Tour of Computer Vision,} Fig. 6.6=====
\item measurement of any spatial property of an object \\
=====Nalwa, {\em A Guided Tour of Computer Vision,} Fig. 5.1=====
\end{itemize}
=====Oldie 34:10=====

\vspace{1cm}
Applications:
\begin{itemize}
\item vision-guided robot assembly
\item inspection tasks: mensuration, verification that all parts are present,
      determination that surfaces have no defects
\item pattern recognition: geographic information system \\
      =====C. K. S. International Airport=====
\item alignment: printed circuit board drilling
\item measurement: length, area
\item stereo: 3-D reconstruction \\
=====Nalwa, {\em A Guided Tour of Computer Vision,} Fig. 7.9=====
\item motion and surface structure recovery \\
=====Nalwa, {\em A Guided Tour of Computer Vision,} Fig. 8.1=====
\item interpretation \\
=====Nalwa, {\em A Guided Tour of Computer Vision,} Fig. 10.1=====
\end{itemize}

\vspace{1cm}
\noindent
image: spatial representation of object, 2D or 3D scene, or another image  \\
intensity image: optic or photographic sensors, radiant energy \\
range image: line-of-sight distance \\
image $I(r,c)$: intensity value at row $r$ and column $c$ of the matrix \\
pixel: picture element: has properties of position and value \\
gray levels: pixel values of intensity images, \\
   \hspace*{1in} 0 (black) -- 255 (white) for 8-bit integers 

\vspace{1cm}
factors determining the difficulty of computer vision problem: 
\begin{itemize}
\item kind of object
\item way objects are lit
\item background
\item kind of imaging sensor
\item viewpoint of the sensor \\
      =====Fig. 1.2=====
\end{itemize}
(a) white (gray tone 255) square on black (gray tone 0) background \\
(b) corners from corner-feature extractor, N: noncorner, C: corner \\
=====Fig. 1.1=====

\vspace{1cm}
atomic image features:
\begin{itemize}
\item edge
\item corner
\item hole
\item topographic labelings of the gray tone intensity surface 
      e.g. peaks, pits, ridges, valleys
\end{itemize}

\vspace{1cm}
Composite features: atomic features merged
\begin{itemize}
\item arcs: edge or ridge pixels linked together
\item regions: connected sets of pixels with similar properties
\end{itemize}

\vspace{1cm}
1.2 Recognition Methodology 

Recognition methodology must pay attention to:
\begin{enumerate}
\item image formation e.g. perspective or orthographic projection
\item conditioning 
\item labeling
\item grouping
\item extracting
\item matching
\end{enumerate}

\vspace{1cm}
1.2.1 Conditioning \\
Conditioning is based on a model that suggests that the observed image is 
composed of an informative pattern modified by uninteresting variations that
typically add to or multiply the informative pattern. \\
e.g. noise suppression, background normalization

\vspace{1cm}
1.2.2 Labeling \\
Labeling is based on a model that suggests that the informative pattern has
structure as a spatial arrangement of events, each spatial event being a set
of connected pixels. \\
e.g. thresholding, edge detection, corner finding

\vspace{1cm}
1.2.3 Grouping \\
The grouping operation identifies the events by collecting together or
identifying maximal connected sets of pixels participating in the same
kind of event. \\
before grouping: pixels, after grouping: sets of pixels \\
e.g. segmentation, edge linking

\vspace{1cm}
1.2.4 Extracting \\
The extracting operation computes for each group of pixels a list of its
properties. \\
example properties: centroid, area, orientation, spatial moments \\
e.g. region holes, arc curvature

\vspace{1cm}
1.2.5 Matching \\
Matching operation determines the interpretation of some related set of
image events, associating these events with some given three-dimensional
object or two-dimensional shape. \\
e.g. template matching \\
=====Garfield 17:82=====

\newpage
1.3 Outline of Book \\
This text describes those aspects of computer vision that are needed in 
robotics and other real-world applications such as industrial-part inspection,
medical diagnosis, aerial-image interpretation, and space station maintenance.

\vspace{1cm}
Journals
\begin{itemize}
\item {\em IEEE Transactions on Pattern Analysis and Machine Intelligence}
\item {\em IEEE Transactions on Image Processing}
\item {\em IEEE Transactions on Robotics and Automation}
\item {\em IEEE Transactions on Systems, Man, and Cybernetics}
\item {\em Computer Vision and Image Understanding} \\
      formerly {\em CVGIP (Computer Vision, Graphics, and Image Processing): Image 
      Understanding}
\item {\em CVGIP: Graphical Models and Image Processing}
\item {\em International Journal of Computer Vision}
\item {\em Pattern Recognition}
\item {\em Pattern Recognition Letters}
\item {\em Image and Vision Computing}
\item {\em Machine Vision and Applications}
\end{itemize}

\vspace{1cm}
Conferences
\begin{itemize}
\item Asian Conference on Computer Vision
\item IEEE Conference on Computer Vision and Pattern Recognition
\item Image Understanding Workshop
\item International Conference on Computer Vision
\item International Conference on Image Processing
\item International Conference on Pattern Recognition
\item Scandinavian Conference on Image Analysis
\item SPIE (The International Society for Optical Engineering) Conferences
\end{itemize}

\vspace{1cm}
Bibliography
\begin{itemize}
\item D. H. Ballard and C. M. Brown, {\em Computer Vision,} Prentice-Hall,
      Englewood Cliffs, NJ, 1982.
\item G. A. Baxes, {\em Digital Image Processing,} Wiley, New York, 1994.
\item K. Castleman, {\em Digital Image Processing,} Prentice-Hall,
      Englewood Cliffs, NJ, 1996.
\item E. R. Davies, {\em Machine Vision: Theory, Algorithms, Practicalities,}
      2nd Ed., Academic Press, San Diego, CA, 1997.      
\item R. O. Duda, P. E. Hart and D. G. Stork, {\em Pattern Classification,}
      2nd Ed., Wiley, New York, 2001.
\item E. Gose, R. Johnsonbaugh, and S. Jost, {\em Pattern Recognition 
      and Image Analysis,} Prentice-Hall, Englewood Cliffs, NJ, 1996.
\item R. M. Haralick and L. G. Shapiro, {\em Computer and Robot Vision,} 
      Vol. II, Addison Wesley, Reading, MA, 1993. 
\item B. K. P. Horn, {\em Robot Vision,} MIT Press, Cambridge, MA, 1986.
\item A. K. Jain, {\em Fundamentals of Digital Image Processing,} Prentice-Hall,
      Englewood Cliffs, NJ, 1989.
\item J. S. Lim, {\em Two-Dimensional Signal and Image Processing,} 
      Prentice-Hall, Englewood Cliffs, NJ, 1990.
\item D. Marr, {\em Vision,} W. H. Freeman, San Francisco, 1982.
\item V. S. Nalwa, {\em A Guided Tour of Computer Vision,} Addison Wesley, 
      Reading, MA, 1993. 
\item M. Petrou and P. Bosdogianni, {\em Image Processing: The Fundamentals,} 
      Wiley, New York, 1999.
\item W. K. Pratt, {\em Digital Image Processing,} 2nd ed., Wiley-Interscience,
      New York, 1991.
\item R. J. Schalkoff, {\em Digital Image Processing and Computer Vision: An
      Introduction to Theory and Implementations,} Wiley, New York, 1989.
\item R. J. Schalkoff, {\em Pattern Recognition: Statistical, Structural, and 
      Neural Approaches,} Wiley, New York, 1992.
\item M. Sonka, V. Hlavac, and R. Boyle, {\em Image Processing, Analysis, 
      and Machine Vision,} 2nd Ed., Brooks/Cole, Pacific Grove, CA, 1999.
\item E. Trucco and A. Verri, {\em Introductory Techniques for 3-D Computer
      Vision,} Prentice-Hall, Upper Saddle River, NJ, 1998.
\item S. E. Umbaugh, {\em Computer Vision and Image Processing: A Practical
      Approach Using CVIPtools,} Prentice-Hall, Englewood Cliffs, NJ, 1998.
\item B. A. Wandell, {\em Foundations of Vision,} Sinauer, Sunderland,
      MA, 1995.
\end{itemize}

\clearpage
\noindent
=====this file: $\sim$fuh/vcourse/haralick/chapter1.tex===== \\
man latex \\
latex chapter1 \\
dvips -f chapter1 $>!$ t.ps \\
ghostview t.ps \\
=====$\sim$fuh/vcourse/haralick/programs/style/lena.im===== \\
=====pseudo.c===== \\
=====lena.b.im===== \\
Add /usr/local/vision/man to \$MANPATH \\
Add /usr/local/vision/solaris2 to \$PATH \\
Add /usr/local/SUNWspro/bin to \$PATH \\
Add /usr/local/vision/solaris2 to \$LD\_LIBRARY\_PATH \\
man hvision: image processing functions. \\
cc -o pseudo pseudo.c -lhvision -lm \\
pseudo lena.im lena.r.im lena.g.im lena.b.im \\
hview lena.im \\
laserhs lena.im \\
(to print: change textwidth $\Rightarrow$ 7.2in, 
   textheight $\Rightarrow$ 9.75in, \\
\hspace*{1cm} Huge $\Rightarrow$ normalsize, LARGE $\Rightarrow$ normalsize) \\   
dvips -t landscape -f chapter1 $>!$ t.ps \\
lpr t.ps

\vspace{1cm}
\noindent
copy $\sim$fuh/.tkinit to your home directory before invoking tk \\
tk \\
$>$ list command  \\
$>$ read image : lena.im lena.im \\
$>$ affine transform : lena.im lena.aff 0 2 2 0 0 0 0 \\
$>$ list image : ?? \\
$>$ list image \\
$>$ view image : lena.aff \\
$>$ write image : lena.aff lena.aff \\
$>$ quit \\
=====lena.aff===== \\
=====joke=====


\vspace{0.7cm}
Project due Oct. 4: 
\begin{enumerate}
\item Use B\_PIX to write a program to generate
   \begin{enumerate}
   \item upside-down lena.im
   \item right-side-left lena.im
   \item diagonally mirrored lena.im
   \end{enumerate}
\item Use tk to 
   \begin{enumerate}
   \item rotate lena.im 45 degrees clockwise
   \item shrink lena.im in half
   \item binarize lena.im at 128 to get a binary image (hint: binarize)
   \end{enumerate}
\end{enumerate}




\end{document}
