Files
remote-sensing/md/implementation_plan_radar_1.md

37 lines
3.0 KiB
Markdown

# Tích hợp Dữ liệu Radar (Sentinel-1) để phá vỡ giới hạn 95%
Để bổ sung dữ liệu Sentinel-1 (Radar) vào hệ thống 24-channel hiện tại (vốn chỉ có ảnh quang học Sentinel-2), chúng ta **không cần thu thập thêm dữ liệu từ bên ngoài** vì thư viện `planetary_computer` đã hỗ trợ sẵn tập dữ liệu `sentinel-1-rtc` (Radiometric Terrain Corrected).
Tuy nhiên, về mặt mã nguồn và tiền xử lý, tôi cần thực hiện một đợt nâng cấp toàn diện (Pipeline Upgrade). Dưới đây là kế hoạch chi tiết để tích hợp:
## User Review Required
> [!IMPORTANT]
> Việc tải và đồng bộ hoá dữ liệu Sentinel-1 (Radar) cho 1130 điểm toạ độ qua 4 mốc thời gian sẽ mất khoảng 15-20 phút chạy nền. Vui lòng xem qua kế hoạch và xác nhận **Proceed** để tôi bắt tay vào code!
## Proposed Changes
### 1. Module Trích xuất Dữ liệu Sentinel-1
Dữ liệu Sentinel-1 khác với Sentinel-2 ở chỗ nó có 2 kênh sóng Radar là `VV``VH`.
- Tạo một script mới tên là `extract_s1_patches.py` (dựa trên bộ khung của `train_land_2d_patch.py`).
- Sử dụng file shapefile gốc `train/ST_training_data_updated_1130points_new.shp` để giữ nguyên chuẩn toạ độ.
- Truy vấn `planetary_computer` lấy dữ liệu Sentinel-1 trong cùng mốc thời gian `2023-01-01/2023-04-30`.
- Nội suy (Interpolate) các mốc thời gian của Sentinel-1 (mỗi 12 ngày/chuyến) sao cho khớp đúng vào 4 mốc thời gian (Tháng 1, 2, 3, 4) của hệ thống hiện tại.
- Cắt thành các patch kích thước 16x16 pixel (độ phân giải 10m/pixel).
### 2. Gộp Dữ liệu (Sensor Fusion)
- Dữ liệu Sentinel-2 hiện có: `(N, 24, 16, 16)` (6 kênh * 4 tháng)
- Dữ liệu Sentinel-1 tải về: `(N, 8, 16, 16)` (2 kênh VV, VH * 4 tháng)
- **Hành động**: Viết script nối 2 khối dữ liệu này lại thành tensor mới `(N, 32, 16, 16)`. Lưu vào cache mới `dataset_cache/training_data_fusion_32ch.joblib`.
### 3. Nâng cấp Chiến lược Hybrid V2
#### [MODIFY] [train_ultimate_v2.py](file:///home/x79/remote-sensing/train_ultimate_v2.py)
- Nâng cấp mạng `LightCNN` để nhận đầu vào `in_ch=32`.
- Cập nhật hàm `extract_features_v2`: Thêm các đặc trưng thống kê và kết cấu không gian (Texture/GLCM) đặc thù của sóng Radar (ví dụ: Tỷ lệ Radar phân cực VH/VV, Phương sai Radar).
- Huấn luyện lại toàn bộ khối CNN + XGBoost trên tập 32-channel mới này.
## Verification Plan
### Automated Tests
- Chạy Pipeline để đảm bảo dữ liệu Sentinel-1 tải xuống không bị rỗng và khớp 100% về kích thước/thứ tự với Sentinel-2.
- Theo dõi Cross-Validation (CV) Score. Hệ thống cũ đang đạt mức 91.42%. Kỳ vọng khi có Sentinel-1, CV sẽ nhảy vọt qua ngưỡng 95% do mô hình nay đã "nhìn thấu" được các tháng mây che.