一、demo能力

OpenVINO提供了范例(human_pose_estimation_demo),能够在CPU上以较快速度识别出多人

-iE:/OpenVINO_modelZoo/head-pose-face-detection-female-and-male.mp4 -mE:/OpenVINO_modelZoo/human-pose-estimation-0001.xml -d CPU

基于这篇论文:

参考文档:
https://docs.openvinotoolkit.org/latest/_demos_human_pose_estimation_demo_README.html
二、抽取18个点,做简单的越界分析
既然以及能够从视频中抽取人体骨骼,并且对应18个数据点
那么就能够做定量分析。
对于这个视频,使用MarkMan能够测量出关键领域的位置,那么最简单的想法就是首先获得“人的中心”这个点,当这个点位于敏感区域的时候进行报警。
但是这种方法很粗糙,我们希望得到的是这个敏感区域里面,没有人体的任何一个位置,因此首先对所有的点进行排序,而后判断
];
std].x ].x ))
{
    std, ),
    cv, cv, , ));
}
这样就能够好许多。
三、更接近实际的情况
前面的情况还是过于简单,这个视频更接近实际情况
比如地上有这条安全线,倾斜的,就是不能越过,应该如何来处理?
首先还是量出这条线(固定物镜关系),并且我们能够绘制出这条线;
下面,首先要做一个简单的数学复习
K = (y1-y2)/(x1-x2),当K1>K2的时候点在左边,而在左边灰色区域的时候,绝对在左边,在右边蓝色区域的时候,绝对在右边。
据此编写函数
)
        return false;
    if (point.x <= PointLineLeft.x)
        return true;
    if (point.x > PointLineRight.x)
        return false;
    //在边界内的情况,通过计算斜率
    if (PointLineRight.x == PointLineLeft.x)
        assert("error PointLineRight.x == PointLineLeft.x");
    
    float kLine = (PointLineRight.y - PointLineLeft.y) / (PointLineRight.x - PointLineLeft.x);
    float k = (point.y - PointLineLeft.y) / (point.x - PointLineLeft.x);
    return (k >= kLine);
}
并且分别对两个脚进行处理
     bRight , ), cv, image.rows ));
     bLeft  , ), cv, image.rows ));
 
加上一些图像绘制
 
    , ), cv, image.rows ), cv, , ), );
            }
            , ), cv, image.rows ), cv, , ), );
            }
能够得到这样的结果:
四、存在的问题
做到这一步,看起来问题得到了很好的解决,但是实际上还是出现了新的问题:
1、速度。目前只能做到8-9FPS,如何提高速度是不卡视频输入是新问题;
2、多人的识别;
3、区域的划定;
4、界面操作。
这些问题都解决好,应该能够商用,最主要的是速度问题。
感谢阅读至此,希望有所帮助。

human_pose_estimation_demo的进一步研究的更多相关文章

  1. human_pose_estimation_demo的再进一步研究

    这次研究的主要是速度问题,后来还获得了其它方面的收获. 1.原始的抽帧       对于这样一个问题,想提高速度,能够想到的最简单.最直接的方法就是“抽帧”.比如添加一个计数器 这里,只有当Sumof ...

  2. lnmp+discuz使用redis缓存(待进一步研究)

    一直说Redis.Redis缓存.一直不清楚怎么用.于是花点时间研究了一下,但是还没搞懂.先把大概内容记录一下,待后续继续学习 1.首先部署lnmp环境,这个我的博客有些,请自行搜索 2.给php添加 ...

  3. 对View的onMeasure()方法的进一步研究

    在Android开发中,很多人对自定义View是望而生畏,但这又是向高级进阶的必经之路,主要是对View里面的很多方法不知道怎么理解,其中一个就是onMeasure()方法. 首先,我自定义一个MyV ...

  4. 架构体系需要进一步研究探索的V2路线图

    https://github.com/dawnbreaks/mysql2redis/blob/master/README.md http://blog.163.com/zhangjie_0303/bl ...

  5. opencv的实用研究--分析轮廓并寻找边界点

    opencv的实用研究--分析轮廓并寻找边界点 ​      轮廓是图像处理中非常常见的.对现实中的图像进行采样.色彩变化.灰度变化之后,能够处理得到的是“轮廓”.它直接地反应你了需要分析对象的边界特 ...

  6. lncRNA研究

    ------------------------------- Long noncoding RNAs are rarely translated in two human cell lines. ( ...

  7. 【原创】ORA-04068: 已丢弃程序包 的当前状态研究

    不久前在市检的生产环境上有个存储过程执行报错,错误信息如下: ORA: 已丢弃程序包 的当前状态 ORA: package "ZHANGXSH.PR_TEST" 的当前状态失效 O ...

  8. 车牌识别LPR(一)-- 研究背景

    在年尾用了几天的时间将2014年的所有工作都总结了一遍,将之前的文档综合了下. 以下是LPR系统,车牌识别的一些总结资料. 第一篇:LPR研究背景 汽车的出现改变了以往出行徒步和以马代步的时代,极大地 ...

  9. EZ-USB FX2(68013)固件研究

    原始资料来自网络 整理日: 2015年2月12日 1. Welcome 算是给所有正在学习USB,还徘徊着不得其门而入的朋友一个入门的契机吧,我也深知入门的痛苦,有些人入门就是抱着那什么USB协议,包 ...

随机推荐

  1. 品Spring:负责bean定义注册的两个“排头兵”

    别看Spring现在玩的这么花,其实它的“筹码”就两个,“容器”和“bean定义”. 只有先把bean定义注册到容器里,后续的一切可能才有可能成为可能. 所以在进阶的路上如果要想走的顺畅些,彻底搞清楚 ...

  2. js数组的增删改查

    array 数组的增删改: push 从数组后面推入一个元素或多个元素 var arr = [1,2,3]; ​ // 返回:修改后数组的长度 arr.push(4,5,6); pop 删除数组最后一 ...

  3. OpenGl 实现鼠标分别移动多个物体 ----------移动一个物体另外一个物体不动--读取多个3d模型操作的前期踏脚石

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/11620088.html 前言: 因为接下来的项目需求是要读取多个3D模型,并且移动拼接,那么我 ...

  4. yii2 验证规则使用方法

    required : 必须值验证属性 [['字段名'],required,'requiredValue'=>'必填值','message'=>'提示信息']; #说明:CRequiredV ...

  5. 如何将腾讯视频的qlv格式转换为mp4格式

    基本上每个视频app都会有自己固有的视频播放格式,比如优酷的KUX.爱奇艺的QSV和腾讯的QLV等.而今天我们重点介绍腾讯的QLV格式如何转换为MP4格式,小便也是经过多次的摸索多次的软件试用,发现的 ...

  6. 品Spring:对@Autowired和@Value注解的处理方法

    在Spring中能够完成依赖注入的注解有JavaSE提供的@Resource注解,就是上一篇文章介绍的. 还有JavaEE提供的@javax.inject.Inject注解,这个用的很少,因为一般都不 ...

  7. 在ZYBO板卡上实现PL-PS交互(通过AXI的方式)

    前情提要:参考的是下面所说的原网页,只是原作者用的是vivado 2014.4,我用vivado 2018.2跑的,图是新的,内容大多“换汤不换药”,但是我在做的时候存在一些问题,我记录了下来并将解决 ...

  8. Android资源管理利器Resources和AssetManager

    前言  : Android工程在运行的时候往往需要引用资源.使用 Resources 来获取 res 目录下的各种与设备相关的资源.而使用 AssetManager 来获取 assets 目录下的资源 ...

  9. Java读源码之Thread

    前言 JDK版本:1.8 阅读了Object的源码,wait和notify方法与线程联系紧密,而且多线程已经是必备知识,那保持习惯,就从多线程的源头Thread类开始读起吧.由于该类比较长,只读重要部 ...

  10. MongoDB 走马观花(全面解读篇)

    目录 一.简介 二.基本模型 BSON 数据类型 分布式ID 三.操作语法 四.索引 索引特性 索引分类 索引评估.调优 五.集群 分片机制 副本集 六.事务与一致性 一致性 小结 一.简介 Mong ...