登峰活动培训记录
前言
登峰计划是由高校与中学校合作的,面向中学生暑期实践活动的大中小衔接项目。登峰计划包括线上和线下两部分,线上主要是宣讲、仿真实验等,线下是实验室参观、大师报告、实验操作和小组报告等。
岗位职责
维护秩序保证安全
联系司机和用餐等
采访老师学生
整理活动记录表
处理突发情况
今年不再分主领队与副领队,领队之前自行协商工作安排即可。车票自行购买,后期统一报销。
行程示例
前期(正式开始前):大致在前一天到达活动地点,个别需要当面跟学校老师开会(包括行程车票报销材料),打印活动的签到表和点名表等纸质材料,区域负责人准备医药包,准备一个U盘用于储存学生汇报PPT,保存活动中用到的全部材料电子版,准备开营PPT和大巴车行程表等;加入相应的微信群聊,与相关工作老师对接(如高校老师、大学生志愿者和司机、摄像师、酒店联系人与餐厅经理等)
正式工作第一天:从酒店前台领域物资与核对数量质量,领域餐券并准备摆放好,悬挂易拉宝;上午报道:组织签到、确保学生全部入住酒店,建群并分发物资,办理学生的入住;自行拍摄签到照片与视频,发到活动记录群,检查学生是否全部到齐并领取资料,告知学生入住纪律,不得随意离 ...
自动化数据采集与标注
前言
仿真数据集的产生需要有大量的重复工作,包括两类:一类是与仿真环境交互、获取准物理真实信息(数据采集),另一类是根据准物理真实信息、生成用于训练和测试的数据集(数据标注),两个工作都是相当繁琐的且不可能手工重复操作的,因此有必要开发自动化的数据采集插件或者程序。基于以上分析,这里简要记录利用Gazebo和ROS开发的自动化数据采集插件以及基于Python开发的自动化数据标注程序的主要流程,以供后来者参考。
自动化数据采集插件
本部分介绍使用C++调用gazebo接口完成对传感器信号的自动化采集。
中间因为遥感图像预处理的问题,耽搁了快两个月,不过最近花了一个周把它彻底解决了,具体体现在,完成了三维仿真环境的搭建和无人机轨迹规划、传感器数据自动采集以及GT数据的生成,一整套下来踩了很多个坑,好好记录一下。
插件功能
关于插件,最重要的功能是自动化获取无人机设备全局坐标与全局姿态,通过Mavlink协议获取无人机载相机和事件相机时刻拍摄得到的照片和事件流信息,以此可以在离线情况下完成包括GT图像生成、姿态确定和陨石坑编码等一系列工作,主要是工程上的问题。
插件代码
在catkin_w ...
ISIS软件使用
前言
ISIS软件是NASA提供的,用于处理其发布的全系列行星探测原始数据的软件,其主要的特性是为各个遥感原始数据块提供地理坐标,实现了部分EDR和CDR的地理配准。为了实现后续对月球南极地区、其他深空领域数据集的自定义使用,必须要将该软件安装并使用,以获取更加丰富的遥感数据集。
安装说明
该软件安装的官方文档的表述有点让人难以理解,以下是正常方便的安装。
首先,需要保证当前系统的环境是Linux系统(Windows系统下可使用WSL实现之),然后且预装了Anaconda或Miniconda。接下来,打开终端,执行以下命令:
123456789conda create -n isis python=3.9conda activate isis# Add conda-forge and usgs-astrogeology channelsconda config --env --add channels conda-forgeconda config --env --add channels usgs-astrogeology# Check channel orderconda conf ...
月球陨石坑数据库
现有开源资源
两个重要的陨石坑数据来源,一个是LROC项目,一个是PDS存档。
开源的月球坑数据集
美国亚利桑那州立大学和NASA的合作项目LROC数据集:https://pds.lroc.asu.edu/data/
NASA发布的地外天体探测数据库:https://astrogeology.usgs.gov/search?target=&system=&p=1&accscope=&searchBar=
NASA的LOLA计划的月球遥感原始图像集:https://imbrium.mit.edu/DATA/
国家航天局的月球表面照片https://moon.bao.ac.cn/ce5web/searchOrder_dataSearchData.search
LOLA发布的各个分辨率的DEM,大多分辨率较高:https://imbrium.mit.edu/DATA/LOLA_GDR/
真是巨坑,这个数据库可以批量下载,但是批量下载的链接已经失效了,修改方式在后面指出
必备软件
ArcGIS:遥感图像处理的经典软件,用于打开某些实在难以解读的文件,便于可 ...
陨石坑目录评估
记录
在进行陨石坑目录评估的时候,由于需要使用到大范围内的DEM数据,直接从无到有构建程序将非常复杂,且难以被优化,效率也非常差,不如直接使用现有工具ArcGIS Pro,在使用过程中遇到了相当多的问题,在这里一并予以记录,以备后续查阅。
使用心得
坐标系
ArcGIS的坐标系分为地理坐标系和投影坐标系。在使用时,创建的默认模板中为WGS 843坐标系,不是月球坐标系,查阅国家标准后可知应当使用GCS Moon (2000)坐标系,该系已经于ArcGIS Pro内置,直接调用即可(只是不太好找 )
提取像素
ArcGIS内置了相当多的像素提取方法,通通放在提取工具箱中。在我的使用过程中,主要用到的是按圆区域提取。它的输入参数为:
参数
输入栅格
中心点
半径
输出栅格
提取区域
说明
输入的DEM数据
陨石坑中心点
陨石坑半径
输出的栅格数据
字符串选项
这里需要着重强调那个中心点。(主要问题就在这里),通常ArcGIS接受的输入点坐标是经纬度(如它的转到XY工具),但是在这里,文档里说它是“与输入栅格坐标系区域的坐标”,这句话有点费解,我也直接尝试过输入经纬度坐 ...
CUDA为Torch编写自定义算子
前言
坑啊坑!在小小的工位上坑啊坑
必须要把这种巨坑的编程风格公开处刑,这篇论文:Multiple Video Frame Interpolation via Enhanced Deformable Separable Convolution,真把我坑惨了。先是以为cupy不兼容,遂学CUDA+Torch;复以为驱动问题,用上docker,最后以为是硬件问题,搞个压力测试,通通失败!枉费我与师姐交流如此之久也,若不是今天一早忽然想到设备的问题,加上师姐一提点,这破代码不知道还要接着坑多少人呢!
这位代码的祖宗,也是祖宗之法不可变也,经典屎山;论文对它是一点不改,一动不动直接照搬,有设备问题的Bug也不解决,坑了我整整两天的时间!对它的厌恶是无以复加!
分割线以下是正常部分。
Pytorch是当前最为流行的深度学习框架,其与CUDA的深度兼容性也极大地方便了使用者在不需要了解任何GPU底层架构和编程知识的前提下写出高性能的解决方案,可谓是前无古人,后…来者也。因此当下所有的网络模型、甚至是新的网络框架(oneflow、spikingjelly、slayer等)都在积极兼容torch。
...
陨石坑检测算法记录
前言
这里的陨石坑检测算法,需要区别目标检测。所谓目标检测,是指利用标注的边界框大致框出需要关注的目标实体,并分配对应的标签的过程。这里的算法重点落在框出和标签,分别代表了目标检测的两个基本要素:即能够用框大致确定目标实体的图像位置,能够准确地判定该目标实体在训练标签集中的标签序号。
但是与陨石坑检测不同的是,陨石坑仅有一个类别,因此标签维度可以略去,而用于测量计算的陨石坑位置需要达到较高的数值精度,如亚像素级别,才能用于后续的视觉测量过程。而目标检测算法所得结果尚不能达到亚像素级别,直接照搬目标检测算法用于陨石坑的测量在原理上行不通。
另一点原因是,在正射条件下的陨石坑图像都是正圆形,对于非正射条件下(例如着陆段),其形状将失真为椭圆、甚至是倾斜的椭圆,直接使用边界框的标注就不再合理(更精确的标注方式应当是带倾斜角的边界框)。因此,陨石坑检测不应当直接套用目标检测结果。
按待检测的数据集分类,可以将陨石坑检测分为正射型检测和位姿变换型检测,前者是当前大多数学者的研究领域,即仅处理较为简单的标注(一般是正方形标注,亦有矩形者),所有的图像都是经过几何校正的正射图像,不用考虑陨石坑的倾斜 ...
Zotero参考文献自定义
多亏了科学写作与报告这门课,让我意识到了参考文献格式的重要性,毕业论文的主要问题就出现在这里。忽而想起能否通过自动化的方法完成格式编排而不是一条一条的手工编写,自然而然地就想到了Zotero,这时候就需要发挥自己的主观能动性了。一番折腾居然还真给办成了,虽然编写的代码奇丑无比,*Who cares?*只要能跑就是好代码。
自定义Zotero参考文献表格式
众所周知参考文献格式的调整是一件头疼的事,我就不信有人还在手工调整,相比Endnote,Zotero完备开源的用户社区是我选择它的主要原因,海量的插件也能够实现花里胡哨的功能(反正就是不提高生产力)。修改参考文献格式,Zotero提供了专门的.csl文件,一并给出了该文件编辑的CSL1.0.2规范文档,可供具体配置。
在自定义格式模板前,首先需要确认自己需要模板有无前人做过了,可以查阅网上的各大论坛或者在Zotero内查找,确定没有后才自行配置。
第一步,获取样式模板
进入Zotero的首选项中引用一样,点击样式编辑器,如下图:
随机挑选一位幸运模板,点击保存,然后得到了一个样式模板。
第二步,修改模板Header
模板的前几行一 ...
g2o使用笔记
前言
现有的位姿求解算法,有直接线性变换法、非线性优化法,其中最广为人知的是基于捆绑调整的非线性优化方法(Bundle Adjustment,BA)。g2o是一个基于图优化的非线性优化库,目前已经是包含COLMAP在内的大型SLAM算法的根基。g2o可以用于求解大规模的非线性优化问题,自然也适用捆绑调整。
g2o完全没有用户文档
并且,新版本的g2o与当前社区中流传的CSDN、博客园甚至著名的《视觉SLAM14讲》等文章介绍内容几乎都存在较大的差异(基本上都不能直接使用),毫无疑问增加了新手使用的探索成本。本文,将记录当前时间最新版本的g2o安装、使用的一些心得与避雷提示,希望读者能够通过本博客跑通示例程序,并大致知道如何根据自己需求修改例程。
安装g2o
首先请前往g2o官方仓库,下载最新版本的g2o至本地,进入该目录,首先需要注意的是,g2o安装前应当至少安装Eigen3库。当前网上教程大多直接推荐使用apt源安装,即有:
1sudo apt-get install libeigen3-dev
这种方法方便快捷,但是也存在潜在的版本匹配问题。
另一个麻烦之处是如果使用Vscode等 ...
光束法平差入门
前言
光束法平差Bundle Adjustment,据说是三维重建领域的标配算法,然而我懂不了一点,因此专门开一个博客予以记录。本文主要参考了[1],看到快一半才发现这篇论文其实是偏向数学建模的,并不是我想要的工程应用软件之类的,然后就开始查找其他博客作引用,可参见CSDN博客。
光束法平差
光束法平差是一种优化框架,其主要思路是如何围绕重投影误差,使用梯度下降法、牛顿迭代法、LM等方法完成优化。自从2000年论文[1]将该方法从摄影测量引入至三维重建后,被大量后人引用,目前已经成为三维重建领域的基本方法之一(相当于最小二乘一样的地位)。摄影测量领域经常与重投影误差Reprojection Error打交道,以该误差函数作为待优化的目标函数,将是一个典型的非线性优化问题。
三维点匹配
借用博客提供的图:
对于同一个物体,现有多个不同视角的摄像机对其作摄像机变换,得到不同的摄影图像。根据关键点匹配算法,又得到了这些关键点的对应关系。在每个摄像机的内参矩阵都已知的前提下,需要解决的问题是,如何重建出全部关键点的空间坐标,并解算出每个摄像机的位姿?
优化目标函数
该问题可以建模为优化投影过 ...