Giter Club home page Giter Club logo

mirroryuchen / ncnn_example Goto Github PK

View Code? Open in Web Editor NEW
457.0 29.0 135.0 58.19 MB

ncnn example: mask detection: anticonv face detection: retinaface&&mtcnn&&centerface, track: iou tracking, landmark: zqcnn, recognize: mobilefacenet classifier: mobilenet object detecter: mobilenetssd

License: MIT License

C++ 58.40% CMake 1.04% C 25.66% Objective-C 0.03% Batchfile 0.02% Shell 0.22% Makefile 0.03% Starlark 0.03% Python 1.90% GLSL 11.09% JavaScript 0.51% HLSL 0.01% M4 0.52% Yacc 0.52% SWIG 0.01%
ncnn facedetection facelandmark zqlandmark facerecognition facealigner classifier objectdetection

ncnn_example's Introduction

Hi there 👋

  • 🔭 I’m currently working on VR/AR
  • 🌱 I’m currently learning SLAM
  • 👯 I’m looking to collaborate on VR/AR
  • 🤔 I’m looking for help with WebAR
  • 💬 Ask me about: CSDN
  • 📫 How to reach me: [email protected]
  • 😄 Pronouns: MirrorYuChen
  • ⚡ Fun fact: ML,DN,DL and so on

MirrorYuChen's GitHub stats

ncnn_example's People

Contributors

mirroryu avatar mirroryuchen avatar qaz734913414 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ncnn_example's Issues

No Makefile found .

make: *** No targets specified and no makefile found. Stop.

How am i supposed to make this example?

WorKing on TX2

Hello, I think your project on Nano is working on CPU, I try to inference on GPU, but it does not work. Just like ncnn:

ncnn::create_gpu_instance();
{

}
ncnn::destroy_gpu_instance();

Do you know how to fix it?

ncnn::Mat读入后模型推断问题

Android里面读入bitmap转换后,ncnn无法推断:
模型用的是:https://github.com/MirrorYuChen/ncnn_106landmarks/blob/master/model/landmark.bin
https://github.com/MirrorYuChen/ncnn_106landmarks/blob/master/model/landmark.param

    AndroidBitmapInfo info;
    AndroidBitmap_getInfo(env, bitmap, &info);
    int width = info.width;
    int height = info.height;

    if (info.format != ANDROID_BITMAP_FORMAT_RGBA_8888)
        return NULL;

    void *indata;
    AndroidBitmap_lockPixels(env, bitmap, &indata);

    LOGI(" ******** JNI 图像格式转换完成");

    ncnn::Mat in;

    in = ncnn::Mat::from_pixels((const unsigned char*)indata, ncnn::Mat::PIXEL_RGBA2BGR, width, height);

    const float mean_vals[3] = {127.5, 127.5, 127.5};
    const float norm_vals[3] = {0.0078125, 0.0078125, 0.0078125};
    in.substract_mean_normalize(mean_vals, norm_vals);

    in.reshape(48, 48);
    LOGI(" ******** JNI 图像Mat已读入, 大小转换完成");

    AndroidBitmap_unlockPixels(env, bitmap);


    ncnn::Extractor ex = mtcnn->mtcnn_net.create_extractor();
    ex.set_light_mode(true);
    ex.set_num_threads(2);

    LOGI(" ******** JNI Mat Extractor 创建完成");
    ncnn::Mat output;
    ex.input("data", in);
    ex.extract("bn6_3", output);

mask detection error

大佬抱歉麻烦您了,我的平台是 ubuntu 18.04LTS, NCNN 是最新的那一版本,请问为什么测试的口罩识别功能无法正常工作呢?
mask_result

视频抖动太严重,有什么好的建议吗?

目前将mtcnn和该项目的关键点结合了起来,在启动摄像头测试视频时,发现抖动十分严重,但mtcnn的5个关键点很稳定。所以想问问您,有什么好的建议可以改进一下?

mask detection

口罩的分类模型是如何训练得到的?mnn项目嗷嗷待哺。iou face tracker mnn example顺便也更新一把?

Can not build cmake, error can not find -lncnn

Hi Author, Thank for your work. I have a problem when build this source to test face mask detection.
My Steps:
~ mkdir build
~ cd build
~ cmake ..
~ make -j3
And have message show to me this error. Could you help me ?
Thanks !
Screenshot from 2020-11-06 09-09-49

not support the latest NCNN?

Great work !
I tested the examples using NCNN version 20200226.
It runs smoothly.
But it seems that the latest NCNN, say version 20210525, is not supported.
So d you have any plan to update the code and support the new NCNN?

请教设计模式问题

class ClassifierEngine {
public:
ClassifierEngine();
~ClassifierEngine();
int LoadModel(const char* root_path);
int Classify(const cv::Mat& img_src, std::vector<ImageInfo>* images);
private:
class Impl;
Impl* impl_;
};

您好,本人才疏学浅。冒昧问一下这是一种什么设计模式呢?不直接用classifier类而用ClassifierEngine类是基于什么样的考虑呢?

How to get landmark from "RetinafaceFactory"

Hello @MirrorYuChen,
Thank you for yours work!

I would like to get landmarks from retina face detection, I saw that the landmarks was extract from model "ex.extract(landmark_layer_name.c_str(), landmark_mat);"
So how to calculate and store landmark to face_info.keypoints ?

编译时link出错

按照readme,编译时,报错:
/usr/bin/ld: ../../src/../lib/libncnn.a(mat.cpp.o): Relocations in generic ELF (EM: 183)
/usr/bin/ld: ../../src/../lib/libncnn.a(mat.cpp.o): Relocations in generic ELF (EM: 183)
/usr/bin/ld: ../../src/../lib/libncnn.a(mat.cpp.o): Relocations in generic ELF (EM: 183)
/usr/bin/ld: ../../src/../lib/libncnn.a(mat.cpp.o): Relocations in generic ELF (EM: 183)
/usr/bin/ld: ../../src/../lib/libncnn.a: error adding symbols: file in wrong format
collect2: error: ld returned 1 exit status
make[2]: *** [src/CMakeFiles/face.dir/build.make:105: src/face] Error 1
make[1]: *** [CMakeFiles/Makefile2:134: src/CMakeFiles/face.dir/all] Error 2
make: *** [Makefile:130: all] Error 2

有人遇到吗?单独进src,make可以生成库,但是在ncnn-example 路径下make,就出错了,不知道是哪里路径不对

Detect Mask?

I run detect mask but only get non mask result? please tell me where is the error. Thank you very much!

/usr/bin/ld: cannot open output file face: Is a directory

(base) [ncnn_example-master]$ make
Scanning dependencies of target VisionEngine
[ 3%] Building CXX object src/CMakeFiles/VisionEngine.dir/classifier/classifier/mobilenet/mobilenet.cpp.o
[ 6%] Building CXX object src/CMakeFiles/VisionEngine.dir/classifier/classifier_engine.cpp.o
[ 10%] Building CXX object src/CMakeFiles/VisionEngine.dir/classifier/test_classifier.cpp.o
[ 13%] Building CXX object src/CMakeFiles/VisionEngine.dir/common/common.cpp.o
[ 16%] Building CXX object src/CMakeFiles/VisionEngine.dir/face/aligner/aligner.cpp.o
[ 20%] Building CXX object src/CMakeFiles/VisionEngine.dir/face/database/face_database.cpp.o
[ 23%] Building CXX object src/CMakeFiles/VisionEngine.dir/face/database/stream/file_stream.cpp.o
[ 26%] Building CXX object src/CMakeFiles/VisionEngine.dir/face/detecter/anticonv/anticonv.cpp.o
[ 30%] Building CXX object src/CMakeFiles/VisionEngine.dir/face/detecter/centerface/centerface.cpp.o
[ 33%] Building CXX object src/CMakeFiles/VisionEngine.dir/face/detecter/detecter.cpp.o
[ 36%] Building CXX object src/CMakeFiles/VisionEngine.dir/face/detecter/mtcnn/mtcnn.cpp.o
[ 40%] Building CXX object src/CMakeFiles/VisionEngine.dir/face/detecter/retinaface/retinaface.cpp.o
[ 43%] Building CXX object src/CMakeFiles/VisionEngine.dir/face/face_engine.cpp.o
[ 46%] Building CXX object src/CMakeFiles/VisionEngine.dir/face/landmarker/insightface/insightface.cpp.o
[ 50%] Building CXX object src/CMakeFiles/VisionEngine.dir/face/landmarker/landmarker.cpp.o
[ 53%] Building CXX object src/CMakeFiles/VisionEngine.dir/face/landmarker/zqlandmarker/zqlandmarker.cpp.o
[ 56%] Building CXX object src/CMakeFiles/VisionEngine.dir/face/recognizer/mobilefacenet/mobilefacenet.cpp.o
[ 60%] Building CXX object src/CMakeFiles/VisionEngine.dir/face/recognizer/recognizer.cpp.o
[ 63%] Building CXX object src/CMakeFiles/VisionEngine.dir/face/test_face.cpp.o
[ 66%] Building CXX object src/CMakeFiles/VisionEngine.dir/face/tracker/tracker.cpp.o
[ 70%] Building CXX object src/CMakeFiles/VisionEngine.dir/object/object/mobilenetssd/mobilenetssd.cpp.o
[ 73%] Building CXX object src/CMakeFiles/VisionEngine.dir/object/object_engine.cpp.o
[ 76%] Building CXX object src/CMakeFiles/VisionEngine.dir/object/test_object.cpp.o
[ 80%] Linking CXX static library libVisionEngine.a
[ 80%] Built target VisionEngine
Scanning dependencies of target face
[ 83%] Building CXX object src/CMakeFiles/face.dir/face/test_face.cpp.o
[ 86%] Linking CXX executable face
/usr/bin/ld: cannot open output file face: Is a directory
collect2: error: ld returned 1 exit status
make[2]: *** [src/face] Error 1
make[1]: *** [src/CMakeFiles/face.dir/all] Error 2
make: *** [all] Error 2

关于左博士106点模型的转换

你好,感谢你关于这个项目的为大家开源的工作!看到主页上说对原始左博士的mxnet106点模型的修改是在json里,删去不支持的层,如下:
zuoqing1988/ZQCNN#50
我只删除了 "name": "landmark_target", "name": "landmark_pred","name": "negative_mining",但是还是mxnet加载不成功,麻烦能否给我提供一下你修改好的mxnet的json文件呢?谢谢!

RatioAnchors 函数几个问题

  1. int RatioAnchors(const cv::Rect & anchor,
  2. const std::vector& ratios,
  3. std::vectorcv::Rect* anchors) {
  4. anchors->clear();
  5. cv::Point center = cv::Point(anchor.x + (anchor.width - 1) * 0.5f,
  6.  anchor.y + (anchor.height - 1) * 0.5f);
    
  7. float anchor_size = anchor.width * anchor.height;
  8. #if defined(_OPENMP)
  9. #pragma omp parallel for num_threads(threads_num)
  10. #endif
  11. for (int i = 0; i < static_cast<int>(ratios.size()); ++i) {
    
  12. 	float ratio = ratios.at(i);
    
  13. 	float anchor_size_ratio = anchor_size / ratio;
    
  14. 	float curr_anchor_width = std::sqrt(anchor_size_ratio);
    
  15. 	float curr_anchor_height = curr_anchor_width * ratio;
    
  16. 	float curr_x = center.x - (curr_anchor_width - 1)* 0.5f;
    
  17. 	float curr_y = center.y - (curr_anchor_height - 1)* 0.5f;
    
  18. 	cv::Rect curr_anchor = cv::Rect(curr_x, curr_y,
    
  19. 		curr_anchor_width - 1, curr_anchor_height - 1);
    
  20. 	anchors->push_back(curr_anchor);
    
  21. }
    
  22. return 0;
    
  23. }

有以下几个问题:

  1. 第5行,取中点,为什么宽度要减1?

  2. 第15行,curr_anchor_height为什么不是 curr_anchor_height=curr_anchor_width ?

  3. 13到15行,计算高宽是否下面算法更好?

    curr_anchor_width=anchor.width/ratio
    curr_anchor_height=anchor.height;/ratio

code version 935b49af have link error

i cloned the lastest version of code from github.
i installed protobuf,cmake(3.10.0),opencv(4.3.0) on my ubuntu18.04.
i compile the project by mkdir build && cd build && cmake .. && make -j8
then i got this information:
/usr/bin/ld: ../../src/../lib/libncnn.a(mat.cpp.o):普通ELF重定位(M: 183)
/usr/bin/ld: ../../src/../lib/libncnn.a(mat.cpp.o):普通ELF重定位(M: 183)
/usr/bin/ld: ../../src/../lib/libncnn.a(mat.cpp.o):普通ELF重定位(M: 183)
/usr/bin/ld: ../../src/../lib/libncnn.a(mat.cpp.o):普通ELF重定位(M: 183)
../../src/../lib/libncnn.a: 无法添加符号: 文件格式错误
collect2: error: ld returned 1 exit status
src/CMakeFiles/classifier.dir/build.make:147: recipe for target 'src/classifier' failed
make[2]: *** [src/classifier] Error 1
CMakeFiles/Makefile2:91: recipe for target 'src/CMakeFiles/classifier.dir/all' failed
make[1]: *** [src/CMakeFiles/classifier.dir/all] Error 2
make[1]: *** 正在等待未完成的任务....
/usr/bin/ld: ../../src/../lib/libncnn.a(mat.cpp.o):普通ELF重定位(M: 183)
/usr/bin/ld: ../../src/../lib/libncnn.a(mat.cpp.o):普通ELF重定位(M: 183)
/usr/bin/ld: ../../src/../lib/libncnn.a(mat.cpp.o):普通ELF重定位(M: 183)
/usr/bin/ld: ../../src/../lib/libncnn.a(mat.cpp.o):普通ELF重定位(M: 183)
../../src/../lib/libncnn.a: 无法添加符号: 文件格式错误
collect2: error: ld returned 1 exit status
src/CMakeFiles/object.dir/build.make:147: recipe for target 'src/object' failed
make[2]: *** [src/object] Error 1
CMakeFiles/Makefile2:202: recipe for target 'src/CMakeFiles/object.dir/all' failed
make[1]: *** [src/CMakeFiles/object.dir/all] Error 2
/usr/bin/ld: ../../src/../lib/libncnn.a(mat.cpp.o):普通ELF重定位(M: 183)
/usr/bin/ld: ../../src/../lib/libncnn.a(mat.cpp.o):普通ELF重定位(M: 183)
/usr/bin/ld: ../../src/../lib/libncnn.a(mat.cpp.o):普通ELF重定位(M: 183)
/usr/bin/ld: ../../src/../lib/libncnn.a(mat.cpp.o):普通ELF重定位(M: 183)
../../src/../lib/libncnn.a: 无法添加符号: 文件格式错误
collect2: error: ld returned 1 exit status
src/CMakeFiles/face.dir/build.make:147: recipe for target 'src/face' failed
make[2]: *** [src/face] Error 1
CMakeFiles/Makefile2:128: recipe for target 'src/CMakeFiles/face.dir/all' failed
make[1]: *** [src/CMakeFiles/face.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

it seems like something wrong with ncnn.

then i compiled ncnn by myself, and edit CMakeLists.txt for scr folder like this:
#file(GLOB LIBS ${CMAKE_CURRENT_SOURCE_DIR}/../lib/*.a)
target_link_libraries(VisionEngine PUBLIC ${LIBS} ${OpenCV_LIBS} ncnn)

everything goes ok.

because i have no vulkan sdk installed, so i edit the ncnn/alloctor.h line 29 "#undef NCNN_VULKAN"

How to calculate the similarity(score) of arcface in the insightface github?

Thank you so much for your contribution.

How to calculate the similarity or score between two features ?

7767517
154 178
Input input.1 0 1 input.1
Convolution Conv_0 1 1 input.1 684 0=64 1=3 4=1 5=1 6=1728
PReLU PRelu_1 1 1 684 479 0=64
Split splitncnn_0 1 2 479 479_splitncnn_0 479_splitncnn_1
BatchNorm BatchNormalization_2 1 1 479_splitncnn_1 480 0=64
Convolution Conv_3 1 1 480 687 0=64 1=3 4=1 5=1 6=36864
PReLU PRelu_4 1 1 687 484 0=64
Convolution Conv_5 1 1 484 690 0=64 1=3 3=2 4=1 5=1 6=36864
Convolution Conv_6 1 1 479_splitncnn_0 693 0=64 1=1 3=2 5=1 6=4096
BinaryOp Add_7 2 1 690 693 489
Split splitncnn_1 1 2 489 489_splitncnn_0 489_splitncnn_1
BatchNorm BatchNormalization_8 1 1 489_splitncnn_1 490 0=64
Convolution Conv_9 1 1 490 696 0=64 1=3 4=1 5=1 6=36864
PReLU PRelu_10 1 1 696 494 0=64
Convolution Conv_11 1 1 494 699 0=64 1=3 4=1 5=1 6=36864
BinaryOp Add_12 2 1 699 489_splitncnn_0 497
Split splitncnn_2 1 2 497 497_splitncnn_0 497_splitncnn_1
BatchNorm BatchNormalization_13 1 1 497_splitncnn_1 498 0=64
Convolution Conv_14 1 1 498 702 0=64 1=3 4=1 5=1 6=36864
PReLU PRelu_15 1 1 702 502 0=64
Convolution Conv_16 1 1 502 705 0=64 1=3 4=1 5=1 6=36864
BinaryOp Add_17 2 1 705 497_splitncnn_0 505
Split splitncnn_3 1 2 505 505_splitncnn_0 505_splitncnn_1
BatchNorm BatchNormalization_18 1 1 505_splitncnn_1 506 0=64
Convolution Conv_19 1 1 506 708 0=128 1=3 4=1 5=1 6=73728
PReLU PRelu_20 1 1 708 510 0=128
Convolution Conv_21 1 1 510 711 0=128 1=3 3=2 4=1 5=1 6=147456
Convolution Conv_22 1 1 505_splitncnn_0 714 0=128 1=1 3=2 5=1 6=8192
BinaryOp Add_23 2 1 711 714 515
Split splitncnn_4 1 2 515 515_splitncnn_0 515_splitncnn_1
BatchNorm BatchNormalization_24 1 1 515_splitncnn_1 516 0=128
Convolution Conv_25 1 1 516 717 0=128 1=3 4=1 5=1 6=147456
PReLU PRelu_26 1 1 717 520 0=128
Convolution Conv_27 1 1 520 720 0=128 1=3 4=1 5=1 6=147456
BinaryOp Add_28 2 1 720 515_splitncnn_0 523
Split splitncnn_5 1 2 523 523_splitncnn_0 523_splitncnn_1
BatchNorm BatchNormalization_29 1 1 523_splitncnn_1 524 0=128
Convolution Conv_30 1 1 524 723 0=128 1=3 4=1 5=1 6=147456
PReLU PRelu_31 1 1 723 528 0=128
Convolution Conv_32 1 1 528 726 0=128 1=3 4=1 5=1 6=147456
BinaryOp Add_33 2 1 726 523_splitncnn_0 531
Split splitncnn_6 1 2 531 531_splitncnn_0 531_splitncnn_1
BatchNorm BatchNormalization_34 1 1 531_splitncnn_1 532 0=128
Convolution Conv_35 1 1 532 729 0=128 1=3 4=1 5=1 6=147456
PReLU PRelu_36 1 1 729 536 0=128
Convolution Conv_37 1 1 536 732 0=128 1=3 4=1 5=1 6=147456
BinaryOp Add_38 2 1 732 531_splitncnn_0 539
Split splitncnn_7 1 2 539 539_splitncnn_0 539_splitncnn_1
BatchNorm BatchNormalization_39 1 1 539_splitncnn_1 540 0=128
Convolution Conv_40 1 1 540 735 0=256 1=3 4=1 5=1 6=294912
PReLU PRelu_41 1 1 735 544 0=256
Convolution Conv_42 1 1 544 738 0=256 1=3 3=2 4=1 5=1 6=589824
Convolution Conv_43 1 1 539_splitncnn_0 741 0=256 1=1 3=2 5=1 6=32768
BinaryOp Add_44 2 1 738 741 549
Split splitncnn_8 1 2 549 549_splitncnn_0 549_splitncnn_1
BatchNorm BatchNormalization_45 1 1 549_splitncnn_1 550 0=256
Convolution Conv_46 1 1 550 744 0=256 1=3 4=1 5=1 6=589824
PReLU PRelu_47 1 1 744 554 0=256
Convolution Conv_48 1 1 554 747 0=256 1=3 4=1 5=1 6=589824
BinaryOp Add_49 2 1 747 549_splitncnn_0 557
Split splitncnn_9 1 2 557 557_splitncnn_0 557_splitncnn_1
BatchNorm BatchNormalization_50 1 1 557_splitncnn_1 558 0=256
Convolution Conv_51 1 1 558 750 0=256 1=3 4=1 5=1 6=589824
PReLU PRelu_52 1 1 750 562 0=256
Convolution Conv_53 1 1 562 753 0=256 1=3 4=1 5=1 6=589824
BinaryOp Add_54 2 1 753 557_splitncnn_0 565
Split splitncnn_10 1 2 565 565_splitncnn_0 565_splitncnn_1
BatchNorm BatchNormalization_55 1 1 565_splitncnn_1 566 0=256
Convolution Conv_56 1 1 566 756 0=256 1=3 4=1 5=1 6=589824
PReLU PRelu_57 1 1 756 570 0=256
Convolution Conv_58 1 1 570 759 0=256 1=3 4=1 5=1 6=589824
BinaryOp Add_59 2 1 759 565_splitncnn_0 573
Split splitncnn_11 1 2 573 573_splitncnn_0 573_splitncnn_1
BatchNorm BatchNormalization_60 1 1 573_splitncnn_1 574 0=256
Convolution Conv_61 1 1 574 762 0=256 1=3 4=1 5=1 6=589824
PReLU PRelu_62 1 1 762 578 0=256
Convolution Conv_63 1 1 578 765 0=256 1=3 4=1 5=1 6=589824
BinaryOp Add_64 2 1 765 573_splitncnn_0 581
Split splitncnn_12 1 2 581 581_splitncnn_0 581_splitncnn_1
BatchNorm BatchNormalization_65 1 1 581_splitncnn_1 582 0=256
Convolution Conv_66 1 1 582 768 0=256 1=3 4=1 5=1 6=589824
PReLU PRelu_67 1 1 768 586 0=256
Convolution Conv_68 1 1 586 771 0=256 1=3 4=1 5=1 6=589824
BinaryOp Add_69 2 1 771 581_splitncnn_0 589
Split splitncnn_13 1 2 589 589_splitncnn_0 589_splitncnn_1
BatchNorm BatchNormalization_70 1 1 589_splitncnn_1 590 0=256
Convolution Conv_71 1 1 590 774 0=256 1=3 4=1 5=1 6=589824
PReLU PRelu_72 1 1 774 594 0=256
Convolution Conv_73 1 1 594 777 0=256 1=3 4=1 5=1 6=589824
BinaryOp Add_74 2 1 777 589_splitncnn_0 597
Split splitncnn_14 1 2 597 597_splitncnn_0 597_splitncnn_1
BatchNorm BatchNormalization_75 1 1 597_splitncnn_1 598 0=256
Convolution Conv_76 1 1 598 780 0=256 1=3 4=1 5=1 6=589824
PReLU PRelu_77 1 1 780 602 0=256
Convolution Conv_78 1 1 602 783 0=256 1=3 4=1 5=1 6=589824
BinaryOp Add_79 2 1 783 597_splitncnn_0 605
Split splitncnn_15 1 2 605 605_splitncnn_0 605_splitncnn_1
BatchNorm BatchNormalization_80 1 1 605_splitncnn_1 606 0=256
Convolution Conv_81 1 1 606 786 0=256 1=3 4=1 5=1 6=589824
PReLU PRelu_82 1 1 786 610 0=256
Convolution Conv_83 1 1 610 789 0=256 1=3 4=1 5=1 6=589824
BinaryOp Add_84 2 1 789 605_splitncnn_0 613
Split splitncnn_16 1 2 613 613_splitncnn_0 613_splitncnn_1
BatchNorm BatchNormalization_85 1 1 613_splitncnn_1 614 0=256
Convolution Conv_86 1 1 614 792 0=256 1=3 4=1 5=1 6=589824
PReLU PRelu_87 1 1 792 618 0=256
Convolution Conv_88 1 1 618 795 0=256 1=3 4=1 5=1 6=589824
BinaryOp Add_89 2 1 795 613_splitncnn_0 621
Split splitncnn_17 1 2 621 621_splitncnn_0 621_splitncnn_1
BatchNorm BatchNormalization_90 1 1 621_splitncnn_1 622 0=256
Convolution Conv_91 1 1 622 798 0=256 1=3 4=1 5=1 6=589824
PReLU PRelu_92 1 1 798 626 0=256
Convolution Conv_93 1 1 626 801 0=256 1=3 4=1 5=1 6=589824
BinaryOp Add_94 2 1 801 621_splitncnn_0 629
Split splitncnn_18 1 2 629 629_splitncnn_0 629_splitncnn_1
BatchNorm BatchNormalization_95 1 1 629_splitncnn_1 630 0=256
Convolution Conv_96 1 1 630 804 0=256 1=3 4=1 5=1 6=589824
PReLU PRelu_97 1 1 804 634 0=256
Convolution Conv_98 1 1 634 807 0=256 1=3 4=1 5=1 6=589824
BinaryOp Add_99 2 1 807 629_splitncnn_0 637
Split splitncnn_19 1 2 637 637_splitncnn_0 637_splitncnn_1
BatchNorm BatchNormalization_100 1 1 637_splitncnn_1 638 0=256
Convolution Conv_101 1 1 638 810 0=256 1=3 4=1 5=1 6=589824
PReLU PRelu_102 1 1 810 642 0=256
Convolution Conv_103 1 1 642 813 0=256 1=3 4=1 5=1 6=589824
BinaryOp Add_104 2 1 813 637_splitncnn_0 645
Split splitncnn_20 1 2 645 645_splitncnn_0 645_splitncnn_1
BatchNorm BatchNormalization_105 1 1 645_splitncnn_1 646 0=256
Convolution Conv_106 1 1 646 816 0=256 1=3 4=1 5=1 6=589824
PReLU PRelu_107 1 1 816 650 0=256
Convolution Conv_108 1 1 650 819 0=256 1=3 4=1 5=1 6=589824
BinaryOp Add_109 2 1 819 645_splitncnn_0 653
Split splitncnn_21 1 2 653 653_splitncnn_0 653_splitncnn_1
BatchNorm BatchNormalization_110 1 1 653_splitncnn_1 654 0=256
Convolution Conv_111 1 1 654 822 0=512 1=3 4=1 5=1 6=1179648
PReLU PRelu_112 1 1 822 658 0=512
Convolution Conv_113 1 1 658 825 0=512 1=3 3=2 4=1 5=1 6=2359296
Convolution Conv_114 1 1 653_splitncnn_0 828 0=512 1=1 3=2 5=1 6=131072
BinaryOp Add_115 2 1 825 828 663
Split splitncnn_22 1 2 663 663_splitncnn_0 663_splitncnn_1
BatchNorm BatchNormalization_116 1 1 663_splitncnn_1 664 0=512
Convolution Conv_117 1 1 664 831 0=512 1=3 4=1 5=1 6=2359296
PReLU PRelu_118 1 1 831 668 0=512
Convolution Conv_119 1 1 668 834 0=512 1=3 4=1 5=1 6=2359296
BinaryOp Add_120 2 1 834 663_splitncnn_0 671
Split splitncnn_23 1 2 671 671_splitncnn_0 671_splitncnn_1
BatchNorm BatchNormalization_121 1 1 671_splitncnn_1 672 0=512
Convolution Conv_122 1 1 672 837 0=512 1=3 4=1 5=1 6=2359296
PReLU PRelu_123 1 1 837 676 0=512
Convolution Conv_124 1 1 676 840 0=512 1=3 4=1 5=1 6=2359296
BinaryOp Add_125 2 1 840 671_splitncnn_0 679
BatchNorm BatchNormalization_126 1 1 679 680 0=512
Flatten Flatten_127 1 1 680 681
InnerProduct output 1 1 681 output 0=512 1=1 2=12845056

Sincerely yours.

人脸对齐关键点有问题?

感谢作者开源ncnn_example工程,我从中获益良多。我在调试时发现一个可能的bug,人脸关键点对齐选取的关键点似乎有些问题。下图是我可视化出来选取的五个关键点。

编译错误

你好,我在编译的时候出现如下错误,请问是什么原因呢?
b-2.0.so.0, not found (try using -rpath or -rpath-link)
libVisionEngine.a(zqlandmarker.cpp.o):在函数‘mirror::ZQLandmarker::ExtractKeypoints(cv::Mat const&, cv::Rect_ const&, std::vector<cv::Point_, std::allocator<cv::Point_ > >)’中:
/home/skyids/PycharmProjects/ncnn_example/src/face/landmarker/zqlandmarker/zqlandmarker.cpp:59:对‘ncnn::Extractor::extract(char const
, ncnn::Mat&)’未定义的引用
libVisionEngine.a(mtcnn.cpp.o):在函数‘mirror::Mtcnn::RDetect(ncnn::Mat const&, std::vector<mirror::FaceInfo, std::allocatormirror::FaceInfo > const&, std::vector<mirror::FaceInfo, std::allocatormirror::FaceInfo >)’中:
/home/skyids/PycharmProjects/ncnn_example/src/face/detecter/mtcnn/mtcnn.cpp:188:对‘ncnn::Extractor::extract(char const
, ncnn::Mat&)’未定义的引用
/home/skyids/PycharmProjects/ncnn_example/src/face/detecter/mtcnn/mtcnn.cpp:189:对‘ncnn::Extractor::extract(char const*, ncnn::Mat&)’未定义的引用
libVisionEngine.a(mtcnn.cpp.o):在函数‘mirror::Mtcnn::PDetect(ncnn::Mat const&, std::vector<mirror::FaceInfo, std::allocatormirror::FaceInfo >)’中:
/home/skyids/PycharmProjects/ncnn_example/src/face/detecter/mtcnn/mtcnn.cpp:133:对‘ncnn::Extractor::extract(char const
, ncnn::Mat&)’未定义的引用
/home/skyids/PycharmProjects/ncnn_example/src/face/detecter/mtcnn/mtcnn.cpp:134:对‘ncnn::Extractor::extract(char const*, ncnn::Mat&)’未定义的引用
libVisionEngine.a(mtcnn.cpp.o):/home/skyids/PycharmProjects/ncnn_example/src/face/detecter/mtcnn/mtcnn.cpp:225: 跟着更多未定义的参考到 ncnn::Extractor::extract(char const*, ncnn::Mat&)
../../src/../lib/libncnn.a(pipelinecache.cpp.o):在函数‘ncnn::PipelineCache::clear()’中:
pipelinecache.cpp:(.text+0x320):对‘vkDestroyPipeline’未定义的引用
pipelinecache.cpp:(.text+0x33b):对‘vkDestroyPipelineLayout’未定义的引用
pipelinecache.cpp:(.text+0x356):对‘vkDestroyDescriptorSetLayout’未定义的引用
pipelinecache.cpp:(.text+0x370):对‘vkDestroyShaderModule’未定义的引用
../../src/../lib/libncnn.a(pipelinecache.cpp.o):在函数‘ncnn::PipelineCache::new_pipeline(VkShaderModule_T*, ncnn::ShaderInfo const&, std::vector<ncnn::vk_specialization_type, std::allocatorncnn::vk_specialization_type > const&, VkDescriptorSetLayout_T**, VkPipelineLayout_T**, VkPipeline_T**, VkDescriptorUpdateTemplate_T**) const’中:
pipelinecache.cpp:(.text+0x666):对‘vkDestroyPipeline’未定义的引用
pipelinecache.cpp:(.text+0x681):对‘vkDestroyPipelineLayout’未定义的引用
pipelinecache.cpp:(.text+0x6a1):对‘vkDestroyDescriptorSetLayout’未定义的引用
../../src/../lib/libncnn.a(pipelinecache.cpp.o):在函数‘ncnn::PipelineCache::get_pipeline(unsigned int const*, unsigned long, std::vector<ncnn::vk_specialization_type, std::allocatorncnn::vk_specialization_type > const&, unsigned int, unsigned int, unsigned int, VkShaderModule_T**, VkDescriptorSetLayout_T**, VkPipelineLayout_T**, VkPipeline_T**, VkDescriptorUpdateTemplate_T**, ncnn::ShaderInfo&) const’中:
pipelinecache.cpp:(.text+0xdd8):对‘vkDestroyShaderModule’未定义的引用
../../src/../lib/libncnn.a(pipelinecache.cpp.o):在函数‘ncnn::PipelineCache::get_pipeline(int, ncnn::Option const&, std::vector<ncnn::vk_specialization_type, std::allocatorncnn::vk_specialization_type > const&, unsigned int, unsigned int, unsigned int, VkShaderModule_T**, VkDescriptorSetLayout_T**, VkPipelineLayout_T**, VkPipeline_T**, VkDescriptorUpdateTemplate_T**, ncnn::ShaderInfo&) const’中:
pipelinecache.cpp:(.text+0x1314):对‘vkDestroyShaderModule’未定义的引用
../../src/../lib/libncnn.a(allocator.cpp.o):在函数‘ncnn::VkWeightStagingAllocator::fastFree(ncnn::VkBufferMemory*)’中:
allocator.cpp:(.text+0xbc):对‘vkUnmapMemory’未定义的引用
allocator.cpp:(.text+0xd1):对‘vkDestroyBuffer’未定义的引用
allocator.cpp:(.text+0xe7):对‘vkFreeMemory’未定义的引用
../../src/../lib/libncnn.a(allocator.cpp.o):在函数‘ncnn::VkWeightAllocator::clear()’中:
allocator.cpp:(.text+0x146):对‘vkDestroyBuffer’未定义的引用
allocator.cpp:(.text+0x15c):对‘vkFreeMemory’未定义的引用
allocator.cpp:(.text+0x196):对‘vkUnmapMemory’未定义的引用
allocator.cpp:(.text+0x1d6):对‘vkDestroyBuffer’未定义的引用
allocator.cpp:(.text+0x1ec):对‘vkFreeMemory’未定义的引用
allocator.cpp:(.text+0x226):对‘vkUnmapMemory’未定义的引用
allocator.cpp:(.text+0x276):对‘vkFreeMemory’未定义的引用
allocator.cpp:(.text+0x2d6):对‘vkFreeMemory’未定义的引用
../../src/../lib/libncnn.a(allocator.cpp.o):在函数‘ncnn::VkStagingAllocator::clear()’中:
allocator.cpp:(.text+0x3b5):对‘vkUnmapMemory’未定义的引用
allocator.cpp:(.text+0x3cb):对‘vkDestroyBuffer’未定义的引用
allocator.cpp:(.text+0x3e2):对‘vkFreeMemory’未定义的引用
../../src/../lib/libncnn.a(allocator.cpp.o):在函数‘ncnn::VkAllocator::invalidate(ncnn::VkBufferMemory*)’中:
allocator.cpp:(.text+0x58c):对‘vkInvalidateMappedMemoryRanges’未定义的引用
../../src/../lib/libncnn.a(allocator.cpp.o):在函数‘ncnn::VkAllocator::flush(ncnn::VkBufferMemory*)’中:
allocator.cpp:(.text+0x68c):对‘vkFlushMappedMemoryRanges’未定义的引用
../../src/../lib/libncnn.a(allocator.cpp.o):在函数‘ncnn::VkWeightAllocator::fastFree(ncnn::VkImageMemory*)’中:
allocator.cpp:(.text+0x70e):对‘vkDestroyImageView’未定义的引用
allocator.cpp:(.text+0x723):对‘vkDestroyImage’未定义的引用
../../src/../lib/libncnn.a(allocator.cpp.o):在函数‘ncnn::VkBlobAllocator::clear()’中:
allocator.cpp:(.text+0x77e):对‘vkDestroyBuffer’未定义的引用
allocator.cpp:(.text+0x795):对‘vkFreeMemory’未定义的引用
allocator.cpp:(.text+0x7d4):对‘vkUnmapMemory’未定义的引用
allocator.cpp:(.text+0x85f):对‘vkFreeMemory’未定义的引用
../../src/../lib/libncnn.a(allocator.cpp.o):在函数‘ncnn::VkStagingAllocator::~VkStagingAllocator()’中:
allocator.cpp:(.text+0x103d):对‘vkUnmapMemory’未定义的引用
allocator.cpp:(.text+0x1052):对‘vkDestroyBuffer’未定义的引用
allocator.cpp:(.text+0x1068):对‘vkFreeMemory’未定义的引用
../../src/../lib/libncnn.a(allocator.cpp.o):在函数‘ncnn::VkStagingAllocator::~VkStagingAllocator()’中:
allocator.cpp:(.text+0x133d):对‘vkUnmapMemory’未定义的引用
allocator.cpp:(.text+0x1353):对‘vkDestroyBuffer’未定义的引用
allocator.cpp:(.text+0x136a):对‘vkFreeMemory’未定义的引用
../../src/../lib/libncnn.a(allocator.cpp.o):在函数‘ncnn::VkStagingAllocator::fastMalloc(unsigned long)’中:
allocator.cpp:(.text+0x1505):对‘vkCreateBuffer’未定义的引用
allocator.cpp:(.text+0x1531):对‘vkGetBufferMemoryRequirements’未定义的引用
allocator.cpp:(.text+0x1580):对‘vkAllocateMemory’未定义的引用
allocator.cpp:(.text+0x15a7):对‘vkBindBufferMemory’未定义的引用
allocator.cpp:(.text+0x15cb):对‘vkMapMemory’未定义的引用
../../src/../lib/libncnn.a(allocator.cpp.o):在函数‘ncnn::VkWeightStagingAllocator::fastMalloc(unsigned long)’中:
allocator.cpp:(.text+0x1757):对‘vkCreateBuffer’未定义的引用
allocator.cpp:(.text+0x1782):对‘vkGetBufferMemoryRequirements’未定义的引用
allocator.cpp:(.text+0x17d0):对‘vkAllocateMemory’未定义的引用
allocator.cpp:(.text+0x17f6):对‘vkBindBufferMemory’未定义的引用
allocator.cpp:(.text+0x181a):对‘vkMapMemory’未定义的引用
../../src/../lib/libncnn.a(allocator.cpp.o):在函数‘ncnn::VkBlobAllocator::fastFree(ncnn::VkImageMemory*)’中:
allocator.cpp:(.text+0x1b88):对‘vkDestroyImageView’未定义的引用
allocator.cpp:(.text+0x1b9e):对‘vkDestroyImage’未定义的引用
../../src/../lib/libncnn.a(allocator.cpp.o):在函数‘ncnn::VkAllocator::create_buffer(unsigned long, unsigned int)’中:
allocator.cpp:(.text+0x2051):对‘vkCreateBuffer’未定义的引用
../../src/../lib/libncnn.a(allocator.cpp.o):在函数‘ncnn::VkAllocator::allocate_memory(unsigned long, unsigned int)’中:
allocator.cpp:(.text+0x2110):对‘vkAllocateMemory’未定义的引用
../../src/../lib/libncnn.a(allocator.cpp.o):在函数‘ncnn::VkAllocator::allocate_dedicated_memory(unsigned long, unsigned int, VkImage_T*, VkBuffer_T*)’中:
allocator.cpp:(.text+0x21ec):对‘vkAllocateMemory’未定义的引用
../../src/../lib/libncnn.a(allocator.cpp.o):在函数‘ncnn::VkAllocator::create_image(int, int, int, VkFormat, VkImageTiling, unsigned int)’中:
allocator.cpp:(.text+0x230e):对‘vkCreateImage’未定义的引用
../../src/../lib/libncnn.a(allocator.cpp.o):在函数‘ncnn::VkAllocator::create_imageview(VkImage_T*, VkFormat)’中:
allocator.cpp:(.text+0x242f):对‘vkCreateImageView’未定义的引用
../../src/../lib/libncnn.a(allocator.cpp.o):在函数‘ncnn::VkBlobAllocator::fastMalloc(unsigned long)’中:
allocator.cpp:(.text+0x2a85):对‘vkCreateBuffer’未定义的引用
allocator.cpp:(.text+0x2ab8):对‘vkGetBufferMemoryRequirements’未定义的引用
allocator.cpp:(.text+0x2b0c):对‘vkAllocateMemory’未定义的引用
allocator.cpp:(.text+0x2b3b):对‘vkBindBufferMemory’未定义的引用
allocator.cpp:(.text+0x2d06):对‘vkMapMemory’未定义的引用
../../src/../lib/libncnn.a(allocator.cpp.o):在函数‘ncnn::VkBlobAllocator::fastMalloc(int, int, int, unsigned long, int)’中:
allocator.cpp:(.text+0x2fdc):对‘vkCreateImage’未定义的引用
allocator.cpp:(.text+0x3015):对‘vkGetImageMemoryRequirements’未定义的引用
allocator.cpp:(.text+0x3132):对‘vkAllocateMemory’未定义的引用
allocator.cpp:(.text+0x3166):对‘vkBindImageMemory’未定义的引用
allocator.cpp:(.text+0x3221):对‘vkCreateImageView’未定义的引用
allocator.cpp:(.text+0x340b):对‘vkBindImageMemory’未定义的引用
allocator.cpp:(.text+0x34c8):对‘vkCreateImageView’未定义的引用
../../src/../lib/libncnn.a(allocator.cpp.o):在函数‘ncnn::VkWeightAllocator::fastMalloc(unsigned long)’中:
allocator.cpp:(.text+0x398b):对‘vkCreateBuffer’未定义的引用
allocator.cpp:(.text+0x39d9):对‘vkGetBufferMemoryRequirements’未定义的引用
allocator.cpp:(.text+0x3a3a):对‘vkAllocateMemory’未定义的引用
allocator.cpp:(.text+0x3a69):对‘vkBindBufferMemory’未定义的引用
allocator.cpp:(.text+0x3bad):对‘vkMapMemory’未定义的引用
allocator.cpp:(.text+0x3d03):对‘vkAllocateMemory’未定义的引用
allocator.cpp:(.text+0x3d32):对‘vkBindBufferMemory’未定义的引用
allocator.cpp:(.text+0x3e20):对‘vkMapMemory’未定义的引用
../../src/../lib/libncnn.a(allocator.cpp.o):在函数‘ncnn::VkWeightAllocator::fastMalloc(int, int, int, unsigned long, int)’中:
allocator.cpp:(.text+0x4162):对‘vkCreateImage’未定义的引用
allocator.cpp:(.text+0x41bd):对‘vkGetImageMemoryRequirements’未定义的引用
allocator.cpp:(.text+0x42ef):对‘vkAllocateMemory’未定义的引用
allocator.cpp:(.text+0x432f):对‘vkBindImageMemory’未定义的引用
allocator.cpp:(.text+0x43f6):对‘vkCreateImageView’未定义的引用
allocator.cpp:(.text+0x45b5):对‘vkBindImageMemory’未定义的引用
allocator.cpp:(.text+0x467e):对‘vkCreateImageView’未定义的引用
allocator.cpp:(.text+0x47e0):对‘vkAllocateMemory’未定义的引用
allocator.cpp:(.text+0x481e):对‘vkBindImageMemory’未定义的引用
allocator.cpp:(.text+0x48e5):对‘vkCreateImageView’未定义的引用
../../src/../lib/libncnn.a(command.cpp.o):在函数‘ncnn::VkCompute::~VkCompute()’中:
command.cpp:(.text+0x7a):对‘vkDestroyImageView’未定义的引用
command.cpp:(.text+0x90):对‘vkDestroyImage’未定义的引用
command.cpp:(.text+0xf4):对‘vkFreeDescriptorSets’未定义的引用
command.cpp:(.text+0x115):对‘vkDestroyDescriptorPool’未定义的引用
command.cpp:(.text+0x145):对‘vkDestroyFence’未定义的引用
command.cpp:(.text+0x162):对‘vkFreeCommandBuffers’未定义的引用
command.cpp:(.text+0x178):对‘vkDestroyCommandPool’未定义的引用
../../src/../lib/libncnn.a(command.cpp.o):在函数‘ncnn::VkCompute::submit_and_wait()’中:
command.cpp:(.text+0x50c):对‘vkEndCommandBuffer’未定义的引用
command.cpp:(.text+0x598):对‘vkQueueSubmit’未定义的引用
command.cpp:(.text+0x5dd):对‘vkWaitForFences’未定义的引用
command.cpp:(.text+0x772):对‘vkBeginCommandBuffer’未定义的引用
command.cpp:(.text+0x7f6):对‘vkCmdPipelineBarrier’未定义的引用
command.cpp:(.text+0x85e):对‘vkCmdDispatch’未定义的引用
command.cpp:(.text+0x87e):对‘vkCmdPushConstants’未定义的引用
command.cpp:(.text+0x8ad):对‘vkCmdBindDescriptorSets’未定义的引用
command.cpp:(.text+0x8d4):对‘vkCmdCopyBuffer’未定义的引用
command.cpp:(.text+0x91c):对‘vkCmdBindPipeline’未定义的引用
command.cpp:(.text+0x940):对‘vkCmdCopyImageToBuffer’未定义的引用
command.cpp:(.text+0x978):对‘vkCmdCopyBufferToImage’未定义的引用
command.cpp:(.text+0x9af):对‘vkCmdCopyImage’未定义的引用
../../src/../lib/libncnn.a(command.cpp.o):在函数‘ncnn::VkCompute::reset()’中:
command.cpp:(.text+0xcbe):对‘vkDestroyImageView’未定义的引用
command.cpp:(.text+0xcd4):对‘vkDestroyImage’未定义的引用
command.cpp:(.text+0xd80):对‘vkFreeDescriptorSets’未定义的引用
command.cpp:(.text+0xda1):对‘vkDestroyDescriptorPool’未定义的引用
command.cpp:(.text+0xde9):对‘vkResetCommandBuffer’未定义的引用
command.cpp:(.text+0xe0a):对‘vkResetFences’未定义的引用
command.cpp:(.text+0xe79):对‘vkBeginCommandBuffer’未定义的引用
../../src/../lib/libncnn.a(command.cpp.o):在函数‘ncnn::VkCompute::init()’中:
command.cpp:(.text+0xf63):对‘vkCreateCommandPool’未定义的引用
command.cpp:(.text+0xfab):对‘vkAllocateCommandBuffers’未定义的引用
command.cpp:(.text+0xfe4):对‘vkCreateFence’未定义的引用
command.cpp:(.text+0x1049):对‘vkBeginCommandBuffer’未定义的引用
../../src/../lib/libncnn.a(command.cpp.o):在函数‘ncnn::VkCompute::begin_command_buffer()’中:
command.cpp:(.text+0x113e):对‘vkBeginCommandBuffer’未定义的引用
../../src/../lib/libncnn.a(command.cpp.o):在函数‘ncnn::VkCompute::end_command_buffer()’中:
command.cpp:(.text+0x11a6):对‘vkEndCommandBuffer’未定义的引用
../../src/../lib/libncnn.a(command.cpp.o):在函数‘ncnn::VkTransfer::~VkTransfer()’中:
command.cpp:(.text+0x1208):对‘vkDestroyFence’未定义的引用
command.cpp:(.text+0x1225):对‘vkFreeCommandBuffers’未定义的引用
command.cpp:(.text+0x123b):对‘vkDestroyCommandPool’未定义的引用
command.cpp:(.text+0x125d):对‘vkDestroyFence’未定义的引用
command.cpp:(.text+0x1273):对‘vkDestroySemaphore’未定义的引用
command.cpp:(.text+0x1290):对‘vkFreeCommandBuffers’未定义的引用
command.cpp:(.text+0x12a6):对‘vkDestroyCommandPool’未定义的引用
../../src/../lib/libncnn.a(command.cpp.o):在函数‘ncnn::VkTransfer::submit_and_wait()’中:
command.cpp:(.text+0x1344):对‘vkEndCommandBuffer’未定义的引用
command.cpp:(.text+0x1406):对‘vkQueueSubmit’未定义的引用
command.cpp:(.text+0x1474):对‘vkQueueSubmit’未定义的引用
command.cpp:(.text+0x14d8):对‘vkWaitForFences’未定义的引用
command.cpp:(.text+0x156f):对‘vkQueueSubmit’未定义的引用
command.cpp:(.text+0x1600):对‘vkWaitForFences’未定义的引用
command.cpp:(.text+0x164d):对‘vkEndCommandBuffer’未定义的引用
../../src/../lib/libncnn.a(command.cpp.o):在函数‘ncnn::VkTransfer::begin_command_buffer()’中:
command.cpp:(.text+0x1794):对‘vkBeginCommandBuffer’未定义的引用
command.cpp:(.text+0x17f9):对‘vkBeginCommandBuffer’未定义的引用
../../src/../lib/libncnn.a(command.cpp.o):在函数‘ncnn::VkTransfer::init()’中:
command.cpp:(.text+0x1892):对‘vkCreateCommandPool’未定义的引用
command.cpp:(.text+0x18d9):对‘vkAllocateCommandBuffers’未定义的引用
command.cpp:(.text+0x1911):对‘vkCreateFence’未定义的引用
command.cpp:(.text+0x1963):对‘vkCreateCommandPool’未定义的引用
command.cpp:(.text+0x19aa):对‘vkAllocateCommandBuffers’未定义的引用
command.cpp:(.text+0x19e2):对‘vkCreateSemaphore’未定义的引用
command.cpp:(.text+0x1a1a):对‘vkCreateFence’未定义的引用
../../src/../lib/libncnn.a(command.cpp.o):在函数‘ncnn::VkTransfer::end_command_buffer()’中:
command.cpp:(.text+0x1ad9):对‘vkEndCommandBuffer’未定义的引用
command.cpp:(.text+0x1afd):对‘vkEndCommandBuffer’未定义的引用
../../src/../lib/libncnn.a(command.cpp.o):在函数‘ncnn::VkCompute::VkCompute(ncnn::VulkanDevice const*)’中:
command.cpp:(.text+0x1d25):对‘vkCreateCommandPool’未定义的引用
command.cpp:(.text+0x1d70):对‘vkAllocateCommandBuffers’未定义的引用
command.cpp:(.text+0x1dac):对‘vkCreateFence’未定义的引用
command.cpp:(.text+0x1e1c):对‘vkBeginCommandBuffer’未定义的引用
../../src/../lib/libncnn.a(command.cpp.o):在函数‘ncnn::VkTransfer::record_upload(ncnn::Mat const&, ncnn::VkMat&, ncnn::Option const&, bool)’中:
command.cpp:(.text+0x21fa):对‘vkCmdPipelineBarrier’未定义的引用
command.cpp:(.text+0x2718):对‘vkCmdPipelineBarrier’未定义的引用
command.cpp:(.text+0x276a):对‘vkCmdCopyBuffer’未定义的引用
command.cpp:(.text+0x2804):对‘vkCmdPipelineBarrier’未定义的引用
command.cpp:(.text+0x2bfd):对‘vkCmdPipelineBarrier’未定义的引用
command.cpp:(.text+0x2c90):对‘vkCmdPipelineBarrier’未定义的引用
../../src/../lib/libncnn.a(command.cpp.o):在函数‘ncnn::VkTransfer::record_upload(ncnn::Mat const&, ncnn::VkImageMat&, ncnn::Option const&)’中:
command.cpp:(.text+0x3d33):对‘vkCmdPipelineBarrier’未定义的引用
command.cpp:(.text+0x3dc5):对‘vkCmdPipelineBarrier’未定义的引用
command.cpp:(.text+0x3ead):对‘vkCmdCopyBufferToImage’未定义的引用
command.cpp:(.text+0x3f6d):对‘vkCmdPipelineBarrier’未定义的引用
command.cpp:(.text+0x400a):对‘vkCmdPipelineBarrier’未定义的引用
command.cpp:(.text+0x4316):对‘vkCmdPipelineBarrier’未定义的引用
../../src/../lib/libncnn.a(command.cpp.o):在函数‘ncnn::VkCompute::record_clone(ncnn::VkMat const&, ncnn::VkMat&, ncnn::Option const&)’中:
command.cpp:(.text+0x49b8):对‘vkCmdCopyBuffer’未定义的引用
command.cpp:(.text+0x49ea):对‘vkCmdPipelineBarrier’未定义的引用
../../src/../lib/libncnn.a(command.cpp.o):在函数‘ncnn::VkCompute::record_download(ncnn::VkImageMat const&, ncnn::Mat&, ncnn::Option const&)’中:
command.cpp:(.text+0x5226):对‘vkCmdPipelineBarrier’未定义的引用
../../src/../lib/libncnn.a(command.cpp.o):在函数‘ncnn::VkCompute::record_clone(ncnn::VkMat const&, ncnn::Mat&, ncnn::Option const&)’中:
command.cpp:(.text+0x5ff3):对‘vkCmdPipelineBarrier’未定义的引用
../../src/../lib/libncnn.a(command.cpp.o):在函数‘ncnn::VkCompute::record_download(ncnn::VkMat const&, ncnn::Mat&, ncnn::Option const&)’中:
command.cpp:(.text+0x6956):对‘vkCmdPipelineBarrier’未定义的引用
../../src/../lib/libncnn.a(command.cpp.o):在函数‘ncnn::VkCompute::record_clone(ncnn::VkImageMat const&, ncnn::VkMat&, ncnn::Option const&)’中:
command.cpp:(.text+0x77cf):对‘vkCmdCopyImageToBuffer’未定义的引用
command.cpp:(.text+0x7852):对‘vkCmdPipelineBarrier’未定义的引用
../../src/../lib/libncnn.a(command.cpp.o):在函数‘ncnn::VkCompute::record_clone(ncnn::VkMat const&, ncnn::VkImageMat&, ncnn::Option const&)’中:
command.cpp:(.text+0x809c):对‘vkCmdPipelineBarrier’未定义的引用
command.cpp:(.text+0x81c8):对‘vkCmdCopyBufferToImage’未定义的引用
command.cpp:(.text+0x845a):对‘vkCmdPipelineBarrier’未定义的引用
../../src/../lib/libncnn.a(command.cpp.o):在函数‘ncnn::VkCompute::record_clone(ncnn::VkImageMat const&, ncnn::VkImageMat&, ncnn::Option const&)’中:
command.cpp:(.text+0x8b7c):对‘vkCmdPipelineBarrier’未定义的引用
command.cpp:(.text+0x8c4c):对‘vkCmdPipelineBarrier’未定义的引用
command.cpp:(.text+0x8d33):对‘vkCmdCopyImage’未定义的引用
../../src/../lib/libncnn.a(command.cpp.o):在函数‘ncnn::VkCompute::record_pipeline(ncnn::Pipeline const*, std::vector<ncnn::VkMat, std::allocatorncnn::VkMat > const&, std::vector<ncnn::VkImageMat, std::allocatorncnn::VkImageMat > const&, std::vector<ncnn::vk_constant_type, std::allocatorncnn::vk_constant_type > const&, ncnn::Mat const&)’中:
command.cpp:(.text+0x98cd):对‘vkCmdPipelineBarrier’未定义的引用
command.cpp:(.text+0x9acf):对‘vkCmdPipelineBarrier’未定义的引用
command.cpp:(.text+0x9b74):对‘vkCmdBindPipeline’未定义的引用
command.cpp:(.text+0x9f26):对‘vkCmdPipelineBarrier’未定义的引用
command.cpp:(.text+0xabe6):对‘vkCreateDescriptorPool’未定义的引用
command.cpp:(.text+0xac65):对‘vkCmdPushConstants’未定义的引用
command.cpp:(.text+0xacb9):对‘vkCmdDispatch’未定义的引用
command.cpp:(.text+0xada3):对‘vkAllocateDescriptorSets’未定义的引用
command.cpp:(.text+0xb074):对‘vkUpdateDescriptorSets’未定义的引用
../../src/../lib/libncnn.a(gpu.cpp.o):在函数‘ncnn::VulkanDevice::compile_shader_module(unsigned int const*, unsigned long) const’中:
gpu.cpp:(.text+0x9c):对‘vkCreateShaderModule’未定义的引用
../../src/../lib/libncnn.a(gpu.cpp.o):在函数‘ncnn::VulkanDevice::compile_shader_module(unsigned int const*, unsigned long, unsigned int, unsigned int, unsigned int) const’中:
gpu.cpp:(.text+0x20b):对‘vkCreateShaderModule’未定义的引用
../../src/../lib/libncnn.a(gpu.cpp.o):在函数‘ncnn::VulkanDevice::create_descriptorset_layout(int, int const*, VkDescriptorSetLayout_T**) const’中:
gpu.cpp:(.text+0x50f):对‘vkCreateDescriptorSetLayout’未定义的引用
../../src/../lib/libncnn.a(gpu.cpp.o):在函数‘ncnn::VulkanDevice::create_pipeline_layout(int, VkDescriptorSetLayout_T*, VkPipelineLayout_T**) const’中:
gpu.cpp:(.text+0x64a):对‘vkCreatePipelineLayout’未定义的引用
../../src/../lib/libncnn.a(gpu.cpp.o):在函数‘ncnn::VulkanDevice::create_pipeline(VkShaderModule_T*, VkPipelineLayout_T*, std::vector<ncnn::vk_specialization_type, std::allocatorncnn::vk_specialization_type > const&, VkPipeline_T**) const’中:
gpu.cpp:(.text+0x84f):对‘vkCreateComputePipelines’未定义的引用
../../src/../lib/libncnn.a(gpu.cpp.o):在函数‘ncnn::VulkanDevice::init_device_extension()’中:
gpu.cpp:(.text+0x160c):对‘vkGetDeviceProcAddr’未定义的引用
gpu.cpp:(.text+0x163e):对‘vkGetDeviceProcAddr’未定义的引用
gpu.cpp:(.text+0x1655):对‘vkGetDeviceProcAddr’未定义的引用
gpu.cpp:(.text+0x166c):对‘vkGetDeviceProcAddr’未定义的引用
gpu.cpp:(.text+0x1686):对‘vkGetDeviceProcAddr’未定义的引用
../../src/../lib/libncnn.a(gpu.cpp.o):gpu.cpp:(.text+0x16a0): 跟着更多未定义的参考到 vkGetDeviceProcAddr
../../src/../lib/libncnn.a(gpu.cpp.o):在函数‘ncnn::VulkanDevice::~VulkanDevice()’中:
gpu.cpp:(.text+0x23a3):对‘vkDestroySampler’未定义的引用
gpu.cpp:(.text+0x248d):对‘vkDestroyDevice’未定义的引用
../../src/../lib/libncnn.a(gpu.cpp.o):在函数‘ncnn::destroy_gpu_instance()’中:
gpu.cpp:(.text+0x263b):对‘glslang::FinalizeProcess()’未定义的引用
gpu.cpp:(.text+0x2682):对‘vkDestroyInstance’未定义的引用
../../src/../lib/libncnn.a(gpu.cpp.o):在函数‘ncnn::create_gpu_instance()’中:
gpu.cpp:(.text+0x2763):对‘vkEnumerateInstanceExtensionProperties’未定义的引用
gpu.cpp:(.text+0x2860):对‘vkEnumerateInstanceExtensionProperties’未定义的引用
gpu.cpp:(.text+0x29dc):对‘vkGetInstanceProcAddr’未定义的引用
gpu.cpp:(.text+0x2ac0):对‘vkCreateInstance’未定义的引用
gpu.cpp:(.text+0x2b31):对‘vkEnumeratePhysicalDevices’未定义的引用
gpu.cpp:(.text+0x2bb3):对‘vkEnumeratePhysicalDevices’未定义的引用
gpu.cpp:(.text+0x2c52):对‘vkGetPhysicalDeviceProperties’未定义的引用
gpu.cpp:(.text+0x2ef5):对‘vkGetPhysicalDeviceQueueFamilyProperties’未定义的引用
gpu.cpp:(.text+0x2fbd):对‘vkGetPhysicalDeviceQueueFamilyProperties’未定义的引用
gpu.cpp:(.text+0x34e3):对‘vkGetPhysicalDeviceMemoryProperties’未定义的引用
gpu.cpp:(.text+0x3504):对‘vkEnumerateDeviceExtensionProperties’未定义的引用
gpu.cpp:(.text+0x35bf):对‘vkEnumerateDeviceExtensionProperties’未定义的引用
gpu.cpp:(.text+0x3c90):对‘glslang::InitializeProcess()’未定义的引用
gpu.cpp:(.text+0x41ed):对‘vkGetInstanceProcAddr’未定义的引用
gpu.cpp:(.text+0x4207):对‘vkGetInstanceProcAddr’未定义的引用
gpu.cpp:(.text+0x4221):对‘vkGetInstanceProcAddr’未定义的引用
gpu.cpp:(.text+0x423b):对‘vkGetInstanceProcAddr’未定义的引用
gpu.cpp:(.text+0x4255):对‘vkGetInstanceProcAddr’未定义的引用
../../src/../lib/libncnn.a(gpu.cpp.o):gpu.cpp:(.text+0x4305): 跟着更多未定义的参考到 vkGetInstanceProcAddr
../../src/../lib/libncnn.a(gpu.cpp.o):在函数‘ncnn::VulkanDevice::create_dummy_buffer_image()’中:
gpu.cpp:(.text+0x4dda):对‘vkCmdPipelineBarrier’未定义的引用
gpu.cpp:(.text+0x4eb0):对‘vkCmdPipelineBarrier’未定义的引用
../../src/../lib/libncnn.a(gpu.cpp.o):在函数‘ncnn::VulkanDevice::VulkanDevice(int)’中:
gpu.cpp:(.text+0x5b59):对‘vkCreateDevice’未定义的引用
gpu.cpp:(.text+0x5c4e):对‘vkGetDeviceQueue’未定义的引用
gpu.cpp:(.text+0x5d15):对‘vkGetDeviceQueue’未定义的引用
gpu.cpp:(.text+0x5d9d):对‘vkGetDeviceQueue’未定义的引用
gpu.cpp:(.text+0x5e9a):对‘vkCreateSampler’未定义的引用
../../src/../lib/libncnn.a(gpu.cpp.o):在函数‘ncnn::compile_spirv_module(char const*, int, ncnn::Option const&, std::vector<unsigned int, std::allocator >&)’中:
gpu.cpp:(.text+0x7b94):对‘glslang::TShader::TShader(EShLanguage)’未定义的引用
gpu.cpp:(.text+0x7baf):对‘glslang::TShader::setStringsWithLengths(char const* const*, int const*, int)’未定义的引用
gpu.cpp:(.text+0x7bcc):对‘glslang::TShader::addProcesses(std::vector<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > const&)’未定义的引用
gpu.cpp:(.text+0x7bdb):对‘glslang::TShader::setEntryPoint(char const*)’未定义的引用
gpu.cpp:(.text+0x7bea):对‘glslang::TShader::setSourceEntryPoint(char const*)’未定义的引用
gpu.cpp:(.text+0x7de6):对‘glslang::TShader::parse(TBuiltInResource const*, int, EProfile, bool, bool, EShMessages, glslang::TShader::Includer&)’未定义的引用
gpu.cpp:(.text+0x7e25):对‘glslang::TShader::getInfoLog()’未定义的引用
gpu.cpp:(.text+0x7e45):对‘glslang::TShader::getInfoDebugLog()’未定义的引用
gpu.cpp:(.text+0x7e6b):对‘glslang::TShader::~TShader()’未定义的引用
gpu.cpp:(.text+0x8859):对‘glslang::GlslangToSpv(glslang::TIntermediate const&, std::vector<unsigned int, std::allocator >&, glslang::SpvOptions*)’未定义的引用
gpu.cpp:(.text+0x8864):对‘glslang::TShader::~TShader()’未定义的引用
gpu.cpp:(.text+0xc59c):对‘glslang::TShader::TShader()’未定义的引用
../../src/../lib/libncnn.a(gpu.cpp.o):在函数‘ncnn::__ncnn_vulkan_instance_holder::
__ncnn_vulkan_instance_holder()’中:
gpu.cpp:(.text._ZN4ncnn29__ncnn_vulkan_instance_holderD2Ev[_ZN4ncnn29__ncnn_vulkan_instance_holderD5Ev]+0x1b):对‘glslang::FinalizeProcess()’未定义的引用
gpu.cpp:(.text._ZN4ncnn29__ncnn_vulkan_instance_holderD2Ev[_ZN4ncnn29__ncnn_vulkan_instance_holderD5Ev]+0x62):对‘vkDestroyInstance’未定义的引用
collect2: error: ld returned 1 exit status
src/CMakeFiles/face.dir/build.make:154: recipe for target 'src/face' failed
make[2]: *** [src/face] Error 1
CMakeFiles/Makefile2:133: recipe for target 'src/CMakeFiles/face.dir/all' failed
make[1]: *** [src/CMakeFiles/face.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

SigArt error

Hi,

I compiled the project but face is crashing at below screenshot point.

ex.extract(class...) at stride8

any idea ?

Screen Shot 2021-01-08 at 14 08 47

Design patterns

Do you used any design pattern for this project ? If yes, Could you share for me ? Thank you !

效果好像不是很理想

这个106点的landmark效果好像不是很好,我这边没有匹配的人脸检测算法,直接用标注的rect框提取。结果如下
image

原图如下:
image_0003

about landmark.param

你好,下了你的模型,里面有多个landmark的params 和 bin.这些关键点模型描述和那个最好没有相关介绍。可以描述一下吗?谢谢

跟踪

啥时候增加人脸跟踪和人脸识别数据库

there may be a bug in your code.

Thanks for your work, this project seems run smoothly on your given images, but there is error message as below when I just change the image path to mine only. the image is here

start face detect.
1 faces detected.
*** Error in `./main': free(): invalid next size (fast): 0x00007fb51c0008c0 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7fb5b40ce7e5]
/lib/x86_64-linux-gnu/libc.so.6(+0x8037a)[0x7fb5b40d737a]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x4c)[0x7fb5b40db53c]
./main(_ZN9__gnu_cxx13new_allocatorIfE10deallocateEPfm+0x20)[0x424a06]
./main(_ZNSt16allocator_traitsISaIfEE10deallocateERS0_Pfm+0x2b)[0x42417b]
./main(_ZNSt12_Vector_baseIfSaIfEE13_M_deallocateEPfm+0x32)[0x423680]
./main(_ZNSt12_Vector_baseIfSaIfEED1Ev+0x41)[0x4228df]
./main(_ZNSt6vectorIfSaIfEED1Ev+0x41)[0x4222a5]
./main(_ZN12FaceDetector4Impl6DetectERKN2cv3MatEPSt6vectorI8FaceInfoSaIS6_EE+0x5f9)[0x41f0a5]
./main(_ZN12FaceDetector6DetectERKN2cv3MatEPSt6vectorI8FaceInfoSaIS5_EE+0x2e)[0x41f9be]
./main(_Z12TestLandmarkiPPc+0xe0)[0x425bd5]
./main(main+0x20)[0x426682]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7fb5b4077830]
./main(_start+0x29)[0x419129]
======= Memory map: ========
00400000-00502000 r-xp 00000000 08:11 119800885 /home/rongy/Documents/Data/project/reference/landmark/ncnn_106landmarks/build/main
00701000-00709000 r--p 00101000 08:11 119800885 /home/rongy/Documents/Data/project/reference/landmark/ncnn_106landmarks/build/main
00709000-0070a000 rw-p 00109000 08:11 119800885 /home/rongy/Documents/Data/project/reference/landmark/ncnn_106landmarks/build/main
00a88000-01def000 rw-p 00000000 00:00 0 [heap]
7fb51c000000-7fb51c021000 rw-p 00000000 00:00 0
7fb51c021000-7fb520000000 ---p 00000000 00:00 0
7fb521854000-7fb5222e8000 rw-p 00000000 00:00 0
7fb5222e8000-7fb5222e9000 ---p 00000000 00:00 0
7fb5222e9000-7fb522ae9000 rwxp 00000000 00:00 0
7fb523aeb000-7fb523aec000 ---p 00000000 00:00 0
7fb523aec000-7fb5242ec000 rwxp 00000000 00:00 0
7fb5252ee000-7fb5252ef000 ---p 00000000 00:00 0
7fb5252ef000-7fb525aef000 rwxp 00000000 00:00 0
7fb5262f0000-7fb5262f1000 ---p 00000000 00:00 0
7fb5262f1000-7fb526af1000 rwxp 00000000 00:00 0
7fb5272f2000-7fb5272f3000 ---p 00000000 00:00 0
7fb5272f3000-7fb527af3000 rwxp 00000000 00:00 0
7fb52b1f2000-7fb52b1f3000 ---p 00000000 00:00 0
7fb52b1f3000-7fb52b9f3000 rwxp 00000000 00:00 0
7fb52c1f4000-7fb52c1f5000 ---p 00000000 00:00 0
7fb52c1f5000-7fb52c9f5000 rwxp 00000000 00:00 0
7fb5301fc000-7fb5301fd000 ---p 00000000 00:00 0
7fb5301fd000-7fb5309fd000 rwxp 00000000 00:00 0
7fb5311fe000-7fb5311ff000 ---p 00000000 00:00 0
7fb5311ff000-7fb5319ff000 rwxp 00000000 00:00 0
7fb533202000-7fb533203000 ---p 00000000 00:00 0
7fb533203000-7fb533a03000 rwxp 00000000 00:00 0
7fb535206000-7fb53530e000 rw-p 00000000 00:00 0
7fb53530e000-7fb53530f000 ---p 00000000 00:00 0
7fb53530f000-7fb535b0f000 rwxp 00000000 00:00 0
7fb535b0f000-7fb539b0f000 rw-p 00000000 00:00 0
7fb539b0f000-7fb53a4de000 rw-p 00000000 00:00 0
7fb53a4de000-7fb5464de000 rw-p 00000000 00:00 0
7fb5464de000-7fb5464df000 ---p 00000000 00:00 0
7fb5464df000-7fb546cdf000 rwxp 00000000 00:00 0
7fb546cdf000-7fb546ce0000 ---p 00000000 00:00 0
7fb546ce0000-7fb5474e0000 rwxp 00000000 00:00 0
7fb5474e0000-7fb5474e1000 ---p 00000000 00:00 0
7fb5474e1000-7fb547ce1000 rwxp 00000000 00:00 0
7fb547ce1000-7fb547ce2000 ---p 00000000 00:00 0
7fb547ce2000-7fb5484e2000 rwxp 00000000 00:00 0
7fb5484e2000-7fb5484e3000 ---p 00000000 00:00 0
7fb5484e3000-7fb548ce3000 rwxp 00000000 00:00 0
7fb548ce3000-7fb548ce4000 ---p 00000000 00:00 0
7fb548ce4000-7fb5494e4000 rwxp 00000000 00:00 0
7fb5494e4000-7fb5494e5000 ---p 00000000 00:00 0
7fb5494e5000-7fb549ce5000 rwxp 00000000 00:00 0
7fb549ce5000-7fb54bce5000 rw-p 00000000 00:00 0
7fb54bce5000-7fb54bce6000 ---p 00000000 00:00 0
7fb54bce6000-7fb54c4e6000 rwxp 00000000 00:00 0
7fb54c4e6000-7fb5564e6000 rw-p 00000000 00:00 0
7fb5564e6000-7fb5564e7000 ---p 00000000 00:00 0
7fb5564e7000-7fb556ce7000 rwxp 00000000 00:00 0
7fb556ce7000-7fb558ce7000 rw-p 00000000 00:00 0
7fb558ce7000-7fb558ce8000 ---p 00000000 00:00 0
7fb558ce8000-7fb5594e8000 rwxp 00000000 00:00 0
7fb5594e8000-7fb5594e9000 ---p 00000000 00:00 0
7fb5594e9000-7fb559ce9000 rwxp 00000000 00:00 0
7fb559ce9000-7fb55bce9000 rw-p 00000000 00:00 0
7fb55bce9000-7fb55bcea000 ---p 00000000 00:00 0
7fb55bcea000-7fb55c4ea000 rwxp 00000000 00:00 0
7fb55c4ea000-7fb55e4ea000 rw-p 00000000 00:00 0
7fb55e4ea000-7fb55e4eb000 ---p 00000000 00:00 0
7fb55e4eb000-7fb55eceb000 rwxp 00000000 00:00 0
7fb55eceb000-7fb55ecec000 ---p 00000000 00:00 0
7fb55ecec000-7fb55f4ec000 rwxp 00000000 00:00 0
7fb55f4ec000-7fb5614ec000 rw-p 00000000 00:00 0
7fb5614ec000-7fb5614ed000 ---p 00000000 00:00 0
7fb5614ed000-7fb561ced000 rwxp 00000000 00:00 0
7fb561ced000-7fb561cee000 ---p 00000000 00:00 0
7fb561cee000-7fb5624ee000 rwxp 00000000 00:00 0
7fb5624ee000-7fb5624ef000 ---p 00000000 00:00 0
7fb5624ef000-7fb562cef000 rwxp 00000000 00:00 0
7fb562cef000-7fb564cef000 rw-p 00000000 00:00 0
7fb564cef000-7fb564cf0000 ---p 00000000 00:00 0
7fb564cf0000-7fb5654f0000 rwxp 00000000 00:00 0
7fb5654f0000-7fb5674f0000 rw-p 00000000 00:00 0
7fb5674f0000-7fb5674f1000 ---p 00000000 00:00 0
7fb5674f1000-7fb567cf1000 rwxp 00000000 00:00 0
7fb567cf1000-7fb569cf1000 rw-p 00000000 00:00 0
7fb569cf1000-7fb569cf2000 ---p 00000000 00:00 0
7fb569cf2000-7fb56a4f2000 rwxp 00000000 00:00 0
7fb56a4f2000-7fb56e4f2000 rw-p 00000000 00:00 0
7fb56e4f2000-7fb56e4f3000 ---p 00000000 00:00 0
7fb56e4f3000-7fb56ecf3000 rwxp 00000000 00:00 0
7fb56ecf3000-7fb56ecf4000 ---p 00000000 00:00 0
7fb56ecf4000-7fb56f4f4000 rwxp 00000000 00:00 0
7fb56f4f4000-7fb5714f4000 rw-p 00000000 00:00 0
7fb5714f4000-7fb5714f5000 ---p 00000000 00:00 0
7fb5714f5000-7fb571cf5000 rwxp 00000000 00:00 0
7fb571cf5000-7fb573cf5000 rw-p 00000000 00:00 0
7fb573cf5000-7fb573cf6000 ---p 00000000 00:00 0
7fb573cf6000-7fb5744f6000 rwxp 00000000 00:00 0
7fb5744f6000-7fb5764f6000 rw-p 00000000 00:00 0
7fb5764f6000-7fb5764f7000 ---p 00000000 00:00 0
7fb5764f7000-7fb576cf7000 rwxp 00000000 00:00 0
7fb576cf7000-7fb578cf7000 rw-p 00000000 00:00 0
7fb578cf7000-7fb578cf8000 ---p 00000000 00:00 0
7fb578cf8000-7fb5794f8000 rwxp 00000000 00:00 0
7fb5794f8000-7fb57d4f8000 rw-p 00000000 00:00 0
7fb57d4f8000-7fb57d4f9000 ---p 00000000 00:00 0
7fb57d4f9000-7fb57dcf9000 rwxp 00000000 00:00 0
7fb57dcf9000-7fb57fcf9000 rw-p 00000000 00:00 0
7fb57fcf9000-7fb57fcfa000 ---p 00000000 00:00 0
7fb57fcfa000-7fb5804fa000 rwxp 00000000 00:00 0
7fb5804fa000-7fb5804fb000 ---p 00000000 00:00 0
7fb5804fb000-7fb580cfb000 rwxp 00000000 00:00 0
7fb580cfb000-7fb582cfb000 rw-p 00000000 00:00 0
7fb582cfb000-7fb582cfc000 ---p 00000000 00:00 0
7fb582cfc000-7fb5834fc000 rwxp 00000000 00:00 0
7fb5834fc000-7fb5874fc000 rw-p 00000000 00:00 0
7fb5874fc000-7fb5874fd000 ---p 00000000 00:00 0
7fb5874fd000-7fb587cfd000 rwxp 00000000 00:00 0
7fb587cfd000-7fb589cfd000 rw-p 00000000 00:00 0
7fb589cfd000-7fb589cfe000 ---p 00000000 00:00 0
7fb589cfe000-7fb58a4fe000 rwxp 00000000 00:00 0
7fb58a4fe000-7fb58a4ff000 ---p 00000000 00:00 0
7fb58a4ff000-7fb58acff000 rwxp 00000000 00:00 0
7fb58acff000-7fb58ccff000 rw-p 00000000 00:00 0
7fb58ccff000-7fb58cd00000 ---p 00000000 00:00 0
7fb58cd00000-7fb58d500000 rwxp 00000000 00:00 0
7fb58d500000-7fb591500000 rw-p 00000000 00:00 0
7fb591500000-7fb591501000 ---p 00000000 00:00 0
7fb591501000-7fb591d01000 rwxp 00000000 00:00 0
7fb591d01000-7fb595d01000 rw-p 00000000 00:00 0
7fb595d01000-7fb595d02000 ---p 00000000 00:00 0
7fb595d02000-7fb596502000 rwxp 00000000 00:00 0
7fb596502000-7fb596503000 ---p 00000000 00:00 0
7fb596503000-7fb596d03000 rwxp 00000000 00:00 0
7fb596d03000-7fb596d04000 ---p 00000000 00:00 0
7fb596d04000-7fb597504000 rwxp 00000000 00:00 0
7fb597504000-7fb597505000 ---p 00000000 00:00 0
7fb597505000-7fb597d05000 rwxp 00000000 00:00 0
7fb597d05000-7fb597d0e000 r-xp 00000000 08:01 8917450 /lib/x86_64-linux-gnu/libcrypt-2.23.so
7fb597d0e000-7fb597f0d000 ---p 00009000 08:01 8917450 /lib/x86_64-linux-gnu/libcrypt-2.23.so
7fb597f0d000-7fb597f0e000 r--p 00008000 08:01 8917450 /lib/x86_64-linux-gnu/libcrypt-2.23.so
7fb597f0e000-7fb597f0f000 rw-p 00009000 08:01 8917450 /lib/x86_64-linux-gnu/libcrypt-2.23.so
7fb597f0f000-7fb597f3d000 rw-p 00000000 00:00 0
7fb597f3d000-7fb597f84000 r-xp 00000000 08:01 20193656 /usr/lib/x86_64-linux-gnu/libhx509.so.5.0.0
7fb597f84000-7fb598183000 ---p 00047000 08:01 20193656 /usr/lib/x86_64-linux-gnu/libhx509.so.5.0.0
7fb598183000-7fb598185000 r--p 00046000 08:01 20193656 /usr/lib/x86_64-linux-gnu/libhx509.so.5.0.0
7fb598185000-7fb598187000 rw-p 00048000 08:01 20193656 /usr/lib/x86_64-linux-gnu/libhx509.so.5.0.0
7fb598187000-7fb598188000 rw-p 00000000 00:00 0
7fb598188000-7fb598196000 r-xp 00000000 08:01 20193638 /usr/lib/x86_64-linux-gnu/libheimbase.so.1.0.0
7fb598196000-7fb598395000 ---p 0000e000 08:01 20193638 /usr/lib/x86_64-linux-gnu/libheimbase.so.1.0.0
7fb598395000-7fb598396000 r--p 0000d000 08:01 20193638 /usr/lib/x86_64-linux-gnu/libheimbase.so.1.0.0
7fb598396000-7fb598397000 rw-p 0000e000 08:01 20193638 /usr/lib/x86_64-linux-gnu/libheimbase.so.1.0.0
7fb598397000-7fb5983be000 r-xp 00000000 08:01 20194315 /usr/lib/x86_64-linux-gnu/libwind.so.0.0.0
7fb5983be000-7fb5985be000 ---p 00027000 08:01 20194315 /usr/lib/x86_64-linux-gnu/libwind.so.0.0.0
7fb5985be000-7fb5985bf000 r--p 00027000 08:01 20194315 /usr/lib/x86_64-linux-gnu/libwind.so.0.0.0
7fb5985bf000-7fb5985c0000 rw-p 00028000 08:01 20194315 /usr/lib/x86_64-linux-gnu/libwind.so.0.0.0
7fb5985c0000-7fb5985d5000 r-xp 00000000 08:01 20194056 /usr/lib/x86_64-linux-gnu/libroken.so.18.1.0
7fb5985d5000-7fb5987d4000 ---p 00015000 08:01 20194056 /usr/lib/x86_64-linux-gnu/libroken.so.18.1.0
7fb5987d4000-7fb5987d5000 r--p 00014000 08:01 20194056 /usr/lib/x86_64-linux-gnu/libroken.so.18.1.0
7fb5987d5000-7fb5987d6000 rw-p 00015000 08:01 20194056 /usr/lib/x86_64-linux-gnu/libroken.so.18.1.0
7fb5987d6000-7fb598806000 r-xp 00000000 08:01 20193636 /usr/lib/x86_64-linux-gnu/libhcrypto.so.4.1.0
7fb598806000-7fb598a06000 ---p 00030000 08:01 20193636 /usr/lib/x86_64-linux-gnu/libhcrypto.so.4.1.0
7fb598a06000-7fb598a07000 r--p 00030000 08:01 20193636 /usr/lib/x86_64-linux-gnu/libhcrypto.so.4.1.0
7fb598a07000-7fb598a08000 rw-p 00031000 08:01 20193636 /usr/lib/x86_64-linux-gnu/libhcrypto.so.4.1.0
7fb598a08000-7fb598a09000 rw-p 00000000 00:00 0
7fb598a09000-7fb598aa8000 r-xp 00000000 08:01 20193073 /usr/lib/x86_64-linux-gnu/libasn1.so.8.0.0
7fb598aa8000-7fb598ca7000 ---p 0009f000 08:01 20193073 /usr/lib/x86_64-linux-gnu/libasn1.so.8.0.0
7fb598ca7000-7fb598ca8000 r--p 0009e000 08:01 20193073 /usr/lib/x86_64-linux-gnu/libasn1.so.8.0.0
7fb598ca8000-7fb598cab000 rw-p 0009f000 08:01 20193073 /usr/lib/x86_64-linux-gnu/libasn1.so.8.0.0
7fb598cab000-7fb598d2f000 r-xp 00000000 08:01 20193743 /usr/lib/x86_64-linux-gnu/libkrb5.so.26.0.0
7fb598d2f000-7fb598f2e000 ---p 00084000 08:01 20193743 /usr/lib/x86_64-linux-gnu/libkrb5.so.26.0.0
7fb598f2e000-7fb598f31000 r--p 00083000 08:01 20193743 /usr/lib/x86_64-linux-gnu/libkrb5.so.26.0.0
7fb598f31000-7fb598f34000 rw-p 00086000 08:01 20193743 /usr/lib/x86_64-linux-gnu/libkrb5.so.26.0.0
7fb598f34000-7fb598f35000 rw-p 00000000 00:00 0
7fb598f35000-7fb598f3d000 r-xp 00000000 08:01 20193640 /usr/lib/x86_64-linux-gnu/libheimntlm.so.0.1.0
7fb598f3d000-7fb59913c000 ---p 00008000 08:01 20193640 /usr/lib/x86_64-linux-gnu/libheimntlm.so.0.1.0
7fb59913c000-7fb59913d000 r--p 00007000 08:01 20193640 /usr/lib/x86_64-linux-gnu/libheimntlm.so.0.1.0
7fb59913d000-7fb59913e000 rw-p 00008000 08:01 20193640 /usr/lib/x86_64-linux-gnu/libheimntlm.so.0.1.0
7fb59913e000-7fb599141000 r-xp 00000000 08:01 8917494 /lib/x86_64-linux-gnu/libkeyutils.so.1.5
7fb599141000-7fb599340000 ---p 00003000 08:01 8917494 /lib/x86_64-linux-gnu/libkeyutils.so.1.5
7fb599340000-7fb599341000 r--p 00002000 08:01 8917494 /lib/x86_64-linux-gnu/libkeyutils.so.1.5
7fb599341000-7fb599342000 rw-p 00003000 08:01 8917494 /lib/x86_64-linux-gnu/libkeyutils.so.1.5
7fb599342000-7fb599353000 r-xp 00000000 08:01 20194161 /usr/lib/x86_64-linux-gnu/libtasn1.so.6.5.1
7fb599353000-7fb599553000 ---p 00011000 08:01 20194161 /usr/lib/x86_64-linux-gnu/libtasn1.so.6.5.1
7fb599553000-7fb599554000 r--p 00011000 08:01 20194161 /usr/lib/x86_64-linux-gnu/libtasn1.so.6.5.1
7fb599554000-7fb599555000 rw-p 00012000 08:01 20194161 /usr/lib/x86_64-linux-gnu/libtasn1.so.6.5.1
7fb599555000-7fb5995ae000 r-xp 00000000 08:01 20193930 /usr/lib/x86_64-linux-gnu/libp11-kit.so.0.1.0
7fb5995ae000-7fb5997ad000 ---p 00059000 08:01 20193930 /usr/lib/x86_64-linux-gnu/libp11-kit.so.0.1.0
7fb5997ad000-7fb5997b7000 r--p 00058000 08:01 20193930 /usr/lib/x86_64-linux-gnu/libp11-kit.so.0.1.0
7fb5997b7000-7fb5997b9000 rw-p 00062000 08:01 20193930 /usr/lib/x86_64-linux-gnu/libp11-kit.so.0.1.0
7fb5997b9000-7fb599838000 r-xp 00000000 08:01 20193504 /usr/lib/x86_64-linux-gnu/libgmp.so.10.3.0
7fb599838000-7fb599a37000 ---p 0007f000 08:01 20193504 /usr/lib/x86_64-linux-gnu/libgmp.so.10.3.0
7fb599a37000-7fb599a38000 r--p 0007e000 08:01 20193504 /usr/lib/x86_64-linux-gnu/libgmp.so.10.3.0
7fb599a38000-7fb599a39000 rw-p 0007f000 08:01 20193504 /usr/lib/x86_64-linux-gnu/libgmp.so.10.3.0
7fb599a39000-7fb599a6b000 r-xp 00000000 08:01 20193642 /usr/lib/x86_64-linux-gnu/libhogweed.so.4.2
7fb599a6b000-7fb599c6a000 ---p 00032000 08:01 20193642 /usr/lib/x86_64-linux-gnu/libhogweed.so.4.2
7fb599c6a000-7fb599c6b000 r--p 00031000 08:01 20193642 /usr/lib/x86_64-linux-gnu/libhogweed.so.4.2
7fb599c6b000-7fb599c6c000 rw-p 00032000 08:01 20193642 /usr/lib/x86_64-linux-gnu/libhogweed.so.4.2
7fb599c6c000-7fb599ca9000 r-xp 00000000 08:01 20193559 /usr/lib/x86_64-linux-gnu/libgssapi.so.3.0.0
7fb599ca9000-7fb599ea9000 ---p 0003d000 08:01 20193559 /usr/lib/x86_64-linux-gnu/libgssapi.so.3.0.0
7fb599ea9000-7fb599eaa000 r--p 0003d000 08:01 20193559 /usr/lib/x86_64-linux-gnu/libgssapi.so.3.0.0
7fb599eaa000-7fb599eac000 rw-p 0003e000 08:01 20193559 /usr/lib/x86_64-linux-gnu/libgssapi.so.3.0.0
7fb599eac000-7fb599ead000 rw-p 00000000 00:00 0
7fb599ead000-7fb599ec6000 r-xp 00000000 08:01 20186664 /usr/lib/x86_64-linux-gnu/libsasl2.so.2.0.25
7fb599ec6000-7fb59a0c6000 ---p 00019000 08:01 20186664 /usr/lib/x86_64-linux-gnu/libsasl2.so.2.0.25
7fb59a0c6000-7fb59a0c7000 r--p 00019000 08:01 20186664 /usr/lib/x86_64-linux-gnu/libsasl2.so.2.0.25
7fb59a0c7000-7fb59a0c8000 rw-p 0001a000 08:01 20186664 /usr/lib/x86_64-linux-gnu/libsasl2.so.2.0.25
7fb59a0c8000-7fb59a0d2000 r-xp 00000000 08:01 20186077 /usr/lib/x86_64-linux-gnu/libkrb5support.so.0.1
7fb59a0d2000-7fb59a2d1000 ---p 0000a000 08:01 20186077 /usr/lib/x86_64-linux-gnu/libkrb5support.so.0.1
7fb59a2d1000-7fb59a2d2000 r--p 00009000 08:01 20186077 /usr/lib/x86_64-linux-gnu/libkrb5support.so.0.1
7fb59a2d2000-7fb59a2d3000 rw-p 0000a000 08:01 20186077 /usr/lib/x86_64-linux-gnu/libkrb5support.so.0.1
7fb59a2d3000-7fb59a2d6000 r-xp 00000000 08:01 8917442 /lib/x86_64-linux-gnu/libcom_err.so.2.1
7fb59a2d6000-7fb59a4d5000 ---p 00003000 08:01 8917442 /lib/x86_64-linux-gnu/libcom_err.so.2.1
7fb59a4d5000-7fb59a4d6000 r--p 00002000 08:01 8917442 /lib/x86_64-linux-gnu/libcom_err.so.2.1
7fb59a4d6000-7fb59a4d7000 rw-p 00003000 08:01 8917442 /lib/x86_64-linux-gnu/libcom_err.so.2.1
7fb59a4d7000-7fb59a503000 r-xp 00000000 08:01 20186098 /usr/lib/x86_64-linux-gnu/libk5crypto.so.3.1
7fb59a503000-7fb59a702000 ---p 0002c000 08:01 20186098 /usr/lib/x86_64-linux-gnu/libk5crypto.so.3.1
7fb59a702000-7fb59a704000 r--p 0002b000 08:01 20186098 /usr/lib/x86_64-linux-gnu/libk5crypto.so.3.1
7fb59a704000-7fb59a705000 rw-p 0002d000 08:01 20186098 /usr/lib/x86_64-linux-gnu/libk5crypto.so.3.1
7fb59a705000-7fb59a706000 rw-p 00000000 00:00 0
7fb59a706000-7fb59a7c9000 r-xp 00000000 08:01 20185612 /usr/lib/x86_64-linux-gnu/libkrb5.so.3.3
7fb59a7c9000-7fb59a9c9000 ---p 000c3000 08:01 20185612 /usr/lib/x86_64-linux-gnu/libkrb5.so.3.3
7fb59a9c9000-7fb59a9d6000 r--p 000c3000 08:01 20185612 /usr/lib/x86_64-linux-gnu/libkrb5.so.3.3
7fb59a9d6000-7fb59a9d8000 rw-p 000d0000 08:01 20185612 /usr/lib/x86_64-linux-gnu/libkrb5.so.3.3
7fb59a9d8000-7fb59a9df000 r-xp 00000000 08:01 20187580 /usr/lib/x86_64-linux-gnu/libaec.so.0.0.3
7fb59a9df000-7fb59abde000 ---p 00007000 08:01 20187580 /usr/lib/x86_64-linux-gnu/libaec.so.0.0.3
7fb59abde000-7fb59abdf000 r--p 00006000 08:01 20187580 /usr/lib/x86_64-linux-gnu/libaec.so.0.0.3
7fb59abdf000-7fb59abe0000 rw-p 00007000 08:01 20187580 /usr/lib/x86_64-linux-gnu/libaec.so.0.0.3
7fb59abe0000-7fb59c496000 r-xp 00000000 08:01 20187710 /usr/lib/x86_64-linux-gnu/libicudata.so.55.1
7fb59c496000-7fb59c695000 ---p 018b6000 08:01 20187710 /usr/lib/x86_64-linux-gnu/libicudata.so.55.1
7fb59c695000-7fb59c696000 r--p 018b5000 08:01 20187710 /usr/lib/x86_64-linux-gnu/libicudata.so.55.1
7fb59c696000-7fb59c697000 rw-p 018b6000 08:01 20187710 /usr/lib/x86_64-linux-gnu/libicudata.so.55.1
7fb59c697000-7fb59c69d000 r-xp 00000000 08:01 20193242 /usr/lib/x86_64-linux-gnu/libdatrie.so.1.3.3
7fb59c69d000-7fb59c89d000 ---p 00006000 08:01 20193242 /usr/lib/x86_64-linux-gnu/libdatrie.so.1.3.3
7fb59c89d000-7fb59c89e000 r--p 00006000 08:01 20193242 /usr/lib/x86_64-linux-gnu/libdatrie.so.1.3.3
7fb59c89e000-7fb59c89f000 rw-p 00007000 08:01 20193242 /usr/lib/x86_64-linux-gnu/libdatrie.so.1.3.3
7fb59c89f000-7fb59c8c3000 r-xp 00000000 08:01 20193546 /usr/lib/x86_64-linux-gnu/libgraphite2.so.3.0.1
7fb59c8c3000-7fb59cac2000 ---p 00024000 08:01 20193546 /usr/lib/x86_64-linux-gnu/libgraphite2.so.3.0.1
7fb59cac2000-7fb59cac4000 r--p 00023000 08:01 20193546 /usr/lib/x86_64-linux-gnu/libgraphite2.so.3.0.1
7fb59cac4000-7fb59cac5000 rw-p 00025000 08:01 20193546 /usr/lib/x86_64-linux-gnu/libgraphite2.so.3.0.1
7fb59cac5000-7fb59cb03000 r-xp 00000000 08:01 20192179 /usr/lib/x86_64-linux-gnu/libquadmath.so.0.0.0
7fb59cb03000-7fb59cd02000 ---p 0003e000 08:01 20192179 /usr/lib/x86_64-linux-gnu/libquadmath.so.0.0.0
7fb59cd02000-7fb59cd03000 r--p 0003d000 08:01 20192179 /usr/lib/x86_64-linux-gnu/libquadmath.so.0.0.0
7fb59cd03000-7fb59cd04000 rw-p 0003e000 08:01 20192179 /usr/lib/x86_64-linux-gnu/libquadmath.so.0.0.0
7fb59cd04000-7fb59cd11000 r-xp 00000000 08:01 20199297 /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2.10.5
7fb59cd11000-7fb59cf11000 ---p 0000d000 08:01 20199297 /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2.10.5
7fb59cf11000-7fb59cf12000 r--p 0000d000 08:01 20199297 /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2.10.5
7fb59cf12000-7fb59cf13000 rw-p 0000e000 08:01 20199297 /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2.10.5
7fb59cf13000-7fb59d036000 r-xp 00000000 08:01 20185572 /usr/lib/x86_64-linux-gnu/libgnutls.so.30.6.2
7fb59d036000-7fb59d235000 ---p 00123000 08:01 20185572 /usr/lib/x86_64-linux-gnu/libgnutls.so.30.6.2
7fb59d235000-7fb59d240000 r--p 00122000 08:01 20185572 /usr/lib/x86_64-linux-gnu/libgnutls.so.30.6.2
7fb59d240000-7fb59d242000 rw-p 0012d000 08:01 20185572 /usr/lib/x86_64-linux-gnu/libgnutls.so.30.6.2
7fb59d242000-7fb59d243000 rw-p 00000000 00:00 0
7fb59d243000-7fb59d277000 r-xp 00000000 08:01 20193867 /usr/lib/x86_64-linux-gnu/libnettle.so.6.2
7fb59d277000-7fb59d476000 ---p 00034000 08:01 20193867 /usr/lib/x86_64-linux-gnu/libnettle.so.6.2
7fb59d476000-7fb59d478000 r--p 00033000 08:01 20193867 /usr/lib/x86_64-linux-gnu/libnettle.so.6.2
7fb59d478000-7fb59d479000 rw-p 00035000 08:01 20193867 /usr/lib/x86_64-linux-gnu/libnettle.so.6.2
7fb59d479000-7fb59d494000 r-xp 00000000 08:01 20194064 /usr/lib/x86_64-linux-gnu/librtmp.so.1
7fb59d494000-7fb59d693000 ---p 0001b000 08:01 20194064 /usr/lib/x86_64-linux-gnu/librtmp.so.1
7fb59d693000-7fb59d694000 r--p 0001a000 08:01 20194064 /usr/lib/x86_64-linux-gnu/librtmp.so.1
7fb59d694000-7fb59d695000 rw-p 0001b000 08:01 20194064 /usr/lib/x86_64-linux-gnu/librtmp.so.1
7fb59d695000-7fb59d6c6000 r-xp 00000000 08:01 20193691 /usr/lib/x86_64-linux-gnu/libidn.so.11.6.15
7fb59d6c6000-7fb59d8c6000 ---p 00031000 08:01 20193691 /usr/lib/x86_64-linux-gnu/libidn.so.11.6.15
7fb59d8c6000-7fb59d8c7000 r--p 00031000 08:01 20193691 /usr/lib/x86_64-linux-gnu/libidn.so.11.6.15
7fb59d8c7000-7fb59d8c8000 rw-p 00032000 08:01 20193691 /usr/lib/x86_64-linux-gnu/libidn.so.11.6.15
7fb59d8c8000-7fb59d998000 r-xp 00000000 08:01 20186965 /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6
7fb59d998000-7fb59db97000 ---p 000d0000 08:01 20186965 /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6
7fb59db97000-7fb59db9a000 r--p 000cf000 08:01 20186965 /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6
7fb59db9a000-7fb59db9c000 rw-p 000d2000 08:01 20186965 /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6
7fb59db9c000-7fb59db9d000 rw-p 00000000 00:00 0
7fb59db9d000-7fb59dbea000 r-xp 00000000 08:01 20199298 /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2.10.5
7fb59dbea000-7fb59dde9000 ---p 0004d000 08:01 20199298 /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2.10.5
7fb59dde9000-7fb59ddeb000 r--p 0004c000 08:01 20199298 /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2.10.5
7fb59ddeb000-7fb59ddec000 rw-p 0004e000 08:01 20199298 /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2.10.5
7fb59ddec000-7fb59ddee000 rw-p 00000000 00:00 0
7fb59ddee000-7fb59de35000 r-xp 00000000 08:01 20185607 /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2.2
7fb59de35000-7fb59e034000 ---p 00047000 08:01 20185607 /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2.2
7fb59e034000-7fb59e036000 r--p 00046000 08:01 20185607 /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2.2
7fb59e036000-7fb59e038000 rw-p 00048000 08:01 20185607 /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2.2
7fb59e038000-7fb59e253000 r-xp 00000000 08:01 8917327 /lib/x86_64-linux-gnu/libcrypto.so.1.0.0
7fb59e253000-7fb59e452000 ---p 0021b000 08:01 8917327 /lib/x86_64-linux-gnu/libcrypto.so.1.0.0
7fb59e452000-7fb59e46e000 r--p 0021a000 08:01 8917327 /lib/x86_64-linux-gnu/libcrypto.so.1.0.0
7fb59e46e000-7fb59e47a000 rw-p 00236000 08:01 8917327 /lib/x86_64-linux-gnu/libcrypto.so.1.0.0
7fb59e47a000-7fb59e47d000 rw-p 00000000 00:00 0
7fb59e47d000-7fb59e4db000 r-xp 00000000 08:01 8917328 /lib/x86_64-linux-gnu/libssl.so.1.0.0
7fb59e4db000-7fb59e6db000 ---p 0005e000 08:01 8917328 /lib/x86_64-linux-gnu/libssl.so.1.0.0
7fb59e6db000-7fb59e6df000 r--p 0005e000 08:01 8917328 /lib/x86_64-linux-gnu/libssl.so.1.0.0
7fb59e6df000-7fb59e6e6000 rw-p 00062000 08:01 8917328 /lib/x86_64-linux-gnu/libssl.so.1.0.0
7fb59e6e6000-7fb59e6e8000 r-xp 00000000 08:01 20187626 /usr/lib/x86_64-linux-gnu/libsz.so.2.0.1
7fb59e6e8000-7fb59e8e7000 ---p 00002000 08:01 20187626 /usr/lib/x86_64-linux-gnu/libsz.so.2.0.1
7fb59e8e7000-7fb59e8e8000 r--p 00001000 08:01 20187626 /usr/lib/x86_64-linux-gnu/libsz.so.2.0.1
7fb59e8e8000-7fb59e8e9000 rw-p 00002000 08:01 20187626 /usr/lib/x86_64-linux-gnu/libsz.so.2.0.1
7fb59e8e9000-7fb59e907000 r-xp 00000000 08:01 20187631 /usr/lib/x86_64-linux-gnu/libhdf5_serial_hl.so.10.0.2
7fb59e907000-7fb59eb06000 ---p 0001e000 08:01 20187631 /usr/lib/x86_64-linux-gnu/libhdf5_serial_hl.so.10.0.2
7fb59eb06000-7fb59eb07000 r--p 0001d000 08:01 20187631 /usr/lib/x86_64-linux-gnu/libhdf5_serial_hl.so.10.0.2
7fb59eb07000-7fb59eb08000 rw-p 0001e000 08:01 20187631 /usr/lib/x86_64-linux-gnu/libhdf5_serial_hl.so.10.0.2
7fb59eb08000-7fb59eb09000 rw-p 00000000 00:00 0
7fb59eb09000-7fb59ec88000 r-xp 00000000 08:01 20187714 /usr/lib/x86_64-linux-gnu/libicuuc.so.55.1
7fb59ec88000-7fb59ee88000 ---p 0017f000 08:01 20187714 /usr/lib/x86_64-linux-gnu/libicuuc.so.55.1
7fb59ee88000-7fb59ee98000 r--p 0017f000 08:01 20187714 /usr/lib/x86_64-linux-gnu/libicuuc.so.55.1
7fb59ee98000-7fb59ee99000 rw-p 0018f000 08:01 20187714 /usr/lib/x86_64-linux-gnu/libicuuc.so.55.1
7fb59ee99000-7fb59ee9d000 rw-p 00000000 00:00 0
7fb59ee9d000-7fb59eeb7000 r-xp 00000000 08:01 20193386 /usr/lib/x86_64-linux-gnu/liburiparser.so.1.0.20
7fb59eeb7000-7fb59f0b6000 ---p 0001a000 08:01 20193386 /usr/lib/x86_64-linux-gnu/liburiparser.so.1.0.20
7fb59f0b6000-7fb59f0b7000 r--p 00019000 08:01 20193386 /usr/lib/x86_64-linux-gnu/liburiparser.so.1.0.20
7fb59f0b7000-7fb59f0b8000 rw-p 0001a000 08:01 20193386 /usr/lib/x86_64-linux-gnu/liburiparser.so.1.0.20
7fb59f0b8000-7fb59f0c2000 r-xp 00000000 08:01 20193358 /usr/lib/x86_64-linux-gnu/libminizip.so.1.0.0
7fb59f0c2000-7fb59f2c1000 ---p 0000a000 08:01 20193358 /usr/lib/x86_64-linux-gnu/libminizip.so.1.0.0
7fb59f2c1000-7fb59f2c2000 r--p 00009000 08:01 20193358 /usr/lib/x86_64-linux-gnu/libminizip.so.1.0.0
7fb59f2c2000-7fb59f2c3000 rw-p 0000a000 08:01 20193358 /usr/lib/x86_64-linux-gnu/libminizip.so.1.0.0
7fb59f2c3000-7fb59f2cc000 r-xp 00000000 08:01 20193775 /usr/lib/x86_64-linux-gnu/libltdl.so.7.3.1
7fb59f2cc000-7fb59f4cb000 ---p 00009000 08:01 20193775 /usr/lib/x86_64-linux-gnu/libltdl.so.7.3.1
7fb59f4cb000-7fb59f4cc000 r--p 00008000 08:01 20193775 /usr/lib/x86_64-linux-gnu/libltdl.so.7.3.1
7fb59f4cc000-7fb59f4cd000 rw-p 00009000 08:01 20193775 /usr/lib/x86_64-linux-gnu/libltdl.so.7.3.1
7fb59f4cd000-7fb59f65b000 r-xp 00000000 08:01 20193318 /usr/lib/x86_64-linux-gnu/libgeos-3.5.0.so
7fb59f65b000-7fb59f85b000 ---p 0018e000 08:01 20193318 /usr/lib/x86_64-linux-gnu/libgeos-3.5.0.so
7fb59f85b000-7fb59f866000 r--p 0018e000 08:01 20193318 /usr/lib/x86_64-linux-gnu/libgeos-3.5.0.so
7fb59f866000-7fb59f867000 rw-p 00199000 08:01 20193318 /usr/lib/x86_64-linux-gnu/libgeos-3.5.0.so
7fb59f867000-7fb59f8b9000 r-xp 00000000 08:01 20185835 /usr/lib/x86_64-linux-gnu/liblcms2.so.2.0.6
7fb59f8b9000-7fb59fab8000 ---p 00052000 08:01 20185835 /usr/lib/x86_64-linux-gnu/liblcms2.so.2.0.6
7fb59fab8000-7fb59fab9000 r--p 00051000 08:01 20185835 /usr/lib/x86_64-linux-gnu/liblcms2.so.2.0.6
7fb59fab9000-7fb59fabd000 rw-p 00052000 08:01 20185835 /usr/lib/x86_64-linux-gnu/liblcms2.so.2.0.6
7fb59fabd000-7fb59fabe000 rw-p 00000000 00:00 0
7fb59fabe000-7fb59fb29000 r-xp 00000000 08:01 20189084 /usr/lib/x86_64-linux-gnu/libsuperlu.so.4.0.0
7fb59fb29000-7fb59fd28000 ---p 0006b000 08:01 20189084 /usr/lib/x86_64-linux-gnu/libsuperlu.so.4.0.0
7fb59fd28000-7fb59fd29000 r--p 0006a000 08:01 20189084 /usr/lib/x86_64-linux-gnu/libsuperlu.so.4.0.0
7fb59fd29000-7fb59fd2a000 rw-p 0006b000 08:01 20189084 /usr/lib/x86_64-linux-gnu/libsuperlu.so.4.0.0
7fb59fd2a000-7fb59fd74000 r-xp 00000000 08:01 20192052 /usr/lib/libarpack.so.2.0.0
7fb59fd74000-7fb59ff73000 ---p 0004a000 08:01 20192052 /usr/lib/libarpack.so.2.0.0
7fb59ff73000-7fb59ff74000 r--p 00049000 08:01 20192052 /usr/lib/libarpack.so.2.0.0
7fb59ff74000-7fb59ff75000 rw-p 0004a000 08:01 20192052 /usr/lib/libarpack.so.2.0.0
7fb59ff75000-7fb59ffd0000 r-xp 00000000 08:01 2754614 /usr/lib/openblas-base/libblas.so.3
7fb59ffd0000-7fb5a01d0000 ---p 0005b000 08:01 2754614 /usr/lib/openblas-base/libblas.so.3
7fb5a01d0000-7fb5a01d5000 r--p 0005b000 08:01 2754614 /usr/lib/openblas-base/libblas.so.3
7fb5a01d5000-7fb5a01d6000 rw-p 00060000 08:01 2754614 /usr/lib/openblas-base/libblas.so.3
7fb5a01d6000-7fb5a01db000 r-xp 00000000 08:01 20192992 /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
7fb5a01db000-7fb5a03da000 ---p 00005000 08:01 20192992 /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
7fb5a03da000-7fb5a03db000 r--p 00004000 08:01 20192992 /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
7fb5a03db000-7fb5a03dc000 rw-p 00005000 08:01 20192992 /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
7fb5a03dc000-7fb5a03de000 r-xp 00000000 08:01 20192981 /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
7fb5a03de000-7fb5a05de000 ---p 00002000 08:01 20192981 /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
7fb5a05de000-7fb5a05df000 r--p 00002000 08:01 20192981 /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
7fb5a05df000-7fb5a05e0000 rw-p 00003000 08:01 20192981 /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
7fb5a05e0000-7fb5a05e8000 r-xp 00000000 08:01 20194173 /usr/lib/x86_64-linux-gnu/libthai.so.0.2.4
7fb5a05e8000-7fb5a07e7000 ---p 00008000 08:01 20194173 /usr/lib/x86_64-linux-gnu/libthai.so.0.2.4
7fb5a07e7000-7fb5a07e8000 r--p 00007000 08:01 20194173 /usr/lib/x86_64-linux-gnu/libthai.so.0.2.4
7fb5a07e8000-7fb5a07e9000 rw-p 00008000 08:01 20194173 /usr/lib/x86_64-linux-gnu/libthai.so.0.2.4
7fb5a07e9000-7fb5a0845000 r-xp 00000000 08:01 20193634 /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0.10000.1
7fb5a0845000-7fb5a0a45000 ---p 0005c000 08:01 20193634 /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0.10000.1
7fb5a0a45000-7fb5a0a46000 r--p 0005c000 08:01 20193634 /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0.10000.1
7fb5a0a46000-7fb5a0a47000 rw-p 0005d000 08:01 20193634 /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0.10000.1
7fb5a0a47000-7fb5a0a5e000 r-xp 00000000 08:01 8917386 /lib/x86_64-linux-gnu/libresolv-2.23.so
7fb5a0a5e000-7fb5a0c5e000 ---p 00017000 08:01 8917386 /lib/x86_64-linux-gnu/libresolv-2.23.so
7fb5a0c5e000-7fb5a0c5f000 r--p 00017000 08:01 8917386 /lib/x86_64-linux-gnu/libresolv-2.23.so
7fb5a0c5f000-7fb5a0c60000 rw-p 00018000 08:01 8917386 /lib/x86_64-linux-gnu/libresolv-2.23.so
7fb5a0c60000-7fb5a0c62000 rw-p 00000000 00:00 0
7fb5a0c62000-7fb5a0c81000 r-xp 00000000 08:01 8917591 /lib/x86_64-linux-gnu/libselinux.so.1
7fb5a0c81000-7fb5a0e80000 ---p 0001f000 08:01 8917591 /lib/x86_64-linux-gnu/libselinux.so.1
7fb5a0e80000-7fb5a0e81000 r--p 0001e000 08:01 8917591 /lib/x86_64-linux-gnu/libselinux.so.1
7fb5a0e81000-7fb5a0e82000 rw-p 0001f000 08:01 8917591 /lib/x86_64-linux-gnu/libselinux.so.1
7fb5a0e82000-7fb5a0e84000 rw-p 00000000 00:00 0
7fb5a0e84000-7fb5a121b000 r-xp 00000000 08:01 20841419 /usr/lib/atlas-base/libatlas.so.3.0
7fb5a121b000-7fb5a141b000 ---p 00397000 08:01 20841419 /usr/lib/atlas-base/libatlas.so.3.0
7fb5a141b000-7fb5a1422000 rw-p 00397000 08:01 20841419 /usr/lib/atlas-base/libatlas.so.3.0Aborted (core dumped)

TestRecognize

在testrecognize中,没有人脸对齐,直接进行了特征提取进行比对。应该还需要加人脸对齐吧。其次retinaface人脸检测 本身会返回5个关键点,没必现格外的模型提取了吧,是否支持。

MacOS Catalina 10.15.5 error: unsupported option '-fopenmp'

make -j 3
[ 3%] Building CXX object src/CMakeFiles/VisionEngine.dir/classifier/test_classifier.cpp.o
[ 10%] Building CXX object src/CMakeFiles/VisionEngine.dir/classifier/classifier/mobilenet/mobilenet.cpp.o
[ 10%] Building CXX object src/CMakeFiles/VisionEngine.dir/classifier/classifier_engine.cpp.o
clangclangclang: : : error: unsupported option '-fopenmp'errorerror
: : unsupported option '-fopenmp'unsupported option '-fopenmp'

make[2]: *** [src/CMakeFiles/VisionEngine.dir/classifier/test_classifier.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [src/CMakeFiles/VisionEngine.dir/classifier/classifier_engine.cpp.o] Error 1
make[2]: *** [src/CMakeFiles/VisionEngine.dir/classifier/classifier/mobilenet/mobilenet.cpp.o] Error 1
make[1]: *** [src/CMakeFiles/VisionEngine.dir/all] Error 2
make: *** [all] Error 2

Destination points in aligner

Where does the destination points for alignment come from? Are they result from analysis on some dataset or random points?
I am talking about these points:

float points_dst[5][2] = {
		{ 30.2946f + 8.0f, 51.6963f },
		{ 65.5318f + 8.0f, 51.5014f },
		{ 48.0252f + 8.0f, 71.7366f },
		{ 33.5493f + 8.0f, 92.3655f },
		{ 62.7299f + 8.0f, 92.2041f }
	};

NMS的问题

NMS的时候采用了升序排列,最后检测出来的人脸是置信度最低的进行主导的,是不是有问题

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.