作者:wangwei8638

人体关键点识别能够检测图像中的人体并返回人体矩形框位置,精准定位21个核心关键点,包含头顶、五官、颈部、四肢主要关节部位,支持多人检测、大动作等复杂场景。本文以瑜伽动作为例,根据人体关键点信息,分析人体姿态、动作是否标准,辅助人体塑形。

一.平台接入

此步骤比较简单,不多阐述。可参照之前文档:

https://ai.baidu.com/forum/topic/show/943162

二.分析接口文档

1.打开API文档页面,分析接口要求

https://ai.baidu.com/docs#/Body-API/b717c300

(1)接口描述

对于输入的一张图片(可正常解码,且长宽比适宜),检测图片中的所有人体,输出每个人体的21个主要关键点,包含头顶、五官、脖颈、四肢等部位,同时输出人体的坐标信息和数量。

支持多人检测、人体位置重叠、遮挡、背面、侧面、中低空俯拍、大动作等复杂场景。

21个关键点的位置:头顶、左耳、右耳、左眼、右眼、鼻子、左嘴角、右嘴角、脖子、左肩、右肩、左手肘、右手肘、左手腕、右手腕、左髋部、右髋部、左膝、右膝、左脚踝、右脚踝。

(2)请求说明

需要用到的信息有:

请求URL:https://aip.baidubce.com/rest/2.0/image-classify/v1/body_analysis

Header格式:Content-Type:application/x-www-form-urlencoded

Body中放置请求参数,参数详情如下:

(3)返回参数

2.获取access_token

# encoding:utf-8import base64import urllibimport urllib2request_url = " https://aip.baidubce.com/rest/2.0/image-classify/v1/body_analysis "# 二进制方式打开视频文件f = open('[本地文件]', 'rb')img = base64.b64encode(f.read()) params = {"data": data }params = urllib.urlencode(params)access_token = '[调用鉴权接口获取的token]'request_url = request_url + "?access_token=" + access_tokenrequest = urllib2.Request(url=request_url, data=params)request.add_header('Content-Type', 'application/x-www-form-urlencoded')response = urllib2.urlopen(request)content = response.read()if content:print content

三.识别结果

  1. 单人正面

    识别结果:正确

  2. 多人正面

    识别结果:正确

  3. 单人侧面

    返回结果:

{ “person_num”: 2, “person_info”: [ { “body_parts”: { “left_hip”: { “y”: 595.5, “x”: 386.21875, “score”: 0.66870158910751 }, “top_head”: { “y”: 340.21875, “x”: 325.4375, “score”: 0.68663144111633 },……}

  1. 多人侧面

    识别结果:正确

  2. 单人背面

    返回结果:

{ “person_num”: 2, “person_info”: [ { “body_parts”: { “left_hip”: { “y”: 513.1875, “x”: 510.6875, “score”: 0.75093376636505 }, “top_head”: { “y”: 318.9375, “x”: 510.6875, “score”: 0.78111505508423 },……}

6.多人复杂情况

返回结果:

{ “person_num”: 5, “person_info”: [ { “body_parts”: { “left_hip”: { “y”: 715.875, “x”: 212.6875, “score”: 0.51720798015594 }, “top_head”: { “y”: 556.125, “x”: 285.90625, “score”: 0.73297417163849 },……}

返回结果:

{ “person_num”: 6, “person_info”: [ { “body_parts”: { “left_hip”: { “y”: 254.15625, “x”: 259.8125, “score”: 0.61026680469513 }, “top_head”: { “y”: 92.0625, “x”: 321.5625, “score”: 0.80025953054428 },……}

结论:

识别结果方面:分别从前方、侧方、后方几个角度拍摄的照片进行测试,人体关键点识别标注结果比较准确。存在问题是侧方、后方拍摄角度和多人情况下,识别返回人数有错误。

四.源码共享

# -*- coding: utf-8 -*-
#!/usr/bin/env python
import urllib
import urllib.parse
import urllib.request
import base64
import json
import time
#client_id 为官网获取的AK, client_secret 为官网获取的SK
client_id = '*******************'
client_secret = '*****************************'#获取token
def get_token():host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' + client_id + '&client_secret=' + client_secretrequest = urllib.request.Request(host)request.add_header('Content-Type', 'application/json; charset=UTF-8')response = urllib.request.urlopen(request)token_content = response.read()if token_content:token_info = json.loads(token_content.decode("utf-8"))token_key = token_info['access_token']return token_key# 读取图片
def get_file_content(filePath):with open(filePath, 'rb') as fp:return fp.read()#获取人体关键点信息
def get_license_plate(path):request_url = "https://aip.baidubce.com/rest/2.0/image-classify/v1/body_analysis"f = get_file_content(path)access_token=get_token()img = base64.b64encode(f)params = {"custom_lib": False, "image": img}params = urllib.parse.urlencode(params).encode('utf-8')request_url = request_url + "?access_token=" + access_tokentic = time.clock()request = urllib.request.Request(url=request_url, data=params)request.add_header('Content-Type', 'application/x-www-form-urlencoded')response = urllib.request.urlopen(request)content = response.read()toc = time.clock()print('处理时长: '+'%.2f'  %(toc - tic) +' s')if content:license_plates = json.loads(content.decode("utf-8"))strover = '识别结果:'print (license_plates)return contentelse:return ''image_path='F:\paddle\man\s1.jpg'
get_license_plate(image_path)

快速上手百度大脑人体关键点识别相关推荐

  1. 详细功能描述及代码带您快速接入百度大脑通用文字识别

    作者:才能我浪费99 1.功能描述: 基于深度学习及大规模图像训练,准确识别图片中的物体.场景信息.可以应用于: 相关内容及广告推荐:对用户浏览网页中图片进行分析,识别图片内容给出相关内容推荐或广告展 ...

  2. 快速接入百度大脑出租车票识别

    作者:才能我浪费99 1.功能描述: 支持识别全国各大城市出租车票的6个关键字段,包括发票号码.代码.车号.日期.时间.金额.使用出租车票识别技术,实现对发票号码.日期.时间.金额等信息的自动识别和录 ...

  3. 快速上手百度大脑驾驶行为分析

    作者:wangwei8638 针对车载场景,识别驾驶员使用手机.抽烟.不系安全带.双手离开方向盘等动作姿态,分析预警危险驾驶行为,提升行车安全性. 一.平台接入 此步骤比较简单,不多阐述.可参照之前文 ...

  4. 【百度大脑新品体验】人体关键点识别

    [百度大脑新品体验]人体关键点识别 作者:才能我浪费99 1.功能描述: 检测图像中的人体并返回人体矩形框位置,精准定位21个核心关键点,包含头顶.五官.颈部.四肢主要关节部位,支持多人检测.大动作等 ...

  5. 百度AI攻略:人体关键点识别

    第四期[百度大脑新品体验]人体关键点识别 1.功能描述: 检测图像中的人体并返回人体矩形框位置,精准定位21个核心关键点,包含头顶.五官.颈部.四肢主要关节部位,支持多人检测.大动作等复杂场景 2.平 ...

  6. 百度大脑人体分析服务3月上新盘点

    近期百度大脑人体分析服务3月上新盘点,多个产品上线.升级,欢迎新老开发者体验.选购: 1. 人体检测与属性识别API及私有化服务升级 新增face_mask字段,增加口罩检测功能,正面.侧面角度抓拍均 ...

  7. 使用百度API进行关键点识别

    在使用百度的AI开放平台时,不熟悉网页请求这类知识,遇到使用不畅的问题,借鉴了网上两个人的经验,最后实现了更直白的代码. 主程序: ''' # 人体关键点识别 ''' import base64 im ...

  8. 国航APP接入百度大脑OCR身份证识别技术,让机票购买更便捷!

    价值成果 中国国航APP通过接入百度大脑OCR身份证识别技术,实现了旅客线上自助修正错购机票信息的功能.购票信息错误的旅客只需在中国国航APP上传身份证照片,即可进行购票身份认证,并立即修正错误信息. ...

  9. MMPose姿态估计+人体关键点识别效果演示

    MMPose--开源姿态估计算法库(附人体关键点识别效果演示) 一.简介 1.1 背景 首先姿态估计属于计算机视觉领域的一个基础研究方向.MMPose是基于Pytorch的姿态估计开源算法库,功能全, ...

最新文章

  1. 智能车竞赛技术报告 | 智能车视觉 - 宜宾学院- 平头哥1组
  2. 052_CSS3 appearance属性
  3. PIC单片机 电容式触摸检测
  4. 学习笔记Hadoop(二)—— Hadoop介绍(2)——Hadoop 核心组件
  5. python居中对齐代码end_Python tkinter.END属性代码示例
  6. javascript中的继承方式
  7. 基于发起源判断CSRF***的方法
  8. scrapy生成json中文为ASCII码解决
  9. 用栈实现计算器c语言报告,利用栈实现c语言计算器
  10. android手机 ipad 同屏,iphone和ipad
  11. nvidia驱动和CUDA的安装
  12. 标准差和标准误的区别
  13. 阳历和农历互相转换的js代码
  14. 地震应急综合解决方案
  15. Oracle数据库CPU使用率过高处理记录
  16. 机器学习算法系列(七)-对数几率回归算法(一)(Logistic Regression Algorithm)
  17. ForgivingExceptionHandler: An unexpected connection driver error occured (Exception message: Socket
  18. java: java mina ——基于TCP/IP、UDP/IP协议栈的通信框架
  19. PHP 实现word在线预览
  20. (附源码)计算机毕业设计SSM旅游足迹分享系统

热门文章

  1. 把多个txt文档合并为一个txt文档并排序
  2. TSN算法的PyTorch代码解读(训练部分)
  3. 最大熵,三硬币模型的R语言代码
  4. Mixly 触摸开关的使用
  5. 考研英语十附双语阅读:按点下班惹非议?一点小花招让你看起来超努力(纯阅读,有些方法不普适)
  6. 中国魔笛痛改前非做好准备 国足不能失去传奇大师
  7. LKJ国锂科技一场影响人类生活的大变革
  8. Web3融入现实就是去中心化Boss直聘
  9. 数据大屏领导驾驶舱大数据分析UI1-4(PSD-持续更新)
  10. SpringBoot时区配置