Atlas 200DK系统折腾纪实:(7)流媒体人体检测

举报
张辉 发表于 2020/08/28 09:00:59 2020/08/28
【摘要】 RTSP流媒体的搭建与人体视频解析

Part One:

在开始今天的折腾之前,让我们先回顾下上次遗留的问题:当时只能手工在开发板上启动run.sh,才能在Presenter Server上看到被上色的视频。。

这个问题笔者在论坛发了帖子,https://bbs.huaweicloud.com/forum/thread-73593-1-1.html (等候了一阵子之后。。。)得到了 @_xyt 和 @cjl68 两位大大的答复。

里面提到了两种解决方法,参见:https://gitee.com/Atlas200DK/FAQ/blob/c7x/part1/part1-7/part1-7-1.md

笔者用两种方法都试了一下:

(方法一)重启ada

笔者先用root用户重启了ada

image.png

然后重新在MindStudio中跑应用:

image.png

好像报一样的问题。

笔者又重新更新libconf...(方法二)将包含libascendcl.so的路径添加到 /etc/ld.so.conf.d/libc.conf

image.png

然后重新在MindStudio中跑应用:

image.png

好像也不行。

幸好 @_xyt 大大又告诉我,用普通用户重启ada。但是笔者觉得好奇怪,因为开发板都因为断电重启过了,为啥还要重启呢?不管了,既然大大这么说,一定有他的道理。笔者接着又做了尝试:

image.png

然后重新在MindStudio中跑应用:

image.png

居然不报错了。尽管等待run.sh在开发板上跑了半天,一开始笔者也忘记查看在Presenter Server的上色结果,但是机智的笔者总算在结束之前“及时”打开了Presenter Server:

image.png

image.png

 

image.png

是的,“So you're the leader" ——原来你是领导~~ 就是这段1分钟视频的终了。。(笔者特意抓的点,巧不巧?)

等到上色跑完了,原来显示在run.sh后台的那些日志:

model execute success等等(可以参见前面的日志)纷纷在MindStudio的日志窗口显示了出来。

image.png

image.png

笔者在这里还是有点建议,就是 在 0:56:10到0:59:55秒这长达接近3分钟的过程中,MindStudio一直等着,直到后台开发板全部执行完毕run.sh,MindStudio才返回日志结果。这样的感受不利于开发者的体验。ada这玩意儿(不知道为啥起名叫ada)是否应该随时将后台的日志回送给MindStudio更合适点?

毕竟万一推理要花50分钟的话,开发者将会在IDE工具中等半天都不知道咋回事。

另外,笔者尽管在使用方法一和方法二都更新完之后,再断电重启开发板,好像直接run又报错了。

image.png

只有在开发板启动完毕后,手工重启ada,

image.png

而且手工重启时,还报了个init [profiling] failed 的错,但其实是重启起来了:

image.png

这个时候再run就好了:

image.png

笔者将《摩登时代》的视频改为了官方提供的视频:

image.png

也能正常完成上色。

另外,无论重启多少次,ada每次都会报个错(然后启动成功)

image.png

这几个小问题,还是希望官方能够解决下。。。

另外,从画面可以看出,原来作者拍的视频,在上色后变成了7-8fps,原本1分钟(对了,笔者特意掐表录制的视频,而且恰巧掐到了 So you're the leader"这个时候)的视频,转换时间用了2分45秒左右(即165秒),时长是原来的1.75倍。那么,真正的视频上色,如何做到将时间做成跟原来视频一致,而且声音也能放进去,另外如何将这些视频不仅仅在Presenter Server上显示,而且能够保存到视频文件中。。。。笔者带着十万个为什么,走进了下一个折腾主题。。。。(喂~~~醒醒~~~)

 

Part Two:

花开两朵,各表一枝。

话说群里的大大们在笔者折腾入门级博客的同时,早就进入了深层次的应用。这使得小白作者非常的懊恼,总感觉追不上大家的脚步。我曾经跟 @Jokey 大大 说,做完上色就想搞搞rtsp视频分析,但是不知道选择哪个模板。大大提示了2个模板:

image.png

后来(大概几天后吧。。) 水晶大姐大 也在群里贴出了一个支持多路视频的案例链接:https://developer.huaweicloud.com/techfield/ascend.htmldeveloper/case-studie 

image.png

是的,这就是典型的**检测案例。我们点开码云的链接(github一如既往的无法显示图片)https://gitee.com/Atlas200DK/sample-videoanalysisperson/tree/1.3x.0.0/ 就可以看到工程代码了。

这是案例的说明文字:

开发者将本Application部署至Atlas 200 DK或者AI加速云服务器上实现对本地mp4文件或者RTSP视频流进行解码,对视频帧中的行人和人脸进行检测并对其属性进行预测,生成结构化信息发送至Server端进行保存、展示的功能。

这是案例的部署架构图:

image.png

而这是系统的原理图:

image.png

 

根据案例本身需要ddk这一前提,以及可以用faster-deploy来快速部署来看,18.04.1的版本笔者怕自己hold不住。所以在跟水大大分析完利弊之后,果断地断电、换卡、切回到16.04系统。(记得开发板和虚拟机都要切回到16.04)

image.png

由于笔者的机智,16G的卡是16.04,32G的卡是18.04。笔者还翻箱倒柜拿出多年不用的小米插座,用来在不拔电源的情况下,通过按钮去将开发板关机。

当然,关机之前笔者也需要首先通过以下方式关机:

su - root

输入口令Mind@123

sync

sync

haltsys

这样子,也许就能提升SD卡的使用寿命吧。。。笔者天真地这么想。。。

 

好了,一切准备就绪,开(始)折(腾)吧~~

首先,根据手册提示,如果要使用rtsp,可以使用live555制作rtsp视频流。并且用vlc播放。先来搞定这个:

我们到live555的官方网站

image.png

点击Live555 Media Server:

image.png

选择最新版的live**.gz文件:(可以在文件右键复制链接地址)

然后到虚拟机的终端中,执行以下命令:

image.pngimage.png

然后进行解压 tar xvzf live*.gz

image.png

进入解压后的目录:

cd live

执行生成makefile

image.png

再执行make编译源代码:

image.png

等待编译结束:

image.png

当然,在编译的过程中,不会一下子就成功地跳到结束的,生活总会让你折腾一下:

比如,在编译的时候报了找不到openssl的错。当然这依然难不倒痛恨度娘却离不开度娘的你:

装个libssl-dev就解决了!

image.png

编译完毕之后,别忘了把555网站的一些例子也下载下来,就是前面那个文件列表中,有264,265和aac的目录,下载方式同样,这里不赘述(好像你现在没赘似的。。)

笔者贴一个具体下载test.264的截屏:

image.png

将这几个文件拷贝到 $HOME/live/mediaServer目录下:

image.png

然后我们启动555吧。。。

image.png

可见,555已经在8554端口等着了:rtsp://192.168.40.128:8554/<filename>

下面再让我们搞定vlc player吧.

vlc可以在windows上装,也可以在虚拟机ubuntu上装,笔者为了图省事,也怕安装vlc搞出病毒来,据说最近勒索病毒很厉害。没事就锁住你的文件,让你给钱后才给你解锁。。。

笔者果断选择了同样痛恨且离不开的工具:360软件管家。

image.png

等它慢慢安装:

image.png

image.png

并成功启动:

image.png

这时,输入rtsp地址:

image.png

rtsp流就可以打开了:

image.png

好了,前提条件都已具备。我们去虚拟机开干吧!

 

使用faster-deploy安装sample-videoanalysisperson工程:

选择2:c++

选择3: sample-videoanalysisperson

image.png

耐心等待安装完毕。

打开MindStudio(这可是老版本的哦。。。)打开工程

修改param_config.conf文件,将video_path_of_host清空,因为笔者并没有一个person.mp4文件。

同时将rtsp_video_stream设成前面能够成功连接的rtsp地址:rtsp://192.168.158.123:8554/test.264

(这里需要重点注意一下,windows下笔者是通过 虚拟机的网卡地址 192.168.40.128访问的,但是开发板只有192.168.158.2地址,所以对于开发板而言,这个地址需要配成 跟开发板同网段的 192.168.158.123的地址。端口号不变)——既然重要,就手工加红加粗。

image.png

然后咱们需要到后台去执行deploy脚本:

image.png

 

咦,怎么出错了?看日志:ascend_ddk下载的目录明明叫做ffmpeg,你个shell非要去FFmpeg-n4.1.2目录下去找文件,当然没有了。。。相比又是996或者007的昇腾华为员工一不小心制造出来的bug(作为低一等的非大厂程序员,我保证自己出的bug比菊花厂的还多。。。)

image.png

快速解决吧:

cp -r ffmpeg FFmpeg-n4.1.2

也就是拷贝这个目录,改名成shell所需要的目录名:(机智如我~~)

image.png

咱们重新执行deploy.sh(这个时候记得开发板跟虚拟机要通)

image.png

如我所愿,成功了!

来进行编译吧:

image.png

到工程目录启动PresenterServer:

image.png

打开浏览器的这个链接:

image.png

让我们愉快的运行吧:

image.png

 

系统停在以下画面,也不知道在干吗...

image.png

其实内心(开发板)已经波涛汹涌。。。

只是你没看Presenter Server而已:

image.png

从这点可以看出,如果MindStudio及时反馈出开发板的处理,那将会多么完美(处女座的基本要求。。。)

这里生成了160张照片,并不是所有照片都把人解析出来了:

image.png

image.png

(看来大头不解析是Hilens和atlas 200DK的共性)

也不是一张照片的人都解析出来了:

image.png

 

但是,能解析出来的结果还是比较美好的:

image.png

image.png

person1:是人的可能性是 99.8%。 另外0.2%可能是 外星人。。。

image.pngimage.pngimage.png

年龄在16-30岁之间,左边的属性和右边的值错位了。(麻烦大大改一下bug)。。也不知道啥对啥。。。

反正有以下属性(笔者自己挪动位置的,如果出错算官方的。。。)

age16-30:  99.0%

backpack:83.2%

Casual lower:82.6%

Casual upper:51.4%

Female:97.7%

Long hair:73.8%

No accessory:91.1%

Trousers:90.6%

V-Neck:69.3%

目测这个典型的模型,把性别算错了。。。。这人显然是个长发男。

让笔者把运行完毕的截图贴一下:(截图不易,且行且珍惜)

image.png

 

好了。关于通过rtsp流采集视频并进行视频分析,检测人的各种属性的应用就折腾到这里。。。。虽然略有bug,略有遗憾,总归做成了一件实际的大事。

下面该干啥,笔者也要好好想一想了。。。

 

附上历史折腾清单:

华为Atlas 200DK初体验——写在昇腾新品发布的第二天  https://bbs.huaweicloud.com/blogs/193847

Atlas 200DK系统折腾纪实:(1)论图片及18.04.1的诞生  https://bbs.huaweicloud.com/blogs/194291

Atlas 200DK系统折腾纪实:(2)视频的诞生 https://bbs.huaweicloud.com/blogs/194641

Atlas 200DK系统折腾纪实:(3)强大的yolo3物体检测——你想看的内容已被系统提取 https://bbs.huaweicloud.com/blogs/194816

Atlas 200DK系统折腾纪实:(4)18.04.1的软件安装及双系统切换验证 https://bbs.huaweicloud.com/blogs/195227

Atlas 200DK系统折腾纪实:(5)Atlas让黑白照片原彩重现 https://bbs.huaweicloud.com/blogs/195391

 

Atlas 200DK系统折腾纪实:(6)Atlas让黑白视频原彩重现 https://bbs.huaweicloud.com/blogs/195590

 

(全文完,谢谢阅读)

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。