# Обработка снимков с дрона

Руководство по использованию функции обработки снимков с дрона в Field Mapper.

## 📋 Обзор

Field Mapper теперь поддерживает **автономную обработку снимков с дрона** без необходимости использования DJI Smart Farm или других сторонних сервисов.

### Возможности

- ✅ **Загрузка ZIP архива** со снимками (JPEG/TIFF)
- ✅ **Автоматическая склейка** в ортомозаику (OpenCV SIFT)
- ✅ **Геореференсинг** по GPS координатам из EXIF
- ✅ **Авто-определение культуры** (пшеница, кукуруза, подсолнечник, соя и др.)
- ✅ **NDVI анализ** и разбиение на зоны
- ✅ **Экспорт** в ISOXML, KMZ для техники

---

## 🚀 Быстрый старт

### 1. Подготовка снимков

**Требования к снимкам:**
- Формат: JPEG или TIFF
- Перекрытие между снимками: **60-80%** (рекомендуется 70%)
- Высота съёмки: 50-150 м (оптимально 100 м)
- Наличие GPS метаданных в EXIF

**Как подготовить:**
1. Скопируйте все снимки с дрона в одну папку
2. Упакуйте в ZIP архив
3. Готово к загрузке

### 2. Загрузка в Field Mapper

1. Откройте вкладку **Загрузки**
2. Выберите карточку **"Обработка снимков с дрона"**
3. Нажмите **"Выберите ZIP или снимки"**
4. Выберите ваш ZIP архив
5. Настройте опции:
   - **Поле**: выберите из списка или оставьте "Авто" (определение по GPS)
   - **Культура**: выберите тип или оставьте "Авто-определение"
6. Нажмите **"Загрузить и обработать"**

### 3. Ожидание обработки

**Время обработки:**
- 10-50 снимков: ~2-3 минуты
- 50-200 снимков: ~5-10 минут
- 200+ снимков: ~10-20 минут

**Статусы:**
- 🔄 **Обработка снимков...** — склейка в ортомозаику
- 🔄 **Анализ NDVI...** — расчёт индексов
- 🔄 **Классификация культуры...** — определение типа
- ✅ **Обработка завершена!** — готово

---

## 📸 Рекомендации по съёмке

### Для DJI Mavic 3M / Phantom 4 RTK

| Параметр | Значение |
|----------|----------|
| **Высота** | 100 м |
| **Перекрытие (вдоль)** | 70% |
| **Перекрытие (поперёк)** | 60% |
| **Скорость** | 5-7 м/с |
| **Угол камеры** | -90° (наadir) |

### Для других дронов

| Культура | Высота | GSD (см/пиксель) |
|----------|--------|------------------|
| **Пшеница/Ячмень** | 80-120 м | 3-5 см |
| **Кукуруза/Подсолнечник** | 100-150 м | 4-6 см |
| **Соя/Рапс** | 60-100 м | 2-4 см |
| **Овощи** | 40-80 м | 1-3 см |

---

## 🌾 Авто-определение культуры

Система автоматически определяет тип культуры по:

1. **NDVI профилю** — гистограмма значений
2. **Текстуре поля** — рядность, паттерн посадки
3. **Дате съёмки** — сезонность для региона

### Поддерживаемые культуры

| Культура | NDVI (пик) | Месяц пика | Паттерн |
|----------|------------|------------|---------|
| **Пшеница** | 0.75 | Июнь | Однородный |
| **Кукуруза** | 0.85 | Июль | Рядный |
| **Подсолнечник** | 0.65 | Июль | Рядный |
| **Соя** | 0.55 | Август | Рядный |
| **Рапс** | 0.80 | Май | Однородный |
| **Ячмень** | 0.70 | Июнь | Однородный |
| **Картофель** | 0.60 | Июль | Рядный |
| **Трава** | 0.60 | Июнь | Однородный |

### Точность определения

| Условие | Точность |
|---------|----------|
| **Оптимальное** (пик сезона) | 85-95% |
| **Ранняя стадия** | 70-80% |
| **Поздняя стадия** | 75-85% |
| **Смешанные посевы** | 50-65% |

---

## 🔧 API

### Загрузка снимков

```bash
POST /api/drone/upload
Content-Type: multipart/form-data

Параметры:
- drone_images: ZIP файл со снимками
- data: JSON {"field_id": 123, "crop_type": "auto"}
```

**Ответ:**
```json
{
  "message": "Архив принят. Запущена обработка ортомозаики.",
  "task_id": "abc123",
  "field_id": 123,
  "scan_id": 456,
  "estimated_time": "2-5 минут"
}
```

### Статус обработки

```bash
GET /api/drone/orthomosaic/status/{task_id}
```

**Ответ:**
```json
{
  "task_id": "abc123",
  "status": "processing",
  "progress": "Склейка снимков..."
}
```

### Классификация культуры

```bash
GET /api/scan/{scan_id}/classify
```

**Ответ:**
```json
{
  "scan_id": 456,
  "crop_type": "wheat",
  "confidence": 0.87,
  "details": {
    "top_candidates": [
      {"crop": "wheat", "score": 0.87},
      {"crop": "barley", "score": 0.72},
      {"crop": "rapeseed", "score": 0.45}
    ]
  },
  "ndvi_stats": {
    "mean": 0.68,
    "std": 0.12,
    "median": 0.70
  }
}
```

---

## 🛠️ Troubleshooting

### Ошибка: "Не найдено поле, соответствующее координатам"

**Причина:** GPS координаты снимков не попадают ни в одно поле в базе.

**Решение:**
1. Проверьте что поля добавлены в систему
2. Укажите поле вручную в dropdown "Поле"
3. Проверьте корректность GPS в EXIF (например, через `exiftool`)

### Ошибка: "Недостаточно изображений для склейки"

**Причина:** В архиве меньше 2 изображений.

**Решение:** Добавьте минимум 2 снимка с перекрытием.

### Ошибка: "Не удалось создать панораму"

**Причины:**
- Недостаточное перекрытие (<50%)
- Сильное облачность/тени
- Разное освещение снимков

**Решение:**
1. Проверьте перекрытие (должно быть 60-80%)
2. Убедитесь что снимки сделаны в один день
3. Попробуйте удалить некачественные снимки

### Низкая точность классификации

**Причины:**
- Ранняя стадия роста (NDVI низкий)
- Смешанные посевы
- Стресс (засуха, болезни)

**Решение:**
1. Укажите культуру вручную вместо "Авто"
2. Повторите съёмку в пик сезона
3. Используйте мультиспектральную камеру

---

## 📊 Примеры использования

### Пример 1: Пшеница, 50 га

**Данные:**
- Дрон: DJI Mavic 3M
- Высота: 100 м
- Снимков: 45
- Перекрытие: 70%/60%

**Результат:**
- Время обработки: 2 мин 34 сек
- Ортомозаика: 8500 x 6200 пикселей
- NDVI диапазон: 0.45 - 0.78
- Культура: Пшеница (уверенность 92%)
- Зоны: 3 (Низкая: 12 га, Средняя: 28 га, Высокая: 10 га)

### Пример 2: Кукуруза, 120 га

**Данные:**
- Дрон: Phantom 4 RTK
- Высота: 120 м
- Снимков: 180
- Перекрытие: 75%/65%

**Результат:**
- Время обработки: 8 мин 15 сек
- Ортомозаика: 15200 x 9800 пикселей
- NDVI диапазон: 0.52 - 0.89
- Культура: Кукуруза (уверенность 88%)
- Зоны: 3 (Низкая: 25 га, Средняя: 55 га, Высокая: 40 га)

---

## 🔗 Интеграция с техникой

После обработки вы можете:

1. **Экспортировать в ISOXML** — для тракторов John Deere, Claas, Case IH
2. **Экспортировать в KMZ** — для Google Earth, мобильных приложений
3. **Экспортировать в PDF** — печатные карты для механизаторов

---

## 📚 Дополнительные ресурсы

- [OpenCV Stitching Documentation](https://docs.opencv.org/master/d3/dfe/classcv_1_1Stitcher.html)
- [EXIF GPS Format Specification](https://exiftool.org/TagNames/GPS.html)
- [NDVI Interpretation Guide](https://www.cropx.com/blog/ndvi-normalized-difference-vegetation-index/)

---

*Последнее обновление: 1 апреля 2026 г.*
