广告行业中那些趣事系列26:基于PoseNet算法的人体姿势相似度识别

01项目背景介绍1.1为啥要做人体姿势相似度识别

还是惯例讲下为啥要学习人体姿势相似度识别的背景,一方面让大家了解下我做这件事的原因,另一方面对于想借鉴该项目的小伙伴会有所帮助。因为年底了部门想搞一个活动,就是提前准备一些夸张搞笑的表情和姿势,然后大家来进行模仿,根据模仿的相似度来打分,分数越高对应的礼物越好,主要作用是增加活动的可玩性,带动更多的小伙伴参与进来。下面是表情和姿势的模仿效果图:

人体姿势相似度识别项目的目标其实非常简单,就是输入两张人体姿势的图片,输出姿势相似度的得分。经过调研,发现TensorFlow开源的PoseNet模型可以很好的满足我们的需求。下面是我们项目完成之后的效果图:

我们提供一张标准的瑜伽姿势图,也就是上图中蓝色衣服的图片。然后分别提供一张模仿的比较像(灰色衣服)和不像的(白色衣服)两张图片进行对比,灰色衣服是模仿的比较像的,所以相似度得分比较高在0.95以上,而白色衣服是模仿的不像的,所以相似度得分比较低仅在0.7左右。这就是项目目标和效果图说明。2.2项目整体流程

项目整体流程分成两步,第一步是基于Tensorflow的PoseNet模型识别出人体姿势,第二步就是计算两个人体姿势的相似度得分。下面会对两个步骤进行详细说明。2.3基于PoseNet算法识别人体姿势

2.3.1算法原理

只要你的电脑上安装了摄像头就可体验Tensorflow官方提供的PoseNet算法,下面是PoseNet算法的demo,有兴趣的小伙伴可以感受下,支持单目标姿势和多目标姿势,下面是体验demo的链接和体验效果图:

2.3.2人体姿势识别流程

人体姿势识别流程整体分成两步,第一步是将图片作为特征输入到CNN卷积神经网络中;第二步就是利用单姿势或多姿势解码算法输出姿势、姿势置信度得分、关键点位置以及关键点置信度得分。下面是PoseNet模型的姿势检测流程:

姿势、姿势置信度得分、关键点位置以及关键点置信度得分是PoseNet刻画人体姿势的重点,下面通过一张示例图进行详细说明:

模型输入主要包括以下四部分:

2.3.4模型输出

模型输出主要包括两大块,第一块是代表整体的姿势以及姿势的置信度得分,第二块则是代表部分的每个姿势的17个关键点位置以及对应的关键点置信度得分。下面是一个输出示例图:

通过上图输出示例可以看出这个姿势的整体置信度为0.6694,这个姿势包含17个关键点,每个关键点会有对应的名称、二维坐标位置以及关键点对应的置信度得分。比如第一个关键点是鼻子(nose),对应的置信度得分是0.8434,并且还会返回鼻子对应的二维坐标。2.4计算姿势相似度

上面是通过PoseNet模型如何得到人体姿势以及姿势包含的17个关键点流程。通过整体的姿势和局部的17个关键点我们就能很好的刻画人体的姿势。通过PoseNet算法我们可以分别拿到两张图片中人的姿势数据,接下来就是如何计算两个姿势的相似度问题。下面通过一个实际的例子进行说明。第一步先拿到两张图片对应的姿势pose1和pose2:

需要说明的是基于PoseNet算法对于图片中的每个人会返回17个关键点,这里为了简单说明仅选用其中三个关键点;第二步将姿势数据打平,得到每个姿势的坐标以及置信度得分:

因为有三个关键点,每个关键点包含二维坐标和置信度得分,将坐标位置向量打平就得到了6维向量vectorPose1XY,而置信度得分向量vectorPose1Scores是4维,其中前三维是三个关键点对应的置信度得分,最后一维是关键点打分的总和,比如2.5=0.9+0.9+0.7;第三步进行标准化操作:

标准化操作分成两阶段,第一阶段会分别对每个关键点的横坐标X和纵坐标Y进行如下操作,比如第一个姿势的第一个关键点对应的横坐标x1变成了(x1-x_min)/xy_max;第二个阶段则会进行L2规范化操作;最后一步就是根据得到的向量计算两张图片中姿势的相似度得分,主要是利用余弦相似度公式计算,姿势越相似,那么得分越高,最高分为1。03项目实战3.1借鉴开源项目

3.2开源项目存在的问题及解决策略

上述源码存在两个重要的问题,经过一番折腾,下面是解决的策略:

THE END
1.通过机器学习让图像识别更精准更快速机器视觉是一种利用计算机系统分析和理解数字图像内容的手段。这项技术结合了计算机科学、电气工程和认知科学等多个领域,以模仿人类视觉系统工作原理来解析图片中的对象特征,从而能够执行诸如物体检测、分类以及跟踪等任务。 三、传统方法与挑战 传统图像处理算法依赖于手工设计的人类智慧,这限制了它们适应新环境或新类型数https://www.wbhgwbnd.com/ji-qi-ren/861790.html
2.图像识别算法都有哪些方法图像识别算法都有哪些方法 图像识别算法是计算机视觉领域的核心任务之一,它涉及到从图像中提取特征并进行分类、识别和分析的过程。随着深度学习技术的不断发展,图像识别算法已经取得了显著的进展。本文将介绍图像识别算法的主要方法,包括传统方法和基于深度学习的方法。https://www.elecfans.com/d/4033152.html
3.图像图像识别经典算法图像识别算法特征提取:从图像中提取有助于分类的特征。 模型训练:使用特征和标签数据集训练模型。 预测与分类:利用训练好的模型对新图像进行分类。 二、经典图像识别算法 1. Haar-like Features + AdaBoost (Viola-Jones) Viola-Jones算法是人脸检测领域的里程碑,它结合了Haar-like特征和AdaBoost算法。Haar-like特征简单且计算https://blog.csdn.net/yuzhangfeng/article/details/140436315
4.图像识别算法起源图像识别主流算法卫斯理的技术博客在图片识别方面,人工神经网络是应用最广泛、最有效的技术。神经网络同时执行许多数学过程,神经网络是面部识别系统的基础。 算法执行三个主要功能:识别图像、视频或实时流中的人脸;创建人脸的数学模型;并将模型与训练集或数据库进行比较以确认一个人的身份。 https://blog.51cto.com/u_12207/10760565
5.图片文字识别的算法分类算法中的难例图片判断华为云帮助中心为你分享云计算行业信息,包含产品介绍、用户指南、开发指南、最佳实践和常见问题等文档,方便快速查找定位问题与能力成长,并提供相关资料和解决方案。本页面关键词:图片文字识别的算法。https://support.huaweicloud.com/topic/306993-1-T
6.基于深度卷积神经网络的物体识别算法以上物体检测的方法都只是利用RGB彩色信息,而没有利用深度信息。由于深度数据具有光照和颜色不变性,并且能提供彩色数据不能提供的几何信息,对深度数据提取额外的特征将大幅提升视觉算法的性能。华盛顿大学Lai等[9]创建了一个RGB-D物体数据库用于验证物体识别算法。这个数据库既包含彩色图片又包含对应的深度信息,分别约为https://html.rhhz.net/jsjyy/2016-12-3333.htm
7.图像识别算法有哪些图像识别十大经典算法图像识别是计算机视觉领域中的一个重要分支,它旨在让计算机能够理解和识别图像。下面将介绍一些常见的图像识别算法。 1.图像分类 图像分类是指将一张图像分类到不同的类别中。常用的图像分类算法包括卷积神经网络(CNN)、支持向量机(SVM)等。 2.目标检测 https://www.eefocus.com/e/518039.html
8.三年磨一剑——微信OCR轻松提取图片文字ocr算法文本行图6 长按图片分类标签体系 3. 通用OCR识别 (1)文本检测 常用的基于深度学习的文本检测方法一般可以分为基于回归的、基于分割的两大类,当然还有一些将两者进行结合的方法。 图7 常用文本检测算法 基于回归的方法分为 box回归和 像素值回归。 采用box回归的方法主要有CTPN、Textbox系列和EAST,这类算法对规则形状文https://dy.163.com/article/G5NTLL1U0518R7MO.html
9.秒懂算法基于主成分分析法随机森林算法和SVM算法的人脸识别本文的任务与手写数字识别非常相似,都是基于图片的多分类任务,也都是有监督的。 01、数据集介绍与分析 ORL 人脸数据集共包含 40 个不同人的 400 张图像,是在 1992 年 4 月至 1994 年 4 月期间由英国剑桥的 Olivetti 研究实验室创建。 此数据集下包含 40 个目录,每个目录下有 10 张图像,每个目录表示一个https://xie.infoq.cn/article/ca9d988d0f70305993976225a
10.给照片穿上“隐身衣”,最强人脸识别算法也失灵!业界推出最新AIFawkes ,已经让旷视、微软、亚马逊等公司的面部识别算法失灵。 来自芝加哥的调查团队称。Fawkes的正是为照片添加防识别“隐身衣”的AI软件,经检测,它已经在最先进的面部识别技术中取得了百分百的胜利。 我们先来看一组图片。 相信你很难看出两组照片有任何差别。事实上,后者已经过了Fawkes处理,并能够屏蔽任何人脸识别https://www.leiphone.com/category/industrynews/AZf9RS8Y63Uvxi2j.html
11.有哪些免费图片转word软件APP推荐有哪些免费图片转word软件下载豌豆荚有哪些免费图片转word软件榜单为您提供最新有哪些免费图片转word软件大全,这里不仅有有哪些免费图片转word软件安卓版本APP、历史版本应用下载资源,还有类似有哪些免费图片转word软件的应用推荐,欢迎大家前来豌豆荚下载。https://www.wandoujia.com/bangdan/395418/
12.基于改进残差网络的扬尘图像识别方法由于扬尘图像识别目前没有公开的数据集. 因此,通过在互联网上收集各类有关扬尘场景的图片, 整理形成训练集和测试集, 然后使用数据增强在训练集和测试集中生成更多的数据, 解决了该研究中没有数据集以及数据量不足的问题. 为了增强模型的泛化能力, 采用数据增强的操作扩充所需的数据样本, 让网络模型更好的适应各种应https://c-s-a.org.cn/html/2021/5/7909.html
13.深入解析机器学习核心概念分类特征有时称为离散特征。 与数值数据相对。 形心(centroid) 聚类的中心,由k-means或k-median算法决定。例如,如果 k 为 3,则 k-means 或 k-median 算法会找出 3 个形心。 检查点 (checkpoint) 一种数据,用于捕获模型变量在特定时间的状态。借助检查点,可以导出模型权重,跨多个会话执行训练,以及使训练在发生https://www.360doc.cn/article/7673502_976517820.html