请选择 进入手机版 | 继续访问电脑版
您好!欢迎来到标注信息网-专业的网赚数据标注信息发布平台
关注我们
扫码关注官方微信
手机版
手机扫描直接访问
统计信息

用 TensorFlow Lite 在安卓系统上实时人体姿态跟踪

[复制链接]
标注信息网 发表于 2019-8-28 21:22:53 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
咱们很雀跃公布一个TensorFlowLite样本运用法式,用于在Android上应用PoseNet模子举行人体姿势预计。PoseNet是一种视觉模子,经历检验环节身材部位的地位来预计人在图像或视频中的架势。比方,模子能够预计一片面的肘部和/或膝盖在图像中的地位。架势预计模子不辨认图像中的人,只辨认环节身材部位的地位。
TensorFlowLite正在分享一个Android示例运用法式,该运用法式行使建筑的录像头及时检验和表现片面的环节身材部位。这里稽查源代码!

​

为何这使人愉快?
姿势预计有良多大概性。举几个例子,开辟职员能够基于身材图像的加强实际动画电脑图形字符,并阐发行动员在行动中的步态。在GoogleI/O ‘ 19上,TensorFlow Lite展现了一款名为Dance Like的运用法式,它能够赞助用户进修若何应用PoseNet模子舞蹈。
这个示例运用法式将使运用法式开辟职员和机械进修专家更轻易地索求轻量级挪动模子的大概性。

PoseNet示例运用法式
与现有的用Java编写的Android示例比拟,PoseNet示例运用法式是用Kotlin开辟的。开辟该运用法式的目标是使任何人都能够放松地应用PoseNet模子,而开支非常小。示例运用法式包括一个PoseNet库,它空洞了模子的繁杂性。下图表现了运用法式、PoseNet库和TensorFlow Lite库之间的事情流。



PoseNet运用事情流

PoseNet藏书楼
PoseNet库供应了一个接口,该接口汲取经由处分的录像机图像,并回笼相关人体环节部位地位的信息。此功效由estimateSinglePose()供应,该方式在已处分的RGB位图上运转TensorFlow Lite注释器并回笼Person工具。本页面注释若何注释PoseNet的输入和输出。
[size=1em][size=1em]
1
// Estimate the body part positions of a single person.

[size=1em]
2
// Pass in a Bitmap and obtain a Person object.

[size=1em]
3
estimateSinglePose(bitmap: Bitmap): Person {...}




Person类包括环节身材片面的地位及其关联的相信度。一片面的相信度得分是每个环节点的相信度得分的平衡值,显露环节点在该地位存在的概率。
[size=1em][size=1em]
1
// Person class holds a list of key points and an associated confidence score.

[size=1em]
2
class Person {

[size=1em]
3
  var keyPoints: List<KeyPoint> = listOf<KeyPoint>()

[size=1em]
4
  var score: Float = 0.0f

[size=1em]
5
}




每个环节点都包括对于某个身材部位地位的信息以及该环节点的相信度得分。全部界说的环节点的列表都能够在这里走访。
[size=1em][size=1em]
01
// KeyPoint class holds information about each bodyPart, position, and score.

[size=1em]
02
class KeyPoint {

[size=1em]
03
  var bodyPart: BodyPart = BodyPart.NOSE

[size=1em]
04
  var position: Position = Position()

[size=1em]
05
  var score: Float() = 0.0f

[size=1em]
06
}

[size=1em]
07

[size=1em]
08
// Position class contains the x and y coordinates of a key point on the bitmap.

[size=1em]
09
class Position {

[size=1em]
10
  var x: Int = 0

[size=1em]
11
  var y: Int = 0

[size=1em]
12
}

[size=1em]
13

[size=1em]
14
// BodyPart class holds the names of seventeen body parts.

[size=1em]
15
enum class BodyPart {

[size=1em]
16
  NOSE,

[size=1em]
17
  LEFT_EYE,

[size=1em]
18
  RIGHT_EYE,

[size=1em]
19
  ...

[size=1em]
20
  RIGHT_ANKLE

[size=1em]
21
}




PoseNet示例运用法式
PoseNet示例运用法式是一款建筑上的相机运用法式,它能够从相机捕获帧,并及时笼盖图像上的环节点。
运用法式对每个传入的相机图像实行如下步调:
1、从相机预览中捕获图像数据,并将其从YUV_420_888转换为ARGB_888花样。
2、建立一个位图工具来留存RGB花样帧数据中的像素。裁剪位图并将其缩放到模子输入大小,以便将其相传给模子。
3、从PoseNet库挪用estimateSinglePose()函数来获得Person工具。
4、将位图缩放到屏幕大小。在画布工具上绘制新的位图。
5、应用从Person工具获得的环节点的地位在画布上绘制骨架。表现相信度得分高于某个阈值的环节点,默许值为0.2。
为了使姿势衬着与录像机帧同步,输出表现应用了单个SurfaceView,而不是独自的姿势和录像机视图实例。SurfaceView经历在视丹青布上获得、锁定和绘制来确保将surface绝不耽误地放到屏幕上。

在运转建筑上
咱们策动您经历从GitHub下载源代码并参考README打听若何运转该运用法式来试用该运用法式。

在门路图上
在来日,咱们有望为这个示例运用索求更多的功效,包括:
1、Multi-pose预计
2、GPU加快与GPU拜托
3、应用NNAPI拜托加快NNAPI
4、练习后的量化模子,以削减耽误
5、附加的模子选项,如ResNet PoseNet模子
很雀跃在这个炎天开辟PoseNet示例运用法式!咱们有望这个运用法式能让建筑上的机械进修变得更轻易。要是您应用该运用法式,请应用#TFLite、#TensorFlow和#PoweredByTF与咱们分享。
作者:Eileen Mao和Tanjin Prity,google工程练习生,今年年夏日公布。
1.jpg
2-3.jpg
回复

使用道具 举报

精彩评论6

xid0ot8 发表于 2019-8-29 12:43:04 | 显示全部楼层
在一辆拥堵的公车上,一名女郎溘然叫了起来:别挤啦!别挤啦!把人家的奶都挤出来啦!(她拿着酸奶呢)。   
回复 支持 反对

使用道具 举报

liyangang201 发表于 2019-8-29 18:31:29 | 显示全部楼层
毛病与补丁齐飞,蓝屏共死机一色!   
回复 支持 反对

使用道具 举报

deddo9t 发表于 2019-8-29 20:24:05 | 显示全部楼层
我本非任意的人,但如果你想任意,那我就随你的便好啦!   
回复 支持 反对

使用道具 举报

风荷璎姿 发表于 2019-8-30 14:23:22 | 显示全部楼层
我稀饭孩子,更稀饭造孩子的历程!   
回复 支持 反对

使用道具 举报

爱你的枫叶 发表于 2019-8-31 08:01:28 | 显示全部楼层
我的id是冒充的,朋友们不要信赖我是骗纸。   
回复 支持 反对

使用道具 举报

qddp60g 发表于 2019-9-1 05:30:12 | 显示全部楼层
看帖回帖是美德!:lol
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子1652

发布主题
  • 资讯·新闻·生活信息
  • 快扫一扫关注我们
  • 关注有好礼,千元礼券任性送
最新发帖