optimization algorithms for solving computer vision problems

42
Optimization algorithms for solving computer vision problems Olgierd Stankiewicz Krzysztof Wegner Chair of Multimedia Telecommunications and Microelectronics Poznań University of Technology Poznań, April 2015

Upload: krzysztof-wegner

Post on 11-Apr-2017

170 views

Category:

Education


2 download

TRANSCRIPT

AHG14 Report

Optimization algorithms for solving computer vision problemsOlgierd StankiewiczKrzysztof Wegner

Chair of Multimedia Telecommunications and MicroelectronicsPozna University of Technology

Pozna, April 2015

1

Computer Vision ProblemsSegmentationAssigning each pixel of the image to a certain segmentDepth estimationAssigning a depth value to each pixel of the image

2

Computer Vision ProblemsImage stitchingAssigning each pixelof the output image to a certain source image (transformed)Image restorationAssigning to each pixel of the output image a colour from the source image

3

Computer Vision GeneralizationCan be seen as labeling problemAssigning to each pixel of the output imagea label defined in a certain wayLabel is an index from all possible answersSegment indexDisparityStitched image indexColour

4

1255621435344183540472967224536821400343

Energy minimizationThere are many ways to label pixels in an imageWhich one is better?What it the goal?Energy minimalization problem

5

Simple?Not simple!Multivariable, e.g. 1920 x 1080 2M varables Energy function can be very complexNon-monotonicNon-linearImplicit, with inter-label referencesClassic Stepest DesentNot too efficientWould probably not find the solution anyway

6

Efficient minimalizationSpecial class of energy functions can be minimalized more efficientlyEnergy function decomposed into sum of:Unary terms

Pairwise terms

Unary and pairwise terms7

Efficient minimalizationEven more efficient whenBinary labeling problemFunction argument can be 0 or 1Energy function is convex (submodular)Triangle inequality

E.g.MonotoneLinear (Planar etc.)

8

Example 19

}

Unary termsPairwise terms

Example 210

}

Unary termsPairwise terms

Optimization algorithmsViterbiState transitionsWell knowmBelief PropagationMessage passingPresented before

Graph Cuts11

Graph CutsGraph Cuts can be used for efficient unary and pairwise energy minimizationMin Cut == Max Flow theoremSolving of Minimal Cut problem in a graphis equal to solving of Maximal Flow problem in the same graphEfficient generic algorithmsExpression of energy minimization problemas MinCut12

GraphsNodesEdgesCapacityFlow (in a particular solution)ConstraintsFlow CapacityFlow conservationE.g. communication network13

Minimum s-t cutsSpecial nodesS - SourceT - Sink (Terminal)AlgorithmsAugmenting paths [Ford & Fulkerson, 1962]Push-relabel [Goldberg-Tarjan, 1986]14

Augmenting PathsFind a path from S to T along non-saturated edgesIncrease flow along this path until some edge saturates

15

Augmenting PathsFind next pathIncrease flow

16

Augmenting PathsIterate until all paths from S to T have at least one saturated edge

17

ExampleLets assume a graphNodes: s,o,p,q,r,tFlow=0

18

ExamplePath 1, Free Capacity:219

ExamplePath 1, Add Flow:2

20

ExamplePath 2, Free Capacity:1

21

ExamplePath 2, Add Flow:1

22

ExamplePath 3, Free Capacity:0

23

ExamplePath 4, Free Capacity:2

24

ExamplePath 4, Add Flow:2

25

Example - flowFlow from sink: 5 = Flow to terminal: 5Maximal flow = 526

Example - cutAll possible cuts27

Example minimal cutMinimal Cut = 5 Two equi-optimal cuts

28

Complexity29

Graph construction30

Each cut throught the graph must represent energy (some potential solution)The graph is a sum of elementary graphs for each energy term

Graph construction31

s

t

s

t

Graph constructionx32

s

t

Graph construction33=+++

Graph construction

34

s

t

Multilabel energy35

Ishikawa graphRoy&Cox 98 and Ishikawa 1998, 2000, 2003

36

Ishikawa graph

37

Ishikawa graph38Many nodes required at onceMany edgesVery slowRestricted only to linear, pairwise terms

a-expansion 39

a-expansion

Start with any* initial solutionFor each label a in any (e.g. random) orderCompute optimal a-expansion move (binary problem)Reject the move if there is no energy decreaseStop when no expansion move would decrease energy40

a-expansionTypically two cycles throught all labels are required*Depends on the initial solution

At given iteration some solution is knownIn Ishikawa only after solving the whole graph41

Thank you for attentionQuestions?42