人脸检测caffe下步骤
1.编辑.sh文件,来创建train.txt文件和val.txt文件
#!/bin/bashDATA=/home/liuwei/caffe/caffe_case/face_detect # 读取train中的数据,train数据的目录# 用pwd查询一下train的路径,防止出错
#test -d $DATA && echo 'exist' || echo 'not exist' #-f判断该文件是否存在,-d判断该目录是否存在DATASAVE=/home/liuwei/caffe/caffe_case/face_detect/mytest # 设置train.txt保存的路径
echo "Create train.txt..." #输出""里的内容# 查找指定目录下的.jpg文件,并把内容放到通道里
# 剪切通道里内容。剪切路径,指定分隔符为斜杠,从第1个路径剪到第7个路径,并把内容放到通道里
# 在每行路径后面加上标签
# 将内容放到txt文件中
find $DATA/train/1 -name "*.jpg" | cut -d '/' -f1-10 | sed "s/$/ 1/" > $DATASAVE/traintmp1.txt
find $DATA/train/0 -name "*.jpg" | cut -d '/' -f1-10 | sed "s/$/ 0/" > $DATASAVE/traintmp2.txtcat $DATASAVE/traintmp1.txt > $DATASAVE/train.txt
cat $DATASAVE/traintmp2.txt >> $DATASAVE/train.txt #将内容追加到txt文件中rm -rf $DATASAVE/traintmp1.txt
rm -rf $DATASAVE/traintmp2.txt#生成val.txt文件
echo "Create val.txt..."find $DATA/val -name "*faceimage*.jpg" | cut -d '/' -f8 | sed "s/$/ 0/" > $DATASAVE/valtmp1.txt
find $DATA/val -name "*nonface*.jpg" | cut -d '/' -f8 | sed "s/$/ 1/" > $DATASAVE/valtmp2.txtcat $DATASAVE/valtmp1.txt > $DATASAVE/val.txt
cat $DATASAVE/valtmp2.txt >> $DATASAVE/val.txt #将内容追加到txt文件中rm -rf $DATASAVE/valtmp1.txt
rm -rf $DATASAVE/valtmp2.txtecho "Done"
2. 用face-lmdb.sh生成lmdb数据源,产生两个文件夹:face_train_lmdb和face_val_lmdb
#!/usr/bin/env sh
# Create the face_48 lmdb inputs
# N.B. set the path to the face_48 train + val data dirsEXAMPLE=/home/liuwei/caffe/caffe_case/face_detect # 5、6行根据自己定义的face_detect文件夹位置改
DATA=/home/liuwei/caffe/caffe_case/face_detect
TOOLS=/home/liuwei/caffe/build/tools # 使用caffe自带工具TRAIN_DATA_ROOT=/home/liuwei/caffe/caffe_case/face_detect/train/ #若要做2分类,则在train文件夹下创建0,1两个文件夹
VAL_DATA_ROOT=/home/liuwei/caffe/caffe_case/face_detect/val/ #放所有待分类的图像# Set RESIZE=true to resize the images to 60 x 60. Leave as false if images have
# already been resized using another tool.
RESIZE=true
if $RESIZE; thenRESIZE_HEIGHT=227 #16,17行为改变图像的大小,可以根据自己需要调节RESIZE_WIDTH=227 #ALEXNET(视频讲解用此方法)或者VGG(常用但迭代慢)通常resize成227*227
elseRESIZE_HEIGHT=0RESIZE_WIDTH=0
fiif [ ! -d "$TRAIN_DATA_ROOT" ]; thenecho "Error: TRAIN_DATA_ROOT is not a path to a directory: $TRAIN_DATA_ROOT"echo "Set the TRAIN_DATA_ROOT variable in create_face_48.sh to the path" \"where the face_48 training data is stored."exit 1
fiif [ ! -d "$VAL_DATA_ROOT" ]; thenecho "Error: VAL_DATA_ROOT is not a path to a directory: $VAL_DATA_ROOT"echo "Set the VAL_DATA_ROOT variable in create_face_48.sh to the path" \"where the face_48 validation data is stored."exit 1
fiecho "Creating train lmdb..."GLOG_logtostderr=1 $TOOLS/convert_imageset \--resize_height=$RESIZE_HEIGHT \--resize_width=$RESIZE_WIDTH \--shuffle \$TRAIN_DATA_ROOT \$DATA/train.txt \$EXAMPLE/face_train_lmdbecho "Creating val lmdb..."GLOG_logtostderr=1 $TOOLS/convert_imageset \--resize_height=$RESIZE_HEIGHT \--resize_width=$RESIZE_WIDTH \--shuffle \$VAL_DATA_ROOT \$DATA/val.txt \$EXAMPLE/face_val_lmdbecho "Done."
# Status API Training Shop Blog About
3. 训练模型
1)对face_train_lmdb和face_val_lmdb做均值,生成face_train_mean.binaryproto和face_val_mean.binaryproto文件
sudo /home/liuwei/caffe/build/tools/compute_image_mean /home/liuwei/caffe/caffe_case/face_detect/face_train_lmdb /home/liuwei/caffe/caffe_case/face_detect/face_train_mean.binaryprotosudo /home/liuwei/caffe/build/tools/compute_image_mean /home/liuwei/caffe/caffe_case/face_detect/face_val_lmdb /home/liuwei/caffe/caffe_case/face_detect/face_val_mean.binaryproto
2)对train.prototxt和solver.prototxt里的参数做些调整,执行train.sh文件来训练出模型
sh train.sh
人脸检测caffe下步骤相关推荐
- linux使用mtcnn进行人脸检测,Linux下使用FDDB 测试MTCNN人脸检测模型生成 ROC 曲线
FDDB是全世界最具权威的人脸检测评测平台之一,是专门针对人脸识别算法的评测方法与标准.FDDB数据集官网:http://vis-www.cs.umass.edu/fddb/ 下面介绍如何使用FDDB ...
- frame中src怎么设置成一个变量_OpenCV图像人脸检测及视频中的人脸检测(附源码)...
文章目录 一.数据和知识准备 1. 下载HAAR与LBP数据 2. opencv相关知识 二.python+opencv实现人脸检测 1. 图像单人脸检测 2. 图像多人脸检测 3. 视频中人脸检测 ...
- 基于OpenCV的摄像头人脸检测
一.选题背景 二.设计目的和意义 三.设计方案 四.特征分类器的选择 4.1 常用人脸检测的特征分类器 4.2 人脸的Haar特征分类器介绍 4.3 人脸的Haar特征分类器使用 五.设计中主要函数介 ...
- OpenCV人脸检测(完整源码+思路)
本博文IDE为vs2013 OpenCV2.49 话不多说,先看视频演示(20S演示): 如下: https://v.youku.com/v_show/id_XMjYzMzkxMTYyMA==.htm ...
- 一文带你了解人脸检测算法的类型及其工作原理
在过去的几年里,人脸识别受到了广泛的关注,被认为是图像分析领域最有前途的应用之一.人脸检测可以考虑人脸识别操作的很大一部分.根据其强度将计算资源集中在持有人脸的图像部分.图片中的人脸检测方法很复杂,因 ...
- python+opencv 实现图像人脸检测及视频中的人脸检测
执着于理想,纯粹于当下. 文章目录 一.数据和知识准备 1. 下载HAAR与LBP数据 2. opencv相关知识 二.python+opencv实现人脸检测 1. 图像单人脸检测 2. 图像多人脸检 ...
- SeetaFace6使用详细教程(一) 人脸检测--戴着口罩也可以检测
点击左上方"OpenCV与AI深度学习",选择加"星标"或"置顶" 重磅干货,第一时间送达! 导读 本文主要介绍SeetaFace6开源人脸 ...
- C# OpenCV人脸检测(三) DNN加载FaceDetectorYN模型做人脸检测
点击下方卡片,关注"OpenCV与AI深度学习"公众号 视觉/图像重磅干货,第一时间送达 本文作者Color Space,文章未经作者允许禁止转载! 本文将介绍C# OpenCV人 ...
- Qt+百度AI实现人脸识别之人脸检测
文章目录 简单需求 Demo运行结果 百度AI人脸识别接入 为什么使用百度AI接口 接入步骤 如何获取Access Token Qt软件开发 人脸检测Qt编程步骤 知识点 网络编程 get.put.p ...
最新文章
- python代码写好了怎么运行不了-python代码可以直接运行吗 Python写了代码如何运行...
- java set spliterator_Java TreeSet spliterator()方法
- obs 推流编码在哪设置_OBS录屏软件
- Hyper-V 网络设置 虚拟机固定Ip
- 【CKEditor】下载历史版本4.8.x
- oracle 单表查询 详细图文
- mac apache2 php,Mac OSX 之 PHP开发环境Apache2配置
- google账号解除游戏绑定_附方法!关于物联卡手机号的绑定与解绑
- myeclipse去掉js报错
- 企业级系统应用,高级组合查询示例讲解 - Jeecg实战
- git 删除仓库中的文件夹,但是不删除本地文件夹
- [转]numpy 100道练习题
- Windows vCenter 6.5升级 VUM的安装
- 基于3D技术的机器视觉解决方案
- 关于计算机的病毒案例分析,实例解析蠕虫病毒的原理 -电脑资料
- Python打包exe文件方法汇总【4种】
- 知识付费平台年度排行榜!哪些平台活着其实已经死了?
- 大数据在政府中的应用案例
- windows10如何删除恢复分区(让拆下的win10机械硬盘焕发新生,充分利用磁盘空间)
- 工厂设计模式和抽象工厂设计模式