Digital Image Processing Lecture 1: Introduction Prof. Charlene Tsai tsaic@cs.ccu.edu.tw http://www.cs.ccu.edu.tw/~tsaic/teaching/spring2007_dip/main.html Why digital image processing? Image is better than any other information form for human being to perceive. Humans are primarily visual creatures – above 90% of the information about the world (a picture is better than a thousand words) However, vision is not intuitive for machines projection of 3D world to 2D images => loss of information interpretation of dynamic scenes, such as a moving camera and moving objects What is digital image processing? Image understanding, image analysis, and computer vision aim to imitate the process of human vision electronically Image acquisition Preprocessing Segmentation Representation and description Recognition and interpretation General procedures Goal: to obtain similar effect provided by biological systems Two-level approaches Low level image processing. Very little knowledge about the content or semantics of images High level image understanding. Imitating human cognition and ability to infer information contained in the image. Low level image processing Very little knowledge about the content of the images. Data are the original images, represented as matrices of intensity values, i.e. sampling of a continuous field using a discrete grid. Focus of this course. Low level image processing 3x3 neighborhood Origin (Ox,Oy) Pixel Value Pixel Region Spacing (Sy) Spacing (Sx) Low level image processing Image compression Noise reduction Edge extraction Contrast enhancement Segmentation Thresholding Morphology Image restoration Low level image processing Image compression Noise reduction Edge extraction Contrast enhancement Segmentation Thresholding Morphology Image restoration Low level image processing Image compression Noise reduction Edge extraction Contrast enhancement Segmentation Thresholding Morphology Image restoration Low level image processing Image compression Noise reduction Edge extraction Contrast enhancement Segmentation Thresholding Morphology Image restoration Low level image processing Image compression Noise reduction Edge extraction Contrast enhancement Segmentation Thresholding Morphology Image restoration Low level image processing Image compression Noise reduction Edge extraction Contrast enhancement Segmentation Thresholding Morphology Image restoration Low level image processing Image compression Noise reduction Edge extraction Contrast enhancement Segmentation Thresholding Morphology Image restoration Dilation Erosion Low level image processing Image compression Noise reduction Edge extraction Contrast enhancement Segmentation Thresholding Morphology Image restoration High level image understanding To imitate human cognition according to the information contained in the image. Data represent knowledge about the image content, and are often in symbolic form. Data representation is specific to the highlevel goal. High level image understanding What are the high-level components? What tasks can be achieved? Traces (vessel centerlines) Landmarks (bifurcation/cross over) Applications Medicine Defense Meteorology Environmental science Manufacture Surveillance Crime investigation Applications: Medicine CT PET (computed Tomography) (Positron Emission Tomography PET/CT Applications: Meteorology Applications: Environmental Science Applications: Manufacture Application: Surveillance Car Tracking Project from CMU: Tracking cars in the surrounding road scene and then generating a "bird's eye view" of the road. Courtesy of Simon Baker: http://www.ri.cmu.edu/projects/project_526.html Applications: Crime Investigation Fingerprint enhancement What are the difficulties? Poor understanding of the human vision system Do you see a young or an old lady? What are the difficulties? Human vision system tends to group related regions together, not odd mixture of the two alternatives. Attending to different regions or contours initiate a change of perception This illustrates once more that vision is an active process that attempts to make sense of incoming information. What are the difficulties? The interpretation is based heavily on prior knowledge. Just some fun visual perception games Can you count the dots? More … Do you see squares? More at http://scientificpsychic.com/graphics/index.html Example: Detection of ozone layer hole Over the Antarctic, normal value around 300 DU Class Format – Efficiency of Learning What we read What we hear What we see What we hear + see What we say ourselves What we do ourselves 10% 20% 30% 50% 70% 90% Class Format – Efficiency of Learning This leads to in-class discussion and quizzes. 50-minute lecture Remaining for group discussion & in-class quiz Course requirements In-class quizzes 4 Homework assignments Final project Midterm exam Final exam Peer learning is encouraged BUT, NO PLAGIARISM!!! (20% deduction if caught) 10% 25% 25% 20% 20% Textbooks Problems in picking a good textbook: Prescribed: Hard to find a textbook of the right level --- too easy or too hard. Hard to find a textbook of the right price --- good books tend to be too expensive Rafael C. Gonzalez, Richard E. Woods: Digital Image Processing. Prentice Hall; 2nd edition, 2002 Other references (used in 2005): Alasdair McAndrew: Introduction to Digital Image Processing with Matlab, 2004. Programming Tools Matlab with Image Processing Toolbox for homework exercises MATLAB Tutorial: http://www.mathworks.com/products/matlab/matlab_tutorial.html MATLAB documentation: http://www.mathworks.com/access/helpdesk/help/techdoc/matlab .shtml User-contributed MATLAB IP functions: http://www.mathworks.com/matlabcentral/fileexchange/loadCateg ory.do?objectType=category&objectId=26 More on Matlab University of Colorado Matlab Tutorials: A decent collection of Matlab tutorials, including one focusing on image processing http://amath.colorado.edu/computing/Matlab/tutorials.html http://amath.colorado.edu/courses/4720/2000Spr/Labs/Workshee ts/Matlab_tutorial/matlabimpr.html Term project Group project of 2~3 people I decide the format of the term project You decide your own topic that interests you So, starting thinking about it!!! You may implement your project with any programming language of your preference. In-class quiz Goal: to enhance learning Open-book/open-notes format Group effort of 2~3 people to encourage discussion and peer learning Looking ahead: lecture2 Image types File format Matlab programming.