Commit Graph
52 Commits
Author SHA1 Message Date
goodspb 1153e3e2eb Merge pull request #32 from matiasdelellis/to-upstream
Thank you.
v1.1.0
2020-08-01 17:21:59 +08:00
Matias De lellis 32f94d32b9 Fix test. Probably Remi changed some default option on php 8.0 update 2020-07-07 19:30:34 -03:00
Matias De lellis 526fb725ce Add native vector_lenght() function which calculates the euclidean distance 80%
faster. See https://github.com/matiasdelellis/pdlib/pull/2.

Increase the version to 1.0.2 since this is a required function for our
application and we must control it.

Add more compilation info in php-info(), and print a final message with the
build options when configure.

Fix that when dlib is not installed, the configuration returns that it cannot
find pkgconfig. See https://github.com/matiasdelellis/facerecognition/issues/261

Also implement the test on travis. See for example:
(https://travis-ci.com/github/matiasdelellis/pdlib/builds/161854044)
2020-07-07 19:11:56 -03:00
goodspb c7d57a7a1b Merge pull request #29 from remicollet/issue-build
Fix build and PHP 8 compat.
2020-07-05 22:52:46 +08:00
goodspb 9a86f95849 Merge pull request #27 from remicollet/issue-ver
display extension and library version in phpinfo
2020-06-30 15:56:08 +08:00
Remi Collet cf0ce5a01e Fix and improve reflection
- use "p" for path (security check for nul byte)
- fix number of args for some methods
- add type hinting
- throw standard exception (simplify)
- fix test suite for PHP 7.0 to 8.0
2020-06-22 16:22:37 +02:00
Remi Collet d36a2de544 drop confirm_pdlib_compiled function
This is a generated function from example skeleton
only for documentation, no real value.

Adn it is broken on PHP 8 and arginfo is missing
2020-06-22 15:11:38 +02:00
Remi Collet 40a2bd60e4 cleanup TSRMLS_C macro
- only used on PHP 5 (not supported by this ext.)
- not needed on PHP 7
- removed from PHP 8
2020-06-22 15:01:30 +02:00
Remi Collet 912ab43641 fix [-Werror=format-security] 2020-06-22 12:54:12 +02:00
Remi Collet 8f424195e0 fix unused variables 2020-06-22 12:47:43 +02:00
Remi Collet ba797b3c50 hounours system CXXFLAGS 2020-06-22 12:46:30 +02:00
Remi Collet b70ff4eb17 display extension and library version in phpinfo 2020-06-22 11:20:55 +02:00
goodspb 45c0b7441a Merge pull request #26 from remicollet/issue-skip
fix tests skip condition
2020-06-20 20:28:51 +08:00
goodspb 7d60446891 Merge pull request #25 from remicollet/issue-css
fix linker command
2020-06-20 20:21:07 +08:00
Remi Collet 351bce6117 fix tests skip condition 2020-06-20 08:23:50 +02:00
Remi Collet 24d12358f2 fix linker command 2020-06-20 08:08:27 +02:00
goodspb b4f152f860 Merge pull request #20 from matiasdelellis/improve-hog
HOG detector also must return the rectangles of the detections.
2020-05-01 11:19:17 +08: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