VINS论文推倒及代码解析
VINS 的功能模块可包括五个部分:数据预处理、初始化、后端非线性优化、闭环检测及闭环优化。代码中主要开启了四个线程,分别是:前端图像跟踪、后端非线性优化(其中初始化和 IMU 预积分在这个线程中)、闭环检测、闭环优化。、总体框架Measurement PreprocessingInitializationCamera(30hz)Feature Detectionnd rackerVisual-lnertialInitializedis- onlySfMAlignmentIMU (100hMU Pre-integrationLocal Visual-Inertial: OldestSliting WindowNewestNonli+、 Keyframe?OptimizationBundle Adjustment II Loop detectionwith RelocalizationStates from Loop ClosureFealure retrievel oop Deleted二二1---11------22===Global Pose Graph4-DoF Pose Graph OptimizationKeyframe DatabaseOptimization图1VINS框架ⅵINS的玏能模块可包括五个部分:数据预处理、初始化、后端非线性优化、闭环检测及闭环优化。代码中主要开启了四个线稈,分别是:前端图像跟踪、后端非线性伉化(其中初始化和IMU预积分在这个线程中)、闭环检测、闭环优化各个功能模块的作用上要有:1.I图像和MU预处理●图像:提取图像 Harris角点,利用金字塔光流跟踪相邻帧,通过 RANSAC去除异常点,最后将跟踪到的特征点push到图像队列中,并通知后端进行处理●IU:将IMU数据进行积分,得到当前时刻的位置、速度和旋转(PVQ),同时计算在后端优化中将用到的相邻帧的预积分增量,及预积分误差的 Jacobian矩阵和协方差项。1.2初始化首先,利用SFM进行纯视觉佔计滑窗內所有帧的位姿及3D点逆深度,最后与IMU预积分进行对齐求解初始化参数1.3后端滑窗优化将视觉约束、IMU约束和闭环约束放在·个大的目标函数中进行非线性优化,求解滑窗内所有帧的PVQ、bias等。L M States in the sliding windowIMU:k States from loop clos1Camera:冷 MU measurements>visual measurements★ Catur图2滑窗优化示意图14闭环检测和优化利用D)BoW进行闭环检测,当检测成功后进行重定位,最后对整个相机轨迹进行闭环优化。U预积分VisionIMUVision图3MU预积分示意图21当前时刻pVQ的连续形式将第k唢和第kl帧之间的所有IMU进行积分,可得第kHI帧的位置、速度和旋转(PVQ),作为视觉估计的初始值,这里的旋转采用的四元数。v△t+k+1∈[k,k+1]rW(at-ba ) -owletbk JtE[k, k+1]n(,-bdt∈[k,k+1]其中,a2和O为ⅠMU测量的加速度和角速度,是在Body自身坐标系, world坐标系是IMU所在的惯导系,上式的旋转公式推导可参考附录10.1。22当前时刻PVQ的中值法离散形式公式(1)给出的是连续吋刻的相机当前PVR的达代公式,为了跟代码致,下面给出基于中值法的公式,这与 Estimator:; processIMg(O函数中的Ps]、Rs]和Vs是一致的,IMU积分出来的第j时刻的物理量可以作为第j帧图像的初始值。tr t+a26t(2)ka,St其中q(a1-ba)-g"+q:+1(a+1-ba)(a;+o;+1)2.3两帧之间PVQ增量的连续形式通过观察公式(1)可知,IvU的预积分需要依赖与第k帧的ν和R,当我们在后端进行非线性优化时,需要迭代更新第κ唢的ν和R,这将导致我们需要根据每次迭代后值重新进行积分,这将非常耗吋。因此,我们考虑将优化变量从第k帧到第κ+1帧的IU预积分项中分离开来,通过对公式(1)左右两侧各乘Rb,可化简为:R(+p2k-=2△)+ak+1b其中DtElk, k+1t∈[k,k+1R k(at-bar)ldt)Wendtt∈[kk+1这样我们就得到了连续时刻的MU预积分公式,可以发现,上式得到的MU预积分的值只与不同时刻的a2和o相关。这里我们需要重新讨论下公式(5)预积分公式,以ab,为例,我们发现它是与MU的bias相关的,而bias也是我们需要优化的变量,这将导致的问题是,当每次迭代时,我们得到一个新的bias,又得根据公式(巧5)重新对第k帧和第k+1帧之间的IMU预积分,非常耗时。这里假设预积分的变化量与bias是线性关系,可以写成:ab,+/6n6ba+/16b+8 8ba +p(6)k+1sb24两帧之间PVQ增量的欧拉法离散形式面给出离散时刻的IMU预积分公式,首先按照论文中采用的欧拉法,给出第i个MU时刻与第i1个IMU时刻的变量关系为b+1k+的6t+元R(P)(1+R(P")(a2-bbn)δt25两帧之间PⅤQ增量的中值法离散形式卜面给出代码中采用的基」中值法的IMU预积分公式,这与 Estimator: processIMUO函数中的 Integration Base: push backo上是一致的。注意这里跟公式(2)是不一样的,这里积分出来的是前后两顿之间的IU增量信息,而公式(2)给出的当前帧时刻的物理量信息+1+B k St +=a, &tbb+1Bi + au1其中a,=slqilai-bai)+qiDi t aitl2.6连续形式下PVQ增量的误差、协方差及 JacobianIMU在每个吋刻积分出来的值是有误差的,下面我们对误差进行分析。首先我们直接给出在t时刻误差项的导数为:sa00016a000000-82(066hkR;0006|=00-(a-bh)0-1192k|+|000|mLL000016ba00101n000018b000F+ozk+ Gt其中:F25×15,G215×2,62x1,n12×,上式推导可参考附录102。下面我们讨论它的作用,将其可以简写为:6之k=F62z+Gtnt根据导数定义可知:62b=1m24-6262+8=62+628t=(+F6t)6z+(Gt6t)nt(11)这里我们对公式(1)的IMU误差运动方程再说明,将上式和EKF对比可知,上式恰好给出了如EKF一般对非线性系统线性化的过程,这里的意义是表示下一个时刻的IMU测量误差与上一个时刻的成线性关系,这样我们根据当前时刻的值,可以预测出下一个时刻的均值和协方差,而公式(1)给出的是均值预测,协方差预测公式如下Pb+6=(1+Ft)P(+Fl6t)7+(G,t)Q(G18t)ot(12)上式给出了协方差的选代公式,初始值Pk=0。其中,Q为表示噪声项的对角协方差矩阵000003000另外根据(11)式可获得诀差项的 Jacobian的迭代公式:(I+F26t)(14)其中 Jacobian的初始值为bk=12.7离散形式的PVQ增量误差分析我们首先直接给出PVQ增量误差在离散形式下的矩阵形式,为了与代码一致,我们修改下变量顺序,这和代码中 midPointIntegration(函数是一致的。(但不知为何计算的V中与前四个噪声项相关的差个负号?)1t fo660f106t‖loeBk+1=0f211f20016bδb0[6b102001rnot000kRkotk+1(15006t0n0000δt其中,推导可参考附录10.3:stE(ak-ba)02-4B+1(kk+121k+1b.)6t|6t2(Rr+ rk+18t2Stn=71=Rk+1(a+1-b)6tWr+ wf1=Ik+11+Gb。)δt-Rn+1(ak+121=-2配+1Stl st21(RK+Ruts)4rula1RrotstStR+1(a1R,+114/+11t28离散形式的PVQ增量误差的 Jacobian和协方差将公式(15)简写为:k+1F15×158215×1+V15×13Q则 Jacobian的迭代公式为k+15×15=F/k(16)其中, Jacobian的初始值为/k=l。这里计算出来的k+1只是为了给后面提供对bias的acoblar。协方差的迭代公式为P+15×15=FPFr+vQv(17)其中,初始值P=0。Q为表示噪声项的对角协方差矩阵:00000000aa000Q18×180a00(18)000000三、后端非线性优化31状态向量状态向量共包括滑动窗口内的n+l1个所有相机的状态(包括位置、朝向、速度、加速度计bias和陀螺仪bias)、 Camera到IMU的外参、m+1个3D点的逆深度X=[xr=pw,vb bpc,q3.2目标函数吗+(喻,2)+2(19)其中三个残差项即误差项分别为边缘化的先验信息、IMU测量残差、视觉的重投影残差。三种残差都是用马氏距离表示。根据《十四讲》中高斯牛顿法,若要计算目标函数的最小值,可以理解为,当优化变量有一个增量后,目标函数值最小,以IU残差为例,可写成如下所示:nin lre2bk, X+8Xrk x)+HSⅩDk+1oXk+1k+1其中HB,为B关于 XIK Jacobian,将上式展开并令关于6X的导数为0,可得增量δx的计算公式:H k 8X=k+1TB那么,公式(28)可写成+∑+∑Tk∑1rc上式中,B为MU预积分噪声项的协方差,P为vual观测的噪声协方差。当MU的噪声协方差P越大时,其信息矩阵Pk,将越小,意味着该MU观测越不可信,换句话说,因MU噪声较大,越不可信IMU预积分数据,而更加相信 visual观测。注意,这里的IMU和vsua协方差的绝对值没有意义,因为考虑得是两者的相对性可将上式继续简化为:(Ap+AB +Acox=bp +bB +bc其中,Ap,AB和Ac为 Hessian矩阵,上述方程称之为增量方程。33MU约束1)残差:两帧之间的PVQ和bias的变化量的差△tx+k+1bk qbk+1bR+1 xyz+g"△t)-Bk(20)sbbbb其中各增量关于bias的 Jacobian可从公式(16)的大 Jacobian中的相应位置获得。上面与代码中 Integration base: evaluateD对应,2)优化变量pb, 0W, Svb ,8ba:,bor Opb,, 80W ,Swb,, bakr, Sba3)Jacobian:计算 Jacobian时,残差对应求偏导对象分别为p6e,6vB,6h,ba],6b,6b
- 2020-12-07下载
- 积分:1
学生选课管理系统(数据库课程设计)
学生选课管理系统 数据库课程设计目录第一章系统规划1.1引言..b垂1.1.1编写目的.1.1.2项目背景1.2可行性研究的前提1.2.1目枋1.2.2要求1.2.3条件假定和限制1.2.4决定可行性的主要因素1.3技术可行性分析3.1技术的支持能力.11122333333.2技术的优势.1.3.3技术的难点1.4经济可行性分析1.4.1预期支出1.4.2预期收益1.5社会可行性分析333444441.5.1法律因素.1.5.2用户使用可行性.1.6意见结论第二章需求分析2.1系统需求垂鲁垂垂垂2.2功能需求2.3数据流图..2.3.1系统顶层图2.3.2数据流程图一层分解图2.3.3数据流程图二层分解图2.4数据字典.2.4.⊥数据流条目2.4.2数据处理132.4.3数据存储.14第三章概念设计...153.1实体之间的联系153.2ER图153.2.1局部E-R图第四章逻辑设计..11概念模型向关系模型的转换194.1.11:N联系的转化的关系模式4.1.2M:N联系的转化的关系模式194.2概念模型的优化04.2.1确定范式级別04.2.2实施规范化处理20第五章物理设计.5.1数据库的存储结构.,225.1.2数据库的表设计225.1.3数据的存放位置的设计245.1.4关系模式的存取方法245.1.5.数据库安仝性.21第六章实现、运行与维护.256.1实现,,,256.1.1数据库的实现.256.1.2视图的实现256.2人机界面设计,事b··垂···,,,,,,,,276.2.1用户登陆界面276.2.2学生选课管理界面.276.2.3教师管理界面.286.2.4管理员管理界面.6.3系统测试296.3.1用户脊陆测试296.3.2学生选课管理测试,,,,,,,296.3.3教师管理测试306.3.4管理员管理测试、4运行维护....,32总结33参考文献34学生选课管理系统第一章系统规趔第一章系统规划1.1引言1.1.1编写目的可行性研究的日的是川最小的代价在尽可能的短的时间内确定数据库系统是否可能开发、是否值得开发、是否可以开发(在该报告中主要是考査《学生选课管理系统》是否可能开发、是否值得开发、是否可以开发)。其实质是在较高层次上以较抽象方式进行的、简化的压缩的需求分析和概要设计过程。1.1.2项目背景开发软件名称:学生选课管理系统项目任务提出者:李军项目开发者:洪峰、陈梓明等用户:各大高校师生1.2可行性研究的前提1.2.1目标系统实现后,极大的方便对学生进行选课和选课后临时班级的安排管理,学生选课信息的管理。避免在安排课程信息的滞后,减少信息交流的烦琐过程及其带来的丌销。促进髙校教育的计算机信息化进程,提髙学校的工作效率。对于系统的本身而言,应该具有较高的实用性、安全性。能够极大的满足学生选课,以及学校对选课信息的管理学生选课管理系统第一章系统规趔1.2.2要求主要功能:教师和学生登陆系统的帐号和密码,初始都分别为教师和学号,登陆后密码可以修改。其屮教师的职位可以是管理员。管理员和非管理员的老师及学生对系统的操作具有不同的权限。管理员登陆系统,对学生选课情况进行管理,包括发布选课信息,对学生的选课情况进行查看。管理员还可以对授课老师的信息进行增加、删除、修改、查询。教师脊陆系统,能査看自己的个人信息,及所授课的班级的所有学生的本门课程的成绩信息,并能进行增加和修改。学生登陆系统,能进行选课,查看管理员发布的选课信息,自己的选课情况,本人的基本信息,以及课程的成绩。系统自动分巸学生选课后的临时班级。性能要求管理员发布的信息、学生选课的信息以及管理员和学生对系统操作的信息必须及时的反映在本系统上,且无差错输入要求:具有很好的容错性和兼容性输出要求:应迅速、准确、实吋完成期限:预计五个星期,即截止2011年12月30日。1.2.3条件假定和限制建议软件寿命:未知经费来源:自费硬件条件: Intel pentium4、lG内存同等性能及以上的硬件条件运行环境: WindowⅪP、 Tomcat5.5、JDK1.6数据库: Microsoft sQL server2005投入运行最迟时间:2012年1月5日学生选课管理系统第一章系统规趔1.2.4决定可行性的主要因素技术可行,现有技术可完全承担开发任务操作可行,软件能被操作人员快速接受绎济可行,为小型系统软件,支出较小。社会可行,使用软件全部为正版,且本软件在法律允许范围之内1.3技术可行性分析技术上的可行性分析要考虑现有技术条件能否顺利完成开发工作及将来要采用的硬件和软件技术能否满足用户提出的要求。1.3.1技术的支持能力木系统采用J2EE企业级开发方案,其中 MyEclipse8.5作为系统前台应用程序丌发工具,采用 SQL Server2005工具建立数据库,并通过JDBC使两者进行连接从而进行系统软件开发。此前,我们已使用相同技术开发过类似软件系统,具有一定开发经验。此外,从开发人员的水平考虑,本系统的软件开发人员,都具有较强软件开发能力,且之前开发都参加过类似软件系统的开发,经验卡富。3.2技术的优势、J2EE体系结构提供中间层集成框架用来满足无需人多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求、开发效率、代码重用率高;、跨平台,编写次,随处运行;四、开发界面友好,智能。1.3.3技术的难点数据库设计和维护、系统负荷和安全问题学生选课管理系统第一章系统规趔1.4经济可行性分析1.4.1预期支出基础投资计算机10台:5000*10=5万人员工资:5000儿*2月*10人=10力官传费用:1万其他不可知支出:2万支出共计:18万本学生选课管理系统其它所需的硬件(计算机及相关硬件)和软件环境MyEclipse8.5+ Tomcat.5.5+JDK1.6+ SQL Server2005),市场上都容易购买到或从相关网站下载。其屮JDK1.5为开源免费软件。而 SQL server2005本软件采用的是学习版,也是免费的, MyEclipse8.5以前已经购得,开发成本较小。1.4.2预期收益预期发售价格:2万/套目标客户:全国各大高校预期发售量:40套/年预期收益:40米2=80万预期收益>预期支出,开发本系统能够为投资者带来较高的收益。1.5社会可行性分析1.5.1法律因素开发使用的所有软件都选用正版,其中JDK1.5为开源免费软件。而SQLserver2005木软件采用的是学习版,也是免费的学生选课管理系统第一章系统规趔1.5.2用户使用可行性本软件操作简单,界面友好,功能完备,有一定计算机基础的人员就能进行操作。6意见结论根据上述分析,技术、济、社会可行性都可行,可以立即进行开发。学生选课管理系统第二章需求分析第二章需求分析2.1系统需求用户的需求具体体现在选课信息和用户信息的提供、保存、更新和查询的方面。这就要求数据库的设计必须合理,使之能够充分满足各种信息的输入和输出,保证数据存储的可靠性,并且能够快速取出和存入。而前台显示部分,应具有人性化的界面,方便用户操作。因各个学校的实际情况不同,系统应该具有兼容性。例如:一些学校学生人数较多,同时登陆系统,系统承载的负荷就很大。系统需要同时处理很人的数据量,这时系统不会因此崩溃。此外,系统还应该具有较强的安全性,保证身份不同的用户,不能越权操作。非合法用户不能对数据进行操作2.2功能需求通过系统功能的分析,结合需求分析员在各大高校实地考查,调查的对象涵盖了,学校的教职工、在校师生。特别是对已经运行了与本系统同类产品的学校的师生使用选课管理系统心得体会进行了分析,总结出如下的需求信息(1)学生的需求:能进行选课,査看管理员发布的选课信息,自己的选课凊况,本人的基本信息,课程的成绩;()教师的需求:能查看自己的个人信息,及所授课的班级的所有学生的本门课程的成绩信息,并能进行增加和修改;〔3)管理员的需求:对学生选课情况进行管理,包括发布选课信息,对学生的选课情况进行査看。管理员还可以对授课老师的信息进行管理。
- 2020-12-09下载
- 积分:1