Lecture 1 -
- Philipp Krähenbühl
Q&A ¡of ¡GrabCut ¡
Philipp ¡Krähenbühl ¡
6-‑May-‑13 ¡ 1 ¡
Q&A of GrabCut Philipp Krhenbhl 1 6-May-13 - - PowerPoint PPT Presentation
Q&A of GrabCut Philipp Krhenbhl 1 6-May-13 Lecture 1 - Philipp Krhenbhl Goal Bounding Box provided 2 6-May-13 Philipp
Lecture 1 -
6-‑May-‑13 ¡ 1 ¡
Lecture 1 -
6-‑May-‑13 ¡ 2 ¡
Lecture 1 -
6-‑May-‑13 ¡ 3 ¡
Lecture 1 -
6-‑May-‑13 ¡ 4 ¡
n
n,m
Lecture 1 -
6-‑May-‑13 ¡ 5 ¡
Initialisation
ground is set to TF = / 0; TU = T B, complement of the back- ground.
αn = 0 and αn = 1 respectively. Iterative minimisation
kn := argmin
kn
Dn(αn,kn,θ,zn).
θ := argmin
θ U(α,k,θ,z)
min
{αn: n∈T
U} min
k E(α,k,θ,z).
User editing
imisation algorithm.
Lecture 1 -
6-‑May-‑13 ¡ 6 ¡
Initialisation
ground is set to TF = / 0; TU = T B, complement of the back- ground.
αn = 0 and αn = 1 respectively. Iterative minimisation
kn := argmin
kn
Dn(αn,kn,θ,zn).
θ := argmin
θ U(α,k,θ,z)
min
{αn: n∈T
U} min
k E(α,k,θ,z).
User editing
imisation algorithm.
Lecture 1 -
6-‑May-‑13 ¡ 7 ¡
Initialisation
ground is set to TF = / 0; TU = T B, complement of the back- ground.
αn = 0 and αn = 1 respectively. Iterative minimisation
kn := argmin
kn
Dn(αn,kn,θ,zn).
θ := argmin
θ U(α,k,θ,z)
min
{αn: n∈T
U} min
k E(α,k,θ,z).
User editing
imisation algorithm.
Lecture 1 -
6-‑May-‑13 ¡ 8 ¡
Initialisation
ground is set to TF = / 0; TU = T B, complement of the back- ground.
αn = 0 and αn = 1 respectively. Iterative minimisation
kn := argmin
kn
Dn(αn,kn,θ,zn).
θ := argmin
θ U(α,k,θ,z)
min
{αn: n∈T
U} min
k E(α,k,θ,z).
User editing
imisation algorithm.
Lecture 1 -
6-‑May-‑13 ¡ 9 ¡
Initialisation
ground is set to TF = / 0; TU = T B, complement of the back- ground.
αn = 0 and αn = 1 respectively. Iterative minimisation
kn := argmin
kn
Dn(αn,kn,θ,zn).
θ := argmin
θ U(α,k,θ,z)
min
{αn: n∈T
U} min
k E(α,k,θ,z).
User editing
imisation algorithm.
Lecture 1 -
6-‑May-‑13 ¡ 10 ¡
Initialisation
ground is set to TF = / 0; TU = T B, complement of the back- ground.
αn = 0 and αn = 1 respectively. Iterative minimisation
kn := argmin
kn
Dn(αn,kn,θ,zn).
θ := argmin
θ U(α,k,θ,z)
min
{αn: n∈T
U} min
k E(α,k,θ,z).
User editing
imisation algorithm.
Dn(αn,kn,θ, zn) = −logπ(αn,kn)+ 1 2 logdet Σ(αn,kn) + 1 2 zn −µ(αn,kn)
[ ]
T Σ(αn,kn)−1 zn −µ(αn,kn)
[ ]
Lecture 1 -
6-‑May-‑13 ¡ 11 ¡
Initialisation
ground is set to TF = / 0; TU = T B, complement of the back- ground.
αn = 0 and αn = 1 respectively. Iterative minimisation
kn := argmin
kn
Dn(αn,kn,θ,zn).
θ := argmin
θ U(α,k,θ,z)
min
{αn: n∈T
U} min
k E(α,k,θ,z).
User editing
imisation algorithm.
k
n∈F(k)(zn)
n∈F(k)(zn)
Lecture 1 -
6-‑May-‑13 ¡ 12 ¡
Initialisation
ground is set to TF = / 0; TU = T B, complement of the back- ground.
αn = 0 and αn = 1 respectively. Iterative minimisation
kn := argmin
kn
Dn(αn,kn,θ,zn).
θ := argmin
θ U(α,k,θ,z)
min
{αn: n∈T
U} min
k E(α,k,θ,z).
User editing
imisation algorithm.
min
k E(α,k,θ, z) =
min
kn D(αn,kn,θ, zn) D(αn,θ,zn )
n
+γ wn,m[αn ≠αm]
n,m
Lecture 1 -
Use ¡energy.h ¡and ¡maxflow.cpp ¡
¡ // initialization std::vector<Energy::Var> vars(N); Energy e;
vars[i] = e.add_variable();
e.add_term1(vars[i], u0, u1); // add the pairwise term for an edge e.add_term2(vars[i], vars[j], p00, p01, p10, p11);
Energy::TotalValue mnE = e.minimize();
if (e.get_var(vars[i])) label[i] = 1; else label[i] = 0;
6-‑May-‑13 ¡ 13 ¡
Initialisation
ground is set to TF = / 0; TU = T B, complement of the back- ground.
αn = 0 and αn = 1 respectively. Iterative minimisation
kn := argmin
kn
Dn(αn,kn,θ,zn).
θ := argmin
θ U(α,k,θ,z)
min
{αn: n∈T
U} min
k E(α,k,θ,z).
User editing
imisation algorithm.
min
k E(α,k,θ, z) =
D(αn,θ, zn)
n
+γ wn,m[αn ≠αm]
n,m
D(0,θ, zn) D(1,θ, zn)
Lecture 1 -
Use ¡energy.h ¡and ¡maxflow.cpp ¡
¡ // initialization std::vector<Energy::Var> vars(N); Energy e;
vars[i] = e.add_variable();
e.add_term1(vars[i], u0, u1); // add the pairwise term for an edge e.add_term2(vars[i], vars[j], p00, p01, p10, p11);
Energy::TotalValue mnE = e.minimize();
if (e->get_var(vars[i])) label[i] = 1; else label[i] = 0;
6-‑May-‑13 ¡ 14 ¡
Initialisation
ground is set to TF = / 0; TU = T B, complement of the back- ground.
αn = 0 and αn = 1 respectively. Iterative minimisation
kn := argmin
kn
Dn(αn,kn,θ,zn).
θ := argmin
θ U(α,k,θ,z)
min
{αn: n∈T
U} min
k E(α,k,θ,z).
User editing
imisation algorithm.
min
k E(α,k,θ, z) =
D(αn,θ, zn)
n
+γ wn,m[αn ≠αm]
n,m
Lecture 1 -
Use ¡energy.h ¡and ¡maxflow.cpp ¡
¡ // initialization std::vector<Energy::Var> vars(N); Energy e;
vars[i] = e.add_variable();
e.add_term1(vars[i], u0, u1); // add the pairwise term for an edge e.add_term2(vars[i], vars[j], 0, vij, vij, 0);
Energy::TotalValue mnE = e.minimize();
if (e->get_var(vars[i])) label[i] = 1; else label[i] = 0;
6-‑May-‑13 ¡ 15 ¡
Initialisation
ground is set to TF = / 0; TU = T B, complement of the back- ground.
αn = 0 and αn = 1 respectively. Iterative minimisation
kn := argmin
kn
Dn(αn,kn,θ,zn).
θ := argmin
θ U(α,k,θ,z)
min
{αn: n∈T
U} min
k E(α,k,θ,z).
User editing
imisation algorithm.
min
k E(α,k,θ, z) =
D(αn,θ, zn)
n
+γ wn,m[αn ≠αm]
n,m
vij =γ exp(−β zi − zj
2)
Lecture 1 -
6-‑May-‑13 ¡ 16 ¡
Initialisation
ground is set to TF = / 0; TU = T B, complement of the back- ground.
αn = 0 and αn = 1 respectively. Iterative minimisation
kn := argmin
kn
Dn(αn,kn,θ,zn).
θ := argmin
θ U(α,k,θ,z)
min
{αn: n∈T
U} min
k E(α,k,θ,z).
User editing
imisation algorithm.
vij =γ exp(−β zi − zj
2)
Lecture 1 -
6-‑May-‑13 ¡ 17 ¡
Initialisation
ground is set to TF = / 0; TU = T B, complement of the back- ground.
αn = 0 and αn = 1 respectively. Iterative minimisation
kn := argmin
kn
Dn(αn,kn,θ,zn).
θ := argmin
θ U(α,k,θ,z)
min
{αn: n∈T
U} min
k E(α,k,θ,z).
User editing
imisation algorithm.
Lecture 1 -
6-‑May-‑13 ¡ 18 ¡
Lecture 1 -
6-‑May-‑13 ¡ 19 ¡
Lecture 1 -
6-‑May-‑13 ¡ 20 ¡
Lecture 1 -
6-‑May-‑13 ¡ 21 ¡
Lecture 1 -
6-‑May-‑13 ¡ 22 ¡