gv22ga/dlib-face-recognition-android

do you work on Windows?

icemanyandy opened this issue · 8 comments

D:\face\dlib-android>E:\2016\android-ndk-r17-beta1\ndk-build.cmd
Android NDK: WARNING: APP_STL gnustl_static is deprecated and will be removed in
the next release. Please switch to either c++_static or c++_shared. See https:/
/developer.android.com/ndk/guides/cpp-support.html for more information.
Android NDK: WARNING: Deprecated NDK_TOOLCHAIN_VERSION value: 4.9. GCC is no lon
ger supported and will be removed in the next release. See https://android.googl
esource.com/platform/ndk/+/master/docs/ClangMigration.md.
TOP Level Path: D:/face/dlib-android
D:/face/dlib-android/third_party/miniglog/Android.mk:5: "Build miniglog.so/minig
log.a"
D:/face/dlib-android/third_party/miniglog/Android.mk:8: D:/face/dlib-android/thi
rd_party/miniglog
jni/jni_common/Android.mk:10: "Build jni_common"
jni/jni_common/Android.mk:16: jni/jni_common
"Won't build test's executable file"
Android NDK: WARNING:jni/jni_common/Android.mk:jni_common: LOCAL_LDFLAGS is alwa
ys ignored for static libraries
Android NDK: WARNING:jni/jni_common/Android.mk:jni_common: LOCAL_LDLIBS is alway
s ignored for static libraries
[armeabi-v7a] Compile++ arm : android_dlib <= jni_imageutils.cpp
[armeabi-v7a] Compile++ arm : android_dlib <= jni_pedestrian_det.cpp
In file included from jni/../dlib/dlib/image_loader/../image_transforms/../stati
stics/../matrix/../array2d/array2d_kernel.h:10:0,
from jni/../dlib/dlib/image_loader/../image_transforms/../stati
stics/../matrix/../array2d.h:7,
from jni/../dlib/dlib/image_loader/../image_transforms/../stati
stics/../matrix/matrix_mat.h:10,
from jni/../dlib/dlib/image_loader/../image_transforms/../stati
stics/../matrix/matrix_utilities.h:20,
from jni/../dlib/dlib/image_loader/../image_transforms/../stati
stics/../matrix.h:7,
from jni/../dlib/dlib/image_loader/../image_transforms/../stati
stics/statistics.h:10,
from jni/../dlib/dlib/image_loader/../image_transforms/../stati
stics.h:6,
from jni/../dlib/dlib/image_loader/../image_transforms/assign_i
mage.h:8,
from jni/../dlib/dlib/image_loader/image_loader.h:15,
from jni/../dlib/dlib/image_loader/png_loader.h:9,
from jni/../dlib/dlib/image_loader/load_image.h:8,
from jni/jni_detections/detector.h:13,
from jni/jni_detections/jni_pedestrian_det.cpp:14:
jni/../dlib/dlib/image_loader/../image_transforms/../statistics/../matrix/../arr
ay2d/../geometry/rectangle.h: In function 'dlib::rectangle dlib::set_rect_area(c
onst dlib::rectangle&, long unsigned int)':
jni/../dlib/dlib/image_loader/../image_transforms/../statistics/../matrix/../arr
ay2d/../geometry/rectangle.h:742:35: error: 'round' is not a member of 'std'
unsigned long scale = std::round(std::sqrt(area));
^
jni/../dlib/dlib/image_loader/../image_transforms/../statistics/../matrix/../arr
ay2d/../geometry/rectangle.h:742:35: note: suggested alternatives:
In file included from E:/2016/android-ndk-r17-beta1/build//../sources/cxx-stl/gn
u-libstdc++/4.9/include/cmath:44:0,
from E:/2016/android-ndk-r17-beta1/build//../sources/cxx-stl/gn
u-libstdc++/4.9/include/random:38,
from E:/2016/android-ndk-r17-beta1/build//../sources/cxx-stl/gn
u-libstdc++/4.9/include/bits/stl_algo.h:66,
from E:/2016/android-ndk-r17-beta1/build//../sources/cxx-stl/gn
u-libstdc++/4.9/include/algorithm:62,
from D:/face/dlib-android/third_party/miniglog/glog/logging.h:1
03,
from jni/jni_common/../jni_common/jni_bitmap2mat.h:5,
from jni/jni_detections/jni_pedestrian_det.cpp:10:
e:\2016\android-ndk-r17-beta1\sysroot\usr\include\math.h:251:8: note: 'round'
double round(double __x);
^
In file included from jni/../dlib/dlib/image_loader/../image_transforms/../stati
stics/../matrix/matrix_utilities.h:17:0,
from jni/../dlib/dlib/image_loader/../image_transforms/../stati
stics/../matrix.h:7,
from jni/../dlib/dlib/image_loader/../image_transforms/../stati
stics/statistics.h:10,
from jni/../dlib/dlib/image_loader/../image_transforms/../stati
stics.h:6,
from jni/../dlib/dlib/image_loader/../image_transforms/assign_i
mage.h:8,
from jni/../dlib/dlib/image_loader/image_loader.h:15,
from jni/../dlib/dlib/image_loader/png_loader.h:9,
from jni/../dlib/dlib/image_loader/load_image.h:8,
from jni/jni_detections/detector.h:13,
from jni/jni_detections/jni_pedestrian_det.cpp:14:
jni/../dlib/dlib/image_loader/../image_transforms/../statistics/../matrix/matrix
_math_functions.h:205:37: note: 'dlib::round'
const matrix_op<op_round > round (
^
In file included from jni/../dlib/dlib/image_loader/../image_transforms/../stati
stics/../matrix/../array2d/array2d_kernel.h:10:0,
from jni/../dlib/dlib/image_loader/../image_transforms/../stati
stics/../matrix/../array2d.h:7,
from jni/../dlib/dlib/image_loader/../image_transforms/../stati
stics/../matrix/matrix_mat.h:10,
from jni/../dlib/dlib/image_loader/../image_transforms/../stati
stics/../matrix/matrix_utilities.h:20,
from jni/../dlib/dlib/image_loader/../image_transforms/../stati
stics/../matrix.h:7,
from jni/../dlib/dlib/image_loader/../image_transforms/../stati
stics/statistics.h:10,
from jni/../dlib/dlib/image_loader/../image_transforms/../stati
stics.h:6,
from jni/../dlib/dlib/image_loader/../image_transforms/assign_i
mage.h:8,
from jni/../dlib/dlib/image_loader/image_loader.h:15,
from jni/../dlib/dlib/image_loader/png_loader.h:9,
from jni/../dlib/dlib/image_loader/load_image.h:8,
from jni/jni_detections/detector.h:13,
from jni/jni_detections/jni_pedestrian_det.cpp:14:
jni/../dlib/dlib/image_loader/../image_transforms/../statistics/../matrix/../arr
ay2d/../geometry/rectangle.h:748:46: error: 'round' is not a member of 'std'
return centered_rect(rect, (long)std::round(rect.width()*scale), (l
ong)std::round(rect.height()*scale));
^
jni/../dlib/dlib/image_loader/../image_transforms/../statistics/../matrix/../arr
ay2d/../geometry/rectangle.h:748:46: note: suggested alternatives:
In file included from E:/2016/android-ndk-r17-beta1/build//../sources/cxx-stl/gn
u-libstdc++/4.9/include/cmath:44:0,
from E:/2016/android-ndk-r17-beta1/build//../sources/cxx-stl/gn
u-libstdc++/4.9/include/random:38,
from E:/2016/android-ndk-r17-beta1/build//../sources/cxx-stl/gn
u-libstdc++/4.9/include/bits/stl_algo.h:66,
from E:/2016/android-ndk-r17-beta1/build//../sources/cxx-stl/gn
u-libstdc++/4.9/include/algorithm:62,
from D:/face/dlib-android/third_party/miniglog/glog/logging.h:1
03,
from jni/jni_common/../jni_common/jni_bitmap2mat.h:5,
from jni/jni_detections/jni_pedestrian_det.cpp:10:
e:\2016\android-ndk-r17-beta1\sysroot\usr\include\math.h:251:8: note: 'round'
double round(double __x);
^
In file included from jni/../dlib/dlib/image_loader/../image_transforms/../stati
stics/../matrix/matrix_utilities.h:17:0,
from jni/../dlib/dlib/image_loader/../image_transforms/../stati
stics/../matrix.h:7,
from jni/../dlib/dlib/image_loader/../image_transforms/../stati
stics/statistics.h:10,
from jni/../dlib/dlib/image_loader/../image_transforms/../stati
stics.h:6,
from jni/../dlib/dlib/image_loader/../image_transforms/assign_i
mage.h:8,
from jni/../dlib/dlib/image_loader/image_loader.h:15,
from jni/../dlib/dlib/image_loader/png_loader.h:9,
from jni/../dlib/dlib/image_loader/load_image.h:8,
from jni/jni_detections/detector.h:13,
from jni/jni_detections/jni_pedestrian_det.cpp:14:
jni/../dlib/dlib/image_loader/../image_transforms/../statistics/../matrix/matrix
_math_functions.h:205:37: note: 'dlib::round'
const matrix_op<op_round > round (
^
In file included from jni/../dlib/dlib/image_loader/../image_transforms/../stati
stics/../matrix/../array2d/array2d_kernel.h:10:0,
from jni/../dlib/dlib/image_loader/../image_transforms/../stati
stics/../matrix/../array2d.h:7,
from jni/../dlib/dlib/image_loader/../image_transforms/../stati
stics/../matrix/matrix_mat.h:10,
from jni/../dlib/dlib/image_loader/../image_transforms/../stati
stics/../matrix/matrix_utilities.h:20,
from jni/../dlib/dlib/image_loader/../image_transforms/../stati
stics/../matrix.h:7,
from jni/../dlib/dlib/image_loader/../image_transforms/../stati
stics/statistics.h:10,
from jni/../dlib/dlib/image_loader/../image_transforms/../stati
stics.h:6,
from jni/../dlib/dlib/image_loader/../image_transforms/assign_i
mage.h:8,
from jni/../dlib/dlib/image_loader/image_loader.h:15,
from jni/../dlib/dlib/image_loader/png_loader.h:9,
from jni/../dlib/dlib/image_loader/load_image.h:8,
from jni/jni_detections/detector.h:13,
from jni/jni_detections/jni_pedestrian_det.cpp:14:
jni/../dlib/dlib/image_loader/../image_transforms/../statistics/../matrix/../arr
ay2d/../geometry/rectangle.h:748:84: error: 'round' is not a member of 'std'
return centered_rect(rect, (long)std::round(rect.width()*scale), (l
ong)std::round(rect.height()*scale));

^

jni/../dlib/dlib/image_loader/../image_transforms/../statistics/../matrix/../arr
ay2d/../geometry/rectangle.h:748:84: note: suggested alternatives:
In file included from E:/2016/android-ndk-r17-beta1/build//../sources/cxx-stl/gn
u-libstdc++/4.9/include/cmath:44:0,
from E:/2016/android-ndk-r17-beta1/build//../sources/cxx-stl/gn
u-libstdc++/4.9/include/random:38,
from E:/2016/android-ndk-r17-beta1/build//../sources/cxx-stl/gn
u-libstdc++/4.9/include/bits/stl_algo.h:66,
from E:/2016/android-ndk-r17-beta1/build//../sources/cxx-stl/gn
u-libstdc++/4.9/include/algorithm:62,
from D:/face/dlib-android/third_party/miniglog/glog/logging.h:1
03,
from jni/jni_common/../jni_common/jni_bitmap2mat.h:5,
from jni/jni_detections/jni_pedestrian_det.cpp:10:
e:\2016\android-ndk-r17-beta1\sysroot\usr\include\math.h:251:8: note: 'round'
double round(double __x);
^
In file included from jni/../dlib/dlib/image_loader/../image_transforms/../stati
stics/../matrix/matrix_utilities.h:17:0,
from jni/../dlib/dlib/image_loader/../image_transforms/../stati
stics/../matrix.h:7,
from jni/../dlib/dlib/image_loader/../image_transforms/../stati
stics/statistics.h:10,
from jni/../dlib/dlib/image_loader/../image_transforms/../stati
stics.h:6,
from jni/../dlib/dlib/image_loader/../image_transforms/assign_i
mage.h:8,
from jni/../dlib/dlib/image_loader/image_loader.h:15,
from jni/../dlib/dlib/image_loader/png_loader.h:9,
from jni/../dlib/dlib/image_loader/load_image.h:8,
from jni/jni_detections/detector.h:13,
from jni/jni_detections/jni_pedestrian_det.cpp:14:
jni/../dlib/dlib/image_loader/../image_transforms/../statistics/../matrix/matrix
_math_functions.h:205:37: note: 'dlib::round'
const matrix_op<op_round > round (
^
In file included from jni/../dlib/dlib/image_processing/../image_transforms.h:24
:0,
from jni/../dlib/dlib/image_processing/scan_image_boxes.h:12,
from jni/../dlib/dlib/image_processing/setup_hashed_features.h:
8,
from jni/../dlib/dlib/image_processing.h:17,
from jni/jni_detections/detector.h:14,
from jni/jni_detections/jni_pedestrian_det.cpp:14:
jni/../dlib/dlib/image_processing/../image_transforms/interpolation.h: In functi
on 'void dlib::resize_image(double, image_type&)':
jni/../dlib/dlib/image_processing/../image_transforms/interpolation.h:1070:30: e
rror: 'round' is not a member of 'std'
set_image_size(temp, std::round(size_scalenum_rows(img)), std::round(s
ize_scale
num_columns(img)));
^
jni/../dlib/dlib/image_processing/../image_transforms/interpolation.h:1070:30: n
ote: suggested alternatives:
In file included from E:/2016/android-ndk-r17-beta1/build//../sources/cxx-stl/gn
u-libstdc++/4.9/include/cmath:44:0,
from E:/2016/android-ndk-r17-beta1/build//../sources/cxx-stl/gn
u-libstdc++/4.9/include/random:38,
from E:/2016/android-ndk-r17-beta1/build//../sources/cxx-stl/gn
u-libstdc++/4.9/include/bits/stl_algo.h:66,
from E:/2016/android-ndk-r17-beta1/build//../sources/cxx-stl/gn
u-libstdc++/4.9/include/algorithm:62,
from D:/face/dlib-android/third_party/miniglog/glog/logging.h:1
03,
from jni/jni_common/../jni_common/jni_bitmap2mat.h:5,
from jni/jni_detections/jni_pedestrian_det.cpp:10:
e:\2016\android-ndk-r17-beta1\sysroot\usr\include\math.h:251:8: note: 'round'
double round(double __x);
^
In file included from jni/../dlib/dlib/image_loader/../image_transforms/../stati
stics/../matrix/matrix_utilities.h:17:0,

I got error above. on windows 8.

Any suggest???

Did you make changes to any file? specifically Application.mk

#APP_ABI := armeabi-v7a arm64-v8a x86 x86_64
APP_ABI := arm64-v8a

works ok,But I don't want that platform

BUT

APP_ABI := armeabi-v7a arm64-v8a x86 x86_64
#APP_ABI := arm64-v8a

get An error above .

Have a look at this issue Building for armeabi-v7a

It works with other ABIs now!

thanks,I did that weeks ago,
Now the recognition speed is slow, and the accuracy of recognition is the same. Is there room for improvement?

This app currently uses HOG based face detector. This detector fails to detect small faces and is not very accurate. Instead we can use CNN based face detector, which is very accurate but will take much more time.

can you also provide cnn detector In the jni code?

I don't think any significant speed improvements are possible.

I am a bit busy now. I will look into the cnn detector when I have time.