开始用yolov3跑网络发现每次加载本地图,实在是太不实时,加载个摄像头,浪费成本,因为海思这块开发板对摄像头开发做的是相当成熟,demo一堆堆,于是乎想是否可以后台开个服务,电脑显示这个界面,果断查资料看datasheet,终于找到的确有这个方法,
葵花宝典是
图像质量调试工具使用指南 |
神器是 Hi3516C V500R001C02SPC010\01.software\pc\PQTools\HiPQTools和 这下面的ITTP_Stream_V5.0.18。
参考宝典配置板端和pc端即可。
注意几点:
1,我参考宝典运行demo一直不成功,demo在这里,
一定要注意几点,第一点 确定自己的sensor型号。2,确定自己的sdk版本,具体需要编译sdk,因为买的板子已经测试过sdk,他用的版本时1,0.而我单独购买的的是2.0sdk,出现他的demo可以,我自己demo不可以run的情况,于是折腾大半天。排除方法:
1,板子自带sample_venc我测试是可以run起来的,保存图像是可以的。
2,我为了调试摄像头想用这个hilsptools,如上截图,每次都run不起来,报各种初始化错误,利用 ./HilspTools -h查看帮助文档。需要输入摄像头型号 -s imx327 0,(注意开始用imx307 整错了大半天,其实开机的时候 会初始化,能看到sensor型号,注意针对我自己的板子,其他的新安装板子肯定要自己编译sdk烧写ko文件比较复杂)但是还是报各种初始化错误,然后我尝试里面的其他ittb_stream ittb_control, 都不行。
3,我想为什么sample可以,于是自己编译sample_venc,发现自己编译的仍然报错不能run。
4,但是卖方的demo是可以的,果断怀疑是sdk版本问题,于是我问卖方要了他的sdk,然后make,发现可以用了。注意make的时候我报错了,然后发现找不到交叉编译器,因为我不是很擅长那个makefile问题,他太多的关联了,注意他隐藏的比较深,我也是花了很久时间才找到的,可能有个文档有介绍,我没发现,知道的小伙伴可以留言告知下,我的路径是在/home/vinson/3516/oldsdk/Hi3516CV500_SDK_V2.0.1.0/smp/a7_linux/mpp/sample。然后各种makefile makefile.param。我不知道怎么改,然后参考范大神编译的yolo的makefile,果断加了一行,CC = /opt/hisi-linux/x86-arm/arm-himix200-linux/bin/arm-himix200-linux-gcc ,然后真的就编过了。用旧版本的demo可行。
5,然后果断进入/home/vinson/3516/oldsdk/Hi3516CV500_PQ_V2.0.1.0旧版本的pqtools下,参考上面葵花宝典方法设置。
run下 ./ittb_stream imx327 果断没报错,至此我去启动pc端的ittp_stream完美成功连接,然后打开vlc也完美成功。注意vlc里面两个地方很重要设置下,1,是工具偏好设置里面的硬件解码和缓存策略改为最低延迟。2,播放数据源里面的更多选项里面的正在缓冲改为100ms。好 跑的飞起。
6,但是其他的都run不起来,报错都是初始化错误,
这个错误未解决。ISP地址错误,有几个原因,一个是预装的sdk里面这个地址有误,我是256256的内存,莫非有问题,另个原因是我这里面ini配置错误。因为不耽误使用,没时间先不管了。后面有空解决。
后期任务:
1,研读这个webservice服务程序,自己run的程序以后就可以把结果写到图上去然后可以直接看vlc了。参考https://blog.csdn.net/bobpeter84/article/details/78835909可以后期改下驱动使用不同sensor,另外发现rtsp这个没源码。网上找的其他的rtsp流 改为我需要的,发现可以用vlc打开,满足要求,后面要求下怎么转化为cvmat使用。
2,研究makefile怎么写,好像有的挺复杂看不懂。
3,yolov3的predict程序编写小坑总结。
4,yolov3的改进提高方法总结。