Change Log
Revision: fef491c3b8182c68
Author: Davis King
Date: Dec 19, 2017 (16:15:28 UTC)

Created release v19.8

Modified
dlib/CMakeLists.txt

Revision: 3d917692ac8ab43c
Author: Davis King
Date: Dec 19, 2017 (09:18:55 UTC)

Removed an assert used for debugging that shouldn't have been committed.

Modified
dlib/image_transforms/random_cropper.h

Revision: 94abd62c1124f2af
Author: Davis King
Date: Dec 19, 2017 (05:57:07 UTC)

Fixed set_colm() and set_rowm() not being assignable from some matrix expressions.

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

Revision: 1662c169b5b4c6b9
Author: Davis King
Date: Dec 19, 2017 (04:59:55 UTC)

Made unit test more robust.

Modified
dlib/test/global_optimization.cpp

Revision: 08908ad3f420a5ae
Author: Davis King
Date: Dec 19, 2017 (01:34:49 UTC)

Fixed initial point selection to only happen once.

Modified
dlib/global_optimization/global_function_search.cpp

Revision: e968c246e86cfa36
Author: Davis King
Date: Dec 18, 2017 (11:20:21 UTC)

Minor update

Modified
examples/model_selection_ex.cpp

Revision: ec042547cb06c4a7
Author: Davis King
Date: Dec 18, 2017 (10:59:23 UTC)

Added a minor optimization.

Modified
dlib/global_optimization/global_function_search.cpp
dlib/test/global_optimization.cpp

Revision: 9b23de588b165989
Author: Davis King
Date: Dec 18, 2017 (10:07:41 UTC)

Fixed problem with openmp linking

Modified
dlib/CMakeLists.txt
dlib/cmake_utils/cmake_find_blas.txt

Revision: 81ce6ee1d0be74bf
Author: David Hirvonen
Date: Dec 17, 2017 (15:18:44 UTC)

add chrono::duration_cast<>() cast for clang error (#1019) * fix chrono cast for llvm https://stackoverflow.com/a/18284105 tested: clang-3.9, clang-5.0 ``` /Source/dlib/dir_nav/dir_nav_kernel_2.h:397:31: error: no viable overloaded '+=' last_modified += std::chrono::nanoseconds(buffer.st_atim.tv_nsec); ~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/v1/chrono:782:43: note: candidate function not viable: no known conversion from 'duration<[...], ratio<[...], 1000000000>>' to 'const duration<[...], ratio<[...], 1000000>>' for 1st argument _LIBCPP_INLINE_VISIBILITY time_point& operator+=(const duration& __d) {__d_ += __d; return *this;} ^ Source/dlib/dir_nav/dir_nav_kernel_2.cpp:69:33: error: no viable overloaded '+=' state.last_modified += std::chrono::nanoseconds(buffer.st_atim.tv_nsec); ~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/v1/chrono:782:43: note: candidate function not viable: no known conversion from 'duration<[...], ratio<[...], 1000000000>>' to 'const duration<[...], ratio<[...], 1000000>>' for 1st argument _LIBCPP_INLINE_VISIBILITY time_point& operator+=(const duration& __d) {__d_ += __d; return *this;} ``` * fix typo

Modified
dlib/dir_nav/dir_nav_kernel_2.cpp
dlib/dir_nav/dir_nav_kernel_2.h

Revision: 351ebdcb19bd65d3
Author: Davis King
Date: Dec 17, 2017 (09:41:00 UTC)

Changed this example to use repeat layers. This doesn't change the behavior of the code, but it helps visual studio use less RAM when building the example, and might make appveyor not crash. It's also a slightly cleaner way to write the code anyway.

Modified
examples/dnn_semantic_segmentation_ex.h

Revision: 85bf1aad671e76ba
Author: Davis King
Date: Dec 17, 2017 (08:46:37 UTC)

Check if appveyor's VS2017 is the newest version.

Modified
dlib/appveyor/examples.yml

Revision: 7f5e338f0d255b30
Author: Davis King
Date: Dec 17, 2017 (04:02:07 UTC)

Updated messages about what versions of visual studio have good enough C++11 support.

Modified
dlib/cmake_utils/add_python_module
dlib/cmake_utils/set_compiler_specific_options.cmake

Revision: 02c4f9aaef5f72bf
Author: Davis King
Date: Dec 17, 2017 (03:23:43 UTC)

Split appveyor build scripts into parts so they don't error out from being too big.

Added
dlib/appveyor/dtest.yml
dlib/appveyor/examples.yml
Deleted
appveyor.yml

Revision: 591a0011897707cc
Author: Davis King
Date: Dec 16, 2017 (18:17:37 UTC)

Improved visual studio compilation instructions

Modified
examples/CMakeLists.txt

Revision: 5504a0de9a3c3b45
Author: Davis King
Date: Dec 16, 2017 (17:34:22 UTC)

Merged

Modified
dlib/global_optimization/upper_bound_function.h
dlib/global_optimization/upper_bound_function_abstract.h

Revision: 1e45c8f824fc4551
Author: ernestotapiar
Date: Dec 15, 2017 (24:12:58 UTC)

little corrections in global optimization (#1016) * Removed redudant (repeated) definition of sample_type. * Added return statement in the documentation of the (lambda) upper bound function.

Modified
dlib/global_optimization/upper_bound_function.h
dlib/global_optimization/upper_bound_function_abstract.h

Revision: 3c244dce053b1b6e
Author: Davis King
Date: Dec 16, 2017 (06:26:40 UTC)

Fixed grammar

Modified
dlib/optimization/optimization_trust_region_abstract.h

Revision: 2417f8c37b6011ff
Author: Davis King
Date: Dec 15, 2017 (12:08:49 UTC)

clarified spec

Modified
dlib/global_optimization/upper_bound_function_abstract.h

Revision: a6bf6bc3416703ee
Author: Davis King
Date: Dec 15, 2017 (06:30:19 UTC)

Clarified spec

Modified
dlib/global_optimization/global_function_search_abstract.h

Revision: 82b38c4a2a4ca4d9
Author: Davis King
Date: Dec 14, 2017 (03:06:16 UTC)

Improved error messages for people who have incorrectly installed boost in windows.

Modified
dlib/cmake_utils/add_python_module

Revision: c8c167dcc5e01115
Author: Davis King
Date: Dec 12, 2017 (16:57:04 UTC)

Added python bindings for count_steps_without_decrease() and count_steps_without_decrease_robust()

Modified
tools/python/src/other.cpp

Revision: 8e171f495e4698c3
Author: Aron Rubin
Date: Dec 12, 2017 (16:23:47 UTC)

Fixed type passing to opencv to use basic instead of aggregate. (#1010) * Fixed type passing to opencv to use basic instead of aggregate. * Change tabs to spaces.

Modified
dlib/opencv/to_open_cv.h

Revision: cefc32136b3da7a7
Author: Davis King
Date: Dec 12, 2017 (01:36:37 UTC)

Fixed DLIB_ISO_CPP_ONLY not building.

Modified
dlib/CMakeLists.txt
dlib/all/source.cpp

Revision: c2a4495ce3e8c31a
Author: wyd1520
Date: Dec 12, 2017 (10:20:31 UTC)

Change VS2015 Update3 MSVC Version v19.0.24215.1 To v19.0.24210.0 (#1009)

Modified
dlib/cmake_utils/set_compiler_specific_options.cmake

Revision: e92d89dd296ed3d8
Author: Davis King
Date: Dec 11, 2017 (01:40:00 UTC)

Fixed spelling error in comment

Modified
examples/CMakeLists.txt

Revision: 7731b8fff8332d8e
Author: Davis King
Date: Dec 10, 2017 (10:33:46 UTC)

Better travis python testing.

Modified
.travis.yml
dlib/travis/build-and-test.sh

Revision: 95a2f74aa9f62ea3
Author: Davis King
Date: Dec 10, 2017 (10:25:21 UTC)

Try to fix travis build

Modified
dlib/travis/build-and-test.sh

Revision: 911d65885af78570
Author: Davis King
Date: Dec 10, 2017 (10:24:45 UTC)

Improved cmake's finding of the right python interpreter.

Modified
dlib/cmake_utils/add_python_module

Revision: 12be4f07888a4212
Author: Davis King
Date: Dec 10, 2017 (09:57:00 UTC)

Tell the python3 tests to use python3

Modified
dlib/travis/build-and-test.sh

Revision: 6ea80b1865e8c8ca
Author: Davis King
Date: Dec 10, 2017 (09:48:09 UTC)

Minor tweak

Modified
dlib/global_optimization/find_max_global.h
dlib/global_optimization/find_max_global_abstract.h

Revision: bbe33aaaebda370f
Author: Davis King
Date: Dec 10, 2017 (09:44:31 UTC)

Make travis build both python2 and python3 versions of the python extension.

Modified
.travis.yml
dlib/travis/build-and-test.sh

Revision: 60019c50ec69fa42
Author: Davis King
Date: Dec 09, 2017 (15:53:35 UTC)

Made random_cropper's API a little more convenient for cropping out only background crops.

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

Revision: 765f71aac76a690b
Author: Davis King
Date: Dec 09, 2017 (15:52:07 UTC)

The previous commit broke for pyhton2 but fixed python3. This should deal with numpy's import_array() in a more robust way.

Modified
tools/python/src/dlib.cpp
tools/python/src/numpy_returns.cpp
tools/python/src/numpy_returns_stub.cpp

Revision: 6703f0dfaf08fff9
Author: Davis King
Date: Dec 09, 2017 (14:51:20 UTC)

Numpy's import_array() macro in python3 requires the calling function to return void*. But the previous code didn't so it wouldn't compile. Fixed that problem.

Modified
tools/python/src/dlib.cpp
tools/python/src/numpy_returns.cpp
tools/python/src/numpy_returns_stub.cpp

Revision: 1dbced08946eb9d7
Author: Davis King
Date: Dec 08, 2017 (05:16:08 UTC)

A little bit of cleanup

Modified
python_examples/face_jitter.py

Revision: d54c33f16e6371c9
Author: Davis King
Date: Dec 08, 2017 (05:09:50 UTC)

Made this file executable

Modified
python_examples/face_jitter.py

Revision: 67e848f1de8c4f85
Author: Davis King
Date: Dec 08, 2017 (05:09:30 UTC)

cleaned up cmake

Modified
tools/python/CMakeLists.txt

Revision: eba177eb9652e560
Author: visionworkz
Date: Dec 08, 2017 (30:59:27 UTC)

Exposed jitter_image in Python and added an example (#980) * Exposed jitter_image in Python and added an example * Return Numpy array directly * Require numpy during setup * Added install of Numpy before builds * Changed pip install for user only due to security issues. * Removed malloc * Made presence of Numpy during compile optional. * Conflict * Refactored get_face_chip/get_face_chips to use Numpy as well.

Modified
appveyor.yml
dlib/travis/build-and-test.sh
python_examples/face_alignment.py
setup.py
tools/python/CMakeLists.txt
tools/python/src/dlib.cpp
tools/python/src/face_recognition.cpp
tools/python/src/image.cpp
Added
examples/faces/Tom_Cruise_avp_2014_4.jpg
python_examples/face_jitter.py
tools/python/src/numpy_returns.cpp
tools/python/src/numpy_returns_stub.cpp

Revision: 4881802d52fbcdea
Author: Davis King
Date: Dec 08, 2017 (04:39:52 UTC)

Fixed spelling error that broke cmake just now.

Modified
dlib/CMakeLists.txt

Revision: 4b54c0247dfb20a1
Author: Kino
Date: Dec 08, 2017 (04:53:29 UTC)

don't look for OpenMP with Apple Clang (#1002) look at issue: https://github.com/davisking/dlib/issues/674

Modified
dlib/CMakeLists.txt

Revision: 4287d80d0e72860c
Author: Davis King
Date: Dec 08, 2017 (04:08:09 UTC)

Added USE_NEON_INSTRUCTIONS cmake option.

Modified
dlib/cmake_utils/set_compiler_specific_options.cmake

Revision: 1f23d299f11ee131
Author: Davis King
Date: Dec 08, 2017 (04:07:49 UTC)

Fixed incorrect printing of blas warning message.

Modified
dlib/cmake_utils/cmake_find_blas.txt

Revision: 4e06ffd2c0c55ade
Author: Davis King
Date: Dec 07, 2017 (03:11:55 UTC)

Changed the windows signaler and mutex code to use the C++11 thread library instead of the old win32 functions. I did this to work around how windows unloads dlls. In particular, during dll unload windows will kill all threads, THEN it will destruct global objects. So this leads to problems where a global obejct that owns threads tries to tell them to shutdown and everything goes wrong. The specific problem this code change fixes is when signaler::broadcast() is called on a signaler that was being waited on by one of these abruptly killed threads. In that case, the old code would deadlock inside signaler::broadcast(). This new code doesn't seem to have that problem, thereby mitigating the windows dll unload behavior in some situations.

Modified
dlib/threads/threads_kernel_1.h

Revision: bb1f9991d4ea7385
Author: Davis King
Date: Dec 05, 2017 (10:10:41 UTC)

Added a missing assert.

Modified
tools/python/src/face_recognition.cpp

Revision: 0fbe493258bbd07f
Author: Davis King
Date: Dec 04, 2017 (16:47:43 UTC)

Filled out the documentation

Modified
dlib/global_optimization/global_function_search_abstract.h
dlib/global_optimization/upper_bound_function_abstract.h

Revision: 0f28d6dd3e8b668a
Author: Davis King
Date: Dec 04, 2017 (12:09:18 UTC)

Fixed shape_predictor_trainer padding so that it behaves as it used to. In dlib 19.7 the padding code was changed and accidentally doubled the size of the applied padding when in the older (and still default) landmark_relative padding mode. It's not a huge deal either way, but this change reverts back to the intended behavior.

Modified
dlib/image_processing/shape_predictor_trainer.h

Revision: c3b0f5fe8563fa69
Author: Davis King
Date: Dec 04, 2017 (07:57:38 UTC)

Changed test_regression_function() and cross_validate_regression_trainer() to output correlation rather than squared correlation.

Modified
dlib/svm/cross_validate_regression_trainer.h
dlib/svm/cross_validate_regression_trainer_abstract.h

Revision: ce8122891fadf677
Author: Davis King
Date: Dec 04, 2017 (07:29:51 UTC)

Fixed a very small bias in rand::get_random_double()

Modified
dlib/rand/rand_kernel_1.h

Revision: 2154c0e2dc7d8260
Author: Davis King
Date: Dec 02, 2017 (10:21:23 UTC)

Fixed grammar

Modified
dlib/global_optimization/global_function_search_abstract.h

Revision: a70fbba8fde7d053
Author: Davis King
Date: Dec 02, 2017 (03:55:24 UTC)

Changed example to use minimization rather than maximization.

Modified
python_examples/global_optimization.py

Revision: 905c54f3baa202a7
Author: Davis King
Date: Dec 02, 2017 (03:55:02 UTC)

Added python interface to find_min_global()

Modified
tools/python/src/global_optimization.cpp

Revision: 241dc3881e43952a
Author: Davis King
Date: Dec 02, 2017 (02:53:31 UTC)

Added find_min_global() overloads.

Modified
dlib/global_optimization/find_max_global.h
dlib/global_optimization/find_max_global_abstract.h
dlib/test/global_optimization.cpp
examples/optimization_ex.cpp

Revision: 548deb5fb1cce36a
Author: Davis King
Date: Dec 01, 2017 (15:15:16 UTC)

Updated to use thread_local instead of old thread_specific_data class.

Modified
dlib/stack_trace.cpp

Revision: 5f222107dac916cb
Author: Davis King
Date: Dec 01, 2017 (14:53:57 UTC)

Fixed stack trace macro

Modified
dlib/stack_trace.h

Revision: 873f5faae5c5ed73
Author: Davis King
Date: Dec 01, 2017 (02:17:09 UTC)

Minor cleanup

Modified
dlib/disjoint_subsets.h
dlib/disjoint_subsets/disjoint_subsets_sized_abstract.h
dlib/test/disjoint_subsets_sized.cpp
Deleted
dlib/disjoint_subsets_sized.h

Revision: 62ff0d5e218bf64e
Author: Facundo Galán
Date: Dec 01, 2017 (06:08:37 UTC)

disjoint_subsets: add get_number_of_sets and get_size_of_set functions (#880) * disjoint_subsets: make clear and sizde functions noexcept * disjoint_subsets: add get_number_of_sets function, documentations and tests * disjoint_subsets: add get_size_of_set function, documentation and tests * Split disjoint_subsets in a hierarchy. Modify disjoint_subsets to make it a valid base class. Add new class disjoint_subsets_sized, with information about number of subsets, and size of each subset. Add necessary unit test for the new class. * Replace tabs by spaces. * Remove virtuals from disjoint_subsets, and modify disjoint_subsets_sized. Now disjoint_subsets_sized is implemented in terms of disjoint_subsets, instead of inherit from it.

Modified
dlib/disjoint_subsets/disjoint_subsets.h
dlib/disjoint_subsets/disjoint_subsets_abstract.h
dlib/test/CMakeLists.txt
dlib/test/disjoint_subsets.cpp
Added
dlib/disjoint_subsets/disjoint_subsets_sized.h
dlib/disjoint_subsets/disjoint_subsets_sized_abstract.h
dlib/disjoint_subsets_sized.h
dlib/test/disjoint_subsets_sized.cpp

Revision: a8e2ca4db2cad5ab
Author: Davis King
Date: Dec 01, 2017 (-05:26:31 UTC)

This example still uses a lot of visual studio ram.

Modified
examples/CMakeLists.txt

Revision: 7b24b43d4934cd42
Author: Davis King
Date: Nov 30, 2017 (17:38:29 UTC)

These examples compile now in visual studio due to the recent pragma directive added to core.h.

Modified
examples/CMakeLists.txt

Revision: 0d8e0e4d8693b596
Author: Davis King
Date: Nov 30, 2017 (17:14:04 UTC)

Added a pragma statement that tells visual studio to not recursively inline functions very much when using the dnn tools, since otherwise it will sometimes take hours to compile.

Modified
dlib/dnn/core.h

Revision: c4b5bc05e2518b49
Author: Davis King
Date: Nov 25, 2017 (14:28:53 UTC)

clarified docs

Modified
examples/optimization_ex.cpp

Revision: ebccbb9697063feb
Author: Davis King
Date: Nov 25, 2017 (07:25:35 UTC)

Just moved the try block to reduce the indentation level.

Modified
examples/optimization_ex.cpp

Revision: fa87479f3b07250e
Author: Davis King
Date: Nov 25, 2017 (07:23:43 UTC)

Updated example to use C++11 style code and also to show the new find_max_global() routine.

Modified
examples/optimization_ex.cpp

Revision: d74613f7712c5c08
Author: Davis King
Date: Nov 25, 2017 (05:23:36 UTC)

Added python example for find_max_global()

Added
python_examples/global_optimization.py

Revision: ab3d942fd3dc8009
Author: Davis King
Date: Nov 25, 2017 (05:07:00 UTC)

Added a python interface to find_max_global()

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

Revision: 3a8cd8c8896637b7
Author: Davis King
Date: Nov 25, 2017 (04:57:33 UTC)

Clarified spec

Modified
dlib/global_optimization/find_max_global_abstract.h

Revision: eea1a2316f0f3011
Author: Davis King
Date: Nov 25, 2017 (04:29:36 UTC)

Fixed find_max_global() overload that was ignoring one of its arguments.

Modified
dlib/global_optimization/find_max_global.h

Revision: 9057d374b5e4a471
Author: Davis King
Date: Nov 25, 2017 (03:26:16 UTC)

Switched this example to use the svm C instead of nu trainer.

Modified
examples/model_selection_ex.cpp

Revision: e1e54852a26acc4e
Author: Davis King
Date: Nov 25, 2017 (03:07:36 UTC)

Minor changes to avoid compiler warnings.

Modified
dlib/dnn/trainer.h
dlib/test/matrix2.cpp

Revision: 2e65de540ea90531
Author: Davis King
Date: Nov 25, 2017 (03:00:08 UTC)

Changed default solver epsilon so that it will solve to full floating point precision by default. If the user is OK with less precision they can change it.

Modified
dlib/global_optimization/find_max_global.h
dlib/global_optimization/find_max_global_abstract.h
dlib/global_optimization/global_function_search.h
dlib/global_optimization/global_function_search_abstract.h

Revision: be19c47b84915aa5
Author: Davis King
Date: Nov 25, 2017 (02:42:48 UTC)

Fixing code for visual studio

Modified
dlib/global_optimization/find_max_global.h

Revision: fde4ddad8f0d8355
Author: Davis King
Date: Nov 24, 2017 (17:04:25 UTC)

Made this example program use the new find_max_global() instead of grid search and BOBYQA. This greatly simplifies the example.

Modified
examples/model_selection_ex.cpp

Revision: 94e5ee808b75aea0
Author: Davis King
Date: Nov 24, 2017 (16:44:09 UTC)

Made find_max_global() automatically apply a log-scale transform to variables that obviously need it.

Modified
dlib/global_optimization/find_max_global.h
dlib/global_optimization/find_max_global_abstract.h

Revision: 8dbe632e7ae48b62
Author: Davis King
Date: Nov 24, 2017 (12:22:37 UTC)

Added more docs

Modified
dlib/global_optimization/global_function_search_abstract.h

Revision: 1f2da9dd6649cc45
Author: Davis King
Date: Nov 24, 2017 (04:56:26 UTC)

Cleaned up the code a bit.

Modified
dlib/global_optimization/global_function_search.cpp
dlib/global_optimization/global_function_search.h
dlib/global_optimization/global_function_search_abstract.h

Revision: 83b80390d22efd73
Author: Davis King
Date: Nov 23, 2017 (06:43:32 UTC)

Renamed find_global_maximum() to find_max_global()

Modified
dlib/global_optimization.h
dlib/test/global_optimization.cpp
Added
dlib/global_optimization/find_max_global.h
dlib/global_optimization/find_max_global_abstract.h
Deleted
dlib/global_optimization/find_global_maximum.h
dlib/global_optimization/find_global_maximum_abstract.h

Revision: f3f63a3ba3e9c1b3
Author: Davis King
Date: Nov 23, 2017 (06:30:01 UTC)

More cleanup and added more tests

Modified
dlib/global_optimization/find_global_maximum.h
dlib/global_optimization/find_global_maximum_abstract.h
dlib/global_optimization/global_function_search.cpp
dlib/test/global_optimization.cpp

Revision: af6c65cc775eb452
Author: Davis King
Date: Nov 23, 2017 (05:57:00 UTC)

Fixed spec

Modified
dlib/global_optimization/find_global_maximum_abstract.h

Revision: c5139c043a41820b
Author: Davis King
Date: Nov 23, 2017 (05:03:11 UTC)

A bit of cleanup and documentation

Modified
dlib/global_optimization/find_global_maximum.h
dlib/global_optimization/global_function_search.cpp
dlib/global_optimization/global_function_search.h
Added
dlib/global_optimization/find_global_maximum_abstract.h
dlib/global_optimization/global_function_search_abstract.h

Revision: f2fbc879e04e27b4
Author: Davis King
Date: Nov 23, 2017 (02:59:10 UTC)

Fixed and clarified spec

Modified
dlib/global_optimization/upper_bound_function_abstract.h

Revision: ff1a5b18cefecfc9
Author: hannometer
Date: Nov 22, 2017 (12:42:15 UTC)

imglab: select next/previous image with 's' and 'w' (#964) * imglab: select next/previous image with 's' and 'w' * imglab: make 'w' and 's' keys behave like UP and DOWN keys; add 'about' text

Modified
tools/imglab/src/metadata_editor.cpp

Revision: 2ed19144e2c265df
Author: Davis King
Date: Nov 22, 2017 (08:06:19 UTC)

Made the loss dumping between learning rate changes a little more relaxed. In particular, rather than just dumping exactly 400 of the last loss values, it now dumps 400 + 10% of the loss buffer. This way, the amount of the dump is proportional to the steps without progress threshold. This is better because when the user sets the steps without progress to something larger it probably means you need to look at more loss values to determine that we should stop, so dumping more in that case ought to be better.

Modified
dlib/dnn/trainer.h

Revision: 68f78b1253264fd6
Author: Davis King
Date: Nov 20, 2017 (16:36:04 UTC)

Added global_function_search unit test

Modified
dlib/test/global_optimization.cpp

Revision: be23f984586d49aa
Author: Davis King
Date: Nov 20, 2017 (16:13:49 UTC)

more cleanup

Modified
dlib/global_optimization/global_function_search.cpp
dlib/global_optimization/global_function_search.h

Revision: 1fd281172beef8dd
Author: Davis King
Date: Nov 20, 2017 (14:55:07 UTC)

Cleanup

Modified
dlib/global_optimization/global_function_search.cpp
dlib/global_optimization/global_function_search.h

Revision: 57ed42324f584cf5
Author: Davis King
Date: Nov 20, 2017 (14:31:20 UTC)

Cleaned up the compile_time_integer_list and make_compile_time_integer_range types and put them into their own file.

Modified
dlib/dnn/core.h
dlib/global_optimization/find_global_maximum.h
Added
dlib/metaprogramming.h

Revision: 57e1dc1fd861432c
Author: Kino
Date: Nov 20, 2017 (19:52:24 UTC)

generic image all the way - colormaps.h (#971) Still hunting down pre-generic_image implementations

Modified
dlib/image_transforms/colormaps.h

Revision: e48fc4a638ad7f55
Author: Davis King
Date: Nov 20, 2017 (13:48:14 UTC)

Changed python build script to append rather than overwrite CMAKE_PREFIX_PATH.

Modified
dlib/cmake_utils/add_python_module

Revision: 8b67b8d494e687cf
Author: Juha Reunanen
Date: Nov 19, 2017 (19:53:50 UTC)

Problem: log loss may become infinite, if g[idx] goes zero (#938) * Problem: log loss may become infinite, if g[idx] goes zero Solution: limit the input of the log function to 1e-6 (or more) * Parameterize the safe_log epsilon limit, and make the default value 1e-10

Modified
dlib/dnn/loss.h

Revision: 2dd8e4eef3a78bd7
Author: Davis King
Date: Nov 18, 2017 (16:40:44 UTC)

Made the global_function_search object use the faster incremental upper_bound_function::add(). Also fixed some issues in the solver.

Modified
dlib/global_optimization/global_function_search.cpp
dlib/global_optimization/global_function_search.h

Revision: e2ee96d36b67f5ca
Author: Davis King
Date: Nov 17, 2017 (16:42:29 UTC)

Added a .add() to upper_bound_function so that the upper bound can be quickly updated without needing to resolve the whole QP.

Modified
dlib/global_optimization/upper_bound_function.h
dlib/global_optimization/upper_bound_function_abstract.h
dlib/test/global_optimization.cpp

Revision: 4aeb8a7ab0494de8
Author: Davis King
Date: Nov 15, 2017 (12:20:36 UTC)

Made normalization code more robust and a bit cleaner.

Modified
dlib/global_optimization/upper_bound_function.h

Revision: e85ac655088251e8
Author: Davis King
Date: Nov 17, 2017 (14:07:41 UTC)

Added loss_dot layer

Modified
dlib/dnn/loss.h
dlib/dnn/loss_abstract.h
dlib/test/dnn.cpp

Revision: f82ca631041817aa
Author: Davis King
Date: Nov 17, 2017 (11:55:24 UTC)

Upgraded the con_ layer so that you can set the nr or nc to 0 in the layer specification and this means "make the filter cover the whole input image dimension". So it's just an easy way to make a filter sized exactly so that it will have one output along that dimension.

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

Revision: 9636a74b9406a9c9
Author: Davis King
Date: Nov 17, 2017 (06:40:44 UTC)

Added softmax_all layer.

Modified
dlib/dnn/cpu_dlib.cpp
dlib/dnn/cpu_dlib.h
dlib/dnn/cudnn_dlibapi.cpp
dlib/dnn/cudnn_dlibapi.h
dlib/dnn/layers.h
dlib/dnn/layers_abstract.h
dlib/dnn/tensor_tools.cpp
dlib/dnn/tensor_tools.h
dlib/test/dnn.cpp

Revision: 31485fb7c99010ea
Author: Kino
Date: Nov 17, 2017 (18:41:55 UTC)

generic_image all the way (#921) * generic_image all the way tried to hunt down and correct the functions that were using a non-generic_image approach to dlib’s generic images. * generic image fix fix Had to change a couple of const_image_view to non-const versions so array access is possible in the rest of the code * same same * back to sanity

Modified
dlib/gui_widgets/base_widgets.h
dlib/gui_widgets/canvas_drawing.h

Revision: bc5b7f8157b4db2c
Author: Amin Cheloh
Date: Nov 17, 2017 (25:38:48 UTC)

Update dnn_mmod_find_cars2_ex.cpp (#966)

Modified
examples/dnn_mmod_find_cars2_ex.cpp

Revision: 4520ef38452cdfef
Author: Davis King
Date: Nov 16, 2017 (16:45:43 UTC)

Work around visual studio's lack of C++11 support.

Modified
dlib/global_optimization/find_global_maximum.h

Revision: e3376d54a97a613b
Author: Davis King
Date: Nov 15, 2017 (04:24:50 UTC)

Removed unneeded assert

Modified
dlib/global_optimization/global_function_search.cpp

Revision: 3745fccf08fd71e1
Author: Davis King
Date: Nov 15, 2017 (02:10:50 UTC)

Changed network filename to something more descriptive.

Modified
examples/dnn_semantic_segmentation_ex.cpp
examples/dnn_semantic_segmentation_ex.h
examples/dnn_semantic_segmentation_train_ex.cpp

Revision: 90a9d9bda445c006
Author: Davis King
Date: Nov 15, 2017 (02:06:33 UTC)

Minor tweaks to spec

Modified
dlib/image_transforms/interpolation_abstract.h

Revision: 529ad0fe8c57ddd6
Author: Juha Reunanen
Date: Nov 15, 2017 (16:01:52 UTC)

Add semantic segmentation example (#943) * Add example of semantic segmentation using the PASCAL VOC2012 dataset * Add note about Debug Information Format when using MSVC * Make the upsampling layers residual as well * Fix declaration order * Use a wider net * trainer.set_iterations_without_progress_threshold(5000); // (was 20000) * Add residual_up * Process entire directories of images (just easier to use) * Simplify network structure so that builds finish even on Visual Studio (faster, or at all) * Remove the training example from CMakeLists, because it's too much for the 32-bit MSVC++ compiler to handle * Remove the probably-now-unnecessary set_dnn_prefer_smallest_algorithms call * Review fix: remove the batch normalization layer from right before the loss * Review fix: point out that only the Visual C++ compiler has problems. Also expand the instructions how to run MSBuild.exe to circumvent the problems. * Review fix: use dlib::match_endings * Review fix: use dlib::join_rows. Also add some comments, and instructions where to download the pre-trained net from. * Review fix: make formatting comply with dlib style conventions. * Review fix: output training parameters. * Review fix: remove #ifndef __INTELLISENSE__ * Review fix: use std::string instead of char* * Review fix: update interpolation_abstract.h to say that extract_image_chips can now take the interpolation method as a parameter * Fix whitespace formatting * Add more comments * Fix finding image files for inference * Resize inference test output to the size of the input; add clarifying remarks * Resize net output even in calculate_accuracy * After all crop the net output instead of resizing it by interpolation * For clarity, add an empty line in the console output

Modified
dlib/image_transforms/interpolation.h
dlib/image_transforms/interpolation_abstract.h
examples/CMakeLists.txt
Added
examples/dnn_semantic_segmentation_ex.cpp
examples/dnn_semantic_segmentation_ex.h
examples/dnn_semantic_segmentation_train_ex.cpp

Revision: 7a224fc4691efc6f
Author: Sebastian Höffner
Date: Nov 14, 2017 (22:24:39 UTC)

Adding missing implementation of tabbed_display::selected_tab (#957)

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

Revision: acde092fa979ba10
Author: Davis King
Date: Nov 14, 2017 (01:17:28 UTC)

merged

Modified
dlib/CMakeLists.txt
dlib/cmake_utils/cmake_find_blas.txt
dlib/config.h.in
dlib/matrix/lapack/fortran_id.h

Revision: 2d32d19bd7ac7024
Author: Sean Warren
Date: Nov 14, 2017 (32:57:00 UTC)

Determine lapack fortran linking convention in CMake (#934) * Determine lapack fortran linking convention in CMake Looks for lapack function with and without trailing underscore - allows use of CLAPACK on windows where functions are decorated but fortran_id.h otherwise assumes they are not * Use enable_preprocessor_switch for LAPACK decoration detection * Add lapack decoration defines to config.h.in * Use correct variable for lapack_libraries

Modified
dlib/CMakeLists.txt
dlib/cmake_utils/cmake_find_blas.txt
dlib/config.h.in
dlib/matrix/lapack/fortran_id.h

Revision: 000b01cb844fcf11
Author: Davis King
Date: Nov 13, 2017 (17:41:07 UTC)

Added tools for doing global optimization. The main new tools here are find_global_maximum() and global_function_search.

Modified
dlib/CMakeLists.txt
dlib/all/source.cpp
dlib/global_optimization.h
Added
dlib/global_optimization/find_global_maximum.h
dlib/global_optimization/global_function_search.cpp
dlib/global_optimization/global_function_search.h

Revision: d804080cfbd4f055
Author: Davis King
Date: Nov 13, 2017 (17:38:38 UTC)

Made bigint use explicit relational operator functions rather than the overly general templates in dlib::relational_operators. I did this because the templates in dlib::relational_operators sometimes cause clashes with other code in irritating ways.

Modified
dlib/bigint/bigint_kernel_1.h
dlib/bigint/bigint_kernel_2.h
dlib/bigint/bigint_kernel_abstract.h
dlib/bigint/bigint_kernel_c.h

Revision: 401ebab9989a1911
Author: Davis King
Date: Nov 13, 2017 (00:56:57 UTC)

Added missing #include

Modified
dlib/svm/svm_c_linear_dcd_trainer.h

Revision: d76fe4993d93f60f
Author: Davis King
Date: Nov 12, 2017 (10:16:25 UTC)

Added solve_trust_region_subproblem_bounded()

Modified
dlib/optimization/optimization_trust_region.h
dlib/optimization/optimization_trust_region_abstract.h
dlib/test/optimization.cpp

Revision: 29e547c001fcfd09
Author: Davis King
Date: Nov 12, 2017 (09:18:34 UTC)

Added upper_bound_function object.

Modified
dlib/test/CMakeLists.txt
Added
dlib/global_optimization.h
dlib/global_optimization/upper_bound_function.h
dlib/global_optimization/upper_bound_function_abstract.h
dlib/test/global_optimization.cpp

Revision: 433312b1d9357e8a
Author: Davis King
Date: Nov 12, 2017 (02:14:48 UTC)

Reduce parallelism in build to avoid travis running out of RAM.

Modified
dlib/travis/build-and-test.sh

Revision: b5743c2df812daa6
Author: Davis King
Date: Nov 11, 2017 (03:42:16 UTC)

Fixed deserialize()

Modified
dlib/dnn/loss.h

Revision: 33608ad54a5bb598
Author: Davis King
Date: Nov 11, 2017 (03:37:29 UTC)

merged

Modified
dlib/dnn/loss.h
dlib/dnn/loss_abstract.h
dlib/matrix/matrix_op.h

Revision: 0a45b02fc198563b
Author: Juha Reunanen
Date: Nov 11, 2017 (17:37:00 UTC)

Add support for non-scale-invariant MMOD (#809) * Add capability to train scale-variant MMOD models * Review fixes: change bool scale_invariant to strongly typed enum, etc * Add serialization and deserialization of assumed_input_layer_type * Fix code formatting * Rename things as per review feedback * Review fix: move enum use_image_pyramid outside mmod_options * Continue execution with net, if deserialization of shape predictor fails * Revert "Continue execution with net, if deserialization of shape predictor fails" This reverts commit 8ea4482c043b5b98b97ed5b78bfc6916a1e2a453.

Modified
dlib/dnn/loss.h
dlib/dnn/loss_abstract.h

Revision: 8a0e025e1b29dd7a
Author: Pierre Fenoll
Date: Nov 11, 2017 (15:21:55 UTC)

pedantic: fix "extra `;`" warnings when compiling with -Wpedantic (#906)

Modified
dlib/matrix/matrix_op.h

Revision: ac98a4faa14f7718
Author: Davis King
Date: Nov 10, 2017 (13:11:08 UTC)

merged

Modified
dlib/cmake_utils/dlibConfig.cmake.in
dlib/test/dnn.cpp
tools/python/src/decision_functions.cpp
tools/python/src/testing_results.h

Revision: 403d8c86c47fd6a4
Author: Davis King
Date: Nov 10, 2017 (13:10:51 UTC)

Added loss_epsilon_insensitive_ layer

Modified
dlib/dnn/loss.h
dlib/dnn/loss_abstract.h
dlib/test/dnn.cpp

Revision: b2720f8536b180f8
Author: Davis King
Date: Nov 10, 2017 (12:42:40 UTC)

Updated code to work with new regression test output.

Modified
tools/python/src/decision_functions.cpp
tools/python/src/testing_results.h

Revision: 21b164c92e18ddc3
Author: Sean Warren
Date: Nov 09, 2017 (32:36:20 UTC)

Remove explicit specification of library path in dlibConfig.cmake (#935) * Remove explicit specification of library path in dlib.cmake Enables side-by-side multi configuration build on windows * Add dlib_LIBS For backwards compatability

Modified
dlib/cmake_utils/dlibConfig.cmake.in

Revision: 70e18693527ac105
Author: OtacilioNeto
Date: Nov 07, 2017 (13:27:54 UTC)

Fix issue https://github.com/davisking/dlib/issues/925 (#928) * This fix suggested by davisking make unit tests more reliable. Fix issue https://github.com/davisking/dlib/issues/925 * This fix suggested by davisking make unit tests more reliable. Fix issue https://github.com/davisking/dlib/issues/925

Modified
dlib/test/dnn.cpp

Revision: 10e00477fa63e058
Author: Davis King
Date: Nov 10, 2017 (11:56:37 UTC)

Changed test_regression_function() and cross_validate_regression_trainer() to output 2 more statistics, which are the mean absolute error and the standard deviation of the absolute error. This means these functions now return 4D rather than 2D vectors. I also made test_regression_function() take a non-const reference to the regression function so that DNN objects can be tested.

Modified
dlib/svm/cross_validate_regression_trainer.h
dlib/svm/cross_validate_regression_trainer_abstract.h
dlib/test/svm.cpp

Revision: 46bc892f13f4af2b
Author: Davis King
Date: Nov 10, 2017 (11:52:20 UTC)

Fixed compiler warning

Modified
dlib/image_transforms/random_cropper.h

Revision: 642123a7196c9a3d
Author: Davis King
Date: Nov 05, 2017 (05:36:48 UTC)

Made unit tests more reliable

Modified
dlib/test/dnn.cpp

Revision: fdae9df8388b9142
Author: Davis King
Date: Nov 05, 2017 (02:57:34 UTC)

Added notes about not using visual studio 2017 since it doesn't support C++11.

Modified
dlib/cmake_utils/add_python_module

Revision: 39d0d0b1d246ada2
Author: Davis King
Date: Nov 05, 2017 (02:37:52 UTC)

Don't use CUDA/DNN stuff in Visual Studio 2017.

Modified
dlib/cmake_utils/set_compiler_specific_options.cmake

Revision: acdd9b3689390da2
Author: Davis King
Date: Nov 05, 2017 (02:37:29 UTC)

Fixed grammar in comment

Modified
examples/CMakeLists.txt

Revision: 42baaa1336a719f0
Author: Davis King
Date: Nov 05, 2017 (03:13:26 UTC)

Changed the mean squared loss layers to return a loss that's the MSE, not 0.5*MSE. The only thing this effects is the logging messages that print during training, which were confusing since the reported loss was half the size you would expect.

Modified
dlib/dnn/loss.h

Revision: fbc0668caaa254af
Author: Gilles Rochefort
Date: Nov 04, 2017 (03:40:25 UTC)

Remove unused variable (#919)

Modified
dlib/gui_widgets/widgets.cpp

Revision: efc2148c344b67b6
Author: Davis King
Date: Nov 02, 2017 (06:24:25 UTC)

Fixed timing print() so the output scales are set correctly.

Modified
dlib/timing.h

Revision: 9a22b9508a392b92
Author: Davis King
Date: Nov 02, 2017 (01:43:15 UTC)

Updated comments to reflect recent API changes.

Modified
examples/dnn_mmod_dog_hipsterizer.cpp
examples/dnn_mmod_face_detection_ex.cpp

Revision: 64fec2dc9fd89914
Author: Davis King
Date: Nov 01, 2017 (12:30:42 UTC)

Changed the timing code to use the C++11 high resolution clock and atomics. This makes the timing code a lot more precise.

Modified
dlib/timing.h

Revision: 884b61e889c177f8
Author: Davis King
Date: Nov 01, 2017 (12:25:32 UTC)

Fixed error in TIME_THIS(). It was still printing in seconds when it said minutes in the output.

Modified
dlib/time_this.h

Revision: 7b92a9a00a49dbb7
Author: Davis King
Date: Oct 31, 2017 (13:01:47 UTC)

Upgraded the input layer so you can give input<std::array<matrix<T>,K>> types as input layer specifications. This will create input tensors with K channels.

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

Revision: 6f4d3e69a48e2101
Author: Davis King
Date: Oct 29, 2017 (04:57:52 UTC)

Made hamming_distance() a little more general.

Modified
dlib/general_hash/count_bits.h

Revision: 22cdf079eacf608f
Author: Davis King
Date: Oct 28, 2017 (16:44:43 UTC)

Made resizable_tensor objects not perform a reallocation if they are resized to be smaller. Instead, they now behave like std::vector in that they just change their nominal size but keep the same memory, only reallocating if they are resized to something larger than their underlying memory block. This change makes some uses of dlib faster, in particular, running networks on a large set of images of differing sizes will now run faster since there won't be any GPU reallocations, which are notoriously slow.

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

Revision: 13d6a64237b61d6c
Author: Davis King
Date: Oct 28, 2017 (16:35:59 UTC)

Suppress compiler warning

Modified
dlib/dnn/layers.h

Revision: b57f4c4dcc045d2d
Author: Davis King
Date: Oct 28, 2017 (16:35:25 UTC)

Always compile the C++11 related unit tests.

Modified
dlib/test/CMakeLists.txt

Revision: 25be87f5d99131d1
Author: Davis King
Date: Oct 28, 2017 (14:45:48 UTC)

Added set_num_outputs() to fc_ layer.

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

Revision: 1c2bc68743e1bf3d
Author: Davis King
Date: Oct 28, 2017 (08:25:32 UTC)

Improved loss_mmod_ warning message.

Modified
dlib/dnn/loss.h

Revision: 7b52f75e2b6d18a4
Author: Davis King
Date: Oct 28, 2017 (08:23:47 UTC)

Made requires clause a little more sensible.

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

Revision: 4426725482f44a1a
Author: Davis King
Date: Oct 28, 2017 (06:48:54 UTC)

Fixed a bug in dlib's MS Windows GUI code that was introduced a little while back when we switched everything to std::shared_ptr. Turns out std::shared_ptr has some surprising limitations. This change fixes a bug where the program crashes or hangs sometimes during program shutdown.

Modified
dlib/gui_core/gui_core_kernel_1.cpp
dlib/gui_core/gui_core_kernel_1.h

Revision: 7ed3b7f4b8689cc3
Author: Davis King
Date: Oct 28, 2017 (04:50:42 UTC)

Fixed sqlite include path finding.

Modified
dlib/CMakeLists.txt

Revision: 4ff1888a8eae7073
Author: Davis King
Date: Oct 28, 2017 (-04:06:42 UTC)

Don't ever try to use the busted version of libjpeg in anaconda.

Modified
dlib/CMakeLists.txt

Revision: 77f940ee5761f271
Author: Davis King
Date: Oct 27, 2017 (19:42:40 UTC)

Make cmake output less confusing

Modified
dlib/cmake_utils/cmake_find_blas.txt

Revision: 1cc61b3ff9ec7f6b
Author: Davis King
Date: Oct 27, 2017 (19:39:04 UTC)

Clarified build instructions

Modified
dlib/cmake_utils/add_python_module

Revision: 87ee21307afdeb32
Author: Davis King
Date: Oct 27, 2017 (15:30:58 UTC)

Changed graph construction for chinese_whispers() so that each face is always included in the edge graph. If it isn't then the output labels from chinese_whispers would be missing faces in this degenerate case. So basically this fixes a bug where chinese_whispers(), when called from python, would sometimes return a labels array that doesn't include labels for all the inputs.

Modified
tools/python/src/face_recognition.cpp

Revision: ee1ce5738cc9de54
Author: Davis King
Date: Oct 27, 2017 (15:29:52 UTC)

Changed graph construction for chinese_whispers() so that each face is always included in the edge graph. If it isn't then the output labels from chinese_whispers would be missing faces in this degenerate case.

Modified
examples/dnn_face_recognition_ex.cpp

Revision: 7b16aaaf91276334
Author: Davis King
Date: Oct 27, 2017 (03:27:57 UTC)

Made random_cropper use cleaner and unbiased dlib::rand interface.

Modified
dlib/image_transforms/random_cropper.h

Revision: 9de7bcf981a9f1c4
Author: Davis King
Date: Oct 27, 2017 (01:58:34 UTC)

Cleanup

Modified
dlib/cmake_utils/cmake_find_blas.txt

Revision: e1a474dbb93c1b0e
Author: Davis King
Date: Oct 27, 2017 (01:50:15 UTC)

Removed old cruft not needed anymore since we are doing this kind of thing with cmake targets already in set_compiler_specific_options.cmake.

Modified
dlib/cmake_utils/cmake_find_blas.txt

Revision: 7f132fb15a20d933
Author: Sean Warren
Date: Oct 27, 2017 (31:45:53 UTC)

Win lapack (#913) * Fall back on find_package for blas, lapack on Windows * Remove debugging message

Modified
dlib/cmake_utils/cmake_find_blas.txt

Revision: 32fa776b8f8593e3
Author: Davis King
Date: Oct 25, 2017 (01:42:31 UTC)

Updated python code to use the new dlib::jitter_image() instead of hacking it out of the random_cropper.

Modified
tools/python/src/face_recognition.cpp

Revision: 14329e4dc3c8d816
Author: Davis King
Date: Oct 24, 2017 (18:10:02 UTC)

Changed the random_cropper's set_min_object_size() routine to take min box dimensions in the same format as the mmod_options object (i.e. two lengths measured in pixels). This should make defining random_cropping strategies that are consistent with MMOD settings much more straightforward since you can just take the mmod_options settings and give them to the random_cropper and it will do the right thing.

Modified
dlib/image_transforms/random_cropper.h
dlib/image_transforms/random_cropper_abstract.h
examples/dnn_mmod_ex.cpp
examples/dnn_mmod_train_find_cars_ex.cpp
examples/random_cropper_ex.cpp

Revision: c97caf6837a6039c
Author: Davis King
Date: Oct 24, 2017 (17:13:02 UTC)

Made the metric learning example do image jittering.

Modified
examples/dnn_face_recognition_ex.cpp
examples/dnn_metric_learning_on_images_ex.cpp

Revision: f800181d4ac7f2be
Author: Davis King
Date: Oct 24, 2017 (04:02:44 UTC)

Cleaned up jitter_image() code and moved it into dlib proper.

Modified
dlib/image_transforms/interpolation.h
dlib/image_transforms/interpolation_abstract.h
examples/dnn_face_recognition_ex.cpp

Revision: 0ab057582f342b35
Author: Sean Warren
Date: Oct 24, 2017 (23:00:49 UTC)

Use banded Cholesky factorization if possible (#857) * Use banded Cholesky factorization if possible Computation cost from n.n.n -> n.n.b where b is band size * Tidy up whitespace * Remove typo * Escape from banded matrix detection correctly * Use LAPACK banded Cholesky factorisation where possible * Add banded chol tests * Add test for banded chol in column major layout * Use row major layout for banded chol - more efficient as we will pass to LAPACK

Modified
dlib/matrix/matrix_la.h
dlib/test/matrix.cpp
Added
dlib/matrix/lapack/pbtrf.h

Revision: 328dc37c8ddee740
Author: Gilles Rochefort
Date: Oct 21, 2017 (18:16:36 UTC)

Add some operator() to cv_image for compatibility with mmod loss. (#900) * Add some operator() to cv_image for compatibility with mmod. * Update documentation

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

Revision: 60074c1d09eeae3d
Author: Davis King
Date: Oct 22, 2017 (12:06:11 UTC)

Make sure the test loss the trainer logs to the console never gets suck at infinity.

Modified
dlib/dnn/trainer.h

Revision: 6abb5e6d9db7c7ee
Author: Davis King
Date: Oct 20, 2017 (17:45:14 UTC)

Updated spec

Modified
dlib/dnn/layers_abstract.h

Revision: a6aa7dcce8c1a59a
Author: Gilles Rochefort
Date: Oct 21, 2017 (05:44:00 UTC)

Missing interfaces in add_prev for compatibility with mmod loss. (#901)

Modified
dlib/dnn/layers.h

Revision: a4cb99a0e7387575
Author: Davis King
Date: Oct 20, 2017 (17:37:54 UTC)

Sometimes the loss_mmod_ layer could experience excessively long runtime during early iterations since the model might produce a huge number of false alarms while the detector is still bad. Processing all these detections can cause it to run slowly until the model is good enough to avoid really excessive amounts of false alarms. This change puts more of a limit on the number of false alarms processed during those early iterations and avoids the slowdown.

Modified
dlib/dnn/loss.h

Revision: 057ffb4905097dc3
Author: Davis King
Date: Oct 20, 2017 (17:34:34 UTC)

The loss returned by compute_loss_value_and_gradient() wasn't quite right. It doesn't effect normal use, but it's still wrong and this change fixes it.

Modified
dlib/dnn/loss.h

Revision: 357d1e7a16728a17
Author: Davis King
Date: Oct 20, 2017 (12:54:49 UTC)

Added install_target_output_folder option to matlab cmake scripts.

Modified
dlib/matlab/CMakeLists.txt
dlib/matlab/cmake_mex_wrapper

Revision: 5ed5aae2ecddb978
Author: Davis King
Date: Oct 19, 2017 (16:57:24 UTC)

Fixed the terrible breaking change to the tensor object I made earlier today :(

Modified
dlib/dnn/gpu_data.cpp

Revision: 88387be877309652
Author: Davis King
Date: Oct 19, 2017 (08:09:29 UTC)

Improved cmake error messages about CUDA support.

Modified
dlib/CMakeLists.txt
dlib/cmake_utils/test_for_cudnn/find_cudnn.txt

Revision: 89be073b2c0b05a9
Author: Davis King
Date: Oct 19, 2017 (06:50:40 UTC)

Changed tensor so that, when reallocating memory, it frees any existing memory *before* allocating new memory. It used to be the other way around which caused momentary spikes of increased memory usage. This could put you over the total memory available in some cases which is obviously less than ideal behavior.

Modified
dlib/dnn/gpu_data.cpp

Revision: 41fd094e76fbf10b
Author: Davis King
Date: Oct 18, 2017 (06:17:46 UTC)

Fixed bug

Modified
python_examples/svm_binary_classifier.py

Revision: 8e56a6e868922dd4
Author: Davis King
Date: Oct 18, 2017 (03:36:31 UTC)

Added python binary classifier example

Added
python_examples/svm_binary_classifier.py

Revision: 8f8305a983a0b19f
Author: Davis King
Date: Oct 17, 2017 (15:20:29 UTC)

Fixed weird wording.

Modified
examples/CMakeLists.txt

Revision: e85d60737bb8b890
Author: Davis King
Date: Oct 17, 2017 (15:18:57 UTC)

Made comment more clear.

Modified
examples/CMakeLists.txt

Revision: 0f7d11f4b1d5aa28
Author: Juha Reunanen
Date: Oct 18, 2017 (05:12:38 UTC)

Add get_net parameter that allows to call the function without forcing flush to disk (#875) * Add get_net parameter allowing to call the function without forced flush to disk (see the discussion in #869) * A blindfolded attempt to fix compile error on the CI server

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

Revision: f68ab44974cf7948
Author: jpblackburn
Date: Oct 17, 2017 (15:11:16 UTC)

Allow cross_validate_trainer_threaded to use non-double data (#883)

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

Revision: 363b3a9af2b16ccd
Author: Davis King
Date: Oct 17, 2017 (06:31:27 UTC)

Fixed path

Modified
dlib/java/cmake_swig_jni

Revision: ede782ed7a0e1063
Author: Davis King
Date: Oct 17, 2017 (06:24:23 UTC)

Yet more cmake cleanup

Modified
dlib/java/CMakeLists.txt
dlib/java/cmake_swig_jni

Revision: 3ee69a0b0c1e7635
Author: Davis King
Date: Oct 17, 2017 (06:02:30 UTC)

More cmake script cleanup

Modified
dlib/matlab/CMakeLists.txt
dlib/matlab/cmake_mex_wrapper

Revision: ee24815d4e80afb0
Author: Davis King
Date: Oct 17, 2017 (05:45:18 UTC)

Fix deprecation warning from new cmake

Modified
dlib/CMakeLists.txt

Revision: 78502ee2818a0c55
Author: Davis King
Date: Oct 17, 2017 (15:02:31 UTC)

Made cmake print a very explicit error message if you try to use a version of gcc that is too old.

Modified
dlib/cmake_utils/set_compiler_specific_options.cmake

Revision: c8c3eda2450daee4
Author: Davis King
Date: Oct 16, 2017 (17:36:18 UTC)

More cmake cleanup

Modified
dlib/cmake_utils/add_python_module
dlib/test/CMakeLists.txt
dlib/test/gui/CMakeLists.txt
dlib/test/tools/CMakeLists.txt
tools/convert_dlib_nets_to_caffe/CMakeLists.txt
tools/htmlify/CMakeLists.txt
tools/imglab/CMakeLists.txt

Revision: b911418ea135e232
Author: Davis King
Date: Oct 16, 2017 (17:34:17 UTC)

suppress compiler warnings

Modified
dlib/dnn/layers.h

Revision: 295fe04c36ceb719
Author: Davis King
Date: Oct 16, 2017 (17:34:00 UTC)

Suppress compiler warnings

Modified
tools/convert_dlib_nets_to_caffe/main.cpp

Revision: 97616b17fb4a47d0
Author: Davis King
Date: Oct 16, 2017 (17:11:16 UTC)

CMake tweaks to avoid errors in visual studio

Modified
dlib/cmake_utils/set_compiler_specific_options.cmake
dlib/cmake_utils/use_cpp_11.cmake

Revision: 9dd27d3f71028967
Author: Davis King
Date: Oct 16, 2017 (16:55:28 UTC)

Some cmake script cleanup and refactoring.

Modified
CMakeLists.txt
dlib/CMakeLists.txt
dlib/cmake
dlib/cmake_utils/add_global_compiler_switch.cmake
dlib/cmake_utils/dlibConfig.cmake.in
dlib/cmake_utils/test_for_cudnn/CMakeLists.txt
dlib/cmake_utils/use_cpp_11.cmake
examples/CMakeLists.txt
Added
dlib/cmake_utils/set_compiler_specific_options.cmake

Revision: 8bb39ca0f3ce4890
Author: Davis King
Date: Oct 16, 2017 (16:55:07 UTC)

Removed cout statement.

Modified
dlib/test/rand.cpp

Revision: 7f61e0dc695f1b25
Author: Davis King
Date: Oct 16, 2017 (05:22:01 UTC)

Fixed compiler error due to #define nonsense in visual studio.

Modified
dlib/test/rand.cpp

Revision: 305132ba0defe138
Author: Davis King
Date: Oct 16, 2017 (02:49:03 UTC)

Prevent include path clashes from system installs of dlib as well as suppress warning messages from boost and python system header files.

Modified
dlib/cmake_utils/add_python_module

Revision: 95e28ba0bbe3e2b0
Author: Davis King
Date: Oct 15, 2017 (11:53:33 UTC)

I accidentally slightly changed the cropping behavior of get_face_chip_details() when used with the 68 point landmark model about a month ago. This change reverts it back to the previous behavior. The change was very minor, so it shouldn't matter either way. But being consistent is important and I'm changing it back.

Modified
dlib/image_transforms/interpolation.h

Revision: e365cd0ef50efe07
Author: Davis King
Date: Oct 14, 2017 (06:29:29 UTC)

Added warning messages when users use the old non-target based cmake variables.

Modified
dlib/cmake_utils/dlibConfig.cmake.in

Revision: dcb2417f7b3180a6
Author: Davis King
Date: Oct 10, 2017 (05:59:59 UTC)

merged

Modified
dlib/array/array_kernel.h
dlib/array/array_kernel_abstract.h
dlib/data_io/load_image_dataset.h
dlib/data_io/load_image_dataset_abstract.h
dlib/dnn/layers.h
dlib/dnn/layers_abstract.h
dlib/image_transforms/interpolation.h
dlib/image_transforms/interpolation_abstract.h
docs/docs/faq.xml
docs/docs/howto_contribute.xml
docs/docs/stylesheet.xsl
python_examples/face_clustering.py
python_examples/requirements.txt
python_examples/train_object_detector.py
tools/python/src/face_recognition.cpp
Added
python_examples/face_alignment.py

Revision: d855484b4a1244fb
Author: Davis King
Date: Oct 10, 2017 (05:53:22 UTC)

Added assert to improve error messages.

Modified
dlib/dnn/layers.h

Revision: 7ceecf3981ed53dd
Author: Davis King
Date: Oct 10, 2017 (05:52:43 UTC)

Added get_integer() and get_integer_in_range() to dlib::rand.

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

Revision: c86b9956408f3b98
Author: Davis King
Date: Oct 08, 2017 (03:49:50 UTC)

Made dlib::array able to push_back() from rvalues.

Modified
dlib/array/array_kernel.h
dlib/array/array_kernel_abstract.h

Revision: 8c35538741e4992a
Author: Davis King
Date: Oct 08, 2017 (03:45:50 UTC)

Fixed missing inline

Modified
dlib/data_io/load_image_dataset.h

Revision: 2a5c218298e3818a
Author: Davis King
Date: Oct 07, 2017 (10:09:09 UTC)

Made add_image_left_right_flips() and add_image_rotations() work with mmod_rects in addition to rectangles and full_object_detections.

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

Revision: 52175140c4893822
Author: Davis King
Date: Oct 07, 2017 (10:05:58 UTC)

Fixed load_image_dataset()'s skip_empty_images() option. It wasn't skipping images that only have ignore boxes when you load into mmod_rects like it should have been.

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

Revision: 78459d399805fbf0
Author: Hung-Wei Chiu
Date: Sep 29, 2017 (31:20:11 UTC)

Fix warning (#851) * remove unused variable * modify variable type from int to size_t * fix previous delete, we need to call chinese_whispers here but we don't need its result now

Modified
tools/python/src/face_recognition.cpp

Revision: 4709c04600d4fef2
Author: Juha Reunanen
Date: Sep 28, 2017 (15:48:17 UTC)

cont layer: allow to set the number of filters at runtime (#845) * cont layer: allow to set the number of filters at runtime (implementation essentially copied from con layer) * Document the new constructor cont_(num_con_outputs o), and the function set_num_filters

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

Revision: 7a39aef0b82941ff
Author: Davis King
Date: Oct 01, 2017 (04:44:03 UTC)

Clarified docs

Modified
python_examples/train_object_detector.py

Revision: 592ac3782bf56bfe
Author: Davis King
Date: Sep 22, 2017 (17:52:15 UTC)

Clarified comment and updated requirements.txt

Modified
python_examples/face_alignment.py
python_examples/requirements.txt

Revision: 2a70697db1083d39
Author: Varun Chatterji
Date: Sep 19, 2017 (31:08:54 UTC)

Cleaned up example file.

Modified
python_examples/face_alignment.py

Revision: 085759181aa54b74
Author: Varun Chatterji
Date: Sep 19, 2017 (21:08:51 UTC)

Added code to get face_chip images..

Modified
tools/python/src/face_recognition.cpp
Added
python_examples/face_alignment.py

Revision: 18a411362346426a
Author: Varun Chatterji
Date: Sep 18, 2017 (27:54:26 UTC)

Added size and padding as optional parameters

Modified
python_examples/face_clustering.py
tools/python/src/face_recognition.cpp

Revision: a467d4803a8ffa95
Author: Davis King
Date: Sep 26, 2017 (07:49:29 UTC)

Made cmake error messages a little clearer

Modified
dlib/CMakeLists.txt

Revision: 40d617294a1414db
Author: Davis King
Date: Sep 20, 2017 (17:10:59 UTC)

Fixed a bug in how the mmod_options automatically determines detection window sizes. It would pick a bad size in some cases.

Modified
dlib/dnn/loss.h

Revision: 1bae38fc5e550b34
Author: Davis King
Date: Sep 19, 2017 (02:29:49 UTC)

Made unit test more robust

Modified
dlib/test/ranking.cpp

Revision: e58c8efa04f0e6e9
Author: Davis King
Date: Sep 15, 2017 (07:15:34 UTC)

Added loss_ranking_ layer

Modified
dlib/dnn/loss.h
dlib/dnn/loss_abstract.h
dlib/test/ranking.cpp

Revision: adcb5e3312af6896
Author: Davis King
Date: Sep 17, 2017 (11:16:41 UTC)

Fixed a bug in the random_cropper where it might crash due to division by 0 if small images are given as input.

Modified
dlib/image_transforms/random_cropper.h

Revision: 2049560d94e4b066
Author: Davis King
Date: Sep 17, 2017 (04:28:45 UTC)

Record last changeset and set PATCH version to 99

Modified
dlib/CMakeLists.txt
docs/.logger_revnum

Revision: fb51c77524ff13ca
Author: Davis King
Date: Sep 17, 2017 (04:28:29 UTC)

Created release v19.7

Modified
dlib/CMakeLists.txt


Old Change Logs