一、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. vue-router之路由元信息

    路由元信息?(黑人问号脸???)是不是这么官方的解释很多人都会一脸懵?那么我们说meta,是不是很多人恍然大悟,因为在项目中用到或者看到过呢? 是的,路由元信息就是我们定义路由时配置的meta字段:那 ...

  2. Scrapy项目 - 数据简析 - 实现豆瓣 Top250 电影信息爬取的爬虫设计

    一.数据分析截图(weka数据分析截图 ) 本例实验,使用Weka 3.7对豆瓣电影网页上所罗列的上映电影信息,如:标题.主要信息(年份.国家.类型)和评分等的信息进行数据分析,Weka 3.7数据分 ...

  3. linux centos安装zabbix 4.0服务端

    1.服务器安装docker sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config-manag ...

  4. restapi(7)- 谈谈函数式编程的思维模式和习惯

    国庆前,参与了一个c# .net 项目,真正重新体验了一把搬砖感觉:在一个多月时间好像不加任何思考,不断敲键盘加代码.我想,这也许是行业内大部分中小型公司程序猿的真实写照:都是坐在电脑前的搬砖工人.不 ...

  5. vimrc配置文件

    目录 vimrc配置文件 参考 主要功能 使用方法 配置文件 文件下载 vimrc配置文件

  6. springboot与docker整合

    一.springboot与docker整合 a.创建Dockerfile FROM java MAINTAINER "Wing"<1561815137@qq.com> ...

  7. 一步一步剖析Dictionary实现原理

    本文是对c#中Dictionary内部实现原理进行简单的剖析.如有表述错误,欢迎指正. 主要对照源码来解析,目前对照源码的版本是.Net Framwork 4.8,源码地址. 1. 关键的字段和Ent ...

  8. [Scrapy] Some things about Scrapy

    1. Pause and resume a crawl Scrapy supports this functionality out of the box by providing > the ...

  9. SpringBootSecurity学习(21)前后端分离版之OAuth2.0非对称加密

    JWT转换器 前面的例子中,都是在授权服务配置类中配置了一个很简单的jwt转换器,如下: 可以看到我们只用setSigningKey方法配置了一个秘钥,这里使用的是简单的对称加密的方式来加密jwt内容 ...

  10. 线程、进程概念与Android系统组件的关系

    Android系统是Google公司基于Linux内核开发的开源手机操作系统.通过利用 Linux 内核的优势,Android 系统使用了大量操作系统服务,包括进程管理.内存管理.网络堆栈.驱动程序. ...