MCPcopy Create free account

hub / github.com/Ewenwan/ORB_SLAM2_SSD_Semantic / functions

Functions898 in github.com/Ewenwan/ORB_SLAM2_SSD_Semantic

MethodComputeF12
* @brief 根据两关键帧的姿态计算两个关键帧之间的基本矩阵 * F = inv(K1 转置)*E*inv(K2) = inv(K1 转置)*t叉乘R*inv(K2) * @param pKF1 关键帧1 * @param pKF2 关键帧2
perfect/src/LocalMapping.cc:848
MethodComputeF21
x'Fx = 0 整理可得:Af = 0 A = | x'x x'y x' y'x y'y y' x y 1 |, f = | f1 f2 f3 f4 f5 f6 f7 f8 f9 | 通过SVD求解Af = 0,A'A最小特征值对应的特征向量即为解 * @brief 从特征点匹配求fundamen
src/Initializer.cc:584
MethodComputeF21
x'Fx = 0 整理可得:Af = 0 A = | x'x x'y x' y'x y'y y' x y 1 |, f = | f1 f2 f3 f4 f5 f6 f7 f8 f9 | 通过SVD求解Af = 0,A'A最小特征值对应的特征向量即为解 * @brief 从特征点匹配求fundamen
perfect/src/Initializer.cc:584
MethodComputeH21
计算单应矩阵 8对点对 每个点提供两个约束 A × h = 0 求h 奇异值分解 求 h // 通过svd进行最小二乘求解 参考 http://www.fengbing.net/ |x'| | h1 h2 h3 ||x| |y'| = a | h4 h5 h6 ||y| 简写:
src/Initializer.cc:492
MethodComputeH21
计算单应矩阵 8对点对 每个点提供两个约束 A × h = 0 求h 奇异值分解 求 h // 通过svd进行最小二乘求解 参考 http://www.fengbing.net/ |x'| | h1 h2 h3 ||x| |y'| = a | h4 h5 h6 ||y| 简写:
perfect/src/Initializer.cc:492
MethodComputeImageBounds
对于未校正的图像 计算校正后 图像的 尺寸
src/Frame.cc:593
MethodComputeImageBounds
相机参数可以单独 提出来 做一个类
perfect/src/Frame.cc:73
MethodComputeKeyPointsOctTree
通过八叉树的方式计算特征点 主要就是划分格子,在不同的尺度下,每个格子进行Fast特征检测, 接下来就是将图像划分成八叉树形式,根据这一层的特征数确定八叉树的节点, 将这一层图像检测到的特征划分到这些节点,保证每个节点里面有一个特征。
src/ORBextractor.cc:771
MethodComputeKeyPointsOctTree
通过八叉树的方式计算特征点 主要就是划分格子,在不同的尺度下,每个格子进行Fast特征检测, 接下来就是将图像划分成八叉树形式,根据这一层的特征数确定八叉树的节点, 将这一层图像检测到的特征划分到这些节点,保证每个节点里面有一个特征。
perfect/src/ORBextractor.cc:771
MethodComputeKeyPointsOld
src/ORBextractor.cc:864
MethodComputeKeyPointsOld
perfect/src/ORBextractor.cc:864
MethodComputePyramid
计算图像金字塔
src/ORBextractor.cc:1117
MethodComputePyramid
计算图像金字塔
perfect/src/ORBextractor.cc:1117
MethodComputeSim3
src/Sim3Solver.cc:221
MethodComputeSim3
* @brief 计算当前帧与闭环帧的Sim3变换等 * * 1. 通过Bow加速描述子的匹配,利用RANSAC粗略地计算出当前帧与闭环帧的Sim3(当前帧---闭环帧) * 2. 根据估计的Sim3,对3D点进行投影找到更多匹配,通过优化的方法计算更精确的Sim3(当前帧---闭环帧) *
src/LoopClosing.cc:304
MethodComputeSim3
perfect/src/Sim3Solver.cc:221
MethodComputeSim3
* @brief 计算当前帧与闭环帧的Sim3变换等 * * 1. 通过Bow加速描述子的匹配,利用RANSAC粗略地计算出当前帧与闭环帧的Sim3(当前帧---闭环帧) * 2. 根据估计的Sim3,对3D点进行投影找到更多匹配,通过优化的方法计算更精确的Sim3(当前帧---闭环帧) *
perfect/src/LoopClosing.cc:304
MethodComputeStereoFromRGBD
深度相机 计算 深度值 根据未校正的关键点 在深度图中的值 获得 匹配点横坐标 有原特征点校正的后横坐标 - 视差; 视差 = bf / 深度
src/Frame.cc:850
MethodComputeStereoFromRGBD
深度相机 计算 深度值 根据未校正的关键点 在深度图中的值 获得 匹配点横坐标 有原特征点校正的后横坐标 - 视差; 视差 = bf / 深度
perfect/src/Frame.cc:1041
MethodComputeStereoMatches
* @brief 双目匹配 双目匹配 特征点对匹配 * * 为左图的每一个特征点在右图中找到匹配点 \n * 根据基线(有冗余范围)上描述子距离找到匹配, 再进行SAD精确定位 \n * 最后对所有SAD的值进行排序, 剔除SAD值较大的匹配对,然后利用抛物线拟合得到亚像素精度的匹配
src/Frame.cc:642
MethodComputeStereoMatches
* @brief 双目匹配 双目匹配 特征点对匹配 * * 为左图的每一个特征点在右图中找到匹配点 \n * 根据基线(有冗余范围)上描述子距离找到匹配, 再进行SAD精确定位 \n * 最后对所有SAD的值进行排序, 剔除SAD值较大的匹配对,然后利用抛物线拟合得到亚像素精度的匹配
perfect/src/Frame.cc:833
MethodComputeThreeMaxima
* @brief 统计直方图最高的三个bin保留,其他范围内的匹配点剔除。 另外,若最高的比第二高的高10倍以上,则只保留最高的bin中的匹配点。 若最高的比第 三高的高10倍以上,则 保留最高的和第二高bin中的匹配点。 * @param histo 直方图 * @param
src/ORBmatcher.cc:1912
MethodComputeThreeMaxima
* @brief 统计直方图最高的三个bin保留,其他范围内的匹配点剔除。 另外,若最高的比第二高的高10倍以上,则只保留最高的bin中的匹配点。 若最高的比第 三高的高10倍以上,则 保留最高的和第二高bin中的匹配点。 * @param histo 直方图 * @param
perfect/src/ORBmatcher.cc:2068
MethodCorrectLoop
* @brief 闭环融合 全局优化 * * 1. 通过求解的Sim3以及相对姿态关系,调整与 当前帧相连的关键帧 mvpCurrentConnectedKFs 位姿 * 以及这些 关键帧观测到的MapPoints的位置(相连关键帧---当前帧) * 2. 用当前帧在闭环地图点
src/LoopClosing.cc:544
MethodCorrectLoop
* @brief 闭环融合 全局优化 * * 1. 通过求解的Sim3以及相对姿态关系,调整与 当前帧相连的关键帧 mvpCurrentConnectedKFs 位姿 * 以及这些 关键帧观测到的MapPoints的位置(相连关键帧---当前帧) * 2. 用当前帧在闭环地图点
perfect/src/LoopClosing.cc:544
MethodCreateInitialMapMonocular
* @brief CreateInitialMapMonocular * 初始帧设置为世界坐标系原点 初始化后 解出来的 当前帧位姿T 最小化重投影误差 BA 全局优化位姿 T * 为单目摄像头三角化生成MapPoints */
src/Tracking.cc:1011
MethodCreateInitialMapMonocular
* @brief CreateInitialMapMonocular * 初始帧设置为世界坐标系原点 初始化后 解出来的 当前帧位姿T 最小化重投影误差 BA 全局优化位姿 T * 为单目摄像头三角化生成MapPoints */
perfect/src/Tracking.cc:1598
MethodCreateNewKeyFrame
* @brief 创建新的关键帧 * * 对于非单目的情况,同时创建新的MapPoints */
src/Tracking.cc:1797
MethodCreateNewKeyFrame
* @brief 创建新的关键帧 * * 对于非单目的情况,同时创建新的MapPoints */
perfect/src/Tracking.cc:2516
MethodCreateNewMapPoints
* @brief 相机运动过程中和共视程度比较高的关键帧通过三角化恢复出一些MapPoints * 根据当前关键帧恢复出一些新的地图点,不包括和当前关键帧匹配的局部地图点(已经在ProcessNewKeyFrame中处理) * 先处理新关键帧与局部地图点之间的关系,然后对局部地图点进行检查,
src/LocalMapping.cc:349
MethodCreateNewMapPoints
* @brief 相机运动过程中和共视程度比较高的关键帧通过三角化恢复出一些MapPoints * 根据当前关键帧恢复出一些新的地图点,不包括和当前关键帧匹配的局部地图点(已经在ProcessNewKeyFrame中处理) * 先处理新关键帧与局部地图点之间的关系,然后对局部地图点进行检查,
perfect/src/LocalMapping.cc:349
MethodDecomposeE
* @brief 分解Essential矩阵 * * F矩阵通过结合内参可以得到Essential矩阵,分解E矩阵将得到4组解 \n * 这4组解分别为[R1,t],[R1,-t],[R2,t],[R2,-t] * @param E Essential Matrix * @param
src/Initializer.cc:1582
MethodDecomposeE
* @brief 分解Essential矩阵 * * F矩阵通过结合内参可以得到Essential矩阵,分解E矩阵将得到4组解 \n * 这4组解分别为[R1,t],[R1,-t],[R2,t],[R2,-t] * @param E Essential Matrix * @param
perfect/src/Initializer.cc:1582
MethodDepthRegionGrowing
动态点 依据深度信息 进行区域增长扩充=================================
perfect/src/Geometry.cc:475
MethodDepthRender
realtime_dect_loc/include/ty/common/DepthRender.hpp:21
MethodDescriptorDistance
Bit set count operation from http://graphics.stanford.edu/~seander/bithacks.html#CountBitsSetParallel * @brief 二进制向量之间 相似度匹配距离 * @param a 二进制向量
src/ORBmatcher.cc:1968
MethodDescriptorDistance
Bit set count operation from http://graphics.stanford.edu/~seander/bithacks.html#CountBitsSetParallel * @brief 二进制向量之间 相似度匹配距离 * @param a 二进制向量
perfect/src/ORBmatcher.cc:2124
MethodDetectLoop
* @brief 检测是否发生闭环 出现相识的 关键帧 * @return 如果存在,返回true */
src/LoopClosing.cc:119
MethodDetectLoop
* @brief 检测是否发生闭环 出现相识的 关键帧 * @return 如果存在,返回true */
perfect/src/LoopClosing.cc:119
MethodDetector
src/ncnn_dect.cpp:11
MethodDetector
perfect/src/Detector.cc:13
MethodDetector
realtime_dect_loc/src/ncnn_dect.cpp:11
MethodDistributeOctTree
将特征点进行 八叉树划分 接下来就是将图像划分成八叉树形式,根据这一层的特征数 N 确定八叉树的节点, 将这一层图像检测到的特征划分到这些节点,保证每个节点里面有一个特征。
src/ORBextractor.cc:540
MethodDistributeOctTree
将特征点进行 八叉树划分 接下来就是将图像划分成八叉树形式,根据这一层的特征数 N 确定八叉树的节点, 将这一层图像检测到的特征划分到这些节点,保证每个节点里面有一个特征。
perfect/src/ORBextractor.cc:540
MethodDrawTextInfo
src/FrameDrawer.cc:129
MethodDrawTextInfo
显示文字========================================================
perfect/src/FrameDrawer.cc:216
MethodExtractDynPoints
提取动态点=============这是不是可以考虑用光流来计算动态点=============== 1. 选取 参考帧关键点 深度(0~6m) 计算参考帧下3d点 再变换到 世界坐标系下 2. 保留 当前帧 到 世界点 向量 与 参考帧到世界点向量 夹角 小于30的点, 不会太近的点 3. 保留世
perfect/src/Geometry.cc:136
MethodExtractORB
关键点提取 + 描述子
src/Frame.cc:337
MethodExtractORB
关键点提取 + 描述子 */
perfect/src/Frame.cc:522
MethodExtractorNode
perfect/include/ORBextractor.h:26
MethodExtractorNode
include/ORBextractor.h:25
MethodFillImage
perfect/src/FrameDrawer.cc:148
MethodFindFundamental
计算基础矩阵 随机采样序列 8点 采用归一化的直接线性变换(normalized DLT) 在最大迭代次数内 调用 ComputeH21 计算 使用 CheckHomography 计算单应 得分 在最大迭代次数内 保留 最高得分的 单应矩阵 * @brief 计算基础矩阵 * * 假设
src/Initializer.cc:405
MethodFindFundamental
计算基础矩阵 随机采样序列 8点 采用归一化的直接线性变换(normalized DLT) 在最大迭代次数内 调用 ComputeH21 计算 使用 CheckHomography 计算单应 得分 在最大迭代次数内 保留 最高得分的 单应矩阵 * @brief 计算基础矩阵 * * 假设
perfect/src/Initializer.cc:405
MethodFindHomography
* @brief 计算单应矩阵 随机采样序列 8点 采用归一化的直接线性变换(normalized DLT) * 假设场景为平面情况下通过前两帧求取Homography矩阵(current frame 2 到 reference frame 1) * 在最大迭代次数内 调用 Compute
src/Initializer.cc:330
MethodFindHomography
* @brief 计算单应矩阵 随机采样序列 8点 采用归一化的直接线性变换(normalized DLT) * 假设场景为平面情况下通过前两帧求取Homography矩阵(current frame 2 到 reference frame 1) * 在最大迭代次数内 调用 Compute
perfect/src/Initializer.cc:330
MethodFlow
perfect/src/Flow.cc:8
MethodFrame
src/Frame.cc:60
MethodFrame
perfect/src/Frame.cc:132
MethodFrameDrawer
src/FrameDrawer.cc:32
MethodFrameDrawer
perfect/src/FrameDrawer.cc:19
MethodFromCameraToImage
src/Sim3Solver.cc:408
MethodFromCameraToImage
perfect/src/Sim3Solver.cc:408
MethodGeneratePointCloud
生成当前帧的点云,简单滤波 并 分离地面 和 非地面 ============
perfect/src/MapDrawer.cc:641
MethodGeometricModelCorrection
多视角几何 检测 运动点
perfect/src/Geometry.cc:50
MethodGeometricModelUpdateDB
使用关键帧更新数据库=====
perfect/src/Geometry.cc:73
MethodGeometry
perfect/src/Geometry.cc:16
MethodGetCameraCenter
返回相机中心点 世界坐标系下 Returns the camera center.
perfect/include/Frame.h:71
MethodGetCameraCenter
返回相机中心点 世界坐标系下 Returns the camera center.
include/Frame.h:63
MethodGetCurrentCameraPos
获取相机位姿=============cv::mat===========================
perfect/src/MapDrawer.cc:300
MethodGetFeaturesInArea
src/KeyFrame.cc:659
MethodGetFeaturesInArea
perfect/src/KeyFrame.cc:698
MethodGetFound
perfect/include/MapPoint.h:77
MethodGetFound
include/MapPoint.h:71
MethodGetRefFrames
从关键帧数据库中获取当前帧的参考帧==== 选取的原则是相似性差值最大的几个???
perfect/src/Geometry.cc:83
MethodGetStereoCenter
双目相机 基线中心点 坐标
src/KeyFrame.cc:139
MethodGetStereoCenter
双目相机 基线中心点 坐标
perfect/src/KeyFrame.cc:178
MethodGetTrackedKeyPointsUn
=================================================
src/System.cc:586
MethodGetTrackedKeyPointsUn
=================================================
perfect/src/System.cc:602
MethodGetTrackedMapPoints
=================================================
src/System.cc:580
MethodGetTrackedMapPoints
=================================================
perfect/src/System.cc:596
MethodGetTrackingState
================================================
src/System.cc:574
MethodGetTrackingState
================================================
perfect/src/System.cc:590
MethodGlobalBundleAdjustemnt
全局优化 地图 迭代次数 * @brief pMap中所有的MapPoints和关键帧做bundle adjustment 全局优化 * 这个全局BA优化在本程序中有两个地方使用: * a.单目初始化: CreateInitialMapMonocular 函数 * b.闭环
src/Optimizer.cc:72
MethodGlobalBundleAdjustemnt
全局优化 地图 迭代次数 * @brief pMap中所有的MapPoints和关键帧做bundle adjustment 全局优化 * 这个全局BA优化在本程序中有两个地方使用: * a.单目初始化: CreateInitialMapMonocular 函数 * b.闭环
perfect/src/Optimizer.cc:72
MethodGraphicItem
realtime_dect_loc/include/ty/common/MatViewer.hpp:37
MethodGraphicRectangleItem
realtime_dect_loc/include/ty/common/MatViewer.hpp:58
MethodHistAdjustRange
realtime_dect_loc/include/ty/common/DepthRender.hpp:174
MethodInitializeClass
perfect/src/Frame.cc:106
MethodInitializer
* @brief 类构造函数 给定参考帧构造Initializer 单目相机初始化参考帧 * * 用reference frame来初始化,这个reference frame就是SLAM正式开始的第一帧 * @param ReferenceFrame 参考帧 * @param sig
src/Initializer.cc:201
MethodInitializer
* @brief 类构造函数 给定参考帧构造Initializer 单目相机初始化参考帧 * * 用reference frame来初始化,这个reference frame就是SLAM正式开始的第一帧 * @param ReferenceFrame 参考帧 * @param sig
perfect/src/Initializer.cc:201
MethodInsertScan
将新点云 插入到 octomap地图中====
perfect/src/MapDrawer.cc:946
MethodIsFull
perfect/src/Geometry.cc:548
MethodIsInFrame
点是否在帧上===================
perfect/src/Geometry.cc:586
MethodIsInImage
在 图像的尺寸范围内==============
perfect/src/Geometry.cc:596
MethodKeyFrame
Copy Constructor 默认初始化 主要是 直接赋值 写入到类内 变量 普通帧的 量全部复制过来
src/KeyFrame.cc:40
MethodKeyFrame
Copy Constructor 默认初始化 主要是 直接赋值 写入到类内 变量 普通帧的 量全部复制过来
perfect/src/KeyFrame.cc:40
MethodKeyFrameCulling
* @brief 关键帧剔除 * 在Covisibility Graph 关键帧连接图 中的关键帧, * 其90%以上的地图点MapPoints能被其他关键帧(至少3个)观测到, * 则认为该关键帧为冗余关键帧。 * @param pKF1 关键帧1 * @param pK
src/LocalMapping.cc:764
MethodKeyFrameCulling
* @brief 关键帧剔除 * 在Covisibility Graph 关键帧连接图 中的关键帧, * 其90%以上的地图点MapPoints能被其他关键帧(至少3个)观测到, * 则认为该关键帧为冗余关键帧。 * @param pKF1 关键帧1 * @param pK
perfect/src/LocalMapping.cc:764
MethodKeyFrameDatabase
src/KeyFrameDatabase.cc:32
← previousnext →401–500 of 898, ranked by callers