Change Log
Revision: f8fa027c760270d8
Author: Davis King
Date: Oct 10, 2016 (15:34:32 UTC)

Created release v19.2

Modified
dlib/CMakeLists.txt

Revision: 9d2cc9605dabbc51
Author: Davis King
Date: Oct 10, 2016 (14:26:09 UTC)

Made tensor copies a little more efficient.

Modified
dlib/dnn/tensor.h

Revision: c6c9fdeaa6415cde
Author: Evgeniy Fominov
Date: Oct 10, 2016 (18:32:16 UTC)

Added threads.h into shape_predictor.h (#283)

Modified
dlib/image_processing/shape_predictor.h

Revision: a37ad2dbe73ebd80
Author: Evgeniy Fominov
Date: Oct 10, 2016 (18:30:22 UTC)

Fix for #281 (#282)

Modified
dlib/threads/async.cpp

Revision: 17e2aad4fd065e39
Author: Davis King
Date: Oct 10, 2016 (04:12:58 UTC)

Added missing #include.

Modified
dlib/threads/async.cpp

Revision: 3e63dfdda30dc7e3
Author: Davis King
Date: Oct 10, 2016 (03:36:10 UTC)

Added missing #include

Modified
dlib/image_processing/shape_predictor.h

Revision: 38e96e999d2cebb3
Author: Davis King
Date: Oct 09, 2016 (19:29:20 UTC)

Removing mltool since I'm pretty sure no one uses it and it might even cause user confusion.

Modified
dlib/test/tools/CMakeLists.txt
Deleted
tools/mltool/CMakeLists.txt
tools/mltool/src/common.h
tools/mltool/src/main.cpp
tools/mltool/src/option_range.cpp
tools/mltool/src/option_range.h
tools/mltool/src/regression.cpp
tools/mltool/src/regression.h

Revision: 0276c3e7b67d2eef
Author: Davis King
Date: Oct 09, 2016 (19:18:46 UTC)

Made unit tests compile stuff in tools folder

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

Revision: 96a3a68254e12408
Author: Davis King
Date: Oct 09, 2016 (19:18:12 UTC)

Minor code cleanup.

Modified
dlib/image_transforms/image_pyramid.h

Revision: be4f95c3025c0c8a
Author: Davis King
Date: Oct 09, 2016 (14:25:52 UTC)

Improved check for old visual studio

Modified
dlib/cmake_utils/use_cpp_11.cmake

Revision: f1e84240b9f944fd
Author: Davis King
Date: Oct 09, 2016 (14:19:51 UTC)

Fixed old visual studio check

Modified
dlib/cmake_utils/use_cpp_11.cmake

Revision: 3f65c6abd14c2ffa
Author: Davis King
Date: Oct 09, 2016 (14:13:21 UTC)

Improved error messages about non-C++11 compilers and made the example cmake file a little clearer on this issue.

Modified
dlib/cmake_utils/use_cpp_11.cmake
examples/CMakeLists.txt

Revision: 0cb043aab1a94228
Author: Davis King
Date: Oct 09, 2016 (12:36:48 UTC)

Renamed file so it matches the naming scheme of the other matlab examples.

Modified
dlib/matlab/CMakeLists.txt
Added
dlib/matlab/example_mex_class.cpp
Deleted
dlib/matlab/mex_example_class.cpp

Revision: 0a5f86061b25eeb4
Author: Davis King
Date: Oct 09, 2016 (06:38:03 UTC)

Moved all the test_object_detection_function() specs into one file so they are organized in the HTML documentation.

Modified
dlib/dnn/validation.h
dlib/svm/cross_validate_object_detection_trainer_abstract.h
Deleted
dlib/dnn/validation_abstract.h

Revision: b87b1987c2fa72de
Author: Davis King
Date: Oct 08, 2016 (11:28:58 UTC)

Changed cmake so it compiles most of the DNN examples when using visual studio.

Modified
dlib/cmake_utils/use_cpp_11.cmake
examples/CMakeLists.txt

Revision: 5568c09ce2ef01e1
Author: Davis King
Date: Oct 08, 2016 (10:28:21 UTC)

Added warning message about trying to use cuda from a 32 bit visual studio project.

Modified
dlib/CMakeLists.txt

Revision: 09538bd6884d5d85
Author: Davis King
Date: Oct 08, 2016 (10:27:34 UTC)

Evgeniy Fominov's changes that avoid compiler bugs in Visual Studio.

Modified
examples/dnn_imagenet_ex.cpp
examples/dnn_imagenet_train_ex.cpp

Revision: 1dbb13122991d995
Author: Davis King
Date: Oct 08, 2016 (10:26:33 UTC)

Minor change to avoid warnings from visual studio.

Modified
dlib/image_transforms/image_pyramid.h

Revision: 1f0c4fd8dc47fb83
Author: Davis King
Date: Oct 07, 2016 (18:07:13 UTC)

Made the upsampling conditional on the image not being huge already.

Modified
examples/dnn_mmod_face_detection_ex.cpp

Revision: 2a834745327ca5c7
Author: elda27
Date: Oct 07, 2016 (28:36:58 UTC)

find_cudnn modified for cudnn installed a user directory. (#275)

Modified
dlib/cmake_utils/test_for_cudnn/find_cudnn.txt

Revision: 9251f7002f1f5525
Author: Jan Rüegg
Date: Oct 05, 2016 (19:15:31 UTC)

Unreachable code, fixed compiler warning (#272) * Unreachable code, fixed compiler warning * Update simd4f.h

Modified
dlib/simd/simd4f.h

Revision: fa8285990c12208b
Author: Jan Rüegg
Date: Oct 05, 2016 (18:57:01 UTC)

Unreachable code, fixed compiler warning (#271) * Unreachable code, fixed compiler warning * Update simd8f.h

Modified
dlib/simd/simd8f.h

Revision: 27148e269324a6a7
Author: Davis King
Date: Oct 05, 2016 (06:23:02 UTC)

Made the dnn_trainer check if the loss has been increasing before it saves the state to disk. If it detects that the loss has been going up then instead of saving to disk it recalls the previously good state. This way, if we hit a bad mini-batch during training which negatively effects the model in a significant way, the dnn_trainer will automatically revert back to an earlier good state.

Modified
dlib/dnn/trainer.h

Revision: 6ae4620f2ac43b69
Author: Davis King
Date: Oct 03, 2016 (15:55:31 UTC)

Made find_upper_quantile() more general

Modified
dlib/statistics/running_gradient.h
dlib/statistics/running_gradient_abstract.h

Revision: 4333eb792b01417e
Author: Davis King
Date: Oct 02, 2016 (13:52:39 UTC)

Merge branch 'skip_gui_examples' of git://github.com/miscellanea/dlib into miscellanea-skip_gui_examples Conflicts: examples/CMakeLists.txt

Modified
examples/CMakeLists.txt

Revision: 0c4e56915a1f6f28
Author: Xi Deng
Date: Oct 01, 2016 (11:49:57 UTC)

skip examples which need GUI when DLIB_NO_GUI_SUPPORT is defined

Modified
examples/CMakeLists.txt

Revision: 56a8a6b0e3c876be
Author: Davis King
Date: Oct 02, 2016 (12:43:11 UTC)

Added comments

Modified
examples/dnn_mmod_dog_hipsterizer.cpp
examples/dnn_mmod_face_detection_ex.cpp

Revision: 35746eebbe5ae72e
Author: Davis King
Date: Oct 02, 2016 (10:33:22 UTC)

Larger mustache :)

Modified
examples/dnn_mmod_dog_hipsterizer.cpp

Revision: 796613c025c742ff
Author: Davis King
Date: Oct 02, 2016 (09:37:47 UTC)

Added test image for dog mmod example program

Added
examples/faces/dogs.jpg

Revision: 1a1ea5f589d10e55
Author: Davis King
Date: Oct 02, 2016 (09:00:07 UTC)

Added more mmod examples.

Modified
examples/CMakeLists.txt
Added
examples/dnn_mmod_dog_hipsterizer.cpp
examples/dnn_mmod_face_detection_ex.cpp

Revision: 4ecbc95dd20e02b2
Author: Davis King
Date: Oct 02, 2016 (08:54:14 UTC)

Simplified the network definition slightly

Modified
examples/dnn_mmod_ex.cpp

Revision: 832dd2b780d5dcc9
Author: Davis King
Date: Oct 02, 2016 (05:25:19 UTC)

Added image_dataset_file::shrink_big_images(). So now load_image_dataset() can load a dataset of high resolution files into a user requested lower resolution.

Modified
dlib/data_io/load_image_dataset.h
dlib/data_io/load_image_dataset_abstract.h

Revision: d1edff75d500b46e
Author: miscellanea
Date: Oct 01, 2016 (10:52:45 UTC)

Add arm files for libpng from official libpng v1.6.7 to support neon (#262) (#264) Now dlib can be compiled for android with -DANDROID_ABI="armeabi-v7a with NEON" with https://github.com/taka-no-me/android-cmake However, when compiling for arm64-v8a, since __ARM_NEON__ is not defined, neon code will not be actually enabled, which requires upgrading libpng a bit more

Modified
dlib/CMakeLists.txt
Added
dlib/external/libpng/arm/arm_init.c
dlib/external/libpng/arm/filter_neon.S
dlib/external/libpng/arm/filter_neon_intrinsics.c

Revision: ae14992c6332d828
Author: Davis King
Date: Oct 01, 2016 (14:33:49 UTC)

Made the check in dnn_trainer for convergence more robust. Previously, if we encountered a bad mini-batch that made the loss value suddenly jump up by a larger than normal value it could make the trainer think we converged. Now the test is robust to recent spikes in loss value.

Modified
dlib/dnn/trainer.h

Revision: 745de03984577150
Author: Davis King
Date: Oct 01, 2016 (14:32:01 UTC)

Added find_upper_quantile() and count_steps_without_decrease_robust().

Modified
dlib/statistics/running_gradient.h
dlib/statistics/running_gradient_abstract.h

Revision: b26b4179004a9a68
Author: Davis King
Date: Oct 01, 2016 (14:00:36 UTC)

Changed DEFAULT_BATCH_NORM_EPS from 1e-5 to 1e-4.

Modified
dlib/dnn/layers.h
dlib/dnn/layers_abstract.h

Revision: 52b7ca67fde80387
Author: Davis King
Date: Oct 01, 2016 (11:12:07 UTC)

Removed the last bit of code with any heritage from numerical recipes in C. This was in some of the svd routines. However, we already had a svd routine that used a separate svd code that is better than the NRIC derived version. So that's what we use everywhere now.

Modified
dlib/matrix/matrix_la.h

Revision: 7a017c493450a5a3
Author: Davis King
Date: Oct 01, 2016 (09:20:16 UTC)

Minor change to avoid warning from gcc

Modified
dlib/test/matrix.cpp

Revision: 5dd0cfca877caab1
Author: Davis King
Date: Sep 30, 2016 (19:09:03 UTC)

Fixed spelling error in comment

Modified
examples/train_shape_predictor_ex.cpp

Revision: 57bd723f7e7d8d75
Author: Davis King
Date: Sep 30, 2016 (17:06:11 UTC)

Minor changes to avoid warnings in visual studio 2015

Modified
dlib/array2d/array2d_kernel.h
dlib/dnn/cuda_dlib.cu
dlib/dnn/cuda_utils.h
dlib/dnn/tensor.h
dlib/matrix/matrix.h

Revision: 16774140d2203404
Author: Davis King
Date: Sep 29, 2016 (04:57:01 UTC)

Fixed spelling error in comment

Modified
dlib/dnn/cuda_utils.h

Revision: 8f5f924a938d99ea
Author: Eugene
Date: Sep 29, 2016 (03:15:25 UTC)

fixed warning about unsigned-signed comparison in imgtool (#258)

Modified
tools/imglab/src/main.cpp

Revision: aae42d24e3e0ae74
Author: Davis King
Date: Sep 28, 2016 (17:14:20 UTC)

Improved error message.

Modified
dlib/dnn/layers.h

Revision: c772c396f47ba1be
Author: Davis King
Date: Sep 28, 2016 (17:13:43 UTC)

Changed default background cropping rate from 0.1 to 0.5.

Modified
dlib/image_transforms/random_cropper.h
dlib/image_transforms/random_cropper_abstract.h

Revision: b84a32d32bde42e2
Author: Davis King
Date: Sep 28, 2016 (17:13:08 UTC)

Added missing requires clauses and asserts.

Modified
dlib/image_transforms/random_cropper.h
dlib/image_transforms/random_cropper_abstract.h

Revision: 8b677387a30aa788
Author: Davis King
Date: Sep 28, 2016 (17:01:49 UTC)

Added --sort-num-objects and cleaned up code slightly.

Modified
tools/imglab/src/main.cpp

Revision: 208920d77ff90da6
Author: Ehsan Azar
Date: Sep 21, 2016 (09:36:24 UTC)

first check large number in elsif (#239)

Modified
dlib/assert.h

Revision: afa9ee5ce6d8ce61
Author: Evgeniy Fominov
Date: Sep 21, 2016 (17:19:13 UTC)

Fixed warning about winsock2.h in windows build (#236)

Modified
dlib/sockets/sockets_kernel_1.cpp

Revision: 703e614feade0698
Author: Davis King
Date: Sep 28, 2016 (05:30:17 UTC)

Made cmake automatically increase clang's template depth limit so the dnn imagenet examples compile.

Modified
dlib/cmake

Revision: 757e906e1148853c
Author: Davis King
Date: Sep 28, 2016 (05:28:40 UTC)

Fixed --cluster not working with relative paths.

Modified
tools/imglab/src/cluster.cpp

Revision: 0cbf2bbfde39e2bf
Author: Davis King
Date: Sep 26, 2016 (16:50:54 UTC)

Added --rmlabel and --rm-if-overlaps. Also changed the behavior of --split so that it simply partitions the data and is an invertible operation.

Modified
tools/imglab/src/main.cpp

Revision: 1a9cff21810532ab
Author: Davis King
Date: Sep 21, 2016 (03:01:54 UTC)

Made thread_pool's destructor call abort() rather than rethrow any exception to avoid compiler warnings.

Modified
dlib/threads/thread_pool_extension.h
dlib/threads/thread_pool_extension_abstract.h

Revision: 2b44381e5800ba86
Author: Davis King
Date: Sep 18, 2016 (07:54:12 UTC)

Made --cluster skip empty images

Modified
tools/imglab/src/cluster.cpp

Revision: b4cc8af1ea94c05a
Author: Davis King
Date: Sep 18, 2016 (05:37:23 UTC)

Improved CLI for --resample

Modified
tools/imglab/src/main.cpp

Revision: 11c1841ef60b2f62
Author: Davis King
Date: Sep 18, 2016 (05:09:39 UTC)

Fixed a bug in --cluster where it would output xml files with empty entries if the input xml file contained unannotated images.

Modified
tools/imglab/src/cluster.cpp

Revision: d84791b084a95bf1
Author: Davis King
Date: Sep 17, 2016 (11:19:52 UTC)

Fixed getting cli warning message when gui closed.

Modified
tools/imglab/src/main.cpp

Revision: 5a82dbc2bb81da11
Author: Davis King
Date: Sep 17, 2016 (05:12:33 UTC)

Made imglab's --resample not skip objects near the edge of the image.

Modified
tools/imglab/src/main.cpp

Revision: c41a595d73a7ac90
Author: Davis King
Date: Sep 16, 2016 (15:45:06 UTC)

Added message about -h

Modified
tools/imglab/src/main.cpp

Revision: dde8f363dbc20329
Author: Davis King
Date: Sep 16, 2016 (02:47:49 UTC)

Made the background crops output by the random_cropper a little more expansive.

Modified
dlib/image_transforms/random_cropper.h

Revision: 7047f2d34a40e711
Author: Davis King
Date: Sep 16, 2016 (02:46:35 UTC)

Added --rmempty to imglab

Modified
tools/imglab/src/main.cpp

Revision: 6709dd779319d5a6
Author: Gregor Fabritius
Date: Sep 13, 2016 (04:04:48 UTC)

Fixed cudnn_hint_path detection for OSX where CUDA_CUBLAS_LIBRARIES is a list, not a single string. (#230)

Modified
dlib/cmake_utils/test_for_cudnn/find_cudnn.txt

Revision: 0632c645f4611695
Author: Davis King
Date: Sep 12, 2016 (16:00:37 UTC)

Made this script more robust

Modified
tools/imglab/copy_imglab_dataset

Revision: b17024aba9803f5b
Author: Davis King
Date: Sep 11, 2016 (04:54:26 UTC)

Added an error message that prints to STDERR when you accidentally let an exception sit in a thread pool and don't handle it before the thread pool is destroyed.

Modified
dlib/threads/thread_pool_extension.h

Revision: 8f1b0437dbbf6719
Author: Davis King
Date: Sep 10, 2016 (13:33:32 UTC)

Made the dnn_trainer propagate exceptions that happen during training (in its training thread) out of the object into the calling code rather than terminating the application.

Modified
dlib/dnn/trainer.h
dlib/dnn/trainer_abstract.h

Revision: 052c2dad2674d347
Author: Davis King
Date: Sep 10, 2016 (11:29:06 UTC)

Made input_rgb_image_pyramid use multiple cores while building the pyramid.

Modified
dlib/dnn/input.h

Revision: 7048cc65daaa69b5
Author: Lucas Clemente Vella
Date: Sep 10, 2016 (12:31:01 UTC)

Adding specific parameters interface on fc_ layer (#213)

Modified
dlib/dnn/layers.h
dlib/dnn/layers_abstract.h

Revision: a10e399cd00a7f13
Author: Davis King
Date: Sep 09, 2016 (16:22:49 UTC)

Fix cmake script so they don't think visual studio 2015 supports C++11, because it doesn't. :(

Modified
dlib/cmake_utils/use_cpp_11.cmake

Revision: 3fd7471574689a16
Author: Gregor Fabritius
Date: Sep 09, 2016 (14:48:29 UTC)

Fixed detection of C++11 features (#224) Detecting C++11 capabilities did not work on OSX 10.11.6, XCode 7.3.1, Apple LLVM 7.3.0, cmake 3.6.1. First check revealed that CMAKE_CXX_KNOWN_FEATURES was empty, so subsequent matches failed. After reading http://public.kitware.com/pipermail/cmake/2014-November/059182.html changed handling to fetch property instead of relying on variable. Works on my machine.

Modified
dlib/cmake_utils/use_cpp_11.cmake

Revision: 5dedeb669dc8342f
Author: Davis King
Date: Sep 07, 2016 (17:12:01 UTC)

Added --min-object-size option to imglab.

Modified
tools/imglab/src/main.cpp

Revision: 2ee81fb13a873e43
Author: Davis King
Date: Sep 06, 2016 (07:41:50 UTC)

Added a warning message to remind users to enable C++11 support.

Modified
dlib/algs.h

Revision: 86b71144e75346ec
Author: Davis King
Date: Sep 06, 2016 (04:15:56 UTC)

Removed compile statements for older versions of visual studio

Modified
dlib/test/WINDOWS_build_and_run_all_unit_tests.bat

Revision: 127f8e4fb9e076c0
Author: Davis King
Date: Sep 06, 2016 (04:13:55 UTC)

Added compiler error messages indicating that newer versions of dlib no longer work with older versions of Visual Studio. This is because C++11 support is too bad in older versions of Visual Studio.

Modified
dlib/algs.h

Revision: 25efb06472834588
Author: Davis King
Date: Sep 06, 2016 (03:03:30 UTC)

Added a check for non-finite values to the trust region solver.

Modified
dlib/optimization/optimization_trust_region.h

Revision: e714cc950c2bc117
Author: Davis King
Date: Sep 05, 2016 (11:40:54 UTC)

Fixed example

Modified
examples/dnn_mmod_ex.cpp

Revision: 82d47f51f8e36f6c
Author: Davis King
Date: Sep 05, 2016 (11:39:31 UTC)

Added random_cropper and DNN MMOD example programs.

Modified
examples/CMakeLists.txt
Added
examples/dnn_mmod_ex.cpp
examples/random_cropper_ex.cpp

Revision: 84e726857717fbc7
Author: Davis King
Date: Sep 05, 2016 (11:38:44 UTC)

Adjusted face boxes so they are a little bit more accurately placed.

Modified
examples/faces/training.xml

Revision: 8e8d1265bbddfffe
Author: Davis King
Date: Sep 05, 2016 (11:00:52 UTC)

Added a call to set_all_bn_running_stats_window_sizes() to set this value to what it was when this example was trained (since I just modified the default value in dlib to something else).

Modified
examples/dnn_imagenet_train_ex.cpp

Revision: 7cb6a3b374735c66
Author: Davis King
Date: Sep 05, 2016 (10:55:53 UTC)

Added a method to set the random_cropper's random seed.

Modified
dlib/image_transforms/random_cropper.h
dlib/image_transforms/random_cropper_abstract.h

Revision: 0ab06c47c3704900
Author: Davis King
Date: Sep 05, 2016 (10:48:17 UTC)

Gave the random_cropper the option to randomly include background patches.

Modified
dlib/image_transforms/random_cropper.h
dlib/image_transforms/random_cropper_abstract.h

Revision: 23974ad798bab91e
Author: Davis King
Date: Sep 05, 2016 (06:15:52 UTC)

Added overload of member function set_chip_dims() and also cleaned up a few minor details.

Modified
dlib/image_transforms/random_cropper.h
dlib/image_transforms/random_cropper_abstract.h

Revision: 0131ae15b53907f1
Author: Davis King
Date: Sep 05, 2016 (06:15:22 UTC)

Added another load_image_dataset() overload for string filenames

Modified
dlib/data_io/load_image_dataset.h
dlib/data_io/load_image_dataset_abstract.h

Revision: c946d61199c1faa6
Author: Davis King
Date: Sep 05, 2016 (05:54:31 UTC)

Renamed loss_binary_mmod_ to loss_mmod_

Modified
dlib/dnn/loss.h
dlib/dnn/loss_abstract.h
dlib/dnn/validation.h
dlib/dnn/validation_abstract.h
dlib/image_processing/full_object_detection_abstract.h

Revision: d263d2c5c848b166
Author: Davis King
Date: Sep 05, 2016 (05:37:30 UTC)

Added a version of test_object_detection_function() for the DNN based MMOD detector.

Modified
dlib/dnn.h
Added
dlib/dnn/validation.h
dlib/dnn/validation_abstract.h

Revision: 5cdd56b819d8fc25
Author: Davis King
Date: Sep 05, 2016 (05:18:57 UTC)

Added an overload of upsample_image_dataset() for mmod_rect annotated datasets.

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

Revision: 4f0ff3268a1cfcdd
Author: Davis King
Date: Sep 05, 2016 (05:16:44 UTC)

Made input_layer() work in a more reasonable and general way.

Modified
dlib/dnn/core.h
dlib/dnn/core_abstract.h
dlib/dnn/loss.h

Revision: e6e24f679a528b4f
Author: Davis King
Date: Sep 04, 2016 (18:01:12 UTC)

Made cropper not output boxes smaller than it's supposed to. Also cleaned up code a little.

Modified
dlib/image_transforms/random_cropper.h

Revision: b228a7c9b99f8e45
Author: Davis King
Date: Sep 04, 2016 (15:10:15 UTC)

Added random_cropper

Modified
dlib/image_transforms.h
Added
dlib/image_transforms/random_cropper.h
dlib/image_transforms/random_cropper_abstract.h

Revision: cbe12b2a062b1eb1
Author: Davis King
Date: Sep 04, 2016 (13:41:27 UTC)

Added set_all_bn_running_stats_window_sizes() and also changed the default batch normalization running stats window size from 1000 to 100.

Modified
dlib/dnn/layers.h
dlib/dnn/layers_abstract.h

Revision: 6dbfea4bb22c2f9a
Author: Davis King
Date: Sep 04, 2016 (10:52:29 UTC)

Added an overload of load_image_dataset() that outputs directly to mmod_rect instead of rectangle.

Modified
dlib/data_io/load_image_dataset.h
dlib/data_io/load_image_dataset_abstract.h

Revision: 1654442af760f3ea
Author: Davis King
Date: Sep 04, 2016 (10:48:36 UTC)

Moved some code around, added documentation for the mmod loss layer and its attendant objects. Also fixed a minor bug in the loss layer.

Modified
dlib/dnn/loss.h
dlib/dnn/loss_abstract.h
dlib/image_processing/full_object_detection.h
dlib/image_processing/full_object_detection_abstract.h

Revision: afa3967afc6997a7
Author: Davis King
Date: Sep 04, 2016 (10:01:32 UTC)

Added missing assert

Modified
dlib/dnn/input.h

Revision: a4139ba9088a228e
Author: Davis King
Date: Sep 04, 2016 (08:01:49 UTC)

Changed imglab --resample so that it never changes the aspect ratio of an image.

Modified
tools/imglab/src/main.cpp

Revision: a0d16e6dbf1439a3
Author: Davis King
Date: Sep 04, 2016 (07:55:30 UTC)

Fixed error in pyramid_rate() formula.

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

Revision: 2cd7f14c9947e0a6
Author: Davis King
Date: Sep 04, 2016 (05:41:38 UTC)

Added get_double_in_range() to dlib::rand.

Modified
dlib/rand/rand_kernel_1.h
dlib/rand/rand_kernel_abstract.h

Revision: 3107e008c2aae596
Author: Davis King
Date: Sep 03, 2016 (05:20:47 UTC)

Added MMOD loss layer

Modified
dlib/dnn/loss.h

Revision: d37ff995dc506e08
Author: Davis King
Date: Sep 03, 2016 (05:02:53 UTC)

Added input_rgb_image_pyramid

Modified
dlib/dnn/input.h
dlib/dnn/input_abstract.h

Revision: d667089afd38fd21
Author: Davis King
Date: Sep 03, 2016 (04:39:58 UTC)

more clarification

Modified
dlib/image_transforms/image_pyramid_abstract.h

Revision: 51a99ae538e25807
Author: Davis King
Date: Sep 03, 2016 (04:37:48 UTC)

clarified spec

Modified
dlib/image_transforms/image_pyramid_abstract.h

Revision: f5fc678498dc52b9
Author: Davis King
Date: Sep 03, 2016 (04:05:30 UTC)

Made load_image_dataset() more generic. Now it can operate on arrays of images that use std::vector in addition to dlib::array.

Modified
dlib/data_io/load_image_dataset.h
dlib/data_io/load_image_dataset_abstract.h

Revision: 4600afc66b79c7e3
Author: Davis King
Date: Sep 03, 2016 (03:52:55 UTC)

Added input_tensor_to_output_tensor() and output_tensor_to_input_tensor() along with the mapping functions necessary at each layer to support these routines.

Modified
dlib/dnn/layers.h
dlib/dnn/layers_abstract.h
dlib/dnn/utilities.h
dlib/dnn/utilities_abstract.h

Revision: f3e40c3157b66be0
Author: Davis King
Date: Sep 03, 2016 (03:14:07 UTC)

Added visit_layers_backwards(), visit_layers_backwards_range(), and visit_layers_range().

Modified
dlib/dnn/core.h
dlib/dnn/core_abstract.h

Revision: d58fccff9e325fe8
Author: jpblackburn
Date: Aug 31, 2016 (18:13:39 UTC)

Add dnn_trainer::train_one_step iterator signature (#212) Add an overload of dnn_trainer::train_one_step that takes a pair of iterators rather than a std::vector.

Modified
dlib/dnn/trainer.h
dlib/dnn/trainer_abstract.h

Revision: 2f9c279aaa846ac9
Author: Davis King
Date: Aug 31, 2016 (07:34:04 UTC)

Changed pinv() so it interprets its tol argument relative to the largest singular value of the input matrix rather than as an absolute tolerance.

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

Revision: 443a68b4f7761e12
Author: Davis King
Date: Aug 30, 2016 (18:10:19 UTC)

workaround bugs in visual studio

Modified
dlib/assert.h

Revision: 8717c62459e84fbb
Author: Davis King
Date: Aug 30, 2016 (17:46:26 UTC)

made the build script compile in newer versions of visual studio before older ones.

Modified
dlib/test/WINDOWS_build_and_run_all_unit_tests.bat

Revision: f7a509d6cb76d641
Author: Davis King
Date: Aug 30, 2016 (10:58:38 UTC)

Simplified example to show only the C++11 version of the code.

Modified
examples/parallel_for_ex.cpp

Revision: 19b311e139012a55
Author: Davis King
Date: Aug 30, 2016 (10:44:46 UTC)

Made thread_pool and parallel_for propagate exceptions from task threads to calling code.

Modified
dlib/test/thread_pool.cpp
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
examples/thread_pool_ex.cpp

Revision: 39a621bbba8eff85
Author: Davis King
Date: Aug 30, 2016 (06:15:33 UTC)

Added overloads of the parallel for functions that use default_thread_pool()

Modified
dlib/threads/parallel_for_extension.h
dlib/threads/parallel_for_extension_abstract.h

Revision: a6b6efd7482deb1d
Author: Davis King
Date: Aug 29, 2016 (19:34:02 UTC)

Added some comments

Modified
dlib/matlab/mex_wrapper.cpp

Revision: 60eff689078d877e
Author: Davis King
Date: Aug 29, 2016 (19:31:57 UTC)

Added a clone() method to the mex class interface.

Modified
dlib/matlab/mex_wrapper.cpp

Revision: 72e20e746c6fd3cc
Author: Davis King
Date: Aug 29, 2016 (10:15:24 UTC)

Fixed a problem where output matrices don't get assigned anything when they are empty, leading to MATLAB complaining about output arguments to being assigned.

Modified
dlib/matlab/mex_wrapper.cpp

Revision: 5fa3edc19eb93009
Author: Davis King
Date: Aug 29, 2016 (06:56:32 UTC)

Fixed tabbing

Modified
dlib/matlab/mex_wrapper.cpp

Revision: e8a4fa1094c2477f
Author: Davis King
Date: Aug 29, 2016 (05:46:27 UTC)

Added support for binding classes to MATLAB.

Modified
dlib/matlab/CMakeLists.txt
dlib/matlab/mex_wrapper.cpp
Added
dlib/matlab/mex_example_class.cpp

Revision: a05ea5995753e188
Author: Davis King
Date: Aug 28, 2016 (12:56:53 UTC)

Added pyramid_rate(), create_tiled_pyramid(), image_to_tiled_pyramid(), and tiled_pyramid_to_image().

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

Revision: 6de599a993c942f0
Author: Davis King
Date: Aug 28, 2016 (10:43:13 UTC)

Fixed compiler warning.

Modified
dlib/dnn/core.h

Revision: 27bad381c9e173d2
Author: Davis King
Date: Aug 28, 2016 (09:28:14 UTC)

Cleaned up assert statements a bit.

Modified
dlib/dnn/core.h
dlib/dnn/cpu_dlib.cpp
dlib/dnn/cublas_dlibapi.cpp
dlib/dnn/cuda_dlib.cu
dlib/dnn/cudnn_dlibapi.cpp
dlib/dnn/gpu_data.cpp
dlib/dnn/gpu_data.h
dlib/dnn/input.h
dlib/dnn/layers.h
dlib/dnn/loss.h
dlib/dnn/solvers.h
dlib/dnn/tensor.h
dlib/dnn/tensor_tools.cpp
dlib/dnn/trainer.h

Revision: 5c74d9b3024f7989
Author: Davis King
Date: Aug 28, 2016 (08:09:02 UTC)

Added nearest_rect()

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

Revision: 2cc3419f93e3d4d3
Author: Davis King
Date: Aug 28, 2016 (08:07:27 UTC)

Made the message argument of the DLIB_ASSERT and DLIB_CASSERT macros optional.

Modified
dlib/assert.h

Revision: 0ec79915109ddf79
Author: Davis King
Date: Aug 27, 2016 (16:13:19 UTC)

Moved impossible_labeling_error to error.h

Modified
dlib/error.h
dlib/svm/structural_svm_object_detection_problem.h
dlib/svm/structural_svm_object_detection_problem_abstract.h

Revision: d70d7afe43c38d10
Author: Davis King
Date: Aug 27, 2016 (12:38:34 UTC)

Added box_intersection_over_union() and also renamed the class members of test_box_overlap so they are less confusing and vague.

Modified
dlib/image_processing/box_overlap_testing.h
dlib/image_processing/box_overlap_testing_abstract.h

Revision: 607c51d65e523d4f
Author: Davis King
Date: Aug 27, 2016 (05:52:18 UTC)

Added alias_tensor_const_instance

Modified
dlib/dnn/tensor.h
dlib/dnn/tensor_abstract.h
dlib/test/dnn.cpp

Revision: c2cdd99160594c54
Author: Davis King
Date: Aug 27, 2016 (05:23:09 UTC)

Made add_loss_layer constructor more flexible. Now you can construct from objects that are implicitly convertible to a loss details object just like you can for computational layers.

Modified
dlib/dnn/core.h
dlib/dnn/core_abstract.h

Revision: 0d5e4cd99e388c3f
Author: Davis King
Date: Aug 27, 2016 (05:10:50 UTC)

Fixed a bug in memcpy() for tensors where you weren't allowed to copy alias tensors. Now any kind of tensors are supported.

Modified
dlib/dnn/gpu_data.cpp
dlib/dnn/gpu_data.h
dlib/dnn/gpu_data_abstract.h
dlib/dnn/tensor.h
dlib/test/dnn.cpp

Revision: 2b15e1983cd410ce
Author: Davis King
Date: Aug 24, 2016 (11:50:24 UTC)

Slightly adjusted some of the unit tests to avoid false failures in some environments.

Modified
dlib/test/correlation_tracker.cpp
dlib/test/matrix2.cpp
dlib/test/oca.cpp
dlib/test/optimization.cpp

Revision: d5c166fd952b9257
Author: Davis King
Date: Aug 24, 2016 (11:36:01 UTC)

Made test_layer() more numerically robust.

Modified
dlib/dnn/core.h

Revision: 5058bd86d75398fc
Author: Davis King
Date: Aug 24, 2016 (11:35:42 UTC)

Updated arch list to simd instructions are dealt with correctly on more platforms.

Modified
dlib/cmake

Revision: 17478a093d7f14c8
Author: Davis King
Date: Aug 24, 2016 (02:56:35 UTC)

fixed typo in example

Modified
examples/train_object_detector.cpp

Revision: 822f2dd0956a9230
Author: Davis King
Date: Aug 23, 2016 (13:01:36 UTC)

merged

Modified
dlib/CMakeLists.txt
dlib/external/libjpeg/jccolor.cpp
dlib/external/libjpeg/jcdctmgr.cpp
dlib/external/libjpeg/jchuff.cpp
dlib/external/libjpeg/jcphuff.cpp
dlib/external/libjpeg/jcprepct.cpp
dlib/external/libjpeg/jcsample.cpp
dlib/external/libjpeg/jdcolor.cpp
dlib/external/libjpeg/jdhuff.cpp
dlib/external/libjpeg/jdhuff.h
dlib/external/libjpeg/jdmerge.cpp
dlib/external/libjpeg/jdphuff.cpp
dlib/external/libjpeg/jdsample.cpp
dlib/external/libjpeg/jquant1.cpp
dlib/external/libjpeg/jquant2.cpp
dlib/external/libjpeg/jutils.cpp
dlib/test/CMakeLists.txt
Deleted
dlib/test/all_source/CMakeLists.txt

Revision: 63e57910a46ec43c
Author: Davis King
Date: Aug 23, 2016 (12:52:24 UTC)

Minor changes to avoid compiler warnings

Modified
dlib/external/libjpeg/jccolor.cpp
dlib/external/libjpeg/jcdctmgr.cpp
dlib/external/libjpeg/jchuff.cpp
dlib/external/libjpeg/jcphuff.cpp
dlib/external/libjpeg/jcprepct.cpp
dlib/external/libjpeg/jcsample.cpp
dlib/external/libjpeg/jdcolor.cpp
dlib/external/libjpeg/jdhuff.cpp
dlib/external/libjpeg/jdhuff.h
dlib/external/libjpeg/jdmerge.cpp
dlib/external/libjpeg/jdphuff.cpp
dlib/external/libjpeg/jdsample.cpp
dlib/external/libjpeg/jquant1.cpp
dlib/external/libjpeg/jquant2.cpp
dlib/external/libjpeg/jutils.cpp

Revision: bda636fb12cfc45b
Author: Davis King
Date: Aug 23, 2016 (11:58:15 UTC)

Improved how the unit tests build all/source.cpp

Modified
dlib/CMakeLists.txt
dlib/test/CMakeLists.txt
Deleted
dlib/test/all_source/CMakeLists.txt

Revision: 73c540c5f71a6ed9
Author: Davis King
Date: Aug 23, 2016 (11:05:55 UTC)

cmake cleanup

Modified
dlib/CMakeLists.txt

Revision: 548254133c54a418
Author: Davis King
Date: Aug 23, 2016 (02:41:19 UTC)

Adjusted test to avoid false alarm

Modified
dlib/test/matrix2.cpp

Revision: 8bc9d6bcdff4299a
Author: Davis King
Date: Aug 22, 2016 (12:47:51 UTC)

Fixed rotate_image() so that it uses the generic image interface rather than expecting an array2d like object.

Modified
dlib/image_transforms/interpolation.h

Revision: 24fbb5545ab5245f
Author: Davis King
Date: Aug 22, 2016 (11:08:20 UTC)

fixed compiler error

Modified
dlib/dnn/cuda_dlib.h

Revision: 8b7a8fd2688d8d1d
Author: Davis King
Date: Aug 22, 2016 (10:53:26 UTC)

Fixed typo in network definition.

Modified
examples/dnn_introduction2_ex.cpp

Revision: 8e940b54b9872718
Author: Davis King
Date: Aug 22, 2016 (10:53:07 UTC)

Fixed compiler warnings

Modified
dlib/dnn/cublas_dlibapi.cpp
dlib/dnn/cudnn_dlibapi.cpp

Revision: f85adb8c5a852e6c
Author: Davis King
Date: Aug 22, 2016 (07:36:56 UTC)

Made the thread local variables that hold the cudnn and cublas context objects not destruct and recreate themselves when you switch devices. Instead, they keep a table of context objects, for each thread and device, reusing as necessary. This prevents churn in the context objects when you are switching back and forth between devices inside a single thread.

Modified
dlib/dnn/cublas_dlibapi.cpp
dlib/dnn/cudnn_dlibapi.cpp

Revision: 3c17706101b4654e
Author: Davis King
Date: Aug 22, 2016 (06:20:41 UTC)

Added cuda bindings: get_device_name(), set_current_device_blocking_sync().

Modified
dlib/dnn/cuda_dlib.cu
dlib/dnn/cuda_dlib.h

Revision: 9980a9953beb5731
Author: Davis King
Date: Aug 22, 2016 (06:11:23 UTC)

Added is_row_major(). Also made sum() run over the matrix in column major order if that's the memory layout of the argument.

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

Revision: 116418659ea343b3
Author: Davis King
Date: Aug 22, 2016 (06:05:56 UTC)

Added an assert on the size of matlab's bools.

Modified
dlib/matlab/mex_wrapper.cpp

Revision: 2f0770cae6ca1c94
Author: Davis King
Date: Aug 21, 2016 (17:03:16 UTC)

Added annotation() to tensor so that you can associate any object you want with a tensor.

Modified
dlib/dnn/tensor.h
dlib/dnn/tensor_abstract.h

Revision: 6ee8d78f5d607b29
Author: Davis King
Date: Aug 21, 2016 (16:48:50 UTC)

Clarified spec

Modified
dlib/dnn/tensor_abstract.h

Revision: 6ccb35f11bacacb2
Author: Davis King
Date: Aug 21, 2016 (16:46:49 UTC)

Added a set_image_size() for sub_image_proxy objects so that they can be written to with assign_image(). However, you get an error if you try to assign an image with a different size.

Modified
dlib/image_transforms/interpolation.h

Revision: 9dee7dbf0c7e13e4
Author: Davis King
Date: Aug 21, 2016 (15:57:18 UTC)

Added comments about thread safety requirements.

Modified
dlib/dnn/input_abstract.h

Revision: 0f97bad460adfff5
Author: Davis King
Date: Aug 21, 2016 (10:59:39 UTC)

Made the coordinate mapping between pyramid layers slightly more accurate.

Modified
dlib/image_transforms/image_pyramid.h

Revision: 100c60cf14d3963a
Author: Davis King
Date: Aug 16, 2016 (14:19:26 UTC)

Fixed more compiler warnings

Modified
dlib/dnn/cuda_dlib.cu
dlib/dnn/cudnn_dlibapi.cpp

Revision: 42fe6ce6dc96f68a
Author: Davis King
Date: Aug 16, 2016 (14:15:59 UTC)

Fixed some compiler warnings

Modified
dlib/dnn/cpu_dlib.cpp

Revision: 64f7d8ac72900162
Author: Davis King
Date: Aug 16, 2016 (14:14:53 UTC)

Made the unit tests compile all/source.cpp.

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

Revision: 6385cfd74b2be869
Author: Davis King
Date: Aug 15, 2016 (17:02:42 UTC)

Removed concat1 and inception1 templates to avoid user confusion.

Modified
dlib/dnn/layers.h
dlib/dnn/layers_abstract.h

Revision: bd4cf46b3b1794bb
Author: Davis King
Date: Aug 03, 2016 (07:18:37 UTC)

added missing requirement.

Modified
dlib/dnn/tensor_tools.h

Revision: 69766a9232619917
Author: Davis King
Date: Aug 15, 2016 (14:27:06 UTC)

Made the relational operators constexpr so they don't accidentally cause compilation errors when they get pulled into the scope of template metaprogramming expressions.

Modified
dlib/algs.h

Revision: 88086eb59bdb7fce
Author: Davis King
Date: Aug 15, 2016 (14:08:39 UTC)

updated makefile to give -std=c++11 flag

Modified
dlib/test/makefile

Revision: 095890b2d0548ac5
Author: Davis King
Date: Aug 14, 2016 (15:07:30 UTC)

Changed the DNN API so that sample_expansion_factor is a runtime variable rather than a compile time constant. This also removes it from the input layer interface since the DNN core infers its value at runtime, meaning users that define their own input layers don't need to specify it anymore.

Modified
dlib/dnn/core.h
dlib/dnn/core_abstract.h
dlib/dnn/input.h
dlib/dnn/input_abstract.h
dlib/dnn/layers_abstract.h
dlib/dnn/loss.h
dlib/dnn/loss_abstract.h

Revision: 5e58ca8313c143ec
Author: Davis King
Date: Aug 14, 2016 (09:48:18 UTC)

Made layer_details() part of the SUBNET interface so that user defined layer details objects can access each other. Also added the input_layer() global function for accessing the input layer specifically.

Modified
dlib/dnn/core.h
dlib/dnn/core_abstract.h
dlib/dnn/layers_abstract.h

Revision: 7251a950690b418c
Author: Davis King
Date: Aug 14, 2016 (05:12:51 UTC)

Fixed dlib.range's iterator interface to work in python 3.

Modified
tools/python/src/basic.cpp

Revision: e8e2440b9a96ea72
Author: Davis King
Date: Aug 13, 2016 (10:09:22 UTC)

Record last changeset and set PATCH version to 99

Modified
dlib/CMakeLists.txt
docs/.logger_revnum

Revision: ad6cd2a3bfd54d48
Author: Davis King
Date: Aug 13, 2016 (10:07:28 UTC)

Created release v19.1

Modified
dlib/CMakeLists.txt

Old Change Logs