显示三维图片序列_SLAM结合三维检测

11.11---11.17

​ 在此前一周进行yolo与cube slam整合的时候,采用ros通信的方式。存在两个问题:一个是darknet检测不到目标,就不对外发布检测结果,会造成检测结果和图片序列对不上。另一个问题是图片发布给darknet和cube slam的时间戳难以对齐。本周采用将darknet编译成动态链接库的形式,可以像调用API一样直接使用darknet预先定义的类型与模型。

​ 在使用时只需要将动态链接库的.so文件和头文件darknet.h在cmakelist里包含进来就行。

​ 这部分工作是在304的服务器上进行,但是304台式机不能使用sudo命令,因此无法安装ros,这一周剩下时间在给我的台式机配置cuda和ros环境。

11.18---11.24

​ 上周采用直接darknet编译为动态链接库的方式,测试可行。这周主要将yolo加入object_slam并实现功能。

object_slam包中实现的并非完整的SLAM算法,只能算一个VO,实际上作者是利用g2o做简单的位姿估计与优化。

在将二维检测加入三维检测中遇到一个问题。算法的第一帧需要相机坐标系与世界坐标系的转换关系,这个世界坐标系不是第一帧相机坐标系,而是x,y轴所在平面为地平面,z轴向上的一个坐标系,x轴和y轴指向无所谓。因此可以简化问题,假设x轴指向相机,即指向相机坐标系z轴反方向。

970c5a886e1e2b2d2313d6ea21ed81f5.png
https://www.zhihu.com/video/1185163673403912192

​ 为了方便计算旋转矩阵,还可以假设相机的pitch和roll都为0,这样世界坐标系变换到相机坐标的旋转变换就是y轴90°,x轴180°。

但是实际这样做检测不到立方体,包括github上issue也有人提出这个问题,即采用这种旋转矩阵或者四元数得不到结果,必须偏一点角度。实际上我测试TUM数据集的时候,提供的ground truth显示相机pitch大约为-30°,摄像头使用这个姿态测试的效果比较好。视频如下:

11.25---12.1

本周主要是在orb slam中加入三维检测功能,以实现最终需求。

由于三维检测只与位姿有关,因此改动主要是在tracking线程里。

在主程序,例如mono_tum.cc,mono_kitti.cc中,

SLAM.TrackMonocular(im, tframe);

TrackMonocular是http://system.cc中的类方法,在TrackMonocular函数的最后调用了http://Tracking.cc中的函数

GrabImageMonocular(im, timestamp, msg_seq_id);

这个函数进入tracking线程,主要是讲图片转成灰度图,并调用orb slam提出的匀速模型函数

TrackWithMotionModel()

yolo功能实现,线条检测和三维检测主要是在这个部分实现。

编译的时候报错:darknet定义的list结构体冲突了。原因是在前几周的代码中都没有用到c++ STL里的list类型,但是orb slam里应该是用到了,因此才会冲突。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/442988.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

cc穿盾并发脚本_敢不敢模拟超过 5 万的并发用户?

阅读本文大概需要 6 分钟。来自:http://t.cn/ES7KBkW本文将从负载测试的角度,描述了做一次流畅的 5 万用户并发测试需要做的事情。你可以在本文的结尾部分看到讨论的记录。快速的步骤概要:编写你的脚本使用 JMeter 进行本地测试BlazeMeter 沙…

tomcat上传文件到不同服务器,使用SpringMVC进行跨服务器上传文件出现的那些坑

[1] 405 Method Not Allowed原因是因为Servlet默认是只读的,也就是写不进去(文件上传不过来)所以要在文件服务器的 web.xml 对 Servlet 进行配置defaultServletorg.apache.catalina.servlets.DefaultServletdebug0readonlyfalselistingsfalse1defaultServlet/这里可…

confluence添加用户_玩转Confluence插件开发插件模块配置文件介绍(04)

上一章节我们介绍了测试模块的配置文件,这一章节我们介绍插件本身的配置文件,这个是我们部署插件真正用到的. 文件的位置位于项目主目录中的/src/main/resources目录中.插件配置文件介绍插件描述文件的根元素<atlassian-plugin key"${project.groupId}.${project.artif…

nodejs复制服务器文件,nodejs文件夹深层复制功能

nodejs文件夹深层复制功能发布时间&#xff1a;2020-10-16 16:35:07来源&#xff1a;脚本之家阅读&#xff1a;116作者&#xff1a;java_Android前段时间接到领导要求&#xff0c;运营那边会时不时的给我一些.html文件&#xff0c;让我呢把里面的某些东西给解析出来插入到数据库…

慧停车安装后显示服务器异常,智能停车场系统常见故障以及排除方法

原标题&#xff1a;智能停车场系统常见故障以及排除方法随着停车问题日益增多&#xff0c;很多住宅小区都基本安装了智能化的停车场系统&#xff0c;智能停车场系统一般由入口控制机、出口控制机、智能道闸、地感线圈、余位显示屏、图象识别设备、系统软件、管理工作站等组成。…

ios 自定义拍照页面_vivo X27只靠颜值和拍照吃饭?体验过后你也会被系统所折服...

说到vivo X27&#xff0c;相信很多小伙伴都会第一时间想到其帅气的颜值以及强悍的拍照&#xff01;的确&#xff0c;就颜值来说&#xff0c;vivo X27凭借着升降式摄像头、零界全面屏、不凸出的后置三摄以及孔雀纹理的确称的上是2019年的最美旗舰&#xff1b;而拍照就更不用说了…

consul 日志配置_Go语言微服务架构实战:第十一节 启动Consul

启动Consul安装配置好Consul以后&#xff0c;我们可以通过简单的命令启动consul。先来看最简单的启动方式&#xff1a;consul agent -dev在新终端中&#xff0c;执行如上操作。hongweiyulocalhost:~$ consul agent -dev > Starting Consul agent... > Consul agent runni…

chrome修改js数据怎么生效_chrome浏览器中 F12 功能的简单介绍

首先介绍Chrome开发者工具中&#xff0c;调试时使用最多的三个功能页面是&#xff1a;元素&#xff08;ELements&#xff09;、控制台&#xff08;Console&#xff09;、源代码&#xff08;Sources&#xff09;&#xff0c;此外还有网络&#xff08;Network&#xff09;等。元素…

python split函数 空格_Python随笔29:Python基础编程练习题23~24

注&#xff1a;本文所有代码均经过Python 3.7实际运行检验&#xff0c;保证其严谨性。Python编程Python基础练习题23&#xff1a;求三角形斜边上的高输入直角三角形两直角边a、b的值&#xff0c;输出斜边上的高&#xff0c;最后结果使用round(x, 2) 函数四舍五入保留2位小数。输…

docker run后台启动命令_Docker-第五部分:15个 Docker 命令

原文作者&#xff1a;Jeff Hale原文地址&#xff1a;https://towardsdatascience.com/15-docker-commands-you-should-know-970ea5203421翻译&#xff1a;付新圆在这篇文章中&#xff0c;我们将学习15个Dockers CLI命令。如果你还不了解Docker&#xff0c;请查看这个系列的其他…

ospf 环回口的路由条目_路由策略之重分发示例分析

重分发示例网络拓扑解析&#xff1a;如图&#xff0c;R1-R2运行OSPF10&#xff0c;通过各自F0/0口建立ospf邻居&#xff0c;R1上静态路由&#xff1a;ip route 192.168.11.0 255.255.255.0 13.1.1.2ip route 192.168.13.0 255.255.255.0 13.1.1.2然后在ospf10进程下&#xff0c…

我国常用的投影坐标系_我国常用坐标系和高程系详解

北京54坐标系(BJZ54)北京54坐标系为参心大地坐标系&#xff0c;大地上的一点可用经度L54、纬度M54和大地高H54定位&#xff0c;它是以克拉索夫斯基椭球为基础&#xff0c;经局部平差后产生的坐标系。新中国成立以后&#xff0c;我国大地测量进入了全面发展时期&#xff0c;再全…

miniconda3 安装numpy_OpenCV4在Ubuntu1810/1604安装

本文简要介绍OpenCV4在Ubuntu 1810上的安装。目前OpenCV最新的稳定版本是4.0.1&#xff0c;可以从官网下载并解压&#xff0c;也可以从github上获取最新源码进行安装安装依赖sudo apt-get install cmake build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg…

载winpcap4.1.1_最常用的11个电缆载流量数据表,建议收藏备用

《0.6/1KV聚氯乙烯绝缘电力电缆载流量》《1~3芯额定电压0.6/1kv-1.8/3kv电缆载流量表》《YJV、YJY、YJV22额定电压在6/6、6/10kv电缆载流量》《常见BVVB型、BLVVB型、RVVB型电线载流量》《常见BV线载流量》《矿物质绝缘电缆载流量表》载流量数据表&#xff0c;是我们在日常工作…

android 虚拟键盘改变单个按键颜色_这款机械键盘很特别!一亿次按键寿命还有高颜值...

电脑主机要上RGB&#xff0c;那外设自然不能落下&#xff0c;虽说没有60%性能加成&#xff0c;用炫酷的灯光点亮桌面的感觉也是不错的。德国老牌外设品牌——冰豹(ROCCAT)2018年发布了Vulcan系列机械键盘&#xff0c;凭借着独特的设计和AIMO智能灯效颇受玩家好评。现在&#xf…

C++设计模式 #6 桥模式(Bridge)

动机 由于某些类型的固有的实现逻辑&#xff0c;使得它们具有两个变化的维度&#xff0c;乃至多个变化的维度。 如何应对这种“多维度的变化”&#xff1f;如何利用面向对象技术来使得类型可以轻松地沿着两个乃至多个方向变化&#xff0c;而不引入额外的复杂度 举个栗子 我们…

c99什么意思_C语言中-是什么意思啊?

展开全部->是一个整体&#xff0c;它是用于指向结构体、C中的class等含有子数据的指针用e5a48de588b662616964757a686964616f31333366303130来取子数据。换种说法&#xff0c;如果我们在C语言中定义了一个结构体&#xff0c;然后申明一个指针指向这个结构体&#xff0c;那么…

mysql外键关联查询_MySQL外键约束和多表联查

一.创建外键#测试数据表# 教师表&#xff0c;主表CREATE TABLE teacher(id INT PRIMARY KEY AUTO_INCREMENT,name varchar(20),age INT)ENGINEInnoDB DEFAULT CHARSETUTF8;#测试数据&#xff1a;INSERT INTO teacher values(1,范冰冰,22),(2,周杰棍,30),(3,双杰伦,35),(4,梁朝伟…

mysql innodb id_MySQL InnoDB row_id边界溢出验证的方法步骤

背景跟同学聊到row_id一个边界问题&#xff0c;这里详细说明下。InnoDB表若没有定义主键&#xff0c;会使用系统的一个默认递增row_id (dict_sys->row_id)作为主键。每次插入一行加1&#xff0c;到达最大值循环复用。需要注意的是&#xff0c;虽然dict_sys->row_id 被定义…

mysql mysqld.sock_MySQL笔记-最简单的方法来解决找不到mysqld.sock文件的问题

首先&#xff0c;环境:ubuntu 14.04,采用apt-get的方式安装的&#xff0c;手动安装可能路径设置稍有区别。1、安装MySQL后&#xff0c;用命令行首次启动时发现找不到Mysqld.sock文件&#xff0c;提示&#xff1a;ERROR 2002 (HY000): Cant connect to local MySQL server throu…