ZQCNN亦是一款开源人脸检测、特征点定位的优秀代码库,其基于MTCNN算法构建。
昨日ZQCNN作者将其与libfacedetection做了一个简单的比较,我们一起来看看吧~
以下内容主要来自:
https://github.com/zuoqing1988/ZQCNN-MTCNN-vs-libfacedetection
ZQCNN-MTCNN-vs-libfacedetection
ZQCNN:下载时间2019-03-25 09:00
依赖库:
windows:mkl, opencv3.4.2
arm-linux: openblas, opencv3.4.2
libfacedetection:下载时间2019-03-25 09:00
该库无任何依赖。点赞~
(一) WINDOWS下对比
(测试机器为E5-1650V4 3.6GHz)
编译方式:
ZQCNN用.sln打开
libfacedetection用cmake-gui配置,勾选avx2和DEMO,不勾选int8和neon,配置之后用vs打开,注意在facedetection、facedetection_shared、fdt_demo三个项目的项目属性->C++->代码生成里开启AVX2和快速浮点。
(1)对比keliamoniz1.jpg
结果比较:
(2)对比4.jpg
结果比较:
(3)对比其他图片
结果比较:
(二)ARM-LINUX下对比
(测试机器为firefly rk3399)
编译方式:
ZQCNN: 先编译OpenBLAS, OpenCV3.4.2, 然后编译ZQCNN, 使用命令cmake .. -DSIMD_ARCH_TYPE=arm64 -DBLAS_TYPE=openblas_zq_gemm 具体参见ZQCNN项目的README
libfacedetection: 命令cmake .. -DENABLE_NEON=ON -DCMAKE_BUILD_TYPE=RELEASE
(1)对比keliamoniz1.jpg
结果比较:
(2)对比4.jpg
结果比较:
(3)对比其他图片
结果比较:
总结
根据以上比较结果可知,按照上述编译方式,在上述图像集中,ZQCNN-MTCNN在速度和精度上都优于libfacedetection。
不过要声明一点,该比较中使用的图像数量过少,感兴趣的读者可自行下载编译测试。
ZQCNN使用了mkl、openblas,这些基础加速库可能是其速度占优的原因。
libfacedetection追求无依赖库,在实际项目中,应用可以更广泛。
代码数据下载
作者已经把上述代码及测试图像开源了,在OpenCV中文网公众号对话界面回复“facepk”,即可收到下载地址。