- 经作者同意,我们更新了完整复现 @lippman1125
- 原始不需要修改caffe版本参见,该版本没有做稠密化。
- 更新了一版人脸识别windows demo, 链接: https://pan.baidu.com/s/1rKgUWtj3AIfHqjn_yARQHg 密码: xksi
Makefile.config已经修改了好了,使用GPU的方式
所以直接使用下面的命令编译:
make -j8 # Make sure to include $CAFFE_ROOT/python to your PYTHONPATH. make pycaffe make test -j8 # (Optional) make runtest -j8
(1) 利用脚本wider_face_2_voc.py脚本把wider_face数据转换成VOC格式。并遮盖掉小于20x20的人脸。
脚本的位置在: script
(2) 在wider_face_2_voc.py的同一级目录中创建wider_face文件夹,放解压好下载的wider数据,如图:
data
(3) 运行wider_face_2_voc.py脚本,在wider_face文件夹中会生成VOC格式的数据,如图:
data
(4) 生成的图片会把小于20x20的人脸用图像均值覆盖掉,因为太小的人脸,训练时不容易收敛,如图:
mask
(5) 利用data/FACE文件中的脚本,把VOC格式转换成LMDB格式,如图:
lmdb
在caffe/data目录下创建faces_database文件夹,拷贝wider_face文件夹(前面生成的VOC格式数据),layout如图:
database
cd caffe \# Create the trainval.txt, test.txt, and test_name_size.txt in data/FACE/ ./data/FACE/create_list.sh \# You can modify the parameters in create_data.sh if needed. \# It will create lmdb files for trainval and test with encoded original image: \# data/faces_database/FACE/lmdb/FACE_trainval_lmdb \# data/faces_database/FACE/lmdb/FACE_test_lmdb \# and make soft links at examples/FACE/ ./data/FACE/create_data.sh
训练需要的参数文件和网络文件位置如图: train
运行以下命令开始训练:
./build/tools/caffe train --solver examples/faceboxes/solver.prototxt
测评脚本以及模型文件位置如图: test
FDDB上的测评结果(discontinuous)如图:
result
论文中的结果:
origin
效果图:
demo
train.prototxt支持Anchor densification strategy