The Library

- Algorithms
- API Wrappers
- Bayesian Nets
- Compression
- Containers
- Graph Tools
- Image Processing
- Linear Algebra
- Machine Learning
- Metaprogramming
- Miscellaneous
- Networking
- Optimization
- Parsing

Help/Info

- Examples: C++
  - Assignment_Learning
  - Base64_Encoder
  - Bayesian_Network
  - Bayesian_Network_From_Disk
  - Bayesian_Network_GUI
  - Bridge
  - BSP
  - Cmd_Line_Parser
  - Compress_Stream
  - Config_File_Reader
  - Custom_Trainers
  - Directory_Navigation
  - Empirical_Kernel_Map
  - Graph_Labeling
  - GUI
  - HTTP_Server
  - Image
  - IO Socket Streams
  - IO Streams Server
  - Kernel_Centroid
  - Kernel_K-Means_Clustering
  - Kernel_Ridge_Regression
  - Kernel_RLS_Filtering
  - Kernel_RLS_Regression
  - KRR_Classification
  - Linear_Manifold_Regularizer
  - Logger
  - Logger_Advanced
  - Matrix
  - Matrix_Expressions
  - Member_Function_Pointer
  - Model_Selection
  - Multiclass_Classification
  - Multithreaded_Object
  - Neural_Network
  - Non-Linear Least Squares
  - Numerical_Integration
  - Object_Detector
  - Object_Detector_Advanced
  - One_Class_Classifiers
  - Online_SVM
  - Optimization
  - Parallel_For_Loops
  - Pipe
  - Pipe_2
  - Quantum_Computing
  - Queue
  - Rank_Features
  - Relevance_Vector_Classification
  - Relevance_Vector_Regression
  - Running_Stats
  - Sequence_Labeling
  - Sequence_Segmentation
  - Sockets
  - Sockstreambuf
  - Sparse_Vectors
  - Std_C++_Allocator
  - Structural_Support_Vector_Machines
  - Support_Vector_Machine
  - Support_Vector_Regression
  - SURF
  - SVM-Rank
  - Threaded_Object
  - Threads
  - Thread_Function
  - Thread_Pool
  - Timer
  - Train_Object_Detector
  - Using_Custom_Kernels
  - XML_Parser
- Examples: Python
  - Linear_Assignment_Problems
  - Sequence_Segmenter
  - Structural_Support_Vector_Machines
  - SVM-Rank
- FAQ
- Home
- How to compile
- How to contribute
- Index
- Introduction
- License
- Python API
- Suggested Books

Current Release

- Change Log
- Release Notes
- Version: 18.4

Last Modified: Aug 28, 2013

# Change Log

Revision: 6260ffc125515e8b
Author: Davis King
Date: Aug 11, 2013 (09:21:12 UTC)

Minor change to avoid doing unnecessary computations in certain cases.

Modified
dlib/image_processing/remove_unobtainable_rectangles.h

Revision: b29ee01de0b17a2b
Author: Davis King
Date: Aug 10, 2013 (05:21:42 UTC)

Minor changes to avoid warnings in visual studio 2005

Modified
dlib/geometry/point_transforms.h
dlib/image_loader/image_loader.h

Revision: 10f743f8493c24b5
Author: Davis King
Date: Aug 09, 2013 (07:22:03 UTC)

clarified spec

Modified
dlib/optimization/max_cost_assignment_abstract.h

Revision: 3155a884a0b7c447
Author: Davis King
Date: Aug 08, 2013 (15:42:37 UTC)

Made the unit tests also compile all the example programs

Modified
dlib/test/CMakeLists.txt

Revision: 48d22e42381f969b
Author: Davis King
Date: Aug 08, 2013 (06:31:32 UTC)

Add checks into the vector_normalizer and vector_normalizer_pca objects to detect users giving infinite and NaN values as inputs.

Modified
dlib/statistics/statistics.h
dlib/statistics/statistics_abstract.h

Revision: 92248b69bc22b41d
Author: Davis King
Date: Aug 08, 2013 (06:20:38 UTC)

Added some asserts into the optimization code to detect when the user accidentally creates objective functions which output infinite or NaN values.

Modified
dlib/optimization/optimization.h
dlib/optimization/optimization_trust_region.h

Revision: 5257397696f533ea
Author: Davis King
Date: Aug 08, 2013 (06:04:05 UTC)

Added is_finite() for matrix objects.

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

Revision: 86dc35f152012b00
Author: Davis King
Date: Aug 08, 2013 (05:44:53 UTC)

Added is_finite()

Modified
dlib/algs.h

Revision: 4d2c4237be04cf7e
Author: Davis King
Date: Aug 07, 2013 (10:39:56 UTC)

Minor change to avoid a compiler warning

Modified
dlib/server/server_http.h

Revision: 444c2fb1984e67be
Author: Davis King
Date: Aug 07, 2013 (10:15:12 UTC)

Added the option to disable overlay editing to the image_display. Also made the image_window not allow overlay editing.

Modified
dlib/gui_widgets/widgets.cpp
dlib/gui_widgets/widgets.h
dlib/gui_widgets/widgets_abstract.h

Revision: 7a0620a2865f467d
Author: Davis King
Date: Aug 07, 2013 (09:42:06 UTC)

Fixed a bug in the image_window which made it's behavior slightly weird when a user drew rectangles on it.

Modified
dlib/gui_widgets/widgets.cpp

Revision: 2c7a979a8d1990b9
Author: Davis King
Date: Aug 07, 2013 (09:08:20 UTC)

Added Steven Van Ingelgem's patch to the HTTP server which makes operations on HTTP headers case-insensitive.

Modified
dlib/server/server_http.cpp
dlib/server/server_http.h
dlib/server/server_http_abstract.h

Revision: 56acc82bcd889682
Author: Davis King
Date: Aug 06, 2013 (17:25:34 UTC)

Changed all the structural SVM tools to use a default PSI cache size of 5.

Modified
dlib/svm/structural_assignment_trainer.h
dlib/svm/structural_assignment_trainer_abstract.h
dlib/svm/structural_graph_labeling_trainer.h
dlib/svm/structural_graph_labeling_trainer_abstract.h
dlib/svm/structural_object_detection_trainer.h
dlib/svm/structural_object_detection_trainer_abstract.h
dlib/svm/structural_sequence_labeling_trainer.h
dlib/svm/structural_sequence_labeling_trainer_abstract.h
dlib/svm/structural_svm_problem.h
dlib/svm/structural_svm_problem_abstract.h
dlib/test/assignment_learning.cpp

Revision: a1d706316d4978b5
Author: Davis King
Date: Aug 06, 2013 (17:25:07 UTC)

Updated tests to work with current code

Modified
dlib/test/object_detector.cpp

Revision: 10fa2f2baf0f3031
Author: Davis King
Date: Aug 06, 2013 (-04:31:58 UTC)

Added use_relative_feature_weights() and use_uniform_feature_weights() functions to make it easy to configure image scanners that use the hashed_feature_image.

Modified
dlib/image_processing/setup_hashed_features.h
dlib/image_processing/setup_hashed_features_abstract.h

Revision: 999cf94fe04ba7ba
Author: Davis King
Date: Aug 06, 2013 (-04:03:24 UTC)

Added an option to weight the features from a hashed_feature_image relative to the number of times they occur in an image. I also set the new default behavior to use this relative weighting and changed the serialization format to accommodate this.

Modified
dlib/image_keypoint/hashed_feature_image.h
dlib/image_keypoint/hashed_feature_image_abstract.h

Revision: c17fd536bd30410e
Author: Davis King
Date: Aug 05, 2013 (19:50:51 UTC)

Added get_feature_extractor() functions to the image scanners so the underlying feature extractors can have their parameters queried.

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

Revision: 4da0517f76df04a7
Author: Davis King
Date: Aug 05, 2013 (19:02:40 UTC)

Removed cruft

Modified
dlib/image_keypoint/binned_vector_feature_image.h

Revision: cf317e3d7dab7b7c
Author: Davis King
Date: Aug 05, 2013 (10:48:33 UTC)

Made spec slightly clearer

Modified
dlib/image_processing/box_overlap_testing_abstract.h

Revision: 5b354eb89741ad47
Author: Davis King
Date: Jul 31, 2013 (15:26:00 UTC)

Clarified the error message you get when an impossible set of object boxes is detected.

Modified
dlib/svm/structural_svm_object_detection_problem.h

Revision: 5aeef54ad0470eaa
Author: Davis King
Date: Jul 31, 2013 (15:24:42 UTC)

Fixed a bug in the object_detector testing code that caused the average precision values to be slightly wrong.

Modified
dlib/svm/cross_validate_object_detection_trainer.h

Revision: 1d640940bcf6e310
Author: Davis King
Date: Jul 26, 2013 (17:54:12 UTC)

Fully qualified the char_traits references to avoid name conflicts in certain rare cases.

Modified
dlib/string/string.h

Revision: dd03be6425807520
Author: Davis King
Date: Jul 25, 2013 (30:37:36 UTC)

Changed object detector testing functions to output average precision instead of mean average precision.

Modified
dlib/svm/cross_validate_object_detection_trainer.h
dlib/svm/cross_validate_object_detection_trainer_abstract.h

Revision: d63ed589bf5f770b
Author: Davis King
Date: Jul 17, 2013 (14:51:30 UTC)

Fixed a bug in running_scalar_covariance that caused the covariance() and correlation() methods to output the wrong answer if the covariance was negative.

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

Revision: 95d1c0c7ed501ae5
Author: Davis King
Date: Jul 16, 2013 (13:45:44 UTC)

Changed unit test so it has the same behavior everywhere. Previously, since the order of function argument evaluation is not defined, the test had slightly different results on different systems which could cause the tests to falsely indicate failure.

Modified
dlib/test/filtering.cpp

Revision: ae97b1912530252e
Author: Davis King
Date: Jul 15, 2013 (18:58:43 UTC)

Changed cmake file so python libraries have the correct extension on mac systems.

Modified
dlib/add_python_module

Revision: d647cb0635ec53d3
Author: Davis King
Date: Jul 15, 2013 (04:01:07 UTC)

fixed compile error in older gcc

Modified
dlib/matrix/matrix.h

Revision: 03d788a184b8eae4
Author: Davis King
Date: Jul 14, 2013 (06:10:14 UTC)

Improved the way the feature vector cache is used within the structural svm solver. This makes some things, such as the structural_object_detection_trainer, significantly faster.

Modified
dlib/svm/structural_svm_problem.h

Revision: cb780af8400baf20
Author: Davis King
Date: Jul 12, 2013 (16:26:28 UTC)

slightly simplified code

Modified
dlib/image_processing/scan_image_boxes.h

Revision: 29d783e892f4dfc3
Author: Davis King
Date: Jul 12, 2013 (16:26:18 UTC)

Made the integral image swappable

Modified
dlib/image_transforms/integral_image.h
dlib/image_transforms/integral_image_abstract.h

Revision: 35a79c85aa221bba
Author: Davis King
Date: Jul 08, 2013 (18:19:17 UTC)

Added the csv io manipulator that lets you print a matrix in cvs format.

Modified
dlib/matrix/matrix.h

Revision: b4489a28f311d500
Author: Davis King
Date: Jul 07, 2013 (10:59:42 UTC)

clarified spec

Modified
dlib/svm/structural_svm_problem_abstract.h

Revision: db1dcb994cc4bd4a
Author: Davis King
Date: Jul 01, 2013 (13:31:21 UTC)

Added order_by_descending_distance()

Modified
dlib/graph_utils/sample_pair.h
dlib/graph_utils/sample_pair_abstract.h

Revision: 34f302dd159919ca
Author: Davis King
Date: Jun 23, 2013 (10:58:51 UTC)

Fixed typo in learn_platt_scaling(). The method wasn't using the exact prior suggested by Platt's paper.

Modified
dlib/svm/svm.h

Revision: 855606db829d6425
Author: Davis King
Date: Jun 22, 2013 (17:43:13 UTC)

Changed code to avoid an unnecessary computation.

Modified
dlib/svm/function.h

Revision: e220cbd8dd4c435f
Author: Davis King
Date: Jun 18, 2013 (19:11:21 UTC)

Upgraded the structural_svm_problem so that it collapses down excessively large sparse vectors to avoid unnecessary RAM usage in this case.

Modified
dlib/svm/structural_svm_problem.h

Revision: 0432824f57c586c6
Author: Davis King
Date: Jun 16, 2013 (08:07:23 UTC)

Slightly simplified the dir_nav interface

Modified
dlib/dir_nav/dir_nav_kernel_1.h
dlib/dir_nav/dir_nav_kernel_2.h
dlib/dir_nav/dir_nav_kernel_abstract.h

Revision: 4833264df837902d
Author: Davis King
Date: Jun 15, 2013 (11:23:36 UTC)

clarified spec

Modified
dlib/statistics/statistics_abstract.h

Revision: a3481be0101c7fdc
Author: Davis King
Date: Jun 15, 2013 (11:20:32 UTC)

removed print statement

Modified
dlib/test/statistics.cpp

Revision: c2d3d983a690e797
Author: Davis King
Date: Jun 15, 2013 (11:20:03 UTC)

Made the running covariance objects work with sparse vectors.

Modified
dlib/statistics/statistics.h
dlib/statistics/statistics_abstract.h
dlib/test/statistics.cpp

Revision: 3a2331e7426ff1cc
Author: Davis King
Date: Jun 15, 2013 (09:44:40 UTC)

clarified spec

Modified
dlib/statistics/statistics_abstract.h

Revision: 3a6623b24b69a18c
Author: Davis King
Date: Jun 15, 2013 (09:37:26 UTC)

Added tests and slight refinements

Modified
dlib/statistics/statistics.h
dlib/statistics/statistics_abstract.h
dlib/test/statistics.cpp

Revision: 955021d3709ac6a4
Author: Davis King
Date: Jun 15, 2013 (09:18:09 UTC)

Added running_cross_covariance.

Modified
dlib/statistics/statistics.h
dlib/statistics/statistics_abstract.h

Revision: fa3870446bcdd379
Author: Davis King
Date: Jun 11, 2013 (18:10:00 UTC)

Gave the image_window the ability to tie the mouse and keyboard events together such that it is possible for a user to listen for both simultaneously.

Modified
dlib/gui_widgets/widgets.cpp
dlib/gui_widgets/widgets.h
dlib/gui_widgets/widgets_abstract.h

Revision: 80fc08e20fae67c8
Author: Davis King
Date: Jun 11, 2013 (16:05:54 UTC)

Changed code to avoid compiler errors in some environments.

Modified
dlib/threads/threads_kernel_shared.cpp

Old Change Logs