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++
  - 3D_Point_Cloud
  - Assignment_Learning
  - Base64_Encoder
  - Bayesian_Network
  - Bayesian_Network_From_Disk
  - Bayesian_Network_GUI
  - Bridge
  - BSP
  - C-Support_Vector_Machine
  - Cmd_Line_Parser
  - Compress_Stream
  - Config_File_Reader
  - Custom_Trainers
  - Directory_Navigation
  - Empirical_Kernel_Map
  - Face_Detection
  - Face_Landmark_Detection
  - FHOG_Feature_Extraction
  - FHOG_Object_Detection
  - Graph_Labeling
  - GUI
  - Hough_Transform
  - 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
  - Learning_to_Track
  - Linear_Assignment_Problems
  - Linear_Manifold_Regularizer
  - Logger
  - Logger_Advanced
  - Logger_Custom_Output
  - Matrix
  - Matrix_Expressions
  - Member_Function_Pointer
  - Model_Selection
  - Multiclass_Classification
  - Multithreaded_Object
  - Neural_Network
  - Non-Linear Least Squares
  - Nu-Support_Vector_Machine
  - 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
  - SQLite
  - Std_C++_Allocator
  - Structural_Support_Vector_Machines
  - Support_Vector_Regression
  - SURF
  - SVM-Rank
  - Threaded_Object
  - Threads
  - Thread_Function
  - Thread_Pool
  - Timer
  - Train_Object_Detector
  - Train_Shape_Predictor
  - Using_Custom_Kernels
  - Video_Object_Tracking
  - Webcam_Face_Pose_Estimation
  - XML_Parser
- Examples: Python
  - Face_Detector
  - Face_Landmark_Detection
  - find_candidate_object_locations
  - Linear_Assignment_Problems
  - Sequence_Segmenter
  - Structural_Support_Vector_Machines
  - SVM-Rank
  - Train_Object_Detector
  - Train_Shape_Predictor
- FAQ
- Home
- How to compile
- How to contribute
- Index
- Introduction
- License
- Python API
- Suggested Books

Current Release

- Change Log
- Release Notes
- Version: 18.15

Last Modified: Apr 29, 2015

# Old Change Logs

Revision: 4d5f3df18274d9fc
Author: Davis King
Date: Feb 28, 2015 (09:34:50 UTC)

Updated spec to reference the paper describing this solver.

Modified
dlib/svm/structural_svm_object_detection_problem_abstract.h

Revision: 4c24879b61023fc4
Author: Davis King
Date: Feb 28, 2015 (09:21:16 UTC)

Added unit tests for extract_image_chips()

Modified
dlib/test/image.cpp

Revision: 2eac09505b20abb3
Author: Davis King
Date: Feb 28, 2015 (08:46:58 UTC)

Changed extract_image_chips() so that it doesn't build image pyramids larger than necessary when pulling out chips.

Modified
dlib/image_transforms/interpolation.h

Revision: 8846c8bb77350e44
Author: Davis King
Date: Feb 28, 2015 (07:52:33 UTC)

Added a typedef for vector<double,2> called dpoint.

Modified
dlib/geometry/vector.h
dlib/geometry/vector_abstract.h

Revision: 704e4491c421cd7a
Author: nate.crosswhite
Date: Feb 26, 2015 (08:56:07 UTC)

Locate ATLAS on RHEL/CentOS 7

Modified
dlib/cmake_find_blas.txt

Revision: 819b72adec82b802
Author: Davis King
Date: Feb 27, 2015 (13:08:04 UTC)

Made it so you can compose point transform objects via operator *.

Modified
dlib/geometry/point_transforms.h
dlib/geometry/point_transforms_abstract.h
dlib/test/geometry.cpp

Revision: 5475b4a2d2b1bd8b
Author: Davis King
Date: Feb 26, 2015 (16:16:00 UTC)

Fixed uninitialized variable in the code I just committed

Modified
dlib/image_transforms/fhog.h

Revision: 6e666d21facf06ff
Author: Davis King
Date: Feb 26, 2015 (13:32:25 UTC)

Optimized extract_fhog_features() for the case where cell_size==1. This makes it about 4x faster in that case.

Modified
dlib/image_transforms/fhog.h

Revision: 1b3d7ee19ff947a6
Author: Davis King
Date: Feb 25, 2015 (02:59:58 UTC)

clarified thread safety

Modified
dlib/sockstreambuf/sockstreambuf_abstract.h

Revision: c6452495d7fb0065
Author: Davis King
Date: Feb 25, 2015 (02:52:35 UTC)

Added set_all_logging_headers()

Modified
dlib/logger/logger_kernel_1.cpp
dlib/logger/logger_kernel_1.h
dlib/logger/logger_kernel_abstract.h

Revision: 107b5bad79f2c89e
Author: Davis King
Date: Feb 21, 2015 (14:25:12 UTC)

Made the point up/down mapping for pyramid_down<2> and pyramid_down<3> a little bit more accurate.

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

Revision: 08372181e08c0727
Author: Davis King
Date: Feb 18, 2015 (02:55:53 UTC)

Made sub_image() a little more robust with regards to object lifetime and const correctness.

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

Revision: 9183fbd6812e9966
Author: Davis King
Date: Feb 16, 2015 (12:16:39 UTC)

Refined the definition of the drectangle a little. In particular, now it behaves more like the rectangle in terms of how it measures width and height.

Modified
dlib/geometry/drectangle.h
dlib/geometry/drectangle_abstract.h

Revision: 4b81ac375c136885
Author: Davis King
Date: Feb 16, 2015 (12:14:34 UTC)

Made cmake script work a little better in projects that involve a lot of subdirectories and create a lot of executables.

Modified
dlib/cmake

Revision: cc65a655109d0377
Author: Davis King
Date: Feb 15, 2015 (16:56:44 UTC)

Fixed typo in spec

Modified
dlib/image_transforms/interpolation_abstract.h

Revision: 05e8957a74d1bed6
Author: Davis King
Date: Feb 15, 2015 (16:46:49 UTC)

Added another test

Modified
dlib/test/geometry.cpp

Revision: b0fecc9097206968
Author: Davis King
Date: Feb 15, 2015 (03:02:04 UTC)

Minor change to avoid triggering an assert.

Modified
dlib/image_processing/correlation_tracker.h

Revision: c37d9becb489c5db
Author: Davis King
Date: Feb 14, 2015 (14:11:09 UTC)

Refined drectangle a little.

Modified
dlib/geometry/drectangle.h
dlib/geometry/drectangle_abstract.h
dlib/test/geometry.cpp

Revision: 5a51a860aa7294c3
Author: Davis King
Date: Feb 14, 2015 (13:12:50 UTC)

Fixed warning in gcc

Modified
dlib/logger/logger_config_file.cpp

Revision: 94407a69a2f1ae59
Author: Davis King
Date: Feb 14, 2015 (13:03:44 UTC)

Made the mapping from rectangle -> drectangle -> rectangle invertible.

Modified
dlib/geometry/drectangle.h
dlib/geometry/drectangle_abstract.h

Revision: e2b7a71700451724
Author: Davis King
Date: Feb 12, 2015 (02:30:28 UTC)

Made rectangle implicitly convertible to a chip_details.

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

Revision: 011d68915e512b70
Author: Davis King
Date: Feb 11, 2015 (13:42:53 UTC)

Fixed sub_image() so it works properly with nested sub-images.

Modified
dlib/image_transforms/interpolation.h

Revision: ecbf85e1acae83d4
Author: Davis King
Date: Feb 11, 2015 (13:34:14 UTC)

Added sub_image() and sub_image_proxy.

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

Revision: 5788b63006f1e430
Author: Davis King
Date: Feb 11, 2015 (02:55:42 UTC)

Added spectral_cluster() example

Modified
examples/kkmeans_ex.cpp

Revision: 31b1af7efde6eb22
Author: Davis King
Date: Feb 11, 2015 (02:50:27 UTC)

Added spectral_cluster()

Modified
dlib/clustering.h
Added
dlib/clustering/spectral_cluster.h
dlib/clustering/spectral_cluster_abstract.h

Revision: f2dded2d03bc87a2
Author: Davis King
Date: Feb 14, 2015 (03:07:32 UTC)

Added an overload of configure_loggers_from_file() that can read directly from a config_reader.

Modified
dlib/logger/logger_config_file.cpp
dlib/logger/logger_config_file.h

Revision: 7f39c7e6405d8ec2
Author: Davis King
Date: Feb 14, 2015 (02:52:53 UTC)

Added compile time assert checks on the type given to the kernels.

Modified
dlib/svm/kernel.h

Revision: 40bc46728501eda9
Author: Davis King
Date: Feb 07, 2015 (04:33:19 UTC)

Changed the cmake code for finding libjpeg and libpng slightly to avoid a cmake error on some platforms when one of these libraries can't be found.

Modified
dlib/CMakeLists.txt

Revision: 9ae9621b8e097055
Author: Davis King
Date: Feb 03, 2015 (12:58:22 UTC)

Made libjpeg always use C linking so there are not incompatibilities with other libjpeg header files.

Modified
dlib/external/libjpeg/jmorecfg.h

Revision: 202bb57831145dcd
Author: Davis King
Date: Feb 03, 2015 (10:33:11 UTC)

Added comments

Modified
examples/video_tracking_ex.cpp

Revision: fdbc041e0d49481d
Author: Davis King
Date: Feb 03, 2015 (09:26:16 UTC)

Fixed compiler warnings

Modified
dlib/image_processing/correlation_tracker.h

Revision: 58a2ad7823e7c6c0
Author: Davis King
Date: Feb 03, 2015 (09:01:37 UTC)

Added an example for the correlation_tracker

Modified
examples/CMakeLists.txt
Added
examples/video_frames/frame_000100.jpg
examples/video_frames/frame_000101.jpg
examples/video_frames/frame_000102.jpg
examples/video_frames/frame_000103.jpg
examples/video_frames/frame_000104.jpg
examples/video_frames/frame_000105.jpg
examples/video_frames/frame_000106.jpg
examples/video_frames/frame_000107.jpg
examples/video_frames/frame_000108.jpg
examples/video_frames/frame_000109.jpg
examples/video_frames/frame_000110.jpg
examples/video_frames/frame_000111.jpg
examples/video_frames/frame_000112.jpg
examples/video_frames/frame_000113.jpg
examples/video_frames/frame_000114.jpg
examples/video_frames/frame_000115.jpg
examples/video_frames/frame_000116.jpg
examples/video_frames/frame_000117.jpg
examples/video_frames/frame_000118.jpg
examples/video_frames/frame_000119.jpg
examples/video_frames/frame_000120.jpg
examples/video_frames/frame_000121.jpg
examples/video_frames/frame_000122.jpg
examples/video_frames/frame_000123.jpg
examples/video_frames/frame_000124.jpg
examples/video_frames/frame_000125.jpg
examples/video_frames/frame_000126.jpg
examples/video_frames/frame_000127.jpg
examples/video_frames/frame_000128.jpg
examples/video_frames/frame_000129.jpg
examples/video_frames/frame_000130.jpg
examples/video_frames/frame_000131.jpg
examples/video_frames/frame_000132.jpg
examples/video_frames/frame_000133.jpg
examples/video_frames/frame_000134.jpg
examples/video_frames/frame_000135.jpg
examples/video_frames/frame_000136.jpg
examples/video_frames/frame_000137.jpg
examples/video_frames/frame_000138.jpg
examples/video_frames/frame_000139.jpg
examples/video_frames/frame_000140.jpg
examples/video_frames/frame_000141.jpg
examples/video_frames/frame_000142.jpg
examples/video_frames/frame_000143.jpg
examples/video_frames/frame_000144.jpg
examples/video_frames/frame_000145.jpg
examples/video_frames/frame_000146.jpg
examples/video_frames/frame_000147.jpg
examples/video_frames/frame_000148.jpg
examples/video_frames/frame_000149.jpg
examples/video_frames/frame_000150.jpg
examples/video_frames/frame_000151.jpg
examples/video_frames/frame_000152.jpg
examples/video_frames/frame_000153.jpg
examples/video_frames/frame_000154.jpg
examples/video_frames/frame_000155.jpg
examples/video_frames/frame_000156.jpg
examples/video_frames/frame_000157.jpg
examples/video_frames/frame_000158.jpg
examples/video_frames/frame_000159.jpg
examples/video_frames/frame_000160.jpg
examples/video_frames/frame_000161.jpg
examples/video_frames/frame_000162.jpg
examples/video_frames/frame_000163.jpg
examples/video_frames/frame_000164.jpg
examples/video_frames/frame_000165.jpg
examples/video_frames/frame_000166.jpg
examples/video_frames/frame_000167.jpg
examples/video_frames/frame_000168.jpg
examples/video_frames/frame_000169.jpg
examples/video_frames/frame_000170.jpg
examples/video_frames/frame_000171.jpg
examples/video_frames/frame_000172.jpg
examples/video_frames/frame_000173.jpg
examples/video_frames/frame_000174.jpg
examples/video_frames/frame_000175.jpg
examples/video_frames/frame_000176.jpg
examples/video_frames/frame_000177.jpg
examples/video_frames/frame_000178.jpg
examples/video_frames/frame_000179.jpg
examples/video_frames/frame_000180.jpg
examples/video_frames/frame_000181.jpg
examples/video_frames/frame_000182.jpg
examples/video_frames/frame_000183.jpg
examples/video_frames/frame_000184.jpg
examples/video_frames/frame_000185.jpg
examples/video_frames/frame_000186.jpg
examples/video_frames/frame_000187.jpg
examples/video_frames/frame_000188.jpg
examples/video_frames/frame_000189.jpg
examples/video_frames/frame_000190.jpg
examples/video_frames/frame_000191.jpg
examples/video_frames/frame_000192.jpg
examples/video_frames/frame_000193.jpg
examples/video_frames/frame_000194.jpg
examples/video_frames/frame_000195.jpg
examples/video_frames/frame_000196.jpg
examples/video_frames/frame_000197.jpg
examples/video_frames/frame_000198.jpg
examples/video_frames/frame_000199.jpg
examples/video_frames/frame_000200.jpg
examples/video_frames/frame_000201.jpg
examples/video_frames/frame_000202.jpg
examples/video_frames/frame_000203.jpg
examples/video_frames/frame_000204.jpg
examples/video_frames/frame_000205.jpg
examples/video_frames/frame_000206.jpg
examples/video_frames/frame_000207.jpg
examples/video_frames/frame_000208.jpg
examples/video_frames/frame_000209.jpg
examples/video_frames/frame_000210.jpg
examples/video_frames/frame_000211.jpg
examples/video_frames/frame_000212.jpg
examples/video_frames/frame_000213.jpg
examples/video_frames/frame_000214.jpg
examples/video_frames/frame_000215.jpg
examples/video_frames/frame_000216.jpg
examples/video_frames/frame_000217.jpg
examples/video_frames/frame_000218.jpg
examples/video_frames/frame_000219.jpg
examples/video_frames/frame_000220.jpg
examples/video_frames/frame_000221.jpg
examples/video_frames/frame_000222.jpg
examples/video_frames/frame_000223.jpg
examples/video_frames/frame_000224.jpg
examples/video_frames/frame_000225.jpg
examples/video_frames/frame_000226.jpg
examples/video_frames/frame_000227.jpg
examples/video_frames/frame_000228.jpg
examples/video_frames/frame_000229.jpg
examples/video_frames/frame_000230.jpg
examples/video_frames/frame_000231.jpg
examples/video_frames/frame_000232.jpg
examples/video_frames/frame_000233.jpg
examples/video_frames/frame_000234.jpg
examples/video_frames/frame_000235.jpg
examples/video_frames/frame_000236.jpg
examples/video_frames/frame_000237.jpg
examples/video_frames/frame_000238.jpg
examples/video_frames/frame_000239.jpg
examples/video_frames/frame_000240.jpg
examples/video_frames/frame_000241.jpg
examples/video_frames/frame_000242.jpg
examples/video_frames/frame_000243.jpg
examples/video_frames/frame_000244.jpg
examples/video_frames/frame_000245.jpg
examples/video_frames/frame_000246.jpg
examples/video_frames/frame_000247.jpg
examples/video_frames/frame_000248.jpg
examples/video_frames/frame_000249.jpg
examples/video_frames/frame_000250.jpg
examples/video_frames/license.txt
examples/video_tracking_ex.cpp

Revision: 10bdf4cd8e53fc81
Author: Davis King
Date: Feb 03, 2015 (09:01:10 UTC)

Added another overload of add_overlay(), this one doesn't require a pixel type and just makes the overlay red.

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

Revision: bff6848eee838c2a
Author: Davis King
Date: Feb 03, 2015 (08:38:35 UTC)

Added the correlation_tracker.

Modified
dlib/image_processing.h
Added
dlib/image_processing/correlation_tracker.h
dlib/image_processing/correlation_tracker_abstract.h

Revision: 24b43b0ba00322c2
Author: Davis King
Date: Feb 02, 2015 (16:24:01 UTC)

Added shrink_rect() and grow_rect() for drectangle objects.

Modified
dlib/geometry/drectangle.h
dlib/geometry/drectangle_abstract.h

Revision: fadea8b493aae968
Author: Davis King
Date: Feb 01, 2015 (15:12:20 UTC)

cleaned up code

Modified
dlib/matrix/matrix_la.h

Revision: b9f28dd8d1823618
Author: Davis King
Date: Feb 01, 2015 (14:59:19 UTC)

Added Gaussian windowing to max_point_interpolated().

Modified
dlib/matrix/matrix_la.h

Revision: 463c5176a76b767e
Author: Davis King
Date: Jan 31, 2015 (10:02:22 UTC)

Disabled all bindings to FFTW because FFTW isn't threadsafe.

Modified
dlib/CMakeLists.txt
dlib/matrix/matrix_fft.h
dlib/matrix/matrix_fft_abstract.h

Revision: 8129346a0b5595aa
Author: Davis King
Date: Jan 31, 2015 (09:35:30 UTC)

Made dlib's built in fft faster by tweaking a few things and adding a twiddle cache.

Modified
dlib/matrix/matrix_fft.h

Revision: 33bcefc93d074184
Author: Davis King
Date: Jan 31, 2015 (07:02:32 UTC)

Made bind() and get_column() correctly handle large unsigned 32bit integer values.

Modified
dlib/sqlite/sqlite.h

Revision: 8e1ac6b2a9ca4b7a
Author: Davis King
Date: Jan 31, 2015 (06:25:16 UTC)

Added an implicit conversion to unsigned long for extracting the checksum of crc32 objects.

Modified
dlib/crc32/crc32_kernel_1.h
dlib/crc32/crc32_kernel_abstract.h
dlib/test/crc32.cpp

Revision: 2fda21d9d4195309
Author: Davis King
Date: Jan 31, 2015 (06:20:58 UTC)

Hard coded the crc table into the crc32 object so it doesn't need to spend time in its constructor computing it.

Modified
dlib/crc32/crc32_kernel_1.h

Revision: 8e5864c5936105ad
Author: Davis King
Date: Jan 31, 2015 (05:16:27 UTC)

Added batch ingest functions for std::vector<char>

Modified
dlib/crc32/crc32_kernel_1.h
dlib/crc32/crc32_kernel_abstract.h
dlib/test/crc32.cpp

Revision: 7ca3893287049473
Author: Davis King
Date: Jan 31, 2015 (04:43:57 UTC)

Made example's CMakeLists.txt file a little more tutorial like.

Modified
examples/CMakeLists.txt

Revision: a383c3cb57053252
Author: Davis King
Date: Jan 29, 2015 (15:53:01 UTC)

added a SQLite example program

Modified
examples/sqlite_ex.cpp

Revision: 94ce5daa93735b5f
Author: Davis King
Date: Jan 29, 2015 (12:54:57 UTC)

Fixed missing const on statement::bind()

Modified
dlib/sqlite/sqlite.h
dlib/sqlite/sqlite_abstract.h

Revision: 73e2829ff8495e57
Author: Davis King
Date: Jan 29, 2015 (12:51:18 UTC)

Made the timestamper use timeGetTime() instead of GetTickCount() on windows since timeGetTime() is more accurate.

Modified
dlib/CMakeLists.txt
dlib/misc_api/misc_api_kernel_1.cpp

Revision: 8bfed4694355cf33
Author: Davis King
Date: Jan 28, 2015 (15:18:13 UTC)

Added a shutdown() method to iosockstream.

Modified
dlib/iosockstream/iosockstream.h
dlib/iosockstream/iosockstream_abstract.h

Revision: 52b82ea03be30d0d
Author: Davis King
Date: Jan 28, 2015 (15:17:03 UTC)

fixed spelling error in spec

Modified
dlib/sockets/sockets_kernel_abstract.h

Revision: 0af130d76d9d32f4
Author: Davis King
Date: Jan 28, 2015 (09:43:29 UTC)

Made logger constructor take a std::string instead of char*

Modified
dlib/logger/logger_kernel_1.cpp
dlib/logger/logger_kernel_1.h
dlib/logger/logger_kernel_abstract.h

Revision: 32dcd2a62c5cbd4c
Author: Davis King
Date: Jan 28, 2015 (09:40:00 UTC)

Fixed spelling error in comment

Modified
dlib/assert.h

Revision: 36563f1697bf03e3
Author: Davis King
Date: Jan 27, 2015 (18:40:53 UTC)

Added sqlite example. Needs comments

Modified
examples/CMakeLists.txt
Added
examples/sqlite_ex.cpp

Revision: 2d78e5637253ec7f
Author: Davis King
Date: Jan 26, 2015 (16:14:49 UTC)

Added templated versions of get_column() and bind() that inter what type to get/bind based on the type of variable passed in.

Modified
dlib/sqlite/sqlite.h
dlib/sqlite/sqlite_abstract.h

Revision: 331506f73c6acf45
Author: Davis King
Date: Jan 26, 2015 (13:02:24 UTC)

clarified spec

Modified
dlib/image_transforms/thresholding_abstract.h

Revision: d26788fdae9419a5
Author: Davis King
Date: Jan 26, 2015 (12:59:35 UTC)

Fixed spelling error

Modified
dlib/base64/base64_kernel_abstract.h

Revision: e8cd26d517a12128
Author: Davis King
Date: Jan 26, 2015 (12:58:35 UTC)

fixed spelling error in comment

Modified
examples/face_landmark_detection_ex.cpp

Revision: d117d72e9c8ac56b
Author: Davis King
Date: Jan 26, 2015 (12:51:59 UTC)

Added the drectangle object and switched a few interpolation related APIs over to use it.

Modified
dlib/geometry.h
dlib/image_transforms/image_pyramid.h
dlib/image_transforms/image_pyramid_abstract.h
dlib/image_transforms/interpolation.h
dlib/image_transforms/interpolation_abstract.h
Added
dlib/geometry/drectangle.h
dlib/geometry/drectangle_abstract.h

Revision: eaa5d163601d4b24
Author: Davis King
Date: Jan 26, 2015 (02:30:18 UTC)

Made the timing print() display which timing block number is being printed in addition to the text name.

Modified
dlib/timing.h

Revision: b81150f0368bc4ed
Author: Davis King
Date: Jan 21, 2015 (12:43:25 UTC)

Made max_point_interpolated() do interpolation for row and column vectors and also generally cleaned up the code a bit.

Modified
dlib/matrix/matrix_la.h

Revision: 99f9ffe78e1cc2c4
Author: Davis King
Date: Jan 20, 2015 (17:46:18 UTC)

fixed typo in spec

Modified
dlib/matrix/matrix_utilities_abstract.h

Revision: 504d6c5eb4579487
Author: Davis King
Date: Jan 20, 2015 (17:42:38 UTC)

Added max_point_interpolated()

Modified
dlib/matrix/matrix_la.h
dlib/matrix/matrix_utilities_abstract.h

Revision: 54a619c35f51a88f
Author: Davis King
Date: Jan 19, 2015 (16:21:37 UTC)

minor change to avoid compiler warnings

Modified
dlib/svm/structural_svm_problem.h

Revision: a482ad69a97609c6
Author: Davis King
Date: Jan 15, 2015 (16:28:14 UTC)

Added another folder to the openblas search path

Modified
dlib/cmake_find_blas.txt

Revision: 1066ca04c91f5cb5
Author: Davis King
Date: Jan 14, 2015 (15:39:05 UTC)

Fixed a bug in find_similarity_transform(). When given just two points as inputs it would sometimes produce a reflection rather than a similarity transform.

Modified
dlib/geometry/point_transforms.h

Revision: 6efc0b134d35bd56
Author: Davis King
Date: Jan 10, 2015 (07:15:19 UTC)

Added a test for compute_lda_transform()

Modified
dlib/test/statistics.cpp

Revision: 3c508b2ac1eec9d2
Author: Davis King
Date: Jan 10, 2015 (06:53:29 UTC)

Fixed compute_lda_transform() so it works properly when the class covariance matrices are singular even after performing PCA.

Modified
dlib/statistics/lda.h

Revision: 4d64e75061a966ec
Author: Davis King
Date: Jan 06, 2015 (12:54:27 UTC)

Added another reference on homography estimation

Modified
dlib/geometry/point_transforms.h

Revision: 9ec2581149a55faf
Author: Davis King
Date: Jan 05, 2015 (15:11:14 UTC)

Added some checks that the user produces PSI vectors that are the proper dimension.

Modified
dlib/svm/structural_svm_problem.h

Revision: 93fa17d9402bd500
Author: Davis King
Date: Jan 05, 2015 (12:39:37 UTC)

Fixed some grammar and added a note about the bias term.

Modified
examples/assignment_learning_ex.cpp

Revision: 37d5e039c8c6deb3
Author: Davis King
Date: Jan 05, 2015 (03:20:27 UTC)

Added the option to force the last weight to 1 to the assignment learning tools.

Modified
dlib/svm/structural_assignment_trainer.h
dlib/svm/structural_assignment_trainer_abstract.h

Revision: 61ce7bbcf296fb9b
Author: Davis King
Date: Jan 04, 2015 (04:11:34 UTC)

Fixed assign_border_pixels(img, rect) so that it correctly zeros an image when an empty rectangle is supplied. Previously, it just did nothing to the image in this case.

Modified
dlib/image_transforms/assign_image.h

Revision: e880abc08a60cfab
Author: Davis King
Date: Jan 03, 2015 (18:39:38 UTC)

A minor change to allow a wider variety of output image types to be used. In particular, this change allows complex valued images to be the output of extract_image_chips().

Modified
dlib/image_transforms/interpolation.h

Revision: db4a4d1131896f04
Author: Davis King
Date: Jan 03, 2015 (18:33:46 UTC)

clarified example

Modified
python_examples/find_candidate_object_locations.py

Revision: 858413a0f59da443
Author: Davis King
Date: Jan 03, 2015 (18:26:28 UTC)

Fixed the python doc string so that it's correct relative to the python API. Also made find_candidate_object_locations() correctly include any input boxes in the call to the C++ version of the function.

Modified
tools/python/src/object_detection.cpp

Revision: 4a9047965f6a4809
Author: Davis King
Date: Jan 03, 2015 (18:26:02 UTC)

Made this file executable

Modified
python_examples/find_candidate_object_locations.py

Revision: 23bdfdd08646c254
Author: Vinh Khuc
Date: Jan 03, 2015 (09:58:10 UTC)

Explained the difference between pykvals in the Python API and kvals in C++ code

Modified
tools/python/src/object_detection.cpp

Revision: 1090a1d94e31912e
Author: Vinh Khuc
Date: Jan 03, 2015 (-04:19:35 UTC)

Added a Python example for find_candidate_object_locations

Added
python_examples/find_candidate_object_locations.py

Revision: cb97ad1703a195ad
Author: Vinh Khuc
Date: Jan 03, 2015 (-04:11:52 UTC)

Added Python-binding for find_candidate_object_locations

Modified
tools/python/src/object_detection.cpp

Revision: 3822b7b245480f91
Author: Davis King
Date: Jan 01, 2015 (14:08:06 UTC)

Made cmake not use the installed libjpeg on apple systems because it's broken on some newer OS X installs.

Modified
dlib/CMakeLists.txt

Revision: 4df734390109d584
Author: Davis King
Date: Dec 29, 2014 (14:50:05 UTC)

Made cmake check that libpng and libjpeg actually contain the link symbols they are supposed to since, on some systems, these libraries aren't installed correctly and will cause linker errors if used.

Modified
dlib/CMakeLists.txt

Revision: bf5b1f597a923255
Author: Davis King
Date: Dec 29, 2014 (12:55:40 UTC)

Fixed a bug in extract_image_chips() and get_mapping_to_chip() that caused incorrect outputs when the requested chip stretched the image unevenly vertically or horizontally. This is because we used the best similarity transform rather than affine transform between the image and the output chip.

Modified
dlib/image_transforms/interpolation.h

Revision: 94b92234f7c58d32
Author: Davis King
Date: Dec 29, 2014 (12:26:14 UTC)

Added image_traits specializations for const types because it makes certain compiler errors you get when accidentally trying to mutate a const image a little easier to understand.

Modified
dlib/array2d/array2d_generic_image.h
dlib/matrix/matrix_generic_image.h

Revision: 213ddab795c4f58e
Author: Davis King
Date: Dec 28, 2014 (02:31:28 UTC)

cleaned up cmake file a little

Modified
dlib/CMakeLists.txt

Revision: f6b54ff326020cce
Author: Davis King
Date: Dec 27, 2014 (13:15:07 UTC)

Fixed grammar

Modified
python_examples/train_shape_predictor.py

Revision: d13e1d626c0d517b
Author: Davis King
Date: Dec 27, 2014 (10:32:29 UTC)

Merge github.com:davisking/dlib

Modified
.hgtags
dlib/CMakeLists.txt
dlib/add_python_module
dlib/cmake
dlib/image_processing/shape_predictor.h
dlib/image_processing/shape_predictor_abstract.h
dlib/image_transforms/interpolation.h
dlib/image_transforms/morphological_operations.h
dlib/image_transforms/morphological_operations_abstract.h
dlib/image_transforms/spatial_filtering.h
dlib/image_transforms/spatial_filtering_abstract.h
dlib/matlab/CMakeLists.txt
dlib/matlab/README.txt
dlib/matlab/call_matlab.h
dlib/matlab/cmake_mex_wrapper
dlib/matlab/example_mex_callback.cpp
dlib/matlab/example_mex_function.cpp
dlib/matlab/mex_wrapper.cpp
dlib/test/image.cpp
docs/.current_minor_release_number
docs/.logger_revnum
docs/docs/imaging.xml
docs/docs/index.xml
docs/docs/other.xml
docs/docs/release_notes.xml
docs/docs/term_index.xml

Revision: dbf94690e4ef2793
Author: Davis King
Date: Dec 27, 2014 (10:30:56 UTC)

Clarified a few comments and simplified the serialization code a bit. Also just cleaned up a few minor details.

Modified
python_examples/face_landmark_detection.py
python_examples/max_cost_assignment.py
python_examples/sequence_segmenter.py
python_examples/train_object_detector.py
python_examples/train_shape_predictor.py
tools/python/src/gui.cpp
tools/python/src/object_detection.cpp
tools/python/src/serialize_object_detector.h
tools/python/src/shape_predictor.cpp
tools/python/src/shape_predictor.h
tools/python/src/simple_object_detector.h

Revision: 541be4a3736e78cc
Author: Davis King
Date: Dec 27, 2014 (10:05:25 UTC)

Fixed grammar

Modified
examples/train_shape_predictor_ex.cpp

Revision: 65cee219ce80c4d6
Author: Davis King
Date: Dec 27, 2014 (09:56:22 UTC)

Fixed typo in assert I introduced a moment ago.

Modified
dlib/image_processing/shape_predictor.h

Revision: f4685974fe9a1f1a
Author: Davis King
Date: Dec 27, 2014 (09:10:59 UTC)

The nu parameter of the shape_predictor must be in the range (0,1]. I changed the spec to reflect this.

Modified
dlib/image_processing/shape_predictor.h
dlib/image_processing/shape_predictor_abstract.h

Revision: 6e05d0ec6f131bc5
Author: Patrick Snape
Date: Dec 12, 2014 (16:22:57 UTC)

Re-add the cached object detector A little bit hacky, but should be fine. Supports both fhog detectors and the "cached" simple_object_detector. Also, maintains the upscale parameter for testing

Modified
python_examples/train_object_detector.py
tools/python/src/gui.cpp
tools/python/src/object_detection.cpp
tools/python/src/simple_object_detector.h
Added
tools/python/src/serialize_object_detector.h
tools/python/src/simple_object_detector_py.h
Deleted
tools/python/src/simple_object_detector_abstract.h

Revision: ee8cb26641057469
Author: Patrick Snape
Date: Dec 11, 2014 (15:01:08 UTC)

Add facial landmark prediction examples for Python

Modified
python_examples/train_object_detector.py
Added
python_examples/face_landmark_detection.py
python_examples/train_shape_predictor.py

Revision: 33df6ab13b8b7acd
Author: Patrick Snape
Date: Dec 11, 2014 (15:00:39 UTC)

Change logic for upsampling printing

Modified
tools/python/src/simple_object_detector.h

Revision: 05b57aa0d2ebb982
Author: Patrick Snape
Date: Dec 11, 2014 (14:06:05 UTC)

Update the interface to be more Pythonic This is the biggest change so far. Now, there are two different classes of interface. One where you pass ONLY file paths, and one where you pass ONLY Python objects. The file paths are maintained to keep a matching interface with the C++ examples of dlib. So shape predicition and object detection can be trained using the dlib XML file paths and then serialize the detectors to disk. Shape prediction and object detection can also be trained using numpy arrays and in-memory objects. In this case, the predictor and detector objects are returned from the training functions. To facilitate serializing these objects, they now have a 'save' method. Tetsing follows a similar pattern, in that it can take either XML files are or in-memory objects. I also added back the concept of upsampling during testing to make amends for removing the simple_object_detector_py struct.

Modified
tools/python/src/object_detection.cpp
tools/python/src/shape_predictor.cpp
tools/python/src/shape_predictor.h
tools/python/src/simple_object_detector.h

Revision: 57bfbfec9fecb008
Author: Patrick Snape
Date: Dec 11, 2014 (12:34:20 UTC)

Add a save method to detectors and predictors Also, removed the saving of the upsample which I missed from before (since I'm not using the struct now). I understand why the upsample was being saved, but I don't necessarily agree it is particularly useful as you should really be upsampling on a case by case basis at test time.

Modified
tools/python/src/object_detection.cpp
tools/python/src/shape_predictor.cpp
tools/python/src/simple_object_detector.h

Revision: 0cdba7860659dcf8
Author: Patrick Snape
Date: Dec 11, 2014 (12:05:10 UTC)

Properly handle turning the GUI off

Modified
tools/python/CMakeLists.txt
tools/python/src/dlib.cpp

Revision: 93b1e7fb97fec59b
Author: Patrick Snape
Date: Dec 11, 2014 (11:46:01 UTC)

Refactor the GUI code out I also cleaned up a bunch of code. I'm not sure why the simple_object_detector was keeping track of the upsample amount, since it can't even be passed as an argument to the constructor. Therefore, I removed the simple_object_detector_py and the second declaration of the hog object detector. I also changed the view code to optionally take keyword args of color and added a single view of a rectangle. Finally, I added viewing of the shape parts.

Modified
tools/python/CMakeLists.txt
tools/python/src/dlib.cpp
tools/python/src/object_detection.cpp
Added
tools/python/src/gui.cpp

Revision: 64a52919a7a183fa
Author: Patrick Snape
Date: Dec 11, 2014 (10:28:14 UTC)

Add rendering of faces (lines) Can either be a list of full_object_detections or a single full_object_detection. I couldn't get the vector type to work for full_object_detection due to a template error.

Modified
tools/python/src/indexing.h
tools/python/src/object_detection.cpp
tools/python/src/vector.cpp

Revision: f5c3babf06d1e971
Author: Patrick Snape
Date: Dec 11, 2014 (09:44:50 UTC)

Sort out PEP8 issues in the examples

Modified
python_examples/LICENSE_FOR_EXAMPLE_PROGRAMS.txt
python_examples/face_detector.py
python_examples/max_cost_assignment.py
python_examples/sequence_segmenter.py
python_examples/svm_rank.py
python_examples/svm_struct.py
python_examples/train_object_detector.py

Revision: e68146c76319af32
Author: Patrick Snape
Date: Dec 10, 2014 (18:07:38 UTC)

Make shape predictor pickleable Fix typo as well

Modified
tools/python/src/shape_predictor.cpp

Revision: 2ce729aaf11290dd
Author: Patrick Snape
Date: Dec 10, 2014 (17:42:05 UTC)

Add example of testing detector using existing data

Modified
python_examples/train_object_detector.py

Revision: 45a062f903f030e0
Author: Patrick Snape
Date: Dec 10, 2014 (17:32:32 UTC)

Python3 friendly printing in examples

Modified
python_examples/face_detector.py
python_examples/max_cost_assignment.py
python_examples/sequence_segmenter.py
python_examples/svm_rank.py
python_examples/svm_struct.py
python_examples/train_object_detector.py

Revision: 079f3861760d7c2b
Author: Patrick Snape
Date: Dec 10, 2014 (17:25:20 UTC)

Add wrappers for the shape predictors This includes the full_object_detection, a new struct in the same vein as the simple_object_detector_training_options and of course, the shape predictor classes themselves. All of training, fitting and testing are wrapped.

Modified
tools/python/CMakeLists.txt
tools/python/src/dlib.cpp
Added
tools/python/src/shape_predictor.cpp
tools/python/src/shape_predictor.h

Revision: d280d310609c8a5a
Author: Patrick Snape
Date: Dec 10, 2014 (17:24:30 UTC)

Add a new conversion header This deals with converting python objects to dlib objects

Modified
tools/python/src/object_detection.cpp
Added
tools/python/src/conversion.h

Revision: 6d2c9f94e50d114a
Author: Patrick Snape
Date: Dec 10, 2014 (12:14:53 UTC)

Refactor rgb_pixel out of object detection Also, move the vectorize template into its own header to stop having to declare it again in vector.

Modified
tools/python/CMakeLists.txt
tools/python/src/dlib.cpp
tools/python/src/object_detection.cpp
tools/python/src/vector.cpp
Added
tools/python/src/image.cpp
tools/python/src/indexing.h

Revision: d8d2e2493b694a28
Author: Patrick Snape
Date: Dec 10, 2014 (10:07:14 UTC)

Add a list of points Also, change point x and y to be properties

Modified
tools/python/src/vector.cpp

Revision: 402f840b7920d63b
Author: Patrick Snape
Date: Dec 09, 2014 (20:07:21 UTC)

Wrap the dlib point for Python

Modified
tools/python/src/vector.cpp

Revision: 02cd627bd08b47ae
Author: Patrick Snape
Date: Dec 09, 2014 (18:23:09 UTC)

First attempt at adding to the boost API Exposes the test method, but takes in images and bounding boxes. Seems fairly simply to extend the API

Modified
tools/python/src/object_detection.cpp
tools/python/src/simple_object_detector.h

Revision: 4e3941b13ca859f7
Author: Davis King
Date: Dec 20, 2014 (11:21:54 UTC)

Fixed policy setting so it works on old cmakes

Modified
dlib/CMakeLists.txt
dlib/cmake

Revision: dc9225e103718e3a
Author: Davis King
Date: Dec 20, 2014 (11:01:02 UTC)

Minor change to avoid warnings from newer cmake

Modified
dlib/CMakeLists.txt
dlib/cmake

Revision: 8cf0cedb2d73bedd
Author: Davis King
Date: Dec 20, 2014 (10:44:35 UTC)

Removed quoting from path strings

Modified
dlib/add_python_module

Revision: 28dfa22b686eb936
Author: Davis King
Date: Dec 20, 2014 (04:25:49 UTC)

Fixed finding of boost python

Modified
dlib/add_python_module

Revision: 892c2e12bac54bd0
Author: Davis King
Date: Dec 19, 2014 (16:47:47 UTC)

Added license statements and also converted line endings to unix format

Modified
dlib/matlab/CMakeLists.txt
dlib/matlab/README.txt
dlib/matlab/call_matlab.h
dlib/matlab/cmake_mex_wrapper
dlib/matlab/example_mex_callback.cpp
dlib/matlab/example_mex_function.cpp
dlib/matlab/mex_wrapper.cpp

Revision: 33e9788863df7b05
Author: Davis King
Date: Dec 19, 2014 (15:18:55 UTC)

added skeleton unit test

Modified
dlib/test/image.cpp

Revision: c55b2e21bd8ce4c4
Author: Davis King
Date: Dec 19, 2014 (12:58:42 UTC)

Slightly improved skeleton output

Modified
dlib/image_transforms/morphological_operations.h

Revision: 493c28a09a654b34
Author: Davis King
Date: Dec 19, 2014 (03:02:31 UTC)

Added skeleton()

Modified
dlib/image_transforms/morphological_operations.h
dlib/image_transforms/morphological_operations_abstract.h

Revision: b91dba05a6a2fb92
Author: Davis King
Date: Dec 15, 2014 (11:13:53 UTC)

Changed extract_image_chips() slightly so that it can take non-resizable images like cv_image as input.

Modified
dlib/image_transforms/interpolation.h

Revision: 8a0b4d48155fa719
Author: Davis King
Date: Dec 11, 2014 (03:00:00 UTC)

Made gaussian_blur return a rectangle that defines which part of the image has valid outputs.

Modified
dlib/image_transforms/spatial_filtering.h
dlib/image_transforms/spatial_filtering_abstract.h

Revision: 5844dbd16459fff7
Author: Davis King
Date: Dec 14, 2014 (07:01:08 UTC)

minor cleanup

Modified
dlib/image_processing/shape_predictor.h

Revision: 382b1512a9807df4
Author: Davis King
Date: Dec 10, 2014 (12:41:59 UTC)

Fixed error in spec

Modified
dlib/image_processing/shape_predictor_abstract.h

Revision: 4bc90e1da9d9252e
Author: Davis King
Date: Dec 09, 2014 (14:53:20 UTC)

Changed code to avoid a warning

Modified
dlib/simd/simd_check.h

Revision: 1575a41686493925
Author: Davis King
Date: Dec 09, 2014 (13:13:45 UTC)

Added an example for svm_c_trainer.

Modified
examples/CMakeLists.txt
Added
examples/svm_c_ex.cpp

Revision: 28e68064cf1ddf92
Author: Davis King
Date: Dec 09, 2014 (12:40:19 UTC)

Added an example program for the new hough_transform object.

Modified
examples/CMakeLists.txt
Added
examples/hough_transform_ex.cpp

Revision: b239b4b1d9f4ad26
Author: Davis King
Date: Dec 09, 2014 (03:08:02 UTC)

Added example of accessing individual pixels

Modified
examples/image_ex.cpp

Revision: 8e1ca4cc903f4598
Author: Davis King
Date: Dec 08, 2014 (15:07:11 UTC)

Added hough transform unit tests

Modified
dlib/test/image.cpp

Revision: 5be0bbe435fd54b3
Author: Davis King
Date: Dec 08, 2014 (14:58:54 UTC)

Added hough_transform

Modified
dlib/image_transforms.h
Added
dlib/image_transforms/hough_transform.h
dlib/image_transforms/hough_transform_abstract.h

Revision: 2aeb392a2f75ee3e
Author: Davis King
Date: Dec 08, 2014 (14:57:14 UTC)

Added distance_to_line() and clip_line_to_rectangle()

Modified
dlib/geometry/rectangle.h
dlib/geometry/rectangle_abstract.h

Revision: ff887bf78fdfdadd
Author: Davis King
Date: Dec 08, 2014 (14:56:31 UTC)

Added a length_squared() member to vector.

Modified
dlib/geometry/vector.h
dlib/geometry/vector_abstract.h

Revision: 01669c92a0442ecf
Author: Davis King
Date: Dec 08, 2014 (12:37:48 UTC)

Fixed spelling error in spec

Modified
dlib/statistics/lda_abstract.h

Revision: 1691ec73fe9a8fd1
Author: Davis King
Date: Dec 08, 2014 (03:26:43 UTC)

Clarified the error message a user gets when they try to load a jpeg or png file but didn't link to the approrpiate library.

Modified
dlib/image_loader/load_image.h

Revision: 5761c33e8bb6b66e
Author: Davis King
Date: Dec 08, 2014 (03:02:42 UTC)

clarified spec

Modified
dlib/image_transforms/lbp_abstract.h

Revision: 73c237639b702ef6
Author: Davis King
Date: Dec 07, 2014 (07:11:13 UTC)

Added max cost assignment example program

Modified
examples/CMakeLists.txt
Added
examples/max_cost_assignment_ex.cpp

Revision: fa9c033275a01d57
Author: Davis King
Date: Dec 07, 2014 (06:29:44 UTC)

Merged and also clarified requires clauses.

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

Revision: 50c491ae857bef01
Author: haja
Date: Nov 19, 2014 (19:22:18 UTC)

interpolation.h: changed dlib::array<image_type> to image_array_type

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

Revision: ac71155524008f61
Author: Davis King
Date: Dec 07, 2014 (06:16:29 UTC)

Added some unit tests

Modified
dlib/test/matrix2.cpp

Revision: 2b9506e3858367b6
Author: Davis King
Date: Dec 07, 2014 (06:16:17 UTC)

Added min_point()

Modified
dlib/matrix/matrix_utilities.h
dlib/matrix/matrix_utilities_abstract.h

Revision: 2a01204e984150c6
Author: Davis King
Date: Dec 07, 2014 (06:00:11 UTC)

Added max_point()

Modified
dlib/matrix/matrix_utilities.h
dlib/matrix/matrix_utilities_abstract.h

Revision: 1c1115585cfbe059
Author: Davis King
Date: Dec 07, 2014 (05:57:12 UTC)

Added pixel_traits definitions that allow you to copy images into complex valued images using any dlib functions.

Modified
dlib/pixel.h

Revision: abaa9974e468d0c6
Author: Davis King
Date: Dec 06, 2014 (03:38:04 UTC)

more cmake changes to avoid cmake warnings

Modified
tools/htmlify/CMakeLists.txt
tools/imglab/CMakeLists.txt
tools/mltool/CMakeLists.txt
tools/python/CMakeLists.txt

Revision: 779960a188b3fad4
Author: Davis King
Date: Dec 06, 2014 (03:34:19 UTC)

Another minor cmake change to avoid warnings

Modified
examples/CMakeLists.txt

Revision: cf44f6e40ad3e20a
Author: Davis King
Date: Dec 06, 2014 (03:30:36 UTC)

Minor changes to cmake scripts to avoid warnings in new version of cmake.

Modified
dlib/CMakeLists.txt
dlib/cmake
dlib/test/CMakeLists.txt

Revision: 37a0624a2782b15f
Author: Davis King
Date: Dec 06, 2014 (03:27:12 UTC)

Made cmake better at finding OpenBLAS installs, in particular, it will now find them if you install straight from the OpenBLAS source.

Modified
dlib/cmake_find_blas.txt

Revision: 2352482f934c0ec4
Author: nate crosswhite
Date: Dec 04, 2014 (06:33:01 UTC)

Set correct include directory for fftw

Modified
dlib/CMakeLists.txt

Revision: 8e822bb63e1aabeb
Author: Davis King
Date: Nov 27, 2014 (02:27:11 UTC)

Made the compile time assert macros use static_assert if it's available.

Modified
dlib/assert.h

Revision: 4078ac7be1685a0f
Author: Davis King
Date: Nov 26, 2014 (11:28:52 UTC)

Changed python cmake scrips to have an option to compile Python 3 libraries.

Modified
dlib/add_python_module
tools/python/CMakeLists.txt

Revision: 8a2a975a67a5346d
Author: Davis King
Date: Nov 26, 2014 (11:04:51 UTC)

Changed python pickling code so it works with Python 3

Modified
dlib/python/serialize_pickle.h

Revision: 55e4467012ba630b
Author: Davis King
Date: Nov 24, 2014 (13:57:16 UTC)

Removed boost namespace to avoid name clashes with newer versions of boost.

Modified
dlib/enable_if.h

Revision: a21aea60b2d158af
Author: Davis King
Date: Nov 26, 2014 (06:18:32 UTC)

Merged in code changes from MITIE project

Modified
dlib/cmake
Added
dlib/matlab/CMakeLists.txt
dlib/matlab/README.txt
dlib/matlab/call_matlab.h
dlib/matlab/cmake_mex_wrapper
dlib/matlab/example.m
dlib/matlab/example_mex_callback.cpp
dlib/matlab/example_mex_function.cpp
dlib/matlab/mex_wrapper.cpp

Revision: 6a4ca93990528be4
Author: Davis King
Date: Nov 16, 2014 (06:28:56 UTC)

Made extract_image_chips() much faster when extracting an unscaled and unrotated chip. Also added another constructor to chip_details that takes just a rectangle.

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

Revision: 6cc9a0cb49bf73c3
Author: Davis King
Date: Nov 15, 2014 (07:10:31 UTC)

Increased min required cmake version to avoid warnings from OpenCV cmake scripts.

Modified
examples/CMakeLists.txt

Revision: be573285a078e210
Author: Davis King
Date: Nov 15, 2014 (06:39:26 UTC)

Added an example showing how to use OpenCV's frame grabber for face pose estimation.

Modified
examples/CMakeLists.txt
Added
examples/webcam_face_pose_ex.cpp

Revision: 3709f1c0f79880e3
Author: Davis King
Date: Nov 15, 2014 (04:28:48 UTC)

Merged in Patrick Snape's patch that allows the python bindings to be built without GUI support.

Modified
tools/python/src/object_detection.cpp

Revision: c766bd60efb8835f
Author: Davis King
Date: Nov 15, 2014 (04:15:36 UTC)

Fixed a compile time error that prevented auto_threshold_image() from being used.

Modified
dlib/image_transforms/thresholding.h

Revision: 9d4daeae81aada37
Author: Davis King
Date: Nov 09, 2014 (14:00:42 UTC)

Upgraded fft() and ifft() to support 2D matrices.

Modified
dlib/matrix/matrix_fft.h
dlib/matrix/matrix_fft_abstract.h
dlib/test/fft.cpp

Revision: 9ea98f4ab87b2598
Author: Davis King
Date: Nov 06, 2014 (08:49:43 UTC)

Fixed a compile time error that could happen when calling fft() for certain input types.

Modified
dlib/matrix/matrix_fft.h

Revision: dd8e950033d50263
Author: Davis King
Date: Oct 14, 2014 (01:10:50 UTC)

cleaned up cmake code slightly

Modified
dlib/add_python_module

Revision: e8dc9a5d5861d5b1
Author: Davis King
Date: Oct 14, 2014 (01:08:50 UTC)

Slightly changed cmake file to make sure the python binding is always compiled with -fPIC.

Modified
dlib/add_python_module

Revision: b4b4f4d7679ed8de
Author: Davis King
Date: May 24, 2014 (-02:06:27 UTC)

Minor change to avoid a compiler error in gcc 4.1.2.

Modified
dlib/statistics/lda.h

Revision: 1511d53c769632e2
Author: Davis King
Date: Oct 13, 2014 (12:00:47 UTC)

Defined the jpeg quality measure.

Modified
dlib/image_saver/save_jpeg.cpp
dlib/image_saver/save_jpeg_abstract.h

Revision: 8977b42671be0685
Author: Davis King
Date: Oct 12, 2014 (18:39:31 UTC)

Added cast_to() to the type_safe_union. This allows you to get the contents of a const type_safe_union.

Modified
dlib/test/type_safe_union.cpp
dlib/type_safe_union/type_safe_union_kernel.h
dlib/type_safe_union/type_safe_union_kernel_abstract.h

Revision: 6a3466ca1eba6eb3
Author: Davis King
Date: Oct 12, 2014 (11:55:33 UTC)

Renamed some variables to avoid clash with #defines in Visual Studio.

Modified
dlib/test/statistics.cpp

Revision: ea17aea5e49a65cf
Author: Davis King
Date: Oct 12, 2014 (11:08:58 UTC)

Made the OpenCV tools #include the right OpenCV headers so the user doesn't need to.

Modified
dlib/opencv/cv_image.h
dlib/opencv/cv_image_abstract.h
dlib/opencv/to_open_cv.h
dlib/opencv/to_open_cv_abstract.h

Revision: fc36e799ff2c964f
Author: Davis King
Date: Oct 12, 2014 (07:24:46 UTC)

Added a thread safety note to the shape_predictor.

Modified
dlib/image_processing/shape_predictor_abstract.h

Revision: df421944e6992649
Author: Davis King
Date: Oct 12, 2014 (06:56:11 UTC)

Made cmake's "can't find X11" error message on OS X provide a link to download XQuartz.

Modified
dlib/CMakeLists.txt

Revision: 4b0eecebc6b7bf39
Author: Davis King
Date: Oct 12, 2014 (06:49:08 UTC)

Made the optimization functions throw an error when non-finite values are supplied by the user.

Modified
dlib/optimization/optimization.h

Revision: 1bb9ec9824246356
Author: Davis King
Date: Oct 11, 2014 (06:54:01 UTC)

Fixed typo in spec

Modified
dlib/image_processing/remove_unobtainable_rectangles_abstract.h

Revision: ed6fe2f491600767
Author: Davis King
Date: Oct 10, 2014 (16:15:26 UTC)

clarified spec

Modified
dlib/image_processing/scan_fhog_pyramid_abstract.h

Revision: b1f74426d9da8940
Author: Davis King
Date: Sep 30, 2014 (18:07:32 UTC)

Minor changes to suppress compiler warnings in gcc

Modified
dlib/external/libjpeg/jccoefct.cpp
dlib/external/libjpeg/jccolor.cpp
dlib/external/libjpeg/jcmarker.cpp
dlib/external/libjpeg/jcsample.cpp

Revision: b10df52295f353d0
Author: Davis King
Date: Sep 30, 2014 (17:59:08 UTC)

Minor changes to avoid errors and warnings in visual studio.

Modified
dlib/external/libjpeg/jchuff.cpp
dlib/external/libjpeg/jcphuff.cpp

Revision: 6aa6fa274b68b7ed
Author: Davis King
Date: Sep 30, 2014 (17:52:53 UTC)

Added missing asserts

Modified
dlib/image_saver/save_jpeg.cpp

Revision: 62a48c858baed231
Author: Davis King
Date: Sep 30, 2014 (17:34:38 UTC)

Added save_jpeg()

Modified
dlib/CMakeLists.txt
dlib/all/source.cpp
dlib/image_io.h
Added
dlib/external/libjpeg/jcapimin.cpp
dlib/external/libjpeg/jcapistd.cpp
dlib/external/libjpeg/jccoefct.cpp
dlib/external/libjpeg/jccolor.cpp
dlib/external/libjpeg/jcdctmgr.cpp
dlib/external/libjpeg/jchuff.cpp
dlib/external/libjpeg/jchuff.h
dlib/external/libjpeg/jcinit.cpp
dlib/external/libjpeg/jcmainct.cpp
dlib/external/libjpeg/jcmarker.cpp
dlib/external/libjpeg/jcmaster.cpp
dlib/external/libjpeg/jcparam.cpp
dlib/external/libjpeg/jcphuff.cpp
dlib/external/libjpeg/jcprepct.cpp
dlib/external/libjpeg/jcsample.cpp
dlib/external/libjpeg/jdatadst.cpp
dlib/external/libjpeg/jfdctflt.cpp
dlib/external/libjpeg/jfdctfst.cpp
dlib/external/libjpeg/jfdctint.cpp
dlib/image_saver/save_jpeg.cpp
dlib/image_saver/save_jpeg.h
dlib/image_saver/save_jpeg_abstract.h

Revision: 3df580a9d45e177d
Author: Davis King
Date: Sep 30, 2014 (15:22:24 UTC)

Changed hostname_to_ip() to filter out 0.0.0.0 from the result set since sometimes getaddrinfo() returns that which is bad.

Modified
dlib/sockets/sockets_kernel_2.cpp

Revision: cf1fa82f08c1adc1
Author: Davis King
Date: Sep 30, 2014 (15:21:38 UTC)

Changed example to avoid tying a stream to itself since some iostream libraries have a bug that causes them to crash when you do this.

Modified
examples/sockstreambuf_ex.cpp

Revision: 7dc91f3f69c80aeb
Author: Davis King
Date: Sep 27, 2014 (05:57:28 UTC)

Added scope qualifiers to some mutex objects to avoid a name collision in newer versions of clang.

Modified
examples/parallel_for_ex.cpp
examples/threads_ex.cpp

Revision: b89ecb218999459a
Author: Davis King
Date: Sep 26, 2014 (07:57:21 UTC)

Changed CMakeLists.txt so that the find libjpeg step doesn't output confusing messages to the console.

Modified
dlib/CMakeLists.txt

Revision: 081183aba847a8d6
Author: Davis King
Date: Sep 17, 2014 (16:50:14 UTC)

Fixed spelling errors in comments.

Modified
dlib/sqlite/sqlite_abstract.h

Revision: 5788b953de234e7a
Author: Davis King
Date: Sep 17, 2014 (16:47:11 UTC)

Made DLIB_ASSERT turn into an empty {} when disabled instead of turning into nothing. This way if you have a DLIB_ASSERT inside an if statement it doesn't change anything about the code if it's disabled.

Modified
dlib/assert.h

Revision: 9d7fa4321bfcfb32
Author: Davis King
Date: Sep 17, 2014 (16:42:55 UTC)

Changed python cmake files so they always set fPIC even if the compiler isn't GCC.

Modified
dlib/add_python_module

Revision: e34d545c4042db8f
Author: Davis King
Date: Sep 17, 2014 (16:37:26 UTC)

Updated style sheet so face parts aren't all smashed together when viewed in a browser.

Modified
examples/faces/image_metadata_stylesheet.xsl

Revision: 2f3d393739ab19be
Author: Davis King
Date: Sep 17, 2014 (16:37:00 UTC)

Changed the XSLT stylesheet that is saved with an image dataset metadata file display the parts using smaller circles. It was too cluttered prior to this.

Modified
dlib/data_io/image_dataset_metadata.cpp

Revision: aff32e0b039c4221
Author: Davis King
Date: Sep 17, 2014 (15:46:23 UTC)

Minor changes to avoid compiler warnings.

Modified
dlib/image_processing/shape_predictor.h
dlib/image_transforms/draw.h

Revision: 593cf8b881dfe965
Author: Davis King
Date: Sep 14, 2014 (16:49:33 UTC)

fixed grammar

Modified
dlib/image_transforms/lbp_abstract.h

Revision: 20b25b58c985f0cd
Author: Davis King
Date: Sep 14, 2014 (16:34:45 UTC)

Renamed compute_equal_error_rate() to equal_error_rate()

Modified
dlib/statistics/lda.h
dlib/statistics/lda_abstract.h

Revision: e373ff9159756004
Author: Davis King
Date: Sep 14, 2014 (16:29:29 UTC)

fixed spelling

Modified
dlib/statistics/lda_abstract.h

Revision: b2f4b16429e8c71a
Author: Davis King
Date: Sep 14, 2014 (16:18:37 UTC)

Added the following functions: make_uniform_lbp_image() extract_histogram_descriptors() extract_uniform_lbp_descriptors() extract_highdim_face_lbp_descriptors() compute_lda_transform() compute_equal_error_rate()

Modified
dlib/image_transforms.h
dlib/statistics.h
Added
dlib/image_transforms/lbp.h
dlib/image_transforms/lbp_abstract.h
dlib/statistics/lda.h
dlib/statistics/lda_abstract.h

Revision: e163cd2aa350ce34
Author: Davis King
Date: Sep 14, 2014 (16:16:46 UTC)

Added map_det_to_chip()

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

Revision: c486886c1e4872d7
Author: Davis King
Date: Sep 14, 2014 (15:55:30 UTC)

fixed spelling error

Modified
dlib/image_transforms/interpolation_abstract.h

Revision: abf72bff127d44ab
Author: Davis King
Date: Sep 14, 2014 (07:27:36 UTC)

Added the option to use an identity matrix prior to the vector_normalizer_frobmetric object.

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

Revision: 7f0a2bd3ebbca6b7
Author: Davis King
Date: Sep 07, 2014 (11:19:42 UTC)

Increased default face chip size from get_face_chip_details()

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

Revision: de86facf50b8c798
Author: Davis King
Date: Sep 07, 2014 (11:19:18 UTC)

clarified spec

Modified
dlib/matrix/matrix_la_abstract.h

Revision: 4718f85fb7d61cb2
Author: Davis King
Date: Sep 06, 2014 (12:01:42 UTC)

Changed get_face_chip_details() so it ignores the eyebrows and lower lip since those are really mobile parts of the face.

Modified
dlib/image_transforms/interpolation.h

Revision: 26e3d23ceb6c2500
Author: Davis King
Date: Sep 06, 2014 (11:44:09 UTC)

Added code to show how to chip out the faces.

Modified
examples/face_landmark_detection_ex.cpp

Revision: 39ca4b557c6f273c
Author: Davis King
Date: Sep 06, 2014 (11:43:54 UTC)

Added an overload of get_face_chip_details() that works on arrays of detections.

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

Revision: d3a711fff202e116
Author: Davis King
Date: Sep 06, 2014 (11:31:13 UTC)

added get_face_chip_details()

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

Revision: 4538a837d9c0822d
Author: Davis King
Date: Sep 06, 2014 (10:04:34 UTC)

Upgraded chip_details so you can specify a chip extraction by a bunch of point correspondences between the chip and the original image.

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

Revision: 4d9127609fe18abb
Author: Davis King
Date: Sep 05, 2014 (14:42:35 UTC)

Added missing assert

Modified
dlib/image_processing/shape_predictor.h

Revision: fa945098714c8b01
Author: Davis King
Date: Sep 05, 2014 (14:26:37 UTC)

Changed noncopyable.h to avoid a name clash with boost 1.56

Modified
dlib/noncopyable.h

Revision: d7820be2003786b4
Author: Davis King
Date: Sep 02, 2014 (16:55:44 UTC)

Fixed bug in the render_face_detections() overload I just added.

Modified
dlib/image_processing/render_face_detections.h

Revision: ac61317b10796bfe
Author: Davis King
Date: Sep 02, 2014 (16:47:33 UTC)

Added get_mapping_to_chip()

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

Revision: d4c80059df33d5cb
Author: Davis King
Date: Sep 02, 2014 (16:15:11 UTC)

Added an overload of render_face_detections() that takes just a single full_object_detection.

Modified
dlib/image_processing/render_face_detections.h
dlib/image_processing/render_face_detections_abstract.h

Revision: e1be0f9926c28193
Author: Davis King
Date: Sep 02, 2014 (16:14:22 UTC)

Added methods to allow in-place modification of a full_object_detection.

Modified
dlib/image_processing/full_object_detection.h
dlib/image_processing/full_object_detection_abstract.h

Revision: 0e9c4c49cd5bcad6
Author: Davis King
Date: Aug 24, 2014 (15:34:39 UTC)

Fixed a minor bug.

Modified
dlib/image_processing/shape_predictor.h

Revision: 35eb23706c9af7f8
Author: Davis King
Date: Aug 24, 2014 (15:20:42 UTC)

Fixed spelling error in comment

Modified
dlib/image_processing/generic_image.h

Revision: b96cdbbff14390f0
Author: Davis King
Date: Aug 24, 2014 (09:21:09 UTC)

changed cmake files a little to avoid warnings from the example programs.

Modified
dlib/test/CMakeLists.txt
Added
dlib/test/examples/CMakeLists.txt

Revision: 6e3e3c25b574de14
Author: Davis King
Date: Aug 24, 2014 (08:43:51 UTC)

added missing asserts

Modified
dlib/image_processing/render_face_detections.h
dlib/image_processing/shape_predictor.h
dlib/image_processing/shape_predictor_abstract.h

Revision: 2136e574285873c8
Author: Davis King
Date: Aug 24, 2014 (08:15:52 UTC)

Added unit tests for the face processing code

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

Revision: 9689e3594f886eb6
Author: Davis King
Date: Aug 24, 2014 (06:37:19 UTC)

improved examples

Modified
examples/face_landmark_detection_ex.cpp
examples/train_shape_predictor_ex.cpp

Revision: 7f7a59257d104b70
Author: Davis King
Date: Aug 24, 2014 (05:01:31 UTC)

fleshed out the spec

Modified
dlib/image_processing/shape_predictor.h
dlib/image_processing/shape_predictor_abstract.h

Revision: 870cde8bee8501b0
Author: Davis King
Date: Aug 23, 2014 (17:00:33 UTC)

Cleaned up the code a bit. Still more cleaning to do.

Modified
dlib/image_processing/shape_predictor.h
dlib/image_processing/shape_predictor_abstract.h

Revision: bc8ce4cfb09ec198
Author: Davis King
Date: Aug 21, 2014 (18:42:48 UTC)

Added initial version of shape training example

Modified
examples/CMakeLists.txt
Added
examples/faces/testing_with_face_landmarks.xml
examples/faces/training_with_face_landmarks.xml
examples/train_shape_predictor_ex.cpp

Revision: 31f4d49e4c5edb58
Author: Davis King
Date: Aug 21, 2014 (18:11:55 UTC)

Added a face landmarking example program

Modified
examples/CMakeLists.txt
Added
examples/face_landmark_detection_ex.cpp

Revision: 076512736401faf6
Author: Davis King
Date: Aug 21, 2014 (17:27:51 UTC)

upped the imglab version number

Modified
tools/imglab/src/main.cpp

Revision: 114db23eb14cfd91
Author: Davis King
Date: Aug 21, 2014 (17:07:45 UTC)

Made the way the image_display draws parts not so awful. Now the parts will have a reasonable size based on the current zoom level.

Modified
dlib/gui_widgets/widgets.cpp

Revision: 674a1093a3d97717
Author: Davis King
Date: Aug 21, 2014 (16:42:16 UTC)

Added image shape prediction code. It works well, just need to fill out the spec and add asserts.

Modified
dlib/image_processing.h
Added
dlib/image_processing/render_face_detections.h
dlib/image_processing/render_face_detections_abstract.h
dlib/image_processing/shape_predictor.h
dlib/image_processing/shape_predictor_abstract.h

Revision: 9cd8010e16a07dd2
Author: Davis King
Date: Aug 21, 2014 (15:29:27 UTC)

A minor change to avoid a compiler warning from gcc with -Wall is on.

Modified
dlib/image_loader/load_image.h

Revision: 46ad48395ae4ba14
Author: Davis King
Date: Aug 21, 2014 (15:16:49 UTC)

Made code work in C++03 and fixed a linker error

Modified
dlib/image_loader/load_image.h

Revision: 24fa4305e1d983de
Author: Davis King
Date: Aug 21, 2014 (15:07:16 UTC)

Incorporated Changjiang Yang's patch that makes load_image() use the file headers to decide how to load images instead of using their file extensions. This makes load_image() work even when the files have the incorrect file extensions.

Modified
dlib/image_loader/load_image.h
dlib/image_loader/load_image_abstract.h

Revision: b89452ca58960dfb
Author: Davis King
Date: Aug 19, 2014 (17:00:26 UTC)

Made the image views do range checking when asserts are enabled.

Modified
dlib/image_processing/generic_image.h

Revision: 209d611d9920097e
Author: Davis King
Date: Aug 18, 2014 (16:18:06 UTC)

Fixed the cmake files to avoid getting an error if the word cmake or various other words appear in the file path to the source code.

Modified
dlib/add_python_module
dlib/cmake

Revision: 214ea3eca7b016cd
Author: Davis King
Date: Aug 17, 2014 (15:30:15 UTC)

minor code cleanup

Modified
dlib/image_transforms/segment_image.h

Revision: 7d9c5afc8385acc5
Author: Davis King
Date: Aug 17, 2014 (13:26:44 UTC)

Made the version of draw_line() that draws onto a regular image use alpha blending for drawing diagonal lines.

Modified
dlib/image_transforms/draw.h

Revision: 925daeeda48b60b3
Author: Davis King
Date: Aug 16, 2014 (08:47:07 UTC)

Added find_similarity_transform()

Modified
dlib/geometry/point_transforms.h
dlib/geometry/point_transforms_abstract.h
dlib/test/geometry.cpp

Revision: 1a97255cfb935338
Author: Davis King
Date: Aug 15, 2014 (16:16:21 UTC)

Renamed a variable to avoid a name conflict on windows which was pointed out by Ahti Leppänen.

Modified
dlib/numerical_integration/integrate_function_adapt_simpson.h

Revision: 1a0001cf0a41448d
Author: Davis King
Date: Aug 14, 2014 (16:40:42 UTC)

fixed typo in spec

Modified
dlib/image_processing/box_overlap_testing_abstract.h

Revision: d29c9f63300f04d2
Author: Davis King
Date: Aug 13, 2014 (15:06:26 UTC)

Changed the evaluate_detectors() routine so that it applies non-max suppression to each detector individually. This way one detector doesn't stomp on the output of another detector.

Modified
dlib/image_processing/scan_fhog_pyramid.h
dlib/image_processing/scan_fhog_pyramid_abstract.h
dlib/test/object_detector.cpp

Revision: cd08347b1cba5ad0
Author: Davis King
Date: Aug 12, 2014 (15:47:41 UTC)

Updated the Python API, train_simple_object_detector() so you can call it directly on already loaded data rather than needing to use an XML file as input.

Modified
python_examples/train_object_detector.py
tools/python/src/object_detection.cpp
tools/python/src/simple_object_detector.h

Revision: 6118734e0a97a1f4
Author: Davis King
Date: Aug 11, 2014 (15:51:05 UTC)

Made svd3 faster when working on small matrices.

Modified
dlib/matrix/matrix_la.h

Revision: 27a35b6ad71d8da3
Author: Davis King
Date: Aug 02, 2014 (14:56:01 UTC)

Made inv() handle singular matrices in a more reasonable way. Now it will make some effort to detect them and output an identity matrix in that case.

Modified
dlib/matrix/matrix_la.h
dlib/test/matrix2.cpp

Revision: 3e2ed39bf1da006b
Author: Davis King
Date: Jul 24, 2014 (17:38:26 UTC)

Added assignment operator for scalar float assignments.

Modified
dlib/simd/simd4f.h

Revision: b317be29dbe3608f
Author: Davis King
Date: Jul 20, 2014 (15:18:40 UTC)

clarified spec

Modified
dlib/image_processing/generic_image.h

Revision: a35b8481e05256ea
Author: Davis King
Date: Jul 20, 2014 (13:18:34 UTC)

Added links to the generic image definition in all the relevant abstract files.

Modified
dlib/image_keypoint/poly_image_abstract.h
dlib/image_keypoint/surf_abstract.h
dlib/image_loader/image_loader_abstract.h
dlib/image_loader/jpeg_loader_abstract.h
dlib/image_loader/load_image_abstract.h
dlib/image_loader/png_loader_abstract.h
dlib/image_processing/scan_image_abstract.h
dlib/image_saver/image_saver_abstract.h
dlib/image_saver/save_png_abstract.h
dlib/image_transforms/assign_image_abstract.h
dlib/image_transforms/colormaps_abstract.h
dlib/image_transforms/draw_abstract.h
dlib/image_transforms/edge_detector_abstract.h
dlib/image_transforms/equalize_histogram_abstract.h
dlib/image_transforms/fhog_abstract.h
dlib/image_transforms/image_pyramid_abstract.h
dlib/image_transforms/integral_image_abstract.h
dlib/image_transforms/interpolation_abstract.h
dlib/image_transforms/label_connected_blobs_abstract.h
dlib/image_transforms/morphological_operations_abstract.h
dlib/image_transforms/segment_image_abstract.h
dlib/image_transforms/spatial_filtering_abstract.h

Revision: e4eeea8d39353d72
Author: Davis King
Date: Jul 20, 2014 (10:47:05 UTC)

Fixed a bug where the imglab tool would sometimes start out with an annoyingly small window when the first image was bigger than the screen.

Modified
tools/imglab/src/main.cpp
tools/imglab/src/metadata_editor.cpp

Revision: 55ebdb8c9e53f30d
Author: Davis King
Date: Jul 20, 2014 (04:07:59 UTC)

Made the disabled version of pyramid_down support the new image interface. Also added an overload of operator() for pyramid_down that takes just a single image and downsamples it.

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

Revision: 3c5d428f63dd1722
Author: Davis King
Date: Jul 19, 2014 (08:09:55 UTC)

Clarified the exact size of the HOG feature maps produced by extract_fhog_features(). Also fixed a minor bug where empty planar HOG feature maps had 0 planes in them rather than 31 empty planes as the spec says they should.

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

Revision: 57abaa70725b9447
Author: Davis King
Date: Jul 18, 2014 (18:44:11 UTC)

Fixed a color space handling bug in resize_image()

Modified
dlib/image_transforms/interpolation.h

Revision: 6107a2b5aa188ebd
Author: Davis King
Date: Jul 18, 2014 (18:22:31 UTC)

Added a typedef to the object_detector that allows you to find out what scanner type it is using.

Modified
dlib/image_processing/object_detector.h
dlib/image_processing/object_detector_abstract.h

Revision: ae3e60490e740557
Author: Davis King
Date: Jul 18, 2014 (18:05:06 UTC)

removed more double __

Modified
dlib/array2d/array2d_kernel.h
dlib/assert.h
dlib/gui_core/gui_core_kernel_1.h
dlib/gui_core/gui_core_kernel_2.h
dlib/matrix/lapack/ormqr.h
dlib/matrix/lapack/syevr.h
dlib/matrix/matrix_eigenvalue.h
dlib/matrix/matrix_subexp.h
dlib/stack_trace.h
dlib/test/tester.cpp
dlib/test/tester.h

Revision: 02acb9951d5e4a89
Author: Davis King
Date: Jul 18, 2014 (17:46:24 UTC)

Just removed double __ from the inclusion guard names.

Modified
dlib/any/any_decision_function.h
dlib/any/any_function.h
dlib/array2d/array2d_generic_image.h
dlib/array2d/serialize_pixel_overloads.h
dlib/bridge/bridge.h
dlib/bsp.h
dlib/bsp/bsp.cpp
dlib/bsp/bsp.h
dlib/bsp/bsp_abstract.h
dlib/clustering/chinese_whispers.h
dlib/clustering/chinese_whispers_abstract.h
dlib/clustering/modularity_clustering_abstract.h
dlib/cmd_line_parser/get_option.h
dlib/cmd_line_parser/get_option_abstract.h
dlib/console_progress_indicator.h
dlib/data_io/image_dataset_metadata.cpp
dlib/data_io/image_dataset_metadata.h
dlib/data_io/libsvm_io.h
dlib/data_io/libsvm_io_abstract.h
dlib/data_io/load_image_dataset.h
dlib/data_io/load_image_dataset_abstract.h
dlib/disjoint_subsets/disjoint_subsets.h
dlib/disjoint_subsets/disjoint_subsets_abstract.h
dlib/filtering/kalman_filter.h
dlib/filtering/kalman_filter_abstract.h
dlib/filtering/rls_filter.h
dlib/filtering/rls_filter_abstract.h
dlib/float_details.h
dlib/general_hash/count_bits.h
dlib/general_hash/count_bits_abstract.h
dlib/general_hash/hash.h
dlib/general_hash/hash_abstract.h
dlib/general_hash/murmur_hash3.h
dlib/general_hash/murmur_hash3_abstract.h
dlib/general_hash/random_hashing.h
dlib/general_hash/random_hashing_abstract.h
dlib/geometry/point_transforms_abstract.h
dlib/graph_cuts/find_max_factor_graph_potts.h
dlib/graph_cuts/find_max_factor_graph_potts_abstract.h
dlib/graph_cuts/general_flow_graph.h
dlib/graph_cuts/general_potts_problem.h
dlib/graph_cuts/graph_labeler.h
dlib/graph_cuts/graph_labeler_abstract.h
dlib/graph_cuts/min_cut.h
dlib/graph_cuts/min_cut_abstract.h
dlib/graph_utils/edge_list_graphs.h
dlib/graph_utils/edge_list_graphs_abstract.h
dlib/graph_utils/find_k_nearest_neighbors_lsh.h
dlib/graph_utils/find_k_nearest_neighbors_lsh_abstract.h
dlib/graph_utils/function_objects.h
dlib/graph_utils/function_objects_abstract.h
dlib/graph_utils/ordered_sample_pair.h
dlib/graph_utils/ordered_sample_pair_abstract.h
dlib/graph_utils/sample_pair.h
dlib/graph_utils/sample_pair_abstract.h
dlib/http_client/http_client.h
dlib/http_client/http_client_abstract.h
dlib/image_keypoint/binned_vector_feature_image.h
dlib/image_keypoint/binned_vector_feature_image_abstract.h
dlib/image_keypoint/build_separable_poly_filters.h
dlib/image_keypoint/fine_hog_image.h
dlib/image_keypoint/fine_hog_image_abstract.h
dlib/image_keypoint/hashed_feature_image.h
dlib/image_keypoint/hashed_feature_image_abstract.h
dlib/image_keypoint/hessian_pyramid.h
dlib/image_keypoint/hessian_pyramid_abstract.h
dlib/image_keypoint/hog.h
dlib/image_keypoint/hog_abstract.h
dlib/image_keypoint/nearest_neighbor_feature_image.h
dlib/image_keypoint/nearest_neighbor_feature_image_abstract.h
dlib/image_keypoint/poly_image.h
dlib/image_keypoint/poly_image_abstract.h
dlib/image_loader/load_image.h
dlib/image_processing.h
dlib/image_processing/box_overlap_testing.h
dlib/image_processing/box_overlap_testing_abstract.h
dlib/image_processing/detection_template_tools.h
dlib/image_processing/detection_template_tools_abstract.h
dlib/image_processing/frontal_face_detector.h
dlib/image_processing/frontal_face_detector_abstract.h
dlib/image_processing/full_object_detection.h
dlib/image_processing/full_object_detection_abstract.h
dlib/image_processing/generic_image.h
dlib/image_processing/object_detector.h
dlib/image_processing/object_detector_abstract.h
dlib/image_processing/remove_unobtainable_rectangles.h
dlib/image_processing/remove_unobtainable_rectangles_abstract.h
dlib/image_processing/scan_fhog_pyramid.h
dlib/image_processing/scan_fhog_pyramid_abstract.h
dlib/image_processing/scan_image.h
dlib/image_processing/scan_image_abstract.h
dlib/image_processing/scan_image_boxes.h
dlib/image_processing/scan_image_boxes_abstract.h
dlib/image_processing/scan_image_custom.h
dlib/image_processing/scan_image_custom_abstract.h
dlib/image_processing/scan_image_pyramid.h
dlib/image_processing/scan_image_pyramid_abstract.h
dlib/image_processing/scan_image_pyramid_tools.h
dlib/image_processing/scan_image_pyramid_tools_abstract.h
dlib/image_processing/setup_hashed_features.h
dlib/image_processing/setup_hashed_features_abstract.h
dlib/image_saver/save_png.cpp
dlib/image_saver/save_png.h
dlib/image_transforms/colormaps.h
dlib/image_transforms/colormaps_abstract.h
dlib/image_transforms/fhog.h
dlib/image_transforms/fhog_abstract.h
dlib/image_transforms/image_pyramid.h
dlib/image_transforms/image_pyramid_abstract.h
dlib/image_transforms/interpolation.h
dlib/image_transforms/segment_image.h
dlib/image_transforms/segment_image_abstract.h
dlib/iosockstream.h
dlib/iosockstream/iosockstream.h
dlib/iosockstream/iosockstream_abstract.h
dlib/lsh/create_random_projection_hash.h
dlib/lsh/create_random_projection_hash_abstract.h
dlib/lsh/hashes.h
dlib/lsh/hashes_abstract.h
dlib/lsh/projection_hash.h
dlib/lsh/projection_hash_abstract.h
dlib/manifold_regularization/linear_manifold_regularizer.h
dlib/manifold_regularization/linear_manifold_regularizer_abstract.h
dlib/matrix/cblas_constants.h
dlib/matrix/lapack/gees.h
dlib/matrix/lapack/geev.h
dlib/matrix/lapack/geqrf.h
dlib/matrix/lapack/gesdd.h
dlib/matrix/lapack/gesvd.h
dlib/matrix/lapack/getrf.h
dlib/matrix/lapack/ormqr.h
dlib/matrix/lapack/potrf.h
dlib/matrix/lapack/syev.h
dlib/matrix/lapack/syevr.h
dlib/matrix/matrix_conv.h
dlib/matrix/matrix_conv_abstract.h
dlib/matrix/matrix_fft.h
dlib/matrix/matrix_fft_abstract.h
dlib/matrix/matrix_generic_image.h
dlib/matrix/matrix_mat.h
dlib/matrix/matrix_mat_abstract.h
dlib/matrix/matrix_read_from_istream.h
dlib/matrix/matrix_trsm.h
dlib/matrix/symmetric_matrix_cache.h
dlib/matrix/symmetric_matrix_cache_abstract.h
dlib/misc_api/misc_api_shared.h
dlib/numerical_integration/integrate_function_adapt_simpson.h
dlib/numerical_integration/integrate_function_adapt_simpson_abstract.h
dlib/opencv/to_open_cv.h
dlib/opencv/to_open_cv_abstract.h
dlib/optimization/find_max_factor_graph_nmplp.h
dlib/optimization/find_max_factor_graph_nmplp_abstract.h
dlib/optimization/find_max_factor_graph_viterbi.h
dlib/optimization/find_max_factor_graph_viterbi_abstract.h
dlib/optimization/find_max_parse_cky.h
dlib/optimization/find_max_parse_cky_abstract.h
dlib/optimization/max_cost_assignment.h
dlib/optimization/max_cost_assignment_abstract.h
dlib/optimization/max_sum_submatrix.h
dlib/optimization/max_sum_submatrix_abstract.h
dlib/optimization/optimization_bobyqa.h
dlib/optimization/optimization_bobyqa_abstract.h
dlib/optimization/optimization_least_squares.h
dlib/optimization/optimization_oca.h
dlib/optimization/optimization_oca_abstract.h
dlib/optimization/optimization_solve_qp2_using_smo.h
dlib/optimization/optimization_solve_qp3_using_smo.h
dlib/optimization/optimization_solve_qp_using_smo.h
dlib/optimization/optimization_solve_qp_using_smo_abstract.h
dlib/optimization/optimization_trust_region.h
dlib/optimization/optimization_trust_region_abstract.h
dlib/python/boost_python_utils.h
dlib/python/numpy.h
dlib/python/numpy_image.h
dlib/python/pyassert.h
dlib/python/serialize_pickle.h
dlib/simd.h
dlib/simd/simd4f.h
dlib/simd/simd4i.h
dlib/simd/simd8f.h
dlib/simd/simd8i.h
dlib/simd/simd_check.h
dlib/sliding_buffer/circular_buffer.h
dlib/sliding_buffer/circular_buffer_abstract.h
dlib/sockstreambuf.h
dlib/sockstreambuf/sockstreambuf.h
dlib/sockstreambuf/sockstreambuf_unbuffered.h
dlib/sparse_vector.h
dlib/statistics/average_precision.h
dlib/statistics/average_precision_abstract.h
dlib/statistics/cca.h
dlib/statistics/cca_abstract.h
dlib/statistics/image_feature_sampling.h
dlib/statistics/image_feature_sampling_abstract.h
dlib/statistics/sammon.h
dlib/statistics/sammon_abstract.h
dlib/statistics/vector_normalizer_frobmetric.h
dlib/statistics/vector_normalizer_frobmetric_abstract.h
dlib/svm/active_learning.h
dlib/svm/active_learning_abstract.h
dlib/svm/assignment_function.h
dlib/svm/assignment_function_abstract.h
dlib/svm/cross_validate_assignment_trainer.h
dlib/svm/cross_validate_assignment_trainer_abstract.h
dlib/svm/cross_validate_graph_labeling_trainer.h
dlib/svm/cross_validate_graph_labeling_trainer_abstract.h
dlib/svm/cross_validate_multiclass_trainer.h
dlib/svm/cross_validate_multiclass_trainer_abstract.h
dlib/svm/cross_validate_object_detection_trainer.h
dlib/svm/cross_validate_object_detection_trainer_abstract.h
dlib/svm/cross_validate_regression_trainer.h
dlib/svm/cross_validate_regression_trainer_abstract.h
dlib/svm/cross_validate_sequence_labeler.h
dlib/svm/cross_validate_sequence_labeler_abstract.h
dlib/svm/cross_validate_sequence_segmenter.h
dlib/svm/cross_validate_sequence_segmenter_abstract.h
dlib/svm/cross_validate_track_association_trainer.h
dlib/svm/cross_validate_track_association_trainer_abstract.h
dlib/svm/krr_trainer.h
dlib/svm/krr_trainer_abstract.h
dlib/svm/linearly_independent_subset_finder.h
dlib/svm/multiclass_tools.h
dlib/svm/multiclass_tools_abstract.h
dlib/svm/null_df.h
dlib/svm/num_nonnegative_weights.h
dlib/svm/one_vs_all_decision_function.h
dlib/svm/one_vs_all_decision_function_abstract.h
dlib/svm/one_vs_all_trainer.h
dlib/svm/one_vs_all_trainer_abstract.h
dlib/svm/one_vs_one_decision_function.h
dlib/svm/one_vs_one_decision_function_abstract.h
dlib/svm/one_vs_one_trainer.h
dlib/svm/one_vs_one_trainer_abstract.h
dlib/svm/ranking_tools.h
dlib/svm/ranking_tools_abstract.h
dlib/svm/rls.h
dlib/svm/rls_abstract.h
dlib/svm/rr_trainer.h
dlib/svm/rr_trainer_abstract.h
dlib/svm/sequence_labeler.h
dlib/svm/sequence_labeler_abstract.h
dlib/svm/sequence_segmenter.h
dlib/svm/sequence_segmenter_abstract.h
dlib/svm/simplify_linear_decision_function.h
dlib/svm/simplify_linear_decision_function_abstract.h
dlib/svm/sort_basis_vectors.h
dlib/svm/sort_basis_vectors_abstract.h
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_sequence_segmentation_trainer.h
dlib/svm/structural_sequence_segmentation_trainer_abstract.h
dlib/svm/structural_svm_assignment_problem.h
dlib/svm/structural_svm_assignment_problem_abstract.h
dlib/svm/structural_svm_distributed.h
dlib/svm/structural_svm_distributed_abstract.h
dlib/svm/structural_svm_graph_labeling_problem.h
dlib/svm/structural_svm_graph_labeling_problem_abstract.h
dlib/svm/structural_svm_object_detection_problem.h
dlib/svm/structural_svm_object_detection_problem_abstract.h
dlib/svm/structural_svm_problem.h
dlib/svm/structural_svm_problem_abstract.h
dlib/svm/structural_svm_problem_threaded.h
dlib/svm/structural_svm_problem_threaded_abstract.h
dlib/svm/structural_svm_sequence_labeling_problem.h
dlib/svm/structural_svm_sequence_labeling_problem_abstract.h
dlib/svm/structural_track_association_trainer.h
dlib/svm/structural_track_association_trainer_abstract.h
dlib/svm/svm_c_ekm_trainer.h
dlib/svm/svm_c_ekm_trainer_abstract.h
dlib/svm/svm_c_linear_dcd_trainer.h
dlib/svm/svm_c_linear_dcd_trainer_abstract.h
dlib/svm/svm_c_linear_trainer.h
dlib/svm/svm_c_linear_trainer_abstract.h
dlib/svm/svm_c_trainer.h
dlib/svm/svm_multiclass_linear_trainer.h
dlib/svm/svm_multiclass_linear_trainer_abstract.h
dlib/svm/svm_nu_trainer.h
dlib/svm/svm_one_class_trainer.h
dlib/svm/svm_rank_trainer.h
dlib/svm/svm_rank_trainer_abstract.h
dlib/svm/svr_linear_trainer.h
dlib/svm/svr_linear_trainer_abstract.h
dlib/svm/svr_trainer.h
dlib/svm/track_association_function.h
dlib/svm/track_association_function_abstract.h
dlib/test/create_iris_datafile.h
dlib/test/optimization_test_functions.h
dlib/threads/parallel_for_extension.h
dlib/threads/parallel_for_extension_abstract.h
dlib/threads/thread_pool_extension.cpp
dlib/threads/thread_pool_extension.h
dlib/threads/thread_pool_extension_abstract.h
dlib/timer/timer.cpp
dlib/timer/timer.h
dlib/timing.h
dlib/tuple.h
dlib/unordered_pair.h
dlib/vectorstream.h
dlib/vectorstream/vectorstream.h
dlib/vectorstream/vectorstream_abstract.h

Revision: 44445ca8c3a3af4c
Author: Davis King
Date: Jul 18, 2014 (17:31:55 UTC)

Just fixed some funny typos in some comments.

Modified
dlib/image_keypoint/hessian_pyramid.h
dlib/numerical_integration/integrate_function_adapt_simpson.h
dlib/numerical_integration/integrate_function_adapt_simpson_abstract.h
dlib/optimization/find_max_factor_graph_nmplp_abstract.h
dlib/statistics/average_precision_abstract.h
dlib/svm/null_df.h
dlib/svm/svm_c_linear_trainer.h

Revision: dda46909ccc5693d
Author: Davis King
Date: Jul 17, 2014 (18:29:06 UTC)

Fixed a few things so they work with the new image generic interface.

Modified
dlib/image_processing/scan_fhog_pyramid.h
dlib/image_transforms/interpolation.h
dlib/python/numpy_image.h

Revision: c62c1d104a8f4ecc
Author: Davis King
Date: Jul 17, 2014 (15:23:43 UTC)

Added a file that defines a new generic image interface for images in dlib. This is the dlib/image_processing/generic_image.h file. Then I changed all the image processing functions so that they use this interface. All the changes are very minor, but there are just a lot of them. Any user code that was using array2d objects to represent images will still work. However, this change makes it so that users can use their own custom image objects with dlib by simply implementing a few global functions for their image object.

Modified
dlib/array2d.h
dlib/geometry/rectangle.h
dlib/geometry/rectangle_abstract.h
dlib/gui_widgets/widgets.h
dlib/image_keypoint/fine_hog_image.h
dlib/image_keypoint/fine_hog_image_abstract.h
dlib/image_keypoint/hashed_feature_image.h
dlib/image_keypoint/hog.h
dlib/image_keypoint/hog_abstract.h
dlib/image_keypoint/poly_image.h
dlib/image_keypoint/poly_image_abstract.h
dlib/image_keypoint/surf.h
dlib/image_keypoint/surf_abstract.h
dlib/image_loader/image_loader.h
dlib/image_loader/image_loader_abstract.h
dlib/image_loader/jpeg_loader.h
dlib/image_loader/jpeg_loader_abstract.h
dlib/image_loader/load_image_abstract.h
dlib/image_loader/png_loader.h
dlib/image_loader/png_loader_abstract.h
dlib/image_processing/scan_fhog_pyramid.h
dlib/image_processing/scan_image.h
dlib/image_processing/scan_image_abstract.h
dlib/image_processing/scan_image_pyramid.h
dlib/image_processing/scan_image_pyramid_abstract.h
dlib/image_saver/image_saver.h
dlib/image_saver/image_saver_abstract.h
dlib/image_saver/save_png.h
dlib/image_saver/save_png_abstract.h
dlib/image_transforms/assign_image.h
dlib/image_transforms/assign_image_abstract.h
dlib/image_transforms/colormaps.h
dlib/image_transforms/colormaps_abstract.h
dlib/image_transforms/draw.h
dlib/image_transforms/draw_abstract.h
dlib/image_transforms/edge_detector.h
dlib/image_transforms/edge_detector_abstract.h
dlib/image_transforms/equalize_histogram.h
dlib/image_transforms/equalize_histogram_abstract.h
dlib/image_transforms/fhog.h
dlib/image_transforms/fhog_abstract.h
dlib/image_transforms/image_pyramid.h
dlib/image_transforms/image_pyramid_abstract.h
dlib/image_transforms/integral_image.h
dlib/image_transforms/integral_image_abstract.h
dlib/image_transforms/interpolation.h
dlib/image_transforms/interpolation_abstract.h
dlib/image_transforms/label_connected_blobs.h
dlib/image_transforms/label_connected_blobs_abstract.h
dlib/image_transforms/morphological_operations.h
dlib/image_transforms/morphological_operations_abstract.h
dlib/image_transforms/segment_image.h
dlib/image_transforms/segment_image_abstract.h
dlib/image_transforms/spatial_filtering.h
dlib/image_transforms/spatial_filtering_abstract.h
dlib/image_transforms/thresholding.h
dlib/image_transforms/thresholding_abstract.h
dlib/matrix.h
dlib/matrix/matrix_mat.h
dlib/matrix/matrix_mat_abstract.h
dlib/opencv/cv_image.h
dlib/opencv/to_open_cv.h
dlib/opencv/to_open_cv_abstract.h
Added
dlib/array2d/array2d_generic_image.h
dlib/image_processing/generic_image.h
dlib/matrix/matrix_generic_image.h

Revision: ce8f80013d26608e
Author: Davis King
Date: Jul 12, 2014 (10:47:52 UTC)

Harmonized the array2d::set_size and matrix::set_size methods. In particular, array2d::set_size() now simply allows any row and column sizes so long as they are non-negative.

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

Revision: 9cecbdb353542ad1
Author: Michael Yee
Date: Jul 09, 2014 (03:06:30 UTC)

Removed another unused typedef to avoid a compiler warning in gcc 4.8.1.

Modified
dlib/svm/svm.h

Revision: 0cc8c2589d51fe95
Author: Davis E. King
Date: Jul 09, 2014 (08:47:28 UTC)

Removed unused typedef to avoid compiler warnings.

Modified
dlib/svm/svm.h

Revision: e12396b3f2fec101
Author: Davis King
Date: Jul 08, 2014 (17:50:50 UTC)

Changed the serialization code for C-strings so that they don't save the null terminator byte. This makes their serialization format the same as the format for std::string. I had to revert the previous mod for this because it didn't work in visual studio. This change fixes that. The code should still be able to read all previously serialized data correctly. Moreover, any char arrays that aren't null terminated will still be read and written in their entirety.

Modified
dlib/serialize.h
dlib/test/serialize.cpp

Revision: e990549e22be38ed
Author: Davis E. King
Date: Jul 07, 2014 (11:22:36 UTC)

Changed the code so that literal strings "i.e. stuff like this" are serialized using the same format as std::string. Previously, the trailing 0 was also saved so if you deserialized them into a std::string you ended up with a trailing 0 in the std::string which isn't what you want.

Modified
dlib/serialize.h
dlib/test/serialize.cpp

Revision: 9b27c096944c06cc
Author: Davis E. King
Date: Jul 02, 2014 (12:16:41 UTC)

Fixed a bug in find_min_single_variable() I introduced a few hours ago.

Modified
dlib/optimization/optimization_line_search.h

Revision: 98f90bed0940639d
Author: Davis E. King
Date: Jul 02, 2014 (08:41:31 UTC)

Made find_min_single_variable() a little more efficient.

Modified
dlib/optimization/optimization_line_search.h

Revision: be24b14482331244
Author: Davis E. King
Date: Jul 02, 2014 (06:31:55 UTC)

Fixed a bug, the initial step size wasn't being used in part of the code. Also made the initial bracketing step a little more efficient.

Modified
dlib/optimization/optimization_line_search.h

Revision: c3acb32f27442ff3
Author: Davis King
Date: Jul 01, 2014 (17:23:55 UTC)

Added a parameter to control the search radius to the find_min_single_variable() and find_max_single_variable() routines. Also made these functions a little more robust to unusual objective functions.

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

Revision: 2fcd4491b0252cde
Author: Davis King
Date: Jul 01, 2014 (16:26:10 UTC)

Moved negate_function() to a different file to avoid an #include ordering bug that happened when using find_max_single_variable().

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

Revision: 8bc59ace44c42306
Author: Davis King
Date: Jun 24, 2014 (15:46:05 UTC)

Renamed assert link check variable to be a little more informative.

Modified
dlib/threads/threads_kernel_shared.cpp
dlib/threads/threads_kernel_shared.h

Revision: b8866e308db58746
Author: Davis King
Date: Jun 23, 2014 (12:11:21 UTC)

Clarified the thread safety of evaluate_detectors().

Modified
dlib/image_processing/scan_fhog_pyramid_abstract.h

Revision: ade44c495d3cadde
Author: Davis King
Date: Jun 23, 2014 (12:06:23 UTC)

Changed the example to recommend using something like the f1-score when using BOBYQA for model selection.

Modified
examples/model_selection_ex.cpp

Revision: ec51007b4868d1f5
Author: Davis King
Date: Jun 23, 2014 (11:20:16 UTC)

Added more member functions to the auto_mutex_readonly object that allows you to convert between a readonly and write lock but still use RAII.

Modified
dlib/test/read_write_mutex.cpp
dlib/threads/auto_mutex_extension.h
dlib/threads/auto_mutex_extension_abstract.h

Revision: de24b9e6602468a9
Author: Davis King
Date: Jun 22, 2014 (06:02:03 UTC)

Made cross_validate_trainer() and cross_validate_trainer_threaded() not make duplicate copies of the training data since doing so uses a lot of RAM for large datasets.

Modified
dlib/svm/svm.h
dlib/svm/svm_threaded.h
dlib/svm/svm_threaded_abstract.h

Revision: 95b5eeb9481f7033
Author: Davis King
Date: Jun 17, 2014 (16:24:19 UTC)

Changed the murmur hash implementation to avoid any possibility of strict aliasing violations in user code, even when things get inlined in unfavorable ways.

Modified
dlib/general_hash/murmur_hash3.h
dlib/test/hash.cpp

Revision: 1cf3020c076fbfa8
Author: Davis King
Date: Jun 17, 2014 (16:03:19 UTC)

Renamed unit test program to avoid warnings from cmake

Modified
dlib/test/CMakeLists.txt
dlib/test/makefile

Revision: cc8c2ebc9959b259
Author: Davis King
Date: Jun 13, 2014 (16:13:18 UTC)

Fixed spelling errors in comments

Modified
dlib/threads/threads_kernel_shared.cpp

Revision: 597d3586c556114b
Author: Davis King
Date: Jun 08, 2014 (11:35:12 UTC)

The new serialization API that works like serialize("filename") << object; wasn't opening files in binary mode. Oops. This is now fixed.

Modified
dlib/serialize.h

Revision: 492860bbb86e2782
Author: Davis King
Date: May 31, 2014 (08:19:10 UTC)

Fixed a minor interface usability flaw in the scan_fhog_pyramid. It wasn't documented that you couldn't change the padding, cell size, or window size parameters between calls to load() and detect().

Modified
dlib/image_processing/scan_fhog_pyramid.h
dlib/image_processing/scan_fhog_pyramid_abstract.h

Revision: e64b062797ece754
Author: Davis King
Date: May 31, 2014 (08:04:00 UTC)

Fixed a warning about signed/unsigned comparisons.

Modified
dlib/image_processing/scan_fhog_pyramid.h

Revision: 14f7beeeac9f8f8f
Author: Davis King
Date: May 26, 2014 (15:25:46 UTC)

Added missing requires clauses

Modified
dlib/image_processing/scan_fhog_pyramid_abstract.h

Revision: 612653f5dbcf1e22
Author: Davis King
Date: May 26, 2014 (14:56:01 UTC)

Fixed bug in evaluate_detectors() and added unit tests.

Modified
dlib/image_processing/scan_fhog_pyramid.h
dlib/test/object_detector.cpp

Revision: d816f279aaf19f73
Author: Davis King
Date: May 26, 2014 (14:46:35 UTC)

Updated example to use evaluate_detectors()

Modified
examples/fhog_object_detector_ex.cpp

Revision: 6cdb057c61c50b1f
Author: Davis King
Date: May 26, 2014 (14:46:13 UTC)

Added evaluate_detectors() to make it easy to run a bunch of HOG detectors efficiently, even when their window sizes differ.

Modified
dlib/image_processing/scan_fhog_pyramid.h
dlib/image_processing/scan_fhog_pyramid_abstract.h

Revision: f8d9a56a3deb6fa9
Author: Davis King
Date: May 26, 2014 (14:22:55 UTC)

Refactored a bit of the object_detector interface. Also fixed a bug in the non-max suppression code that I introduced a few commits ago.

Modified
dlib/image_processing/object_detector.h
dlib/image_processing/object_detector_abstract.h

Revision: 390a6d2230adf8bf
Author: Davis King
Date: May 24, 2014 (08:27:20 UTC)

Improved non-max-suppression for detectors with multiple sub-detectors packed into them.

Modified
dlib/image_processing/object_detector.h

Revision: d2783b65366561d7
Author: Davis King
Date: May 24, 2014 (06:18:31 UTC)

Added set_prior() to the python interfaces of the relevant trainer objects.

Modified
tools/python/src/svm_c_trainer.cpp
tools/python/src/svm_rank_trainer.cpp

Revision: 7bf28d5225404480
Author: Davis King
Date: May 23, 2014 (18:03:55 UTC)

Made set_prior() work with sparse vectors.

Modified
dlib/svm/svm_c_linear_trainer.h
dlib/test/oca.cpp
dlib/test/svm_c_linear.cpp

Revision: 61a6ece07460ff1d
Author: Davis King
Date: May 23, 2014 (17:53:51 UTC)

Fixed a bug in the prior support related to sparse vector usage.

Modified
dlib/svm/svm_multiclass_linear_trainer.h

Revision: 0dad7eaf84bce19d
Author: Davis King
Date: May 23, 2014 (17:52:01 UTC)

Relaxed some excessively restrictive requires clauses.

Modified
dlib/matrix/matrix_utilities.h
dlib/matrix/matrix_utilities_abstract.h

Revision: 42758e94aefa8096
Author: Davis King
Date: May 23, 2014 (15:07:32 UTC)

Fixed set_prior() so it works with sparse vectors in addition to dense vectors.

Modified
dlib/svm/svm_rank_trainer.h
dlib/test/ranking.cpp

Revision: fde18d33b0c142a4
Author: Davis King
Date: May 23, 2014 (14:35:49 UTC)

Added unit tests for the svm_multiclass_linear with sparse priors

Modified
dlib/test/svm_multiclass_linear.cpp

Revision: ceeb863b3b2e617e
Author: Davis King
Date: May 22, 2014 (17:34:35 UTC)

Fixed compile time bug

Modified
dlib/svm/svm_multiclass_linear_trainer.h

Revision: 5061fdd1b431b4fe
Author: Davis King
Date: May 22, 2014 (16:19:02 UTC)

Added another test

Modified
dlib/test/matrix.cpp

Revision: a72e4ac8c26939d8
Author: Davis King
Date: May 22, 2014 (16:17:21 UTC)

Made it so you can write statements like mymat = m = 0; That is, chain the = operator when using a literal assignment on matrix objects.

Modified
dlib/matrix/matrix.h
dlib/test/matrix.cpp

Revision: 30b951b666a2a9bb
Author: Davis King
Date: May 21, 2014 (17:56:04 UTC)

Added unit test for the new dot() overloads.

Modified
dlib/test/sparse_vector.cpp

Revision: 6327c26242e3b516
Author: Davis King
Date: May 21, 2014 (17:48:04 UTC)

Added unit tests for new serialization syntax.

Modified
dlib/test/serialize.cpp

Revision: 66ebdb63b96c8300
Author: Davis King
Date: May 21, 2014 (16:52:57 UTC)

Made the requires checking for array::set_size() always stay on since it is not going to be performance critical and is a common user error.

Modified
dlib/array/array_kernel.h

Revision: e85dcb870c7b7fe4
Author: Davis King
Date: May 21, 2014 (16:51:11 UTC)

Fixed incorrect requires clause on the cross_validate_trainer() and cross_validate_trainer_threaded() routines.

Modified
dlib/svm/svm.h
dlib/svm/svm_abstract.h
dlib/svm/svm_threaded.h
dlib/svm/svm_threaded_abstract.h

Revision: b6a4c87914fdf8bf
Author: Davis King
Date: May 21, 2014 (-02:19:57 UTC)

Changed code so that the proper error code is always returned even in the event that closesocket() fails.

Modified
dlib/sockets/sockets_kernel_1.cpp

Revision: d862afecf86457c5
Author: Davis King
Date: May 20, 2014 (17:12:34 UTC)

Fixed spelling error in comment.

Modified
dlib/sockets/sockets_kernel_2.cpp

Revision: e3f06fb6e064b842
Author: Davis King
Date: May 18, 2014 (10:37:04 UTC)

Changed the assign() function so that it no longer removes zeros from dense vectors when assigning them to sparse vectors. Also updated dot() so that it is much faster when working with "sparse vectors" that are the product of assigning a dense vector to a sparse vector.

Modified
dlib/svm/sparse_vector.h

Revision: ecbd1ac86cafb2b3
Author: Davis King
Date: May 16, 2014 (15:36:01 UTC)

Fixed a potential divide by zero in draw_fhog()

Modified
dlib/image_transforms/fhog.h

Revision: 6096ac2e2324100f
Author: Davis King
Date: May 08, 2014 (17:07:56 UTC)

Made the examples use the new simplified file serialization API.

Modified
examples/assignment_learning_ex.cpp
examples/custom_trainer_ex.cpp
examples/fhog_object_detector_ex.cpp
examples/krls_ex.cpp
examples/krr_classification_ex.cpp
examples/krr_regression_ex.cpp
examples/learning_to_track_ex.cpp
examples/multiclass_classification_ex.cpp
examples/object_detector_ex.cpp
examples/rvm_ex.cpp
examples/rvm_regression_ex.cpp
examples/sequence_labeler_ex.cpp
examples/sequence_segmenter_ex.cpp
examples/svm_ex.cpp
examples/train_object_detector.cpp

Revision: dd0288c699d682b7
Author: Davis King
Date: May 08, 2014 (16:40:22 UTC)

Added a simplified operator << and >> syntax for serializing to and from files.

Modified
dlib/serialize.h

Revision: b00a471b53bfde67
Author: Davis King
Date: May 04, 2014 (18:09:59 UTC)

Added the option to set a prior to svm_rank_trainer.

Modified
dlib/svm/svm_rank_trainer.h
dlib/svm/svm_rank_trainer_abstract.h
dlib/test/ranking.cpp

Revision: e65a49a1b9ab753a
Author: Davis King
Date: May 04, 2014 (17:32:50 UTC)

Added missing assert

Modified
dlib/svm/svm_c_linear_trainer.h

Revision: 2badb5f6899e93cc
Author: Davis King
Date: May 04, 2014 (17:32:38 UTC)

Fixed grammar

Modified
dlib/svm/svm_c_linear_trainer_abstract.h

Revision: c5dd0ebceb841784
Author: Davis King
Date: May 04, 2014 (16:53:48 UTC)

Fixed compiler errors in unit tests

Modified
dlib/test/svm_struct.cpp

Revision: 65695ed6be50c7c1
Author: Davis King
Date: May 04, 2014 (16:08:44 UTC)

Fixed compile time error I just introduced.

Modified
dlib/svm/svm_c_linear_trainer.h

Revision: d0a366cfe4dd89f8
Author: Davis King
Date: May 04, 2014 (16:01:20 UTC)

Added the ability to set a prior to the svm_c_linear_trainer.

Modified
dlib/svm/svm_c_linear_trainer.h
dlib/svm/svm_c_linear_trainer_abstract.h
dlib/test/svm_c_linear.cpp

Revision: 7172005a4937851f
Author: Davis King
Date: May 04, 2014 (15:45:57 UTC)

Added overloads of mat() that convert a single scalar into a matrix.

Modified
dlib/matrix/matrix_mat.h
dlib/matrix/matrix_mat_abstract.h

Revision: 148793c1763dbad9
Author: Davis King
Date: May 04, 2014 (15:21:58 UTC)

clarified spec

Modified
dlib/svm/svm_multiclass_linear_trainer_abstract.h

Revision: 4c2b50d19f0cefe1
Author: Davis King
Date: May 04, 2014 (15:14:38 UTC)

Clarified spec and also slightly improved usability

Modified
dlib/svm/svm_multiclass_linear_trainer.h
dlib/svm/svm_multiclass_linear_trainer_abstract.h

Revision: 1db294f4e69272a4
Author: Davis King
Date: May 01, 2014 (16:47:07 UTC)

Added the ability to set a previously trained function as a prior to the svm_multiclass_linear_trainer.

Modified
dlib/svm/svm_multiclass_linear_trainer.h
dlib/svm/svm_multiclass_linear_trainer_abstract.h
dlib/test/svm_multiclass_linear.cpp

Revision: 9bb42de59762e16b
Author: Davis King
Date: Apr 26, 2014 (15:56:18 UTC)

Fixed minor typos

Modified
examples/logger_ex_2.cpp

Revision: fb60ed2c25e61025
Author: Davis King
Date: Apr 26, 2014 (13:32:06 UTC)

Added an example program showing how to setup a logger hook

Modified
examples/CMakeLists.txt
Added
examples/logger_custom_output_ex.cpp

Revision: 0eb450520e893091
Author: Davis King
Date: Apr 26, 2014 (13:17:22 UTC)

Just a few minor overloads and usability tweaks to the logger interface.

Modified
dlib/logger/logger_kernel_1.h
dlib/logger/logger_kernel_abstract.h

Revision: 410e9eb9e5ebcc43
Author: Davis King
Date: Apr 26, 2014 (11:35:45 UTC)

Added locally_change_current_dir

Modified
dlib/misc_api.h
dlib/misc_api/misc_api_kernel_abstract.h
Added
dlib/misc_api/misc_api_shared.h

Revision: c121ed7e04dd6b22
Author: Davis King
Date: Apr 26, 2014 (09:10:09 UTC)

Made the ODR rule violation error diagnostic clearer.

Modified
dlib/threads/threads_kernel_shared.cpp
dlib/threads/threads_kernel_shared.h

Revision: 9b49cd55cfe898ab
Author: Davis King
Date: Apr 26, 2014 (08:57:42 UTC)

Added user settable loss to the structural_track_association_trainer.

Modified
dlib/svm/structural_track_association_trainer.h
dlib/svm/structural_track_association_trainer_abstract.h

Revision: 47071c701fea6abf
Author: Davis King
Date: Apr 23, 2014 (16:25:27 UTC)

Slightly simplified the code

Modified
dlib/svm/structural_svm_problem.h

Revision: e11ad0889a8cd1af
Author: Davis King
Date: Apr 23, 2014 (15:41:37 UTC)

Added operator+= to discriminant_pca.

Modified
dlib/statistics/dpca.h
dlib/statistics/dpca_abstract.h
dlib/test/discriminant_pca.cpp

Revision: a3f3d9b5e9b86ff7
Author: Davis King
Date: Apr 23, 2014 (15:19:49 UTC)

Improve error message generated when calling argument() incorrectly.

Modified
dlib/cmd_line_parser/cmd_line_parser_kernel_1.h

Revision: c72a3f001d37a958
Author: Davis King
Date: Apr 23, 2014 (15:09:24 UTC)

fixed spelling errors

Modified
dlib/interfaces/cmd_line_parser_option.h

Revision: 9e33b4c369c6d6d8
Author: Davis King
Date: Apr 22, 2014 (17:18:31 UTC)

Added user settable loss to the association trainer

Modified
dlib/svm/structural_assignment_trainer.h
dlib/svm/structural_assignment_trainer_abstract.h
dlib/svm/structural_svm_assignment_problem.h
dlib/svm/structural_svm_assignment_problem_abstract.h

Revision: 77f4321d7b5f88cc
Author: Davis King
Date: Apr 22, 2014 (16:18:58 UTC)

fixed typo in spec

Modified
dlib/svm/svm_rank_trainer_abstract.h

Revision: 3308807ea377af67
Author: Davis King
Date: Apr 22, 2014 (16:52:26 UTC)

Added a #define for _NO_W32_PSEUDO_MODIFIERS so that windows.h won't #define IN or OUT

Modified
dlib/windows_magic.h

Revision: 3c097f560513b809
Author: Davis King
Date: Apr 22, 2014 (16:13:47 UTC)

merged changes and updated abstract file.

Modified
dlib/svm/rvm.h
dlib/svm/rvm_abstract.h
examples/rvm_ex.cpp

Revision: b8e8de0dc71bdf90
Author: Csaba Kertesz
Date: Mar 16, 2014 (13:19:19 UTC)

Add maximal iterations option for relevance vector machine trainer

Modified
dlib/svm/rvm.h
examples/rvm_ex.cpp

Revision: 56d6aae8d8c25882
Author: Davis King
Date: Apr 21, 2014 (06:04:54 UTC)

fixed typo in spec

Modified
dlib/disjoint_subsets/disjoint_subsets_abstract.h

Revision: 50dccf05ad39bae4
Author: Davis King
Date: Apr 16, 2014 (17:27:11 UTC)

A minor change to avoid a compiler warning.

Modified
dlib/image_transforms/draw.h

Revision: 5073ec1b7c924c83
Author: Davis King
Date: Apr 16, 2014 (15:54:55 UTC)

Added split_on_first() and split_on_last().

Modified
dlib/string/string.h
dlib/string/string_abstract.h
dlib/test/string.cpp

Revision: 434de92b54f370e2
Author: Davis King
Date: Apr 13, 2014 (07:10:41 UTC)

clarified spec

Modified
dlib/logger/logger_kernel_abstract.h

Revision: 22446ff38555c1cf
Author: Davis King
Date: Apr 10, 2014 (15:43:08 UTC)

Made the point transformation objects default constructable and also serializable.

Modified
dlib/geometry/point_transforms.h
dlib/geometry/point_transforms_abstract.h
dlib/test/geometry.cpp

Revision: bdc9ee65b87360a6
Author: Davis King
Date: Apr 05, 2014 (14:56:50 UTC)

Made the loss calculation more explicit.

Modified
dlib/svm/structural_svm_assignment_problem.h

Revision: 710c2c08d6c9fe33
Author: Davis King
Date: Apr 05, 2014 (12:56:48 UTC)

Simplified example program.

Modified
examples/assignment_learning_ex.cpp

Revision: f558affe6d7c7af8
Author: Davis King
Date: Apr 02, 2014 (15:49:24 UTC)

fixed a typo in the spec

Modified
dlib/statistics/vector_normalizer_frobmetric_abstract.h

Revision: 4cd480e714851553
Author: Davis King
Date: Mar 27, 2014 (16:32:26 UTC)

Changed oca code so the prior vector can be the same object as the w vector.

Modified
dlib/optimization/optimization_oca.h

Revision: be293a7c2f0d7cb0
Author: Davis King
Date: Mar 18, 2014 (15:18:04 UTC)

A minor change to avoid a compiler error from clang 3.4 on Mac OS X 10.9. Thanks to Martin Fergie for reporting this problem.

Modified
dlib/sockets/sockets_kernel_1.h
dlib/sockets/sockets_kernel_2.h

Revision: 61c6f9f510aae090
Author: Davis King
Date: Mar 17, 2014 (14:24:41 UTC)

Fixed a bug in the backtracking_line_search() function pointed out by Ping-Chang Shih. The function ignored the max_iter parameter.

Modified
dlib/optimization/optimization_line_search.h

Revision: d26119e550debf5b
Author: Davis King
Date: Mar 17, 2014 (14:17:26 UTC)

Fixed a bug pointed out by Daniel Girardeau-Montaut. The covariance() function didn't work on non-double valued matrices.

Modified
dlib/matrix/matrix_utilities.h

Revision: 64a8e64d050b1c77
Author: Davis King
Date: Mar 17, 2014 (14:01:59 UTC)

Made frobmetric_training_sample serializable.

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

Revision: b19967f2c81868a8
Author: Davis King
Date: Mar 17, 2014 (14:00:44 UTC)

Improved speed of reshape_to_column_vector()

Modified
dlib/matrix/matrix_utilities.h
dlib/test/matrix3.cpp

Revision: 5a3fb1f810419789
Author: Davis King
Date: Mar 09, 2014 (09:37:30 UTC)

changed python example so that running it without commands doesn't trigger a testing failure in the makedocs script

Modified
python_examples/train_object_detector.py

Revision: ae9fd0072d2dadf0
Author: Davis King
Date: Mar 09, 2014 (08:10:15 UTC)

Added epsilon to the python object detection training API.

Modified
tools/python/src/object_detection.cpp
tools/python/src/simple_object_detector.h
tools/python/src/simple_object_detector_abstract.h

Revision: e7b86f7c65a670dd
Author: Davis King
Date: Mar 08, 2014 (16:41:21 UTC)

A minor change to avoid a warning from visual studio.

Modified
dlib/test/learning_to_track.cpp

Revision: b9714ef6bab36c7e
Author: Davis King
Date: Mar 08, 2014 (16:41:04 UTC)

Renamed a variable to avoid a name clash with a #define in Cygwin

Modified
dlib/svm/svm_c_linear_trainer.h

Revision: e08c124ecd9643bb
Author: Davis King
Date: Mar 08, 2014 (16:40:20 UTC)

Updated cmake file so the compiled python API file has the correct extension.

Modified
dlib/add_python_module

Revision: 51ec3c890c196aca
Author: Davis King
Date: Mar 08, 2014 (09:58:57 UTC)

fixed typo in spec

Modified
dlib/image_processing/scan_fhog_pyramid_abstract.h

Revision: 0a8e2682c28edf54
Author: Davis King
Date: Mar 08, 2014 (08:12:48 UTC)

Updated this example to use the scan_fhog_pyramid version of the object detector since it is much more user friendly.

Modified
examples/train_object_detector.cpp

Revision: 52d2a7794f01b30d
Author: Davis King
Date: Mar 08, 2014 (07:14:24 UTC)

removed cruft

Modified
tools/python/src/simple_object_detector.h

Revision: fc9814672e5ea79c
Author: Davis King
Date: Mar 08, 2014 (06:32:12 UTC)

grammar

Modified
python_examples/face_detector.py

Revision: cee0435f8f01d9cd
Author: Davis King
Date: Apr 22, 2013 (04:44:22 UTC)

Minor changes to avoid compiler warnings.

Modified
dlib/image_processing/scan_fhog_pyramid.h
dlib/image_processing/scan_fhog_pyramid_abstract.h
dlib/svm/cross_validate_track_association_trainer.h
dlib/test/learning_to_track.cpp

Revision: f9e56dbd2e1db64c
Author: Davis King
Date: Apr 22, 2013 (04:23:24 UTC)

A minor change to avoid compiler warnings.

Modified
examples/learning_to_track_ex.cpp
examples/one_class_classifiers_ex.cpp

Revision: 19bf692ded62013b
Author: Davis King
Date: Mar 07, 2014 (15:23:40 UTC)

Changed code slightly so that calling identity_matrix<double>(a_matrix) results in a compile time error rather than a confusing runtime error.

Modified
dlib/matrix/matrix_utilities.h

Revision: 5911507e40cf0dc9
Author: Davis King
Date: Mar 07, 2014 (14:45:18 UTC)

Added more comments about how to pack multiple detectors into a single object_detector.

Modified
examples/fhog_object_detector_ex.cpp

Revision: 7a2396f7acbdb81c
Author: Davis King
Date: Mar 06, 2014 (17:14:44 UTC)

Gave scan_fhog_pyramid an optional template argument that lets you define a custom version of HOG feature extraction.

Modified
dlib/image_processing/scan_fhog_pyramid.h
dlib/image_processing/scan_fhog_pyramid_abstract.h

Revision: f964581c815e1889
Author: Davis King
Date: Mar 06, 2014 (17:11:56 UTC)

clarified spec

Modified
dlib/image_transforms/fhog_abstract.h

Revision: d9ff015825c7a454
Author: Davis King
Date: Mar 05, 2014 (16:29:02 UTC)

Slightly tweaked some parameters to avoid accidentally triggering the "PSI isn't being computed correctly" debugging check inside the structural SVM solver.

Modified
dlib/image_processing/scan_fhog_pyramid.h
dlib/svm/structural_svm_object_detection_problem.h

Revision: 2adbfbc70f13dc50
Author: Davis King
Date: Mar 03, 2014 (17:36:26 UTC)

Added more pyramid point transform unit tests

Modified
dlib/test/pyramid_down.cpp

Revision: 6e9149a346a2e81f
Author: Davis King
Date: Mar 03, 2014 (13:43:33 UTC)

Made mat() correctly convert std::vector<bool> objects to matrices. Previously, the elements of the vector were returned by reference which is problematic for std::vector<bool>

Modified
dlib/matrix/matrix_mat.h

Revision: 790b6354c7599f79
Author: Davis King
Date: Mar 03, 2014 (13:29:00 UTC)

Clarified spec

Modified
dlib/lsh/projection_hash_abstract.h

Revision: 6743be629199edd6
Author: Davis King
Date: Mar 02, 2014 (06:59:31 UTC)

Fixed incorrect comment.

Modified
python_examples/train_object_detector.py

Revision: eaac72590759d8af
Author: Davis King
Date: Mar 02, 2014 (06:19:06 UTC)

Made the python object detection tools process color images in color instead of always converting to grayscale.

Modified
python_examples/train_object_detector.py
tools/python/src/object_detection.cpp
tools/python/src/simple_object_detector.h

Revision: fd9efb90a4dcbc09
Author: Davis King
Date: Mar 02, 2014 (06:08:20 UTC)

Improved error message.

Modified
tools/python/src/simple_object_detector.h

Revision: eeed7f146943000f
Author: Davis King
Date: Mar 01, 2014 (16:42:01 UTC)

Fixed name conflicts that prevented the python bindings from compiling in visual sudio 2013.

Modified
tools/python/src/other.cpp
tools/python/src/vector.cpp

Revision: e021eccfc243abe7
Author: Davis King
Date: Mar 01, 2014 (16:39:10 UTC)

Made the add_python_module cmake file look in more folders for boost when compiled on windows.

Modified
dlib/add_python_module

Revision: 3b8ded33af68a9a2
Author: Davis King
Date: Mar 01, 2014 (16:38:47 UTC)

Fixed warning on visual studio.

Modified
examples/learning_to_track_ex.cpp

Revision: 35b579be057b285e
Author: Davis King
Date: Feb 26, 2014 (16:05:39 UTC)

Made labeled_detection serializable.

Modified
dlib/svm/svm.h
dlib/svm/svm_abstract.h

Revision: 4e9671d3291517fd
Author: Davis King
Date: Feb 24, 2014 (13:18:34 UTC)

Lowered default stopping epsilon

Modified
dlib/svm/structural_assignment_trainer.h
dlib/svm/structural_assignment_trainer_abstract.h

Revision: 6d6f851c09457f1f
Author: Davis King
Date: Feb 23, 2014 (13:16:15 UTC)

fixed grammar

Modified
python_examples/train_object_detector.py

Revision: bc9088a566745d04
Author: Davis King
Date: Feb 23, 2014 (11:56:14 UTC)

Added python object detection examples

Modified
python_examples/face_detector.py
Added
python_examples/train_object_detector.py

Revision: 8dc2881c54453cce
Author: Davis King
Date: Feb 23, 2014 (11:18:04 UTC)

improved python docs

Modified
tools/python/src/object_detection.cpp

Revision: 6e7b912b65daa237
Author: Davis King
Date: Feb 23, 2014 (11:02:52 UTC)

Cleaned up the new python object detection interface a little.

Modified
tools/python/src/object_detection.cpp
tools/python/src/simple_object_detector.h
tools/python/src/simple_object_detector_abstract.h

Revision: d32a392c60cbdb96
Author: Davis King
Date: Feb 23, 2014 (10:24:22 UTC)

Gave the image_window the ability to display fhog object detectors.

Modified
tools/python/src/object_detection.cpp

Revision: 03362e8d37827399
Author: Davis King
Date: Feb 23, 2014 (09:39:59 UTC)

Added a simple python interface for training fhog object detectors.

Modified
tools/python/src/object_detection.cpp
Added
tools/python/src/simple_object_detector.h
tools/python/src/simple_object_detector_abstract.h

Revision: 7490a66fdde31bda
Author: Davis King
Date: Feb 23, 2014 (09:25:43 UTC)

Added another python utility. This one deserializes objects.

Modified
dlib/python/boost_python_utils.h

Revision: 134a1c2ad2e21689
Author: Davis King
Date: Feb 23, 2014 (07:24:54 UTC)

Made wrap_string() a little simpler to use.

Modified
dlib/string/string.h
dlib/string/string_abstract.h

Revision: 538c52b421247d12
Author: Davis King
Date: Feb 23, 2014 (05:21:53 UTC)

Clarified spec

Modified
dlib/image_processing/remove_unobtainable_rectangles_abstract.h

Revision: 62df9fd85f87a8ec
Author: Davis King
Date: Feb 22, 2014 (17:03:49 UTC)

Minor CLI cleanup

Modified
tools/mltool/src/main.cpp

Revision: b4d1536ac9db782a
Author: Davis King
Date: Feb 22, 2014 (17:00:07 UTC)

fixed grammar in comment

Modified
tools/imglab/CMakeLists.txt

Revision: c18fe76b86d62a7e
Author: Davis King
Date: Feb 22, 2014 (12:49:33 UTC)

Added more comments

Modified
examples/fhog_object_detector_ex.cpp

Revision: 1058ad4639bf4f2d
Author: Davis King
Date: Feb 22, 2014 (12:35:48 UTC)

Clarified spec

Modified
dlib/svm/sequence_segmenter_abstract.h

Revision: 1a50ca1bcd26d876
Author: Davis King
Date: Feb 22, 2014 (12:32:14 UTC)

Added comments to config.h about what other #defines you should set when building dlib as a shared library.

Modified
dlib/config.h

Revision: 23a6757db3ceb3c1
Author: Davis King
Date: Feb 22, 2014 (12:31:53 UTC)

Fixed cmake file so that the "use fftw" option actually causes the build to use fftw.

Modified
dlib/CMakeLists.txt

Revision: 264d89a4e3e0f186
Author: Davis King
Date: Feb 22, 2014 (12:31:25 UTC)

Fixed compile time error that triggered when trying to link with fftw

Modified
dlib/matrix/matrix_fft.h

Revision: 118d28d0bd1fa29d
Author: Davis King
Date: Feb 22, 2014 (11:47:31 UTC)

Added unit tests for the new learning-to-track stuff.

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

Revision: bd69ec891bd65919
Author: Davis King
Date: Feb 22, 2014 (11:08:34 UTC)

fixed more grammar

Modified
python_examples/max_cost_assignment.py
python_examples/sequence_segmenter.py
python_examples/svm_rank.py

Revision: 91c8ca830dcf56b5
Author: Davis King
Date: Feb 22, 2014 (11:07:17 UTC)

Fixing grammar in comments.

Modified
examples/bayes_net_ex.cpp
examples/bayes_net_from_disk_ex.cpp
examples/bayes_net_gui_ex.cpp
examples/bridge_ex.cpp
examples/config_reader_ex.cpp
examples/custom_trainer_ex.cpp
examples/empirical_kernel_map_ex.cpp
examples/fhog_ex.cpp
examples/fhog_object_detector_ex.cpp
examples/graph_labeling_ex.cpp
examples/gui_api_ex.cpp
examples/image_ex.cpp
examples/iosockstream_ex.cpp
examples/kcentroid_ex.cpp
examples/krls_ex.cpp
examples/krls_filter_ex.cpp
examples/krr_classification_ex.cpp
examples/krr_regression_ex.cpp
examples/least_squares_ex.cpp
examples/linear_manifold_regularizer_ex.cpp
examples/matrix_ex.cpp
examples/matrix_expressions_ex.cpp
examples/mlp_ex.cpp
examples/model_selection_ex.cpp
examples/multiclass_classification_ex.cpp
examples/object_detector_advanced_ex.cpp
examples/object_detector_ex.cpp
examples/one_class_classifiers_ex.cpp
examples/optimization_ex.cpp
examples/quantum_computing_ex.cpp
examples/rank_features_ex.cpp
examples/rvm_ex.cpp
examples/rvm_regression_ex.cpp
examples/sequence_segmenter_ex.cpp
examples/svm_ex.cpp
examples/svm_pegasos_ex.cpp
examples/svm_rank_ex.cpp
examples/svm_sparse_ex.cpp
examples/svm_struct_ex.cpp
examples/train_object_detector.cpp
examples/using_custom_kernels_ex.cpp

Revision: e3a0775331f2b620
Author: Davis King
Date: Feb 22, 2014 (10:52:28 UTC)

Fleshed out example program.

Modified
examples/learning_to_track_ex.cpp

Revision: 0954bea7c07b80fc
Author: Davis King
Date: Feb 22, 2014 (08:37:58 UTC)

clarified spec

Modified
dlib/svm/track_association_function_abstract.h

Revision: 758cbe6a8f790e36
Author: Davis King
Date: Feb 22, 2014 (08:06:41 UTC)

Made the track association testing functions smarter about how they evaluate the quality of a track association function.

Modified
dlib/svm/cross_validate_track_association_trainer.h

Revision: 68af39e89cfe3612
Author: Davis King
Date: Feb 22, 2014 (08:04:44 UTC)

Fixed a bug in randomize_samples(). It forced each element of the input arrays to move to a new position but was random amongst all permutations with such moves. However, this isn't really fully random so this function has been fixed so it does exactly what the spec says it should.

Modified
dlib/svm/svm.h

Revision: 6007664ca587ba14
Author: Davis King
Date: Feb 22, 2014 (08:03:14 UTC)

Made test a little more numerically robust.

Modified
dlib/test/one_vs_one_trainer.cpp

Revision: 0fc6f780c1937ec8
Author: Davis King
Date: Feb 20, 2014 (17:45:46 UTC)

added more comments

Modified
examples/assignment_learning_ex.cpp

Revision: b2b64bd7d4f4292b
Author: Davis King
Date: Feb 20, 2014 (17:39:48 UTC)

Added initial version of the learning to track example program.

Modified
examples/CMakeLists.txt
Added
examples/learning_to_track_ex.cpp

Revision: 328e286ac0586b2b
Author: Davis King
Date: Feb 20, 2014 (17:39:32 UTC)

Fixed compile time error.

Modified
dlib/svm/cross_validate_track_association_trainer.h

Revision: 0a50c59986c6e4f4
Author: Davis King
Date: Feb 20, 2014 (17:22:44 UTC)

Lowered the default stopping epsilon.

Modified
dlib/svm/structural_track_association_trainer.h
dlib/svm/structural_track_association_trainer_abstract.h

Revision: 51f83800e528ba82
Author: Davis King
Date: Feb 20, 2014 (17:14:42 UTC)

Just renamed variables and simplified a few things. No real changes.

Modified
dlib/svm/cross_validate_track_association_trainer.h
dlib/svm/cross_validate_track_association_trainer_abstract.h
dlib/svm/structural_track_association_trainer.h
dlib/svm/structural_track_association_trainer_abstract.h
dlib/svm/svm.h
dlib/svm/svm_abstract.h

Revision: ec9d52dc9eeb6bf1
Author: Davis King
Date: Feb 20, 2014 (16:13:41 UTC)

Added a bias term to the assignment_function's model so the user doesn't need to remember, or even understand, that they should add it themselves. However, this change breaks backwards compatibility with the previous serialization format for assignment_function objects.

Modified
dlib/svm/assignment_function.h
dlib/svm/assignment_function_abstract.h
dlib/svm/structural_assignment_trainer.h
dlib/svm/structural_svm_assignment_problem.h
dlib/svm/structural_svm_assignment_problem_abstract.h
dlib/test/assignment_learning.cpp

Revision: f0624b8d7930e5da
Author: Davis King
Date: Feb 20, 2014 (14:59:34 UTC)

Added a few more BLAS binding tests

Modified
dlib/test/blas_bindings/blas_bindings_dot.cpp

Revision: f3368c091b949665
Author: Davis King
Date: Feb 20, 2014 (14:40:17 UTC)

Added a guarantee that tracks won't be asked for their feature vector until they are updated at least once with a detection.

Modified
dlib/svm/structural_track_association_trainer.h
dlib/svm/track_association_function_abstract.h

Revision: 1fdf61ce3a91e0f7
Author: Davis King
Date: Feb 20, 2014 (14:11:42 UTC)

Clarified spec again

Modified
dlib/svm/track_association_function_abstract.h

Revision: 24e30faf48090284
Author: Davis King
Date: Feb 20, 2014 (13:45:29 UTC)

clarified spec

Modified
dlib/svm/track_association_function_abstract.h

Revision: 7293ae1deafaed3c
Author: Davis King
Date: Feb 19, 2014 (17:27:34 UTC)

Fleshed out the spec for the new track association stuff.

Modified
dlib/svm/cross_validate_track_association_trainer.h
dlib/svm/cross_validate_track_association_trainer_abstract.h
dlib/svm/structural_track_association_trainer.h
dlib/svm/structural_track_association_trainer_abstract.h
dlib/svm/track_association_function_abstract.h

Revision: e7b95a37c4ca6ab5
Author: Davis King
Date: Feb 17, 2014 (17:23:11 UTC)

Added initial version of the learning-to-track interface to the association learning tools. So this adds the track_association_function and structural_track_association_trainer objects and also test_track_association_function() and cross_validate_track_association_trainer() routines.

Modified
dlib/svm.h
dlib/svm_threaded.h
Added
dlib/svm/cross_validate_track_association_trainer.h
dlib/svm/cross_validate_track_association_trainer_abstract.h
dlib/svm/structural_track_association_trainer.h
dlib/svm/structural_track_association_trainer_abstract.h
dlib/svm/track_association_function.h
dlib/svm/track_association_function_abstract.h

Revision: 749b86459b9f0dd7
Author: Davis King
Date: Feb 17, 2014 (04:56:51 UTC)

clarified spec

Modified
dlib/mlp/mlp_kernel_abstract.h

Revision: 4661204c689cfbe1
Author: Davis King
Date: Feb 15, 2014 (15:11:04 UTC)

Added is_track_association_problem()

Modified
dlib/svm/svm.h
dlib/svm/svm_abstract.h

Revision: 61bf2b2ed4577756
Author: Davis King
Date: Feb 15, 2014 (08:03:38 UTC)

Simplified sum_filter_assign() interface.

Modified
dlib/image_transforms/spatial_filtering.h
dlib/image_transforms/spatial_filtering_abstract.h

Revision: 5b9fb4226505ad08
Author: Davis King
Date: Feb 14, 2014 (18:57:24 UTC)

Slightly changed #includes to avoid compiler error.

Modified
dlib/svm.h
dlib/svm_threaded.h

Revision: dfd8fed2ec7a964e
Author: Davis King
Date: Feb 13, 2014 (14:02:33 UTC)

Disabled use of XIM for X11 windowing since it makes programs hang on some systems. This means the wide character input methods won't work on X11 systems.

Modified
dlib/gui_core/gui_core_kernel_2.cpp

Revision: 56505c10b9970fde
Author: Davis King
Date: Feb 11, 2014 (15:23:21 UTC)

updated about

Modified
tools/imglab/src/metadata_editor.cpp

Revision: 60a8307633e261e9
Author: Davis King
Date: Feb 11, 2014 (15:22:15 UTC)

Made imglab halt at a convenient place when you are using ctrl+key up/down to auto label boxes. It will also auto-skip empty images when you hold ctrl.

Modified
tools/imglab/src/metadata_editor.cpp

Revision: 7441a5d04a3e92ab
Author: Davis King
Date: Feb 11, 2014 (15:19:57 UTC)

Made --stats print out info on unlabeled boxes.

Modified
tools/imglab/src/main.cpp

Revision: 76d8449fcd027cf3
Author: Davis King
Date: Feb 11, 2014 (14:03:08 UTC)

Gave imglab the ability to propagate rectangle labels between images.

Modified
tools/imglab/src/metadata_editor.cpp

Revision: 95958e857ebf763f
Author: Davis King
Date: Feb 11, 2014 (12:58:57 UTC)

clarified spec

Modified
dlib/gui_widgets/widgets_abstract.h

Revision: 1bc75d84164c336b
Author: Davis King
Date: Feb 10, 2014 (15:49:15 UTC)

Fixed weird rectangle highlighting behavior from previous commit.

Modified
dlib/gui_widgets/widgets.h

Revision: 37556c2377562b2c
Author: Davis King
Date: Feb 10, 2014 (15:40:24 UTC)

Updated version number and about string to say that you can now ctrl+left click to change the label for a rectangle.

Modified
tools/imglab/src/main.cpp
tools/imglab/src/metadata_editor.cpp

Revision: 6a020b87ee4cd65e
Author: Davis King
Date: Feb 10, 2014 (15:39:53 UTC)

Now you can ctrl+left click on a rectangle in the image_display to change its label.

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

Revision: 1cc259b408a9263e
Author: Davis King
Date: Feb 10, 2014 (15:28:52 UTC)

Fixed spelling errors in spec

Modified
dlib/timer/timer_abstract.h

Revision: 585c2a268b539612
Author: Davis King
Date: Feb 10, 2014 (14:24:15 UTC)

made test more robust

Modified
dlib/test/svm_multiclass_linear.cpp

Revision: e3545570e6e01182
Author: Davis King
Date: Feb 10, 2014 (13:31:52 UTC)

Added another #include to avoid a compile time error on Mac OS X 10.9.1 with gcc 4.8.

Modified
dlib/dir_nav/dir_nav_kernel_2.h

Revision: e4c102d2195635d5
Author: Lukas
Date: Feb 10, 2014 (15:19:46 UTC)

Prevent static assert for set_size on gradient in compute_nuclear_norm_parts()

Modified
dlib/svm/structural_svm_problem.h

Revision: 519fa9f7f776e591
Author: Davis King
Date: Feb 09, 2014 (16:26:42 UTC)

Added code to test the oca interface with a prior vector.

Modified
dlib/test/oca.cpp

Revision: 2cb71d1dbbf57f61
Author: Davis King
Date: Feb 09, 2014 (16:17:33 UTC)

The oca solver now supports taking a user supplied prior vector. That is, it lets you use a regularizer like ||w-prior||^2 instead of the usual ||w||^2 regularizer.

Modified
dlib/optimization/optimization_oca.h
dlib/optimization/optimization_oca_abstract.h

Revision: 041573d020004349
Author: Davis King
Date: Feb 09, 2014 (13:51:30 UTC)

Renamed one of the unit tests functions because it was often an auto-completion based on ctags, which is annoying.

Modified
dlib/test/svm.cpp

Revision: c8c2415f3fd8cd00
Author: Davis King
Date: Feb 09, 2014 (08:23:44 UTC)

Added face detection python example

Added
python_examples/face_detector.py

Revision: fd4a23c10b96951b
Author: Davis King
Date: Feb 09, 2014 (07:56:35 UTC)

Added a python interface to the fhog_object_detector and related tools.

Modified
tools/python/CMakeLists.txt
tools/python/src/dlib.cpp
Added
tools/python/src/object_detection.cpp

Revision: d99a47677ddea891
Author: Davis King
Date: Feb 09, 2014 (07:56:13 UTC)

Added tools for interfacing with python images.

Modified
dlib/python.h
Added
dlib/python/numpy_image.h

Revision: 1eb0b15b9d4c5a97
Author: Davis King
Date: Feb 09, 2014 (05:25:59 UTC)

A minor change to ensure the load() function can load objects like the cv_image.

Modified
dlib/image_processing/scan_fhog_pyramid.h

Revision: 4e6fb2fbfa351bd7
Author: Davis King
Date: Feb 08, 2014 (12:48:33 UTC)

Fixed compiler error in assert statement

Modified
dlib/geometry/rectangle.h

Revision: 2a8a350b79588531
Author: Davis King
Date: Feb 08, 2014 (12:46:35 UTC)

Clarified the spec for extract_image_chips() and also made it so the user can explicitly specify the dimensions of the extracted chips.

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

Revision: 9520bb111a7709f0
Author: Davis King
Date: Feb 08, 2014 (12:44:34 UTC)

Added tile_images()

Modified
dlib/image_transforms/draw.h
dlib/image_transforms/draw_abstract.h

Revision: 564c2ee863a5e29c
Author: Davis King
Date: Feb 08, 2014 (11:52:47 UTC)

Added set_aspect_ratio()

Modified
dlib/geometry/rectangle.h
dlib/geometry/rectangle_abstract.h

Revision: 0585aed1c27c4eee
Author: Davis King
Date: Feb 06, 2014 (18:03:35 UTC)

Added some functions for converting a numpy array into a pointer and its dimensions.

Added
dlib/python/numpy.h

Revision: 23ccf88244d576d9
Author: Davis King
Date: Feb 05, 2014 (13:16:11 UTC)

Fixed awkward wording

Modified
examples/fhog_object_detector_ex.cpp

Revision: 7d2f93198a744145
Author: Davis King
Date: Feb 03, 2014 (15:34:38 UTC)

Added code that will cause the user to get a linker error if they violate the one definition rule with inconsistent assert enabling.

Modified
dlib/threads/threads_kernel_shared.cpp
dlib/threads/threads_kernel_shared.h

Revision: 5ab454d77711d58c
Author: Davis King
Date: Feb 01, 2014 (11:19:11 UTC)

Gave pinv() an optional tolerance option.

Modified
dlib/matrix/matrix_la.h
dlib/matrix/matrix_la_abstract.h
dlib/test/matrix.cpp

Revision: 6abba8a446dde6a7
Author: Davis King
Date: Feb 01, 2014 (11:07:05 UTC)

Fixed typo in assert that prevented it from compiling

Modified
dlib/svm/kkmeans.h

Revision: 23712cb477b304be
Author: Davis King
Date: Feb 01, 2014 (11:06:37 UTC)

Fixed a compile time bug that happened with gcc when DEBUG was #defined but not ENABLE_ASSERTS.

Modified
dlib/image_transforms/interpolation.h

Revision: dc9456766f09cec8
Author: Davis King
Date: Jan 28, 2014 (16:27:21 UTC)

The stopping condition for the svr_linear_trainer was too tight when there were a lot of samples, causing it to take an excessive amount of time to converge in some cases. This fixes it.

Modified
dlib/svm/svr_linear_trainer.h
dlib/test/svr_linear_trainer.cpp

Revision: 34f5a02eb11a5d47
Author: Davis King
Date: Jan 27, 2014 (12:56:19 UTC)

Made the asserts that checks if the inputs to the optimization functions are column vectors always enabled since violating this is a common user error.

Modified
dlib/optimization/optimization.h

Revision: 124ec98152fc5f17
Author: Davis King
Date: Jan 26, 2014 (14:51:10 UTC)

Added another overload of extract_fhog_features(). This one returns the features as a column vector but by reference instead of by value.

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

Revision: 9da6ebf44f6e88b4
Author: Davis King
Date: Jan 26, 2014 (14:33:43 UTC)

Clarified spec

Modified
dlib/data_io/load_image_dataset_abstract.h

Revision: 756547958d1b74d2
Author: Davis King
Date: Jan 26, 2014 (14:24:39 UTC)

Added add_image_rotations() and also made add_image_left_right_flips() work with full_object_detection objects in addition to rectangles.

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

Revision: 91a44c594fc7d0bd
Author: Davis King
Date: Jan 26, 2014 (11:42:10 UTC)

Refactored the load_image_dataset() routines so they are easier to use and more flexible. This introduces a slight backwards incompatibility in that the version that loads full_object_detection objects now returns an ignore rectangle set instead of a parts name list. But other than that the changes are backwards compatible with previous version of dlib.

Modified
dlib/data_io/load_image_dataset.h
dlib/data_io/load_image_dataset_abstract.h

Revision: 62f2baa01d2fad29
Author: Davis King
Date: Jan 23, 2014 (17:17:09 UTC)

Added another constructor to object_detector that makes it easy to combine multiple detectors together.

Modified
dlib/image_processing/object_detector.h
dlib/image_processing/object_detector_abstract.h

Revision: e29e01120438f213
Author: Davis King
Date: Jan 19, 2014 (16:06:27 UTC)

Added a value_type typedef to the array object.

Modified
dlib/array/array_kernel.h
dlib/array/array_kernel_abstract.h

Revision: 6159d6e667d28bb2
Author: Davis King
Date: Jan 19, 2014 (10:45:05 UTC)

Minor code cleanup

Modified
dlib/data_io/load_image_dataset.h

Revision: b533669e21fc2004
Author: Davis King
Date: Jan 19, 2014 (07:40:54 UTC)

Added an overload of pick_initial_centers() that uses the linear kernel when no other kernel is specified by the user.

Modified
dlib/svm/kkmeans.h
dlib/svm/kkmeans_abstract.h

Revision: bdd5e8df2134f7a7
Author: Davis King
Date: Jan 19, 2014 (06:32:31 UTC)

Added nearest_center()

Modified
dlib/svm/kkmeans.h
dlib/svm/kkmeans_abstract.h

Revision: c648719ee557e1a3
Author: Davis King
Date: Jan 12, 2014 (09:15:19 UTC)

Clarified spec

Modified
dlib/image_transforms/interpolation_abstract.h

Revision: b8ab5b542788b04f
Author: Davis King
Date: Jan 12, 2014 (08:37:15 UTC)

Added an overload of extract_fhog_features() that returns a single column vector represented using a matrix.

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

Revision: 094cf692f8df3389
Author: Davis King
Date: Jan 12, 2014 (08:20:35 UTC)

Made dlib::array usable in C++11 range based for loops by adding begin() and end() methods.

Modified
dlib/array/array_kernel.h
dlib/array/array_kernel_abstract.h

Revision: 26acd113ed2c7896
Author: Davis King
Date: Jan 12, 2014 (05:15:46 UTC)

fixed grammar

Modified
examples/bsp_ex.cpp

Revision: fb385cd6a0168f86
Author: Davis King
Date: Jan 11, 2014 (17:40:43 UTC)

clarified examples

Modified
examples/face_detection_ex.cpp
examples/fhog_object_detector_ex.cpp

Revision: 52b9e4a41042242b
Author: Davis King
Date: Jan 11, 2014 (13:16:31 UTC)

Made the box overlap testing stuff a little more robust to differences in floating point behavior on different compilers. In particular, this change avoids having false "impossible truth box" exceptions being thrown when the object detection tools are used with the mingw gcc compiler.

Modified
dlib/image_processing/box_overlap_testing.h

Revision: e11233cc87df0fa3
Author: Davis King
Date: Jan 11, 2014 (12:46:00 UTC)

Fixed file load bug related to dealing with relative paths correctly. The bug prevented the load_image_dataset() routine from working on Windows systems in some cases.

Modified
dlib/data_io/load_image_dataset.h

Revision: 1aeace9f1948dace
Author: Davis King
Date: Jan 11, 2014 (12:14:15 UTC)

Changed cmake settings so it doesn't try to use the intel MKL when using mingw.

Modified
dlib/cmake_find_blas.txt

Revision: bb23a5b866f8b429
Author: Davis King
Date: Jan 11, 2014 (11:42:50 UTC)

Another minor change to avoid warnings from visual studio

Modified
dlib/test/graph_cuts.cpp

Revision: 8c5b3e283a30376b
Author: Davis King
Date: Jan 11, 2014 (10:58:24 UTC)

Added a cast to avoid a warning from visual studio 2013

Modified
dlib/graph_utils/edge_list_graphs.h

Revision: 0a101fb1782dd828
Author: Davis King
Date: Jan 11, 2014 (10:42:26 UTC)

normalized line endings so visual studio won't complain.

Modified
dlib/external/zlib/gzguts.h

Revision: c6a7ce6b04628bb9
Author: Davis King
Date: Jan 11, 2014 (09:52:28 UTC)

clarified example

Modified
examples/matrix_ex.cpp

Revision: 46402d1f8943bb9a
Author: Davis King
Date: Jan 11, 2014 (06:30:52 UTC)

clarified example

Modified
examples/fhog_object_detector_ex.cpp

Revision: 4690ca9c36444a19
Author: Davis King
Date: Jan 11, 2014 (05:40:39 UTC)

Clarified examples now that we have more object detectors in the library.

Modified
examples/object_detector_advanced_ex.cpp
examples/object_detector_ex.cpp

Revision: 522574cf87f8138b
Author: Davis King
Date: Jan 09, 2014 (18:23:04 UTC)

clarified example

Modified
examples/fhog_object_detector_ex.cpp

Revision: 131adf5f6cce6912
Author: Davis King
Date: Jan 09, 2014 (18:19:44 UTC)

improved example program documentation

Modified
examples/face_detection_ex.cpp
examples/fhog_object_detector_ex.cpp

Revision: a44f91155aac21b1
Author: Davis King
Date: Jan 09, 2014 (17:15:17 UTC)

Added a readme file to imglab that gives a little introduction

Added
tools/imglab/README.txt

Revision: 3f0e1523a682b84e
Author: Davis King
Date: Jan 06, 2014 (15:12:05 UTC)

Added a version of draw_rectangle() that can draw directly onto an array2d.

Modified
dlib/image_transforms/draw.h
dlib/image_transforms/draw_abstract.h

Revision: e288170ba90ad1db
Author: Davis King
Date: Jan 06, 2014 (14:38:47 UTC)

Fixed a typo

Modified
dlib/svm/structural_svm_problem.h

Revision: af64219c6a850af2
Author: Davis King
Date: Jan 05, 2014 (15:01:49 UTC)

Slightly improved example. Still needs a lot of work though.

Modified
examples/fhog_object_detector_ex.cpp

Revision: e3893db828598901
Author: Davis King
Date: Jan 05, 2014 (13:58:29 UTC)

Made the CMakeLists.txt file build dlib by compiling its individual .cpp files instead of compiling the all/source.cpp file since this results in smaller binaries in many cases and also sometimes improves compilation speed.

Modified
dlib/CMakeLists.txt

Revision: 6477bf8dec767f4c
Author: Davis King
Date: Jan 05, 2014 (13:45:08 UTC)

Fixed some #include problems so the library can be compiled by compiling its individual .cpp files instead of the single large all/source.cpp file.

Modified
dlib/sockets/sockets_extensions.cpp
dlib/threads/multithreaded_object_extension.cpp
dlib/threads/multithreaded_object_extension.h
dlib/threads/rsignaler_extension.h
dlib/threads/thread_pool_extension.h
dlib/tokenizer/tokenizer_kernel_1.cpp

Revision: 7e358ff614b1ba2d
Author: Davis King
Date: Jan 05, 2014 (12:57:39 UTC)

Made test a little more robust

Modified
dlib/test/optimization.cpp

Revision: 28d27038a07859db
Author: Davis King
Date: Jan 05, 2014 (12:11:56 UTC)

Made the stopping condition for the structural svm solver a little more robust.

Modified
dlib/svm/structural_svm_problem.h

Revision: 16ad689154ec11b6
Author: Davis King
Date: Jan 05, 2014 (08:53:21 UTC)

Added comments to this example program

Modified
examples/face_detection_ex.cpp

Revision: 51f8ea15b68ebca9
Author: Davis King
Date: Jan 05, 2014 (08:38:59 UTC)

Made the SIMD options work with the Intel compiler

Modified
dlib/cmake

Revision: cc63059d44e5cc7c
Author: Davis King
Date: Jan 04, 2014 (13:13:47 UTC)

Fixed a bug in the bigint object that caused division to sometimes produce incorrect results.

Modified
dlib/bigint/bigint_kernel_1.cpp
dlib/bigint/bigint_kernel_2.cpp
dlib/test/bigint.cpp

Revision: 56d881385b512f65
Author: Davis King
Date: Jan 04, 2014 (05:08:09 UTC)

suppressed more bogus warnings from gcc 4.8

Modified
dlib/matrix/matrix_assign_fwd.h

Revision: 17d50531cdca611d
Author: Davis King
Date: Jan 02, 2014 (16:14:48 UTC)

When using visual studio, made cmake only show the supported SSE options.

Modified
dlib/cmake

Revision: 3e23a6848980cb83
Author: Davis King
Date: Jan 02, 2014 (15:53:28 UTC)

Added face detection example program

Modified
examples/CMakeLists.txt
Added
examples/face_detection_ex.cpp

Revision: 8297d64a159d7168
Author: Davis King
Date: Jan 02, 2014 (14:57:59 UTC)

Suppressed some spurious warnings from gcc 4.8

Modified
dlib/matrix/matrix_data_layout.h
dlib/test/optimization_test_functions.h

Revision: 76e758554110ac0b
Author: Davis King
Date: Jan 02, 2014 (13:49:05 UTC)

Added comments about the source of the face images

Modified
examples/faces/testing.xml
examples/faces/training.xml

Revision: 3cbeb8ba0fa137b9
Author: Davis King
Date: Jan 02, 2014 (15:46:46 UTC)

Improved the automatic selction of different SIMD instructions sets in visual studio.

Modified
dlib/cmake
dlib/simd/simd_check.h

Revision: edf6b9e5b9c1e30f
Author: Davis King
Date: Jan 02, 2014 (13:40:19 UTC)

Added casts to avoid compiler warnings in visual studio 2013

Modified
dlib/external/libjpeg/jmemmgr.cpp

Revision: bce55e5f3283e026
Author: Davis King
Date: Jan 02, 2014 (07:28:45 UTC)

Made the cmake option for using SSE4 work with visual studio.

Modified
dlib/cmake

Revision: cd40276c677e2d08
Author: Davis King
Date: Jan 02, 2014 (07:10:00 UTC)

Made the default cmake settings enable SSE2 instructions when using Visual Studio.

Modified
dlib/cmake

Revision: 355f5dab11b8f8fd
Author: Davis King
Date: Jan 02, 2014 (07:01:03 UTC)

Added cmake options to easily turn SSE/AVX instructions on/off

Modified
dlib/cmake

Revision: 7d5b348b45f547cf
Author: Davis King
Date: Apr 22, 2013 (-01:47:10 UTC)

Relaxed tests slightly to avoid false alarms.

Modified
dlib/test/geometry.cpp

Revision: 0d729ef5d45ed288
Author: Davis King
Date: Jan 02, 2014 (04:41:53 UTC)

fixed grammar

Modified
dlib/svm/structural_object_detection_trainer_abstract.h

Revision: 790fb5e87d930bd6
Author: Davis King
Date: Jan 02, 2014 (04:32:39 UTC)

A minor change to avoid compiler warnings from gcc 4.1. It also makes the code slightly faster.

Modified
dlib/image_transforms/fhog.h

Revision: 6964496c6be9f368
Author: Davis King
Date: Jan 02, 2014 (04:22:10 UTC)

Changed SIMD #includes so they work on older versions of gcc

Modified
dlib/simd/simd_check.h

Revision: 376a21b80e0a0776
Author: Davis King
Date: Jan 01, 2014 (17:58:02 UTC)

updated specs

Modified
dlib/svm/structural_object_detection_trainer_abstract.h
dlib/svm/structural_svm_object_detection_problem_abstract.h

Revision: 18907b5101091d00
Author: Davis King
Date: Jan 01, 2014 (14:12:06 UTC)

Added skeleton of fhog object detection example.

Modified
examples/CMakeLists.txt
Added
examples/faces/2007_007763.jpg
examples/faces/2008_001009.jpg
examples/faces/2008_001322.jpg
examples/faces/2008_002079.jpg
examples/faces/2008_002470.jpg
examples/faces/2008_002506.jpg
examples/faces/2008_004176.jpg
examples/faces/2008_007676.jpg
examples/faces/2009_004587.jpg
examples/faces/image_metadata_stylesheet.xsl
examples/faces/testing.xml
examples/faces/training.xml
examples/fhog_object_detector_ex.cpp

Revision: 42ed57efdb6b4a42
Author: Davis King
Date: Jan 01, 2014 (10:45:34 UTC)

Changed the default stopping epsilon from 0.3 to 0.1.

Modified
dlib/svm/structural_object_detection_trainer.h
dlib/svm/structural_object_detection_trainer_abstract.h

Revision: 652a2e71a230e499
Author: Davis King
Date: Jan 01, 2014 (10:03:53 UTC)

Made the image_dataset_metadata::box constructable from a rectangle.

Modified
dlib/data_io/image_dataset_metadata.h

Revision: 53c33db106ab9ad2
Author: Davis King
Date: Jan 01, 2014 (09:14:53 UTC)

Made many of the mat() converters bind the resulting matrix expressions into the BLAS bindings.

Modified
dlib/matrix/matrix_assign.h
dlib/matrix/matrix_blas_bindings.h
dlib/test/blas_bindings/blas_bindings_dot.cpp
dlib/test/blas_bindings/blas_bindings_gemm.cpp

Revision: f0414b18588467d2
Author: Davis King
Date: Jan 01, 2014 (08:59:58 UTC)

Fixed compiler error due to missing )

Modified
dlib/image_transforms/interpolation.h

Revision: 7e0a326ee908cc72
Author: Davis King
Date: Jan 01, 2014 (07:11:43 UTC)

A minor change to avoid compiler errors when serializing mlp objects.

Modified
dlib/mlp/mlp_kernel_1.h

Revision: 22264a71556b9a59
Author: Davis King
Date: Dec 27, 2013 (12:29:40 UTC)

Made directory and file printable with operator <<

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: 642adc773d8be26d
Author: Davis King
Date: Dec 27, 2013 (09:05:39 UTC)

Added an angle field to image_dataset_metadata

Modified
dlib/data_io/image_dataset_metadata.cpp
dlib/data_io/image_dataset_metadata.h

Revision: 68ece4c13644f8bf
Author: Davis King
Date: Dec 27, 2013 (08:50:22 UTC)

Added extract_image_chips()

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

Revision: 057700fa78fa44ed
Author: Davis King
Date: Dec 27, 2013 (06:59:12 UTC)

Minor changes to avoid compiler warnings from gcc in some cases

Modified
dlib/assert.h
dlib/logger/logger_kernel_1.h
dlib/uintn.h

Revision: 9546792a96052e93
Author: Davis King
Date: Dec 27, 2013 (06:58:48 UTC)

Added std:: qualifiers to avoid compiler errors in some situations

Modified
dlib/bigint/bigint_kernel_2.cpp

Revision: b7a22dad21adb038
Author: Davis King
Date: Dec 25, 2013 (02:21:13 UTC)

A minor change to avoid compiler warnings from gcc

Modified
dlib/image_transforms/interpolation.h

Revision: dd0920ba0666bea8
Author: Davis King
Date: Dec 23, 2013 (11:25:46 UTC)

- Made flip_image_left_right() return a point_transform_affine object that describes the exact transformation used. - Fixed a bug in rotate_image(), it returned a point_transform_affine object that did the opposite of what the specification said it returns.

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

Revision: 44a9c6f12695f050
Author: Davis King
Date: Dec 11, 2013 (17:42:55 UTC)

Added an overload of overlaps_any_box() that uses a default test_box_overlap object.

Modified
dlib/image_processing/box_overlap_testing.h
dlib/image_processing/box_overlap_testing_abstract.h

Revision: d3b04fef18d755e4
Author: Davis King
Date: Dec 09, 2013 (16:11:09 UTC)

Added get_frontal_face_detector()

Added
dlib/image_processing/frontal_face_detector.h
dlib/image_processing/frontal_face_detector_abstract.h

Revision: c0981f323171b400
Author: Davis King
Date: Dec 08, 2013 (05:51:21 UTC)

Clarified spec

Modified
dlib/image_processing/scan_fhog_pyramid_abstract.h

Revision: b4f32d46f1f72789
Author: Davis King
Date: Dec 08, 2013 (05:50:13 UTC)

Changed requires clause slightly to increase usability.

Modified
dlib/image_processing/scan_fhog_pyramid.h
dlib/image_processing/scan_fhog_pyramid_abstract.h

Revision: 2acd4397daf7a69d
Author: Davis King
Date: Dec 08, 2013 (05:46:51 UTC)

Added threshold_filter_singular_values()

Modified
dlib/image_processing/scan_fhog_pyramid.h
dlib/image_processing/scan_fhog_pyramid_abstract.h

Revision: 7c66dc8bb487caa3
Author: Davis King
Date: Dec 07, 2013 (06:52:07 UTC)

Made the spatial filtering functions always center their filters over the output pixel exactly the same way as defined by centered_rect().

Modified
dlib/image_processing/scan_fhog_pyramid.h
dlib/image_transforms/spatial_filtering.h
dlib/image_transforms/spatial_filtering_abstract.h
dlib/test/image.cpp

Revision: abfdfa9bb75abcde
Author: Davis King
Date: Dec 06, 2013 (14:48:40 UTC)

fixed some typos

Modified
dlib/image_transforms/spatial_filtering_abstract.h

Revision: f307c7650a99c4a5
Author: Davis King
Date: Dec 05, 2013 (18:29:35 UTC)

Another minor thing to avoid warnings from visual studio.

Modified
dlib/external/zlib/gzguts.h

Revision: 4be08365aee0913f
Author: Davis King
Date: Dec 04, 2013 (16:07:18 UTC)

Added missing #include (needed only to avoid gcc warnings)

Modified
dlib/external/zlib/gzguts.h

Revision: de125919e39e6101
Author: Davis King
Date: Dec 04, 2013 (13:34:45 UTC)

Minor changes to avoid conflicts and warnings in visual studio.

Modified
dlib/external/libjpeg/jmorecfg.h
dlib/external/libpng/pngconf.h

Revision: cf090531e6f6ffaa
Author: Davis King
Date: Dec 04, 2013 (13:30:08 UTC)

Just removed some typedefs because they cause name conflicts in visual studio 2010. So I just replaced the uses of the typedef with the actual type.

Modified
dlib/external/libjpeg/jdapimin.cpp
dlib/external/libjpeg/jdapistd.cpp
dlib/external/libjpeg/jdatasrc.cpp
dlib/external/libjpeg/jdcoefct.cpp
dlib/external/libjpeg/jdcolor.cpp
dlib/external/libjpeg/jdct.h
dlib/external/libjpeg/jddctmgr.cpp
dlib/external/libjpeg/jdhuff.cpp
dlib/external/libjpeg/jdhuff.h
dlib/external/libjpeg/jdinput.cpp
dlib/external/libjpeg/jdmainct.cpp
dlib/external/libjpeg/jdmarker.cpp
dlib/external/libjpeg/jdmaster.cpp
dlib/external/libjpeg/jdmerge.cpp
dlib/external/libjpeg/jdphuff.cpp
dlib/external/libjpeg/jdpostct.cpp
dlib/external/libjpeg/jdsample.cpp
dlib/external/libjpeg/jerror.cpp
dlib/external/libjpeg/jidctflt.cpp
dlib/external/libjpeg/jidctfst.cpp
dlib/external/libjpeg/jidctint.cpp
dlib/external/libjpeg/jidctred.cpp
dlib/external/libjpeg/jmemmgr.cpp
dlib/external/libjpeg/jmorecfg.h
dlib/external/libjpeg/jpegint.h
dlib/external/libjpeg/jpeglib.h
dlib/external/libjpeg/jquant1.cpp
dlib/external/libjpeg/jquant2.cpp

Revision: 8a91f5e1038dd8e2
Author: Davis King
Date: Dec 03, 2013 (17:51:11 UTC)

Just removed unused variable names to avoid warnings from gcc.

Modified
dlib/external/libjpeg/jdatasrc.cpp
dlib/external/libjpeg/jdcoefct.cpp
dlib/external/libjpeg/jdcolor.cpp
dlib/external/libjpeg/jdmerge.cpp
dlib/external/libjpeg/jdpostct.cpp
dlib/external/libjpeg/jdsample.cpp
dlib/external/libjpeg/jmemnobs.cpp
dlib/external/libjpeg/jquant1.cpp
dlib/external/libjpeg/jquant2.cpp

Revision: 1bd04084d98c0c57
Author: Davis King
Date: Dec 03, 2013 (17:44:47 UTC)

Added a copy of libpng and zlib that will be statically compiled in if no dynamic version of these libraries are installed on the system.

Modified
dlib/CMakeLists.txt
Added
dlib/external/libpng/LICENSE
dlib/external/libpng/README
dlib/external/libpng/png.c
dlib/external/libpng/png.h
dlib/external/libpng/pngconf.h
dlib/external/libpng/pngdebug.h
dlib/external/libpng/pngerror.c
dlib/external/libpng/pngget.c
dlib/external/libpng/pnginfo.h
dlib/external/libpng/pnglibconf.h
dlib/external/libpng/pngmem.c
dlib/external/libpng/pngpread.c
dlib/external/libpng/pngpriv.h
dlib/external/libpng/pngread.c
dlib/external/libpng/pngrio.c
dlib/external/libpng/pngrtran.c
dlib/external/libpng/pngrutil.c
dlib/external/libpng/pngset.c
dlib/external/libpng/pngstruct.h
dlib/external/libpng/pngtrans.c
dlib/external/libpng/pngwio.c
dlib/external/libpng/pngwrite.c
dlib/external/libpng/pngwtran.c
dlib/external/libpng/pngwutil.c
dlib/external/zlib/README
dlib/external/zlib/adler32.c
dlib/external/zlib/compress.c
dlib/external/zlib/crc32.c
dlib/external/zlib/crc32.h
dlib/external/zlib/deflate.c
dlib/external/zlib/deflate.h
dlib/external/zlib/gzclose.c
dlib/external/zlib/gzguts.h
dlib/external/zlib/gzlib.c
dlib/external/zlib/gzread.c
dlib/external/zlib/gzwrite.c
dlib/external/zlib/infback.c
dlib/external/zlib/inffast.c
dlib/external/zlib/inffast.h
dlib/external/zlib/inffixed.h
dlib/external/zlib/inflate.c
dlib/external/zlib/inflate.h
dlib/external/zlib/inftrees.c
dlib/external/zlib/inftrees.h
dlib/external/zlib/trees.c
dlib/external/zlib/trees.h
dlib/external/zlib/uncompr.c
dlib/external/zlib/zconf.h
dlib/external/zlib/zlib.h
dlib/external/zlib/zutil.c
dlib/external/zlib/zutil.h

Revision: 802eac3ab3b982d6
Author: Davis King
Date: Dec 03, 2013 (17:24:14 UTC)

Added a copy of libjpeg so that it can be statically compiled in when cmake can't find a copy to dynamically link to. This is especially useful on windows where cmake never finds libjpeg.

Modified
dlib/CMakeLists.txt
Added
dlib/external/libjpeg/README
dlib/external/libjpeg/jcomapi.cpp
dlib/external/libjpeg/jconfig.h
dlib/external/libjpeg/jdapimin.cpp
dlib/external/libjpeg/jdapistd.cpp
dlib/external/libjpeg/jdatasrc.cpp
dlib/external/libjpeg/jdcoefct.cpp
dlib/external/libjpeg/jdcolor.cpp
dlib/external/libjpeg/jdct.h
dlib/external/libjpeg/jddctmgr.cpp
dlib/external/libjpeg/jdhuff.cpp
dlib/external/libjpeg/jdhuff.h
dlib/external/libjpeg/jdinput.cpp
dlib/external/libjpeg/jdmainct.cpp
dlib/external/libjpeg/jdmarker.cpp
dlib/external/libjpeg/jdmaster.cpp
dlib/external/libjpeg/jdmerge.cpp
dlib/external/libjpeg/jdphuff.cpp
dlib/external/libjpeg/jdpostct.cpp
dlib/external/libjpeg/jdsample.cpp
dlib/external/libjpeg/jerror.cpp
dlib/external/libjpeg/jerror.h
dlib/external/libjpeg/jidctflt.cpp
dlib/external/libjpeg/jidctfst.cpp
dlib/external/libjpeg/jidctint.cpp
dlib/external/libjpeg/jidctred.cpp
dlib/external/libjpeg/jinclude.h
dlib/external/libjpeg/jmemmgr.cpp
dlib/external/libjpeg/jmemnobs.cpp
dlib/external/libjpeg/jmemsys.h
dlib/external/libjpeg/jmorecfg.h
dlib/external/libjpeg/jpegint.h
dlib/external/libjpeg/jpeglib.h
dlib/external/libjpeg/jquant1.cpp
dlib/external/libjpeg/jquant2.cpp
dlib/external/libjpeg/jutils.cpp
dlib/external/libjpeg/jversion.h

Revision: cf6ab8b9d7ea23bf
Author: Davis King
Date: Dec 01, 2013 (12:17:50 UTC)

Made the SIMD code automatically pick which kind of instructions to use when compiled in visual studio based on the setting of the /arch compiler option.

Modified
dlib/simd/simd_check.h

Revision: e8d055fae5a42554
Author: Davis King
Date: Dec 01, 2013 (11:27:14 UTC)

Made all the simd functions explicitly inline because otherwise visual studio 2010 won't inline them.

Modified
dlib/simd/simd4f.h
dlib/simd/simd4i.h
dlib/simd/simd8f.h
dlib/simd/simd8i.h

Revision: d739b9efb795d6b8
Author: Davis King
Date: Dec 01, 2013 (10:55:48 UTC)

Added convenience overloads of pyramid_up() that work in place.

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

Revision: 39d2054775c8e50d
Author: Davis King
Date: Dec 01, 2013 (10:15:14 UTC)

Added flip_image_dataset_left_right(), upsample_image_dataset(), and rotate_image_dataset().

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

Revision: d952f60f061f0cd6
Author: davis
Date: Dec 01, 2013 (08:52:50 UTC)

Some minor changes to avoid compiler errors in cygwin.

Modified
dlib/float_details.h
dlib/statistics/vector_normalizer_frobmetric.h

Revision: c16fe5af00b43869
Author: Davis King
Date: Nov 29, 2013 (17:35:52 UTC)

Added --flip to imglab

Modified
tools/imglab/src/main.cpp

Revision: 5693377797e3a920
Author: Davis King
Date: Nov 29, 2013 (17:35:28 UTC)

Made directory implicitly convertible to string.

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: 34d504b3403f1101
Author: Davis King
Date: Nov 29, 2013 (13:21:52 UTC)

Made dlib::file implicitly convertible to std::string.

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: f4b522a41b7c9d46
Author: Davis King
Date: Nov 29, 2013 (12:05:38 UTC)

Updated find_max_factor_graph_nmplp() to use the version of the algorithm from the 2011 paper Introduction to dual decomposition for inference by David Sontag, Amir Globerson, and Tommi Jaakkola since the original 2008 paper had an error in the algorithm that negatively effected its convergence. Thanks to James Gunning for pointing this out.

Modified
dlib/optimization/find_max_factor_graph_nmplp.h
dlib/optimization/find_max_factor_graph_nmplp_abstract.h
dlib/test/find_max_factor_graph_nmplp.cpp

Revision: 753fba352b003cac
Author: Davis King
Date: Nov 28, 2013 (-03:51:00 UTC)

Minor changes to avoid compiler errors in visual studio 2013

Modified
dlib/binary_search_tree/binary_search_tree_kernel_c.h
dlib/hash_table/hash_table_kernel_c.h
dlib/map/map_kernel_c.h
dlib/test/geometry.cpp
dlib/test/matrix3.cpp

Revision: 3bcc64a88e3572a7
Author: Davis King
Date: Nov 23, 2013 (15:07:13 UTC)

Fixed a bug in the average precision calculation when ignore boxes were used.

Modified
dlib/svm/cross_validate_object_detection_trainer.h

Revision: e4e514dd2364aa39
Author: Davis King
Date: Nov 23, 2013 (14:55:44 UTC)

Simplified code slightly.

Modified
dlib/svm/structural_svm_object_detection_problem.h

Revision: 466758af9f28e0e1
Author: Davis King
Date: Nov 23, 2013 (14:34:04 UTC)

Made num_separable_filters() work with multi-filter object detectors.

Modified
dlib/image_processing/scan_fhog_pyramid.h
dlib/image_processing/scan_fhog_pyramid_abstract.h

Revision: 3374e51835de3312
Author: Davis King
Date: Nov 23, 2013 (10:48:02 UTC)

Slightly changed code to reduce the number of memory allocations made during object detection.

Modified
dlib/image_processing/scan_fhog_pyramid.h

Revision: 673411884e727e19
Author: Davis King
Date: Nov 23, 2013 (10:47:32 UTC)

Added float_spatially_filter_image_separable() to the public API.

Modified
dlib/image_transforms/spatial_filtering.h
dlib/image_transforms/spatial_filtering_abstract.h

Revision: eb788258b9e114c9
Author: Davis King
Date: Nov 23, 2013 (09:20:47 UTC)

Added support for ignore rectangles into the object detection testing functions. I also changed the interfaces to these functions slightly. Instead of taking a double that determines how we decide if boxes match, they now take a test_box_overlap object.

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

Revision: 37aee00946645335
Author: Davis King
Date: Nov 23, 2013 (06:49:45 UTC)

Set a default value for the second argument of test_box_overlap's constructor. Also added overlaps_any_box().

Modified
dlib/image_processing/box_overlap_testing.h
dlib/image_processing/box_overlap_testing_abstract.h

Revision: 047db3b92a03e8c4
Author: Davis King
Date: Nov 22, 2013 (15:07:12 UTC)

Changed the default parameters of the test_box_overlap object. Now it defaults to using exactly the PASCAL VOC match criterion.

Modified
dlib/image_processing/box_overlap_testing.h
dlib/image_processing/box_overlap_testing_abstract.h

Revision: b1bcc86f42106970
Author: Davis King
Date: Nov 22, 2013 (14:05:52 UTC)

A minor change to avoid compiler warnings.

Modified
dlib/image_processing/scan_fhog_pyramid.h
dlib/image_processing/scan_fhog_pyramid_abstract.h

Revision: 125a6942d97a25d5
Author: Davis King
Date: Nov 22, 2013 (13:45:06 UTC)

Updated about window text for imglab.

Modified
tools/imglab/src/metadata_editor.cpp

Revision: dfe4192fef912d82
Author: Davis King
Date: Nov 21, 2013 (18:20:23 UTC)

Added an overload of add_image_left_right_flips() that can take two sets of rectangles instead of just one.

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

Revision: ff3d22c6fbd67f7e
Author: Davis King
Date: Nov 21, 2013 (18:14:18 UTC)

Added the option to tell the optimizer there are "ignorable" rectangles in each image.

Modified
dlib/svm/structural_object_detection_trainer.h
dlib/svm/structural_object_detection_trainer_abstract.h
dlib/svm/structural_svm_object_detection_problem.h
dlib/svm/structural_svm_object_detection_problem_abstract.h

Revision: dce9ad48d6cf341b
Author: Davis King
Date: Nov 21, 2013 (17:15:36 UTC)

Upgraded load_image_dataset() so that it returns the list of ignored rectangles.

Modified
dlib/data_io/load_image_dataset.h
dlib/data_io/load_image_dataset_abstract.h

Revision: 80c7c5f55243174e
Author: Davis King
Date: Nov 21, 2013 (15:40:12 UTC)

Updated imglab so it loads and stores the new ignore option from the gui to/from the xml files.

Modified
tools/imglab/src/metadata_editor.cpp

Revision: 835fcc620b85cbc4
Author: Davis King
Date: Nov 21, 2013 (15:39:12 UTC)

Added an ignore option to the image dataset metadata file format.

Modified
dlib/data_io/image_dataset_metadata.cpp
dlib/data_io/image_dataset_metadata.h

Revision: 74510960ba9426b0
Author: Davis King
Date: Nov 21, 2013 (15:38:45 UTC)

Added the option to draw crossed out rectangles onto the image_display widget.

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

Revision: c806d21d0d8a121c
Author: Davis King
Date: Nov 21, 2013 (14:45:17 UTC)

Made the multiclass SVM work with label types other than basic integers and floats.

Modified
dlib/svm/svm_multiclass_linear_trainer.h

Revision: fe3d1dd6e6f4370f
Author: Davis King
Date: Nov 20, 2013 (15:29:26 UTC)

Upgraded the object_detector. Now it can store multiple weight vectors and hence multiple object detectors.

Modified
dlib/image_processing/object_detector.h
dlib/image_processing/object_detector_abstract.h
dlib/image_processing/scan_fhog_pyramid.h
dlib/image_processing/scan_fhog_pyramid_abstract.h

Revision: f1ad98b50ace5c07
Author: Davis King
Date: Nov 19, 2013 (18:57:41 UTC)

Fixed off by one bug in resize_image()

Modified
dlib/image_transforms/interpolation.h

Revision: 854ac31108d2451c
Author: Davis King
Date: Nov 18, 2013 (16:39:58 UTC)

removed cruft

Modified
dlib/image_transforms/spatial_filtering.h

Revision: 3fee313bfd99746d
Author: Davis King
Date: Nov 18, 2013 (16:05:40 UTC)

Changed code a bit so that the scan_fhog_pyramid can avoid constructing the fhog_filterbank each time the detector executes.

Modified
dlib/image_processing/object_detector.h
dlib/image_processing/scan_fhog_pyramid.h

Revision: 46403b72c2ef7a4e
Author: Davis King
Date: Nov 17, 2013 (16:21:08 UTC)

Fixed #include

Modified
dlib/test/data_io.cpp

Revision: ea5f4599078d46a0
Author: Davis King
Date: Nov 17, 2013 (15:26:37 UTC)

fixed #include

Modified
examples/custom_trainer_ex.cpp

Revision: e422fcff21e6af11
Author: Davis King
Date: Nov 17, 2013 (14:29:10 UTC)

merged

Modified
dlib/image_processing/scan_fhog_pyramid.h

Revision: 20ed62023f34056d
Author: Davis King
Date: Nov 17, 2013 (09:45:52 UTC)

Made the test for using the separable vs. non-separable filters scale with the size of the filters being applied.

Modified
dlib/image_processing/scan_fhog_pyramid.h

Revision: 8ffdbf85faa3b7b7
Author: Davis King
Date: Nov 17, 2013 (14:18:52 UTC)

Fixed broken #include

Modified
examples/multiclass_classification_ex.cpp

Revision: 92d6e0f6416a385a
Author: Davis King
Date: Nov 17, 2013 (14:14:35 UTC)

Made the one_vs_one_trainer and one_vs_all_trainer objects multithreaded so they can run each binary trainer on a different core.

Modified
dlib/svm.h
dlib/svm/cross_validate_multiclass_trainer.h
dlib/svm/one_vs_all_trainer.h
dlib/svm/one_vs_all_trainer_abstract.h
dlib/svm/one_vs_one_trainer.h
dlib/svm/one_vs_one_trainer_abstract.h
dlib/svm_threaded.h
dlib/test/one_vs_all_trainer.cpp
dlib/test/one_vs_one_trainer.cpp

Revision: 3cafc38fce97d2ff
Author: Davis King
Date: Nov 17, 2013 (14:01:27 UTC)

Made the probabilistic trainer adapter not hold onto the input trainer by reference since this causes problems if the probabilistic adapter is saved for later use. Now it will simply hold the trainer by value.

Modified
dlib/svm/svm.h

Revision: 3dbbc74215801369
Author: Davis King
Date: Nov 17, 2013 (11:25:34 UTC)

Added the option to learn non-negative weights to the svm_multiclass_linear_trainer.

Modified
dlib/svm/svm_multiclass_linear_trainer.h
dlib/svm/svm_multiclass_linear_trainer_abstract.h

Revision: b082dbad9e9e420b
Author: Davis King
Date: Nov 17, 2013 (10:58:32 UTC)

Made the svm_multiclass_linear_trainer threaded. This also means you have to #include dlib/svm_threaded.h instead of dlib/svm.h to get it now.

Modified
dlib/svm.h
dlib/svm/svm_multiclass_linear_trainer.h
dlib/svm/svm_multiclass_linear_trainer_abstract.h
dlib/svm_threaded.h
dlib/test/svm_multiclass_linear.cpp
dlib/test/svm_struct.cpp

Revision: 37f52384215c65d8
Author: Davis King
Date: Nov 17, 2013 (10:05:41 UTC)

Made the matrix sub expression operators work with any kind of integer ranges rather than just long ranges.

Modified
dlib/matrix/matrix_subexp.h
dlib/matrix/matrix_subexp_abstract.h

Revision: 569326e944e34830
Author: Davis King
Date: Nov 17, 2013 (09:14:26 UTC)

Added missing asserts

Modified
dlib/image_processing/scan_fhog_pyramid.h
dlib/image_processing/scan_fhog_pyramid_abstract.h

Revision: 8ad4f3738002d5dd
Author: Davis King
Date: Nov 17, 2013 (09:01:47 UTC)

Added unit tests for new scan_fhog_pyramid object.

Modified
dlib/test/object_detector.cpp

Revision: e55497b70d0fbe0d
Author: Davis King
Date: Nov 17, 2013 (08:47:26 UTC)

Added code showing how to get the individual decision functions out of a multiclass decision function object.

Modified
examples/multiclass_classification_ex.cpp

Revision: a89499ffc36cfed5
Author: Davis King
Date: Nov 17, 2013 (08:29:52 UTC)

Added unit tests for new inv() functions for the point transformation objects.

Modified
dlib/test/geometry.cpp

Revision: a4becdefec1e9c7a
Author: Davis King
Date: Nov 17, 2013 (08:24:00 UTC)

Added sign() for matrix objects.

Modified
dlib/matrix/matrix_math_functions.h
dlib/matrix/matrix_math_functions_abstract.h
dlib/test/matrix3.cpp

Revision: 611278303346fa54
Author: Davis King
Date: Nov 17, 2013 (07:42:41 UTC)

Clarified matrix usage in the examples

Modified
examples/matrix_ex.cpp
examples/matrix_expressions_ex.cpp

Revision: 76b7d8966408e8d9
Author: Davis King
Date: Nov 16, 2013 (11:28:13 UTC)

Added the --add option to the imglab tool.

Modified
tools/imglab/src/main.cpp

Revision: 28866d35ba87eb59
Author: Davis King
Date: Nov 16, 2013 (04:15:52 UTC)

Fixed grammar/confusing sentence.

Modified
examples/multiclass_classification_ex.cpp

Revision: bb6fb7cb8a201866
Author: Davis King
Date: Nov 15, 2013 (15:18:10 UTC)

relaxed PSI consistency test again.

Modified
dlib/svm/structural_svm_object_detection_problem.h

Revision: 3c72f2eadd2ca537
Author: Davis King
Date: Nov 15, 2013 (15:17:57 UTC)

Slightly simplified the code

Modified
dlib/image_processing/scan_fhog_pyramid.h

Revision: 1f29be600a603277
Author: Davis King
Date: Nov 13, 2013 (14:52:40 UTC)

Made rotate_image() return a transformation object that defines the point mapping between the input and output images.

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

Revision: e47932abd62d25f1
Author: Davis King
Date: Nov 13, 2013 (14:50:15 UTC)

Added inv() that invert point transformation functions.

Modified
dlib/geometry/point_transforms.h
dlib/geometry/point_transforms_abstract.h

Revision: f413e75ae8f20989
Author: Davis King
Date: Nov 13, 2013 (13:50:47 UTC)

Fixed a compile time bug that could occur when wide character strings were serialized.

Modified
dlib/serialize.h

Revision: 3c8e75d87a7b2c68
Author: Davis King
Date: Nov 11, 2013 (16:20:09 UTC)

Increased the threshold for using separable filters.

Modified
dlib/image_processing/scan_fhog_pyramid.h

Revision: 8178aac7ba158515
Author: Davis King
Date: Nov 11, 2013 (14:08:28 UTC)

Made remove_unobtainable_rectangles() work on scan_fhog_pyramid.

Modified
dlib/image_processing/remove_unobtainable_rectangles.h

Revision: e6020d571a61663f
Author: Davis King
Date: Nov 11, 2013 (12:48:48 UTC)

Added missing requires clause to function.

Modified
dlib/image_processing/scan_fhog_pyramid_abstract.h

Revision: a12b352646c59050
Author: Davis King
Date: Nov 11, 2013 (12:46:50 UTC)

clarified spec

Modified
dlib/image_processing/scan_fhog_pyramid_abstract.h

Revision: ebd19ff9c9bcf98c
Author: Davis King
Date: Nov 11, 2013 (12:35:00 UTC)

Added scan_fhog_pyramid.

Modified
dlib/image_processing.h
Added
dlib/image_processing/scan_fhog_pyramid.h
dlib/image_processing/scan_fhog_pyramid_abstract.h

Revision: 0e88dd12611af98b
Author: Davis King
Date: Nov 11, 2013 (-05:36:26 UTC)

More stuff to avoid compiler errors in clang

Modified
dlib/simd/simd4f.h
dlib/simd/simd8f.h

Revision: 846e9a7dd79abb57
Author: Davis King
Date: Nov 11, 2013 (-05:30:25 UTC)

Minor change to avoid compiler error in clang

Modified
dlib/simd/simd4f.h

Revision: 48cf5d52a701a93e
Author: Davis King
Date: Nov 11, 2013 (-05:08:17 UTC)

A minor change to avoid a compiler error in visual studio 2005

Modified
dlib/simd/simd4f.h

Revision: ad5c53b02c45954f
Author: Davis King
Date: Nov 10, 2013 (18:49:42 UTC)

Sped up the image filtering functions by switching them to use AVX instructions when available.

Modified
dlib/image_transforms/spatial_filtering.h

Revision: 684578fa05efc01d
Author: Davis King
Date: Nov 10, 2013 (18:48:58 UTC)

Fleshed out the AVX SIMD support

Modified
dlib/simd.h
dlib/simd/simd8f.h
dlib/simd/simd_check.h
Added
dlib/simd/simd8i.h

Revision: b6ca9c0d7232d9ca
Author: Davis King
Date: Nov 10, 2013 (17:03:26 UTC)

Fixed bug in simd4i operator>>

Modified
dlib/simd/simd4i.h

Revision: 4a42dc0106f8fe75
Author: Davis King
Date: Nov 10, 2013 (16:21:57 UTC)

A minor change to avoid a compiler error when not using SSE instructions.

Modified
dlib/simd/simd4f.h
dlib/simd/simd4i.h

Revision: 464a8f77a4581063
Author: Davis King
Date: Nov 10, 2013 (15:52:26 UTC)

Made extract_fhog_features() and resize_image() a little faster.

Modified
dlib/image_transforms/fhog.h
dlib/image_transforms/interpolation.h

Revision: b1f618eb6a95fff6
Author: Davis King
Date: Nov 10, 2013 (15:47:32 UTC)

Fixed SSE detection macros to work properly with -msse3

Modified
dlib/simd/simd_check.h

Revision: 16424fc0167d7fab
Author: Davis King
Date: Nov 10, 2013 (09:00:35 UTC)

Made extract_fhog_features() a little faster by adding more SIMD instructions.

Modified
dlib/image_transforms/fhog.h

Revision: 12b7564fe17c62d7
Author: Davis King
Date: Nov 10, 2013 (08:24:27 UTC)

Made spatially_filter_image_separable() a little bit faster.

Modified
dlib/image_transforms/spatial_filtering.h
dlib/test/image.cpp

Revision: 5004671351d7f87f
Author: Davis King
Date: Nov 10, 2013 (07:29:02 UTC)

Made spatially_filter_image() use SIMD instructions when filtering float data.

Modified
dlib/image_transforms/spatial_filtering.h
dlib/image_transforms/spatial_filtering_abstract.h

Revision: d68a84401cd786d7
Author: Davis King
Date: Nov 10, 2013 (06:48:22 UTC)

Made spatially_filter_image_separable() use SIMD instructions when filtering float data.

Modified
dlib/image_transforms/spatial_filtering.h
dlib/image_transforms/spatial_filtering_abstract.h

Revision: 509f0a98b94a8135
Author: Davis King
Date: Nov 08, 2013 (17:46:41 UTC)

Increased the speed of resize_image() and the image pyramid functions by making them use SIMD instructions. Also changed the default interpolation method for pyramid_up to bilinear interpolation and removed the levels option.

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

Revision: d79fdd4342c2c315
Author: Davis King
Date: Nov 08, 2013 (17:17:45 UTC)

Added conversions from simd4f to simd4i.

Modified
dlib/simd/simd4f.h

Revision: a47df84716512726
Author: Davis King
Date: Nov 08, 2013 (13:08:34 UTC)

fixed incorrect #include

Modified
dlib/simd/simd4i.h

Revision: f9e752052829e3ff
Author: Davis King
Date: Nov 07, 2013 (16:42:23 UTC)

Fixed the distributed version of the structural svm solver to work with the recent changes to the core solver. Also added support for the nuclear norm regularization and cache refinement options.

Modified
dlib/svm/structural_svm_distributed.h
dlib/svm/structural_svm_distributed_abstract.h
dlib/svm/structural_svm_problem.h

Revision: 01736a96b2fc0b7b
Author: Davis King
Date: Nov 06, 2013 (18:03:49 UTC)

updated fhog unit tests

Modified
dlib/test/fhog.cpp

Revision: 32c3a77e65d34fb7
Author: Davis King
Date: Nov 06, 2013 (17:39:45 UTC)

Made extract_fhog_features() faster by using simd instructions. Also added an option to zero pad the borders of the output to it's easier to filter.

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

Revision: 4a0a85f0836cc5b6
Author: Davis King
Date: Nov 05, 2013 (17:42:25 UTC)

Fixed the new cache based epsilon feature so it actually prevents any calls to the separation oracle once the cache based refinement starts.

Modified
dlib/svm/structural_svm_problem.h

Revision: b999bdbbcea699dd
Author: Davis King
Date: Nov 05, 2013 (15:14:52 UTC)

Added initial version of simd objects.

Added
dlib/simd.h
dlib/simd/simd4f.h
dlib/simd/simd4i.h
dlib/simd/simd8f.h
dlib/simd/simd_check.h

Revision: 68d04a140d5976fd
Author: Davis King
Date: Nov 05, 2013 (14:53:55 UTC)

Added more filtering unit tests

Modified
dlib/test/image.cpp

Revision: 1a657b30b31b40ae
Author: Davis King
Date: Nov 05, 2013 (13:31:29 UTC)

Added missing #include to example

Modified
examples/one_class_classifiers_ex.cpp

Revision: 9d8d29301d711177
Author: Davis King
Date: Nov 05, 2013 (13:10:30 UTC)

Fixed a bug I just introduced which caused the filtering functions to not filter the entire image. Also added a bunch of unit tests to cover the new behavior of the filtering functions.

Modified
dlib/image_transforms/spatial_filtering.h
dlib/test/image.cpp

Revision: 65435f6765481140
Author: Davis King
Date: Nov 05, 2013 (12:41:58 UTC)

Upgraded spatial filtering routines to work with even sized filters.

Modified
dlib/image_transforms/spatial_filtering.h
dlib/image_transforms/spatial_filtering_abstract.h

Revision: 07d59e797a5869fc
Author: Davis King
Date: Nov 05, 2013 (12:37:23 UTC)

Added tests for new zero_border_pixels() overload.

Modified
dlib/test/image.cpp

Revision: 6eb7e0fa64543fe2
Author: Davis King
Date: Nov 05, 2013 (12:30:40 UTC)

Added an overload of zero_border_pixels() that lets you give a rectangle as input to define the non-border area.

Modified
dlib/image_transforms/assign_image.h
dlib/image_transforms/assign_image_abstract.h

Revision: 3659c1aa416b2cbc
Author: Davis King
Date: Nov 02, 2013 (14:44:10 UTC)

Added std:: to some functions to avoid potential ambiguity.

Modified
dlib/pixel.h

Revision: e5f7ebe329a7dd59
Author: Davis King
Date: Nov 02, 2013 (12:56:42 UTC)

Changed #includes to avoid unnecessary recompilation.

Modified
dlib/gui_widgets/base_widgets.h
dlib/gui_widgets/canvas_drawing.h

Revision: 743ac007f055c8d0
Author: Davis King
Date: Nov 01, 2013 (16:19:50 UTC)

Added utility function that can be overloaded by image scanners that want to use nuclear norm regularization in their parameter estimation.

Modified
dlib/svm/structural_object_detection_trainer.h

Revision: fcaae935b9f4d73f
Author: Davis King
Date: Nov 01, 2013 (16:14:51 UTC)

Added a nuclear norm regularization option to the structural svm solver.

Modified
dlib/svm/structural_svm_problem.h
dlib/svm/structural_svm_problem_abstract.h

Revision: 97d7c05f8bd84ecd
Author: Davis King
Date: Nov 01, 2013 (13:37:21 UTC)

Clarified spec

Modified
dlib/svm/structural_svm_problem_abstract.h

Revision: bb20613b9fa25eca
Author: Davis King
Date: Nov 01, 2013 (13:31:13 UTC)

Added another draw_fhog() overload.

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

Revision: 039207d5aa7c3a0c
Author: Davis King
Date: Oct 31, 2013 (19:28:44 UTC)

More tweaks to fhog feature extraction that makes it a bit faster.

Modified
dlib/image_transforms/fhog.h

Revision: b3c61d2a41f60a00
Author: Davis King
Date: Oct 31, 2013 (19:00:07 UTC)

Updated requires clause for the spatial filtering methods to note that you can't use the add_to or use_abs options with color images.

Modified
dlib/image_transforms/spatial_filtering.h
dlib/image_transforms/spatial_filtering_abstract.h

Revision: aa9d17cc9aa1d0d4
Author: Davis King
Date: Oct 31, 2013 (18:16:46 UTC)

Changed tests slightly to avoid a bug in gcc 4.8

Modified
dlib/test/queue.cpp
dlib/test/stack.cpp

Revision: 736497f873b4e339
Author: Davis King
Date: Oct 31, 2013 (18:46:50 UTC)

Made the fhog code a little bit faster.

Modified
dlib/image_transforms/fhog.h

Revision: e1aeb405daef4f33
Author: Davis King
Date: Oct 31, 2013 (17:36:44 UTC)

Just fixes compiler warnings in gcc 4.8 and clang 3.4.

Modified
dlib/assert.h
dlib/graph_cuts/min_cut.h
dlib/image_transforms/edge_detector.h
dlib/image_transforms/equalize_histogram.h
dlib/image_transforms/segment_image.h
dlib/matrix/matrix_assign.h
dlib/matrix/matrix_la.h
dlib/optimization/optimization_trust_region.h
dlib/svm.h
dlib/svm/cross_validate_multiclass_trainer.h
dlib/svm/cross_validate_regression_trainer.h
dlib/svm/feature_ranking.h
dlib/svm/krr_trainer.h
dlib/svm/pegasos.h
dlib/svm/rbf_network.h
dlib/svm/sort_basis_vectors.h
dlib/svm/svm.h
dlib/svm/svm_threaded.h
dlib/test/cmd_line_parser.h
dlib/test/matrix2.cpp
dlib/test/matrix3.cpp
dlib/test/matrix4.cpp
dlib/test/opt_qp_solver.cpp
dlib/test/pipe.cpp
dlib/test/scan_image.cpp

Revision: 324467515a9f12f4
Author: Davis King
Date: Oct 26, 2013 (05:23:33 UTC)

Added more () to avoid a compiler error in gcc 4.7.1 on SUSE Linux. Thanks to Volker Härtel for finding this.

Modified
dlib/optimization/find_max_parse_cky.h

Revision: 49105c58cdf37efd
Author: Davis King
Date: Oct 22, 2013 (17:07:23 UTC)

Refactored code slightly to avoid getting this warning from gcc when certain optimizations are enabled "warning: assuming signed overflow does not occur when assuming that (X + c) < X is always false"

Modified
dlib/matrix/matrix_subexp.h

Revision: 1c68f064db4083f5
Author: Davis King
Date: Oct 21, 2013 (14:33:56 UTC)

Tweaked the PSI validation test again

Modified
dlib/svm/structural_svm_object_detection_problem.h

Revision: d8d3d5ec44314d88
Author: Davis King
Date: Oct 20, 2013 (07:04:32 UTC)

Changed fhog coordinate transforms so that they are properly invertible.

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

Revision: 7cc91977cadbae6e
Author: Davis King
Date: Oct 19, 2013 (05:20:36 UTC)

Slightly tweaked PSI validation test again

Modified
dlib/svm/structural_svm_object_detection_problem.h

Revision: 9b9dd81e0c38890c
Author: Davis King
Date: Oct 18, 2013 (18:49:58 UTC)

Added overloads of fhog_to_image() and image_to_fhog() that work on rectangles.

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

Revision: 544eaa604f6e6b2b
Author: Davis King
Date: Oct 18, 2013 (18:46:25 UTC)

Relaxed PSI vector consistency test to avoid false alarms.

Modified
dlib/svm/structural_svm_object_detection_problem.h

Revision: 26c16180c1ab5608
Author: Davis King
Date: Oct 17, 2013 (16:24:11 UTC)

Made the spatial filtering functions filter each color channel independently rather than converting to HSI and filtering just the I channel. Also, the spatially_filter_image_separable_down() routine now only allows grayscale output images.

Modified
dlib/image_transforms/spatial_filtering.h
dlib/image_transforms/spatial_filtering_abstract.h

Revision: 22a58768ba95f3e8
Author: Davis King
Date: Oct 16, 2013 (15:15:26 UTC)

fixed grammar in comment

Modified
dlib/svm/structural_svm_object_detection_problem.h

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: e20442f739764833
Author: Davis King
Date: Oct 04, 2013 (18:13:03 UTC)

Clarified some things in the example and also added code showing how to use the new bounds constrained solver.

Modified
examples/optimization_ex.cpp

Revision: 66447c73cfc76022
Author: Davis King
Date: Oct 04, 2013 (17:37:22 UTC)

Added comments about python not being threaded for the structural SVM

Modified
python_examples/svm_struct.py

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: 48baafdca6db0b2f
Author: Davis King
Date: Oct 01, 2013 (19:05:46 UTC)

Fixed grammar and added minor clarifications

Modified
examples/fhog_ex.cpp

Revision: 519668b19fb3b4e2
Author: Davis King
Date: Oct 01, 2013 (18:58:56 UTC)

Added an example for the new HOG feature extractor.

Modified
examples/CMakeLists.txt
Added
examples/fhog_ex.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: 95c9223acdd1a30b
Author: Davis King
Date: Sep 21, 2013 (11:18:29 UTC)

clarified specs

Modified
tools/python/src/cca.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: 76d26871750f20b0
Author: Davis King
Date: Sep 10, 2013 (15:35:55 UTC)

removed unneeded #includes

Modified
examples/server_iostream_ex.cpp

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: 7ed79def95fee3f6
Author: Davis King
Date: Sep 01, 2013 (09:05:29 UTC)

Added missing #include and inclusion guard

Modified
tools/python/src/pyassert.h

Revision: 1c4813d0570de919
Author: Davis King
Date: Sep 01, 2013 (09:03:33 UTC)

Made len() work on dlib.range objects.

Modified
tools/python/src/basic.cpp

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

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: 4a6c49252735e76c
Author: Davis King
Date: Aug 10, 2013 (05:21:01 UTC)

Fixed incorrect type used for iterator in example program.

Modified
examples/server_http_ex.cpp

Revision: fa72078ff8b3c534
Author: Davis King
Date: Aug 09, 2013 (07:56:06 UTC)

Added more python doc strings

Modified
tools/python/src/basic.cpp
tools/python/src/matrix.cpp
tools/python/src/sequence_segmenter.cpp

Revision: 12569614000369f9
Author: Davis King
Date: Aug 09, 2013 (07:36:34 UTC)

Added a max_cost_assignment python example

Added
python_examples/max_cost_assignment.py

Revision: d6505e1f057716b4
Author: Davis King
Date: Aug 09, 2013 (07:23:38 UTC)

Added python bindings for the max_cost_assignment() and assignment_cost() routines.

Modified
tools/python/src/other.cpp

Revision: 69359dcb4f94b2ae
Author: Davis King
Date: Aug 09, 2013 (07:23:05 UTC)

Added functions for easily converting between python list objects and std::vector.

Modified
tools/python/src/boost_python_utils.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: 2f1c79835aaeba95
Author: Davis King
Date: Aug 09, 2013 (07:00:40 UTC)

Added another matrix constructor. Now we can construct from python lists.

Modified
tools/python/src/matrix.cpp

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: f4c69d394623f5df
Author: Davis King
Date: Aug 08, 2013 (15:37:39 UTC)

Clarified comments

Modified
python_examples/svm_struct.py

Revision: b8cf98a85d24ac5c
Author: Davis King
Date: Aug 08, 2013 (15:37:29 UTC)

clarified example

Modified
examples/svm_struct_ex.cpp

Revision: ce991bc3b691fd77
Author: Davis King
Date: Aug 08, 2013 (15:07:50 UTC)

Added structural svm solver example program

Modified
examples/CMakeLists.txt
Added
examples/svm_struct_ex.cpp

Revision: 55f568cdf8b0bb8a
Author: Davis King
Date: Aug 08, 2013 (14:13:22 UTC)

Fixed grammar in comment

Modified
python_examples/svm_struct.py

Revision: 020bda5642f9279a
Author: Davis King
Date: Aug 08, 2013 (07:40:03 UTC)

Added more comments about sparse vectors to the python examples

Modified
python_examples/sequence_segmenter.py
python_examples/svm_struct.py

Revision: 123e7d612c1e78b4
Author: Davis King
Date: Aug 08, 2013 (07:38:12 UTC)

Made python svm struct interface work with sparse vectors

Modified
tools/python/src/svm_struct.cpp

Revision: 24a4286e6ab307ab
Author: Davis King
Date: Aug 08, 2013 (07:37:55 UTC)

Improved sparse vector python docs

Modified
tools/python/src/basic.cpp

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: 53bb688379a4922e
Author: Davis King
Date: Aug 06, 2013 (-04:33:50 UTC)

Updated example program to work best with the new code

Modified
examples/object_detector_ex.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: 91d67ab0aa9fd658
Author: Davis King
Date: Aug 05, 2013 (11:48:34 UTC)

Added --shuffle and --split options to imglab. Also added more outputs to --stats

Modified
tools/imglab/src/main.cpp

Revision: 6792057710baacd5
Author: Davis King
Date: Aug 05, 2013 (11:04:13 UTC)

Added the --stats option to imglab

Modified
tools/imglab/src/main.cpp

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: 7771bfc9b60f60a5
Author: Davis King
Date: Jul 27, 2013 (12:49:50 UTC)

Clarified example

Modified
python_examples/svm_rank.py

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: 3d82f07ae27980ff
Author: Davis King
Date: Jul 25, 2013 (30:38:23 UTC)

Updated comments in examples to account for recent code change.

Modified
examples/object_detector_advanced_ex.cpp
examples/object_detector_ex.cpp
examples/train_object_detector.cpp

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: 153dbccac9356ca7
Author: Davis King
Date: Jul 13, 2013 (12:30:22 UTC)

Fixed incorrect comment in example program.

Modified
examples/bsp_ex.cpp

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: 06e8ca7fc8dd8f2c
Author: Davis King
Date: Jul 08, 2013 (18:19:44 UTC)

Updated matrix example to show how to print in csv format.

Modified
examples/matrix_ex.cpp

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: f2acb503c087380f
Author: Davis King
Date: Jul 08, 2013 (17:32:09 UTC)

Minor change to made code work in python 2.6

Modified
python_examples/svm_struct.py

Revision: 7068c71c583ddbc8
Author: Davis King
Date: Jul 07, 2013 (19:24:14 UTC)

Fixed typo in doc string

Modified
tools/python/src/cca.cpp

Revision: 997b9ae83e40f806
Author: Davis King
Date: Jul 07, 2013 (17:36:07 UTC)

Added python docstring

Modified
tools/python/src/svm_struct.cpp

Revision: c0309a222fb576f7
Author: Davis King
Date: Jul 07, 2013 (13:43:04 UTC)

refined example

Modified
python_examples/svm_struct.py

Revision: a459d9eb61e1c48a
Author: Davis King
Date: Jul 07, 2013 (12:37:18 UTC)

updated example program

Modified
python_examples/svm_struct.py

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

clarified spec

Modified
dlib/svm/structural_svm_problem_abstract.h

Revision: 3443614899b8c0bc
Author: Davis King
Date: Jul 07, 2013 (09:16:23 UTC)

Improved svm struct interface a little more. Fixed a bug and added non-negative weight learning support.

Modified
tools/python/src/svm_struct.cpp

Revision: 1cdb6c3c7cc9b7df
Author: Davis King
Date: Jul 07, 2013 (08:28:31 UTC)

Cleaned up python svm struct code a little.

Modified
python_examples/svm_struct.py
tools/python/src/svm_struct.cpp

Revision: 1bc1eb0e5084c71c
Author: Davis King
Date: Jul 02, 2013 (18:53:07 UTC)

Added more stuff to example

Modified
python_examples/svm_struct.py

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: 26692f5931be7867
Author: Davis King
Date: Jun 26, 2013 (19:01:45 UTC)

Minor change to work with older versions of boost python.

Modified
tools/python/src/vector.cpp

Revision: 2193b03f1d52140d
Author: Davis King
Date: Jun 26, 2013 (18:34:29 UTC)

Added initial version of structural svm python example program.

Added
python_examples/svm_struct.py

Revision: d718fc465a9e3392
Author: Davis King
Date: Jun 26, 2013 (18:34:00 UTC)

Added initial version of structural svm python bindings

Modified
tools/python/CMakeLists.txt
tools/python/src/dlib.cpp
Added
tools/python/src/boost_python_utils.h
tools/python/src/svm_struct.cpp

Revision: 60b45380a7469c11
Author: Davis King
Date: Jun 26, 2013 (17:45:57 UTC)

Added a dot() and slicing support to dlib.vector()

Modified
tools/python/src/vector.cpp

Revision: acc5d9d9c51cc4e1
Author: Davis King
Date: Jun 26, 2013 (14:37:42 UTC)

Added missing license statements to the tops of these files.

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

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: ae7c6990047d2033
Author: Davis King
Date: Jun 22, 2013 (18:49:36 UTC)

Improved instructions for avoiding the black console window when using visual studio.

Modified
examples/gui_api_ex.cpp

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