人脸年龄与性别识别数据集处理

使用python批量复制系统文件到指定位置

借鉴程序:

import os
import shutil
path_img='读取图片的路径'
ls = os.listdir(path_img)
print(len(ls))
for i in ls:if i.find('查找的关键词')!=-1:shutil.move(path_img+'/'+i,"输出保存的路径"+i)

实例:

import os
import shutil
path_img='C:\\Users\\chriszhang\\Desktop\\gender\\test'
ls = os.listdir(path_img)
print(len(ls))
for i in ls:if i.find('testnan')!=-1:shutil.move(path_img+'/'+i,"C:/Users/chriszhang/Desktop/male/"+i)

问题描述

我遇到的情况: 深度学习数据集需要挑选不同年龄的图片

开源的wiki数据集: 如下,00-99共100个文件夹,外加一个.mat标签文件。

解决方法:

对各个文件夹内的图片名遍历,筛选出8类不同年龄的图片
代码: 只按年龄分类了,没有分男女。

import os
import shutilfor j in range(0, 100):path_img = 'D:/pythoncode/PycharmProjects/CNN_SE_ELM Project/dataset_new'  # 读取图片的路径img_set = str(j).rjust(2, '0')  # 生成00-99,赋给img_setpath_img = path_img + '/' + img_set  # 最低一级路径ls = os.listdir(path_img)  # 该路径下所有文件名 构成的列表print(len(ls))for i in range(len(ls)):  # 遍历文件名构成的列表ls[0],ls[1].....filename = ls[i]birth_year = int(filename[-19:-15])birth_month = int(filename[-14:-12])time = int(filename[-8:-4])age = time - birth_year  # 计算年龄if birth_month < 7:  # assume the photo was taken in the middle of the yearpasselse:age = age - 1path_destination = 'D:/pythoncode/PycharmProjects/CNN_SE_ELM Project/dataset_16000/25-32men'if age in range(25, 33):  # 25-32岁shutil.copy(path_img + '/' + filename, path_destination)

结果:

遇到的问题

wiki数据集图片的年龄为0-2,4-6,8-13的图片太少,所以从IMDB中提取一部分。
代码如下:

# -*- coding:utf-8 -*-
"""
作者:ASUS
日期:2022年02月17日
"""
import os
import shutil
# wiki数据集的0-2,4-6,8-13的图片太少,所以从IMDB中提取一部分
for j in range(0, 100):path_img = 'D:/pythoncode/PycharmProjects/CNN_SE_ELM Project/imdb_crop'  # 读取图片的路径img_set = str(j).rjust(2, '0')  # 生成00-99,赋给img_setpath_img = path_img + '/' + img_set  # 最低一级路径ls = os.listdir(path_img)  # 该路径下所有文件名 构成的列表print(len(ls))for i in range(len(ls)):  # 遍历文件名构成的列表ls[0],ls[1].....filename = ls[i]birth = filename.split('_')[2]  # 出生日期,包括年月日,如'1955-1-6'birth_year = int(birth.split('-')[0])  # 出生年,如1955birth_month = int(birth.split('-')[1])  # 出生月,如1time = int(filename[-8:-4])age = time - birth_year  # 计算年龄if birth_month < 7:  # assume the photo was taken in the middle of the yearpasselse:age = age - 1path_destination = 'D:/pythoncode/PycharmProjects/CNN_SE_ELM Project/dataset_16000/8-13men'if age in range(8, 14):  # 8-13岁shutil.copy(path_img + '/' + filename, path_destination)

结果:

  1. 8-13岁的图片够了,但0-2岁,4-6岁的图片仍然不够。
  2. 发现很多图片的人脸年龄与标签严重不符。

imdb-wiki数据集划分及处理、训练相关推荐

  1. 【YOLOv5 数据集划分】训练和验证、训练验证和测试(train、val)(train、val、test)

    [YOLOv5 数据集划分]训练和验证.训练验证和测试(train.val),(train.val.test) ①在已有测试集的情况下划分训练集和验证集 # 将图片和标注数据按比例切分为 训练集和测试 ...

  2. 机器学习(一) 基于sklearn库的数据集划分(交叉验证)

    机器学习中首要环节就是数据集的处理,其中数据集的处理从个人理解(如有错误敬请谅解)的角度来说包括两个方面:数据集划分和数据清理.其中数据集划分是指训练集.验证集和测试集的数据类别划分:数据清理是指数据 ...

  3. 十折交叉验证10-fold cross validation, 数据集划分 训练集 验证集 测试集

    机器学习 数据挖掘 数据集划分 训练集 验证集 测试集 Q:如何将数据集划分为测试数据集和训练数据集? A:three ways: 1.像sklearn一样,提供一个将数据集切分成训练集和测试集的函数 ...

  4. ML之FE:数据处理—特征工程之数据集划分成训练集、验证集、测试集三部分简介、代码实现、案例应用之详细攻略

    ML之FE:数据处理-特征工程之数据集划分成训练集.验证集.测试集三部分简介.代码实现.案例应用之详细攻略 目录 数据集划分成训练.验证.测试三种数据的简介 1.训练集.验证集的作用 2.验证数据集 ...

  5. 机器学习之数据集划分——训练集测试集划分,划分函数,估计器的使用

    训练集测试集划分,划分函数,估计器的使用 参考文章 训练集.验证集和测试集的划分及交叉验证的讲解 划分训练集和测试集的函数学习 sklearn数据集,数据集划分,估计器详细讲解 参考文章 训练集.验证 ...

  6. 数据集划分——训练集、测试集、验证集按照7:1:2

    数据集划分--训练集.测试集.验证集按照7:1:2 前面我对乳腺超声图像数据库进行数据增强,得到: 然后对数据集进行划分,按照训练集.测试集.验证集7:1:2的比例. 代码: import os im ...

  7. 机器学习 数据集划分 训练集 验证集 测试集

    版权声明:本文为博主原创文章,转载请注明转自 Scofield's blog[http://blog.csdn.net/scotfield_msn] https://blog.csdn.net/Sco ...

  8. 【目标检测】将目标检测数据集划分为训练集、验证集与测试集 python代码

    文件结构 数据集data_dir文件结构: ├── data_dir: 数据集图片所在目录(可包含其他合适文件,本脚本只对图片进行统计)├── 1.jpg: 图片1├── 2.jpg: 图片2└── ...

  9. 第5章【思考与练习2】将数据集划分为训练集与测试集,查看决策树分类器的性能。 将例5-3中的分类器保存到文件中,然后重新加载预测给出的新数据。

    P101思考与练习2 1.将数据集划分为训练集与测试集,查看决策树分类器的性能. #1. #划分为测试集与训练集 import pandas as pd data = pd.read_csv('dat ...

最新文章

  1. java接口防抖_前端性能优化:高频执行事件/方法的防抖
  2. php curl 测试,php使用curl检测网页是否被百度收录的示例
  3. Vue项目中使用svg文件
  4. Redis基础系列-0x003:String
  5. ASP.NET Core Web Api之JWT(一)
  6. linux中dev目录的作用,Linux 的dev目录详解和Linux系统各个目录的作用
  7. jquery ajax post 传递数组 ,多checkbox 取值
  8. @apioperation 作用_蜂蜜的作用与功效
  9. RemoteDebug iOS Webkit Adapter(适配器):一个可以让你(随时)随地调试Safari、 iOS WebView(的适配器)
  10. 从托管映像创建 VM
  11. 推荐一本书(Secure Coding Standard for Java)
  12. Oracle-随笔笔记
  13. ubuntu 虚拟机设置全屏
  14. 文件描述符 fd 究竟是什么?
  15. 基于linux嵌入式浏览,基于LINUX的嵌入式浏览器的设计与 - 嵌入式操作系统 - 电子发烧友网...
  16. Android壁纸之静态壁纸
  17. 【每日早报】2019/08/14
  18. 【每天学习一点新知识】菜刀、冰蝎、蚁剑、哥斯拉webshell工具分析
  19. Arduino+sim900发送短信例程代码
  20. 动态网站CDN是如何加速的?

热门文章

  1. ST500LT012-1DG142硬盘参数
  2. 计算机应用基础文件管理教案,计算机应用基础第五讲:文件管理(教案).doc
  3. iOS上传视频到服务器
  4. 天气预报+老婆私人订制服务
  5. mate30装google play_华为最新推出的MATE30已被证实可完整安装Google Play并正常工作...
  6. 股票买入方法,股池和和公式
  7. Android中的权限-中英对照
  8. Sublime Text主题皮肤安装与切换使用方法
  9. 百度云 x 中国联通 | 立标杆,中国联通新客服上线大幕拉开!
  10. first name一般来说是指名字,surname or family name才是姓