Patrick Snape
e3c3d39ab1
Add an API for the correlation tracker
...
This aids an API for the correlation based tracker that Davis
recently added to Dlib. I've made sure to allow overrides for
passing normal rectangles rather than drectangles (which isn't
currently supported in the Dlib C++ API). This is mostly
because I imagine people might initialize the tracking using
something like a bounding box from a detector (e.g.
load_frontal_face_detector).
2015-05-20 11:29:14 +01:00
Patrick Snape
c4cf31a746
Preparing for correlation tracker - add drectangle
...
The correlation tracker deals with the drectangle
(double rectangle) class which currently isn't wrapped. Therefore,
I add the drectangle class and refactor rectangles into their
own file. I also added a load of methods on rectangle that might
be useful such as intersection/contains/area etc.
2015-05-20 10:46:01 +01:00
Patrick Snape
8568c262e9
Incorrect IFDEF name for shape predictor
...
The word detector didn't make much sense!
2015-05-20 09:37:33 +01:00
Davis King
805aec8d00
updated README
2015-03-29 16:49:00 -04:00
Davis King
03b6fb0b7e
updated version number and about docs
2015-03-29 16:44:31 -04:00
Davis King
0209f51a39
clarified documentation
2015-03-29 16:35:23 -04:00
Davis King
d1a5815cb9
Added default upsampling amount to detector.run(). Also moved the
...
new example code into face_detector.py and added some comments.
2015-03-28 23:16:54 -04:00
Davis King
216eb3f30f
Merge branch 'py_det_conf_and_idx' of https://github.com/jackculpepper/dlib into jackculpepper-py_det_conf_and_idx
2015-03-28 22:48:19 -04:00
Davis King
2e2a14879b
Renamed the lambda variable since it clashes with a python keyword.
2015-03-25 17:45:12 -04:00
Davis King
e00f6f63ca
Replaced the raw_input() calls with a call into dlib since raw_input() isn't
...
available in python3.
2015-03-22 18:45:08 -04:00
Jack Culpepper
cf0d5a4cb0
simplify
2015-03-12 01:17:40 -07:00
Jack Culpepper
a12e1e71fa
repair old interface
2015-03-12 08:10:56 +00:00
Jack Culpepper
9b78932ab1
re-arrange, use vector<double> to facilitate pass back to python
2015-03-12 07:39:42 +00:00
Jack Culpepper
154f9e4931
add ability to return detection confidences and weight index to python
2015-03-11 23:23:19 -07:00
Davis King
4bbfe512ae
Made the PYTHON3 cmake switch a proper cmake option.
2015-03-07 13:29:23 -05:00
Davis King
c335bf6756
Fixed the python doc string so that it's correct relative to the python
...
API. Also made find_candidate_object_locations() correctly include any
input boxes in the call to the C++ version of the function.
2015-01-03 23:26:28 -05:00
Vinh Khuc
173bb97f33
Explained the difference between pykvals in the Python API and kvals in C++ code
2015-01-03 15:03:05 -05:00
Vinh Khuc
bf06ce7185
Added Python-binding for find_candidate_object_locations
2015-01-03 01:11:52 -05:00
Davis King
1ab3482597
Clarified a few comments and simplified the serialization code a bit.
...
Also just cleaned up a few minor details.
2014-12-27 15:30:56 -05:00
Patrick Snape
37af35b55e
Re-add the cached object detector
...
A little bit hacky, but should be fine. Supports both fhog
detectors and the "cached" simple_object_detector. Also, maintains
the upscale parameter for testing
2014-12-12 16:22:57 +00:00
Patrick Snape
30869fbe03
Change logic for upsampling printing
2014-12-11 15:00:39 +00:00
Patrick Snape
dd19ce846e
Update the interface to be more Pythonic
...
This is the biggest change so far. Now, there are two different
classes of interface. One where you pass ONLY file paths,
and one where you pass ONLY Python objects.
The file paths are maintained to keep a matching interface with
the C++ examples of dlib. So shape predicition and object
detection can be trained using the dlib XML file paths and then
serialize the detectors to disk.
Shape prediction and object detection can also be trained using
numpy arrays and in-memory objects. In this case, the predictor
and detector objects are returned from the training functions.
To facilitate serializing these objects, they now have a 'save'
method.
Tetsing follows a similar pattern, in that it can take either XML
files are or in-memory objects. I also added back the concept of
upsampling during testing to make amends for removing the
simple_object_detector_py struct.
2014-12-11 14:06:05 +00:00
Patrick Snape
8db3f4e572
Add a save method to detectors and predictors
...
Also, removed the saving of the upsample which I missed from
before (since I'm not using the struct now). I understand why
the upsample was being saved, but I don't necessarily agree it
is particularly useful as you should really be upsampling on
a case by case basis at test time.
2014-12-11 12:34:20 +00:00
Patrick Snape
5b485a628b
Properly handle turning the GUI off
2014-12-11 12:05:10 +00:00
Patrick Snape
e801bd6ab5
Refactor the GUI code out
...
I also cleaned up a bunch of code. I'm not sure why the
simple_object_detector was keeping track of the upsample amount,
since it can't even be passed as an argument to the constructor.
Therefore, I removed the simple_object_detector_py and the second
declaration of the hog object detector. I also changed the
view code to optionally take keyword args of color and added
a single view of a rectangle.
Finally, I added viewing of the shape parts.
2014-12-11 11:46:01 +00:00
Patrick Snape
697aecb420
Add rendering of faces (lines)
...
Can either be a list of full_object_detections or a single
full_object_detection. I couldn't get the vector type to work
for full_object_detection due to a template error.
2014-12-11 10:28:14 +00:00
Patrick Snape
32ad0ffaef
Make shape predictor pickleable
...
Fix typo as well
2014-12-10 18:07:38 +00:00
Patrick Snape
e3aee32f34
Add wrappers for the shape predictors
...
This includes the full_object_detection, a new struct in the same
vein as the simple_object_detector_training_options and of
course, the shape predictor classes themselves.
All of training, fitting and testing are wrapped.
2014-12-10 17:45:51 +00:00
Patrick Snape
315a2b1cb1
Add a new conversion header
...
This deals with converting python objects to dlib objects
2014-12-10 17:45:51 +00:00
Patrick Snape
68ae858f27
Refactor rgb_pixel out of object detection
...
Also, move the vectorize template into its own header to
stop having to declare it again in vector.
2014-12-10 17:45:51 +00:00
Patrick Snape
c0d0adba13
Add a list of points
...
Also, change point x and y to be properties
2014-12-10 17:45:51 +00:00
Patrick Snape
85f0c0ffdc
Wrap the dlib point for Python
2014-12-10 17:45:51 +00:00
Patrick Snape
70db61c5fb
First attempt at adding to the boost API
...
Exposes the test method, but takes in images and bounding boxes.
Seems fairly simply to extend the API
2014-12-10 17:45:51 +00:00
Davis King
cdbc1919d4
more cmake changes to avoid cmake warnings
2014-12-06 08:38:04 -05:00
Davis King
db3eaa728b
Changed python cmake scrips to have an option to compile Python 3 libraries.
2014-11-26 16:28:52 -05:00
Davis King
cc70a8e0fb
Merged in Patrick Snape's patch that allows the python bindings to
...
be built without GUI support.
2014-11-15 09:28:48 -05:00
Davis King
c9f24f3da4
upped the imglab version number
2014-08-21 21:27:51 -04:00
Davis King
cd71dab3f2
Updated the Python API, train_simple_object_detector() so you can call it
...
directly on already loaded data rather than needing to use an XML file as
input.
2014-08-12 19:47:41 -04:00
Davis King
a6dc296219
Fixed a bug where the imglab tool would sometimes start out with an annoyingly
...
small window when the first image was bigger than the screen.
2014-07-20 14:47:05 -04:00
Davis King
c423283c05
Added set_prior() to the python interfaces of the relevant trainer objects.
2014-05-24 10:18:31 -04:00
Davis King
312157ab18
Added epsilon to the python object detection training API.
2014-03-09 12:10:15 -04:00
Davis King
e79a764834
removed cruft
2014-03-08 12:14:24 -05:00
Davis King
2369ae1e57
Made the python object detection tools process color images
...
in color instead of always converting to grayscale.
2014-03-02 11:19:06 -05:00
Davis King
a612c0317d
Improved error message.
2014-03-02 11:08:20 -05:00
Davis King
75fbc56c92
Fixed name conflicts that prevented the python bindings from compiling in visual sudio 2013.
2014-03-01 21:42:01 -05:00
Davis King
4a9be7bba5
improved python docs
2014-02-23 16:18:04 -05:00
Davis King
2293c91e00
Cleaned up the new python object detection interface a little.
2014-02-23 16:02:52 -05:00
Davis King
8f6b76e7ca
Gave the image_window the ability to display fhog object detectors.
2014-02-23 15:24:22 -05:00
Davis King
ddc44067b4
Added a simple python interface for training fhog object detectors.
2014-02-23 14:39:59 -05:00
Davis King
29658c4c76
Minor CLI cleanup
2014-02-22 22:03:49 -05:00
Davis King
89bc542712
fixed grammar in comment
2014-02-22 22:00:07 -05:00
Davis King
017fedcc41
updated about
2014-02-11 20:23:21 -05:00
Davis King
01eaaa563a
Made imglab halt at a convenient place when you are using ctrl+key up/down to
...
auto label boxes. It will also auto-skip empty images when you hold ctrl.
2014-02-11 20:22:15 -05:00
Davis King
aa6919d304
Made --stats print out info on unlabeled boxes.
2014-02-11 20:19:57 -05:00
Davis King
a20f401eec
Gave imglab the ability to propagate rectangle labels between images.
2014-02-11 19:03:08 -05:00
Davis King
374d5253f8
Updated version number and about string to say that you can now ctrl+left click
...
to change the label for a rectangle.
2014-02-10 20:40:24 -05:00
Davis King
a20f154483
Added a python interface to the fhog_object_detector and related tools.
2014-02-09 12:56:35 -05:00
Davis King
ef6a3a05a6
Added a readme file to imglab that gives a little introduction
2014-01-09 22:15:17 -05:00
Davis King
1cf740156d
Added --flip to imglab
2013-11-29 22:35:52 -05:00
Davis King
48413ae845
Updated about window text for imglab.
2013-11-22 18:45:06 -05:00
Davis King
647285e808
Updated imglab so it loads and stores the new ignore option from the gui
...
to/from the xml files.
2013-11-21 20:40:12 -05:00
Davis King
5edb5662e0
Added the --add option to the imglab tool.
2013-11-16 16:28:13 -05:00
Davis King
309902b81a
clarified specs
2013-09-21 15:18:29 -04:00
Davis King
6fc0d8f608
Moved python C++ utility headers into dlib/python and updated
...
#include statements to reflect this move.
--HG--
rename : tools/python/src/boost_python_utils.h => dlib/python/boost_python_utils.h
rename : tools/python/src/pyassert.h => dlib/python/pyassert.h
rename : tools/python/src/serialize_pickle.h => dlib/python/serialize_pickle.h
2013-09-01 13:15:04 -04:00
Davis King
0eb8296872
Added missing #include and inclusion guard
2013-09-01 13:05:29 -04:00
Davis King
8da213ccc2
Made len() work on dlib.range objects.
2013-09-01 13:03:33 -04:00
Davis King
a09a8f6a95
Added more python doc strings
2013-08-09 11:56:06 -04:00
Davis King
c9bdb9b2da
Added python bindings for the max_cost_assignment() and assignment_cost() routines.
2013-08-09 11:23:38 -04:00
Davis King
b68e5a37fb
Added functions for easily converting between python list objects and std::vector.
2013-08-09 11:23:05 -04:00
Davis King
a9fd939c82
Added another matrix constructor. Now we can construct from python lists.
2013-08-09 11:00:40 -04:00
Davis King
0660dc02e5
Made python svm struct interface work with sparse vectors
2013-08-08 11:38:12 -04:00
Davis King
8c111ee73a
Improved sparse vector python docs
2013-08-08 11:37:55 -04:00
Davis King
a8acc89c76
Added --shuffle and --split options to imglab. Also added more outputs to --stats
2013-08-05 15:48:34 -04:00
Davis King
de663ec21d
Added the --stats option to imglab
2013-08-05 15:04:13 -04:00
Davis King
225e1c5ab0
Fixed typo in doc string
2013-07-07 23:24:14 -04:00
Davis King
b0a8831cb8
Added python docstring
2013-07-07 21:36:07 -04:00
Davis King
1c50321904
Improved svm struct interface a little more. Fixed a bug and added
...
non-negative weight learning support.
2013-07-07 13:16:23 -04:00
Davis King
cc9ff97a29
Cleaned up python svm struct code a little.
2013-07-07 12:28:31 -04:00
Davis King
2d034a58a0
Minor change to work with older versions of boost python.
2013-06-26 23:01:45 -04:00
Davis King
a0fe7efc8f
Added initial version of structural svm python bindings
2013-06-26 22:34:00 -04:00
Davis King
421e5bcd6f
Added a dot() and slicing support to dlib.vector()
2013-06-26 21:45:57 -04:00
Davis King
20ed7ebeb8
Added missing license statements to the tops of these files.
2013-06-26 18:37:42 -04:00
Davis King
4585c51637
Improved make_sparse_vector() documentation.
2013-06-08 00:48:32 -04:00
Davis King
4ef91280e4
Fixed a bug in the sparse decision functions. The input validation rejected
...
most vectors
2013-06-08 00:38:49 -04:00
Davis King
2f34594f47
Added cross validation functions for ranking tools and slightly improved documentation
...
for other cross validation functions.
2013-06-07 23:50:40 -04:00
Davis King
97f82b1e4f
Made decision functions and segmenter objects callable like normal functions.
2013-06-07 23:30:43 -04:00
Davis King
da40c3ba37
cleaned up python interface a bit
2013-06-01 15:10:41 -04:00
Davis King
5e761ca739
clarified spec
2013-06-01 14:30:45 -04:00
Davis King
4618269718
Made dlib.range() iterable
2013-05-30 22:21:04 -04:00
Davis King
d20b08a00c
Added comments
2013-05-29 22:41:01 -04:00
Davis King
1fd8afd579
Changed code to avoid compiler warning in visual studio.
2013-05-26 15:02:29 -04:00
Davis King
5597d9cb20
Starting to flesh out the python interface documentation a little more.
2013-05-26 14:21:02 -04:00
Davis King
76e620287d
Just renamed a class
2013-05-26 13:51:57 -04:00
Davis King
1c269270a1
Added testing and cross validation routines for the python sequence segmenter interface.
2013-05-26 13:50:47 -04:00
Davis King
a4590776b8
Minor printing improvement
2013-05-24 23:30:21 -04:00
Davis King
66d5a906bb
Fully setup the functional python interface to the sequence segmenter tool.
...
Need to add documentation next.
2013-05-22 23:47:33 -04:00
Davis King
cecc38f5b6
Added support for using the dense vector version of the sequence_segmenter from
...
python.
2013-05-20 23:18:14 -04:00
Davis King
09895ba8b7
added ranges
2013-05-20 21:31:24 -04:00
Davis King
b0a14513f0
Added range and ranges.
2013-05-20 21:29:19 -04:00
Davis King
5fb4ee6627
Added the vectorss and sparse_vectorss types and a little more documentation.
2013-05-20 21:19:08 -04:00
Davis King
52de3a0c9c
Improved cca() documentation.
2013-05-18 10:26:18 -04:00
Davis King
0c3952d549
Minor changes to avoid compiler warnings from visual studio.
2013-04-28 17:56:33 -04:00
Davis King
2c2f955647
Added cca() bindings
2013-04-28 15:46:55 -04:00
Davis King
5e10ae6eee
Added more sparse vector tools and fixed a bug.
2013-04-27 17:05:04 -04:00
Davis King
313bca15c9
Added linear SVM binding
2013-04-27 16:25:25 -04:00
Davis King
859ccf5e8b
Added some cross validation wrappers.
2013-04-27 15:44:26 -04:00
Davis King
b8f2b5225c
Added decision function testing wrappers.
2013-04-27 15:20:50 -04:00
Davis King
bca5cddf43
Added more refinements and also bindings for svm_rank_trainer.
2013-04-27 14:05:38 -04:00
Davis King
d7b8dfbc0c
Fixed spelling error in filename.
...
--HG--
rename : tools/python/src/decision_funcions.cpp => tools/python/src/decision_functions.cpp
2013-04-27 12:29:52 -04:00
Davis King
6c313b8949
Just moving code around.
2013-04-27 12:28:46 -04:00
Davis King
e0c9bb6586
Added more python bindings
2013-04-27 12:23:23 -04:00
Davis King
affd197e3c
Refined the python bindings more. Still lots to do though.
2013-04-27 09:57:24 -04:00
Davis King
1a64bcc39a
Added initial python bindings for dlib
2013-04-27 08:35:04 -04:00
Davis King
9d0f6796dc
Added the --rmdiff option and also improved the formatting in the output of -h
2013-03-30 08:22:58 -04:00
Davis King
e20926e805
A minor change to avoid a compiler warning in visual studio 2012
2013-02-11 18:02:26 -05:00
Davis King
bbfcf2557b
Simplified these cmake files.
2013-02-10 13:58:22 -05:00
Davis King
c7b5b9e8c8
Added a simple cmake script users can use to simplify their own CMakeLists.txt scripts
2013-02-10 13:54:29 -05:00
Davis King
79656869e3
Simplified CLI code
2012-12-12 19:50:31 -05:00
Davis King
25bf3c5114
Simplified code a bit
2012-12-12 19:33:32 -05:00
Davis King
7c4cde7f0c
Simplified code a little and fixed a compiler error.
2012-12-12 19:16:39 -05:00
Davis King
a92b875f95
made imglab work with image parts.
2012-09-01 00:15:03 -04:00
Davis King
e0813cbf9f
updated to work with the new parts map.
2012-08-28 23:08:17 -04:00
Davis King
fca97a63fd
Changed code to avoid some warnings from clang.
2012-04-13 19:43:27 -04:00
Davis King
9a86f1fa4c
Moved the image dataset metadata IO functions into the dlib folder.
...
--HG--
rename : tools/imglab/src/image_dataset_metadata.cpp => dlib/data_io/image_dataset_metadata.cpp
rename : tools/imglab/src/image_dataset_metadata.h => dlib/data_io/image_dataset_metadata.h
2012-03-20 23:01:29 -04:00
Davis King
83623fd800
updated version number
2011-12-17 12:24:29 -05:00
Davis King
dcb8b6ff2a
Changed code to avoid compiler warnings. Also added support for the
...
difficult, truncated, and occluded metadata fields of the pascal datasets.
2011-12-15 19:41:07 -05:00
Davis King
07e48859c2
I needed to make a few minor changes to make this code work with the new
...
version of dlib.
2011-09-10 21:41:17 -04:00
Davis King
82f1731790
Added a missing period.
2011-07-08 18:34:05 -04:00
Davis King
7b9e4bf058
Fixed a bug in the IDL converter.
2011-07-08 17:29:45 -04:00
Davis King
04eaae25e0
Incremented version number.
2011-07-08 17:22:06 -04:00
Davis King
25b1540591
Added an option to convert IDL annotation files to imglab format.
2011-07-08 17:21:24 -04:00
Davis King
af9071f996
Fixed a bug
2011-07-08 15:59:24 -04:00
Davis King
a0bb4ea8df
renamed a file
...
--HG--
rename : tools/imglab/src/convert_pascal_voc.h => tools/imglab/src/convert_pascal_xml.h
2011-07-08 15:48:48 -04:00
Davis King
8db64b686e
just renamed voc to xml
...
--HG--
rename : tools/imglab/src/convert_pascal_voc.cpp => tools/imglab/src/convert_pascal_xml.cpp
2011-07-08 15:47:38 -04:00
Davis King
dc3f420529
Added a converter for pascal v1.00 annotation files.
2011-07-08 15:43:07 -04:00
Davis King
119370f818
Added the ability to convert from the PASCAL VOC annotation format to the
...
imglab annotation format.
2011-07-08 13:38:38 -04:00
Davis King
0eef83c3b9
Added some CLI validation
2011-06-20 21:29:17 -04:00
Davis King
7df5828607
Added version and about info.
2011-06-20 21:21:27 -04:00
Davis King
1fd281ff48
Added an option to rename labels.
2011-06-20 21:04:16 -04:00
Davis King
c67636f411
Added the ability to list all the labels in a dataset.
2011-06-20 20:57:32 -04:00
Davis King
d0339e6835
Made selecting a rectangle copy its label into the overlay label text field.
2011-06-20 20:46:16 -04:00
Davis King
92ac70dc6d
Now the tool can modify the ground truth boxes.
2011-06-20 20:25:06 -04:00
Davis King
f918e2a30a
Fixed a spelling error in a comment.
2011-06-19 18:37:23 -04:00
Davis King
60a1de67e1
Simplified the cmake files by putting the stuff to make Release
...
the default build into a single file.
2011-06-19 18:12:46 -04:00
Davis King
7dfea35cd4
Minor improvement.
2011-06-19 14:48:15 -04:00
Davis King
b5511d2cb3
Made the image list select an image near the one you removed rather than
...
jump to the beginning.
2011-06-19 14:25:13 -04:00
Davis King
ddaa9133ea
Minor improvements.
2011-06-19 14:17:29 -04:00
Davis King
240823490a
setup code to show box overlays
2011-06-19 14:12:31 -04:00
Davis King
d9cd30a64f
Made the initial window sizing nicer.
2011-06-19 14:01:52 -04:00
Davis King
6088abcedf
Made the window auto-size itself on startup depending on the size of the
...
first image.
2011-06-19 13:32:03 -04:00