当前位置: 首页 > wzjs >正文

flash网站建设教程视频石家庄定制网站建设服务

flash网站建设教程视频,石家庄定制网站建设服务,启用中文域名大网站,没有域名 怎么做网站链接一、前言 大约两年前,基于自己的理解我曾写了几篇关于Mediapipe的文章,似乎帮助到了一些人。这两年,忙于比赛、实习、毕业、工作和考研。上篇文章已经是一年多前发的了。这段时间收到很多私信和评论,请原谅无法一一回复了。我将尝…

一、前言

大约两年前,基于自己的理解我曾写了几篇关于Mediapipe的文章,似乎帮助到了一些人。这两年,忙于比赛、实习、毕业、工作和考研。上篇文章已经是一年多前发的了。这段时间收到很多私信和评论,请原谅无法一一回复了。我将尝试在这篇文章里回答一些大家经常问到的问题。

二、绘制3d铰接骨架

我曾在之前的文章里讲过,可以使用Mediapipe推理得到的3d坐标绘制到3d画布上,使用的函数就是:mp.solutions.drawing_utils.plot_landmarks(),不过只能导出2d图,没法拖动交互,实现效果如下:
在这里插入图片描述
这个函数是官方自己封装的,我们可以利用matplotlib自行实现实时绘制3d铰接骨架图的需求,效果如下:

实时姿态估计


由于画在了3d画布上,这时候就能拖动画布,以不同角度查看实时的人体姿态。大家可以自行尝试。

三、关于Mediapipe的3d坐标

  1. mediapipe可以推理得到3d坐标,但这个3d坐标并不是真实的3d坐标。这些坐标描述了一个以人体臀部为中心的人体外接圆,是虚拟的坐标。这一点可以从其官方描述得知。
    在这里插入图片描述

  2. 在对每一帧图像做处理时,如果要获取某个keypoint(人体某个关节)在图像上的坐标时,可以这样转换:

results = pose.process(img)
X_ = results.pose_landmarks.landmark[mp_pose.PoseLandmark.NOSE].x * img_width
Y_ = results.pose_landmarks.landmark[mp_pose.PoseLandmark.NOSE].y * img_height

四、关于姿态估计的进一步学习

  1. 如果想获取实际的3d坐标,可以用相机标定,这里涉及的知识更多。Google搜索‘camera calibration’可以学习到更多。
  2. 其他好用的人体姿态估计模型,有mmpose、alphapose、openpose等。个人比较喜欢mmpose,从数据标注到模型训练都比较成熟。
  3. 曾经有人问过,如果要做动物姿态估计,那么毫不犹豫请用DeepLabCut,同样在数据标注和模型训练及导出上,非常成熟易用。

五、所有代码

要结束程序,请按ESC,或者ctrl+c

import cv2
import matplotlib.pyplot as plt
import mediapipe as mp
import time
import numpy as npmp_pose = mp.solutions.pose
mp_drawing = mp.solutions.drawing_utils 
mp_drawing_styles = mp.solutions.drawing_stylescolorclass = plt.cm.ScalarMappable(cmap='jet')
colors = colorclass.to_rgba(np.linspace(0, 1, int(33)))
colormap = (colors[:, 0:3])def draw3d(plt, ax, world_landmarks, connnection=mp_pose.POSE_CONNECTIONS):ax.clear()ax.set_xlim3d(-1, 1)ax.set_ylim3d(-1, 1)ax.set_zlim3d(-1, 1)landmarks = []for index, landmark in enumerate(world_landmarks.landmark):landmarks.append([landmark.x, landmark.z, landmark.y*(-1)])landmarks = np.array(landmarks)ax.scatter(landmarks[:, 0], landmarks[:, 1], landmarks[:, 2], c=np.array(colormap), s=50)for _c in connnection:ax.plot([landmarks[_c[0], 0], landmarks[_c[1], 0]],[landmarks[_c[0], 1], landmarks[_c[1], 1]],[landmarks[_c[0], 2], landmarks[_c[1], 2]], 'k')plt.pause(0.001)#端口号一般是0,除非你还有其他摄像头
#使用本地视频推理,复制其文件路径代替端口号即可
cap = cv2.VideoCapture(0)
with mp_pose.Pose(min_detection_confidence=0.5,min_tracking_confidence=0.5, model_complexity = 1) as pose:fig = plt.figure()ax = fig.add_subplot(111, projection="3d")while cap.isOpened():success, image = cap.read()if not success:print("Ignoring empty camera frame.")# If loading a video, use 'break' instead of 'continue'.continue# To improve performance, optionally mark the image as not writeable to# pass by reference.start = time.time()image.flags.writeable = Falseimage = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)results = pose.process(image)# Draw the pose annotation on the image.image.flags.writeable = Trueimage = cv2.cvtColor(image, cv2.COLOR_RGB2BGR)mp_drawing.draw_landmarks(image,results.pose_landmarks,mp_pose.POSE_CONNECTIONS,landmark_drawing_spec=mp_drawing_styles.get_default_pose_landmarks_style())end = time.time()fps = 1 / (end - start)fps = "%.2f fps" % fps#实时显示帧数image = cv2.flip(image, 1)cv2.putText(image, "FPS {0}".format(fps), (100, 50),cv2.FONT_HERSHEY_SIMPLEX, 0.75, (255, 255, 255),3)   cv2.imshow('MediaPipe Pose', image)if cv2.waitKey(5) & 0xFF == 27:breakif results.pose_world_landmarks:draw3d(plt, ax, results.pose_world_landmarks)cap.release()

六、写在最后

如果有任何问题,欢迎在评论区讨论、赐教。

http://www.dtcms.com/wzjs/590325.html

相关文章:

  • 有了php源码怎么做网站优秀软文营销案例
  • 网站首页页面设计模板淮南app
  • 西安知名的集团门户网站建设费用自贡企业网站建设
  • 南京佛搜做网站公司网站制作 php
  • 郑州网站外包哪家好wordpress数据库写文章
  • 中国小康建设官方网站信息手机网站模板下载
  • 企业门户网站建设 验收php开源网站
  • 团购营销型网站制作快速整站优化
  • 服务器硬件影响网站速度深圳北站网站建设
  • 网站建设歺首选金手指12课工场网站建设培训
  • 电子商务网站域名注册要求优化网站工具
  • 怎么做音乐网站申请免费域名空间
  • 个人网站建设背景和目的做商城网站买多大的空间
  • 中国在数码网站注册域名好 gtqq小程序怎么打开
  • 付费下载网站源码wordpress 花瓣模板
  • 网站设计师如何让客户信任你北京做网站制作的公司哪家好
  • 网站制作关键字排名宁波网站推广优化哪家正规
  • 专业网站建站公司上海网络seo公司
  • 常熟网站优化信誉好的企业网站开发
  • 网站建设有几种方案福州网站建设公司哪家比较好
  • 最方便在线网站开发建网站的客户
  • 如何做自己的业务网站网站优化推广是什么
  • 树莓派 做网站wordpress顺序设置别名
  • 类似携程网的网站石狮网站建设报价
  • python网站开发案例成都响应网站建设
  • 公司做网站的优势做网站必须要切图吗
  • 公司被其它人拿来做网站seo概念的理解
  • 上线了怎么做网站唐河永琚建筑公司网站
  • 我想给企业做网站怎么做建站之星怎么用
  • 网站建设万户如何做垂直网站