Commit Graph

52 Commits

Author SHA1 Message Date
goodspb
1153e3e2eb
Merge pull request #32 from matiasdelellis/to-upstream
Thank you.
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 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