基于深度学习的行人属性辨识研究

news2024/11/28 14:52:21

收藏和点赞,您的关注是我创作的动力

文章目录

    • 概要
  • 一、 实验设计与结果分析
    • 3.1 CACD数据集及图像预处理
  • 二、行人属性识别
    • 4.2 系统开发环境
    • 4.3 功能模块实现
    • 4.3.1 图像采集模块
    • 结 论

概要

  本文提供了一个采用更多消耗函数方法的网络模式,将交叉熵损耗函数和经过修改的监控信息中心损失函数方法结合,对模型参数加以了修改。最后,所提取出的特点将更为明显,使同一个人的特点也更为紧凑。与只用交叉熵损失函数培训的网络比较下,对交叉年龄数据集的检测结果做出了改善,使采用WEB技术开发的行人属性辨识应用领域也能够正常进行。与其他类型的应用程序比较,该应用领域具备了跨平台、轻量化的特性,其功能主体涉及图像采集、行人属性辨识以及数据存储模块等,可广泛应用于日常生活辨识任务。
关键词:深度学习;行人属性识别;多损失函数

一、 实验设计与结果分析

3.1 CACD数据集及图像预处理

   CACD数据分析集由Chen等于在2014年发布,是当时数据分析量较大的跨年龄段变化人脸数据集合。在获取该数据集中时,研发人员首先考虑了两点关键的原则,一是数据集中的人必须涵盖了各个年龄段,二是这部分人的面部照片必须可以利用网络方便、大量地收集。针对此研究人员选取了IMDb.com上各个年龄段的名人作为待收录的对象,并最终在从1951年至1990年诞生的名人中,每年选取了排行榜前50位,总共收录了2000位名人。然后使用Google查找这些名人的照片时,将名人"名字+年份"为关键字。每个人可以收集从2004年至2013年的所有照片,因而年龄跨度约为10年。但此方案所收集的图像中也涉及了大量噪声因素,如检索到的图像中涉及多人或一些名人在有的年份发布的照片数量很少等,因此研发人员只对测试集数量进行了人工检测。在对所采集的图像进行了人脸测试、去比重后,在最终的CACD数据集中获得了年龄范围从16至62周岁的共163446张人脸图像,各个年龄图像数量分别如图3所显示,其中以20-60周岁的儿童图像数量为主,而一般每人也有80张以下的儿童图像数量。

在这里插入图片描述

图3 CACD数据集图像年龄分布图
   CACD数据集已经涵盖了足够的数量,而且每个人所涉及的图像数量比较统一,因此能够用于训练深度的卷积式神经网络模型。要增强模型的识别效果,就必须在训练之前先对图像数据进行预处理。
为提高模型的泛化能力,可在训练流程中使用影像强化技术建立更多的训练样本,从而更有效地控制过模型拟合过程。对训练样本数据来说,有二个主要影像强化技术:水平反演和随机裁剪。基于人脸的对称性,训练好的模型能够使用水平翻转图形来满足对同一个人不同的视角。图4中显示了CACD中人的脸原图形,以及通过人脸检测对齐处理、水平翻转后的图形。

在这里插入图片描述
图4 人脸图像检测对齐、水平翻转处理

   经检测与对齐处理后人脸区域的图像尺寸约为256×256,再通过随机裁剪至224×224尺寸的图像作为最后练习的入口,如图5所示,能够成倍增加训练样本量,从而使得网络模式对部分区域的平移变化或者是脸部遮盖并不敏感,从而有效提高了模拟的泛化能力。
在这里插入图片描述
图5 随机裁剪处理示例

二、行人属性识别

  系统的整体设计重点,是通过系统分析应用情景下行对人属性识别任务和对其子模块的系统要求,并提出了具体的系统结构、业务流程等,是构建体系的首要基础。在本文的行人属性识别系统中,主要是利用web前端收集图像,并将图像数据以及相关的请求信号发送到服务器进行处理,然后再将识别的结果反馈给前端。系统总体结构如图八所述,大致上包括了三部分,包括图片收集模块、行人属性辨识模块、数据存储模块,其之间联系流程如图8所示。
在这里插入图片描述

图8 系统整体架构图

4.2 系统开发环境

  本系统在Ubuntu环境下开发,采用Python语言进行开发,具体软硬件环境如表1所示:
表1 软硬件开发环境
硬件环境 AMD A8 PRO-7600B R7 CPU, 8G 内存
AMD Radeon™ R7 Graphics (1024MB) 显卡
软件环境 Microsoft Windows 10 专业版 (64位) 系统,Dlib,Flask,Keras

4.3 功能模块实现

4.3.1 图像采集模块

(1)图像数据采集显示
  首先需要上传图片或接入视频流,并实时展示在网页端。对于视频流可以是已有的视频,也可以来自于摄像头实时视频流。这一任务在过去针对前端技术人员来说是很难以实现的,但是HTML五标准的推出却为前端人员在多媒体交互使用上提供了很多方便。HTML五的新特点WebRTC(Web Real TimeCommunication)提供了 MediaDevices.GetUserMedia()接口,可以在各种设备上直接向用户申请捕获流媒体输入内容的授权,这里还包括视频源,也可以利用设备上的摄像机捕获。进一步,当收集到视频流对象时,如果想要直接把该视频流导入到前端网页上,则必须先给该视频流建立一个对象URL,并赋于网页的video标签以进行即时播放。

在这里插入图片描述

图9 图像采集模块流程
(2)人脸检测
  想要提供良好的人机交互体验,有需要使用画布技术对输出视频的人脸进行测量,以及在视频上进行渲染测量到的人脸区域。人脸检测通过引入一种轻量级的javascript库tracking.Js来辅助,该库还在网页端实现了Viola-Jones人脸检测算法。通过视频流绑定检测的监控事件,不断反馈视频中人脸区域的位置,以确定人脸有没有被侦测到。
(3)图像截取
当侦测到人脸后即返回的区域位置不为空的情形下,用户也可以选择进行对人脸照片的截取,以降低数据传输时的图片尺寸,从而增加速度。视频本身并不能提供截图接口,但是我们可以使用Canvas技术实现这一功能,并利用了Canvas的drawImage()方法。

捕获视频流之后,捕获的视频图片也将展现在网页上。Web应用程序也将自动开启基于视频流的实时人脸侦测。
在这里插入图片描述

图13 视频人脸检测识别界面
在这里插入图片描述

图14 图像人脸检测识别界面

结 论

   对于这样的应用场景,行人属性识别已经引起了许多研究人员的注意。同时,行人属性辨识的正确性也受许多因素的影响。本文主要研究了基于深度学习的知识方法对年龄有关的认识问题的有效性。行人属性辨识应用程序都是使用web技术设计并完成的。阐述了应用流程设计目标和开发环境。详尽说明了应用程式中所有主要模块的具体实现方法,并对其功能提供了测试。该应用程序是轻量级和跨平台的,以满足行人属性识别的日常生活的要求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1146000.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IOC课程整理-9

0 总览 1. Spring Bean 元信息配置阶段 2. Spring Bean 元信息解析阶段 3. Spring Bean 注册阶段 4. Spring BeanDefinition 合并阶段 5. Spring Bean Class 加载阶段 6. Spring Bean 实例化前阶段 InstantiationAwareBeanPostProcessor#postProcessBeforeInstantiation 若返回…

实战经验分享FastAPI 是什么

FastAPI 是什么?FastAPI实战经验分享 ![在这里插入图片描述](https://img-blog.csdnimg.cn/7e9e23e6fe3444238413d91f37064b65.png](https://fastapi.tiangolo.com/) FastAPI 是一个先进、高效的 Python Web 框架,专门用于构建基于 Python 的 API。它是…

【扩散模型】HuggingFace Diffusers实战

HuggingFace Diffusers实战 1. 环境准备2. DreamBooth2.1 Stable Diffusion简介2.2 DreamBooth 3. Diffusers核心API4. 实战:生成美丽的蝴蝶图像4.1 下载数据集4.2 调度器4.3 定义扩散模型4.4 创建扩散模型训练循环4.5 图像的生成方法1.建立一个管线方法2.写一个采样…

python:使用Scikit-image对遥感影像进行小波变换特征提取(wavelet)

作者:CSDN @ _养乐多_ 在本博客中,我们将介绍如何使用Scikit-image库进行单波段遥感图像的特征提取,重点关注小波变换方法,特别是Gabor滤波器。我们将详细解释代码中的参数以及如何调整它们以满足不同需求。 小波变换是一种数学工具,用于将信号分解成不同尺度和频率的成…

CAN协议详解

1.CAN 协议概述 简介 CAN 是控制器局域网络 (Controller Area Network) 的简称,它是由研发和生产汽车电子产品著称的德国 BOSCH 公司开发的,并最终成为国际标准(ISO11519以及ISO11898),是国际上应用最广泛的现场总线之一。是一种串行的差分总线&#x…

TLSF——一种高效的内存池实现

Arena 起源于计算内核关于堆内存使用的相关优化。 系统调用分配和回收内存的开销较大,一个优化是预先通过系统调用分配一大块内存,然后每次内存使用从大块内存中切出一小份内存使用。 Arena用于维护大块内存切分出来的大量小块内存,达到高效…

网站不被谷歌收录的常见原因及解决办法

现如今的互联网中,流量获取的渠道多种多样,但对于独立站而言,Google仍然是一个重要的流量来源。这是因为Google拥有庞大的用户基础,通过Google可以让潜在用户更容易发现我们的网站。然而,现实情况是,一些网…

STM32 — PWM介绍和使用PWM实现呼吸灯效果

目录 PWM介绍 PWM输出模式: PWM占空比: PWM周期与频率公式: 使用PWM点亮LED灯实现呼吸灯效果 1. 在 SYS 选项里,将 Debug 设为 Serial Wire​编辑 2. 将 RCC 里的 HSE 设置为 Crystal/Ceramic Resonator 3. 时钟配置 4.配…

信息系统项目管理师教程 第四版【第3章-信息系统治理-思维导图】

信息系统项目管理师教程 第四版【第3章-信息系统治理-思维导图】

信息系统项目管理师教程 第四版【第2章-信息技术发展-思维导图】

信息系统项目管理师教程 第四版【第2章-信息技术发展-思维导图】

视频格式高效转换:MP4视频批量转MKV格式的方法

随着数字媒体技术的不断发展,视频格式转换已经成为了我们日常工作中不可或缺的一部分。不同的视频格式适用于不同的场景和设备,因此将视频从一种格式转换为另一种格式往往是我们必须完成的任务。在本文中,我们将重点介绍如何运用云炫AI智剪高…

读图数据库实战笔记02_图数据建模

1. 概念 1.1. 实体 1.1.1. 通常用名词来表示 1.1.2. 描述一个领域中的事物或者事物类型 1.1.2.1. 汽车 1.1.2.2. 用户 1.1.2.3. 地理位置 1.1.3. 在逻辑模型和技术实现过程中,实体通常会变成“顶点” 1.2. 关系 1.2.1. 用动词(或动词短语&#…

SpringCloud 微服务全栈体系(六)

第八章 Gateway 服务网关 Spring Cloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等响应式编程和事件流技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管…

RK3568平台 IIC子系统框架

一.简介 IIC只有两条线,一条串行数据线SDA;一条是时钟线SCL。使用SCL,SDA这两条线就实现了设备之间的数据交互。 I2C通信可以一对一(1个主设备对1个从设备),也可以一对多(1个主设备对多个从设…

React Router初学者入门指南(2023版)

React Router,简单来说,是一个帮助处理React应用程序中导航和路由的库。它是用于管理React中路由的最流行的路由工具。如果你对路由的概念不熟悉,可以将其视为在网站的不同部分之间导航的过程。例如,当你进入网站的“联系我们”部…

UE5实现相机水平矫正

UE5实现相机水平矫正 思路,用HIT获得基于相机视角的 离散采样点,然后根据距离相机距离进行权重分析。 距离越近,采样约中心,即越接近人眼注意点,最后算出加权平均高度,赋予给相机,相机将水平旋…

C++ -- 深入理解多态

前言:多态的概念,通俗地来讲就是多种形态。当我们要完成某个行为的时候,不同的对象去完成时会产生不同的状态,这就叫做多态。具体点就是去完成某个行为,当不同的对象去完成时会 产生出不同的状态。多态在C的类和对象中…

python裁剪图片

我原本想找到一个小一点的彩色人脸数据集,但是都没有找到合适的 但是我找到了一个人脸数据集的封面 于是我把这两个图片裁开,得到了6464张彩色人脸照片 from PIL import Image# 打开大图 big_image Image.open(female.jpg) # 获取大图的宽度和高度 wid…

windows 系统不设置密码也能远程登陆

前言 如果windows系统不设置密码,默认情况下是不能远程登陆的 解决办法 按下winr,输入gpedit.msc 再回车 点击windows设置 ----安全设置 ------本地策略-----安全选项 设置为禁用 远程就可以不输入密码了

PMI-ACP(103:1-16)

英文名:ACP 外文名:Agile Certified Practitioner 中文名:敏捷管理专业人士资格认证 是由 美国项目管理协会 PMI Project Management Institute 发起的,严格评估项目管理人员知识技能是否具有高品质的资格认证。 一年开展4次考…