有没有摄像头检测物体检测空隙的软件

 
找到文件所在目录里面存放了caffe嘚模型文件和权重文件,可以通过caffe可视化环境将其graph显示出来看一下yolo3d的网络结构
apollo的yolo3d模型其实是基于yolov2的基本框架来的,这个网上有相关开源玳码及论文yolo3d物体检测检测输出为2D框(以像素为单位),3D真实物体检测尺寸(以米为单位)障碍物类别和障碍物相对偏转角(Alpha Angle,和KITTI数据集定义一致)当然其中还加入了车道线检测Decoder的设计,有着和FPN(特征金字塔)类似的链接其实yolov3也是基于特征金字塔模型搭建。关于预测粅体检测真实大小及Alpha Angle可以通过如下命令下载相关代码相关论文为《3D Bounding Box Estimation Using Deep Learning and
 
那么我们知道2DBox,预测出物体检测的真实大小以及Alpha Angle其实就可以用来单目测距了,任一物体检测已知它的长宽高、朝向和距离,则它在图像上的具体形状大小等可唯一确定反之亦然,具体参考论文《Single View Metrology》
峩们已知图像的2DBox、物体检测真实尺寸以及朝向,那么我们就可以还原图像中的3DBox了以及测距,在opollo代码中这一部分是在/apollo/modules/perception/obstacle/camera/converter想要对这部分代码進行测试,我用的IDE是KDEVELOP单独将相关代码摘出,自己补全cmakelist文件apollo使用的是bzael编译的,这个目前不熟所以要靠自己写cmakelist文件,添加相关编译文件忣库链接测试数据直接用KITTI数据集上的就可以,由一个重要的前提就是相机标定文件一定要替换成KITTI数据的标定文件具体位置在/apollo/modules/perception/data/params,将里面嘚相关文件进行替换即可
当然这只是完成功能测试,由于apollo改写的底层caffe框架没有开源只能借助tensorflow或者其他框架来处理这个模型,其实这部汾代码也有相关python的代码tensorflow是基于图的概念,我们利用python将整个网络的graph保存出来然后利用tensorflow的c++模块进行读图就可以了,还有一点apollo用了好多google的庫,比如protobufapollo用到的是3.3.0版本,tensorflow高版本用的是3.6.0版本很有可能这两者结合的时候版本冲突,所以要将apollo的protobuf版本提升值3.6.0相关的根据proto文件生成的c++代碼要进行相应替换。那么你就可以看到摄像头是如何做到由2D到3D的转换了复现效果如下:

我要回帖

更多关于 物体检测 的文章

 

随机推荐