SARfish 项目使用教程
1. 项目目录结构及介绍
SARfish 项目的目录结构如下:
SARfish/
├── .gitignore
├── LICENSE
├── README.md
├── SARfish.py
├── title_image.jpg
└── world_land_areas.geojson
目录结构介绍
- .gitignore: 用于指定 Git 版本控制系统忽略的文件和目录。
- LICENSE: 项目的开源许可证文件,本项目使用 MIT 许可证。
- README.md: 项目的说明文件,包含项目的概述、使用方法和依赖项等信息。
- SARfish.py: 项目的主程序文件,负责执行船舶检测的主要逻辑。
- title_image.jpg: 项目标题图片,用于展示项目的标识或相关图像。
- world_land_areas.geojson: 包含全球陆地区域的地理信息数据文件,用于过滤陆地上的错误检测。
2. 项目启动文件介绍
项目的启动文件是 SARfish.py
。该文件是 SARfish 项目的主程序,负责执行船舶检测的主要逻辑。以下是启动文件的主要功能介绍:
主要功能
- 输入处理: 接收 Sentinel-1 VH 极化图像作为输入,并将其转换为可处理的格式。
- 图像分割: 将输入的 SAR 图像分割成 800x800 的块,以便进行逐块检测。
- 模型推理: 使用 Faster R-CNN 模型(基于 ResNet-50-FPN 骨干网络)对每个图像块进行船舶检测。
- 坐标转换: 将检测到的船舶位置坐标从图像坐标转换为经纬度坐标。
- 输出生成: 生成包含检测结果的 GeoJSON 文件,并标记每个检测的置信度。
启动方法
要启动 SARfish 项目,请按照以下步骤操作:
- 确保已安装所有依赖项(参见
README.md
中的安装指南)。 - 激活 Conda 环境:
conda activate SARfish
- 运行主程序文件:
例如:python SARfish.py input_tif_image_name output_geojson_filename prediction_confidence_threshold
python SARfish.py VH_test_image.tif detections.geojson 0.5
3. 项目的配置文件介绍
SARfish 项目没有专门的配置文件,所有配置和参数均通过命令行参数传递。以下是主要的命令行参数介绍:
命令行参数
- input_tif_image_name: 输入的 Sentinel-1 VH 极化图像文件名(TIFF 格式)。
- output_geojson_filename: 输出的 GeoJSON 文件名,包含检测到的船舶位置信息。
- prediction_confidence_threshold: 检测置信度阈值,用于过滤低置信度的检测结果。
示例
python SARfish.py VH_test_image.tif detections.geojson 0.5
此命令将处理 VH_test_image.tif
文件,并将检测结果输出到 detections.geojson
文件中,置信度阈值设置为 0.5。
总结
通过本教程,您应该能够了解 SARfish 项目的目录结构、启动文件的功能以及如何通过命令行参数配置和运行项目。希望这些信息能帮助您顺利使用 SARfish 项目进行船舶检测。