位置: IT常识 - 正文

计算机视觉之姿态识别(原理+代码实操)(计算机视觉姿势评估英语)

编辑:rootadmin
计算机视觉之姿态识别(原理+代码实操) 一、姿态识别整体过程基于图像视频基于mems传感器(高性能三维运动姿态测量系统)二、人体分割

推荐整理分享计算机视觉之姿态识别(原理+代码实操)(计算机视觉姿势评估英语),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:计算机视觉是啥,计算机视觉姿态识别,计算机视觉是做什么的,计算机视觉姿态识别,计算机视觉是啥,计算机视觉姿态识别,计算机视觉姿势评估英语,计算机视觉姿态识别,内容如对您有帮助,希望把文章链接给更多的朋友!

•人体分割使用的方法可以大体分为人体骨骼关键点检测、语义分割等方式实现。这里主要分析与姿态相关的人体骨骼关键点检测。人体骨骼关键点检测输出是人体的骨架信息,一般主要作为人体姿态识别的基础部分,主要用于分割、对齐等。一般实现流程为:

三、人体姿态识别四、人体骨骼关键点检测

•主要检测人体的关键点信息,如关节,五官等,通过关键点描述人体骨骼信息,常用来作为姿态识别、行为分析等的基础部件,如下图所示:

分为两种模式:

自顶向下的关键点是目标检测到人体框,然后再进行关键点的检测

自底向上(BottomUp)的人体骨骼关键点检测算法主要包含两个部分:关键点检测和关键点聚类连接,关键点检测目的是将图片中所有人的所有关键点全部检测出来。关键点检测完毕之后需要对这些关键点进行聚类处理,将每一个人的不同关键点连接在一块,从而连接

以openpose为例:

•openpose的检测流程为:

•1)计算出所有关键点(头部,肩膀,手肘,手腕...)

•2)计算出所有关联区域

•3)根据关键点和关联区域进行矢量连接,由前两步得到的关键点和关联区域,而后需要依据关联区域将关键点连接以组成人体真正的骨骼结构。作者提出了以一个最小限度的边数量来获得个体姿势的生成树图(用了二分图+匈牙利算法等),在保证不错的准确度的同时,大大减少了复杂度,提高了实时性,解决了对关键点聚类配对时需要每对点都试验一遍然后找到最优的划分和组合结构的难题。

五、2D+人体骨骼关键点检测

•DensePose-RCNN采用的是金字塔网络(FPN)特征的RCNN结构,区域特征聚集方式ROIalign pooling以获得每个选定区域内的密集部分标签和坐标。将2D图像中人的表面图像数据投影到3D人体表面上,将人体的3D表面模型切分为24个部分,然后为每一部分构建一个UV坐标系,将2D图像上的人体部分的每一个点映射到相应的3D表面部分。也可以在估计出图像中人体的UV之后,将3Dmodel通过变换,将空间坐标转换为UV坐标之后,贴到图像上。

•DensePose借鉴了Mask-RCNN的结构,同时带有FeaturePyramid Network(FPN)的特征,以及ROI-Align池化。整体流程为:首先使用Faster-RCNN得到人物区域boundingbox,然后使用CNN网络模块分块,分块后用CNN网络模型处理每一个分块,最后得到目标的热力图IVU。

六、3D人体骨骼关键点检测实现七、常用算法

•DensePose

•OpenPose

计算机视觉之姿态识别(原理+代码实操)(计算机视觉姿势评估英语)

•Realtime Multi-Person Pose Estimation

•AlphaPose(RMPE)

•Human Body Pose Estimation

•DeepPose

•Mediapipe(MoveNet)

1、RMPE算法(自顶向下)

先进行行人检测,得到边界框,然后在每一个边界框中检测人体关键点,连接成一个人形,缺点就是受检测框的影响太大,漏检,误检,IOU大小等都会对结果有影响

2、Mediapipe(自底向上)

•MoveNet模型:Google在2021年5月推出的一款轻量化姿态估计模型

•bottom-up的模型,这种范式一般用在多人姿态估计中,而更特别的是,MoveNet是一个bottom-up的单人姿态估计模型。从MoveNet的技术博客分享中,它在两种范式之间取得了优秀的平衡,既避免了单独训练一个det模型,又尽量保留了单人姿态估计的精度优势。

·快速下采样:尽量快地压缩图片尺寸,降低整体的计算量

·残差结构:获取浅层特征和梯度,一定程度上弥补快速下采样造成的一些问题(下采样太快信息损失太严重,模型来不及学出一些高级的有意义的语义特征),强化特征中的空间信息

·参数集中在主干:在残差分支上的参数和计算量尽量少,把本来就比较可怜的算力全用在主干分支上

输出:

·CenterHeatmap[B, 1, H, W]:预测每个人的几何中心,主要用于存在性检测,用Heatmap上一个锚点来代替目标检测的bbox

·KeypointRegression[B, 2K, H, W]:基于中心点来回归17个关节点坐标值

·KeypointHeatmap[B, K, H, W]:每种类型的关键点使用一张Heatmap进行检测,这意味着多人场景下这张Heatmap中会出现多个高斯核

·OffsetRegression[B, 2K, H, W]:回归Keypoint Heatmap中各高斯核中心跟真实坐标的偏移值,用于消除Heatmap方法的量化误差

八、代码实操

采用了mediapipe算法进行简单的演示:

import cv2import mediapipe as mpimport time #计算fps值#两个初始化mpPose = mp.solutions.posepose = mpPose.Pose()#初始化画图工具mpDraw = mp.solutions.drawing_utils#调用摄像头,在同级目录下新建Videos文件夹,然后在里面放一些MP4文件,方便读取cap = cv2.VideoCapture('只因.mp4')#计算pfs值需要用到的变量,先初始化以一下pTime = 0while True:#读取图像success, img = cap.read()#转换为RGB格式,因为Pose类智能处理RGB格式,读取的图像格式是BGR格式imgRGB = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)#处理一下图像results = pose.process(imgRGB)# print(results.pose_landmarks)#检测到人体的话:if results.pose_landmarks:#使用mpDraw来刻画人体关键点并连接起来mpDraw.draw_landmarks(img, results.pose_landmarks, mpPose.POSE_CONNECTIONS)#如果我们想对33个关键点中的某一个进行特殊操作,需要先遍历33个关键点for id, lm in enumerate(results.pose_landmarks.landmark):#打印出来的关键点坐标都是百分比的形式,我们需要获取一下视频的宽和高h, w, c = img.shapeprint(id, lm)#将x乘视频的宽,y乘视频的高转换成坐标形式cx, cy = int(lm.x * w), int(lm.y * h)#使用cv2的circle函数将关键点特殊处理cv2.circle(img, (cx, cy), 5, (255, 0, 0), cv2.FILLED)#计算fps值cTime = time.time()fps = 1 / (cTime - pTime)pTime = cTimecv2.putText(img, str(int(fps)), (70, 50), cv2.FONT_HERSHEY_PLAIN, 3,(255, 0, 0), 3)cv2.imshow("Image", img)cv2.waitKey(1)

效果如下图所示:

因为mediapipe是自底向上的算法,可以看出来即使人没有完全出现也能识别到关键点,之后连到一起,对于单人姿态识别的话效果还是很不错的。

本文链接地址:https://www.jiuchutong.com/zhishi/296059.html 转载请保留说明!

上一篇:import在vue中使用(import vue from vue报错)

下一篇:微信登录的接口(微信登录接口购买)

  • oppo账号实名认证怎么换绑(oppo账号实名认证怎么强制解除)

    oppo账号实名认证怎么换绑(oppo账号实名认证怎么强制解除)

  • 苹果手表微信怎么打字回复(苹果手表微信怎么安装)

    苹果手表微信怎么打字回复(苹果手表微信怎么安装)

  • 苹果13微信视频通话有美颜吗(苹果13微信视频聊天有美颜功能吗)

    苹果13微信视频通话有美颜吗(苹果13微信视频聊天有美颜功能吗)

  • 腾讯微云怎么备份照片(腾讯微云怎么备份通讯录)

    腾讯微云怎么备份照片(腾讯微云怎么备份通讯录)

  • 苹果负一屏怎么打开(苹果负一屏怎么设置好看)

    苹果负一屏怎么打开(苹果负一屏怎么设置好看)

  • 苹果打电话自动免提怎么关闭(苹果打电话自动录音)

    苹果打电话自动免提怎么关闭(苹果打电话自动录音)

  • vivo手机ai键是干什么的(vivox27手机ai键)

    vivo手机ai键是干什么的(vivox27手机ai键)

  • 淘宝怎么微信零钱支付(淘宝如何用微信零钱支付)

    淘宝怎么微信零钱支付(淘宝如何用微信零钱支付)

  • 权重值是什么意思(权重权值区别)

    权重值是什么意思(权重权值区别)

  • 不支持nfc是什么意思(不支持nfc的手机怎么用nfc)

    不支持nfc是什么意思(不支持nfc的手机怎么用nfc)

  • 苹果蓝牙耳机三代真假区分(苹果蓝牙耳机三代pro)

    苹果蓝牙耳机三代真假区分(苹果蓝牙耳机三代pro)

  • qq几级才有皇冠(qq多少级会有皇冠)

    qq几级才有皇冠(qq多少级会有皇冠)

  • 苹果手机恢复出厂设置后还能恢复数据吗(苹果手机恢复出厂设置后照片怎么恢复)

    苹果手机恢复出厂设置后还能恢复数据吗(苹果手机恢复出厂设置后照片怎么恢复)

  • 三星手机烧屏幕原因(三星手机烧屏幕了怎么恢复)

    三星手机烧屏幕原因(三星手机烧屏幕了怎么恢复)

  • 台式电脑可以开wifi热点吗(台式电脑可以开腾讯会议吗)

    台式电脑可以开wifi热点吗(台式电脑可以开腾讯会议吗)

  • 2根内存条插哪个卡槽(2根内存条插哪里好)

    2根内存条插哪个卡槽(2根内存条插哪里好)

  • 段后间距一行怎么设置(段后间距一行是多少磅)

    段后间距一行怎么设置(段后间距一行是多少磅)

  • ps吸取颜色快捷键(ps吸取颜色的快捷键)

    ps吸取颜色快捷键(ps吸取颜色的快捷键)

  • 华为云空间怎么清理(华为云空间怎么导出到新手机)

    华为云空间怎么清理(华为云空间怎么导出到新手机)

  • 苹果电池健康会回升吗(苹果电池健康会越掉越快吗)

    苹果电池健康会回升吗(苹果电池健康会越掉越快吗)

  • 手机没有otg功能怎么办(手机没有OTG功能怎么导照片)

    手机没有otg功能怎么办(手机没有OTG功能怎么导照片)

  • 手机银行怎么交医保(手机银行怎么交医疗保险)

    手机银行怎么交医保(手机银行怎么交医疗保险)

  • iphone8多重(苹果8有多重)

    iphone8多重(苹果8有多重)

  • n6蓝牙音箱怎样调节音量(ndz03ga蓝牙音响使用方法)

    n6蓝牙音箱怎样调节音量(ndz03ga蓝牙音响使用方法)

  • 蓝牙音箱声音怎么调大(蓝牙音箱声音怎么外放)

    蓝牙音箱声音怎么调大(蓝牙音箱声音怎么外放)

  • 美图秀秀怎么上传照片(美图秀秀怎么上传配方)

    美图秀秀怎么上传照片(美图秀秀怎么上传配方)

  • Win11 Dev预览版 22509更新发布(附更新内容大全)(win11dev预览版可以升级正式版吗)

    Win11 Dev预览版 22509更新发布(附更新内容大全)(win11dev预览版可以升级正式版吗)

  • 流量结转是什么意思
  • 临时工工资怎么申报个人所得税
  • 个税身份证验证不通过已经申报缴税
  • 岗位津贴和岗位补贴
  • 建筑工地不按月发工资怎么办
  • 厂房面积测绘收费标准
  • 代理记账服务内容
  • 库存商品检验合格标准
  • 个人公司转让协议怎么写
  • 个税什么情况可以不用汇算
  • 报销老板垫款会计处理
  • 期间费用企业所得税扣除
  • 借款利息资本化条件
  • 收到发票对方已红冲是否退回?
  • 土地使用税从什么时候开始算
  • mac怎么打出@符号
  • 新成立企业什么时候有财务报表
  • 固定资产清理净值是什么意思
  • 在windows7操作具有什么特点
  • PHP:mb_ereg_replace_callback()的用法_mbstring函数
  • 在win7系统中怎样为另外一块硬盘安装系统
  • PHP:eregi_replace()的用法_Regex正则函数
  • 外贸出口退税企业差旅费可以抵扣吗
  • 企业常用的成本核算方法有哪些
  • 固定资产非正常损失
  • php中的函数
  • php框架的作用
  • 预算会计组成体系不包括
  • 库存股属于什么
  • 计提下月工资怎么算
  • php自定义函数的关键字是什么
  • 大型语言模型的教育应用
  • filezilla使用手册
  • 独立核算的分公司责任承担问题
  • 子公司认定消费税需要披露信息
  • 网上学电脑
  • python的多进程模块
  • 国家税务总局关于营改增后土地增值税
  • python2.7 协程
  • mongodb基本操作命令
  • 房产税在企业所得税扣除内吗
  • 应收帐款质保金
  • 怎样根据税负率计算税额
  • 企业的专利年费是多少
  • 销货清单要放凭证里吗
  • 企业转让无形资产的方式有
  • 土地使用权被政府收回要交个税吗
  • 利息收入计入科目
  • 车辆维修费会计分录
  • 三方协议代付的钱在哪里
  • 普通发票做账需要价税分离吗
  • 库存商品过期变成废品
  • 增值税的视同销售行为有哪些?
  • 补提企业所得税后怎么调整未分配利润
  • 资金周转率计算公式
  • 房地产开发打桩
  • 票据粘贴处怎么粘
  • 有销项税额转出吗
  • 收到保险公司的赔款计入什么科目
  • 如何设置存货计价方法有哪些
  • 注册表修改后如何生效
  • 怎么用U盘装系统
  • internetfeatures.exe是什么文件
  • Win10 Mobile 10572升级后QQ/微信无法发送图片
  • linux config
  • win10系统怎么设置屏幕
  • win8什么时候发布
  • cocos2dx CardinalSpline和CatmullRom算法
  • nodejs自动生成接口文档
  • 使用css设置文字效果
  • Intent and Intent Filters
  • unity ui
  • 如何用node搭建服务器
  • jquery事件处理有哪些
  • android开发框架
  • jquery form validate
  • 四川省 税务局
  • 全电子发票开具怎么扫脸认证?
  • 台湾大学会计硕士
  • 税收与税收管理的关系
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设