十一、人体关键点跳跃追踪

2024-05-30 08:26:12 浏览数 (1)

随着深度学习推理技术的不断发展,让小型设备运行深度学习成为可能,阿里体育等IT大厂,推出的“乐动力”、“天天跳绳”AI运动APP,让云上运动会、线上运动会、健身打卡、AI体育指导等概念空前火热。那么,能否将这些在APP成功应用的场景搬上微信小程序,分享这些概念的红利呢?本系列文章就带您一步一步从零开始开发一个AI运动小程序,本系列文章将使用“AI运动识别”小程序插件,插件详情可以前往微信服务市场搜索相应插件。

一、应用场景

在适配诸如跳绳开合眺或动作交互类场景时,需要追踪某些关键点的变化趋势,插件的关键点跳跃追踪能力PointTracker可以追踪指定的关键点的x或y轴变化,趋势变化时将记录变化临界轴值。

二、功能调用

代码语言:javascript复制
const AiSport = requirePlugin("aiSport");
const humanDetection = AiSport.humanDetection;
const PointTracker = AiSport.calc.PointTracker;

const tracker = new PointTracker('nose', 1);//追踪鼻子y轴跳动
tracker.onChange = (pv,cv)=>{
	console.log('趋势变化', pv, cv); //鼻子y轴上次值pv,鼻子y轴当前值cv
};
//抽帧
const context = wx.createCameraContext();
const listener = context.onCameraFrame((frame) => {
	const iamge = {
		width: Number(frame.width),
		height: Number(frame.height),
		rawData: frame.data
	};
	
	//人体识别
	humanDetection.detectionAsync(image).then(human=>{
		if(!human)
			return;
			
		//推入帧数据
		const flag = tracker.tracking(human);
		console.log(flag); //0-平/首次/未检测点位;1-降转升;2-升转降
		console.log(tracker.points); //记录的关键点轴值
		
		
	});
});
listener.start();

0 人点赞