Object Detection Using Marked Point Process
CMPUT 615
Nilanjan Ray
Object Detection
• Often we are asked to detect objects in an image, where the number of objects is not known a priori
• We may have knowledge about object likelihood, i.e., a good sense of what is a good measurement, what is not
• We may also have some knowledge about spatial distribution of the objects
• Can we put together all the pieces of information in a nice computational framework for object detection?
Yes! Marked point process framework can be utilized here
Object Detection: Point Process
• A point process (aka spatial point process) can attach a probability to a configuration of points on a space
• A point can have its marks. For example, an ellipse center is the point and its marks are the orientation and two radii
• Thus, a point together with its marks can represent an object that we want to detect from an image
Point Process Prior
n
i jiNsjii
n
jsi
ssgmg1 ,
21 ||),(||)()( x
otherwise:1
2:)2(1
:)(1
:0
)(23332
322
1
2 uuuuuuu
uuuuu
uu
ug
a ~ U(amin, amax), b ~ U(bmin, bmax),
θ ~ M(ξ),
A point consists of a center and its marks (mi)
g1
Interaction function:
marks
Simulations From Marked PP Prior
Four realizations
Metropolis-Hastings Algorithm
• Has 3 move types– Birth of a new point– Death of an existing point– Altering marks of an existing point
• Each such move type is accepted or rejected via a ratio (a dimensionless number) called MH ratio
• This process simulation is run a long time– until the configuration converges
Detection Result
Road Network Extraction
Building Extraction
Hydrographic Network Extraction
Summary
• Spatial point process is excellent in modeling object level information
• Can deal with variable number of objects in an image
• The downside is long computations: sampling based techniques take a long time