Commit Graph
49 Commits
Author SHA1 Message Date
Matias De lellis d3b91453bb Dont install useless php extension v1.0.2 2020-04-24 11:57:07 -03:00
Matias De lellis 3e050a4772 Improve travis 2020-04-24 11:40:40 -03:00
Matias De lellis 16d19188c3 Improve travis 2020-04-24 11:10:33 -03:00
Matias De lellis 9d351afd07 Test on tavis. 2020-04-24 10:41:21 -03:00
Matias De lellis ca007e400a Append more information to phpinfo()
If you think it works slow, make sure it is compiled with any of these instructions

> pdlib
>
> PDlib support => enabled
> Pdlib Version => 1.0.2
> DLIB_USE_CUDA => false
> DLIB_USE_BLAS => true
> DLIB_USE_LAPACK => true
> USE_AVX_INSTRUCTIONS => false
> USE_AVX2_INSTRUCTIONS => false
> USE_NEON_INSTRUCTIONS => false
> USE_SSE2_INSTRUCTIONS => true
> USE_SSE4_INSTRUCTIONS => false
2020-04-19 20:27:51 -03:00
Matias De lellis 2b06ea45c4 Improve messages when configure build. 2020-04-19 19:26:22 -03:00
matiasdelellis c9e1015197 Merge pull request #2 from matiasdelellis/dlib_length
Dlib length
2020-04-14 20:05:40 -03:00
Matias De lellis 76da4d9b84 Multiply directly instead of using pow ($number, 2);
This small optimization allows us to improve from:

 OLD php: 0.012100038051605 Sec.
 New native: 0.0096198790073395 Sec.

(This is already 20 percent faster)

..to:
 OLD php: 0.012276937961578 Sec.
 New native: 0.0022540950775146 Sec.

What is 80 percent faster than our PHP class.
2020-04-14 10:45:13 -03:00
Matias De lellis 75adc6f801 Use references as an attempt to optimize. 2020-04-14 10:26:26 -03:00
Matias De lellis 4a2e4ff112 Implement dlib_vector_length to calculate the euclidean distance of the vectors
It not use the 'length' native versions of dlib, due I have to convert the
array to the vector, which will take the same time, and then I will use the
native method.
2020-04-14 09:45:16 -03:00
matiasdelellis 78819eb815 More description 2020-04-13 18:54:24 -03:00
matiasdelellis e69df35435 Explain why the fork 2020-04-13 18:39:48 -03:00
matiasdelellis a5e7cf3535 Move Instalation doc to wiki 2020-04-13 18:33:54 -03:00
matiasdelellis 80f8101e15 Merge pull request #1 from matiasdelellis/improve-hog
Improve hog
2020-04-13 18:23:59 -03:00
Matias De lellis dfd6a952fb upsample_num as references 2020-03-07 12:55:39 -03:00
Matias De lellis cd4e7bcbdf Dont upsamply by default in CNN, and optional argument on fhog for that. 2020-03-07 10:46:12 -03:00
Matias De lellis afc9164127 HOG detector also must return the rectangles of the detections. 2020-02-29 14:04:41 -03:00
goodspb 1e492f2e12 Merge pull request #18 from stalker314314/fixing-tests-on-different-environments
Fixing tests on different environments
2020-01-31 11:25:09 +08:00
Branko Kokanovic a83750a4ff Fixing tests, closes #14 2019-11-28 23:14:34 +01:00
goodspb c08a7608a2 Merge pull request #13 from SlavikCA/patch-1
README: requirement of libx11-dev; recommendation of BLAS
2019-01-06 17:37:36 +08:00
Slavik fcb54ace66 README: requirement of libx11-dev; recommendation of BLAS 2019-01-05 23:55:22 -08:00
goodspb 606a6717ea Merge pull request #11 from stalker314314/patch-1
Fix git -> https in README
2019-01-01 11:06:15 +08:00
Branko Kokanovic 0fd67af03e Fix git -> https in README
People usually don't have access to Github for DLib, so previous command will not work out-of-box. Better to suggest https:// alternative
2018-12-30 19:29:39 +00:00
Branko Kokanovic 54f3b75139 Merge pull request #9 from goodspb/master
refresh
2018-08-30 21:19:36 +02:00
goodspb abb617b6b3 add MIT LICENSE v1.0 2018-08-30 23:18:10 +08:00
goodspb ac65116a0c Merge pull request #6 from stalker314314/face_recognition
Face recognition
2018-08-30 23:07:34 +08:00
Branko Kokanovic e6bf0dbf10 Merge branch 'goodspb-master' into face_recognition 2018-08-29 00:50:44 +02:00
Branko Kokanovic ac67a9992d Merge pull request #6 from goodspb/master
refresh
2018-08-29 00:42:25 +02:00
Branko Kokanovic 9e429a772a Merge branch 'goodspb-master' 2018-08-29 00:40:55 +02:00
Branko Kokanovic 1e830a3285 Face recognition
This change adds support to retrieve 128D face descriptor for a given
landmark. Since now we have full pipeline, README.md has "general usage"
section and integration test is added. Also, return from
FaceLandmarkDetection is changed, so it can be given to FaceRecognition
without changes. All obtained values are crosschecked to match with values
from python versions (however, if num_jitters is > 1 in FaceRecognition,
values don't match between PHP and Python, I suspect it is related to usage
of dlib::rand, but still investigating)..
2018-08-29 00:31:57 +02:00
Branko Kokanovic 1a402fc63c Landmark detection (custom model and class-based)
This change extends existing landmark detection in new ways:
1. Existing logic is hiding HOG model (frontal_face_detector)
underneath and user cannot use other models (CNN model, for example).
2. Bounding box is exposed as additional argument, and user
can define custom bounding box (which is needed, if image used to detect
faces is changed (for example scaled), and we want to crop only face
from original image to feed into shape predictor).
3. This approach is class-based, so no need for multiple loadings of
shape predictor model (only once, in ctor)
2018-08-27 20:46:47 +02:00
goodspb 661c37c9ef Merge pull request #5 from stalker314314/landmark_detection
Landmark detection (custom model and class-based)
2018-08-27 22:53:32 +08:00
Branko Kokanovic 8be526bd5f Merge branch 'master' of git://github.com/goodspb/pdlib into landmark_detection 2018-08-25 01:17:28 +02:00
Branko Kokanovic 7de8d060b3 Landmark detection (custom model and class-based)
This change extends existing landmark detection in new ways:
1. Existing logic is hiding HOG model (frontal_face_detector)
underneath and user cannot use other models (CNN model, for example).
2. Bounding box is exposed as additional argument, and user
can define custom bounding box (which is needed, if image used to detect
faces is changed (for example scaled), and we want to crop only face
from original image to feed into shape predictor).
3. This approach is class-based, so no need for multiple loadings of
shape predictor model (only once, in ctor)
2018-08-25 00:51:46 +02:00
Branko Kokanovic 3f60326661 Support for raw chinese_whispers
This commit introduces chinese_whispers method without any "helpers" on
PHP side. Users needs to take care of everything (building edges from
128D face chip vector, for example), but this is exposed for people
that need low-level call and want to calculate distances and build edges
in PHP directly.
2018-08-07 00:04:05 +02:00
goodspb 091caba0d8 Merge pull request #4 from stalker314314/chinese_whispers
Support for raw chinese_whispers
2018-07-21 01:06:15 +08:00
Branko Kokanovic 14b1ae350b Support for raw chinese_whispers
This commit introduces chinese_whispers method without any "helpers" on
PHP side. Users needs to take care of everything (building edges from
128D face chip vector, for example), but this is exposed for people
that need low-level call and want to calculate distances and build edges
in PHP directly.
2018-07-19 19:12:39 +02:00
goodspb b17cd7c945 Merge pull request #3 from stalker314314/cnn_face_detection
Adding support for cnn face detector
2018-07-17 23:16:52 +08:00
Branko Kokanovic f8cc0e48d3 Adding support for cnn face detector
CNN face detector (deep learning face detection) is modeled as
PHP class. Currently, it only has constructor (which loads a model)
and detect() method. I tried to make it resamble to Python implementation.
Similar to Python, also added support for upsampling. Returned value
is array with numbers as keys where number of keys is equal to number
of found faced. Each element is associative array that has "top", "left",
"right", "bottom" and "detection_confidence" keys.

All errors are propagated using exceptions.

Added two new error tests. I didn't want to rely on presence of model,
so tests are not having great coverage. If we are OK to download models
in tests, it would allow us to have far better coverage.

What is missing:
* Testing with models (should we test that?)
* detect_mult method (similar to what Python have; however, I consider
  that this should not block pushing this change)
2018-07-16 22:34:55 +02:00
goodspb 6cac670269 fix: CMAKEList.txt to help CLion 2018-07-15 23:15:01 +08:00
goodspb 455db02154 feat: add CMAKEList.txt to help CLion 2018-07-15 12:12:36 +08:00
Branko Kokanovic d12d75c69e Adding configure.in to .gitignore 2018-07-14 00:13:18 +02:00
Branko Kokanovic fd54bc80c3 Mention -DBUILD_SHARED_LIBS in cmake of dlib
Unless this is added, dlib will not be built using -fPIC and will not be able to be linked with PHP later.
2018-07-03 08:13:15 +02:00
goodspb 77f73deca6 Merge pull request #1 from stalker314314/patch-1
Mention -DBUILD_SHARED_LIBS in cmake of dlib
2018-07-03 00:07:09 +08:00
Branko Kokanovic fee4a3d922 Mention -DBUILD_SHARED_LIBS in cmake of dlib
Unless this is added, dlib will not be built using -fPIC and will not be able to be linked with PHP later.
2018-07-02 16:41:21 +02:00
goodspb c0fdf859fd feat: add readme 2018-06-09 20:05:50 +08:00
goodspb b8f1837335 feat: add face_landmark_detection 2018-05-24 00:56:50 +08:00
goodspb 3e53e4796b fix: change config.m4 2018-05-23 00:01:27 +08:00
goodspb 5539b5bff8 first commit 2018-05-21 01:23:19 +08:00