UMDFaces数据集csv文件处理工具
来源:互联网 发布:网络主播招聘文案 编辑:程序博客网 时间:2024/06/05 22:42
UMDFaces数据集:
该数据集包含367920张人脸,分别类属于8501个事件类别。提供的人脸信息包括,人脸框,人脸姿势,(yaw,pitch,roll),21个关键点,性别信息等。由于图片尺度,方向等的问题,使得该数据集不适合做人脸检测的训练,适合做人脸识别。
数据集下载地址,数据集下载地址
该数据集,主要是使用GoogleScraper从网络爬下的图片,作者使用了DP2MFD model(Deep Pyramid Deformable Parts Model for Face Detection)和AMT(AmazonMechanical Turk)详情参考
数据集csv文件处理工具
数据集中包含了三个文件,Umdfaces_files_bc1,Umdfaces_files_bc2,Umdfaces_files_bc3,文件里面
其中文件夹包含了umdfaces_batch1_ultraface.csv 文件
文件里面包含信息: detection confidences, face bounding boxes, ultraface fiducial points, pose, and gender
如今我们需要解析这个文件,使它生成我们需要的数据:人脸特征点,人脸检测框,人脸姿态,和性别.
处理代码如下:
void CprocessImg::dataForUMDFace(string file, string dst){ ifstream infolder; infolder.open(file); if (infolder.fail()) return; string b; int np = 0; getline(infolder, b); while (getline(infolder, b)) { if (np % 100 == 0) cout << "文件正在处理中。。。。:" << np << endl; np++; vector<string> result; //数据排序: //result[1],表示图片名称 //result[4~7] faceRect; //result[8~10] 角度 //result[11~73] x,y,v //result[74~75] 性别 for (int k = 0; k < 76; k++) { int a = b.find_first_of(","); string out = b.substr(0, a); result.push_back(out); b = b.substr(a + 1); } string fileName = result[1]; int pos = fileName.find_last_of("/");// cout << pos << endl; string folderName = fileName.substr(0, pos); //获取文件夹 string picName = fileName.substr(pos + 1); //获取文件名 //创建文件夹 string fder = dst + "/" + folderName; _mkdir(fder.c_str()); //创建人脸框文件 string faceRect_file = dst + "/" + fileName.replace(fileName.find_last_of("."), 4, ".txt"); ofstream out; out.open(faceRect_file); out << result[4] << " " << result[5] << " " << result[6] << " " << result[7] << endl; //创建特征点文件 string faceLandmarks = dst + "/" + fileName.replace(fileName.find_last_of("."), 4, ".pts"); out.close(); ofstream fl; fl.open(faceLandmarks); fl << "version: " << 1 << endl; fl << "n_points: " << 21 << endl; fl << "{" << endl; for (int k = 0; k < 21; k++) { fl << result[3 * k + 11] << " " << result[3 * k + 12] << endl; } fl << "}" << endl; fl.close(); //创建姿态角文件 string facePos = dst + "/" + fileName.replace(fileName.find_last_of("."), 4, "_pos.txt"); ofstream posOut; posOut.open(facePos); posOut << result[8] << " " << result[9] << " " << result[10]; posOut.close(); //创建性别文件 string faceSet = dst + "/" + fileName.replace(fileName.find_last_of("."), 4, "_sex.txt"); ofstream posSet; posSet.open(faceSet); posSet << result[74] << " " << result[75]; posSet.close(); }}
代码验证通过,同时为了方便大家更好的去利用这个数据库,我已经生成可执行文件(win 7版本),有需要的可以在我的资源下载
1 0
- UMDFaces数据集csv文件处理工具
- 使用faster rcnn训练umdfaces数据集
- UMDFaces数据集与人脸特征点检测
- 使用CSV文件处理EXcel数据
- matlab处理.csv或.data数据集
- 解析CSV文件工具
- CSV文件工具
- python 处理csv数据
- python处理csv数据
- Python 处理CSV文件
- python处理文件(.csv)
- Python 处理CSV文件
- 处理csv文件
- Python 处理CSV文件
- python处理.csv文件
- java处理csv文件
- CSV 文件处理 PERL
- php 处理csv文件
- birt 的动态sql,即多条件查询
- Delphi判断文件是否正在被使用
- ubuntu 下 Genymotion报Unable to load virtualbox engine错误
- 谈谈Retrofit连接https证书问题
- Android设计模式~~~工厂方法模式
- UMDFaces数据集csv文件处理工具
- SPRING BOOT jar linux部署脚本
- Swift 3.0 拨打电话
- ubuntu14.04+cuda8.0+cudnn5.1+caffe+tensorflow 安装教程(二)
- 关于InputStream类的available()方法
- iOS 导航栏自定义 TitleView不居中的问题
- NOIP2016 换教室
- 单点登录原理与简单实现
- Java Web学习总结(30)——Service层在MVC框架中的意义和职责