Dr. Ulas Bagci bagci@ucfbagci/teaching/computervision16/Lec13.pdfDr. Ulas Bagci [email protected]...
-
Upload
trinhtuyen -
Category
Documents
-
view
222 -
download
4
Transcript of Dr. Ulas Bagci bagci@ucfbagci/teaching/computervision16/Lec13.pdfDr. Ulas Bagci [email protected]...
CAP5415-ComputerVisionLecture13-AdvancedImageSegmentation
(OptimizationProblem)
Lecture13:AdvancedImageSegmentation
1
Reminders• Oct18GuestLecture(Lecture17)Dr.Borji
–BasicsofHumanVisionSystem• Oct20GuestLecture(Lecture18)Dr.Gong
–DeepLearning(CNN,RNN,LSTM,GRU)
• Selectyourprojectby15th ofOctober(UseWebCourse!)
2
Lecture13:AdvancedImageSegmentation
Labeling &Segmentation• Labeling isacommonwayformodelingvariouscomputervisionproblems(e.g.opticalflow,imagesegmentation,stereomatching,etc)
3
Lecture13:AdvancedImageSegmentation
Labeling &Segmentation• Labeling isacommonwayformodelingvariouscomputervisionproblems(e.g.opticalflow,imagesegmentation,stereomatching,etc)
• Thesetoflabelscanbediscrete(asinimagesegmentation)
4
Lecture13:AdvancedImageSegmentation
L = {l1, . . . , lm} with L = m
Labeling &Segmentation• Labeling isacommonwayformodelingvariouscomputervisionproblems(e.g.opticalflow,imagesegmentation,stereomatching,etc)
• Thesetoflabelscanbediscrete(asinimagesegmentation)
• Orcontinuous(asinopticalflow)
5
Lecture13:AdvancedImageSegmentation
L = {l1, . . . , lm} with L = m
L ⇢ Rnfor n � 1
Labelingisafunction• Labelsareassignedtosites (pixellocations)
6
Lecture13:AdvancedImageSegmentation
Labelingisafunction• Labelsareassignedtosites (pixellocations)• Foragivenimage,wehave
7
Lecture13:AdvancedImageSegmentation
|⌦| = Ncols
.Nrows
Labelingisafunction• Labelsareassignedtosites (pixellocations)• Foragivenimage,wehave• Identifyingalabelingfunction(withsegmentation)is
8
Lecture13:AdvancedImageSegmentation
|⌦| = Ncols
.Nrows
f : ⌦ ! L
Labelingisafunction• Labelsareassignedtosites (pixellocations)• Foragivenimage,wehave• Identifyingalabelingfunction(withsegmentation)is
Weaimatcalculatingalabelingfunctionthatminimizesagiven(total)errororenergy
9
Lecture13:AdvancedImageSegmentation
|⌦| = Ncols
.Nrows
f : ⌦ ! L
Labelingisafunction• Labelsareassignedtosites (pixellocations)• Foragivenimage,wehave• Identifyingalabelingfunction(withsegmentation)is
Weaimatcalculatingalabelingfunctionthatminimizesagiven(total)errororenergy
*Aisanadjacencyrelationbetweenpixellocations10
Lecture13:AdvancedImageSegmentation
|⌦| = Ncols
.Nrows
f : ⌦ ! L
E(f) =X
p2⌦
[Edata
(p, fp
) +X
q2A(p)
Esmooth
(fp
, fq
)]
EnergyFunctionTheroleofanenergyfunctioninminimization-basedvisionistwofold:
1. asthequantitativemeasureoftheglobalqualityofthesolutionand
2. asaguidetothesearchforaminimalsolution.
Correctsolutionisembeddedastheminimum.11
Lecture13:AdvancedImageSegmentation
SegmentationasanEnergyMinimizationProblem
• Edata assignsnon-negativepenaltiestoapixellocation pwhenassigningalabeltothislocation.
12
Lecture13:AdvancedImageSegmentation
SegmentationasanEnergyMinimizationProblem
• Edata assignsnon-negativepenaltiestoapixellocation pwhenassigningalabeltothislocation.
• Esmooth assignsnon-negativepenaltiesbycomparingtheassignedlabelsfp andfq atadjacentpositionsp andq.
13
Lecture13:AdvancedImageSegmentation
SegmentationasanEnergyMinimizationProblem
• Edata assignsnon-negativepenaltiestoapixellocation pwhenassigningalabeltothislocation.
• Esmooth assignsnon-negativepenaltiesbycomparingtheassignedlabelsfp andfq atadjacentpositionsp andq.
14
Lecture13:AdvancedImageSegmentation
SegmentationasanEnergyMinimizationProblem
• Edata assignsnon-negativepenaltiestoapixellocation pwhenassigningalabeltothislocation.
• Esmooth assignsnon-negativepenaltiesbycomparingtheassignedlabelsfp andfq atadjacentpositionsp andq.
Thisoptimizationmodelischaracterizedbylocalinteractionsalongedgesbetweenadjacentpixels,andoftencalledMRF(MarkovRandomField)model.
15
Lecture13:AdvancedImageSegmentation
EnergyFunction-Details
16
Lecture13:AdvancedImageSegmentation
E(f) =X
p2⌦
[Edata
(p, fp
) +X
q2A(p)
Esmooth
(fp
, fq
)]
EnergyFunction-Details
• SampleDataTerm:
17
Lecture13:AdvancedImageSegmentation
E(f) =X
p2⌦
[Edata
(p, fp
) +X
q2A(p)
Esmooth
(fp
, fq
)]
Edata(p, fp) = (p)
(p = 0) = �logP (p 2 BG)
(p = 1) = �logP (p 2 FG)
EnergyFunction-Details
• SampleDataTerm:
• SampleSmoothnessTerm:
18
Lecture13:AdvancedImageSegmentation
E(f) =X
p2⌦
[Edata
(p, fp
) +X
q2A(p)
Esmooth
(fp
, fq
)]
Edata(p, fp) = (p)
(p = 0) = �logP (p 2 BG)
(p = 1) = �logP (p 2 FG)
(p, q) = Kpq�(p 6= q) where
Kpq =exp(��(Ip � Iq)2/(2�2))
||p, q||
EnergyFunction-Details
19
Lecture13:AdvancedImageSegmentation
E(p) =X
p2⌦
p(p) +X
p2⌦
X
q2A(p)
pq(p, q)
p⇤ = argminp2L
E(p)
EnergyFunction-Details
• Tosolvethisproblem,transformtheenergyfunctionalintomin-cut/max-flowproblemandsolveit!
20
Lecture13:AdvancedImageSegmentation
E(p) =X
p2⌦
p(p) +X
p2⌦
X
q2A(p)
pq(p, q)
p⇤ = argminp2L
E(p)
EnergyFunction
21
Lecture13:AdvancedImageSegmentation
UnaryCost(dataterm)
DiscontinuityCost
p q
Recap:ImageasaGraph
22
Lecture13:AdvancedImageSegmentation
Node/vertexEdge
pixel
p q
GraphCutsforOptimalBoundaryDetection(BoykovICCV2001)
23
Lecture13:AdvancedImageSegmentation
F
B
F
B
F
F F
F B
B
B
• Binarylabel:foregroundvs.background• Userlabelssomepixels• Exploit
– StatisticsofknownFg &Bg– Smoothnessoflabel
• Turnintodiscretegraphoptimization– Graphcut(mincut/maxflow)
Graph-Cut
24
Lecture13:AdvancedImageSegmentation
EachpixelisconnectedtoitsneighborsinanundirectedgraphGoal:splitnodesintotwosetsAandBbasedonpixelvalues,andtrytoclassifyNeighborsinthesamewaytoo!
Graph-Cut
25
Lecture13:AdvancedImageSegmentation
EachpixelisconnectedtoitsneighborsinanundirectedgraphGoal:splitnodesintotwosetsAandBbasedonpixelvalues,andtrytoclassifyNeighborsinthesamewaytoo!
Graph-Cut
26
Lecture13:AdvancedImageSegmentation
• Eachpixel=node• AddtwonodesF&B• Labeling:linkeachpixeltoeitherForB
F
B
F
B
F
F F
F B
B
B
Desiredresult
CostFunction:Dataterm
27
Lecture13:AdvancedImageSegmentation
• PutoneedgebetweeneachpixelandbothF&G• Weightofedge=minusdataterm
B
F
CostFunction:Smoothnessterm
28
Lecture13:AdvancedImageSegmentation
• Addanedgebetweeneachneighborpair• Weight=smoothnessterm
B
F
Min-Cut
29
Lecture13:AdvancedImageSegmentation
• Energyoptimizationequivalenttographmincut• Cut:removeedgestodisconnectFfromB• Minimum:minimizesumofcutedgeweight
B
Fcut
Min-Cut
30
Lecture13:AdvancedImageSegmentation
Source
Sink
v1 v2
2
5
9
42
1Graph (V, E, C)
Vertices V = {v1, v2 ... vn}Edges E = {(v1, v2) ....}Costs C = {c(1, 2) ....}
Min-Cut
31
Lecture13:AdvancedImageSegmentation
Source
Sink
v1 v2
2
5
9
42
1
Whatisast-cut?
Anst-cut(S,T)divides thenodesbetweensourceandsink.
Whatisthecostofast-cut?
SumofcostofalledgesgoingfromStoT
5 + 2 + 9 = 16
Min-Cut
32
Lecture13:AdvancedImageSegmentation
Whatisast-cut?
Anst-cut(S,T)divides thenodesbetweensourceandsink.
Whatisthecostofast-cut?
SumofcostofalledgesgoingfromStoT
Source
Sink
v1 v2
2
5
9
42
1
2 + 1 + 4 = 7
Whatisthest-mincut?
st-cutwiththeminimumcost
Howtocomputemin-cut?
33
Lecture13:AdvancedImageSegmentation
Source
Sink
v1 v2
2
5
9
42
1
Solve the dual maximum flow problem
In every network, the maximum flow equals the cost of the st-mincut
Min-cut\Max-flow Theorem
Compute the maximum flow between Source and Sink
Constraints
Edges: Flow < Capacity
Nodes: Flow in & Flow out
Max-FlowAlgorithms
34
Lecture13:AdvancedImageSegmentation
Augmenting Path Based Algorithms
1. Find path from source to sink with positive capacity
2. Push maximum possible flow through this path
3. Repeat until no path can be found
Source
Sink
v1 v2
2
5
9
42
1
Algorithms assume non-negative capacity
Flow=0
Max-FlowAlgorithms
35
Lecture13:AdvancedImageSegmentation
Augmenting Path Based Algorithms
1. Find path from source to sink with positive capacity
2. Push maximum possible flow through this path
3. Repeat until no path can be found
Algorithms assume non-negative capacity
Source
Sink
v1 v2
2
5
9
42
1
Flow=0
Max-FlowAlgorithms
36
Lecture13:AdvancedImageSegmentation
Augmenting Path Based Algorithms
1. Find path from source to sink with positive capacity
2. Push maximum possible flow through this path
3. Repeat until no path can be found
Algorithms assume non-negative capacity
Source
Sink
v1 v2
2-2
5-2
9
42
1
Flow=0+2
Max-FlowAlgorithms
37
Lecture13:AdvancedImageSegmentation
Augmenting Path Based Algorithms
1. Find path from source to sink with positive capacity
2. Push maximum possible flow through this path
3. Repeat until no path can be found
Algorithms assume non-negative capacity
Source
Sink
v1 v2
0
3
9
42
1
Flow=2
Max-FlowAlgorithms
38
Lecture13:AdvancedImageSegmentation
Augmenting Path Based Algorithms
1. Find path from source to sink with positive capacity
2. Push maximum possible flow through this path
3. Repeat until no path can be found
Algorithms assume non-negative capacity
Source
Sink
v1 v2
0
3
9
42
1
Flow=2
Max-FlowAlgorithms
39
Lecture13:AdvancedImageSegmentation
Augmenting Path Based Algorithms
1. Find path from source to sink with positive capacity
2. Push maximum possible flow through this path
3. Repeat until no path can be found
Algorithms assume non-negative capacity
Source
Sink
v1 v2
0
3
9
42
1
Flow=2
Max-FlowAlgorithms
40
Lecture13:AdvancedImageSegmentation
Augmenting Path Based Algorithms
1. Find path from source to sink with positive capacity
2. Push maximum possible flow through this path
3. Repeat until no path can be found
Algorithms assume non-negative capacity
Source
Sink
v1 v2
0
3
5
02
1
Flow=2+4
Max-FlowAlgorithms
41
Lecture13:AdvancedImageSegmentation
Augmenting Path Based Algorithms
1. Find path from source to sink with positive capacity
2. Push maximum possible flow through this path
3. Repeat until no path can be found
Algorithms assume non-negative capacity
Source
Sink
v1 v2
0
3
5
02
1
Flow=6
Max-FlowAlgorithms
42
Lecture13:AdvancedImageSegmentation
Augmenting Path Based Algorithms
1. Find path from source to sink with positive capacity
2. Push maximum possible flow through this path
3. Repeat until no path can be found
Algorithms assume non-negative capacity
Source
Sink
v1 v2
0
3
5
02
1
Flow=6
Max-FlowAlgorithms
43
Lecture13:AdvancedImageSegmentation
Augmenting Path Based Algorithms
1. Find path from source to sink with positive capacity
2. Push maximum possible flow through this path
3. Repeat until no path can be found
Algorithms assume non-negative capacity
Source
Sink
v1 v2
0
2
4
02+1
1-1
Flow=6+1
Max-FlowAlgorithms
44
Lecture13:AdvancedImageSegmentation
Augmenting Path Based Algorithms
1. Find path from source to sink with positive capacity
2. Push maximum possible flow through this path
3. Repeat until no path can be found
Algorithms assume non-negative capacity
Source
Sink
v1 v2
0
2
4
03
0
Flow=7
Max-FlowAlgorithms
45
Lecture13:AdvancedImageSegmentation
Augmenting Path Based Algorithms
1. Find path from source to sink with positive capacity
2. Push maximum possible flow through this path
3. Repeat until no path can be found
Algorithms assume non-negative capacity
Source
Sink
v1 v2
0
2
4
03
0
Flow=7
AnotherExample-MaxFlow
46
Lecture13:AdvancedImageSegmentation
source
sink
9
5
6
8
42
2
2
5
3
5
5
311
6
2
3
Ford & Fulkerson algorithm (1956)
Find the path from source to sink
While (path exists)
flow += maximum capacity in the path
Build the residual graph (“subtract” the flow)
Find the path in the residual graph
End
AnotherExample-MaxFlow
47
Lecture13:AdvancedImageSegmentation
source
sink
9
5
6
8
42
2
2
5
3
5
5
311
6
2
3
Ford & Fulkerson algorithm (1956)
Find the path from source to sink
While (path exists)
flow += maximum capacity in the path
Build the residual graph (“subtract” the flow)
Find the path in the residual graph
End
AnotherExample-MaxFlow
48
Lecture13:AdvancedImageSegmentation
source
sink
9
5
6
8
42
2
2
5
3
5
5
311
6
2
3
Ford & Fulkerson algorithm (1956)
Find the path from source to sink
While (path exists)
flow += maximum capacity in the path
Build the residual graph (“subtract” the flow)
Find the path in the residual graph
End
flow = 3
AnotherExample-MaxFlow
49
Lecture13:AdvanceImageSegmentation
source
sink
9
5
6-3
8-3
42+3
2
2
5-3
3-3
5
5
311
6
2
3
Ford & Fulkerson algorithm (1956)
Find the path from source to sink
While (path exists)
flow += maximum capacity in the path
Build the residual graph (“subtract” the flow)
Find the path in the residual graph
End
flow = 3
+3
AnotherExample-MaxFlow
50
Lecture13:AdvancedImageSegmentation
source
sink
9
5
3
5
45
2
2
2
5
5
311
6
2
3
Ford & Fulkerson algorithm (1956)
Find the path from source to sink
While (path exists)
flow += maximum capacity in the path
Build the residual graph (“subtract” the flow)
Find the path in the residual graph
End
flow = 3
3
AnotherExample-MaxFlow
51
Lecture13:AdvancedImageSegmentation
source
sink
9
5
3
5
45
2
2
2
5
5
311
6
2
3
Ford & Fulkerson algorithm (1956)
Find the path from source to sink
While (path exists)
flow += maximum capacity in the path
Build the residual graph (“subtract” the flow)
Find the path in the residual graph
End
flow = 3
3
AnotherExample-MaxFlow
52
Lecture13:AdvancedImageSegmentation
source
sink
9
5
3
5
45
2
2
2
5
5
311
6
2
3
Ford & Fulkerson algorithm (1956)
Find the path from source to sink
While (path exists)
flow += maximum capacity in the path
Build the residual graph (“subtract” the flow)
Find the path in the residual graph
End
flow = 6
3
AnotherExample-MaxFlow
53
Lecture13:AdvancedImageSegmentation
source
sink
9-3
5
3
5-3
45
2
2
2
5
5
3-311
6
2
3-3
Ford & Fulkerson algorithm (1956)
Find the path from source to sink
While (path exists)
flow += maximum capacity in the path
Build the residual graph (“subtract” the flow)
Find the path in the residual graph
End
flow = 6
3
+3
+3
AnotherExample-MaxFlow
54
Lecture13:AdvancedImageSegmentation
source
sink
6
5
3
2
45
2
2
2
5
5
11
6
2
Ford & Fulkerson algorithm (1956)
Find the path from source to sink
While (path exists)
flow += maximum capacity in the path
Build the residual graph (“subtract” the flow)
Find the path in the residual graph
End
flow = 6
3
3
3
AnotherExample-MaxFlow
55
Lecture13:AdvancedImageSegmentation
source
sink
6
5
3
2
45
2
2
2
5
5
11
6
2
Ford & Fulkerson algorithm (1956)
Find the path from source to sink
While (path exists)
flow += maximum capacity in the path
Build the residual graph (“subtract” the flow)
Find the path in the residual graph
End
flow = 6
3
3
3
AnotherExample-MaxFlow
56
Lecture13:AdvancedImageSegmentation
source
sink
6
5
3
2
45
2
2
2
5
5
11
6
2
Ford & Fulkerson algorithm (1956)
Find the path from source to sink
While (path exists)
flow += maximum capacity in the path
Build the residual graph (“subtract” the flow)
Find the path in the residual graph
End
flow = 11
3
3
3
AnotherExample-MaxFlow
57
Lecture13:AdvancedImageSegmentation
source
sink
6-5
5-5
3
2
45
2
2
2
5-5
5-5
1+51
6
2+5
Ford & Fulkerson algorithm (1956)
Find the path from source to sink
While (path exists)
flow += maximum capacity in the path
Build the residual graph (“subtract” the flow)
Find the path in the residual graph
End
flow = 11
3
3
3
AnotherExample-MaxFlow
58
Lecture13:AdvancedImageSegmentation
source
sink
1
3
2
45
2
2
2
61
6
7
Ford & Fulkerson algorithm (1956)
Find the path from source to sink
While (path exists)
flow += maximum capacity in the path
Build the residual graph (“subtract” the flow)
Find the path in the residual graph
End
flow = 11
3
33
AnotherExample-MaxFlow
59
Lecture13:AdvancedImageSegmentation
source
sink
1
3
2
45
2
2
2
61
6
7
Ford & Fulkerson algorithm (1956)
Find the path from source to sink
While (path exists)
flow += maximum capacity in the path
Build the residual graph (“subtract” the flow)
Find the path in the residual graph
End
flow = 11
3
33
AnotherExample-MaxFlow
60
Lecture13:AdvancedImageSegmentation
source
sink
1
3
2
45
2
2
2
61
6
7
Ford & Fulkerson algorithm (1956)
Find the path from source to sink
While (path exists)
flow += maximum capacity in the path
Build the residual graph (“subtract” the flow)
Find the path in the residual graph
End
flow = 13
3
33
AnotherExample-MaxFlow
61
Lecture13:AdvancedImageSegmentation
source
sink
1
3
2-2
45
2-2
2-2
2-2
61
6
7
Ford & Fulkerson algorithm (1956)
Find the path from source to sink
While (path exists)
flow += maximum capacity in the path
Build the residual graph (“subtract” the flow)
Find the path in the residual graph
End
flow = 13
3
33
+2
+2
AnotherExample-MaxFlow
62
Lecture13:AdvancedImageSegmentation
source
sink
1
3
45
61
6
7
Ford & Fulkerson algorithm (1956)
Find the path from source to sink
While (path exists)
flow += maximum capacity in the path
Build the residual graph (“subtract” the flow)
Find the path in the residual graph
End
flow = 13
3
33
2
2
AnotherExample-MaxFlow
63
Lecture13:AdvancedImageSegmentation
source
sink
1
3
45
61
6
7
Ford & Fulkerson algorithm (1956)
Find the path from source to sink
While (path exists)
flow += maximum capacity in the path
Build the residual graph (“subtract” the flow)
Find the path in the residual graph
End
flow = 13
3
33
2
2
AnotherExample-MaxFlow
64
Lecture13:AdvancedImageSegmentation
source
sink
1
3
45
61
6
7
Ford & Fulkerson algorithm (1956)
Find the path from source to sink
While (path exists)
flow += maximum capacity in the path
Build the residual graph (“subtract” the flow)
Find the path in the residual graph
End
flow = 15
3
33
2
2
AnotherExample-MaxFlow
65
Lecture13:AdvancedImageSegmentation
source
sink
1
3-2
4-25
61
6-2
7
Ford & Fulkerson algorithm (1956)
Find the path from source to sink
While (path exists)
flow += maximum capacity in the path
Build the residual graph (“subtract” the flow)
Find the path in the residual graph
End
flow = 15
3
33+2
2
2-2
+2
AnotherExample-MaxFlow
66
Lecture13:AdvancedImageSegmentation
source
sink
1
1
5
61
4
7
Ford & Fulkerson algorithm (1956)
Find the path from source to sink
While (path exists)
flow += maximum capacity in the path
Build the residual graph (“subtract” the flow)
Find the path in the residual graph
End
flow = 15
3
35
2
2
2
AnotherExample-MaxFlow
67
Lecture13:AdvancedImageSegmentation
source
sink
1
1
5
61
4
7
Ford & Fulkerson algorithm (1956)
Find the path from source to sink
While (path exists)
flow += maximum capacity in the path
Build the residual graph (“subtract” the flow)
Find the path in the residual graph
End
flow = 15
3
35
2
2
2
AnotherExample-MaxFlow
68
Lecture13:AdvancedImageSegmentation
source
sink
1
1
5
61
4
7
Ford & Fulkerson algorithm (1956)
Find the path from source to sink
While (path exists)
flow += maximum capacity in the path
Build the residual graph (“subtract” the flow)
Find the path in the residual graph
End
flow = 15
3
35
2
2
2
AnotherExample-MaxFlow
69
Lecture13:AdvancedImageSegmentation
source
sink
1
1
5
61
4
7
Ford & Fulkerson algorithm (1956)
Why is the solution globally optimal ?
flow = 15
3
35
2
2
2
AnotherExample-MaxFlow
70
Lecture13:AdvancedImageSegmentation
source
sink
1
1
5
61
4
7
Ford & Fulkerson algorithm (1956)
Why is the solution globally optimal ?
1. Let S be the set of reachable nodes in the
residual graph
flow = 15
3
35
2
2
2
S
AnotherExample-MaxFlow
71
Lecture13:AdvancedImageSegmentation
Ford & Fulkerson algorithm (1956)
Why is the solution globally optimal ?
1. Let S be the set of reachable nodes in the
residual graph
2. The flow from S to V - S equals to the sum
of capacities from S to V – S
source
sink
9
5
6
8
42
2
2
5
3
5
5
311
6
2
3
S
AnotherExample-MaxFlow
72
Lecture13:AdvancedImageSegmentation
flow = 15
Ford & Fulkerson algorithm (1956)
Why is the solution globally optimal ?
1. Let S be the set of reachable nodes in the residual graph
2. The flow from S to V - S equals to the sum of capacities from S to V – S
3. The flow from any A to V - A is upper bounded by the sum of capacities from A to V – A
4. The solution is globally optimal
source
sink
8/9
5/5
5/6
8/8
2/40/2
2/2
0/2
5/5
3/3
5/5
5/5
3/30/10/1
2/6
0/2
3/3
Individual flows obtained by summing up all paths
AnotherExample-MaxFlow
73
Lecture13:AdvancedImageSegmentation
source
sink
9
5
6
8
42
2
2
5
3
5
5
311
6
2
3
S
T
cost = 18
source
sink
9
5
6
8
42
2
2
5
3
5
5
311
6
2
3
S
T
AnotherExample-MaxFlow
74
Lecture13:AdvancedImageSegmentation
source
sink
9
5
6
8
42
2
2
5
3
5
5
311
6
2
3
S
T
cost = 23
AnotherExample-MaxFlow
75
Lecture13:AdvancedImageSegmentation
C(x) = 5x1 + 9x2 + 4x3 + 3x3(1-x1) + 2x1(1-x3)
+ 3x3(1-x1) + 2x2(1-x3) + 5x3(1-x2) + 2x4(1-x1)
+ 1x5(1-x1) + 6x5(1-x3) + 5x6(1-x3) + 1x3(1-x6)
+ 3x6(1-x2) + 2x4(1-x5) + 3x6(1-x5) + 6(1-x4)
+ 8(1-x5) + 5(1-x6)
source
sink
9
5
6
8
42
2
2
5
3
5
5
311
6
2
3
x1 x2
x3
x4
x5
x6
AnotherExample-MaxFlow
76
Lecture13:AdvancedImageSegmentation
C(x) = 2x1 + 9x2 + 4x3 + 2x1(1-x3)
+ 3x3(1-x1) + 2x2(1-x3) + 5x3(1-x2) + 2x4(1-x1)
+ 1x5(1-x1) + 3x5(1-x3) + 5x6(1-x3) + 1x3(1-x6)
+ 3x6(1-x2) + 2x4(1-x5) + 3x6(1-x5) + 6(1-x4)
+ 5(1-x5) + 5(1-x6)
+ 3x1 + 3x3(1-x1) + 3x5(1-x3) + 3(1-x5)
source
sink
9
5
6
8
42
2
2
5
3
5
5
311
6
2
3
x1 x2
x3
x4
x5
x6
AnotherExample-MaxFlow
77
Lecture13:AdvancedImageSegmentation
C(x) = 2x1 + 9x2 + 4x3 + 2x1(1-x3)
+ 3x3(1-x1) + 2x2(1-x3) + 5x3(1-x2) + 2x4(1-x1)
+ 1x5(1-x1) + 3x5(1-x3) + 5x6(1-x3) + 1x3(1-x6)
+ 3x6(1-x2) + 2x4(1-x5) + 3x6(1-x5) + 6(1-x4)
+ 5(1-x5) + 5(1-x6)
+ 3x1 + 3x3(1-x1) + 3x5(1-x3) + 3(1-x5)
3x1 + 3x3(1-x1) + 3x5(1-x3) + 3(1-x5)
=
3 + 3x1(1-x3) + 3x3(1-x5)
source
sink
9
5
6
8
42
2
2
5
3
5
5
311
6
2
3
x1 x2
x3
x4
x5
x6
AnotherExample-MaxFlow
78
Lecture13:AdvancedImageSegmentation
C(x) = 3 + 2x1 + 6x2 + 4x3 + 5x1(1-x3)
+ 3x3(1-x1) + 2x2(1-x3) + 5x3(1-x2) + 2x4(1-x1)
+ 1x5(1-x1) + 3x5(1-x3) + 5x6(1-x3) + 1x3(1-x6)
+ 2x5(1-x4) + 6(1-x4)
+ 2(1-x5) + 5(1-x6) + 3x3(1-x5)
+ 3x2 + 3x6(1-x2) + 3x5(1-x6) + 3(1-x5)
3x2 + 3x6(1-x2) + 3x5(1-x6) + 3(1-x5)
=
3 + 3x2(1-x6) + 3x6(1-x5)
source
sink
9
5
3
5
45
2
2
2
5
5
311
6
2
33
x1 x2
x3
x4
x5
x6
AnotherExample-MaxFlow
79
Lecture13:AdvancedImageSegmentation
C(x) = 6 + 2x1 + 6x2 + 4x3 + 5x1(1-x3)
+ 3x3(1-x1) + 2x2(1-x3) + 5x3(1-x2) + 2x4(1-x1)
+ 1x5(1-x1) + 3x5(1-x3) + 5x6(1-x3) + 1x3(1-x6)
+ 2x5(1-x4) + 6(1-x4) + 3x2(1-x6) + 3x6(1-x5)
+ 2(1-x5) + 5(1-x6) + 3x3(1-x5)
source
sink
6
5
3
2
45
2
2
2
5
5
11
6
2
3
3
3
x1 x2
x3
x4
x5
x6
AnotherExample-MaxFlow
80
Lecture13:AdvancedImageSegmentation
C(x) = 15 + 1x2 + 4x3 + 5x1(1-x3)
+ 3x3(1-x1) + 7x2(1-x3) + 2x1(1-x4)
+ 1x5(1-x1) + 6x3(1-x6) + 6x3(1-x5)
+ 2x5(1-x4) + 4(1-x4) + 3x2(1-x6) + 3x6(1-x5)
source
sink
1
1
5
61
4
7
3
35
2
2
2x1 x2
x3
x4
x5
x6 cost = 0
min cut
S
T
cost = 0
• All coefficients positive
• Must be global minimum
S – set of reachable nodes from s
HistoryofMax-FlowAlgorithms
81
Lecture13:AdvancedImageSegmentation
Augmenting Path and Push-Relabel
n:#nodesm:#edgesU:maximumedgeweight
Algorithms assume non-negative edge
weights
ExampleSegmentationinaVideo
82
Lecture13:AdvancedImageSegmentation
Image Flow GlobalOptimum
pqw
n-links st-cuts
t
= 0
= 1
E(x) x*
SegmentationExample
83
Lecture13:AdvancedImageSegmentation
SegmentationExample
84
Lecture13:AdvancedImageSegmentation
SegmentationExample
85
Lecture13:AdvancedImageSegmentation
Optimality?
86
Lecture13:AdvancedImageSegmentation
Seeds GrabCut(iterativeGCWithboxprior)
VascularSurfaceSegmentationviaGC10/1/15
87
Lecture13:AdvancedImageSegmentation
SlideCreditsandReferences• Fredo DurandofMIT• M.Tappen ofAmazon• R.Szelisky,Univ.ofWashington/Seatle• http://www.csd.uwo.ca/faculty/yuri/Abstracts/eccv06-tutorial.html• J.Malcolm,GraphCutinTensorScale• InteractiveGraphCutsforOptimalBoundary&RegionSegmentationofObjectsin
N-Dimages.YuriBoykov andMarie-Pierre Jolly.InInternationalConference onComputerVision,(ICCV),vol.I,2001.http://www.csd.uwo.ca/~yuri/Abstracts/iccv01-abs.html
• http://www.cse.yorku.ca/~aaw/Wang/MaxFlowStart.htm• http://research.microsoft.com/vision/cambridge/i3l/segmentation/GrabCut.htm• http://www.cc.gatech.edu/cpl/projects/graphcuttextures/• AComparativeStudyofEnergyMinimizationMethodsforMarkovRandomFields.
RickSzeliski,Ramin Zabih,DanielScharstein,OlgaVeksler,VladimirKolmogorov,Aseem Agarwala,MarshallTappen,Carsten Rother.ECCV2006www.cs.cornell.edu/~rdz/Papers/SZSVKATR.pdf
• P.Kumar,OxfordUniversity.
88
Lecture13:AdvancedImageSegmentation