火星撞击坑是火星表面最为普遍且显著的地貌单元和地质构造标志,撞击坑数目繁多、形态不一,是研究火星地质演化过程的最直接依据,也是研究太阳系陨石撞击历史和空间环境的关键,同时是进一步研究其他星系的启发点和重要突破口。
通过研究撞击坑大小和分布情况,能够确定火星表面该地区的地质年龄,能够了解火星表面的地质活动情况,能够分析表面物质结构和元素构成[1]。另外在现实应用中,研究识别撞击坑能够实现探测物导航、避障,使太空探测器能够完成安全可靠的着陆定位。
然而目前撞击坑数据集不完善,撞击坑识别不全面。对现有撞击坑图像进行研究,实现自主提取和识别撞击坑,并将算法应用于未来新采集的星球表面图片进行撞击坑识别,从而能够进一步完善星球表面结构和特征数据库。
确定行星表面地质单元得到形成年代是研究撞击坑的应用之一。通过了解表面撞击坑密度分布的一般规律,与该地质单元的绝对年龄建立定量关系,从而推测未知地质单元的绝对年龄,该撞击坑统计定年法,在众多研究者的持续工作下,理论分析愈发成熟,应用范围更加广泛,目前已成为行星科学中一个重要而活跃的研究领域。
两阶段模型拥有更高的准确率和公共数据集上更突出的表现,但一阶段模型检测速度更快,因此更适用于目标的实时检测。考虑火星探测器将实现载火星表面实时识别,本项目采用一阶段模型代表YOLO来实现。
模型架构说明
经训练比较,选择P、R值都更高的YOLOv8来进行模型预测
YOLOv3 | YOLOv5 | YOLOv7 | YOLOv8 | |
---|---|---|---|---|
P | 0.734921 | 0.818 | 0.826 | 0.832 |
R | 0.758935 | 0.796 | 0.797 | 0.798 |
撞击坑统计定年法
下载代码
在运行环境下导入项目所需要的库 pip install ultralytics
根据官方的解释,pip 的 ultralytics
库包含了YOLOv8的 requirements.txt
中的所有库
创建数据集
本项目用到的数据集以存放在ultralytics/datasets
中
存放格式参照文件夹
datasets
├─images
│ ├─train
│ └─val
├─labels
│ ├─train
│ └─val
└─pre
└─mycoco.yaml
修改ultralytics/datasets/mycoco.yaml
文件中存储训练集图片路径、类别数、类别名称
train: /yolov8-ultralytics/ultralytics/datasets//images/train
val: /yolov8-ultralytics/ultralytics/datasets/images/val
nc: 1
names: ['crater']
yolo task=detect mode=train model=weights/yolov8n.pt data=datasets/mycoco.yaml batch=16 epochs=50 imgsz=640 workers=16 device=0
最终共进行280个epoch训练
模型预测
运行ultralytics/detect.py
由预测结果显示,预测一张图片大约需要5ms
更改预测图像路径,使用训练结果中的best.pt
模型进行预测,将会创建txt文件保存预测结果,即图像中所有撞击坑位置和大小标签
需要统计预测结果中撞击坑直径和频数,将公式编写成代码格式,完成结果直接输出
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。