Commit 3e569392 authored by Davis King's avatar Davis King

merged

parents 2b3e8c74 bb8a903e
......@@ -406,8 +406,8 @@ namespace dlib
double temp = 0;
for (unsigned long i = 0; i < a.size(); ++i)
{
if (a[i] >= 0 && b[i] >= 0 ||
a[i] < 0 && b[i] < 0)
if ((a[i] >= 0 && b[i] >= 0) ||
(a[i] < 0 && b[i] < 0))
{
temp += 1;
}
......
......@@ -1162,10 +1162,15 @@
This object is a tool for detecting the positions of objects in
an image. In particular, it is a simple container to aggregate
an instance of the <a href="#scan_image_pyramid">scan_image_pyramid</a>
class, the weight vector needed by scan_image_pyramid, and finally
class, the weight vector needed by scan_image_pyramid, and
an instance of <a href="#test_box_overlap">test_box_overlap</a>. The test_box_overlap
object is used to perform non-max suppression on the output of the
scan_image_pyramid object.
<p>
Note that you can use the
<a href="ml.html#structural_object_detection_trainer">structural_object_detection_trainer</a>
to learn the parameters of an object_detector. See the example programs for an introduction.
</p>
</description>
<examples>
<example>object_detector_ex.cpp.html</example>
......
......@@ -144,10 +144,15 @@
</ul>
</li>
<li><b>Bayesian Network Inference Algorithms</b>
<li><b>Graphical Model Inference Algorithms</b>
<ul>
<li><a href="bayes.html#bayesian_network_join_tree">join tree</a> algorithm for exact inference</li>
<li><a href="bayes.html#bayesian_network_gibbs_sampler">gibbs sampler</a> markov chain monte carlo algorithm</li>
<li><a href="bayes.html#bayesian_network_join_tree">Join tree</a> algorithm for exact inference in
a Bayesian network.</li>
<li><a href="bayes.html#bayesian_network_gibbs_sampler">Gibbs sampler</a> markov chain monte
carlo algorithm for approximate inference in a Bayesian network.</li>
<li>Routines for performing MAP inference in
<a href="optimization.html#find_max_factor_graph_viterbi">chain-structured</a> or
<a href="optimization.html#find_max_factor_graph_nmplp">general</a> factor graphs.</li>
</ul>
</li>
......@@ -158,6 +163,7 @@
<li>Common image operations such as edge finding and morphological operations</li>
<li>Implementations of the <a href="imaging.html#get_surf_points">SURF</a>
and <a href="imaging.html#hog_image">HOG</a> feature extraction algorithms.</li>
<li>Tools for <a href="imaging.html#object_detector">detecting objects</a> in images.</li>
</ul>
</li>
......
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="stylesheet.xsl"?>
<doc>
......@@ -12,41 +12,37 @@
<current>
New Stuff:
- Added a file_exists() function.
- Added separable_3x3_filter_block_grayscale
- Added separable_3x3_filter_block_rgb
- Added pyramid_down_5_4, pyramid_down_4_3, and pyramid_down_3_2
- Added fill_rect() for images.
- Two new routines for performing MAP inference in factor graphs:
- For chain-structured graphs: find_max_factor_graph_viterbi()
- For general graphs: find_max_factor_graph_nmplp()
- Image Processing
- Added more tools for creating image pyramids. See pyramid_down_5_4,
pyramid_down_4_3, and pyramid_down_3_2.
- Added more image filtering functions.
- Added a set of tools for creating sliding window classifiers:
- Added the scan_image() routine. It is a tool for sliding a set of
rectangles over an image space and finding the locations where the sum
of pixels in the rectangles exceeds a threshold. Also added
scan_image_pyramid, which is a tool for running scan_image() over an
image pyramid.
- Added the structural_object_detection_trainer. This is a tool which
formulates the sliding window classifier learning problem as an
instance of structural SVM learning.
- Added a variety of supporting tools and two object detection example
programs.
- Added the following functions for computing statistics on vectors:
mean_sign_agreement(), correlation(), covariance(), r_squared(),
and mean_squared_error()
- Added the find_max_factor_graph_nmplp() function for performing approximate
MAP inference.
- Added the scan_image() routine. It is a tool for sliding a set of rectangles
over an image space and finding the locations where the sum of pixels in
the rectangles exceeds a threshold.
- Added the hashed_feature_image object.
- Added the scan_image_pyramid object.
- Added the object_detector object.
- Added the structural_svm_object_detection_problem object.
- Added spatially_filter_image_separable()
- Added structural_object_detection_trainer
- Added the cross_validate_object_detection_trainer() and
test_object_detection_function() routines.
- Added the find_max_factor_graph_viterbi() routine for performing MAP
inference in chain-structured factor graphs.
Non-Backwards Compatible Changes:
- Changed the interface to the ridge regression trainer objects so that
they report the entire set of LOO prediction values rather than a
summary statistic like mean squared error.
- Changed the serialization routine for bgr_pixels to store the pixels
in BGR order rather than RGB.
- Changed the interface for the spatially_filter_image() routines to take the filter
as a matrix rather than C-array. I also fixed a bug which showed up when using
non-square filters. The bug would cause the edges of the output image to be incorrect.
Changed the behavior of spatially_filter_image(). Now it won't truncate signed
pixel values to 0 if they go negative.
- Changed the interface to the ridge regression trainer objects so that they
report the entire set of LOO prediction values rather than a summary statistic
like mean squared error.
- Changed the serialization routine for bgr_pixels to store the pixels in BGR
order rather than RGB.
- Changed the interface for the spatially_filter_image() routine to take the
filter as a matrix rather than C-array. Also, now it won't force signed pixel
values to 0 if they go negative.
- Changed the test_regression_function() and cross_validate_regression_trainer()
routines so they return both the MSE and R-squared values rather than just the
MSE.
......@@ -59,18 +55,20 @@ Bug fixes:
to be part of a rectangle are drawn as being inside the overlay rectangle.
- Fixed a bug pointed out by Martin Müllenhaupt which caused the windows socket
code to not compile when used with the mingw-cross-env project.
- Fixed a bug in the png_loader. If you loaded an image with an
alpha channel into something without an alpha channel there were
uninitialized values being alpha blended into the image.
- Fixed a bug in the cpp_tokenizer that only shows up on newer versions of
gcc. It wasn't tokenizing double quoted strings right.
Other:
- Added a more complete set of functions for converting between image space
and the downsampled hog grid. So now you can convert from image to hog
instead of just hog to image.
- Made the integral_image more general by making it templated on the
type of scalar used to store the sums.
- Fixed a bug in the png_loader. If you loaded an image with an alpha channel
into something without an alpha channel there were uninitialized values being
alpha blended into the image.
- Fixed a bug in the cpp_tokenizer that only shows up on newer versions of gcc.
It wasn't tokenizing double quoted strings right.
- Fixed a bug in spatially_filter_image() which showed up when using non-square
filters. The bug would cause the edges of the output image to be incorrect.
Other:
- Added a more complete set of methods for converting between image space and
the downsampled hog grid used by hog_image. Now you can convert from image
to hog in addition to hog to image.
- Made the integral_image more general by making it templated on the type of
scalar used to store the sums.
</current>
......
......@@ -263,10 +263,10 @@ int main(int argc, char* argv[])
/*
It is also worth pointing out that you don't have to use dlib::array2d objects to
represent your images. In fact, you can use any object, even something like a struct
of many images and other things, as the "image". The only requirements on an image
of many images and other things as the "image". The only requirements on an image
are that it should be possible to pass it to scanner.load(). So if you can say
scanner.load(images[0]), for example. See the documentation for scan_image_pyramid::load()
for the details.
scanner.load(images[0]), for example, then you are good to go. See the documentation
for scan_image_pyramid::load() for more details.
*/
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment