Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
1
Delineation
•Dynamic Programming
•Deformable Models
•Hough Transform
•Graph Based Approaches
2
From Gradients to Outlines
3
From Deep-Nets to Outlines
—> Still work to do!
4
Mapping and Overlays
Connectivity matters!
5
Connectomics
Courtesy of C. Petersen
—> Topology needed
6
Analogy
• Uses Deep Nets to find the most promis ing locations to focus on.
• Performs tree-based search when possible.
• Relies on reinforcement learning and other ML techniques to train.
High level processing
Low level processing
7
Techniques
Semi-Automated Techniques:
• Dynamic Programming • Deformable Models
Fully Automated Techniques:
• Hough Transform • Graph Based Approaches
8
Reminder: Canny Limitations
There is no ideal value of s!
9
Interactive Delineation
• The user provides the start and end points (red x). • The algorithm does the rest (yellow line).
Image Gradient
10
Live Wire in Action
Mortensen and Barrett, SIGGRAPH’95
11
1D Dynamic Programming
where f denotes the gradient orientation.
k
xk
h(x1, x2, …, xn) = −n
∑k=1
g(xk) +n−1
∑k=1
r(xk, xk+1)
r(xk, xk+1) = diff(ϕ(xk), ϕ(xk+1))
12
1D Dynamic Programming
s g
• N Locations • Q Quantized values
! Global optimum O(NQ2)
1 2 3 N…
13
1D Dynamic Programming
r r r
r r
r
r
r
14
Notations:s Start point
L List of active nodes
c(u,v) Local costs for link u -> v
d(v) Total cost from s to v
s
vu
d(v)
c(u,v)
g
2D Dynamic Programming
15
Dijkstra Path Expansion
Open nodes represent "unvisited" nodes. Filled nodes are visited ones, with color representing the distance: The greener, the shorter the path. Nodes in all the different directions are explored uniformly, appearing more-or-less as a circular wavefront.
https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm
16
Dijkstra’s Algorithm
Maintain a sorted list of paths
17
Live Wire
• Sorting is the expensive operation. Normally nlog(n), but can be reduced to log(n) if all costs are integer costs
• Local costs computed using gradient:
c(u,v) = 255 – ½ (g(u)+ g(v))
• Diagonal penalized by multiplying cost of non diagonal edges by:
• Add a constant cost for each edge.
18
Magnetic Lasso in Photoshop
Integrating the LiveWire into a powerful interface that allows a user to correct mistakes yields a useful too.
19
Tracing Neurons
▪ In the biomedical world, images are 3D cubes of data. ▪ The approach extends naturally to tracking of 3D
structures such as dendritic trees in the brain, blood vessels, etc …
20
Limitations
• The “optimal” path is not always the “best” one. • Difficult to impose global constraints. • The cost grows exponentially with the dimension
of the space in which we work.
--> Must often look for local, as opposed to global, optimum using gradient descent techniques.
21
Techniques
Semi-Automated Techniques:
• Dynamic programming • Deformable Models
Fully Automated Techniques:
• Hough transform • Graph Based Approaches
22
Snakes
23
2—D Snake
Deformable contours that • Maximize the gradient along the curve; • Minimize their deformation energy. --> Interactive tools for contour detection that can be
generalized to handle sophisticated models
24
Energy Landscape
E = 1/L
Z 1
s=0(��G(x(s), y(s)) + �2(s))ds
= 1/L
Z 1
s=0(��G(x(s), y(s)) + �
2x
�s2
2
+�2y
�s2
2
)ds
= 1/L(��NX
i=0
G(xi, yi) +N�1X
i=1
((2xi � xi�1 � xi+1)2 + (2yi � yi�1 � yi+1)2)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
25
Matrix Notation
26
Local Optimum
But K is not invertible!
27
Dynamics
Embed curve in a viscous medium and solve at each step:
0 =∂E∂X
+ αdXdt
=∂EG∂X
+ KX + αdXdt
0 =∂E∂Y
+ αdYdt
=∂EG∂Y
+ KY + αdYdt
28
Iterating
At every step:
! Solve two linear equations at each iteration.
0 =�EG�X
+KXt + ↵(Xt �Xt�1) ) (K + ↵I)Xt = ↵Xt�1 ��EG�X
0 =�EG�Y
+KYt + ↵(Yt � Yt�1) ) (K + ↵I)Yt = ↵Yt�1 ��EG�Y
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
29
Derivatives of the Image Gradient
… …
30
Bilinear Interpolation
31
Open and Closed Snakes
32
Cysts Tumors in Ultrasound Images
Luo et al., 2017
Drawn by the physician. Refined by the Computer.
33--> Updated field boundaries.
Network Snakes
Butenuth, PhD 2008
34
Ribbon Snakes
+1/2WtKWW
35
DYNAMICS EQUATIONS
! Solve three linear equations at each iteration.
(K + ↵I)Xt = ↵Xt�1 ��EG�X
(K + ↵I)Yt = ↵Yt�1 ��EG�Y
(K + ↵I)Wt = ↵Wt�1 ��EG�W
AAAC8XicjVJLj9MwEHbCq5THduHIZUQFWkBbJXsBDkgrEALEZZEoadVU0cSdtNY6TrAdpCrKz+DCARBX/g03/g3uY6XS7mFHGunzNzOfPTNOSymMDYK/nn/p8pWr11rX2zdu3rq919m/88kUlebU54Us9CBFQ1Io6lthJQ1KTZinkqL09NUiHn0hbUShPtp5SeMcp0pkgqN1VLLvteKUpkLV9Fmh1jh/3LQP3sMTiFGWM4R3j2CQWHgIL5yfkY6q7WHYwKGjMo28jickLcLr5E0DZ4dBA3G8LTbcFRteRGzYwDlq0UJtUyy6iFa00opJTTbaTjrdoBcsDXZBuAZdtraTpPMnnhS8yklZLtGYURiUdlyjtoJLatpxZahEfopTGjmoMCczrpcra+CBYyaQFdq5srBkNytqzI2Z56nLzNHOzHZsQZ4XG1U2ezauhSorS4qvLsoqCbaAxf5hIjRxK+cOINfCvRX4DN2orPslbTeEcLvlXdA/6j3vhR+Ouscv19NosXvsPjtgIXvKjtlbdsL6jHuF99X77v3wrf/N/+n/WqX63rrmLvvP/N//ADu133Y=AAAC8XicjVJLj9MwEHbCq5THduHIZUQFWkBbJXsBDkgrEALEZZEoadVU0cSdtNY6TrAdpCrKz+DCARBX/g03/g3uY6XS7mFHGunzNzOfPTNOSymMDYK/nn/p8pWr11rX2zdu3rq919m/88kUlebU54Us9CBFQ1Io6lthJQ1KTZinkqL09NUiHn0hbUShPtp5SeMcp0pkgqN1VLLvteKUpkLV9Fmh1jh/3LQP3sMTiFGWM4R3j2CQWHgIL5yfkY6q7WHYwKGjMo28jickLcLr5E0DZ4dBA3G8LTbcFRteRGzYwDlq0UJtUyy6iFa00opJTTbaTjrdoBcsDXZBuAZdtraTpPMnnhS8yklZLtGYURiUdlyjtoJLatpxZahEfopTGjmoMCczrpcra+CBYyaQFdq5srBkNytqzI2Z56nLzNHOzHZsQZ4XG1U2ezauhSorS4qvLsoqCbaAxf5hIjRxK+cOINfCvRX4DN2orPslbTeEcLvlXdA/6j3vhR+Ouscv19NosXvsPjtgIXvKjtlbdsL6jHuF99X77v3wrf/N/+n/WqX63rrmLvvP/N//ADu133Y=AAAC8XicjVJLj9MwEHbCq5THduHIZUQFWkBbJXsBDkgrEALEZZEoadVU0cSdtNY6TrAdpCrKz+DCARBX/g03/g3uY6XS7mFHGunzNzOfPTNOSymMDYK/nn/p8pWr11rX2zdu3rq919m/88kUlebU54Us9CBFQ1Io6lthJQ1KTZinkqL09NUiHn0hbUShPtp5SeMcp0pkgqN1VLLvteKUpkLV9Fmh1jh/3LQP3sMTiFGWM4R3j2CQWHgIL5yfkY6q7WHYwKGjMo28jickLcLr5E0DZ4dBA3G8LTbcFRteRGzYwDlq0UJtUyy6iFa00opJTTbaTjrdoBcsDXZBuAZdtraTpPMnnhS8yklZLtGYURiUdlyjtoJLatpxZahEfopTGjmoMCczrpcra+CBYyaQFdq5srBkNytqzI2Z56nLzNHOzHZsQZ4XG1U2ezauhSorS4qvLsoqCbaAxf5hIjRxK+cOINfCvRX4DN2orPslbTeEcLvlXdA/6j3vhR+Ouscv19NosXvsPjtgIXvKjtlbdsL6jHuF99X77v3wrf/N/+n/WqX63rrmLvvP/N//ADu133Y=AAAC8XicjVJLj9MwEHbCq5THduHIZUQFWkBbJXsBDkgrEALEZZEoadVU0cSdtNY6TrAdpCrKz+DCARBX/g03/g3uY6XS7mFHGunzNzOfPTNOSymMDYK/nn/p8pWr11rX2zdu3rq919m/88kUlebU54Us9CBFQ1Io6lthJQ1KTZinkqL09NUiHn0hbUShPtp5SeMcp0pkgqN1VLLvteKUpkLV9Fmh1jh/3LQP3sMTiFGWM4R3j2CQWHgIL5yfkY6q7WHYwKGjMo28jickLcLr5E0DZ4dBA3G8LTbcFRteRGzYwDlq0UJtUyy6iFa00opJTTbaTjrdoBcsDXZBuAZdtraTpPMnnhS8yklZLtGYURiUdlyjtoJLatpxZahEfopTGjmoMCczrpcra+CBYyaQFdq5srBkNytqzI2Z56nLzNHOzHZsQZ4XG1U2ezauhSorS4qvLsoqCbaAxf5hIjRxK+cOINfCvRX4DN2orPslbTeEcLvlXdA/6j3vhR+Ouscv19NosXvsPjtgIXvKjtlbdsL6jHuF99X77v3wrf/N/+n/WqX63rrmLvvP/N//ADu133Y=
36
Delineating Roads
37
Delineating Roads
38
Evaluation
It takes far fewer clicks to trace the roads using semi-automated tools than doing entirely by hand.
39
Ridge Lines
40
Building
41
3—D Snakes
Smooth 3—D snake Rectilinear 3—D snake
42
Dynamics Equations
(K + ↵I)Xt = ↵Xt�1 ��EG�X
(K + ↵I)Yt = ↵Yt�1 ��EG�Y
(K + ↵I)Zt = ↵Zt�1 ��EG�Z
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
! Solve three linear equations at each iteration.
43
Constrained Optimization
• Minimize F(S) subject to C(S) = 0
44
Site Modeling (1996)
45
Site Modeling (2019)
46
Real-Time 3D Shape
Ostlund et al., ECCV’12.
47
Sails
! Real-time performance evaluation.
48
Wings
49
Level Sets
50
Curve Evolution
Problems: 1. Involves curve sampling and resampling. 2. Curvature estimates are numerically unstable.
Generic formulation:@C
@t= ↵(s, t)~T + �(s, t) ~N
Reparameterization:@C
@t= �(s, t) ~N
Special cases:
Prairie fire � = ±1Di↵usion � = �0 � �1
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
51
Level Sets
Consider the curve as the zero level set of the surface.
! Much better numerical stability.
z = �(x, y, t)AAAB+XicbVBNT8JAEJ36ifhV9OhlI5hgQkjLRT2YEL14xMQKCTRkuyywYfuR3a1aKz/Fiwc1Xv0n3vw3LtCDgi+Z5OW9mczM8yLOpLKsb2NpeWV1bT23kd/c2t7ZNQt7tzKMBaEOCXkoWh6WlLOAOoopTluRoNj3OG16o8uJ37yjQrIwuFFJRF0fDwLWZwQrLXXNQukRnaNOY8jKD5Wkoo5LXbNoVa0p0CKxM1KEDI2u+dXphST2aaAIx1K2bStSboqFYoTTcb4TSxphMsID2tY0wD6Vbjo9fYyOtNJD/VDoChSaqr8nUuxLmfie7vSxGsp5byL+57Vj1T91UxZEsaIBmS3qxxypEE1yQD0mKFE80QQTwfStiAyxwETptPI6BHv+5UXi1KpnVfu6VqxfZGnk4AAOoQw2nEAdrqABDhC4h2d4hTfjyXgx3o2PWeuSkc3swx8Ynz/JcJHxAAAB+XicbVBNT8JAEJ36ifhV9OhlI5hgQkjLRT2YEL14xMQKCTRkuyywYfuR3a1aKz/Fiwc1Xv0n3vw3LtCDgi+Z5OW9mczM8yLOpLKsb2NpeWV1bT23kd/c2t7ZNQt7tzKMBaEOCXkoWh6WlLOAOoopTluRoNj3OG16o8uJ37yjQrIwuFFJRF0fDwLWZwQrLXXNQukRnaNOY8jKD5Wkoo5LXbNoVa0p0CKxM1KEDI2u+dXphST2aaAIx1K2bStSboqFYoTTcb4TSxphMsID2tY0wD6Vbjo9fYyOtNJD/VDoChSaqr8nUuxLmfie7vSxGsp5byL+57Vj1T91UxZEsaIBmS3qxxypEE1yQD0mKFE80QQTwfStiAyxwETptPI6BHv+5UXi1KpnVfu6VqxfZGnk4AAOoQw2nEAdrqABDhC4h2d4hTfjyXgx3o2PWeuSkc3swx8Ynz/JcJHxAAAB+XicbVBNT8JAEJ36ifhV9OhlI5hgQkjLRT2YEL14xMQKCTRkuyywYfuR3a1aKz/Fiwc1Xv0n3vw3LtCDgi+Z5OW9mczM8yLOpLKsb2NpeWV1bT23kd/c2t7ZNQt7tzKMBaEOCXkoWh6WlLOAOoopTluRoNj3OG16o8uJ37yjQrIwuFFJRF0fDwLWZwQrLXXNQukRnaNOY8jKD5Wkoo5LXbNoVa0p0CKxM1KEDI2u+dXphST2aaAIx1K2bStSboqFYoTTcb4TSxphMsID2tY0wD6Vbjo9fYyOtNJD/VDoChSaqr8nUuxLmfie7vSxGsp5byL+57Vj1T91UxZEsaIBmS3qxxypEE1yQD0mKFE80QQTwfStiAyxwETptPI6BHv+5UXi1KpnVfu6VqxfZGnk4AAOoQw2nEAdrqABDhC4h2d4hTfjyXgx3o2PWeuSkc3swx8Ynz/JcJHxAAAB+XicbVBNT8JAEJ36ifhV9OhlI5hgQkjLRT2YEL14xMQKCTRkuyywYfuR3a1aKz/Fiwc1Xv0n3vw3LtCDgi+Z5OW9mczM8yLOpLKsb2NpeWV1bT23kd/c2t7ZNQt7tzKMBaEOCXkoWh6WlLOAOoopTluRoNj3OG16o8uJ37yjQrIwuFFJRF0fDwLWZwQrLXXNQukRnaNOY8jKD5Wkoo5LXbNoVa0p0CKxM1KEDI2u+dXphST2aaAIx1K2bStSboqFYoTTcb4TSxphMsID2tY0wD6Vbjo9fYyOtNJD/VDoChSaqr8nUuxLmfie7vSxGsp5byL+57Vj1T91UxZEsaIBmS3qxxypEE1yQD0mKFE80QQTwfStiAyxwETptPI6BHv+5UXi1KpnVfu6VqxfZGnk4AAOoQw2nEAdrqABDhC4h2d4hTfjyXgx3o2PWeuSkc3swx8Ynz/JcJHx
0 = �t + �() |r�|
where =�xx�2y � 2�xy�x�y + �yy�2x
�2x + �2y
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
Corresponding evolution equation.
52
Topology Change
53
Level Set Smoothing
Smoothing occurs when
Desirable properties:
• Converges towards circles. • Total curvature decreases. • Number of curvature extrema and zeros of curvature decreases.
Relationship with Gaussian smoothing:
• Analogous to Gaussian smoothing of boundary over the short run, but does not cause self-intersections or overemphasize elongated parts.
• Can be implemented by Gaussian smoothing the characteristic function of a region.
�() = �AAACA3icbZC7SgNBFIZn4y3G26plmsFEiIVhN41aCEEbywiuCWSXcHYymwyZvTAzK4QlhY2vYmOhYutL2Pk2TpItNPGHgY//nMOZ8/sJZ1JZ1rdRWFldW98obpa2tnd298z9g3sZp4JQh8Q8Fh0fJOUsoo5iitNOIiiEPqdtf3Q9rbcfqJAsju7UOKFeCIOIBYyA0lbPLFddnyrANXcESQIn+BKf4jlXe2bFqlsz4WWwc6igXK2e+eX2Y5KGNFKEg5Rd20qUl4FQjHA6KbmppAmQEQxoV2MEIZVeNjtigo+108dBLPSLFJ65vycyCKUch77uDEEN5WJtav5X66YqOPcyFiWpohGZLwpSjlWMp4ngPhOUKD7WAEQw/VdMhiCAKJ1bSYdgL568DE6jflG3bxuV5lWeRhGV0RGqIRudoSa6QS3kIIIe0TN6RW/Gk/FivBsf89aCkc8coj8yPn8A04aV2A==AAACA3icbZC7SgNBFIZn4y3G26plmsFEiIVhN41aCEEbywiuCWSXcHYymwyZvTAzK4QlhY2vYmOhYutL2Pk2TpItNPGHgY//nMOZ8/sJZ1JZ1rdRWFldW98obpa2tnd298z9g3sZp4JQh8Q8Fh0fJOUsoo5iitNOIiiEPqdtf3Q9rbcfqJAsju7UOKFeCIOIBYyA0lbPLFddnyrANXcESQIn+BKf4jlXe2bFqlsz4WWwc6igXK2e+eX2Y5KGNFKEg5Rd20qUl4FQjHA6KbmppAmQEQxoV2MEIZVeNjtigo+108dBLPSLFJ65vycyCKUch77uDEEN5WJtav5X66YqOPcyFiWpohGZLwpSjlWMp4ngPhOUKD7WAEQw/VdMhiCAKJ1bSYdgL568DE6jflG3bxuV5lWeRhGV0RGqIRudoSa6QS3kIIIe0TN6RW/Gk/FivBsf89aCkc8coj8yPn8A04aV2A==AAACA3icbZC7SgNBFIZn4y3G26plmsFEiIVhN41aCEEbywiuCWSXcHYymwyZvTAzK4QlhY2vYmOhYutL2Pk2TpItNPGHgY//nMOZ8/sJZ1JZ1rdRWFldW98obpa2tnd298z9g3sZp4JQh8Q8Fh0fJOUsoo5iitNOIiiEPqdtf3Q9rbcfqJAsju7UOKFeCIOIBYyA0lbPLFddnyrANXcESQIn+BKf4jlXe2bFqlsz4WWwc6igXK2e+eX2Y5KGNFKEg5Rd20qUl4FQjHA6KbmppAmQEQxoV2MEIZVeNjtigo+108dBLPSLFJ65vycyCKUch77uDEEN5WJtav5X66YqOPcyFiWpohGZLwpSjlWMp4ngPhOUKD7WAEQw/VdMhiCAKJ1bSYdgL568DE6jflG3bxuV5lWeRhGV0RGqIRudoSa6QS3kIIIe0TN6RW/Gk/FivBsf89aCkc8coj8yPn8A04aV2A==AAACA3icbZC7SgNBFIZn4y3G26plmsFEiIVhN41aCEEbywiuCWSXcHYymwyZvTAzK4QlhY2vYmOhYutL2Pk2TpItNPGHgY//nMOZ8/sJZ1JZ1rdRWFldW98obpa2tnd298z9g3sZp4JQh8Q8Fh0fJOUsoo5iitNOIiiEPqdtf3Q9rbcfqJAsju7UOKFeCIOIBYyA0lbPLFddnyrANXcESQIn+BKf4jlXe2bFqlsz4WWwc6igXK2e+eX2Y5KGNFKEg5Rd20qUl4FQjHA6KbmppAmQEQxoV2MEIZVeNjtigo+108dBLPSLFJ65vycyCKUch77uDEEN5WJtav5X66YqOPcyFiWpohGZLwpSjlWMp4ngPhOUKD7WAEQw/VdMhiCAKJ1bSYdgL568DE6jflG3bxuV5lWeRhGV0RGqIRudoSa6QS3kIIIe0TN6RW/Gk/FivBsf89aCkc8coj8yPn8A04aV2A==
54
Shape Recovery
! Expansion stops at the boundaries.
Evolution equation: 0 = �t + �() |r�|
where: �() = kI(1� ✏)
kI =1
1 +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
55
Level Sets
56
Level Sets
57
Techniques
Semi-Automated Techniques:
• Dynamic programming • Deformable Models
Fully Automated Techniques:
• Hough transform • Graph Based Approaches
58
Finding Lines
Input: • Canny edge points. • Gradient magnitude and orientation.
Output: • All straight lines in image.
59
Hough Transform
Given a parametric model of a curve:
• Map each contour point onto the set of parameter values for which the curves passes through it.
• Find the intersection for all parameter sets thus mapped.
60
Voting Scheme
x cos(✓) + y sin(✓) = r , 0 ✓ ⇡AAACKnicbVDLSsNAFJ3Ud31VXboZLEJFKYkKCiL42LhUsA9oQplMb9qhk0mcuRFL8Xvc+CtuXCji1g8xaSP4OjDDmXPu5c49fiyFQdt+swoTk1PTM7NzxfmFxaXl0spq3USJ5lDjkYx002cGpFBQQ4ESmrEGFvoSGn7/PPMbt6CNiNQ1DmLwQtZVIhCcYSq1S6d31OWRqbjYA2Rb2wPqGqG+nvSYauoe0Z3ssqkr4YaOrZzHotgule2qPQL9S5yclEmOy3bp2e1EPAlBIZfMmJZjx+gNmUbBJdwX3cRAzHifdaGVUsVCMN5wtOo93UyVDg0inR6FdKR+7xiy0JhB6KeVIcOe+e1l4n9eK8Hg0BsKFScIio8HBYmkGNEsN9oRGjjKQUoY1yL9K+U9phnHNN0sBOf3yn9Jfbfq7FV3r/bLJ2d5HLNknWyQCnHIATkhF+SS1AgnD+SJvJBX69F6tt6s93Fpwcp71sgPWB+fxBijyA==
x
y
r
q
61
Voting Scheme
x cos(✓) + y sin(✓) = r , 0 ✓ ⇡AAACKnicbVDLSsNAFJ3Ud31VXboZLEJFKYkKCiL42LhUsA9oQplMb9qhk0mcuRFL8Xvc+CtuXCji1g8xaSP4OjDDmXPu5c49fiyFQdt+swoTk1PTM7NzxfmFxaXl0spq3USJ5lDjkYx002cGpFBQQ4ESmrEGFvoSGn7/PPMbt6CNiNQ1DmLwQtZVIhCcYSq1S6d31OWRqbjYA2Rb2wPqGqG+nvSYauoe0Z3ssqkr4YaOrZzHotgule2qPQL9S5yclEmOy3bp2e1EPAlBIZfMmJZjx+gNmUbBJdwX3cRAzHifdaGVUsVCMN5wtOo93UyVDg0inR6FdKR+7xiy0JhB6KeVIcOe+e1l4n9eK8Hg0BsKFScIio8HBYmkGNEsN9oRGjjKQUoY1yL9K+U9phnHNN0sBOf3yn9Jfbfq7FV3r/bLJ2d5HLNknWyQCnHIATkhF+SS1AgnD+SJvJBX69F6tt6s93Fpwcp71sgPWB+fxBijyA==
x
y
r
q
62
Voting Scheme
x cos(✓) + y sin(✓) = r , 0 ✓ ⇡AAACKnicbVDLSsNAFJ3Ud31VXboZLEJFKYkKCiL42LhUsA9oQplMb9qhk0mcuRFL8Xvc+CtuXCji1g8xaSP4OjDDmXPu5c49fiyFQdt+swoTk1PTM7NzxfmFxaXl0spq3USJ5lDjkYx002cGpFBQQ4ESmrEGFvoSGn7/PPMbt6CNiNQ1DmLwQtZVIhCcYSq1S6d31OWRqbjYA2Rb2wPqGqG+nvSYauoe0Z3ssqkr4YaOrZzHotgule2qPQL9S5yclEmOy3bp2e1EPAlBIZfMmJZjx+gNmUbBJdwX3cRAzHifdaGVUsVCMN5wtOo93UyVDg0inR6FdKR+7xiy0JhB6KeVIcOe+e1l4n9eK8Hg0BsKFScIio8HBYmkGNEsN9oRGjjKQUoY1yL9K+U9phnHNN0sBOf3yn9Jfbfq7FV3r/bLJ2d5HLNknWyQCnHIATkhF+SS1AgnD+SJvJBX69F6tt6s93Fpwcp71sgPWB+fxBijyA==
x
y
r
q
63
Voting Scheme
x cos(✓) + y sin(✓) = r , 0 ✓ ⇡AAACKnicbVDLSsNAFJ3Ud31VXboZLEJFKYkKCiL42LhUsA9oQplMb9qhk0mcuRFL8Xvc+CtuXCji1g8xaSP4OjDDmXPu5c49fiyFQdt+swoTk1PTM7NzxfmFxaXl0spq3USJ5lDjkYx002cGpFBQQ4ESmrEGFvoSGn7/PPMbt6CNiNQ1DmLwQtZVIhCcYSq1S6d31OWRqbjYA2Rb2wPqGqG+nvSYauoe0Z3ssqkr4YaOrZzHotgule2qPQL9S5yclEmOy3bp2e1EPAlBIZfMmJZjx+gNmUbBJdwX3cRAzHifdaGVUsVCMN5wtOo93UyVDg0inR6FdKR+7xiy0JhB6KeVIcOe+e1l4n9eK8Hg0BsKFScIio8HBYmkGNEsN9oRGjjKQUoY1yL9K+U9phnHNN0sBOf3yn9Jfbfq7FV3r/bLJ2d5HLNknWyQCnHIATkhF+SS1AgnD+SJvJBX69F6tt6s93Fpwcp71sgPWB+fxBijyA==
x
y
r
q
64
Iris Detection
65
Occlusions
In theory:
In practice:
66
Circle Detection
Circle of equation:
Therefore:
67
Gradient Orientation
Can vote either along the entire circle or only at two points per value of the radius.
68
Simple Image
Voting scheme:
Result:
69
Eye Image
Image and accumulator:
Best four candidates:
70
Ellipses
71
Ellipse Detection
Ellipse of equation:
Therefore:
72
dx
d✓= �a sin(✓)
dy
d✓= b cos(✓)
� = atan(�dxd✓
,dy
d✓)
= atan(a sin(✓), b cos(✓))
= atan(a
btan(✓))
tan(�) =a
btan(✓)
) ✓ = atan( batan(�))
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
dx
d✓= �a sin(✓)
dy
d✓= b cos(✓)
� = atan(�dxd✓
,dy
d✓)
= atan(a sin(✓), b cos(✓))
= atan(a
btan(✓))
tan(�) =a
btan(✓)
) ✓ = atan( batan(�))
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
dx
d✓= �a sin(✓)
dy
d✓= b cos(✓)
� = atan(�dxd✓
,dy
d✓)
= atan(a sin(✓), b cos(✓))
= atan(a
btan(✓))
tan(�) =a
btan(✓)
) ✓ = atan( batan(�))
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
Gradient Orientation
For each ellipse point:
The accumulator need only be incremented for this q.
[dx
d✓,dy
d✓]
AAACEHicbZDLSsNAFIYnXmu9RV26GSyiCymJCLosunFZwV4gDWUymbRDJxdmTsQQ8ghufBU3LhRx69Kdb+O0DaitPwz8fOcczpzfSwRXYFlfxsLi0vLKamWtur6xubVt7uy2VZxKylo0FrHsekQxwSPWAg6CdRPJSOgJ1vFGV+N6545JxePoFrKEuSEZRDzglIBGffPI6QWS0Ny/L3K/B0MGpDgpUfaD3L5Zs+rWRHje2KWpoVLNvvnZ82OahiwCKohSjm0l4OZEAqeCFdVeqlhC6IgMmKNtREKm3HxyUIEPNfFxEEv9IsAT+nsiJ6FSWejpzpDAUM3WxvC/mpNCcOHmPEpSYBGdLgpSgSHG43SwzyWjIDJtCJVc/xXTIdFpgM6wqkOwZ0+eN+3Tuq39zVmtcVnGUUH76AAdIxudowa6Rk3UQhQ9oCf0gl6NR+PZeDPep60LRjmzh/7I+PgGwe6eSg==AAACEHicbZDLSsNAFIYnXmu9RV26GSyiCymJCLosunFZwV4gDWUymbRDJxdmTsQQ8ghufBU3LhRx69Kdb+O0DaitPwz8fOcczpzfSwRXYFlfxsLi0vLKamWtur6xubVt7uy2VZxKylo0FrHsekQxwSPWAg6CdRPJSOgJ1vFGV+N6545JxePoFrKEuSEZRDzglIBGffPI6QWS0Ny/L3K/B0MGpDgpUfaD3L5Zs+rWRHje2KWpoVLNvvnZ82OahiwCKohSjm0l4OZEAqeCFdVeqlhC6IgMmKNtREKm3HxyUIEPNfFxEEv9IsAT+nsiJ6FSWejpzpDAUM3WxvC/mpNCcOHmPEpSYBGdLgpSgSHG43SwzyWjIDJtCJVc/xXTIdFpgM6wqkOwZ0+eN+3Tuq39zVmtcVnGUUH76AAdIxudowa6Rk3UQhQ9oCf0gl6NR+PZeDPep60LRjmzh/7I+PgGwe6eSg==AAACEHicbZDLSsNAFIYnXmu9RV26GSyiCymJCLosunFZwV4gDWUymbRDJxdmTsQQ8ghufBU3LhRx69Kdb+O0DaitPwz8fOcczpzfSwRXYFlfxsLi0vLKamWtur6xubVt7uy2VZxKylo0FrHsekQxwSPWAg6CdRPJSOgJ1vFGV+N6545JxePoFrKEuSEZRDzglIBGffPI6QWS0Ny/L3K/B0MGpDgpUfaD3L5Zs+rWRHje2KWpoVLNvvnZ82OahiwCKohSjm0l4OZEAqeCFdVeqlhC6IgMmKNtREKm3HxyUIEPNfFxEEv9IsAT+nsiJ6FSWejpzpDAUM3WxvC/mpNCcOHmPEpSYBGdLgpSgSHG43SwzyWjIDJtCJVc/xXTIdFpgM6wqkOwZ0+eN+3Tuq39zVmtcVnGUUH76AAdIxudowa6Rk3UQhQ9oCf0gl6NR+PZeDPep60LRjmzh/7I+PgGwe6eSg==AAACEHicbZDLSsNAFIYnXmu9RV26GSyiCymJCLosunFZwV4gDWUymbRDJxdmTsQQ8ghufBU3LhRx69Kdb+O0DaitPwz8fOcczpzfSwRXYFlfxsLi0vLKamWtur6xubVt7uy2VZxKylo0FrHsekQxwSPWAg6CdRPJSOgJ1vFGV+N6545JxePoFrKEuSEZRDzglIBGffPI6QWS0Ny/L3K/B0MGpDgpUfaD3L5Zs+rWRHje2KWpoVLNvvnZ82OahiwCKohSjm0l4OZEAqeCFdVeqlhC6IgMmKNtREKm3HxyUIEPNfFxEEv9IsAT+nsiJ6FSWejpzpDAUM3WxvC/mpNCcOHmPEpSYBGdLgpSgSHG43SwzyWjIDJtCJVc/xXTIdFpgM6wqkOwZ0+eN+3Tuq39zVmtcVnGUUH76AAdIxudowa6Rk3UQhQ9oCf0gl6NR+PZeDPep60LRjmzh/7I+PgGwe6eSg==
[dy
d✓,�dx
d✓]
AAACEXicbZDLSsNAFIYn9VbrLerSTbAIXWhJRNBl0Y3LCvYCSSiTyaQdOrkwcyKGkFdw46u4caGIW3fufBunbUBt/WHg5zvncOb8XsKZBNP80ipLyyura9X12sbm1vaOvrvXlXEqCO2QmMei72FJOYtoBxhw2k8ExaHHac8bX03qvTsqJIujW8gS6oZ4GLGAEQwKDfSG7QQCk9zPitx3YEQBF8cnJbv/Ye5Ar5tNcypj0VilqaNS7YH+6fgxSUMaAeFYStsyE3BzLIARTouak0qaYDLGQ2orG+GQSjefXlQYR4r4RhAL9SIwpvT3RI5DKbPQU50hhpGcr03gfzU7heDCzVmUpEAjMlsUpNyA2JjEY/hMUAI8UwYTwdRfDTLCKg1QIdZUCNb8yYume9q0lL85q7cuyziq6AAdogay0DlqoWvURh1E0AN6Qi/oVXvUnrU37X3WWtHKmX30R9rHNzcMnoE=AAACEXicbZDLSsNAFIYn9VbrLerSTbAIXWhJRNBl0Y3LCvYCSSiTyaQdOrkwcyKGkFdw46u4caGIW3fufBunbUBt/WHg5zvncOb8XsKZBNP80ipLyyura9X12sbm1vaOvrvXlXEqCO2QmMei72FJOYtoBxhw2k8ExaHHac8bX03qvTsqJIujW8gS6oZ4GLGAEQwKDfSG7QQCk9zPitx3YEQBF8cnJbv/Ye5Ar5tNcypj0VilqaNS7YH+6fgxSUMaAeFYStsyE3BzLIARTouak0qaYDLGQ2orG+GQSjefXlQYR4r4RhAL9SIwpvT3RI5DKbPQU50hhpGcr03gfzU7heDCzVmUpEAjMlsUpNyA2JjEY/hMUAI8UwYTwdRfDTLCKg1QIdZUCNb8yYume9q0lL85q7cuyziq6AAdogay0DlqoWvURh1E0AN6Qi/oVXvUnrU37X3WWtHKmX30R9rHNzcMnoE=AAACEXicbZDLSsNAFIYn9VbrLerSTbAIXWhJRNBl0Y3LCvYCSSiTyaQdOrkwcyKGkFdw46u4caGIW3fufBunbUBt/WHg5zvncOb8XsKZBNP80ipLyyura9X12sbm1vaOvrvXlXEqCO2QmMei72FJOYtoBxhw2k8ExaHHac8bX03qvTsqJIujW8gS6oZ4GLGAEQwKDfSG7QQCk9zPitx3YEQBF8cnJbv/Ye5Ar5tNcypj0VilqaNS7YH+6fgxSUMaAeFYStsyE3BzLIARTouak0qaYDLGQ2orG+GQSjefXlQYR4r4RhAL9SIwpvT3RI5DKbPQU50hhpGcr03gfzU7heDCzVmUpEAjMlsUpNyA2JjEY/hMUAI8UwYTwdRfDTLCKg1QIdZUCNb8yYume9q0lL85q7cuyziq6AAdogay0DlqoWvURh1E0AN6Qi/oVXvUnrU37X3WWtHKmX30R9rHNzcMnoE=AAACEXicbZDLSsNAFIYn9VbrLerSTbAIXWhJRNBl0Y3LCvYCSSiTyaQdOrkwcyKGkFdw46u4caGIW3fufBunbUBt/WHg5zvncOb8XsKZBNP80ipLyyura9X12sbm1vaOvrvXlXEqCO2QmMei72FJOYtoBxhw2k8ExaHHac8bX03qvTsqJIujW8gS6oZ4GLGAEQwKDfSG7QQCk9zPitx3YEQBF8cnJbv/Ye5Ar5tNcypj0VilqaNS7YH+6fgxSUMaAeFYStsyE3BzLIARTouak0qaYDLGQ2orG+GQSjefXlQYR4r4RhAL9SIwpvT3RI5DKbPQU50hhpGcr03gfzU7heDCzVmUpEAjMlsUpNyA2JjEY/hMUAI8UwYTwdRfDTLCKg1QIdZUCNb8yYume9q0lL85q7cuyziq6AAdogay0DlqoWvURh1E0AN6Qi/oVXvUnrU37X3WWtHKmX30R9rHNzcMnoE=�AAAB63icbZDNSgMxFIVv6l+tf1WXboJFcFVmRNBl0Y3LCrYW2qFk0kwnNMkMSUYoQ1/BjQtF3PpC7nwbM+0stPVA4OPce8m9J0wFN9bzvlFlbX1jc6u6XdvZ3ds/qB8edU2Saco6NBGJ7oXEMMEV61huBeulmhEZCvYYTm6L+uMT04Yn6sFOUxZIMlY84pTYwhqkMR/WG17Tmwuvgl9CA0q1h/WvwSihmWTKUkGM6fteaoOcaMupYLPaIDMsJXRCxqzvUBHJTJDPd53hM+eMcJRo95TFc/f3RE6kMVMZuk5JbGyWa4X5X62f2eg6yLlKM8sUXXwUZQLbBBeH4xHXjFoxdUCo5m5XTGOiCbUunpoLwV8+eRW6F03f8f1lo3VTxlGFEziFc/DhClpwB23oAIUYnuEV3pBEL+gdfSxaK6icOYY/Qp8/E4qOPw==AAAB63icbZDNSgMxFIVv6l+tf1WXboJFcFVmRNBl0Y3LCrYW2qFk0kwnNMkMSUYoQ1/BjQtF3PpC7nwbM+0stPVA4OPce8m9J0wFN9bzvlFlbX1jc6u6XdvZ3ds/qB8edU2Saco6NBGJ7oXEMMEV61huBeulmhEZCvYYTm6L+uMT04Yn6sFOUxZIMlY84pTYwhqkMR/WG17Tmwuvgl9CA0q1h/WvwSihmWTKUkGM6fteaoOcaMupYLPaIDMsJXRCxqzvUBHJTJDPd53hM+eMcJRo95TFc/f3RE6kMVMZuk5JbGyWa4X5X62f2eg6yLlKM8sUXXwUZQLbBBeH4xHXjFoxdUCo5m5XTGOiCbUunpoLwV8+eRW6F03f8f1lo3VTxlGFEziFc/DhClpwB23oAIUYnuEV3pBEL+gdfSxaK6icOYY/Qp8/E4qOPw==AAAB63icbZDNSgMxFIVv6l+tf1WXboJFcFVmRNBl0Y3LCrYW2qFk0kwnNMkMSUYoQ1/BjQtF3PpC7nwbM+0stPVA4OPce8m9J0wFN9bzvlFlbX1jc6u6XdvZ3ds/qB8edU2Saco6NBGJ7oXEMMEV61huBeulmhEZCvYYTm6L+uMT04Yn6sFOUxZIMlY84pTYwhqkMR/WG17Tmwuvgl9CA0q1h/WvwSihmWTKUkGM6fteaoOcaMupYLPaIDMsJXRCxqzvUBHJTJDPd53hM+eMcJRo95TFc/f3RE6kMVMZuk5JbGyWa4X5X62f2eg6yLlKM8sUXXwUZQLbBBeH4xHXjFoxdUCo5m5XTGOiCbUunpoLwV8+eRW6F03f8f1lo3VTxlGFEziFc/DhClpwB23oAIUYnuEV3pBEL+gdfSxaK6icOYY/Qp8/E4qOPw==AAAB63icbZDNSgMxFIVv6l+tf1WXboJFcFVmRNBl0Y3LCrYW2qFk0kwnNMkMSUYoQ1/BjQtF3PpC7nwbM+0stPVA4OPce8m9J0wFN9bzvlFlbX1jc6u6XdvZ3ds/qB8edU2Saco6NBGJ7oXEMMEV61huBeulmhEZCvYYTm6L+uMT04Yn6sFOUxZIMlY84pTYwhqkMR/WG17Tmwuvgl9CA0q1h/WvwSihmWTKUkGM6fteaoOcaMupYLPaIDMsJXRCxqzvUBHJTJDPd53hM+eMcJRo95TFc/f3RE6kMVMZuk5JbGyWa4X5X62f2eg6yLlKM8sUXXwUZQLbBBeH4xHXjFoxdUCo5m5XTGOiCbUunpoLwV8+eRW6F03f8f1lo3VTxlGFEziFc/DhClpwB23oAIUYnuEV3pBEL+gdfSxaK6icOYY/Qp8/E4qOPw==
✓AAAB7XicbZBNSwMxEIZn61etX1WPXoJF8FR2RdBj0YvHCvYD2qVk07SNzSZLMiuUpf/BiwdFvPp/vPlvTNs9aOsLgYd3ZsjMGyVSWPT9b6+wtr6xuVXcLu3s7u0flA+PmlanhvEG01KbdkQtl0LxBgqUvJ0YTuNI8lY0vp3VW0/cWKHVA04SHsZ0qMRAMIrOanZxxJH2yhW/6s9FViHIoQK56r3yV7evWRpzhUxSazuBn2CYUYOCST4tdVPLE8rGdMg7DhWNuQ2z+bZTcuacPhlo455CMnd/T2Q0tnYSR64zpjiyy7WZ+V+tk+LgOsyESlLkii0+GqSSoCaz00lfGM5QThxQZoTblbARNZShC6jkQgiWT16F5kU1cHx/Wand5HEU4QRO4RwCuIIa3EEdGsDgEZ7hFd487b14797HorXg5TPH8Efe5w+j+Y8oAAAB7XicbZBNSwMxEIZn61etX1WPXoJF8FR2RdBj0YvHCvYD2qVk07SNzSZLMiuUpf/BiwdFvPp/vPlvTNs9aOsLgYd3ZsjMGyVSWPT9b6+wtr6xuVXcLu3s7u0flA+PmlanhvEG01KbdkQtl0LxBgqUvJ0YTuNI8lY0vp3VW0/cWKHVA04SHsZ0qMRAMIrOanZxxJH2yhW/6s9FViHIoQK56r3yV7evWRpzhUxSazuBn2CYUYOCST4tdVPLE8rGdMg7DhWNuQ2z+bZTcuacPhlo455CMnd/T2Q0tnYSR64zpjiyy7WZ+V+tk+LgOsyESlLkii0+GqSSoCaz00lfGM5QThxQZoTblbARNZShC6jkQgiWT16F5kU1cHx/Wand5HEU4QRO4RwCuIIa3EEdGsDgEZ7hFd487b14797HorXg5TPH8Efe5w+j+Y8oAAAB7XicbZBNSwMxEIZn61etX1WPXoJF8FR2RdBj0YvHCvYD2qVk07SNzSZLMiuUpf/BiwdFvPp/vPlvTNs9aOsLgYd3ZsjMGyVSWPT9b6+wtr6xuVXcLu3s7u0flA+PmlanhvEG01KbdkQtl0LxBgqUvJ0YTuNI8lY0vp3VW0/cWKHVA04SHsZ0qMRAMIrOanZxxJH2yhW/6s9FViHIoQK56r3yV7evWRpzhUxSazuBn2CYUYOCST4tdVPLE8rGdMg7DhWNuQ2z+bZTcuacPhlo455CMnd/T2Q0tnYSR64zpjiyy7WZ+V+tk+LgOsyESlLkii0+GqSSoCaz00lfGM5QThxQZoTblbARNZShC6jkQgiWT16F5kU1cHx/Wand5HEU4QRO4RwCuIIa3EEdGsDgEZ7hFd487b14797HorXg5TPH8Efe5w+j+Y8oAAAB7XicbZBNSwMxEIZn61etX1WPXoJF8FR2RdBj0YvHCvYD2qVk07SNzSZLMiuUpf/BiwdFvPp/vPlvTNs9aOsLgYd3ZsjMGyVSWPT9b6+wtr6xuVXcLu3s7u0flA+PmlanhvEG01KbdkQtl0LxBgqUvJ0YTuNI8lY0vp3VW0/cWKHVA04SHsZ0qMRAMIrOanZxxJH2yhW/6s9FViHIoQK56r3yV7evWRpzhUxSazuBn2CYUYOCST4tdVPLE8rGdMg7DhWNuQ2z+bZTcuacPhlo455CMnd/T2Q0tnYSR64zpjiyy7WZ+V+tk+LgOsyESlLkii0+GqSSoCaz00lfGM5QThxQZoTblbARNZShC6jkQgiWT16F5kU1cHx/Wand5HEU4QRO4RwCuIIa3EEdGsDgEZ7hFd487b14797HorXg5TPH8Efe5w+j+Y8o
73
Generalized Hough
Finding a becher …
… or a lake.
74
Generalized Hough
• We want to find a shape defined by its boundary points in terms of the location of a reference point [xc,yc]. • For every boundary point p, we can compute the displacement vector r = [xc,yc] – p as a function of local gradient orientation f.
pr(f)
[xc,yc]
f
Ballard. , PR’81
75
R-Table
• Set of potential displacement vectors r,a given the boundary orientation f.
--> Generalized template matching.
76
Algorithm
1. Make an R-table for the shape to be located.
2. Form an accumulator array of possible reference points initialized to zero.
3. For each edge point,
• Compute the possible centers, that is, for each table entry, compute
• Increment the accumulator array
77
Real-Time Hough
78
Accumulator
79
From Delineation To Detection
Leibe & al. , ECCV’04
Training image
Visual codeword with displacement vectors
Instead of indexing displacements by gradient orientation, index by “visual codeword”.
K.Grauman
80
From Delineation To Detection
Leibe & al. , ECCV’04
Instead of indexing displacements by gradient orientation, index by “visual codeword”.
Test image
K.Grauman
81
Training
1. Build codebook of patches around extracted interest points using clustering.
2. Map the patch around each interest point to closest codebook entry. 3. For each codebook entry, store all positions it was found, relative to
object center.
--> Build an R table.
82
Testing
1. Given test image, extract patches, match to codebook entry. 2. Cast votes for possible positions of object center. 3. Search for maxima in voting space. 4. Extract weighted segmentation mask based on stored
masks for the codebook occurrences.
83
Pedestrian Detection
Gall & al. , PAMI’11
84
Occlusion Handling
85
Limitations
Computational cost grows exponentially with the number of model parameters:
!Only works for objects whose shape can be defined by a small number of parameters.
!Approach is robust but lacks flexibility.
86
Techniques
Semi-Automated Techniques:
• Dynamic programming • Deformable Models
Fully Automated Techniques:
• Hough transform • Graph Based Approaches
87
Magnitude and Orientation
88
Minimum Spanning Tree
Image modeled as a graph:
-> Generate minimal distance graph O(N log(N) algorithm)
89
Delineation 1998
Fischler & Heller, 1998.
Detect road centerlines
Find generic paths
Apply semantic filter
Find road widths
90
From Image To Roads
91
Road Editing
92
Dendrites And Axons
Fluorescent neurons in the adult mouse brain imaged imaged in vivo through a cranial window using a 2-photon microscope.
93
Delineation 2012: Neurites …
94
.. and Roads
Turetken et al, CVPR’12.
—> Machine plays a crucial role to ensure that the same algorithm works in different situations.
95
Histogram of Gradient Deviations
—> One histogram per radius interval plus four geometric features (curvature, tortuosity, .…).
96
Embedding
—> Same length feature vectors whatever the actual length of the path.
97
Path Classification
98
Finding the Best Tree
99
QMIP Formulation
100
Roads
101
Brainbow Images
102
Blood Vessels
103
Deep Tsunami
104
Reminder: AlexNet (2012)
Task: Image classification Training images: Large Scale Visual Recognition Challenge 2010 Training time: 2 weeks on 2 GPUs
Major Breakthrough: Training large networks has now been shown to be practical!!
105
Delineation 2011
Turetken et al, CVPR’12.
These two steps are closely related!
106
Reminder: U-NetImage Tubularity Map
Downsampling Upsampling
—> Train a U-Net to output a tubularity map.
Skip connection
Skip connection
107
Training U-Net
Mosinska et al, CVPR’18.
Train Encoder-decoder U-Net architecture using binary cross-entropy
Minimize
Lbce(x,y;w) = �1
i
PX
1
[yn log(ŷi) + (1� yi) log(1� ŷi)]
where
• ŷ = fw(x),
• x in an input image,
• y the corresponding ground truth.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
i
108
Network Output
BCELoss GroundtruthImage
109
Accounting For Topology
!ℒ#$%
ℒ&'(Minimize
L(x,y;w) = Lbce(x,y;w) + Ltop(x,y;w) ,
Ltop(x,y;w) /NX
n=1
MnX
m=1
klmn (y)� lmn (f(x,w))k22 ,
Ltop: Sum of square di↵erences between feature maps in a pretrained VGG.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
110
BCELoss BCEandTopoLoss GroundtruthImage
Accounting for Topology
111
Iterative Refinement
Use the same network to progressively refine the results keeping the number of parameters constant
1 2 3
Image Iter1 Iter2 Iter3 Groundtruth
112
Delineation Steps
1.Compute a probability map.
2. Sample and connect the samples.
3. Assign a weight to the paths.
4. Retain the best paths.
113
Delineation 2019These two steps are performed by the same network
Mosinska et al, PAMI’19.
114
Dual Use U-Net
Tubularity Map
Path score
Image and
Binary Mask
115
Streets Of Toronto
— False negatives — False positives
116
Dendrites And Axons
117
On the Job
The new job is good, we do of course a lot of Deep Learning, but also some good old-school computer vision e.g. registration 😉 So the material from Computer Vision class is definitely helpful and I wouldn't change it to another all-Deep Learning class (even in the light of today's Turing Award).
Best,
Agata
118
1998 - 2038
?It is difficult to make predictions, especially about the future.
Sometimes attributed to Niels Bohr.
1998
!ℒ#$%
ℒ&'(
2018 2038
119
In Short
• Edge and image information is noisy.
• Models are required to make sense of it.
! An appropriate combination of graph-based techniques, machine learning, and semi-automated tools is required.
120
Alpha Go Analogy
• Uses Deep Nets to find the most promising locations to focus on.
• Performs Tree based search when possible.
• Relies on reinforcement learning and other ML techniques to train.
—> Beat the world champion in 2017.
Low-level processing
High-level processing