Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
dlib
Commits
9712e649
Commit
9712e649
authored
Feb 28, 2015
by
Davis King
Browse files
Updated spec to reference the paper describing this solver.
parent
f711daaa
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
8 additions
and
21 deletions
+8
-21
dlib/svm/structural_svm_object_detection_problem_abstract.h
dlib/svm/structural_svm_object_detection_problem_abstract.h
+8
-21
No files found.
dlib/svm/structural_svm_object_detection_problem_abstract.h
View file @
9712e649
...
...
@@ -51,30 +51,17 @@ namespace dlib
and it must contain objects which can be accepted by image_scanner_type::load().
WHAT THIS OBJECT REPRESENTS
This object is a tool for learning the parameter vector needed to use
a scan_image_pyramid or scan_image_boxes object.
This object is a tool for learning the parameter vector needed to use a
scan_image_pyramid, scan_fhog_pyramid, scan_image_custom, or
scan_image_boxes object.
It learns the parameter vector by formulating the problem as a structural
SVM problem. The general approach is similar to the method discussed in
Learning to Localize Objects with Structured Output Regression by
Matthew B. Blaschko and Christoph H. Lampert. However, the method has
been extended to datasets with multiple, potentially overlapping, objects
per image and the measure of loss is different from what is described in
the paper.
In particular, the loss is measured as follows:
let FA == the number of false alarms produced by a labeling of an image.
let MT == the number of targets missed by a labeling of an image.
Then the loss for a particular labeling is the quantity:
FA*get_loss_per_false_alarm() + MT*get_loss_per_missed_target()
A detection is considered a false alarm if it doesn't match with any
of the ground truth rectangles or if it is a duplicate detection of a
truth rectangle. Finally, for the purposes of calculating loss, a match
is determined using the following formula where rectangles A and B match
if and only if:
A.intersect(B).area()/(A+B).area() > get_match_eps()
SVM problem. The exact details of the method are described in the paper
Max-Margin Object Detection by Davis E. King (http://arxiv.org/abs/1502.00046).
!*/
public:
structural_svm_object_detection_problem
(
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment