欢迎光临江南体育登录入口

办公电话:0592-2980333

产品中心

【壹零学院】用MediaPipe视觉辨认制造健身计数器

来源:江南体育登录入口    发布时间:2024-01-10 13:08:35
A-A+
内容详情

  运用MediaPipe辨认人体33个要害点的姿态侦测,再结合一些相邻要害点连线求夹角,终究经过对应夹角度数的巨细来判别某些预订的健身动作是否有用并进行计数输出,完结健身计数器的简易计数功用。

  以简略的双手握举哑铃和双腿深蹲(或是高抬腿)为例,在进行姿态侦测时要运用到四组三个点,别离是:11、13和15对应左肘,12,14和16对应右肘,23、25和27对应左膝,24、26和28对应右膝。假如每组三个点所构成的夹角度数在30度之内,则判别握举哑铃或高抬腿动作有用,对应的计数器进行“加1”操作(如图1)。

  与之前运用MediaPipe进行姿态侦测相同,别离树立变量mp_pose、mp_drawing和pose,完结人体姿态侦测模型的导入等操作;相同,树立变量camera并赋值为“cv2.VideoCapture(0)”来调用摄像头;树立列表变量key_points,赋值为“[11,13,15,12,14,16,23,25,27,24,26,28]”,顺次对应左肘、右肘、左膝和右膝的三个要害点序号;树立count_L_elbow、count_R_elbow、count_L_knee和count_R_knee四个变量,一起均赋值为0,对应各自部位的计数器(即初始化计数为0);此刻必需要处理“动作到位后从始至终坚持但计数不能重复添加”的问题,办法是树立flag_L_elbow、flag_R_elbow、flag_L_knee和flag_R_knee四个标识变量,一起均赋值为1,只有当动作有用而且对应的flag标识变量为1时才会将计数加1,每次加1后再将flag标识变量重置为0。

  别离结构四组内嵌if的“if…else…”挑选结构,对应四个部位夹角度数是否在30度以内的判别,仍以左肘为例:假如“if left_elbow=30:”条件建立,而且对应的标志变量值为1(“if flag_L_elbow==1:”),则先进行相对有用计数加1:“count_L_elbow+=1”,再进行标志变量赋值为0的操作:“flag_L_elbow=0”;外层else所对应句子是“flag_L_elbow=1”,作用是将标志变量赋值为1。在四组夹角巨细的判别之后,再经过四组cv2.putText句子将各自的动作称号及计数值别离以赤色、黄色、绿色和蓝色显现在画面的右上方;相同,添加程序退出呼应、摄像头资源的开释以及窗口的封闭等句子(如图4)。

  将程序保存为Sports_Counter.py,按F5键来测验,在摄像头前别离尝试做左右手哑铃的握举动作,也能够同步再进行高抬腿或是深蹲动作。此刻会在摄像头的Camera窗口实时监测显现有人体33个要害点及连线的姿态侦测,右上角则会跟着各种健身动作的有用到位进行实时计数,从上到下顺次对应左右手握举哑铃和左右腿的高抬腿动作的完结数量。假如某个动作不到位(未到达设定的30度或60度阈值),计数器会坚持之前的数值不变;假如某个动作现已到位但从始至终坚持为有用状况不变,计数器所显现的数值也不会一向继续添加(如图5)。

  壹零社:用图文、视频记载科技互联网新鲜事、电商日子、云核算、ICT范畴、消费电子,商业故事。《我国知网》每周全文录入;我国科技报刊100强;2021年微博百万粉丝沙龙成员;2022年抖音优质科技内容创作者

咨询热线 0592-2980333

官方微信公众号

扫一扫官方微信