SlideShare a Scribd company logo
1 of 30
Download to read offline
Perspective click-and-drag area selections in
pictures
Frank NIELSEN
www.informationgeometry.org
Sony Computer Science Laboratories, Inc.

Machine Vision Applications (MVA)
21st May 2013

c 2013 Frank Nielsen

1/30
Traditional click and drag rectangular selection
→ Fails for selecting parts in photos:

c 2013 Frank Nielsen

2/30
Traditional click and drag rectangular selection
→ Fails for selecting parts in photos:
Cannot capture “New” without part of “Court”.

Man-made environments: many perspectively slanted planar parts.
c 2013 Frank Nielsen

3/30
Perspective click’n’drag
Intelligent UI (= computer vision + human computer interface)

→ Image “parsing” of perspective rectangles
(automatic/semi-automatic/manual)
c 2013 Frank Nielsen

4/30
Video demonstrations

Perspective click-and-drag + perspective copy/paste/swap

c 2013 Frank Nielsen

5/30
Perspective click’n’drag: Outline

1. Preprocessing:
Detect & structure perspective parts
1.1 Quad detector:
◮
◮
◮

Image segmentation
Outer contour quad fitting
Quad recognition

1.2 Quad homography tree

2. Interactive user interface:
Perspective quad selection based on click-and-drag UI
(=diagonal selection)
3. Application example: Interactive image editing (swap)

c 2013 Frank Nielsen

6/30
Preprocessing workflow

c 2013 Frank Nielsen

7/30
Quad detection: Sobel/Hough transform
How to detect convex quads in images?
indoor robotics [6] using vanishing point.
Limitations of Hough transform [8] on Sobel image:

Combinatorial line arrangement O(n4 )...
→ good for limited number of detected lines
(blackboard detection [8], name card detection, etc.)
c 2013 Frank Nielsen

8/30
Quad detection: Image segmentation (SRM)

→ Fast Statistical Region Merging [4] (SRM)

Source codes in JavaTM , Matlab R , Python R , C, etc.

c 2013 Frank Nielsen

9/30
Quad detection: Image segmentation (SRM)

c 2013 Frank Nielsen

10/30
Quad detector
◮

◮
◮

◮

◮

For each segmented region, consider its exterior contour C
(polygon),
Compute the contour diameter, P1 P3 ,
Compute the upper most P2 and bottom most P4 extremal
points
Calculate the symmetric Haussdorf distance between quad
Q = (P1 , P2 , P3 , P4 ) and contour C ,
Accept region as quad when distance falls below as
prescribed threshold.

All quads convex and clockwise oriented.
c 2013 Frank Nielsen

11/30
Quad detection: Image segmentation (SRM)

... any closed contour image segmentation,
→ run at different scales (eg., parameter Q in SRM).
Alternatively, can also use mean-shift [9], normalized cuts [7], etc.
Why? To increase the chance of detecting for some parameter
tuning quads.
→ We end up with a quad soup

c 2013 Frank Nielsen

12/30
Multi-segmentation
Increases the chance of recognizing quads, but get a quad soup.

Q = 128

Q = 0.3

c 2013 Frank Nielsen

Q = 10

Q = 0.25

13/30
Nested convex quad hierarchy

◮

From a quad soup, sort the quads in decreasing order of their
area in a priority queue.

◮

Add image boundary quad Q0 as the quad root of the quad
tree Q.

◮

◮

Greedy selection: Add a quad of the queue if and only if it is
fully contained in another quad of Q.

When adding a quad Qi , compute the homographies [2] Hi
and Hi−1 of the quad to the unit square.

c 2013 Frank Nielsen

14/30
Do not explicit unwarp perspective rectangles

Many existing systems first unwarp...

source

segmented

unwarped

Mobile cell phone signage recognition [5], AR systems, etc.

c 2013 Frank Nielsen

15/30
Perspective click’n’drag: User interaction
Perspective sub-rectangle selection:
Clicking on a corner p1 and dragging the opposite corner p3 .
find the deepest quad Q in the quad hierarchy Q that contains
both points p1 and p3 .
Unit
square

H
p1

p2 ← p ′
2
perspective
dragging

p′ = H p 1
˜1
˜
H −1
H

c 2013 Frank Nielsen


x′
p′ =  y ′ 
˜4
1


H −1


¯
x′
¯
 y′ 
=
1


regular
dragging

p4 ← p ′
4
p3

p′
˜2

p′ = H p 3
˜3
˜

16/30
Some examples of perspective click-and-drag selections
Regular vs. perspective rectangle UI selection

c 2013 Frank Nielsen

17/30
Implementation details: Primitives on convex quads

By convention, order quads clockwise.
Positive determinant for the two quad-induced triangles:
det =
◮

◮

x1 − x3 x2 − x3
y1 − y3 y2 − y3

Predicate p ∈ Q = (p1 , p2 , p3 , p4 )?:
Two queries: p ∈ (p1 , p2 , p3 ) and p ∈ (p3 , p4 , p1 ).

Area of a quad:
One half of the absolute value of the determinant of the two
quad triangles.

c 2013 Frank Nielsen

18/30
In class Quadrangle
double area ( Feature p1 , Feature p2 , Feature p3 )
{
double res ;
res =( p1 .x - p3 .x ) *( p2 .y - p1 . y) -( p1 .x - p2 . x) *( p3 .y - p1 .y );
return 0.5* Math. abs ( res ); // h a l f of d e t e r m i n a n t
}
double area ()
{
return ( area (p1 , p2 , p3 ) + area (p1 , p3 , p4 ) );
}
//
// C l o c k w i s e or a l i g n e d o r d e r p r e d i c a t e
//
boolean CW ( Feature a , Feature b , Feature c )
{
double det =( a.x - c. x) *( b.y -c .y ) -(b .x -c .x ) *( a.y - c. y) ;
if ( det >=0.0)
{ return true ;}
else
{ return false ;}
}
// D e t e r m i n e if a p i x e l f a l l s i n s i d e t h e q u a d r a n g l e or n o t
boolean inside ( int x , int y )
{
Feature p = new Feature (x ,y ,1.0) ;
if ( CW (p1 , p2 , p) && CW (p2 ,p3 , p) && CW (p3 ,p4 , p) && CW (p4 ,p1 , p) )
{ return true ;}
else
{ return false ;}
}

c 2013 Frank Nielsen

19/30
Homography estimation
Projective geometry, homogeneous and inhomogeneous
coordinates.
 ′  


xi
˜
h11 h12 h13
xi
˜
pi′ =  yi′  =  h21 h22 h23   yi  = H pi ,
˜
˜
˜
˜
wi′
h31 h32 h33
wi
wi′ = h31 xi + h32 yi + h33 wi
h11 x +h12 y +h13 w
xi′ = h31 xii +h32 yii +h33 wii , yi′ =
Ai block matrix:

h21 xi +h22 yi +h23 wi
h31 xi +h32 yi +h33 wi .

xi′ (h31 xi + h32 yi + h33 ) = h11 xi + h12 yi + h13 ,
yi′ (h31 xi + h32 yi + h33 ) = h21 xi + h22 yi + h23 .
Solve for Ai h = 0
c 2013 Frank Nielsen

20/30
Homography estimation using inhomogeneous system
Assume h33 = 0 (and set h33 = 1).


x1
0

 x2

0

 x3

0

 x4
0

y1
0
y2
0
y3
0
y4
0

1
0
1
0
1
0
1
0

0
x1
0
x2
0
x3
0
x4

0
y1
0
y2
0
y3
0
y4

0
1
0
1
0
1
0
1

′
−x1 x1
′
−x1 y1
′
−x2 x2
′
−x2 y2
′
−x3 x3
′
−x3 y3
′
−x4 x4
′
−x4 y4

   ′
′
h11
−y1 x1
x1
′
′
−y1 y1  h12  y1 
    ′
′
−y2 x2  h13  x2 
    ′
′
−y2 y2  h21  y2 
  = 
′ ×
′
−y3 x3  h22  x3 
    
′
′
−y3 y3  h23  y3 
    
′
h31  x ′ 
−y4 x
4

′
−y4 y4

4

h32

′
y4

h′

Linear system written:
Bh′ = b.
For four pairs
h′ = B −1 b
.

c 2013 Frank Nielsen

21/30
Homography estimation using the normalized DLT
9

H = UDV

T

λi ui vi⊤ ,

=
i =1

Right eigenvector of V corresponding to the smallest eigenvalue.
(last column vector v9 of V )
When λ9 = 0, the system is exactly determined.
When λ9 > 0, the system is over-determined and λ9 is an indicator
of the goodness of fit of the solution h = v9 .
In practice, this estimation procedure is highly unstable
numerically[2].
Points need to be first normalized√ that their centroid defines the
to
origin, and the diameter is set to 2.

c 2013 Frank Nielsen

22/30
Image editing: Selection swaps
H12 from Q1 to Q2 by composition:
−1
H12 = H1 H2
−1
−1
H21 = H12 = H2 H1
→ backward pixel mapping [3] (avoid holes)

forward mapping
SRC→ DEST (H)

c 2013 Frank Nielsen

backward mapping
DEST→SRC (H −1 )

23/30
Image editing: Selection swaps

c 2013 Frank Nielsen

24/30
Image editing: Selection swaps

c 2013 Frank Nielsen

25/30
Image editing: Selection swaps

c 2013 Frank Nielsen

26/30
Image editing: Selection swaps

c 2013 Frank Nielsen

27/30
Perspective Click-and-Drag UI: Conclusion
◮

Simple UI system relying on computer vision.

◮

Extend to other input formats: Stereo pairs, RGBZ images,
etc.

◮

Implemented using processing.org (2500+ lines)

Ongoing work:
◮

Rely on efficient quad detection: extensive benchmarking
(BSDS500, Corel, ImageNet, etc. databases)

◮

Extend to various perspectively slanted shapes (like ball →
ellipsoids, etc.)

◮

Robust multiple quad-to-square homography estimations [1]?

www.informationgeometry.org
c 2013 Frank Nielsen

28/30
Bibliographic references I
Anders Eriksson and Anton van den Hengel.
Optimization on the manifold of multiple homographies.
pages 24 –249, 2009.
R. I. Hartley and A. Zisserman.
Multiple View Geometry in Computer Vision.
Cambridge University Press, ISBN: 0521540518, second edition, 2004.
Frank Nielsen.
Visual Computing: Geometry, Graphics, and Vision.
Charles River Media / Thomson Delmar Learning, 2005.
Richard Nock and Frank Nielsen.
Statistical region merging.
IEEE Transactions on Pattern Analysis and Machine Intelligence, 26(11):1452–1458, 2004.
Michael Rohs and Christof Roduner.
Camera phones with pen input as annotation devices.
In Pervasive workshop on Pervasive Mobile Interaction Devices (PERMID), pages 23–26, Munich, Germany, 2005.
David Shaw and Nick Barnes.
Perspective rectangle detection.
Proceedings of the Workshop of the Application of, pages 1–152, 2006.
Jianbo Shi and Jitendra Malik.
Normalized cuts and image segmentation.
In Proceedings of the 1997 Conference on Computer Vision and Pattern Recognition (CVPR ’97), CVPR ’97, pages 731–737,
Washington, DC, USA, 1997. IEEE Computer Society.
Zhengyou Zhang and Li wei He.
Whiteboard scanning and image enhancement.
Digital Signal Processing, 17(2):414–432, 2007.

c 2013 Frank Nielsen

29/30
Bibliographic references II

Huiyu Zhou, Xun Wang, and Gerald Schaefer.
Mean shift and its application in image segmentation.
In Halina Kwasnicka and Lakhmi Jain, editors, Innovations in Intelligent Image Analysis, volume 339 of Studies in Computational
Intelligence, pages 291–312. Springer Berlin / Heidelberg, 2011.

c 2013 Frank Nielsen

30/30

More Related Content

What's hot

Local linear approximation
Local linear approximationLocal linear approximation
Local linear approximationTarun Gehlot
 
Output primitives in Computer Graphics
Output primitives in Computer GraphicsOutput primitives in Computer Graphics
Output primitives in Computer GraphicsKamal Acharya
 
Applications of integrals
Applications of integralsApplications of integrals
Applications of integralsnitishguptamaps
 
"The Perspective Transform in Embedded Vision," a Presentation from Cadence
"The Perspective Transform in Embedded Vision," a Presentation from Cadence"The Perspective Transform in Embedded Vision," a Presentation from Cadence
"The Perspective Transform in Embedded Vision," a Presentation from CadenceEdge AI and Vision Alliance
 
Lec02 03 rasterization
Lec02 03 rasterizationLec02 03 rasterization
Lec02 03 rasterizationMaaz Rizwan
 
ABC convergence under well- and mis-specified models
ABC convergence under well- and mis-specified modelsABC convergence under well- and mis-specified models
ABC convergence under well- and mis-specified modelsChristian Robert
 
Circle generation algorithm
Circle generation algorithmCircle generation algorithm
Circle generation algorithmAnkit Garg
 
Intro to scan conversion
Intro to scan conversionIntro to scan conversion
Intro to scan conversionMohd Arif
 
Computer Graphics - Hidden Line Removal Algorithm
Computer Graphics - Hidden Line Removal AlgorithmComputer Graphics - Hidden Line Removal Algorithm
Computer Graphics - Hidden Line Removal AlgorithmJyotiraman De
 
Basics of Integration and Derivatives
Basics of Integration and DerivativesBasics of Integration and Derivatives
Basics of Integration and DerivativesFaisal Waqar
 
Application of definite integrals
Application of definite integralsApplication of definite integrals
Application of definite integralsVaibhav Tandel
 
Lesson 8 the definite integrals
Lesson 8 the definite integralsLesson 8 the definite integrals
Lesson 8 the definite integralsLawrence De Vera
 
7.1 area between curves
7.1 area between curves7.1 area between curves
7.1 area between curvesdicosmo178
 
Chapter 3 Output Primitives
Chapter 3 Output PrimitivesChapter 3 Output Primitives
Chapter 3 Output PrimitivesPrathimaBaliga
 
Benginning Calculus Lecture notes 14 - areas & volumes
Benginning Calculus Lecture notes 14 - areas & volumesBenginning Calculus Lecture notes 14 - areas & volumes
Benginning Calculus Lecture notes 14 - areas & volumesbasyirstar
 
Lesson 16 length of an arc
Lesson 16 length of an arcLesson 16 length of an arc
Lesson 16 length of an arcLawrence De Vera
 
Stratified Monte Carlo and bootstrapping for approximate Bayesian computation
Stratified Monte Carlo and bootstrapping for approximate Bayesian computationStratified Monte Carlo and bootstrapping for approximate Bayesian computation
Stratified Monte Carlo and bootstrapping for approximate Bayesian computationUmberto Picchini
 

What's hot (20)

Intro to ABC
Intro to ABCIntro to ABC
Intro to ABC
 
Local linear approximation
Local linear approximationLocal linear approximation
Local linear approximation
 
Output primitives in Computer Graphics
Output primitives in Computer GraphicsOutput primitives in Computer Graphics
Output primitives in Computer Graphics
 
Applications of integrals
Applications of integralsApplications of integrals
Applications of integrals
 
"The Perspective Transform in Embedded Vision," a Presentation from Cadence
"The Perspective Transform in Embedded Vision," a Presentation from Cadence"The Perspective Transform in Embedded Vision," a Presentation from Cadence
"The Perspective Transform in Embedded Vision," a Presentation from Cadence
 
Calc 7.1a
Calc 7.1aCalc 7.1a
Calc 7.1a
 
Lec02 03 rasterization
Lec02 03 rasterizationLec02 03 rasterization
Lec02 03 rasterization
 
Unit 3
Unit 3Unit 3
Unit 3
 
ABC convergence under well- and mis-specified models
ABC convergence under well- and mis-specified modelsABC convergence under well- and mis-specified models
ABC convergence under well- and mis-specified models
 
Circle generation algorithm
Circle generation algorithmCircle generation algorithm
Circle generation algorithm
 
Intro to scan conversion
Intro to scan conversionIntro to scan conversion
Intro to scan conversion
 
Computer Graphics - Hidden Line Removal Algorithm
Computer Graphics - Hidden Line Removal AlgorithmComputer Graphics - Hidden Line Removal Algorithm
Computer Graphics - Hidden Line Removal Algorithm
 
Basics of Integration and Derivatives
Basics of Integration and DerivativesBasics of Integration and Derivatives
Basics of Integration and Derivatives
 
Application of definite integrals
Application of definite integralsApplication of definite integrals
Application of definite integrals
 
Lesson 8 the definite integrals
Lesson 8 the definite integralsLesson 8 the definite integrals
Lesson 8 the definite integrals
 
7.1 area between curves
7.1 area between curves7.1 area between curves
7.1 area between curves
 
Chapter 3 Output Primitives
Chapter 3 Output PrimitivesChapter 3 Output Primitives
Chapter 3 Output Primitives
 
Benginning Calculus Lecture notes 14 - areas & volumes
Benginning Calculus Lecture notes 14 - areas & volumesBenginning Calculus Lecture notes 14 - areas & volumes
Benginning Calculus Lecture notes 14 - areas & volumes
 
Lesson 16 length of an arc
Lesson 16 length of an arcLesson 16 length of an arc
Lesson 16 length of an arc
 
Stratified Monte Carlo and bootstrapping for approximate Bayesian computation
Stratified Monte Carlo and bootstrapping for approximate Bayesian computationStratified Monte Carlo and bootstrapping for approximate Bayesian computation
Stratified Monte Carlo and bootstrapping for approximate Bayesian computation
 

Viewers also liked

Invest in health entrepreneurship
Invest in health entrepreneurshipInvest in health entrepreneurship
Invest in health entrepreneurshipMoses Talibita
 
взаємне розміщення площин у просторі
взаємне розміщення площин  у просторівзаємне розміщення площин  у просторі
взаємне розміщення площин у просторіnatali7441
 
L’église catholique belge: 9 % plus riche en 2014
L’église catholique belge: 9 % plus riche en 2014L’église catholique belge: 9 % plus riche en 2014
L’église catholique belge: 9 % plus riche en 2014Thierry Debels
 
Part of something
Part of somethingPart of something
Part of somethingAHJoshy
 
2da jornada psba_-_estrategias_para_la_comunicacion_audiovisual_primaria_y_es...
2da jornada psba_-_estrategias_para_la_comunicacion_audiovisual_primaria_y_es...2da jornada psba_-_estrategias_para_la_comunicacion_audiovisual_primaria_y_es...
2da jornada psba_-_estrategias_para_la_comunicacion_audiovisual_primaria_y_es...elenac
 
Para luis angelll mi angell
Para luis angelll mi angellPara luis angelll mi angell
Para luis angelll mi angellyeinacorrea12
 
Las nuevas tecnologias y la educacion
Las nuevas tecnologias y la educacionLas nuevas tecnologias y la educacion
Las nuevas tecnologias y la educacionsilvanaa14
 
Tutorial visual foxpro
Tutorial visual foxproTutorial visual foxpro
Tutorial visual foxproTutik_Susianti
 
Research Strategies
Research StrategiesResearch Strategies
Research StrategiesTraciwm
 
Nos vendra de familia vol.2
Nos vendra de familia vol.2Nos vendra de familia vol.2
Nos vendra de familia vol.2Mami Arllette
 
Instituto tecnológico
Instituto tecnológicoInstituto tecnológico
Instituto tecnológicosofikatita
 
Ancillary 1 – movie poster production diary
Ancillary 1 – movie poster production diaryAncillary 1 – movie poster production diary
Ancillary 1 – movie poster production diaryHollyFairbairn
 
Meninos de-todos-as-cores
Meninos de-todos-as-coresMeninos de-todos-as-cores
Meninos de-todos-as-coresIsabel Ferreira
 

Viewers also liked (20)

Invest in health entrepreneurship
Invest in health entrepreneurshipInvest in health entrepreneurship
Invest in health entrepreneurship
 
взаємне розміщення площин у просторі
взаємне розміщення площин  у просторівзаємне розміщення площин  у просторі
взаємне розміщення площин у просторі
 
L’église catholique belge: 9 % plus riche en 2014
L’église catholique belge: 9 % plus riche en 2014L’église catholique belge: 9 % plus riche en 2014
L’église catholique belge: 9 % plus riche en 2014
 
Respuesta a radicado 20152010782762
Respuesta a radicado 20152010782762Respuesta a radicado 20152010782762
Respuesta a radicado 20152010782762
 
summary IM CV 2015
summary IM CV  2015summary IM CV  2015
summary IM CV 2015
 
Basketball
BasketballBasketball
Basketball
 
Part of something
Part of somethingPart of something
Part of something
 
dialog_laerervejl090715
dialog_laerervejl090715dialog_laerervejl090715
dialog_laerervejl090715
 
2da jornada psba_-_estrategias_para_la_comunicacion_audiovisual_primaria_y_es...
2da jornada psba_-_estrategias_para_la_comunicacion_audiovisual_primaria_y_es...2da jornada psba_-_estrategias_para_la_comunicacion_audiovisual_primaria_y_es...
2da jornada psba_-_estrategias_para_la_comunicacion_audiovisual_primaria_y_es...
 
Para luis angelll mi angell
Para luis angelll mi angellPara luis angelll mi angell
Para luis angelll mi angell
 
Las nuevas tecnologias y la educacion
Las nuevas tecnologias y la educacionLas nuevas tecnologias y la educacion
Las nuevas tecnologias y la educacion
 
Qué es una tabla dinámica
Qué es una tabla dinámicaQué es una tabla dinámica
Qué es una tabla dinámica
 
Tutorial visual foxpro
Tutorial visual foxproTutorial visual foxpro
Tutorial visual foxpro
 
Camm
CammCamm
Camm
 
Research Strategies
Research StrategiesResearch Strategies
Research Strategies
 
Nos vendra de familia vol.2
Nos vendra de familia vol.2Nos vendra de familia vol.2
Nos vendra de familia vol.2
 
Instituto tecnológico
Instituto tecnológicoInstituto tecnológico
Instituto tecnológico
 
Ancillary 1 – movie poster production diary
Ancillary 1 – movie poster production diaryAncillary 1 – movie poster production diary
Ancillary 1 – movie poster production diary
 
Meninos de-todos-as-cores
Meninos de-todos-as-coresMeninos de-todos-as-cores
Meninos de-todos-as-cores
 
TIC`S ANGIE SOTO
TIC`S ANGIE SOTOTIC`S ANGIE SOTO
TIC`S ANGIE SOTO
 

Similar to Slides: Perspective click-and-drag area selections in pictures

CS 354 More Graphics Pipeline
CS 354 More Graphics PipelineCS 354 More Graphics Pipeline
CS 354 More Graphics PipelineMark Kilgard
 
Optimal interval clustering: Application to Bregman clustering and statistica...
Optimal interval clustering: Application to Bregman clustering and statistica...Optimal interval clustering: Application to Bregman clustering and statistica...
Optimal interval clustering: Application to Bregman clustering and statistica...Frank Nielsen
 
TAO Fayan_X-Ray and MIP volume rendering
TAO Fayan_X-Ray and MIP volume renderingTAO Fayan_X-Ray and MIP volume rendering
TAO Fayan_X-Ray and MIP volume renderingFayan TAO
 
Information-theoretic clustering with applications
Information-theoretic clustering  with applicationsInformation-theoretic clustering  with applications
Information-theoretic clustering with applicationsFrank Nielsen
 
Theories and Engineering Technics of 2D-to-3D Back-Projection Problem
Theories and Engineering Technics of 2D-to-3D Back-Projection ProblemTheories and Engineering Technics of 2D-to-3D Back-Projection Problem
Theories and Engineering Technics of 2D-to-3D Back-Projection ProblemSeongcheol Baek
 
ALEXANDER FRACTIONAL INTEGRAL FILTERING OF WAVELET COEFFICIENTS FOR IMAGE DEN...
ALEXANDER FRACTIONAL INTEGRAL FILTERING OF WAVELET COEFFICIENTS FOR IMAGE DEN...ALEXANDER FRACTIONAL INTEGRAL FILTERING OF WAVELET COEFFICIENTS FOR IMAGE DEN...
ALEXANDER FRACTIONAL INTEGRAL FILTERING OF WAVELET COEFFICIENTS FOR IMAGE DEN...sipij
 
Pattern learning and recognition on statistical manifolds: An information-geo...
Pattern learning and recognition on statistical manifolds: An information-geo...Pattern learning and recognition on statistical manifolds: An information-geo...
Pattern learning and recognition on statistical manifolds: An information-geo...Frank Nielsen
 
SPDE presentation 2012
SPDE presentation 2012SPDE presentation 2012
SPDE presentation 2012Zheng Mengdi
 
Fundamentals cig 4thdec
Fundamentals cig 4thdecFundamentals cig 4thdec
Fundamentals cig 4thdecFrank Nielsen
 
CD504 CGM_Lab Manual_004e08d3838702ed11fc6d03cc82f7be.pdf
CD504 CGM_Lab Manual_004e08d3838702ed11fc6d03cc82f7be.pdfCD504 CGM_Lab Manual_004e08d3838702ed11fc6d03cc82f7be.pdf
CD504 CGM_Lab Manual_004e08d3838702ed11fc6d03cc82f7be.pdfRajJain516913
 
Visual Impression Localization of Autonomous Robots_#CASE2015
Visual Impression Localization of Autonomous Robots_#CASE2015Visual Impression Localization of Autonomous Robots_#CASE2015
Visual Impression Localization of Autonomous Robots_#CASE2015Soma Boubou
 
Report Satellite Navigation Systems
Report Satellite Navigation SystemsReport Satellite Navigation Systems
Report Satellite Navigation SystemsFerro Demetrio
 
Image formation
Image formationImage formation
Image formationpotaters
 
Computational Information Geometry on Matrix Manifolds (ICTP 2013)
Computational Information Geometry on Matrix Manifolds (ICTP 2013)Computational Information Geometry on Matrix Manifolds (ICTP 2013)
Computational Information Geometry on Matrix Manifolds (ICTP 2013)Frank Nielsen
 
Lecture 3 image sampling and quantization
Lecture 3 image sampling and quantizationLecture 3 image sampling and quantization
Lecture 3 image sampling and quantizationVARUN KUMAR
 

Similar to Slides: Perspective click-and-drag area selections in pictures (20)

Corisco - 2015
Corisco - 2015Corisco - 2015
Corisco - 2015
 
CS 354 More Graphics Pipeline
CS 354 More Graphics PipelineCS 354 More Graphics Pipeline
CS 354 More Graphics Pipeline
 
Cgm Lab Manual
Cgm Lab ManualCgm Lab Manual
Cgm Lab Manual
 
Optimal interval clustering: Application to Bregman clustering and statistica...
Optimal interval clustering: Application to Bregman clustering and statistica...Optimal interval clustering: Application to Bregman clustering and statistica...
Optimal interval clustering: Application to Bregman clustering and statistica...
 
TAO Fayan_X-Ray and MIP volume rendering
TAO Fayan_X-Ray and MIP volume renderingTAO Fayan_X-Ray and MIP volume rendering
TAO Fayan_X-Ray and MIP volume rendering
 
Information-theoretic clustering with applications
Information-theoretic clustering  with applicationsInformation-theoretic clustering  with applications
Information-theoretic clustering with applications
 
Theories and Engineering Technics of 2D-to-3D Back-Projection Problem
Theories and Engineering Technics of 2D-to-3D Back-Projection ProblemTheories and Engineering Technics of 2D-to-3D Back-Projection Problem
Theories and Engineering Technics of 2D-to-3D Back-Projection Problem
 
ALEXANDER FRACTIONAL INTEGRAL FILTERING OF WAVELET COEFFICIENTS FOR IMAGE DEN...
ALEXANDER FRACTIONAL INTEGRAL FILTERING OF WAVELET COEFFICIENTS FOR IMAGE DEN...ALEXANDER FRACTIONAL INTEGRAL FILTERING OF WAVELET COEFFICIENTS FOR IMAGE DEN...
ALEXANDER FRACTIONAL INTEGRAL FILTERING OF WAVELET COEFFICIENTS FOR IMAGE DEN...
 
Pattern learning and recognition on statistical manifolds: An information-geo...
Pattern learning and recognition on statistical manifolds: An information-geo...Pattern learning and recognition on statistical manifolds: An information-geo...
Pattern learning and recognition on statistical manifolds: An information-geo...
 
SPDE presentation 2012
SPDE presentation 2012SPDE presentation 2012
SPDE presentation 2012
 
Lec15 sfm
Lec15 sfmLec15 sfm
Lec15 sfm
 
Fundamentals cig 4thdec
Fundamentals cig 4thdecFundamentals cig 4thdec
Fundamentals cig 4thdec
 
CD504 CGM_Lab Manual_004e08d3838702ed11fc6d03cc82f7be.pdf
CD504 CGM_Lab Manual_004e08d3838702ed11fc6d03cc82f7be.pdfCD504 CGM_Lab Manual_004e08d3838702ed11fc6d03cc82f7be.pdf
CD504 CGM_Lab Manual_004e08d3838702ed11fc6d03cc82f7be.pdf
 
Visual Impression Localization of Autonomous Robots_#CASE2015
Visual Impression Localization of Autonomous Robots_#CASE2015Visual Impression Localization of Autonomous Robots_#CASE2015
Visual Impression Localization of Autonomous Robots_#CASE2015
 
3.pdf
3.pdf3.pdf
3.pdf
 
Deep Learning for Computer Vision: Attention Models (UPC 2016)
Deep Learning for Computer Vision: Attention Models (UPC 2016)Deep Learning for Computer Vision: Attention Models (UPC 2016)
Deep Learning for Computer Vision: Attention Models (UPC 2016)
 
Report Satellite Navigation Systems
Report Satellite Navigation SystemsReport Satellite Navigation Systems
Report Satellite Navigation Systems
 
Image formation
Image formationImage formation
Image formation
 
Computational Information Geometry on Matrix Manifolds (ICTP 2013)
Computational Information Geometry on Matrix Manifolds (ICTP 2013)Computational Information Geometry on Matrix Manifolds (ICTP 2013)
Computational Information Geometry on Matrix Manifolds (ICTP 2013)
 
Lecture 3 image sampling and quantization
Lecture 3 image sampling and quantizationLecture 3 image sampling and quantization
Lecture 3 image sampling and quantization
 

Recently uploaded

Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 

Recently uploaded (20)

Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

Slides: Perspective click-and-drag area selections in pictures

  • 1. Perspective click-and-drag area selections in pictures Frank NIELSEN www.informationgeometry.org Sony Computer Science Laboratories, Inc. Machine Vision Applications (MVA) 21st May 2013 c 2013 Frank Nielsen 1/30
  • 2. Traditional click and drag rectangular selection → Fails for selecting parts in photos: c 2013 Frank Nielsen 2/30
  • 3. Traditional click and drag rectangular selection → Fails for selecting parts in photos: Cannot capture “New” without part of “Court”. Man-made environments: many perspectively slanted planar parts. c 2013 Frank Nielsen 3/30
  • 4. Perspective click’n’drag Intelligent UI (= computer vision + human computer interface) → Image “parsing” of perspective rectangles (automatic/semi-automatic/manual) c 2013 Frank Nielsen 4/30
  • 5. Video demonstrations Perspective click-and-drag + perspective copy/paste/swap c 2013 Frank Nielsen 5/30
  • 6. Perspective click’n’drag: Outline 1. Preprocessing: Detect & structure perspective parts 1.1 Quad detector: ◮ ◮ ◮ Image segmentation Outer contour quad fitting Quad recognition 1.2 Quad homography tree 2. Interactive user interface: Perspective quad selection based on click-and-drag UI (=diagonal selection) 3. Application example: Interactive image editing (swap) c 2013 Frank Nielsen 6/30
  • 7. Preprocessing workflow c 2013 Frank Nielsen 7/30
  • 8. Quad detection: Sobel/Hough transform How to detect convex quads in images? indoor robotics [6] using vanishing point. Limitations of Hough transform [8] on Sobel image: Combinatorial line arrangement O(n4 )... → good for limited number of detected lines (blackboard detection [8], name card detection, etc.) c 2013 Frank Nielsen 8/30
  • 9. Quad detection: Image segmentation (SRM) → Fast Statistical Region Merging [4] (SRM) Source codes in JavaTM , Matlab R , Python R , C, etc. c 2013 Frank Nielsen 9/30
  • 10. Quad detection: Image segmentation (SRM) c 2013 Frank Nielsen 10/30
  • 11. Quad detector ◮ ◮ ◮ ◮ ◮ For each segmented region, consider its exterior contour C (polygon), Compute the contour diameter, P1 P3 , Compute the upper most P2 and bottom most P4 extremal points Calculate the symmetric Haussdorf distance between quad Q = (P1 , P2 , P3 , P4 ) and contour C , Accept region as quad when distance falls below as prescribed threshold. All quads convex and clockwise oriented. c 2013 Frank Nielsen 11/30
  • 12. Quad detection: Image segmentation (SRM) ... any closed contour image segmentation, → run at different scales (eg., parameter Q in SRM). Alternatively, can also use mean-shift [9], normalized cuts [7], etc. Why? To increase the chance of detecting for some parameter tuning quads. → We end up with a quad soup c 2013 Frank Nielsen 12/30
  • 13. Multi-segmentation Increases the chance of recognizing quads, but get a quad soup. Q = 128 Q = 0.3 c 2013 Frank Nielsen Q = 10 Q = 0.25 13/30
  • 14. Nested convex quad hierarchy ◮ From a quad soup, sort the quads in decreasing order of their area in a priority queue. ◮ Add image boundary quad Q0 as the quad root of the quad tree Q. ◮ ◮ Greedy selection: Add a quad of the queue if and only if it is fully contained in another quad of Q. When adding a quad Qi , compute the homographies [2] Hi and Hi−1 of the quad to the unit square. c 2013 Frank Nielsen 14/30
  • 15. Do not explicit unwarp perspective rectangles Many existing systems first unwarp... source segmented unwarped Mobile cell phone signage recognition [5], AR systems, etc. c 2013 Frank Nielsen 15/30
  • 16. Perspective click’n’drag: User interaction Perspective sub-rectangle selection: Clicking on a corner p1 and dragging the opposite corner p3 . find the deepest quad Q in the quad hierarchy Q that contains both points p1 and p3 . Unit square H p1 p2 ← p ′ 2 perspective dragging p′ = H p 1 ˜1 ˜ H −1 H c 2013 Frank Nielsen  x′ p′ =  y ′  ˜4 1  H −1  ¯ x′ ¯  y′  = 1  regular dragging p4 ← p ′ 4 p3 p′ ˜2 p′ = H p 3 ˜3 ˜ 16/30
  • 17. Some examples of perspective click-and-drag selections Regular vs. perspective rectangle UI selection c 2013 Frank Nielsen 17/30
  • 18. Implementation details: Primitives on convex quads By convention, order quads clockwise. Positive determinant for the two quad-induced triangles: det = ◮ ◮ x1 − x3 x2 − x3 y1 − y3 y2 − y3 Predicate p ∈ Q = (p1 , p2 , p3 , p4 )?: Two queries: p ∈ (p1 , p2 , p3 ) and p ∈ (p3 , p4 , p1 ). Area of a quad: One half of the absolute value of the determinant of the two quad triangles. c 2013 Frank Nielsen 18/30
  • 19. In class Quadrangle double area ( Feature p1 , Feature p2 , Feature p3 ) { double res ; res =( p1 .x - p3 .x ) *( p2 .y - p1 . y) -( p1 .x - p2 . x) *( p3 .y - p1 .y ); return 0.5* Math. abs ( res ); // h a l f of d e t e r m i n a n t } double area () { return ( area (p1 , p2 , p3 ) + area (p1 , p3 , p4 ) ); } // // C l o c k w i s e or a l i g n e d o r d e r p r e d i c a t e // boolean CW ( Feature a , Feature b , Feature c ) { double det =( a.x - c. x) *( b.y -c .y ) -(b .x -c .x ) *( a.y - c. y) ; if ( det >=0.0) { return true ;} else { return false ;} } // D e t e r m i n e if a p i x e l f a l l s i n s i d e t h e q u a d r a n g l e or n o t boolean inside ( int x , int y ) { Feature p = new Feature (x ,y ,1.0) ; if ( CW (p1 , p2 , p) && CW (p2 ,p3 , p) && CW (p3 ,p4 , p) && CW (p4 ,p1 , p) ) { return true ;} else { return false ;} } c 2013 Frank Nielsen 19/30
  • 20. Homography estimation Projective geometry, homogeneous and inhomogeneous coordinates.  ′     xi ˜ h11 h12 h13 xi ˜ pi′ =  yi′  =  h21 h22 h23   yi  = H pi , ˜ ˜ ˜ ˜ wi′ h31 h32 h33 wi wi′ = h31 xi + h32 yi + h33 wi h11 x +h12 y +h13 w xi′ = h31 xii +h32 yii +h33 wii , yi′ = Ai block matrix: h21 xi +h22 yi +h23 wi h31 xi +h32 yi +h33 wi . xi′ (h31 xi + h32 yi + h33 ) = h11 xi + h12 yi + h13 , yi′ (h31 xi + h32 yi + h33 ) = h21 xi + h22 yi + h23 . Solve for Ai h = 0 c 2013 Frank Nielsen 20/30
  • 21. Homography estimation using inhomogeneous system Assume h33 = 0 (and set h33 = 1).  x1 0   x2  0   x3  0   x4 0 y1 0 y2 0 y3 0 y4 0 1 0 1 0 1 0 1 0 0 x1 0 x2 0 x3 0 x4 0 y1 0 y2 0 y3 0 y4 0 1 0 1 0 1 0 1 ′ −x1 x1 ′ −x1 y1 ′ −x2 x2 ′ −x2 y2 ′ −x3 x3 ′ −x3 y3 ′ −x4 x4 ′ −x4 y4    ′ ′ h11 −y1 x1 x1 ′ ′ −y1 y1  h12  y1      ′ ′ −y2 x2  h13  x2      ′ ′ −y2 y2  h21  y2    =  ′ × ′ −y3 x3  h22  x3       ′ ′ −y3 y3  h23  y3       ′ h31  x ′  −y4 x 4 ′ −y4 y4 4 h32 ′ y4 h′ Linear system written: Bh′ = b. For four pairs h′ = B −1 b . c 2013 Frank Nielsen 21/30
  • 22. Homography estimation using the normalized DLT 9 H = UDV T λi ui vi⊤ , = i =1 Right eigenvector of V corresponding to the smallest eigenvalue. (last column vector v9 of V ) When λ9 = 0, the system is exactly determined. When λ9 > 0, the system is over-determined and λ9 is an indicator of the goodness of fit of the solution h = v9 . In practice, this estimation procedure is highly unstable numerically[2]. Points need to be first normalized√ that their centroid defines the to origin, and the diameter is set to 2. c 2013 Frank Nielsen 22/30
  • 23. Image editing: Selection swaps H12 from Q1 to Q2 by composition: −1 H12 = H1 H2 −1 −1 H21 = H12 = H2 H1 → backward pixel mapping [3] (avoid holes) forward mapping SRC→ DEST (H) c 2013 Frank Nielsen backward mapping DEST→SRC (H −1 ) 23/30
  • 24. Image editing: Selection swaps c 2013 Frank Nielsen 24/30
  • 25. Image editing: Selection swaps c 2013 Frank Nielsen 25/30
  • 26. Image editing: Selection swaps c 2013 Frank Nielsen 26/30
  • 27. Image editing: Selection swaps c 2013 Frank Nielsen 27/30
  • 28. Perspective Click-and-Drag UI: Conclusion ◮ Simple UI system relying on computer vision. ◮ Extend to other input formats: Stereo pairs, RGBZ images, etc. ◮ Implemented using processing.org (2500+ lines) Ongoing work: ◮ Rely on efficient quad detection: extensive benchmarking (BSDS500, Corel, ImageNet, etc. databases) ◮ Extend to various perspectively slanted shapes (like ball → ellipsoids, etc.) ◮ Robust multiple quad-to-square homography estimations [1]? www.informationgeometry.org c 2013 Frank Nielsen 28/30
  • 29. Bibliographic references I Anders Eriksson and Anton van den Hengel. Optimization on the manifold of multiple homographies. pages 24 –249, 2009. R. I. Hartley and A. Zisserman. Multiple View Geometry in Computer Vision. Cambridge University Press, ISBN: 0521540518, second edition, 2004. Frank Nielsen. Visual Computing: Geometry, Graphics, and Vision. Charles River Media / Thomson Delmar Learning, 2005. Richard Nock and Frank Nielsen. Statistical region merging. IEEE Transactions on Pattern Analysis and Machine Intelligence, 26(11):1452–1458, 2004. Michael Rohs and Christof Roduner. Camera phones with pen input as annotation devices. In Pervasive workshop on Pervasive Mobile Interaction Devices (PERMID), pages 23–26, Munich, Germany, 2005. David Shaw and Nick Barnes. Perspective rectangle detection. Proceedings of the Workshop of the Application of, pages 1–152, 2006. Jianbo Shi and Jitendra Malik. Normalized cuts and image segmentation. In Proceedings of the 1997 Conference on Computer Vision and Pattern Recognition (CVPR ’97), CVPR ’97, pages 731–737, Washington, DC, USA, 1997. IEEE Computer Society. Zhengyou Zhang and Li wei He. Whiteboard scanning and image enhancement. Digital Signal Processing, 17(2):414–432, 2007. c 2013 Frank Nielsen 29/30
  • 30. Bibliographic references II Huiyu Zhou, Xun Wang, and Gerald Schaefer. Mean shift and its application in image segmentation. In Halina Kwasnicka and Lakhmi Jain, editors, Innovations in Intelligent Image Analysis, volume 339 of Studies in Computational Intelligence, pages 291–312. Springer Berlin / Heidelberg, 2011. c 2013 Frank Nielsen 30/30