From 803db910a19fddd948062e9f118fdc3d9aa5dd2e Mon Sep 17 00:00:00 2001 From: yawenzzzz Date: Thu, 16 Jan 2025 17:47:02 +0000 Subject: [PATCH 1/5] format --- data/landsat_vessels/classifier_config.yaml | 105 ++++++++++++++++++ .../{config.yaml => detector_config.yaml} | 0 docs/landsat_vessels.md | 52 +++++++++ .../README.md | 0 .../rslearn_to_multisat.py | 0 .../add_label_layer.py | 0 .../existing_dataset_to_utm/config.json | 0 .../prepare_windows.py | 0 .../reformat_multisat.py | 0 .../landsat}/quick_vis_script.py | 0 .../convert_to_multisat_dataset.py | 0 .../random_landsat/convert_windows_to_utm.py | 0 .../random_landsat/random_landsat_windows.py | 0 .../landsat}/recheck_landsat_labels/README.md | 0 .../phase123_config.yaml | 0 .../phase123_config_hparams.yaml | 0 .../phase12_config.yaml | 0 .../phase1_assign_split.py | 0 .../recheck_landsat_labels/phase1_config.json | 0 .../recheck_landsat_labels/phase1_config.yaml | 0 .../recheck_landsat_labels/phase1_get_1000.py | 0 .../recheck_landsat_labels/phase1_index.html | 0 .../recheck_landsat_labels/phase1_server.py | 0 .../recheck_landsat_labels/phase2_config.json | 0 .../recheck_landsat_labels/phase2_config.yaml | 0 .../recheck_landsat_labels/phase2_get_3000.py | 0 .../recheck_landsat_labels/phase2_index.html | 0 .../phase2_make_overview_windows.py | 0 .../phase2_overview_rgb.py | 0 .../phase2_pansharpen.py | 0 .../recheck_landsat_labels/phase2_server.py | 0 .../recheck_landsat_labels/phase3_get_750.py | 0 .../phase3a_selected.csv | 0 rslp/landsat_vessels/config.py | 11 +- 34 files changed, 161 insertions(+), 7 deletions(-) create mode 100644 data/landsat_vessels/classifier_config.yaml rename data/landsat_vessels/{config.yaml => detector_config.yaml} (100%) create mode 100644 docs/landsat_vessels.md rename {landsat => one_off_projects/landsat}/confirm_same_performance_as_integration/README.md (100%) rename {landsat => one_off_projects/landsat}/confirm_same_performance_as_integration/rslearn_to_multisat.py (100%) rename {landsat => one_off_projects/landsat}/existing_dataset_to_utm/add_label_layer.py (100%) rename {landsat => one_off_projects/landsat}/existing_dataset_to_utm/config.json (100%) rename {landsat => one_off_projects/landsat}/existing_dataset_to_utm/prepare_windows.py (100%) rename {landsat => one_off_projects/landsat}/existing_dataset_to_utm/reformat_multisat.py (100%) rename {landsat => one_off_projects/landsat}/quick_vis_script.py (100%) rename {landsat => one_off_projects/landsat}/random_landsat/convert_to_multisat_dataset.py (100%) rename {landsat => one_off_projects/landsat}/random_landsat/convert_windows_to_utm.py (100%) rename {landsat => one_off_projects/landsat}/random_landsat/random_landsat_windows.py (100%) rename {landsat => one_off_projects/landsat}/recheck_landsat_labels/README.md (100%) rename {landsat => one_off_projects/landsat}/recheck_landsat_labels/phase123_config.yaml (100%) rename {landsat => one_off_projects/landsat}/recheck_landsat_labels/phase123_config_hparams.yaml (100%) rename {landsat => one_off_projects/landsat}/recheck_landsat_labels/phase12_config.yaml (100%) rename {landsat => one_off_projects/landsat}/recheck_landsat_labels/phase1_assign_split.py (100%) rename {landsat => one_off_projects/landsat}/recheck_landsat_labels/phase1_config.json (100%) rename {landsat => one_off_projects/landsat}/recheck_landsat_labels/phase1_config.yaml (100%) rename {landsat => one_off_projects/landsat}/recheck_landsat_labels/phase1_get_1000.py (100%) rename {landsat => one_off_projects/landsat}/recheck_landsat_labels/phase1_index.html (100%) rename {landsat => one_off_projects/landsat}/recheck_landsat_labels/phase1_server.py (100%) rename {landsat => one_off_projects/landsat}/recheck_landsat_labels/phase2_config.json (100%) rename {landsat => one_off_projects/landsat}/recheck_landsat_labels/phase2_config.yaml (100%) rename {landsat => one_off_projects/landsat}/recheck_landsat_labels/phase2_get_3000.py (100%) rename {landsat => one_off_projects/landsat}/recheck_landsat_labels/phase2_index.html (100%) rename {landsat => one_off_projects/landsat}/recheck_landsat_labels/phase2_make_overview_windows.py (100%) rename {landsat => one_off_projects/landsat}/recheck_landsat_labels/phase2_overview_rgb.py (100%) rename {landsat => one_off_projects/landsat}/recheck_landsat_labels/phase2_pansharpen.py (100%) rename {landsat => one_off_projects/landsat}/recheck_landsat_labels/phase2_server.py (100%) rename {landsat => one_off_projects/landsat}/recheck_landsat_labels/phase3_get_750.py (100%) rename {landsat => one_off_projects/landsat}/recheck_landsat_labels/phase3a_selected.csv (100%) diff --git a/data/landsat_vessels/classifier_config.yaml b/data/landsat_vessels/classifier_config.yaml new file mode 100644 index 00000000..1288b444 --- /dev/null +++ b/data/landsat_vessels/classifier_config.yaml @@ -0,0 +1,105 @@ +model: + class_path: rslearn.train.lightning_module.RslearnLightningModule + init_args: + model: + class_path: rslearn.models.multitask.MultiTaskModel + init_args: + encoder: + - class_path: rslearn.models.swin.Swin + init_args: + input_channels: 7 + output_layers: [1, 3, 5, 7] + pretrained: true + decoders: + class: + - class_path: rslearn.models.pooling_decoder.PoolingDecoder + init_args: + in_channels: 1024 + out_channels: 2 + - class_path: rslearn.train.tasks.classification.ClassificationHead + lr: 0.0001 + plateau_factor: 0.1 + plateau_patience: 10 + plateau_min_lr: 0 + plateau_cooldown: 0 + restore_config: + restore_path: gcs://rslearn-eai/datasets/landsat_vessel_detection/artifacts/2024-03-13-landsat-vessels/vessel02_satlas_freeze_crop512_nosatlas_b8first2/best.pth + remap_prefixes: + - ["backbone.backbone.", "encoder.0.model."] +data: + class_path: rslearn.train.data_module.RslearnDataModule + init_args: + path: gcs://rslearn-eai/datasets/landsat_vessel_detection/classifier/dataset_20240905/ + inputs: + image: + data_type: "raster" + layers: ["landsat"] + bands: ["B8", "B2", "B3", "B4", "B5", "B6", "B7"] + passthrough: true + label: + data_type: "vector" + layers: ["label"] + is_target: true + task: + class_path: rslearn.train.tasks.multi_task.MultiTask + init_args: + tasks: + class: + class_path: rslearn.train.tasks.classification.ClassificationTask + init_args: + property_name: "label" + classes: ["correct", "incorrect"] + allow_invalid: true + skip_unknown_categories: true + prob_property: "prob" + positive_class: "correct" + positive_class_threshold: 0.85 + input_mapping: + class: + label: "targets" + batch_size: 16 + num_workers: 16 + default_config: + transforms: + - class_path: rslearn.train.transforms.normalize.Normalize + init_args: + mean: 0 + std: 255 + - class_path: rslearn.train.transforms.pad.Pad + init_args: + mode: "center" + size: 32 + - class_path: rslearn.train.transforms.flip.Flip + groups: ["selected_copy", "phase2a_completed", "phase3a_selected"] + train_config: + tags: + split: train + sampler: + class_path: rslearn.train.dataset.WeightedRandomSamplerFactory + init_args: + option_key: "weight" + num_samples: 1000 + val_config: + groups: ["phase2a_completed"] + tags: + split: val + test_config: + groups: ["phase2a_completed"] + tags: + split: val + predict_config: + groups: ["classify_predict"] + skip_targets: true +trainer: + max_epochs: 64 + callbacks: + - class_path: lightning.pytorch.callbacks.LearningRateMonitor + init_args: + logging_interval: "epoch" + - class_path: rslearn.train.prediction_writer.RslearnWriter + init_args: + path: gcs://rslearn-eai/datasets/landsat_vessel_detection/classifier/dataset_20240905/ + output_layer: output + selector: ["class"] +rslp_project: rslearn-landsat-recheck +rslp_experiment: phase123_20240919_01_copy diff --git a/data/landsat_vessels/config.yaml b/data/landsat_vessels/detector_config.yaml similarity index 100% rename from data/landsat_vessels/config.yaml rename to data/landsat_vessels/detector_config.yaml diff --git a/docs/landsat_vessels.md b/docs/landsat_vessels.md new file mode 100644 index 00000000..a6372736 --- /dev/null +++ b/docs/landsat_vessels.md @@ -0,0 +1,52 @@ +Landsat Vessel Detection +--------------------------- + +The Landsat vessel detection model detects vessels in Landsat 8 and 9 scenes. + +A two-stage model is trained to detect vessels from Landsat scenes, consisting of a detector and a classifier. The detector is trained on a dataset consisting of 7,954 Landsat patches (ranging from 384x384 to 768x768) with 18,509 vessel labels. The classifier is trained on a dataset consisting of about 2,000 annotated detections (the input patch size is 64x64). See [our paper](https://arxiv.org/pdf/2312.03207) for more details about the model and dataset. + +![Image showing a Landsat image with predicted positions of ships from the model overlayed.]() + + +Inference +--------- + +First, download the both the detector and classifier checkpoint to the `RSLP_PREFIX` directory. + + cd rslearn_projects + mkdir -p project_data/projects/landsat_vessels/data_20240924_model_20240924_imagenet_patch512_flip_03/checkpoints/ + wget https://storage.googleapis.com/ai2-rslearn-projects-data/landsat_vessels/detector/best.ckpt -O project_data/projects/landsat_vessels/data_20240924_model_20240924_imagenet_patch512_flip_03/checkpoints/last.ckpt + + mkdir -p project_data/projects/rslearn-landsat-recheck/phase123_20240919_01_copy/checkpoints/ + wget https://storage.googleapis.com/ai2-rslearn-projects-data/landsat_vessels/classifer/best.ckpt -O project_data/projects/rslearn-landsat-recheck/phase123_20240919_01_copy/checkpoints/last.ckpt + +The esasiest way to apply the model is using the prediction pipeline in `rslp/landsat_vessels/predict_pipeline.py`. It accepts a Landsat scene ID and automatically downloads the scene images from AWS. + + mkdir output_crops + +TODO: add the command here. + + +Training +-------- + +First, download the training dataset for detector: + + cd rslearn_projects + mkdir -p project_data/datasets/landsat_vessels/ + wget https://storage.googleapis.com/ai2-rslearn-projects-data/landsat_vessels/landsat_vessels_detector.tar -0 + tar xvf project_data/datasets/landsat_vessels_detector.tar --directory project_data/datasets/landsat_vessels/ + +It is an rslearn dataset consisting of window folders like + +Use the command below to train the model. Note that Weights & Biases is needed. + + +Second, download the training dataset for classifier: + + cd rslearn_projects + mkdir -p project_data/datasets/landsat_vessels/ + wget -0 + tar xvf project_data/dataset/landsat_vessels_classifier.tar --directory project_data/datasets/landsat_vessels/ + +To visualize outputs on the diff --git a/landsat/confirm_same_performance_as_integration/README.md b/one_off_projects/landsat/confirm_same_performance_as_integration/README.md similarity index 100% rename from landsat/confirm_same_performance_as_integration/README.md rename to one_off_projects/landsat/confirm_same_performance_as_integration/README.md diff --git a/landsat/confirm_same_performance_as_integration/rslearn_to_multisat.py b/one_off_projects/landsat/confirm_same_performance_as_integration/rslearn_to_multisat.py similarity index 100% rename from landsat/confirm_same_performance_as_integration/rslearn_to_multisat.py rename to one_off_projects/landsat/confirm_same_performance_as_integration/rslearn_to_multisat.py diff --git a/landsat/existing_dataset_to_utm/add_label_layer.py b/one_off_projects/landsat/existing_dataset_to_utm/add_label_layer.py similarity index 100% rename from landsat/existing_dataset_to_utm/add_label_layer.py rename to one_off_projects/landsat/existing_dataset_to_utm/add_label_layer.py diff --git a/landsat/existing_dataset_to_utm/config.json b/one_off_projects/landsat/existing_dataset_to_utm/config.json similarity index 100% rename from landsat/existing_dataset_to_utm/config.json rename to one_off_projects/landsat/existing_dataset_to_utm/config.json diff --git a/landsat/existing_dataset_to_utm/prepare_windows.py b/one_off_projects/landsat/existing_dataset_to_utm/prepare_windows.py similarity index 100% rename from landsat/existing_dataset_to_utm/prepare_windows.py rename to one_off_projects/landsat/existing_dataset_to_utm/prepare_windows.py diff --git a/landsat/existing_dataset_to_utm/reformat_multisat.py b/one_off_projects/landsat/existing_dataset_to_utm/reformat_multisat.py similarity index 100% rename from landsat/existing_dataset_to_utm/reformat_multisat.py rename to one_off_projects/landsat/existing_dataset_to_utm/reformat_multisat.py diff --git a/landsat/quick_vis_script.py b/one_off_projects/landsat/quick_vis_script.py similarity index 100% rename from landsat/quick_vis_script.py rename to one_off_projects/landsat/quick_vis_script.py diff --git a/landsat/random_landsat/convert_to_multisat_dataset.py b/one_off_projects/landsat/random_landsat/convert_to_multisat_dataset.py similarity index 100% rename from landsat/random_landsat/convert_to_multisat_dataset.py rename to one_off_projects/landsat/random_landsat/convert_to_multisat_dataset.py diff --git a/landsat/random_landsat/convert_windows_to_utm.py b/one_off_projects/landsat/random_landsat/convert_windows_to_utm.py similarity index 100% rename from landsat/random_landsat/convert_windows_to_utm.py rename to one_off_projects/landsat/random_landsat/convert_windows_to_utm.py diff --git a/landsat/random_landsat/random_landsat_windows.py b/one_off_projects/landsat/random_landsat/random_landsat_windows.py similarity index 100% rename from landsat/random_landsat/random_landsat_windows.py rename to one_off_projects/landsat/random_landsat/random_landsat_windows.py diff --git a/landsat/recheck_landsat_labels/README.md b/one_off_projects/landsat/recheck_landsat_labels/README.md similarity index 100% rename from landsat/recheck_landsat_labels/README.md rename to one_off_projects/landsat/recheck_landsat_labels/README.md diff --git a/landsat/recheck_landsat_labels/phase123_config.yaml b/one_off_projects/landsat/recheck_landsat_labels/phase123_config.yaml similarity index 100% rename from landsat/recheck_landsat_labels/phase123_config.yaml rename to one_off_projects/landsat/recheck_landsat_labels/phase123_config.yaml diff --git a/landsat/recheck_landsat_labels/phase123_config_hparams.yaml b/one_off_projects/landsat/recheck_landsat_labels/phase123_config_hparams.yaml similarity index 100% rename from landsat/recheck_landsat_labels/phase123_config_hparams.yaml rename to one_off_projects/landsat/recheck_landsat_labels/phase123_config_hparams.yaml diff --git a/landsat/recheck_landsat_labels/phase12_config.yaml b/one_off_projects/landsat/recheck_landsat_labels/phase12_config.yaml similarity index 100% rename from landsat/recheck_landsat_labels/phase12_config.yaml rename to one_off_projects/landsat/recheck_landsat_labels/phase12_config.yaml diff --git a/landsat/recheck_landsat_labels/phase1_assign_split.py b/one_off_projects/landsat/recheck_landsat_labels/phase1_assign_split.py similarity index 100% rename from landsat/recheck_landsat_labels/phase1_assign_split.py rename to one_off_projects/landsat/recheck_landsat_labels/phase1_assign_split.py diff --git a/landsat/recheck_landsat_labels/phase1_config.json b/one_off_projects/landsat/recheck_landsat_labels/phase1_config.json similarity index 100% rename from landsat/recheck_landsat_labels/phase1_config.json rename to one_off_projects/landsat/recheck_landsat_labels/phase1_config.json diff --git a/landsat/recheck_landsat_labels/phase1_config.yaml b/one_off_projects/landsat/recheck_landsat_labels/phase1_config.yaml similarity index 100% rename from landsat/recheck_landsat_labels/phase1_config.yaml rename to one_off_projects/landsat/recheck_landsat_labels/phase1_config.yaml diff --git a/landsat/recheck_landsat_labels/phase1_get_1000.py b/one_off_projects/landsat/recheck_landsat_labels/phase1_get_1000.py similarity index 100% rename from landsat/recheck_landsat_labels/phase1_get_1000.py rename to one_off_projects/landsat/recheck_landsat_labels/phase1_get_1000.py diff --git a/landsat/recheck_landsat_labels/phase1_index.html b/one_off_projects/landsat/recheck_landsat_labels/phase1_index.html similarity index 100% rename from landsat/recheck_landsat_labels/phase1_index.html rename to one_off_projects/landsat/recheck_landsat_labels/phase1_index.html diff --git a/landsat/recheck_landsat_labels/phase1_server.py b/one_off_projects/landsat/recheck_landsat_labels/phase1_server.py similarity index 100% rename from landsat/recheck_landsat_labels/phase1_server.py rename to one_off_projects/landsat/recheck_landsat_labels/phase1_server.py diff --git a/landsat/recheck_landsat_labels/phase2_config.json b/one_off_projects/landsat/recheck_landsat_labels/phase2_config.json similarity index 100% rename from landsat/recheck_landsat_labels/phase2_config.json rename to one_off_projects/landsat/recheck_landsat_labels/phase2_config.json diff --git a/landsat/recheck_landsat_labels/phase2_config.yaml b/one_off_projects/landsat/recheck_landsat_labels/phase2_config.yaml similarity index 100% rename from landsat/recheck_landsat_labels/phase2_config.yaml rename to one_off_projects/landsat/recheck_landsat_labels/phase2_config.yaml diff --git a/landsat/recheck_landsat_labels/phase2_get_3000.py b/one_off_projects/landsat/recheck_landsat_labels/phase2_get_3000.py similarity index 100% rename from landsat/recheck_landsat_labels/phase2_get_3000.py rename to one_off_projects/landsat/recheck_landsat_labels/phase2_get_3000.py diff --git a/landsat/recheck_landsat_labels/phase2_index.html b/one_off_projects/landsat/recheck_landsat_labels/phase2_index.html similarity index 100% rename from landsat/recheck_landsat_labels/phase2_index.html rename to one_off_projects/landsat/recheck_landsat_labels/phase2_index.html diff --git a/landsat/recheck_landsat_labels/phase2_make_overview_windows.py b/one_off_projects/landsat/recheck_landsat_labels/phase2_make_overview_windows.py similarity index 100% rename from landsat/recheck_landsat_labels/phase2_make_overview_windows.py rename to one_off_projects/landsat/recheck_landsat_labels/phase2_make_overview_windows.py diff --git a/landsat/recheck_landsat_labels/phase2_overview_rgb.py b/one_off_projects/landsat/recheck_landsat_labels/phase2_overview_rgb.py similarity index 100% rename from landsat/recheck_landsat_labels/phase2_overview_rgb.py rename to one_off_projects/landsat/recheck_landsat_labels/phase2_overview_rgb.py diff --git a/landsat/recheck_landsat_labels/phase2_pansharpen.py b/one_off_projects/landsat/recheck_landsat_labels/phase2_pansharpen.py similarity index 100% rename from landsat/recheck_landsat_labels/phase2_pansharpen.py rename to one_off_projects/landsat/recheck_landsat_labels/phase2_pansharpen.py diff --git a/landsat/recheck_landsat_labels/phase2_server.py b/one_off_projects/landsat/recheck_landsat_labels/phase2_server.py similarity index 100% rename from landsat/recheck_landsat_labels/phase2_server.py rename to one_off_projects/landsat/recheck_landsat_labels/phase2_server.py diff --git a/landsat/recheck_landsat_labels/phase3_get_750.py b/one_off_projects/landsat/recheck_landsat_labels/phase3_get_750.py similarity index 100% rename from landsat/recheck_landsat_labels/phase3_get_750.py rename to one_off_projects/landsat/recheck_landsat_labels/phase3_get_750.py diff --git a/landsat/recheck_landsat_labels/phase3a_selected.csv b/one_off_projects/landsat/recheck_landsat_labels/phase3a_selected.csv similarity index 100% rename from landsat/recheck_landsat_labels/phase3a_selected.csv rename to one_off_projects/landsat/recheck_landsat_labels/phase3a_selected.csv diff --git a/rslp/landsat_vessels/config.py b/rslp/landsat_vessels/config.py index 96a5b613..9c1ac8a5 100644 --- a/rslp/landsat_vessels/config.py +++ b/rslp/landsat_vessels/config.py @@ -6,13 +6,9 @@ LANDSAT_LAYER_NAME = "landsat" LANDSAT_RESOLUTION = 15 -# Detector config +# Data config LOCAL_FILES_DATASET_CONFIG = "data/landsat_vessels/predict_dataset_config.json" AWS_DATASET_CONFIG = "data/landsat_vessels/predict_dataset_config_aws.json" -DETECT_MODEL_CONFIG = "data/landsat_vessels/config.yaml" -DETECT_MODEL_EVAL_CONFIG = ( - "data/landsat_vessels/config_eval.yaml" # config for evaluation -) # Extract Landsat bands from local config file with open(LOCAL_FILES_DATASET_CONFIG) as f: @@ -21,8 +17,9 @@ band["bands"][0] for band in json_data["layers"][LANDSAT_LAYER_NAME]["band_sets"] ] -# Classifier config -CLASSIFY_MODEL_CONFIG = "landsat/recheck_landsat_labels/phase123_config.yaml" +# Model config +DETECT_MODEL_CONFIG = "data/landsat_vessels/detector_config.yaml" +CLASSIFY_MODEL_CONFIG = "data/landsat_vessels/classifier_config.yaml" CLASSIFY_WINDOW_SIZE = 64 # Filter config From f7ab5662c771ee6a2aa8316ed19977876bad13e2 Mon Sep 17 00:00:00 2001 From: yawenzzzz Date: Thu, 16 Jan 2025 17:57:43 +0000 Subject: [PATCH 2/5] rename detector and classifier config --- .../{classifier_config.yaml => config_classifier.yaml} | 0 .../{detector_config.yaml => config_detector.yaml} | 0 rslp/landsat_vessels/config.py | 4 ++-- 3 files changed, 2 insertions(+), 2 deletions(-) rename data/landsat_vessels/{classifier_config.yaml => config_classifier.yaml} (100%) rename data/landsat_vessels/{detector_config.yaml => config_detector.yaml} (100%) diff --git a/data/landsat_vessels/classifier_config.yaml b/data/landsat_vessels/config_classifier.yaml similarity index 100% rename from data/landsat_vessels/classifier_config.yaml rename to data/landsat_vessels/config_classifier.yaml diff --git a/data/landsat_vessels/detector_config.yaml b/data/landsat_vessels/config_detector.yaml similarity index 100% rename from data/landsat_vessels/detector_config.yaml rename to data/landsat_vessels/config_detector.yaml diff --git a/rslp/landsat_vessels/config.py b/rslp/landsat_vessels/config.py index 9c1ac8a5..510eb82a 100644 --- a/rslp/landsat_vessels/config.py +++ b/rslp/landsat_vessels/config.py @@ -18,8 +18,8 @@ ] # Model config -DETECT_MODEL_CONFIG = "data/landsat_vessels/detector_config.yaml" -CLASSIFY_MODEL_CONFIG = "data/landsat_vessels/classifier_config.yaml" +DETECT_MODEL_CONFIG = "data/landsat_vessels/config_detector.yaml" +CLASSIFY_MODEL_CONFIG = "data/landsat_vessels/config_classifier.yaml" CLASSIFY_WINDOW_SIZE = 64 # Filter config From abee123a22203fcf8fb3aebeeab9b815f42bc66d Mon Sep 17 00:00:00 2001 From: yawenzzzz Date: Thu, 16 Jan 2025 22:00:43 +0000 Subject: [PATCH 3/5] format --- ai2_docs/landsat_vessels/model_summary.md | 4 +- ai2_docs/landsat_vessels/train_eval.md | 6 +-- docs/images/landsat_vessels/prediction.png | Bin 0 -> 185989 bytes docs/landsat_vessels.md | 43 ++++++++++++++------- 4 files changed, 34 insertions(+), 19 deletions(-) create mode 100644 docs/images/landsat_vessels/prediction.png diff --git a/ai2_docs/landsat_vessels/model_summary.md b/ai2_docs/landsat_vessels/model_summary.md index c81a37ce..9092b4f1 100644 --- a/ai2_docs/landsat_vessels/model_summary.md +++ b/ai2_docs/landsat_vessels/model_summary.md @@ -30,8 +30,8 @@ Note: The evaluation metrics are reported for the two-stage model (detector + cl --- ## Model Configurations -- **Detector**: `rslearn_projects/data/landsat_vessels/config.yaml` -- **Classifier**: `rslearn_projects/landsat/recheck_landsat_labels/phase123_config.yaml` +- **Detector**: `rslearn_projects/data/landsat_vessels/config_detector.yaml` +- **Classifier**: `rslearn_projects/data/landsat_vessels/config_classifier.yaml` - **Filters**: marine infrastructure `rslearn_projects/rslp/utils/filter.py` --- diff --git a/ai2_docs/landsat_vessels/train_eval.md b/ai2_docs/landsat_vessels/train_eval.md index 0c3b8da6..31291c8a 100644 --- a/ai2_docs/landsat_vessels/train_eval.md +++ b/ai2_docs/landsat_vessels/train_eval.md @@ -12,17 +12,17 @@ This detects vessels in Landsat imagery using two models: The object detector can be trained like this: - python -m rslp.rslearn_main model fit --config data/landsat_vessels/config.yaml + python -m rslp.rslearn_main model fit --config data/landsat_vessels/config_detector.yaml The dataset was originally labeled in siv and has been converted to rslearn dataset using the code in `landsat/existing_dataset_to_utm/`. The classifier can be trained like this: - python -m rslp.rslearn_main model fit --config landsat/recheck_landsat_labels/phase123_config.yaml + python -m rslp.rslearn_main model fit --config data/landsat_vessels/config_classifier.yaml The data collection process for the classifier is described in -`landsat/recheck_landsat_labels/README.md`. +`one_off_projects/landsat/recheck_landsat_labels/README.md`. --- diff --git a/docs/images/landsat_vessels/prediction.png b/docs/images/landsat_vessels/prediction.png new file mode 100644 index 0000000000000000000000000000000000000000..6a66d8310b5e7e17156dcd43d0a5d6d701bcc5e3 GIT binary patch literal 185989 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

j{Do2V;!KP(0|tl!)=h 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

-1TK;E0H`euGmX0JQRc>Ol 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

Date: Fri, 17 Jan 2025 00:02:44 +0000 Subject: [PATCH 5/5] minor --- docs/landsat_vessels.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/landsat_vessels.md b/docs/landsat_vessels.md index 27d6e3ac..ca800087 100644 --- a/docs/landsat_vessels.md +++ b/docs/landsat_vessels.md @@ -54,7 +54,7 @@ Now we can run the pipeline: Here, `scratch_path` saves the rslearn dataset, `crop_path` saves the cropped RGB images centered around the detected ships, and `json_path` saves the JSON output of the detected ships, all of which are optional, depending on whether the user wants to save the intermediate results or not. -The prediction pipeline also accepts a Landsat scene ID and automatically downloads the scene images from [AWS](https://aws.amazon.com/marketplace/pp/prodview-ivr4jeq6flk7u#resources). You will need to set up your AWS account for accessing Landsat data. Use the command below to run pipeline with scene ID: +The prediction pipeline also accepts a Landsat scene ID and automatically downloads the scene images from [AWS](https://aws.amazon.com/marketplace/pp/prodview-ivr4jeq6flk7u#resources). You will need to set up your AWS account for accessing Landsat data. Use the command below to run the pipeline with scene ID: python -m rslp.main landsat_vessels predict --scene_id LC08_L1TP_125059_20240727_20240801_02_T1

vF742#fLBo_A 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 + Image showing a Landsat image with predicted positions of ships from the model overlayed. + Inference --------- -First, download the both the detector and classifier checkpoint to the `RSLP_PREFIX` directory. +First, download the detector and classifier checkpoints to the `RSLP_PREFIX` directory. cd rslearn_projects mkdir -p project_data/projects/landsat_vessels/data_20240924_model_20240924_imagenet_patch512_flip_03/checkpoints/ @@ -20,11 +26,13 @@ First, download the both the detector and classifier checkpoint to the `RSLP_PRE mkdir -p project_data/projects/rslearn-landsat-recheck/phase123_20240919_01_copy/checkpoints/ wget https://storage.googleapis.com/ai2-rslearn-projects-data/landsat_vessels/classifer/best.ckpt -O project_data/projects/rslearn-landsat-recheck/phase123_20240919_01_copy/checkpoints/last.ckpt -The esasiest way to apply the model is using the prediction pipeline in `rslp/landsat_vessels/predict_pipeline.py`. It accepts a Landsat scene ID and automatically downloads the scene images from AWS. +The esasiest way to apply the model is using the prediction pipeline in `rslp/landsat_vessels/predict_pipeline.py`. It accepts a Landsat scene ID and automatically downloads the scene images from [AWS](https://aws.amazon.com/marketplace/pp/prodview-ivr4jeq6flk7u#resources). You will need to set up your AWS account for accessing Landsat data. - mkdir output_crops + mkdir scratch_dir + mkdir crop_dir + python -m rslp.main landsat_vessels predict --scene_id LC09_L1TP_193030_20241104_20241104_02_T1 --scratch_path scratch_dir --crop_path crop_dir --json_path output.json -TODO: add the command here. +Then, `scratch_dir` will save the rslearn dataset, `crop_dir` will save the cropped RGB images centered around the detected ships, and `output.json` will save the JSON output of the detected ships. Training @@ -34,19 +42,26 @@ First, download the training dataset for detector: cd rslearn_projects mkdir -p project_data/datasets/landsat_vessels/ - wget https://storage.googleapis.com/ai2-rslearn-projects-data/landsat_vessels/landsat_vessels_detector.tar -0 + wget https://storage.googleapis.com/ai2-rslearn-projects-data/landsat_vessels/landsat_vessels_detector.tar -0 project_data/datasets/landsat_vessels_detector.tar tar xvf project_data/datasets/landsat_vessels_detector.tar --directory project_data/datasets/landsat_vessels/ -It is an rslearn dataset consisting of window folders like +It is an rslearn dataset consisting of window folders like `windows/labels_utm/41984_2354176_f7c057a567ee40b694d0a77ea59ef81a_6359/`. Inside each window folder: -Use the command below to train the model. Note that Weights & Biases is needed. +- `layers/landsat/` contains different Landsat bands used by the model. +- `layers/label/data.geojson` contains the positions of ships. These are offset from + the bounds of the window which are in `metadata.json`, so subtract the window's + bounds to get pixel coordinates relative to the image. +Use the command below to train the detector. Note that Weights & Biases is needed. You can +disable W&B with `--no_log true` but then it may be difficult to track the metrics. + + python -m rslp.rslearn_main model fit --config data/landsat_vessels/config_detector.yaml --data.init_args.path project_data/datasets/landsat_vessels/dataset_20240924/ Second, download the training dataset for classifier: - cd rslearn_projects - mkdir -p project_data/datasets/landsat_vessels/ - wget -0 + wget https://storage.googleapis.com/ai2-rslearn-projects-data/landsat_vessels/landsat_vessels_classifier.tar -0 project_data/datasets/landsat_vessels_classifier.tar tar xvf project_data/dataset/landsat_vessels_classifier.tar --directory project_data/datasets/landsat_vessels/ -To visualize outputs on the +Use the command below to train the classifier. + + python -m rslp.rslearn_main model fit --config data/landsat_vessels/config_classifer.yaml --data.init_args.path project_data/datasets/landsat_vessels/dataset_20240905/ From 0eb432a2401f776e43768379af37f70a0c31a09a Mon Sep 17 00:00:00 2001 From: yawenzzzz Date: Thu, 16 Jan 2025 23:59:57 +0000 Subject: [PATCH 4/5] resolve comments --- docs/landsat_vessels.md | 38 +++++++++++++++++++++++++++++++------- 1 file changed, 31 insertions(+), 7 deletions(-) diff --git a/docs/landsat_vessels.md b/docs/landsat_vessels.md index 37dda177..27d6e3ac 100644 --- a/docs/landsat_vessels.md +++ b/docs/landsat_vessels.md @@ -5,7 +5,7 @@ The Landsat vessel detection model detects ships in Landsat 8/9 scenes. We use L important for [Skylight](https://www.skylight.global/) (which is the primary use of this model within Ai2). -The model includes of a detector and a classifier: the detector detects ship-like objects, and the classifier refines these detections. The detector is trained on a dataset consisting of 7,954 Landsat patches (ranging from 384x384 to 768x768) with 18,509 ship labels. The classifier is trained on a dataset consisting of about 2,000 annotated detections (the input patch size is 64x64). See [our paper](https://arxiv.org/pdf/2312.03207) for more details about the model and dataset. +The model includes of a detector and a classifier: the detector detects ship-like objects, and the classifier refines these detections by pruning ones that it is confident are not ships. The detector is trained on a dataset consisting of 7,954 Landsat patches (ranging from 384x384 to 768x768) with 18,509 ship labels. The classifier is trained on a dataset consisting of 1,733 annotated detections, with each detection represented as a 64x64 patch centered at the position of a detected ship. See our paper for more details about the model and dataset.