基于人脸的常见表情识别 Task02笔记

基于人脸的常见表情识别——数据获取与整理

项目背景
  • 对于很多初⼊深度学习计算机视觉领域的朋友来说,当前开源资料⾮常多,但有时候难以适从,其中很多资料都没有包含完整的项⽬流程,⽽只是对某个流程的部分截取,对能⼒的锻炼不够。图像分类是整个计算机视觉领域中最基础的任务,也是最重要的任务之⼀,最适合拿来进⾏学习实践。为了让新⼿们能够⼀次性体验⼀个⼯业级别的图像分类任务的完整流程,本次我们选择带领⼤家完成⼀个对图片中⼈脸进⾏表情识别的任务
数据获取
  • 很多实际项⽬我们不会有现成的数据集,虽然可以通过开源数据集获取,但是我们还是要学会⾃⼰从零开始获取和整理。下⾯讲述如何准备好本次项⽬所需要的数据集,包括以下部分:
  1. 学会使⽤爬⾍爬取图像。
  2. 对获得的图⽚数据进⾏整理,包括重命名,格式统⼀。
  3. 利⽤⼈脸检测算法删选出有⽤的样本,利⽤关键点检测算法裁剪出⽤于算法训练的嘴唇区域
2.1 数据爬取
  • 本项目使用的爬虫项目是:https://github.com/sczhengyabin/Image-Downloader ,可以按要求爬取百度、Bing、Google 上的图片,提供了非常人性化的 GUI 方便操作,使用方法如下:
  1. 下载爬虫工具

  2. 使用 python image_downloader_gui.py 调用GUI界面,配置好参数(关键词,路径,爬取数目等),关键词可以直接在这里输入也可以选择从txt文件中选择。

  3. 可以配置需要爬取的样本数目,这里一次爬了2000张,妥妥的3分钟搞定。
    该项目的 GUI 界面如下,我们尝试爬取“嘟嘴”的相关表情:
    在这里插入图片描述

    爬取图⽚结果如下:

⾃此就可以获得数千张图像,然后进⾏第⼆步,数据整理。

数据整理
  • 爬取得到的数据是⽐较脏的,需要进⾏整理,主要包括统⼀图⽚后缀和重命名。统⼀后缀格式可以减少以后写数据 API 时的压⼒,也可以测试图⽚是不是可以正常的读取,及时防⽌未知问题的出现,这很重要。
3.1 图片格式统一
  • 以下代码可以实现对图片格式的统一,我们在 img_type_test 文件下放置了几张测试图片,读者可以运行尝试。『读者也可以上传不同格式(如 jpg、jpeg、png 等)的图片到 img_type_test 文件下,然后运行下面的代码,下面的代码读取每种图片,然后将其转为 jpg 格式,同时会将原始的图片删除
import os
import sys
import cv2
import numpy as np


def listfiles(rootDir):
    list_dirs = os.walk(rootDir) 
    for root, dirs, files in list_dirs:  # 遍历文件夹下的图片
        for d in dirs:
            print((os.path.join(root, d)))
        for f in files:
            fileid = f.split('.')[0]  # 获得图片的名字,不含后缀
            filepath = os.path.join(root, f) 
            print(filepath)
            try:
                src = cv2.imread(filepath, 1)  # 读取原始图片,数据会加载到内存中
                print("src=", filepath, src.shape)
                os.remove(filepath) # 移除原来的图片
                cv2.imwrite(os.path.join(root, fileid + ".jpg"), src)  # 保存经过格式转换的图片
            except:
                os.remove(filepath)
                continue

path = "./Emotion_Recognition_File/img_type_test/"  # 输入图片路径即可,可以在这个文件夹下放置各种后缀名的图片,代码会将所有图片统一成 jpg 格式
listfiles(path)
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python人脸识别考勤是一种利用Python编程语言开发的基于深度识别人脸识别技术,在线下课堂等场景中用于考勤的系统。该系统主要包括人脸识别考勤和考勤信息统计等功能。 在该系统中,通过使用OpenCV库检测人脸并采集人脸数据,用户可以登录到个人信息管理界面,点击人脸信息录入,然后打开摄像头进行人脸数据采集,系统会自动识别人脸信息并录入。 该系统还具有戴口罩识别和多人识别功能,可以成功实现对戴口罩和多个人脸识别。系统包含教师端、学生端和管理员端三个功能界面,以满足不同用户的需求。 通过Python人脸识别考勤系统,教师可以方便地进行考勤管理和统计,学生可以快速完成考勤签到,管理员可以对考勤数据进行管理和分析,提高考勤的准确性和效率。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Python笔记.docx](https://download.csdn.net/download/bxy0806/88235414)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [基于Python深度学习的人脸识别考勤(戴口罩、多人)](https://blog.csdn.net/songzillll/article/details/124064825)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值