510 likes | 680 Views
Learning Object Representation Andrej Lúčny Department of Applied Informatics Faculty of Mathematics, Physics and Informatics Comenius University, Bratislava andy @microstep-mis.com www.microstep-mis.com/~andy. Regular objects. few parameters fully describe the object
E N D
Learning Object Representation Andrej Lúčny Department of Applied Informatics Faculty of Mathematics, Physics and Informatics Comenius University, Bratislava andy@microstep-mis.com www.microstep-mis.com/~andy
Regular objects few parameters fully describe the object recognize object = specify its parameters
Regular objects e.g. Hough transform Conversion of image to parameters
Image Threearrays r[h,w], g[h,w], b[h,w], values 0..255 corresponding to color ingredients
bw[i,j] = 0.3*r[i,j] + 0.59*g[i,j] + 0.11*b[i,j] Intensity map
intensity column • Edges corresponds to sharp sectors
Sobel operator ai-1,j-1 ai-1,j ai-1,j+1 -1 0 1 = ai,j-1 ai,j ai,j+1 -2 0 2 bi,j º ai+1,j-1 ai+1,j ai+1,j+1 -1 0 1 dxi,j= ai-1,j+1+ 2ai,j+1+ ai+1,j+1- ai-1,j-1- 2ai,j-1- ai+1,j-1 ai-1,j-1 ai-1,j ai-1,j+1 -1 -2 -1 = ai,j-1 ai,j ai,j+1 0 0 0 bi,j º ai+1,j-1 ai+1,j ai+1,j+1 1 2 1 dyi,j= ai+1,j-1+ 2ai+1,j+ai+1,j+1-ai-1,j-1- 2ai-1,j–ai-1,j+1
Sobel operator approximated image derivation (gradient) Concerning a threshold Sobel operator indicates us edges threshold
Sobel operator |dx| |dy|
Sobel operator |grad| = √ (dx + dy ) 2 2
Thinning ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Hough transform Example: Circle Task: how to turn thinned image to circle parameters Paramaters: • center x-coordinate • center y-coordinate • radius x y r
Hough transform Each parameter has a particular range E.g. for imagewith resolution 320 x 240 : • Range of center x-coordinate is 0..319 • Range of center y-coordinate is 0..239 • Range of radius is 10..200 We evaluate probability of each tupple (x,y,r) from the given range
Hough transform • The probability P[x,y,r] is given by number of witnesses, i.e. white pixels on thinned image which would be white if one draws circle with parameters x,y,r. y r x
Hough transform Circle is recognized !
Irregular objects Parameters of irregular objects are not clear ! It is better look an universal method how to learn their representation
Irregularobjects How such objects are represented? e.g. Dominant orientation templates
Dominant orientation templates (DOT) • Simple but fast and efficient method
Motivation template dealing with thinned edges image
Edges detector Canny intensity |dx| |dy| |gradient| orientations thinned edges
Orientations (dx, dy) 4 3 2 5 6 1 7 0
Template • based on the orientations
Template • object is covered by non-overlapping regions
Template • We concern orientation of any pixel in region, which lies on edge
Template • We select set of dominant (prevailing) orientations
Template • We have such set of few dominant templates for each region
Template • The sets of dominant orientations form the representation of the object
How to use the template • We cover image by regions and select one most dominant orientation for each region template image
How to use template • Object is found if for the most of regions the dominant orientation from image is an element of the setof dominant orientations in template template image
Basic formal expression I – current image O – image from which the template is created c – position on the imageI R – region c + R – corresponding region put to position c DO(O,R) : set of (maximally k) dominant orientations in region R in template, i.e. on the image O do(I,R) : dominant orientation in region R in the current image I do(X, R ) = DO(X, R ) fork = 1 δ(x) = x ? 1 : 0 where x is true or false
Does it work ? • Yes, if we put region R to proper position c • No, otherwise Therefore we will need more templates for various positioning of regions templates positions …
Advanced formal expression I – current image O – image from which the template is created w(O,M) – image O shifted by M c – position on the imageI R – region, c + R – corresponding region put to position c DO(O,R) : set of (maximally k) dominant orientations in region R in template, i.e. on the image O do(I,R) : dominant orientation in region R in the current image I δ(x) = x ? 1 : 0 where x is true or false
More effective but less precise approach • We can summarize more overlapping templates to one. • We simply add orientations from overlapping regions. • Such template must fit regardless shifting, but can detect also phantoms … integrated template templates
Formalism of the efficient approach = I – current image O – image from which the template is created w(O,M) – image O shifted by M c – position on the imageI R – region, c + R – corresponding region put to position c DO(O,R) : set of (maximally k) dominant orientations in region R in template, i.e. on the image O do(I,R) : dominant orientation in region R in the current image I δ(x) = x ? 1 : 0 where x is true or false
More viewpoints • Still one template represents the object from one viewpoint only • Therefore we need to create more templates from various viewpoints • Again we can integrate more templates which are similar enough to one (in the same way as shifted templates)
DOT efficiency • Belonging of orientation to a template can be represented by bits 0 or 1 and all DOT can be expressed in form of bit operations • Therefore DOT is very fast and running in real time
Object border • DOT can provide also approximate border of the object. • It is created by those edge pixels for which we have found their orientation in the template
How to get template? • Scan object put to contrast scene by camera from various viewpoints (i.e. not in the natural scene but under specific conditions) or • separate object from scene by another method (e.g. by movement detector)
Failure of recognition 1. pattern phantom 2. Failure or creativity ?
Further study Hinterstoisser, S. - Lepetit, V. - Ilic, S. - Fua, P. - Navab, N.: Dominant Orientation Templates for Real-Time Detection of Texture-Less Objects. IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR), San Francisco, California (USA), June 2010
Thank you ! Andrej Lúčny Department of Applied Informatics Faculty of Mathematics, Physics and Informatics Comenius University, Bratislava andy@microstep-mis.com www.microstep-mis.com/~andy