Atlas 200DK系统折腾纪实:(7)流媒体人体检测
Part One:
在开始今天的折腾之前,让我们先回顾下上次遗留的问题:当时只能手工在开发板上启动run.sh,才能在Presenter Server上看到被上色的视频。。
这个问题笔者在论坛发了帖子,https://bbs.huaweicloud.cn/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
然后重新在MindStudio中跑应用:
好像报一样的问题。
笔者又重新更新libconf...(方法二)将包含libascendcl.so的路径添加到 /etc/ld.so.conf.d/libc.conf
然后重新在MindStudio中跑应用:
好像也不行。
幸好 @_xyt 大大又告诉我,用普通用户重启ada。但是笔者觉得好奇怪,因为开发板都因为断电重启过了,为啥还要重启呢?不管了,既然大大这么说,一定有他的道理。笔者接着又做了尝试:
然后重新在MindStudio中跑应用:
居然不报错了。尽管等待run.sh在开发板上跑了半天,一开始笔者也忘记查看在Presenter Server的上色结果,但是机智的笔者总算在结束之前“及时”打开了Presenter Server:
是的,“So you're the leader" ——原来你是领导~~ 就是这段1分钟视频的终了。。(笔者特意抓的点,巧不巧?)
等到上色跑完了,原来显示在run.sh后台的那些日志:
model execute success等等(可以参见前面的日志)纷纷在MindStudio的日志窗口显示了出来。
笔者在这里还是有点建议,就是 在 0:56:10到0:59:55秒这长达接近3分钟的过程中,MindStudio一直等着,直到后台开发板全部执行完毕run.sh,MindStudio才返回日志结果。这样的感受不利于开发者的体验。ada这玩意儿(不知道为啥起名叫ada)是否应该随时将后台的日志回送给MindStudio更合适点?
毕竟万一推理要花50分钟的话,开发者将会在IDE工具中等半天都不知道咋回事。
另外,笔者尽管在使用方法一和方法二都更新完之后,再断电重启开发板,好像直接run又报错了。
只有在开发板启动完毕后,手工重启ada,
而且手工重启时,还报了个init [profiling] failed 的错,但其实是重启起来了:
这个时候再run就好了:
笔者将《摩登时代》的视频改为了官方提供的视频:
也能正常完成上色。
另外,无论重启多少次,ada每次都会报个错(然后启动成功)
这几个小问题,还是希望官方能够解决下。。。
另外,从画面可以看出,原来作者拍的视频,在上色后变成了7-8fps,原本1分钟(对了,笔者特意掐表录制的视频,而且恰巧掐到了 So you're the leader"这个时候)的视频,转换时间用了2分45秒左右(即165秒),时长是原来的1.75倍。那么,真正的视频上色,如何做到将时间做成跟原来视频一致,而且声音也能放进去,另外如何将这些视频不仅仅在Presenter Server上显示,而且能够保存到视频文件中。。。。笔者带着十万个为什么,走进了下一个折腾主题。。。。(喂~~~醒醒~~~)
Part Two:
花开两朵,各表一枝。
话说群里的大大们在笔者折腾入门级博客的同时,早就进入了深层次的应用。这使得小白作者非常的懊恼,总感觉追不上大家的脚步。我曾经跟 @Jokey 大大 说,做完上色就想搞搞rtsp视频分析,但是不知道选择哪个模板。大大提示了2个模板:
后来(大概几天后吧。。) 水晶大姐大 也在群里贴出了一个支持多路视频的案例链接:https://developer.huaweicloud.cn/techfield/ascend.htmldeveloper/case-studie
是的,这就是典型的**检测案例。我们点开码云的链接(github一如既往的无法显示图片)https://gitee.com/Atlas200DK/sample-videoanalysisperson/tree/1.3x.0.0/ 就可以看到工程代码了。
这是案例的说明文字:
开发者将本Application部署至Atlas 200 DK或者AI加速云服务器上实现对本地mp4文件或者RTSP视频流进行解码,对视频帧中的行人和人脸进行检测并对其属性进行预测,生成结构化信息发送至Server端进行保存、展示的功能。
这是案例的部署架构图:
而这是系统的原理图:
根据案例本身需要ddk这一前提,以及可以用faster-deploy来快速部署来看,18.04.1的版本笔者怕自己hold不住。所以在跟水大大分析完利弊之后,果断地断电、换卡、切回到16.04系统。(记得开发板和虚拟机都要切回到16.04)
由于笔者的机智,16G的卡是16.04,32G的卡是18.04。笔者还翻箱倒柜拿出多年不用的小米插座,用来在不拔电源的情况下,通过按钮去将开发板关机。
当然,关机之前笔者也需要首先通过以下方式关机:
su - root
输入口令Mind@123
sync
sync
haltsys
这样子,也许就能提升SD卡的使用寿命吧。。。笔者天真地这么想。。。
好了,一切准备就绪,开(始)折(腾)吧~~
首先,根据手册提示,如果要使用rtsp,可以使用live555制作rtsp视频流。并且用vlc播放。先来搞定这个:
我们到live555的官方网站
点击Live555 Media Server:
选择最新版的live**.gz文件:(可以在文件右键复制链接地址)
然后到虚拟机的终端中,执行以下命令:
然后进行解压 tar xvzf live*.gz
进入解压后的目录:
cd live
执行生成makefile
再执行make编译源代码:
等待编译结束:
当然,在编译的过程中,不会一下子就成功地跳到结束的,生活总会让你折腾一下:
比如,在编译的时候报了找不到openssl的错。当然这依然难不倒痛恨度娘却离不开度娘的你:
装个libssl-dev就解决了!
编译完毕之后,别忘了把555网站的一些例子也下载下来,就是前面那个文件列表中,有264,265和aac的目录,下载方式同样,这里不赘述(好像你现在没赘似的。。)
笔者贴一个具体下载test.264的截屏:
将这几个文件拷贝到 $HOME/live/mediaServer目录下:
然后我们启动555吧。。。
可见,555已经在8554端口等着了:rtsp://192.168.40.128:8554/<filename>
下面再让我们搞定vlc player吧.
vlc可以在windows上装,也可以在虚拟机ubuntu上装,笔者为了图省事,也怕安装vlc搞出病毒来,据说最近勒索病毒很厉害。没事就锁住你的文件,让你给钱后才给你解锁。。。
笔者果断选择了同样痛恨且离不开的工具:360软件管家。
等它慢慢安装:
并成功启动:
这时,输入rtsp地址:
rtsp流就可以打开了:
好了,前提条件都已具备。我们去虚拟机开干吧!
使用faster-deploy安装sample-videoanalysisperson工程:
选择2:c++
选择3: sample-videoanalysisperson
耐心等待安装完毕。
打开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的地址。端口号不变)——既然重要,就手工加红加粗。
然后咱们需要到后台去执行deploy脚本:
咦,怎么出错了?看日志:ascend_ddk下载的目录明明叫做ffmpeg,你个shell非要去FFmpeg-n4.1.2目录下去找文件,当然没有了。。。相比又是996或者007的昇腾华为员工一不小心制造出来的bug(作为低一等的非大厂程序员,我保证自己出的bug比菊花厂的还多。。。)
快速解决吧:
cp -r ffmpeg FFmpeg-n4.1.2
也就是拷贝这个目录,改名成shell所需要的目录名:(机智如我~~)
咱们重新执行deploy.sh(这个时候记得开发板跟虚拟机要通)
如我所愿,成功了!
来进行编译吧:
到工程目录启动PresenterServer:
打开浏览器的这个链接:
让我们愉快的运行吧:
系统停在以下画面,也不知道在干吗...
其实内心(开发板)已经波涛汹涌。。。
只是你没看Presenter Server而已:
从这点可以看出,如果MindStudio及时反馈出开发板的处理,那将会多么完美(处女座的基本要求。。。)
这里生成了160张照片,并不是所有照片都把人解析出来了:
(看来大头不解析是Hilens和atlas 200DK的共性)
也不是一张照片的人都解析出来了:
但是,能解析出来的结果还是比较美好的:
person1:是人的可能性是 99.8%。 另外0.2%可能是 外星人。。。
年龄在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%
目测这个典型的模型,把性别算错了。。。。这人显然是个长发男。
让笔者把运行完毕的截图贴一下:(截图不易,且行且珍惜)
好了。关于通过rtsp流采集视频并进行视频分析,检测人的各种属性的应用就折腾到这里。。。。虽然略有bug,略有遗憾,总归做成了一件实际的大事。
下面该干啥,笔者也要好好想一想了。。。
附上历史折腾清单:
华为Atlas 200DK初体验——写在昇腾新品发布的第二天 https://bbs.huaweicloud.cn/blogs/193847
Atlas 200DK系统折腾纪实:(1)论图片及18.04.1的诞生 https://bbs.huaweicloud.cn/blogs/194291
Atlas 200DK系统折腾纪实:(2)视频的诞生 https://bbs.huaweicloud.cn/blogs/194641
Atlas 200DK系统折腾纪实:(3)强大的yolo3物体检测——你想看的内容已被系统提取 https://bbs.huaweicloud.cn/blogs/194816
Atlas 200DK系统折腾纪实:(4)18.04.1的软件安装及双系统切换验证 https://bbs.huaweicloud.cn/blogs/195227
Atlas 200DK系统折腾纪实:(5)Atlas让黑白照片原彩重现 https://bbs.huaweicloud.cn/blogs/195391
Atlas 200DK系统折腾纪实:(6)Atlas让黑白视频原彩重现 https://bbs.huaweicloud.cn/blogs/195590
(全文完,谢谢阅读)
- 点赞
- 收藏
- 关注作者
评论(0)