The Library
Help/Info
Current Release









Last Modified:
Oct 22, 2013

Change Log

Revision: 4c5c1add1a4f2f6b
Author: Davis King
Date: Oct 09, 2013 (15:59:29 UTC)

Changed test slightly to avoid a false alarm

Modified
dlib/test/filtering.cpp

Revision: 3f637fc5ac235fd9
Author: Davis King
Date: Oct 08, 2013 (03:20:53 UTC)

Added more paths to search when looking for the Intel MKL on windows.

Modified
dlib/cmake_find_blas.txt

Revision: bdba0d56813a90d1
Author: Davis King
Date: Oct 07, 2013 (17:01:25 UTC)

Reverted the changes from 4704356b676c.

Modified
dlib/matrix/lapack/fortran_id.h
dlib/matrix/matrix_blas_bindings.h

Revision: cdf1c40fbc1ff71f
Author: Davis King
Date: Oct 07, 2013 (16:59:22 UTC)

Fixed some issues with the cmake files for linking with 64bit intel mkl

Modified
dlib/cmake_find_blas.txt

Revision: 56db2e78b5208915
Author: Davis King
Date: Oct 07, 2013 (16:07:29 UTC)

Setup cmake files to find the Intel MKL on windows and try to link with it if present.

Modified
dlib/cmake_find_blas.txt

Revision: 4704356b676caf96
Author: Davis King
Date: Oct 07, 2013 (16:05:49 UTC)

Fixed the BLAS and LAPACK bindings so they work with the 64bit version of the Intel MKL when used on Windows.

Modified
dlib/matrix/lapack/fortran_id.h
dlib/matrix/matrix_blas_bindings.h

Revision: 72ec4bcd256d630c
Author: Davis King
Date: Oct 05, 2013 (06:29:48 UTC)

Made pyramid_down<1> equivalent to pyramid_disable.

Modified
dlib/image_transforms/image_pyramid.h
dlib/image_transforms/image_pyramid_abstract.h

Revision: e04a7c95a120d40d
Author: Davis King
Date: Oct 04, 2013 (19:07:44 UTC)

Added missing assert

Modified
dlib/svm/function.h

Revision: 64d89145601b61cd
Author: Davis King
Date: Oct 04, 2013 (18:50:10 UTC)

Added the ability to get the score in addition to the label out of the one_vs_all_decision_function.

Modified
dlib/svm/one_vs_all_decision_function.h
dlib/svm/one_vs_all_decision_function_abstract.h

Revision: c38263073971ced0
Author: Davis King
Date: Oct 04, 2013 (18:35:30 UTC)

Added the ability to get the score in addition to the label out of the multiclass_linear_decision_function.

Modified
dlib/svm/function.h
dlib/svm/function_abstract.h

Revision: 2f549185bf3ae6e4
Author: Davis King
Date: Oct 04, 2013 (18:14:33 UTC)

Added compile time checks that make it so the user gets a much more informative error message if they mistakenly use matrices that are not column vectors with the general purpose optimizers.

Modified
dlib/optimization/optimization.h
dlib/optimization/optimization_bobyqa.h
dlib/optimization/optimization_least_squares.h

Revision: 71ce259fffd4c582
Author: Davis King
Date: Oct 03, 2013 (18:17:58 UTC)

Fixed a bug in extract_fhog_features() that happened when very small images were given.

Modified
dlib/image_transforms/fhog.h
dlib/test/fhog.cpp

Revision: b07924f03a577c37
Author: Davis King
Date: Oct 03, 2013 (17:36:51 UTC)

Refactored the image pyramid code. Now there is just one templated object, pyramid_down and you give it the downsampling amount as a template argument.

Modified
dlib/image_transforms/image_pyramid.h
dlib/image_transforms/image_pyramid_abstract.h
dlib/test/object_detector.cpp
dlib/test/pyramid_down.cpp
examples/object_detector_advanced_ex.cpp
examples/object_detector_ex.cpp
examples/train_object_detector.cpp

Revision: 7adbbfd675a94eb4
Author: Davis King
Date: Oct 03, 2013 (17:23:23 UTC)

Made resize_image() overload a little more robust.

Modified
dlib/image_transforms/interpolation.h

Revision: 26c7c7aabf9e2f14
Author: Davis King
Date: Oct 03, 2013 (16:58:43 UTC)

Added pyramid_down_generic

Modified
dlib/image_transforms/image_pyramid.h
dlib/image_transforms/image_pyramid_abstract.h
dlib/test/pyramid_down.cpp

Revision: cc2ff3fe5996e323
Author: Davis King
Date: Oct 03, 2013 (16:57:22 UTC)

Fixed some compile time errors in the new overload of resize_image().

Modified
dlib/image_transforms/interpolation.h

Revision: d929ec2347a18316
Author: Davis King
Date: Oct 02, 2013 (18:51:12 UTC)

Added missing assert

Modified
dlib/image_transforms/interpolation.h

Revision: f531f1b72c317ab0
Author: Davis King
Date: Oct 02, 2013 (18:47:34 UTC)

Made resize_image() use bilinear interpolation by default and also added a special version of it that is optimized for this case.

Modified
dlib/image_transforms/interpolation.h
dlib/image_transforms/interpolation_abstract.h

Revision: 745978eda9f642f9
Author: Davis King
Date: Oct 02, 2013 (17:48:00 UTC)

Made color version of interpolate_bilinear faster.

Modified
dlib/image_transforms/interpolation.h

Revision: 7615451fc2c8dd82
Author: Davis King
Date: Oct 02, 2013 (17:45:08 UTC)

Made interpolate_bilinear a little bit faster.

Modified
dlib/image_transforms/interpolation.h

Revision: 561077db61317bb0
Author: Davis King
Date: Oct 02, 2013 (17:24:51 UTC)

Slightly reduced the amount of blurring that happens in pyramid_down_5_4.

Modified
dlib/image_transforms/image_pyramid.h

Revision: 2f2af3bbcfea8470
Author: Davis King
Date: Oct 02, 2013 (15:08:13 UTC)

Added code to avoid another useless vistual studio warning.

Modified
dlib/algs.h

Revision: 56e1afa0a9b883e6
Author: Davis King
Date: Oct 02, 2013 (13:57:48 UTC)

Just renamed some variables to avoid a name conflict with a #define in vistual studio.

Modified
dlib/statistics/vector_normalizer_frobmetric.h
dlib/statistics/vector_normalizer_frobmetric_abstract.h
dlib/test/statistics.cpp

Revision: 93465866e5482155
Author: Davis King
Date: Oct 01, 2013 (16:25:59 UTC)

Set a default value for the cell size on image_to_fhog() and fhog_to_image().

Modified
dlib/image_transforms/fhog.h
dlib/image_transforms/fhog_abstract.h

Revision: a4c29da6ea8b1950
Author: Davis King
Date: Oct 01, 2013 (15:46:34 UTC)

clarified spec

Modified
dlib/image_transforms/fhog_abstract.h

Revision: 1808ed42ff5669b3
Author: Davis King
Date: Oct 01, 2013 (15:38:50 UTC)

Filled out spec for the FHOG feature extraction routines.

Modified
dlib/image_transforms/fhog.h
dlib/image_transforms/fhog_abstract.h

Revision: 36ea49d30cc3d679
Author: Davis King
Date: Oct 01, 2013 (15:02:18 UTC)

Added unit tests for FHOG feature extractor.

Modified
dlib/test/CMakeLists.txt
dlib/test/makefile
Added
dlib/test/fhog.cpp

Revision: f0cb7332213325c0
Author: Davis King
Date: Sep 30, 2013 (17:00:31 UTC)

Made jet(), heatmap(), and randomly_color_image() work on matrix objects.

Modified
dlib/image_transforms/colormaps.h
dlib/image_transforms/colormaps_abstract.h

Revision: 27985961a2f3c807
Author: Davis King
Date: Sep 29, 2013 (18:51:42 UTC)

Added a function for computing Felzenszwalb's 31 channel HOG image representation.

Modified
dlib/image_transforms.h
Added
dlib/image_transforms/fhog.h
dlib/image_transforms/fhog_abstract.h

Revision: 6ba8dc2247746a64
Author: Davis King
Date: Sep 28, 2013 (13:44:30 UTC)

Simplified the implementation of the array2d object.

Modified
dlib/array2d/array2d_kernel.h
dlib/array2d/array2d_kernel_abstract.h

Revision: d32cca0e4e9cbf13
Author: Davis King
Date: Sep 24, 2013 (18:40:00 UTC)

fixed typo in spec

Modified
dlib/statistics/vector_normalizer_frobmetric_abstract.h

Revision: 51ef1ab96d60e89e
Author: Davis King
Date: Sep 24, 2013 (18:12:31 UTC)

minor cleanup

Modified
dlib/statistics/vector_normalizer_frobmetric_abstract.h

Revision: 28292d0303bd93e3
Author: Davis King
Date: Sep 24, 2013 (18:04:34 UTC)

Added unit tests for the vector_normalizer_frobmetric object.

Modified
dlib/test/statistics.cpp

Revision: 80ad38c2d60ae66d
Author: Davis King
Date: Sep 24, 2013 (18:04:11 UTC)

Made the max iteration limit user settable.

Modified
dlib/statistics/vector_normalizer_frobmetric.h
dlib/statistics/vector_normalizer_frobmetric_abstract.h

Revision: 181c8870b860806e
Author: Davis King
Date: Sep 24, 2013 (17:25:43 UTC)

Added vector_normalizer_frobmetric

Modified
dlib/statistics.h
Added
dlib/statistics/vector_normalizer_frobmetric.h
dlib/statistics/vector_normalizer_frobmetric_abstract.h

Revision: 5880301e5b2573d1
Author: Davis King
Date: Sep 23, 2013 (18:59:41 UTC)

Made find_min_box_constrained() and find_max_box_constrained() a little smarter about how they schedule their initial step sizes. In particular, they will try to take step sizes that are similar to previously used sizes via a trust region style scheduling.

Modified
dlib/optimization/optimization.h

Revision: 9bf437efdef54381
Author: Davis King
Date: Sep 23, 2013 (18:53:08 UTC)

Added another overload of poly_min_extrap() and also improved the speed of backtracking_line_search() by making it use 3rd degree polynomial interpolation after the first step. Also made it more robust to alpha inputs with improper signs.

Modified
dlib/optimization/optimization_line_search.h
dlib/optimization/optimization_line_search_abstract.h

Revision: 8def57db38b77c65
Author: Davis King
Date: Sep 23, 2013 (13:26:30 UTC)

Added comments referencing useful source material.

Modified
dlib/optimization/optimization.h

Revision: 8286f940033468c1
Author: Davis King
Date: Sep 22, 2013 (09:21:57 UTC)

clarified spec

Modified
dlib/optimization/optimization_abstract.h

Revision: fceb1177a97f10ed
Author: Davis King
Date: Sep 22, 2013 (07:50:40 UTC)

Tweaked find_min_box_constrained() so that the user can easily reuse computations done in f() when computing der().

Modified
dlib/optimization/optimization_abstract.h
dlib/optimization/optimization_line_search.h
dlib/optimization/optimization_line_search_abstract.h

Revision: e1a22216ab2719a9
Author: Davis King
Date: Sep 22, 2013 (06:19:42 UTC)

clarified spec

Modified
dlib/statistics/cca_abstract.h

Revision: c2e85016c702568b
Author: Davis King
Date: Sep 21, 2013 (17:02:18 UTC)

fixed compiler warning

Modified
dlib/test/is_same_object.cpp

Revision: e7d229615df39855
Author: Davis King
Date: Sep 21, 2013 (16:59:18 UTC)

Added more tests for DLIB_MAKE_HAS_MEMBER_FUNCTION_TEST and also fixed unit tests so they work on older versions of visual studio.

Modified
dlib/test/is_same_object.cpp

Revision: 651b218499fac9cf
Author: Davis King
Date: Sep 21, 2013 (15:43:12 UTC)

Added versions of find_min_box_constrained() and find_max_box_constrained() that allow you to easily set uniform upper and lower bounds.

Modified
dlib/optimization/optimization.h
dlib/optimization/optimization_abstract.h
dlib/test/optimization.cpp

Revision: 0374874e50bd27d9
Author: Davis King
Date: Sep 21, 2013 (15:26:18 UTC)

added more tests for find_min_box_constrained()

Modified
dlib/test/optimization.cpp

Revision: 0bb3631d013bd27d
Author: Davis King
Date: Sep 21, 2013 (11:12:36 UTC)

clarified spec

Modified
dlib/statistics/cca_abstract.h

Revision: 33838551333faf03
Author: Davis King
Date: Sep 21, 2013 (11:04:28 UTC)

clarified spec

Modified
dlib/image_transforms/segment_image_abstract.h

Revision: 51cd20fca5062acb
Author: Davis King
Date: Sep 21, 2013 (10:37:54 UTC)

Removed a bunch of checks that prevented users from using references to functions with the optimization code and forced the use of function pointers. This was to avoid triggering a bug in gcc 4.0. Since that compiler is no longer officially supported by dlib I've removed these checks to increase usability.

Modified
dlib/optimization/optimization.h
dlib/optimization/optimization_bobyqa.h
dlib/optimization/optimization_line_search.h
dlib/optimization/optimization_search_strategies.h
dlib/optimization/optimization_search_strategies_abstract.h
dlib/test/least_squares.cpp
dlib/test/optimization.cpp
examples/least_squares_ex.cpp
examples/optimization_ex.cpp

Revision: f8f54f1b8ecc6176
Author: Davis King
Date: Sep 21, 2013 (10:01:54 UTC)

clarified spec

Modified
dlib/optimization/optimization_abstract.h

Revision: 428efc604121edc6
Author: Davis King
Date: Sep 21, 2013 (09:48:34 UTC)

Made tests more robust

Modified
dlib/test/optimization.cpp

Revision: 1f1ce9ed0cfdf42b
Author: Davis King
Date: Sep 21, 2013 (09:31:06 UTC)

Added find_max_box_constrained()

Modified
dlib/optimization/optimization.h
dlib/optimization/optimization_abstract.h
dlib/test/optimization.cpp

Revision: b7cc869094c5e7ad
Author: Davis King
Date: Sep 21, 2013 (09:11:50 UTC)

Added find_min_box_constrained()

Modified
dlib/optimization/optimization.h
dlib/optimization/optimization_abstract.h
dlib/test/optimization.cpp

Revision: c61880f8b724b430
Author: Davis King
Date: Sep 21, 2013 (06:58:06 UTC)

Added clamp_function() and backtracking_line_search()

Modified
dlib/optimization/optimization.h
dlib/optimization/optimization_abstract.h
dlib/optimization/optimization_line_search.h
dlib/optimization/optimization_line_search_abstract.h

Revision: cc246a7012be5a23
Author: Davis King
Date: Sep 14, 2013 (19:48:13 UTC)

Added an overload of clamp() that lets you use matrix valued lower/upper bounds.

Modified
dlib/matrix/matrix_utilities.h
dlib/matrix/matrix_utilities_abstract.h
dlib/test/matrix2.cpp

Revision: f38f1d61d4811f93
Author: Davis King
Date: Sep 14, 2013 (12:42:14 UTC)

Added a version of poly_min_extrap() that uses a 2nd degree model.

Modified
dlib/optimization/optimization_line_search.h
dlib/optimization/optimization_line_search_abstract.h
dlib/test/optimization.cpp

Revision: 6fb5ade1e0814b35
Author: Davis King
Date: Sep 13, 2013 (18:41:53 UTC)

Updated the interface to allow the user to set different loss values for false alarming vs getting a correct detection.

Modified
dlib/svm/structural_sequence_segmentation_trainer.h
dlib/svm/structural_sequence_segmentation_trainer_abstract.h

Revision: cc7601e5d03e66d3
Author: Davis King
Date: Sep 09, 2013 (13:47:50 UTC)

Made HTTP server parsing work when a query like "GET /" comes in that is missing the HTTP/1.1 version field.

Modified
dlib/server/server_http.cpp

Revision: 1ffd93705286860c
Author: Davis King
Date: Sep 08, 2013 (13:57:29 UTC)

Made the structural svm solver use its cache elements to try and mitigate the errors made by an approximate separation oracle. In particular, the solver will now check the output of the separation oracle against the cache and if the cache gives a better value, even when we would otherwise not use the cache, the cache value is used. Similarly, we can output the truth psi vector to avoid outputting a psi with a negative risk. All this stuff only happens when the cache is enabled, if its disabled then the outputs of the separation oracle are used without any kind of modification.

Modified
dlib/svm/structural_svm_problem.h

Revision: e25e70652bce0c83
Author: Davis King
Date: Sep 08, 2013 (12:52:00 UTC)

Cleaned up the scan_image_pyramid code a little and also made its estimation of which detection template generated a detection slightly more accurate.

Modified
dlib/image_processing/scan_image_pyramid.h

Revision: 46ecffa5979db06d
Author: Davis King
Date: Sep 06, 2013 (07:06:00 UTC)

Minor code cleanup and error message improvement.

Modified
dlib/server/server_http.cpp

Revision: 46c97ea888469d67
Author: Davis King
Date: Sep 06, 2013 (05:53:25 UTC)

Slightly changed make_potts_grid_problem() so that it allows the user to give two images with different pixel types rather than requiring the images to have the same pixel types.

Modified
dlib/graph_cuts/find_max_factor_graph_potts.h
dlib/graph_cuts/find_max_factor_graph_potts_abstract.h
dlib/test/graph_cuts.cpp

Revision: 72544f986585ab5f
Author: Davis King
Date: Sep 05, 2013 (12:23:41 UTC)

Improved determine_object_boxes(). It will now avoid selecting object boxes that redundant with detection templates already in a scanner object.

Modified
dlib/image_processing/scan_image_pyramid_tools.h
dlib/image_processing/scan_image_pyramid_tools_abstract.h

Revision: 5eb9808821b99158
Author: Davis King
Date: Sep 05, 2013 (11:49:34 UTC)

Removed old and unneeded ::kernel_2a typedef references.

Modified
dlib/bridge/bridge.h
dlib/bsp/bsp.h

Revision: 3b12e684bfeaba51
Author: Davis King
Date: Sep 01, 2013 (17:47:28 UTC)

Tweaked the cutting plane cache threshold test slightly. This method reduces the separation oracle calls by about 10%.

Modified
dlib/svm/structural_svm_problem.h

Revision: 182a79eab346c3e6
Author: Davis King
Date: Sep 01, 2013 (09:17:45 UTC)

Removed cmake statement that is no longer needed.

Modified
dlib/add_python_module

Revision: e0712f8ec3a7019e
Author: Davis King
Date: Sep 01, 2013 (09:15:04 UTC)

Moved python C++ utility headers into dlib/python and updated #include statements to reflect this move.

Modified
tools/python/src/basic.cpp
tools/python/src/cca.cpp
tools/python/src/decision_functions.cpp
tools/python/src/matrix.cpp
tools/python/src/other.cpp
tools/python/src/sequence_segmenter.cpp
tools/python/src/svm_c_trainer.cpp
tools/python/src/svm_rank_trainer.cpp
tools/python/src/svm_struct.cpp
tools/python/src/vector.cpp
Added
dlib/python.h
dlib/python/boost_python_utils.h
dlib/python/pyassert.h
dlib/python/serialize_pickle.h
Deleted
tools/python/src/boost_python_utils.h
tools/python/src/pyassert.h
tools/python/src/serialize_pickle.h

Revision: f8f4d3e5a1cffbf8
Author: Davis King
Date: Sep 01, 2013 (08:55:12 UTC)

Updated projection_hash creation functions to allow user to supply the random number generator that gets used.

Modified
dlib/lsh/create_random_projection_hash.h
dlib/lsh/create_random_projection_hash_abstract.h

Revision: babfb32f15c6d926
Author: Davis King
Date: Sep 01, 2013 (08:42:19 UTC)

Made the PNG loader able to load in grayscale images with an alpha channel.

Modified
dlib/image_loader/png_loader.cpp
dlib/image_loader/png_loader.h
dlib/image_loader/png_loader_abstract.h

Revision: 97ad043619884f3e
Author: Davis King
Date: Aug 24, 2013 (04:21:56 UTC)

Changed structural SVM solver to only disable the cache after two successive iterations of apparent convergence since this results in fewer separation oracle calls overall.

Modified
dlib/svm/structural_svm_problem.h

Revision: 71890f44378bde3a
Author: Davis King
Date: Aug 23, 2013 (05:36:28 UTC)

Added add_image_left_right_flips()

Modified
dlib/image_transforms/interpolation.h
dlib/image_transforms/interpolation_abstract.h

Revision: 4ff744656ba3c637
Author: Davis King
Date: Aug 23, 2013 (03:11:09 UTC)

Added split_array()

Modified
dlib/array.h
dlib/test/array.cpp
Added
dlib/array/array_tools.h
dlib/array/array_tools_abstract.h

Revision: 9436bd42ea0a3d63
Author: Davis King
Date: Aug 20, 2013 (15:57:12 UTC)

Changed python cmake file to work with older versions of boost.

Modified
dlib/add_python_module

Revision: 314bc3ef9c65be58
Author: Davis King
Date: Aug 18, 2013 (12:36:38 UTC)

Minor code cleanup

Modified
dlib/svm/structural_svm_problem.h

Revision: 2a4d3f94c86ab3f4
Author: Davis King
Date: Aug 18, 2013 (11:37:05 UTC)

Added remove_unobtainable_rectangles() for the scan_image_custom scanner.

Modified
dlib/image_processing/remove_unobtainable_rectangles.h
dlib/image_processing/remove_unobtainable_rectangles_abstract.h

Revision: f770d67bb7881047
Author: Davis King
Date: Aug 17, 2013 (18:02:13 UTC)

Added scan_image_custom

Modified
dlib/image_processing.h
Added
dlib/image_processing/scan_image_custom.h
dlib/image_processing/scan_image_custom_abstract.h

Revision: ab1e58f0f53fcfe7
Author: Davis King
Date: Aug 17, 2013 (18:00:42 UTC)

clarified specs

Modified
dlib/image_processing/scan_image_boxes_abstract.h
dlib/image_processing/scan_image_pyramid_abstract.h

Revision: c4653d9ff184d95c
Author: Davis King
Date: Aug 17, 2013 (15:31:22 UTC)

Fixed typos in some error message strings.

Modified
dlib/image_processing/scan_image_boxes.h
dlib/image_processing/scan_image_pyramid.h

Revision: c566cfe03e436e7c
Author: Davis King
Date: Aug 17, 2013 (13:09:41 UTC)

Slightly relaxed the tolerance on the test that the user supplied feature extraction is correctly programmed to avoid false alarms.

Modified
dlib/svm/structural_svm_object_detection_problem.h

Revision: 727e00e736be7230
Author: Davis King
Date: Aug 17, 2013 (12:42:53 UTC)

Changed macro so it can be placed inside a class as well as at global scope and in headers.

Modified
dlib/algs.h

Revision: 23c91e08ff3dde25
Author: Davis King
Date: Aug 17, 2013 (12:26:22 UTC)

Added the DLIB_MAKE_HAS_MEMBER_FUNCTION_TEST() macro and switched some code over to use it.

Modified
dlib/algs.h
dlib/svm/sequence_labeler.h
dlib/test/is_same_object.cpp

Revision: 42e2b95724e35d5b
Author: Davis King
Date: Aug 17, 2013 (05:45:16 UTC)

removed cruft

Modified
dlib/svm/structural_svm_problem.h

Revision: c824038f7b2fb9f9
Author: Davis King
Date: Aug 14, 2013 (17:05:29 UTC)

Fixed a bug in the sequence_segmenter which could cause it to output detected sequences that go slightly beyond the end of the input sequence.

Modified
dlib/svm/sequence_segmenter.h


Old Change Logs