Commit Graph

295 Commits

Author SHA1 Message Date
Davis King ced9f6f407 Make the global optimizer work in python3 2017-12-19 22:24:31 -05:00
Davis King d5097f72db Added python bindings for count_steps_without_decrease() and count_steps_without_decrease_robust() 2017-12-12 21:57:04 -05:00
Davis King be8269900c The previous commit broke for pyhton2 but fixed python3. This should deal with
numpy's import_array() in a more robust way.
2017-12-09 20:52:07 -05:00
Davis King 7b38ea6f2d 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.
2017-12-09 19:51:20 -05:00
Davis King 4ff442324b cleaned up cmake 2017-12-08 10:09:30 -05:00
visionworkz ac292309c1 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.
2017-12-08 09:59:27 -05:00
Davis King 95d16fd05e Added a missing assert. 2017-12-05 15:10:41 -05:00
Davis King 5e8e997bf7 Added python interface to find_min_global() 2017-12-02 08:55:02 -05:00
Davis King c3f2c1dfcb Added a python interface to find_max_global() 2017-11-25 10:07:00 -05:00
hannometer 2f531f1175 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
2017-11-22 05:42:15 -05:00
Davis King 8b5c04d075 Updated code to work with new regression test output. 2017-11-10 17:42:40 -05:00
Davis King 1e877b1917 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.
2017-10-27 19:30:58 -04:00
Davis King aa93c8f861 Updated python code to use the new dlib::jitter_image() instead of hacking it
out of the random_cropper.
2017-10-25 05:42:31 -04:00
Davis King 38a2846dda More cmake cleanup 2017-10-16 21:36:18 -04:00
Davis King 5b4206f97c Suppress compiler warnings 2017-10-16 21:34:00 -04:00
Hung-Wei Chiu ea9aae0f5f 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
2017-09-29 11:20:11 -04:00
Varun Chatterji 5f26972551 Added code to get face_chip images.. 2017-09-19 13:08:51 +08:00
Varun Chatterji 9fe352d696 Added size and padding as optional parameters 2017-09-18 19:54:26 +08:00
Davis King 532552627a Cleaned up code and comments.
In particular, these new functions don't need to be inside the face
recognition class.  So I moved them out.  I also fixed many incorrect
copy/pasted comments and clarified parts of the example code.
2017-09-16 14:53:11 -04:00
Davis King 5cf80dda6a Merge branch 'master' of git://github.com/visionworkz/dlib into visionworkz-master 2017-09-16 14:18:44 -04:00
Davis E. King 0f8b227e47 Fixed typo in comment 2017-09-15 21:02:39 -04:00
Davis King fb5cae063b Added this program for historical reference. 2017-09-15 20:20:08 -04:00
Davis King f84194f643 Upgraded face recognition input validation checks to allow use of 5 point face
landmarking models.
2017-09-15 19:56:38 -04:00
Varun 93a1aba096 Added threshold to clustering call 2017-09-10 06:15:42 +08:00
Davis King 85c94dc1e4 removed extraneous print statement. 2017-09-07 19:11:18 -04:00
Visionworkz 8b48c09c7b Added face clustering example to Python API 2017-09-06 02:05:42 +08:00
Davis King 14ae224ecd Made it so you can press END or i to ignore boxes in imglab. I did this
because it's a much less stressing hand motion to hit END that i in most cases.
2017-09-03 12:54:18 -04:00
Davis King 972bf3c46b Made the box colors in imglab spread more evenly over the color space. 2017-09-01 17:38:41 -04:00
Guillaume Ramé bbf3d987b2 improvements to cnn face detection python interface (#780)
* improvements to cnn face detection interface

* mmod rectangle object renaming. possibility to set batch size in multi image detection. Added check to make sure images are all the same size.
2017-08-27 18:40:31 -04:00
Davis King 678728dc23 Made imglab --cluster ignore ignored boxes when doing all aspects of clustering. 2017-08-25 22:29:40 -04:00
Davis King 30ca8b4228 Fully qualified boost::python::list to hopefully avoid compiler errors in some environments. 2017-08-24 18:41:07 -04:00
Davis King ba430be591 Make DLIB_ASSERT statements not abort the python interpreter, but just trigger an exception. 2017-08-19 08:48:48 -04:00
Adam Geitgey b6d2329c5e Add a python wrapper for using the mmod face detector (#753) 2017-08-18 16:30:33 -04:00
Davis King e7fe423bc4 Added --sort and also the ability to propagate boxes from one image to the
next using dlib::correlation_tracker.
2017-07-18 22:19:29 -04:00
Davis King 39be45ada2 Made is so pressing e in imglab toggles between views of the image where the
histogram is equalized or unmodified.  This way, if you are looking at
particularly dark or badly contrasted images you can toggle this mode and maybe
get a better view of what you are labeling.
2017-06-19 20:54:45 -04:00
Davis King ba72c2f95c Updated code to work with new random_cropper interface. 2017-06-18 08:11:54 -04:00
Davis King 74fbca45ca Changed the converter so that, rather than producing one python file with
everything in it, it now makes a python file as before but an additional binary
file with all the weights in it.  This way, if you are working with a network
with a very large number of weights you won't end up with a crazy large python
script.
2017-06-04 10:06:44 -04:00
Davis King 88383a848b Made the converter handle caffe's odd pooling layer output size calculations. 2017-05-28 11:07:02 -04:00
Davis King a88f1bd8f2 Made the converter add zero padding layers when needed by Eltwise to replicate
the behavior of dlib's add_prev layers.
2017-05-24 07:24:12 -04:00
Davis King 984b694962 Made error message slightly better. 2017-05-22 19:11:00 -04:00
Davis King cbda2b9e33 Changed caffe converter to require the user to specify the input tensor size
when the converter is run.
2017-05-22 19:06:55 -04:00
Davis King 10d3f93333 Dlib and caffe actually do use max pooling layers with padding in the same way.
So I just removed the error check that was preventing the conversion from
proceeding in that case.  I also added more useful output messages about
setting input tensor dimensions.
2017-05-19 20:16:40 -04:00
Davis King fe3e86a186 Fixed spelling error 2017-05-07 19:40:42 -04:00
Davis King c479219811 Renamed file 2017-05-07 19:08:41 -04:00
Davis King 2f74b3a03a Improved example python script 2017-05-07 19:07:18 -04:00
Davis King 84d54e2ff4 Added more comments 2017-05-07 17:16:08 -04:00
Davis King 16cd104b1d Fixed affine_fc and clarified error message. 2017-05-07 16:57:34 -04:00
Davis King c41b30a8e6 Added missing sig and prelu layer support. 2017-05-07 16:23:35 -04:00
Davis King af40aa1b0a Cleaned up how the output is output. 2017-05-07 15:49:19 -04:00
Davis King 7494f51d9a Added support for all the other dlib layers that make sense. 2017-05-07 15:26:18 -04:00