人脸检测之DDFD(Deep Dense Face Detector)

来源:互联网 发布:金山数据恢复账号密码 编辑:程序博客网 时间:2024/05/18 16:15

DDFD(Deep Dense Face Detector)是一种基于AlexNet进行微调(finetune)改进的一种深度学习的网络模型。是雅虎公司2015年的作品,并发表在了cvpr,论文名为Multi-view Face Detection Using Deep Convolutional Neural Networks。可以实现基于多角度,遮挡,关照下的人脸检测。是一种unconstrain的人脸检测算法。

         传统的人脸检测途径有3种:

(1)基于Cascade级联分类器的人脸检测,例如Viola JonesNPD(Normalized Pixel Difference)等。

(2)基于DPM(deformable part models)的人脸检测,即将人脸分割成好几个部件进行检测的算法,例如DPM。

(3)基于神经网络的方法,例如,DDFDRCNN等、

         该模型由5个卷积层,3个全连接层组成,在最后一个全连接层直接输出,没有经过SVM分类器处理。网络结构face_full_conv.prototxt如下所示:


从下面左图的人脸检测,可以看出,DDFD对各种姿势有很强的抵抗能力,从右侧的能量图(heat-map),也叫特征图(就像ITTI模型提取的那样),可以看出对于正前方的人脸有着最高的score,而随着偏转角度、姿势的变换越大,score就会越低,但是都可以满足高于周围的背景区域,从而实现多角度,多姿态的人脸检测。


程序github网址https://github.com/watersink/caf_face_detection,模型文件下载地址https://pan.baidu.com/s/1i4Qokhn

由于原作者没有给出其CMakelists,这里贴出我自己的CMakeLists,将其中cafferoot替换为自己的caffe根目录,opencvroot替换为自己的opencv根目录。

cmake_minimum_required (VERSION 2.8)project (caf_face_detection)add_executable(caf_face_detection data_transformer.hpp  face_detection.cpp  face_detection.hpp  main.cpp)include(CheckCXXCompilerFlag)CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)if(COMPILER_SUPPORTS_CXX11)        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")elseif(COMPILER_SUPPORTS_CXX0X)        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")else()     message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")endif()include_directories ( /cafferoot/include    /usr/local/include     /usr/local/cuda/include    /usr/include)target_link_libraries(caf_face_detection / cafferoot /build/lib/libcaffe.so     /usr/local/lib/libglog.so.0    /usr/lib/x86_64-linux-gnu/libboost_system.so    /opencvroot /build/lib/libopencv_highgui.so     / opencvroot /build/lib/libopencv_core.so     / opencvroot /build/lib/libopencv_imgproc.so     )

运行该程序会发现,在程序的运行过程中,其会自动的跟新face_full_conv2.prototxt,有种增量学习(incremental learning)和在线学习(online learning)的味道,网络结构face_full_conv2.prototxt如下

程序运行效果如下:

1 0