1. 07 Feb, 2020 1 commit
  2. 20 Jan, 2020 1 commit
  3. 28 Nov, 2019 1 commit
  4. 15 Nov, 2019 1 commit
    • Juha Reunanen's avatar
      Instance segmentation (#1918) · d175c350
      Juha Reunanen authored
      * Add instance segmentation example - first version of training code
      
      * Add MMOD options; get rid of the cache approach, and instead load all MMOD rects upfront
      
      * Improve console output
      
      * Set filter count
      
      * Minor tweaking
      
      * Inference - first version, at least compiles!
      
      * Ignore overlapped boxes
      
      * Ignore even small instances
      
      * Set overlaps_ignore
      
      * Add TODO remarks
      
      * Revert "Set overlaps_ignore"
      
      This reverts commit 65adeff1f89af62b10c691e7aa86c04fc358d03e.
      
      * Set result size
      
      * Set label image size
      
      * Take ignore-color into account
      
      * Fix the cropping rect's aspect ratio; also slightly expand the rect
      
      * Draw the largest findings last
      
      * Improve masking of the current instance
      
      * Add some perturbation to the inputs
      
      * Simplify ground-truth reading; fix random cropping
      
      * Read even class labels
      
      * Tweak default minibatch size
      
      * Learn only one class
      
      * Really train only instances of the selected class
      
      * Remove outdated TODO remark
      
      * Automatically skip images with no detections
      
      * Print to console what was found
      
      * Fix class index problem
      
      * Fix indentation
      
      * Allow to choose multiple classes
      
      * Draw rect in the color of the corresponding class
      
      * Write detector window classes to ostream; also group detection windows by class (when ostreaming)
      
      * Train a separate instance segmentation network for each classlabel
      
      * Use separate synchronization file for each seg net of each class
      
      * Allow more overlap
      
      * Fix sorting criterion
      
      * Fix interpolating the predicted mask
      
      * Improve bilinear interpolation: if output type is an integer, round instead of truncating
      
      * Add helpful comments
      
      * Ignore large aspect ratios; refactor the code; tweak some network parameters
      
      * Simplify the segmentation network structure; make the object detection network more complex in turn
      
      * Problem: CUDA errors not reported properly to console
      Solution: stop and join data loader threads even in case of exceptions
      
      * Minor parameters tweaking
      
      * Loss may have increased, even if prob_loss_increasing_thresh > prob_loss_increasing_thresh_max_value
      
      * Add previous_loss_values_dump_amount to previous_loss_values.size() when deciding if loss has been increasing
      
      * Improve behaviour when loss actually increased after disk sync
      
      * Revert some of the earlier change
      
      * Disregard dumped loss values only when deciding if learning rate should be shrunk, but *not* when deciding if loss has been going up since last disk sync
      
      * Revert "Revert some of the earlier change"
      
      This reverts commit 6c852124efe6473a5c962de0091709129d6fcde3.
      
      * Keep enough previous loss values, until the disk sync
      
      * Fix maintaining the dumped (now "effectively disregarded") loss values count
      
      * Detect cats instead of aeroplanes
      
      * Add helpful logging
      
      * Clarify the intention and the code
      
      * Review fixes
      
      * Add operator== for the other pixel types as well; remove the inline
      
      * If available, use constexpr if
      
      * Revert "If available, use constexpr if"
      
      This reverts commit 503d4dd3355ff8ad613116e3ffcc0fa664674f69.
      
      * Simplify code as per review comments
      
      * Keep estimating steps_without_progress, even if steps_since_last_learning_rate_shrink < iter_without_progress_thresh
      
      * Clarify console output
      
      * Revert "Keep estimating steps_without_progress, even if steps_since_last_learning_rate_shrink < iter_without_progress_thresh"
      
      This reverts commit 9191ebc7762d17d81cdfc334a80ca9a667365740.
      
      * To keep the changes to a bare minimum, revert the steps_since_last_learning_rate_shrink change after all (at least for now)
      
      * Even empty out some of the previous test loss values
      
      * Minor review fixes
      
      * Can't use C++14 features here
      
      * Do not use the struct name as a variable name
      d175c350
  5. 25 Oct, 2019 1 commit
  6. 24 Oct, 2019 1 commit
  7. 27 Jul, 2019 1 commit
  8. 04 Mar, 2019 1 commit
  9. 06 Jan, 2019 1 commit
    • Juha Reunanen's avatar
      Add U-net style skip connections to the semantic-segmentation example (#1600) · f685cb42
      Juha Reunanen authored
      * Add concat_prev layer, and U-net example for semantic segmentation
      
      * Allow to supply mini-batch size as command-line parameter
      
      * Decrease default mini-batch size from 30 to 24
      
      * Resize t1, if needed
      
      * Use DenseNet-style blocks instead of residual learning
      
      * Increase default mini-batch size to 50
      
      * Increase default mini-batch size from 50 to 60
      
      * Resize even during the backward step, if needed
      
      * Use resize_bilinear_gradient for the backward step
      
      * Fix function call ambiguity problem
      
      * Clear destination before adding gradient
      
      * Works OK-ish
      
      * Add more U-tags
      
      * Tweak default mini-batch size
      
      * Define a simpler network when using Microsoft Visual C++ compiler; clean up the DenseNet stuff (leaving it for a later PR)
      
      * Decrease default mini-batch size from 24 to 23
      
      * Define separate dnn filename for MSVC++ and not
      
      * Add documentation for the resize_to_prev layer; move the implementation so that it comes after mult_prev
      
      * Fix previous typo
      
      * Minor formatting changes
      
      * Reverse the ordering of levels
      
      * Increase the learning-rate stopping criterion back to 1e-4 (was 1e-8)
      
      * Use more U-tags even on Windows
      
      * Minor formatting
      
      * Latest MSVC 2017 builds fast, so there's no need to limit the depth any longer
      
      * Tweak default mini-batch size again
      
      * Even though latest MSVC can now build the extra layers, it does not mean we should add them!
      
      * Fix naming
      f685cb42
  10. 01 Mar, 2018 1 commit
    • Juha Reunanen's avatar
      Problem: integer overflow when calculating sizes (may happen e.g. with very large images) (#1148) · cf5e25a9
      Juha Reunanen authored
      * Problem: integer overflow when calculating sizes (may happen e.g. with very large images)
      Solution: change some types from (unsigned) long to size_t
      
      # Conflicts:
      #	dlib/dnn/tensor.h
      
      * Fix the fact that std::numeric_limits<unsigned long>::max() isn't always the same number
      
      * Revert serialization changes
      
      * Review fix: use long long instead of size_t
      
      * From long to long long all the way
      
      * Change more types to (hopefully) make the compiler happy
      
      * Change many more types to size_t
      
      * Change even more types to size_t
      
      * Minor type changes
      cf5e25a9
  11. 25 Dec, 2017 2 commits
  12. 18 Dec, 2017 1 commit
  13. 17 Dec, 2017 2 commits
  14. 11 Dec, 2017 1 commit
  15. 08 Dec, 2017 1 commit
    • visionworkz's avatar
      Exposed jitter_image in Python and added an example (#980) · ac292309
      visionworkz authored
      * 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.
      ac292309
  16. 02 Dec, 2017 1 commit
  17. 01 Dec, 2017 2 commits
  18. 26 Nov, 2017 1 commit
  19. 25 Nov, 2017 4 commits
  20. 17 Nov, 2017 1 commit
  21. 15 Nov, 2017 2 commits
    • Davis King's avatar
      b84e2123
    • Juha Reunanen's avatar
      Add semantic segmentation example (#943) · e48125c2
      Juha Reunanen authored
      * 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
      e48125c2
  22. 05 Nov, 2017 1 commit
  23. 02 Nov, 2017 1 commit
  24. 27 Oct, 2017 1 commit
  25. 25 Oct, 2017 2 commits
  26. 24 Oct, 2017 1 commit
  27. 17 Oct, 2017 3 commits
  28. 16 Sep, 2017 3 commits