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

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如下

程序运行效果如下:

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值