블로그 이미지
Leeway is... the freedom that someone has to take the action they want to or to change their plans.
maetel

Notice

Recent Post

Recent Comment

Recent Trackback

Archive

calendar

1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
  • total
  • today
  • yesterday

Category

'Computer Vision'에 해당되는 글 207건

  1. 2011.08.25 Tom Mitchell "The Discipline of Machine Learning"
  2. 2011.07.07 tensor 1
  3. 2011.06.16 Gonzalez & Woods [Digital Image Processing]
  4. 2011.01.17 Seam Carving
  5. 2010.12.14 Jordan & Bishop "Neural Networks"
  6. 2010.12.11 Michael I. Jordan, "Generic constraints on underspecified target trajectories"
  7. 2010.12.09 Donald M. Wiberg [Schaum's Outline of Theory and Problems of State Space and Linear System]
  8. 2010.11.26 Winsock
  9. 2010.11.25 camera Firefly (FFMV-03M2M)
  10. 2010.11.11 Velho, Frery & Gomes [Image Processing for Computer Graphics and Vision] (2nd ed)
  11. 2010.11.11 Duda, Hart & Stork [Pattern Classification] (2nd ed)
  12. 2010.11.02 OpenCV 2.1.0 Installation on Mac OS X Snow Leopard
  13. 2010.10.12 OpenCV: Decision Trees
  14. 2010.10.12 OpenCV: Random Trees
  15. 2010.10.01 variational principle
  16. 2010.09.27 OpenCV: cvFindChessboardCorners() 함수
  17. 2010.09.26 OpenCV: cvThreshold() 함수 연습
  18. 2010.09.26 Dazhi Chen & Guangjun Zhan, "A New Sub-Pixel Detector for X-Corners in Camera Calibration Targets"
  19. 2010.09.26 Luca Lucchese & Sanjit K. Mitra "Using saddle points for subpixel feature detection in camera calibration targets"
  20. 2010.09.25 D. C. Brown,
  21. 2010.09.25 Otsu's method
  22. 2010.09.24 Janne Heikkila & Olli Silven "A Four-step Camera Calibration Procedure with Implicit Image Correction"
  23. 2010.09.24 Learning OpenCV: Chapter 11 Camera Models and Calibration
  24. 2010.09.21 GPGPU
  25. 2010.09.18 Ramon E. Moore, R. Baker Kearfott, and Michael J. Cloud <Introduction to Interval Analysis>
2011. 8. 25. 11:34 Computer Vision
The Discipline of Machine Learning


Tom M. Mitchell (July 2006), School of Computer Science Carnegie Mellon University Pittsburgh


Tom M. Mitchell http://www.cs.cmu.edu/~tom/



'Computer Vision' 카테고리의 다른 글

tensor  (1) 2011.07.07
Gonzalez & Woods [Digital Image Processing]  (0) 2011.06.16
Seam Carving  (0) 2011.01.17
Jordan & Bishop "Neural Networks"  (0) 2010.12.14
Michael I. Jordan, "Generic constraints on underspecified target trajectories"  (0) 2010.12.11
posted by maetel
2011. 7. 7. 23:20 Computer Vision
http://en.wikipedia.org/wiki/Tensor

http://mathworld.wolfram.com/Tensor.html
 
kipid@다음: 텐서란? 

Joseph C. Kolecki @NASA: An Introduction to Tensors for Students of Physics and Engineering





posted by maetel
2011. 6. 16. 02:05 Computer Vision
Digital Image Processing, 3rd ed.
Rafael C. Gonzalez & Richard E. Woods
Prentice Hall, 2008

google books: http://books.google.com/books?id=8uGOnjRGEzoC
official website: http://www.imageprocessingplace.com/

Rafael C. Gonzalez 
http://www.eecs.utk.edu/people/faculty/emeritus/gonzalez/main


1. Introduction
 
1.1 What is digital image processing?

digital image processing; processing digital images by means of a digital computer

picture elements = image elements = pels = pixels

image processing -> image analysis -> computer vision



- low-level process: both inputs and outputs are images
  eg. image preprocessing to reduce noise, contrast enhancement, image sharpening
- mid-level process:  inputs generally are images, but its outputs are attributes like edges, contours, identity of objects
  eg. segmentation, description of the objects, classification (recognition)
- higher-level process: recognized objects performs the cognitive functions associated with vision


   
1.2 The origins of digital image processing

halftone 망판(網版)화
http://terms.naver.com/entry.nhn?docId=270950
http://terms.naver.com/entry.nhn?docId=64830

 
http://en.wikipedia.org/wiki/Bartlane_cable_picture_transmission_system

http://en.wikipedia.org/wiki/Punched_tape


"modern digital computer"
with the introduction by John von Neumann of two key concepts: (1) a memory (2) conditional branching, which are the foundation of a CPU
+
mass storage & display systems
=> digital image processing


 
> the birth of digital image processing

- space probe

Work on using computer techniques for improving images from a space probe began at the Jet Propulsion Laboratory (Pasadena, California) in 1964 when pictures of the moon transmitted by Ranger 7 were processed by a computer to correct various types of image distortion inherent in the on-board television camera.

- medical diagnosis
Tomography consists of algorithms that use the sensed data to construct an image that represents a "slice" through the object. Motion of the object in a direction perpendicular to the ring of detectors produces a set of such slices, which constitute a three-dimensional rendition of the inside of the object. Tomography was invented independently by Sir Godfrey N. Hounsfield and Professor Allan M. Cormack, who shared the 1979 Nobel Prize in Medicine for their invention.



computerized axial tomography (CAT) http://en.wikipedia.org/wiki/Computerized_axial_tomography
서울대학교병원: 컴퓨터 단층 촬영 (Computed Tomography)


> applications of digital image processing 
   (1) for human interpretation
   (2) for machine perception


1.3 Examples of fields that use digital image processing

http://en.wikipedia.org/wiki/Electromagnetic_spectrum


http://en.wikipedia.org/wiki/Gamma_ray

positron emission tomography (PET) http://en.wikipedia.org/wiki/Positron_emission_tomography
양전자방출 단층촬영술 http://100.naver.com/100.nhn?docid=281698

http://en.wikipedia.org/wiki/X_ray

http://en.wikipedia.org/wiki/Ultraviolet

fluorescence microscopy http://en.wikipedia.org/wiki/Fluorescence_microscope
형광현미경 http://terms.naver.com/entry.nhn?docId=434197

http://en.wikipedia.org/wiki/Visible_light

light microscopy http://en.wikipedia.org/wiki/Light_microscopy#Optical_microscopy

http://en.wikipedia.org/wiki/Infrared

http://en.wikipedia.org/wiki/Thematic_map

http://landsat.gsfc.nasa.gov/images/

http://en.wikipedia.org/wiki/Multispectral_imaging

http://en.wikipedia.org/wiki/Defense_Meteorological_Satellite_Program

National Oceanic and Atmospheric Administration (NOAA) http://www.noaa.gov

http://en.wikipedia.org/wiki/Structured_light

Perceptics Corporation http://www.perceptics.com/

radar = radio detection and ranging  http://en.wikipedia.org/wiki/Radar

사이언스올 과학용어사전: 전파(radio wave) 

http://en.wikipedia.org/wiki/Magnetic_resonance_imaging

http://en.wikipedia.org/wiki/Microwaves


acoustic imaging
electron microscopy
synthetic (computer-generated) imaging


psi 평방 인치당 파운드(pounds per square inch: 타이어 등의 압력을 나타낼 때 씀) http://en.wikipedia.org/wiki/Pounds_per_square_inch

http://en.wikipedia.org/wiki/Ultrasound_imaging

http://en.wikipedia.org/wiki/Electron_microscope

transmission electron microscope (TEM) http://en.wikipedia.org/wiki/Transmission_electron_microscopy
투과전자현미경 (透過電子顯微鏡) http://terms.naver.com/entry.nhn?docId=432217

scanning electron microscope (SEM) http://en.wikipedia.org/wiki/Scanning_electron_microscope
주사전자현미경 (走査電子顯微鏡) http://terms.naver.com/entry.nhn?docId=422329


http://en.wikipedia.org/wiki/Fractal

tiling http://en.wikipedia.org/wiki/Tessellation

http://en.wikipedia.org/wiki/3d_modeling

http://en.wikipedia.org/wiki/3D_visualization


1.4 Fundamental steps in digital image processing

image acquisition,
image enhancement,
image restoration,
color image processing,
wavelets (-> image data compression / pyramidal representation),
compression,
morphological processing,
segmentation,
(boundary/regional) representation & description (feature selection),
recognition 


1.5 Components of an image processing system

- sensing - physical device (image sensor) + digitizer

- specialized image processing hardware - digitizer + ALU
http://en.wikipedia.org/wiki/Arithmetic_logic_unit

- general-purpose computer

- software - a package of specialized modules 

- mass storage - computer memory / frame buffers (=> zoom, scroll, pan)
http://en.wikipedia.org/wiki/Frame_buffer













 
posted by maetel
2011. 1. 17. 01:21 Computer Vision
Shai Avidan, Ariel Shamir, Seam Carving for Content-Aware Image Resizing, SIGGRAPH, 2007





posted by maetel
2010. 12. 14. 20:02 Computer Vision
Michael I. Jordan & Christopher M. Bishop, "Neural Networks", In Tucker, A. B. (Ed.) CRC Handbook of Computer Science, Boca Raton, FL: CRC Press, 1997.
download: http://www.cs.berkeley.edu/~jordan/papers/crc.ps







1. Introduction


Neural network methods have had their greatest impact in problems where statistical issues dominate and where data are easily obtained.

"conjunction of graphical algorithms and probability theory":
A neural network is first and foremost a graph with patterns represented in terms of numerical values attached to the nodes of the graph and transformations between patterns achieved via simple message-passing algorithms. Many neural network architectures, however, are also statistical processors, characterized by making particular probabilistic assumptions about data.


Based on a source of training data, the aim is to produce a statistical model of the process from which the data are generated so as to allow the best predictions to be made for new data.

statistical modeling - density estimation (unsupervised learning), classification & regression

density estimation ("unsupervised learning")
: to model the unconditional distribution of data described by some vector
- to train samples and a network model to build a representation of the probability density 
- to label regions for a new input vector
 
classification & regression ("supervised learning")
: to distinguish between input variables and target variables
- to assign each input vector to one of classes and target variables to class labels 
-> estimation of conditional densities from the joint input-target space



2. Representation

2.1 Density estimation

To form an explicit model of the input density

Gaussian mixture distribution







2.2 Linear regression and linear discriminants






posted by maetel
2010. 12. 11. 01:58 Computer Vision
Michael I. Jordan, Generic constraints on underspecified target trajectories, Proceedings of international conference on neural networks, (1989), 217-225
http://dx.doi.org/10.1109/IJCNN.1989.118584


informed by 함교수님

cf.

Michael I. Jordan



Introduction

connectionist networks

feedforward controller

forward model


activation patterns (in a network)

motor learning

interpretation


visible units & hidden units

The output units of such a network are hidden with respect to learning and yet are visible given their direct connection to the environment.

task space 
articulatory space



Forward models of the environment


The forward modeling approach assumes that the solution to this minimization problem is based on the computation of a gradient.


'Computer Vision' 카테고리의 다른 글

Seam Carving  (0) 2011.01.17
Jordan & Bishop "Neural Networks"  (0) 2010.12.14
Donald M. Wiberg [Schaum's Outline of Theory and Problems of State Space and Linear System]  (0) 2010.12.09
Winsock  (0) 2010.11.26
camera Firefly (FFMV-03M2M)  (0) 2010.11.25
posted by maetel
2010. 12. 9. 22:25 Computer Vision
Schaum's Outline of Theory and Problems of State Space and Linear System (pdf)
Donald M. Wiberg 
McGraw-Hill, 1971 
로욜로 도서관: 2관 4층 515.35 W632s


Preface

"The state space approach is more general than the "classical" Laplace and Fourier transform theory. Consequently, state space theory is applicable to all systems that can be analyzed by integral transforms in time, and is applicable to many systems for which transform theory breaks down"

(1) Linear systems with time-varying parameters can be analyzed in essentially the same manner as time-invariant linear systems.
(2) Problems formulated by state space methods can easily be programmed on a computer.
(3) High-order linear systems can be analyzed.
(4) Multiple input - multiple output systems can be treated almost as easily as single input - single output linear systems.
(5) State space theory is the foundation for further studies such areas as nonlinear systems, stochastic systems, and optimal control.


"Because state space theory describes the time behaviors of physical systems in a mathematical manner, the reader is assumed to have some knowledge of differential equations and of Laplace transform theory."







posted by maetel
2010. 11. 26. 23:50 Computer Vision
Winsock informed by jiniseo


by Bob Quinn and Dave Shute, with foreword by Martin Hall
Addison-Wesley




posted by maetel
2010. 11. 25. 13:31 Computer Vision
Firefly (FFMV-03M2M)

http://www.ptgrey.com/products/fireflymv/index.asp

FFMV-03M2M-CS
6p-pin right angle IEEE-1394 Connector
Max 752*480 at 60 FPS
1/3" Micron CMOS , BW
Progressive Scan
Plastic Case Included
FFMV Metal Case
LM5NCL - F1.4 ~1.6 , C-Mount
Adaptor for NMV-4/5WA 렌트 Filter
IR Longpass - 830nm
1394a PCI Adpapter
1394b FWB-LDR-CAT5 Repeater SET


FirePRO LDR
http://www.ptgrey.com/products/firepro/firepro_firewire.asp



Software Requirements (Windows)

  • Windows XP (Service Pack 3 recommended), Windows Vista (Service Pack 1 recommended) or Windows 7
  • MS Visual Studio 6.0 SP5 (to compile and run example code on Windows XP 32-bit operating systems); or
  • MS Visual Studio 2005 SP1 (to compile and run example code on Windows XP 64-bit)
  • MS Visual Studio 2005 SP1 and SP1 Update for Vista (to compile and run example code on Windows Vista or Windows 7)




FlyCapture SKD 2.0
http://www.ptgrey.com/products/pgrflycapture/index.asp

datasheet:


on-line user manual:
http://www.ptgrey.com/support/downloads/documents/flycapture/hh_start.htm

The Point Grey Image Filter Driver (PGRGIGE.sys) was developed for use with GigE Vision cameras. This driver operates as a network service between the camera and the Microsoft built-in UDP stack to filter out GigE vision stream protocol (GVSP) packets.  

The filter driver is installed and enabled by default as part of the FlyCapture SDK installation process. Use of the filter driver is recommended, as it can reduce CPU load and improve image streaming performance.

Point Grey GigE Vision cameras can operate without the filter driver, by communicating directly with the Microsoft UDP stack. GigE Vision cameras operating on Linux systems can communicate directly with native Ubuntu drivers.



FlyCapture SDK 중 이미지 저장 관련 예제 코드 위치:
Program Files > Point Grey Research Inc. > FlyCapture2 > Examples > SaveImageToAviEx
설명: Demonstrates saving a series of images to an AVI file


Cylod (informd by subin)
OpenCV에서 PGR 카메라 사용하는 두가지 방법 소개




OpenCV

Firewire 1394 cameras without Direct X

You can install the CMU 1394 driver for your camera and then use the API of this driver to capture video from the camera. In this way, you can avoid the use of DirectX. See example for details.







posted by maetel
2010. 11. 11. 16:22 Computer Vision
Image Processing for Computer Graphics and Vision, 2nd ed. 
Velho, Luiz, Frery, Alejandro C., Gomes, Jonas
Springer, 2009


비록 학부 4학년은 아니었더라도 석사 1학기에 봤었다면 좋았을 것을...


'Computer Vision' 카테고리의 다른 글

Winsock  (0) 2010.11.26
camera Firefly (FFMV-03M2M)  (0) 2010.11.25
Duda, Hart & Stork [Pattern Classification] (2nd ed)  (0) 2010.11.11
OpenCV 2.1.0 Installation on Mac OS X Snow Leopard  (0) 2010.11.02
OpenCV: Decision Trees  (0) 2010.10.12
posted by maetel
2010. 11. 11. 01:26 Computer Vision
Richard O. Duda, Peter E. Hart, David G. Stork, Pattern Classification (2nd ed-4th print), Wiley-Interscience

RICHARD O. DUDA
PhD, Professor in the Electrical Engineering Department at San Jose State University, San Jose, California.

PETER E. HART
PhD, Chief Executive Officer and President of Ricoh Innovations, Inc. in Menlo Park, California.

PhD, Chief Scientist, also at Ricoh Innovations, Inc.

lectures: 



cf.
Computer Manual in MATLAB to accompany Pattern Classification, 2nd EditionDavid G. Stork ( Ricoh Silicon Valley ), Elad Yom-Tov, John Wiley & Sons, 2004
loyola: 1관 4층 006.4 S885c 2004

DAVID G. STORK
PhD, Chief Scientist at Ricoh Innovations, Inc., and Consulting Professor of Electrical Engineering at Stanford University. A graduate of MIT and the University of Maryland, he is the founder and leader of the Open Mind Initiative and the coauthor, with Richard Duda and Peter Hart, of Pattern Classification, Second Edition, as well as four other books.

PhD, research scientist at IBM Research Lab in Haifa, working on the applications of machine learning to search technologies, bioinformatics, and hardware verification (among others). He is a graduate of Tel-Aviv University and the Technion.



Preface


"(Our purpose is) to give a systematic account of the major topics  in pattern recognition, based on fundamental principles"

pattern recognition

speech recognition
optical character recognition
signal classification

pattern classification
scene analysis
machine learning

handwriting & gesture recognition
lipreading
geological analysis
document searching
recognition of bubble chamber tracks of subatomic particles
human-machine interface - eg. pen-based computing
human and animal nervous systems

neurobiology
psychology

"We address a specific class of problems - pattern recognition problems - and consider the wealth of different techniques that can be applied to it."

"We discuss the relative strengths and weaknesses of various classification techniques"


statistical methods vs. syntactic methods





posted by maetel
2010. 11. 2. 21:53

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

2010. 10. 12. 13:14 Computer Vision
posted by maetel
2010. 10. 12. 13:09 Computer Vision

'Computer Vision' 카테고리의 다른 글

OpenCV 2.1.0 Installation on Mac OS X Snow Leopard  (0) 2010.11.02
OpenCV: Decision Trees  (0) 2010.10.12
variational principle  (0) 2010.10.01
OpenCV: cvFindChessboardCorners() 함수  (0) 2010.09.27
OpenCV: cvThreshold() 함수 연습  (0) 2010.09.26
posted by maetel
2010. 10. 1. 18:42 Computer Vision
posted by maetel
2010. 9. 27. 01:47 Computer Vision
OpenCV: cvFindChessboardCorners or cv::findChessboardCorners

source code: https://code.ros.org/trac/opencv/browser/tags/2.1/opencv/src/cv/cvcalibinit.cpp
file:///opencv/src/cv/cvcalibinit.cpp


ref.
Learning OpenCV: Chapter 11 Camera Models and Calibration

V.Vezhnevets, A.Velizhev (Graphics and Media Lab, CMC department, Moscow State University) "GML C++ Camera Calibration Toolbox", 2005
http://graphics.cs.msu.ru/en/science/research/calibration/cpp


http://www.vision.caltech.edu/bouguetj/calib_doc/htmls/example.html


IplImage* cvGetImage(const CvArr* arr, IplImage* imageHeader)


cvCheckChessboard
source file: //opencv/src/cv/cvcheckchessboard.cpp

Dilate or cv::dilate

Flood-fill algorithm
http://en.wikipedia.org/wiki/Flood_fill


quad_count = icvGenerateQuads( &quads, &corners, storage, thresh_img, flags );


CvMemStorage* cvCreateChildMemStorage(CvMemStorage* parent)

StartFindContours

cvContourArea






routine:
"cvcalibinit.cpp": cvFindChessboardCorners()'s routine

1. gray-scale input image (option: CV_CALIB_CB_NORMALIZE_IMAGE | CV_CALIB_CB_NORMALIZE_IMAGE ) -> save "imgGray"


2. binarize the gray-scaled image

adative thresholding (option: CV_CALIB_CB_ADAPTIVE_THRESH) or thresholding by "image mean-10" or "10"




3. dilate the binarized image -> save "imgThresh"





4. find rectangles to draw white lines around the image edge -> save "imgRect"

 


1. check if a chessboard is in the input image

 

1) erode and dilate ( cvErode() & cvDilate() )

2) find a threshold value to make contours ( "flag" )
3) select contours to make quadrangles
4) check if there are many hypotheses with similar sizes ( floodfill

-style algorithm )

 

2. (if pattern was no found using binarization) multi-level quads

extraction


3. draw white lines around the image edges ( "thresh_image" )


4. compute corners in clockwise order


5. find the quadrangle's neighbors


6. find connected quadrangles to order them and the corners


7. remove extra quadrangles to make a nice square pattern


8. check if each row and column of the chessboard is monotonous


9. refine corner locations








1. check if a chessboard is in the input image

1) erode and dilate ( cvErode() & cvDilate() )
2) find a threshold value to make contours ( "flag" )
3) select contours to make quadrangles
4) check if there are many hypotheses with similar sizes ( floodfill-style algorithm )
2. (if pattern was no found using binarization) multi-level quads extraction
3. draw white lines around the image edges ( "thresh_image" )
4. compute corners in clockwise order
5. find the quadrangle's neighbors
6. find connected quadrangles to order them and the corners
7. remove extra quadrangles to make a nice square pattern
8. check if each row and column of the chessboard is monotonous
9. refine corner locations



 

 
 

posted by maetel
2010. 9. 26. 19:30 Computer Vision
OpenCV 함수 cvTreshold or cv::threshold

source code link: https://code.ros.org/trac/opencv/browser/tags/2.1/opencv/src/cv/cvthresh.cpp
file: /opencv/src/cv/cvthresh.cpp


Learning OpenCV: Chapter 5 Image Processing: Threshold (135p)


cf. Otsu method




원본 영상

입력 영상



threshold=100, max_val=100, CV_THRESH_BINARY

threshold=100, max_val=200, CV_THRESH_BINARY

threshold=200, max_val=200, CV_THRESH_BINARY



threshold=50, CV_THRESH_TRUNC

threshold=50, CV_THRESH_TRUNC

threshold=150, CV_THRESH_TRUNC



threshold=50, CV_THRESH_TOZERO

threshold=100, CV_THRESH_TOZERO

threshold=200, CV_THRESH_TOZERO



threshold=100, max_val=200, CV_THRESH_BINARY

threshold=100, max_val=200, CV_THRESH_BINARY & CV_THRESH_OTSU

threshold=100, max_val=200, CV_THRESH_OTSU


코드에서 CV_THRESH_OTSU는 CV_THRESH_BINARY | CV_THRESH_OTSU 와 같은 효과.
CV_THRESH_OTSU는 함수의 인자 "threshold"의 초기값과 무관하게 입력 영상에 대해 내부적으로 threshold 값을 구하고 이에 따라 선택된 픽셀들에 max_value 값을 준다.


posted by maetel
2010. 9. 26. 15:57 Computer Vision
Dazhi Chen & Guangjun Zhan, "A New Sub-Pixel Detector for X-Corners in Camera Calibration Targets," WSCG Short Papers (2005): 97-100



The School of Instrumentation Scienc & Optoelectronics Engineering (SISOE), Beijing University of Aeronautics and Astronautics
posted by maetel
2010. 9. 26. 15:47 Computer Vision
L. Lucchese and S.K. Mitra. Using saddle points for subpixel feature detection in camera calibration targets. In Proceedings of the 2002, Asia Pacific Conference on Circuits and Systems, volume 2, pages 191-195, 2002.



posted by maetel
2010. 9. 25. 15:42 Computer Vision

D. C. Brown,




Duane C. Brown Award
http://www.lsgi.polyu.edu.hk/staff/Bo.Wu/duane_c._brown_awards_description.htm

PCV @ OSU (Photogrammetric Computer Vision Laboratory, Ohio State University)

 http://academic.research.microsoft.com/Author/5813842.aspx


D. C. Brown, "Decentering distortion of lenses", Photogrammetric Engineering 32(3) (1966). 7: 444–462.








posted by maetel
2010. 9. 25. 01:44 Computer Vision
http://en.wikipedia.org/wiki/Otsu's_method informed by prof.


Nobuyuki Otsu (1979). "A threshold selection method from gray-level histograms". IEEE Trans. Sys., Man., Cyber. 9: 62–66. doi:10.1109/TSMC.1979.4310076



OpenCV 함수 cvThreshold()


ref.
Bryan S. Morse's Brigham Young University (1998-2000) Lecture 4: Thresholding

Milan Sonka, Vaclav Hlavac, Roger Boyle, <Image Processing, Analysis, and Machine Vision> (3rd ed.), Thomson (2008)
: Chapter 6 Segmentation I: 6.1.2 Optimal thresholding (180p)






posted by maetel
2010. 9. 24. 23:16 Computer Vision
Janne Heikkila, Olli Silven, "A Four-step Camera Calibration Procedure with Implicit Image Correction," cvpr, pp.1106, 1997 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'97), 1997


Matlab toolbox: http://www.ee.oulu.fi/~jth/calibr/

JanneHeikkilä - Machine Vision Group, Computer Science and Engineering Laboratory, University of Oulu
Olli Silven - Information Processing Laboratory, University of Oulu

cf.
http://www.vision.caltech.edu/bouguetj/calib_doc/htmls/parameters.html


1. Introduction

4-step
1) DLT (direct linear transformation) for initial parameter values [Tsai 1987, Abdel-Aziz 1971, Melen 1994]
2) Nonlinear parameter estimation for final parameter values [Slama 1980]
3) Correcting errors sourced from feature extraction
4) image correction: new implicit model to interpolate the correct image points


2. Explicit camera calibration

The pinhole camera model is based on the principle of collinearity, where each point in the object space is projected by a straight line through the projection center into the image plane.

http://en.wikipedia.org/wiki/Euler_angle











posted by maetel
2010. 9. 24. 16:24 Computer Vision
Learning OpenCV ebook
: Chapter 11 Camera Models and Calibration


ref.
opencv v2.1 documentation » cv. Image Processing and Computer Vision » Camera Calibration and 3D Reconstruction (c reference / cpp reference)
Noah Kuntz's OpenCV Tutorial 10 - Chapter 11


370p
detection of light from the world:
light source -> reflected light from a object -> our eye or camera (lens -> retina or imager)


cf. http://en.wikipedia.org/wiki/Electronic_imager


geometry of the ray's travel
 
pinhole camera model

ref. O'Connor 2002
al-Hytham (1021)
Descartes
Kepler
Galileo
Newton
Hooke
Euler
Fermat
Snell

ref.
Trucco 1998
Jaehne 1995;1997
Hartley and Zisserman 2006
Forsyth and Ponce 2003
Shapiro and Stockman 2002
Xu and Zhang 1996


projective geometry

lens distortion

camera calibration
1) to correct mathematically for the main deviations from the simple pinhole model with lenses
2) to relate camera measurements with measurements in the real, 3-dimensional world


3-D scene reconstruction


: Camera Model (371p)

camera calibration => model of the camera's geometry & distortion model of the lens : intrinsic parameters


homography transform

OpenCV function cvCalibrateCamera2() or cv::calibrateCamera

pinhole camera:
single ray -> image plane (projective plane)

(...) the size of the image relative to the distant object is given by a single parameter of the camera: its focal length. For our idealized pinhole camera, the distance from the pinhole aperture to the screen is precisely the focal length.

The point in the pinhole is reinterpreted as the center of projection.

The point at the intersection of the image plane and the optical axis is refereed to as the principal point.

(...) the individual pixels on a typical low-cost imager are rectangular rather than square. The focal length(fx) is actually the product of the physical focal length(F) of the lens and the size (sx) of the individual imager elements. (*sx converts physical units to pixel units.)


: Basic Projective Geometry (373p)

projective transform

homogeneous coordinates

The homogeneous coordinates associated with a point in a projective space of dimension n are typically expressed as an (n+1)-dimensional vector with the additional restriction that any two points whose values are proportional are equivalent.

camera intrinsics matrix (of parameters defining our camera, i.e., fx,fy,cx,and cy)

ref. Heikkila and Silven 1997


OpenCV function cvConvertPointsHomogeneous() or cv::convertPointsHomogeneous

cf. cvReshape or cv::reshape

For a camera to form images at a faster rate, we must gather a lot of light over a wider area and bend (i.e., focus) that light to converge at the point of projection. To accomplish this, we uses a lens. A lens can focus a large amount of light on a point to give us fast imaging, but it comes at the cost of introducing distortions.


: Lens Distortions (375p)

Radia distortions arise as a result of the shape of lens, whereas tangential distortions arise from the assembly process of the camera as a whole.


radial distortion:
External points on a frontfacing rectangular grid are increasingly displaced inward as the radial distance from the optical center increases.

"barrel" or "fish-eye" effect -> barrel distortion


tangential distortion:
due to manufacturing defects resulting from the lens not being exactly parallel to the imaging plane.


plumb bob (연직 추, 측량 추) model
ref. D. C. Brown, "Decentering distortion of lenses", Photogrammetric Engineering 32(3) (1966). 7: 444–462.
http://www.vision.caltech.edu/bouguetj/calib_doc/htmls/parameters.html

distortion vector (k1, k2, p1, p2, k3); 5-by-1 matrix


: Calibration (378p)

ref. http://www.vision.caltech.edu/bouguetj/calib_doc/

cvCalibrateCamera2() or cv::calibrateCamera
The method of calibration is to target the camera on a known structure that has many individual and identifiable points. By viewing this structure from a variety of angles, it is possible to then compute the (relative) location and orientation of the camera at the time of each image as well as the intrinsic parameters of the camera.


얘네는 뭔 있다 없다 하니...

cv::initCameraMatrix2D

cvFindExtrinsicCameraParams2



: Rotation Matrix and Translation Vector (379p)

Ultimately, a rotation is equivalent to introducing a new description of a point's location in a different coordinate system.


Using a planar object, we'll see that each view fixed eight parameters. Because the six parameters on two additional parameters that we use to resolve the camera intrinsic matrix. We'll then need at least two views to solve for all the geometric parameters.


: Chessboards (381p)

OpenCV opts for using multiple view of a planar object (a chessboard) rather than one view of  a specially constructed 3D object. We use a pattern of alternating black and white squares, which ensures that there is no bias toward one side or the other in measurement. Also, the resulting gird corners lend themselves naturally to the subpixel localization function.

use a chessboard grid that is asymmetric and of even and odd dimensions - for example, (5,6). using such even-odd asymmetry yields a chessboard that has only one symmetry axis, so the board orientation can always be defined uniquely.


The chessboard interior corners are simply a special case of the more general Harris corners; the chessboard corners just happen to be particularly easy to find and track.







cf. Chapter 10: Tracking and Motion: Subpixel Corners
319p: If you are processing images for the purpose of extracting geometric measurements, as opposed to extracting features for recognition, then you will normally need more resolution than the simple pixel values supplied by cvGoodFeaturesToTrack().

fitting a curve (a parabola)
ref. newer techniques
Lucchese02
Chen05


cvFindCornerSubpix() or cv::cornerSubPix (cf. cv::getRectSubPix )



ref.
Zhang99; Zhang00
Sturm99


: Homography (384p)




posted by maetel
2010. 9. 21. 00:59 Computer Vision
posted by maetel
2010. 9. 18. 16:09 Computer Vision
Introduction to Interval Analysis
Ramon E. Moore, R. Baker Kearfott, and Michael J. Cloud

http://www.siam.org/books/ot110/
posted by maetel