Конвейер обработки
Chloros 1.1.0 использует 4-потоковый конвейер обработки, работающий по принципу поэтапной конвейерной линии. Каждый поток отвечает за отдельный этап рабочего процесса, что позволяет одновременно обрабатывать несколько изображений на разных этапах.
Архитектура конвейера
Images In → [Thread 1: Detection] → [Thread 2: Calibration] → [Thread 3: Processing] → [Thread 4: Export] → Files OutКаждое изображение проходит по всем четырем потокам по порядку. Благодаря многопоточной обработке в Chloros+ несколько изображений могут одновременно находиться в разных потоках — пока поток 3 обрабатывает одно изображение, поток 1 может обнаруживать следующее, поток 2 — калибровать другое, а поток 4 — записывать ранее обработанное изображение на диск.
Подробная информация о потоках
Поток 1: Обнаружение
Назначение: Загрузка изображений и обнаружение калибровочных мишеней.
Считывает файлы изображений с диска (RAW, JPG)
Извлекает метаданные EXIF (GPS, модель камеры, временные метки, экспозиция)
Обнаруживает калибровочные мишени ArUco на изображениях с отмеченными мишенями
Результаты: данные изображения + метаданные + результаты обнаружения мишеней
Это в основном поток, ограниченный операциями ввода-вывода и ресурсами ЦП.
Поток 2: Калибровка
Назначение: Вычисление параметров калибровки по обнаруженным мишеням.
Вычисляет коэффициенты калибровки отражения по изображениям мишеней
Вычисляет параметры коррекции виньетирования
Определяет калибровочные кривые для каждого диапазона
Результаты: параметры калибровки для каждого изображения
Это вычислительный поток, ограниченный ресурсами ЦП.
Поток 3: Обработка (GPU)
Цель: Применение коррекций и вычисление индексов растительности.Это наиболее вычислительно-интенсивный поток.* Дебайеринг: преобразует данные RAW с матрицей Байера в многоканальные изображения
Стандартный (быстрый, среднее качество) — по умолчанию
С учетом текстуры (медленный, высочайшее качество) — только Chloros+, использует шумоподавление на основе ИИ/машинного обучения
Коррекция виньетирования: применяет коррекцию виньетирования объектива по всему изображению
Калибровка отражательной способности: Применяет коэффициенты калибровки для преобразования в значения отражательной способности
Расчет индексов: Вычисляет растительные индексы (NDVI, NDRE, GNDVI и т. д.)
Результаты: обработанные данные изображения, готовые к экспорту
Этот поток в наибольшей степени выигрывает от ускорения на GPU. Система Dynamic Compute Adaptation в первую очередь оптимизирует поведение этого потока.
Поток 4: Экспорт
Назначение: запись обработанных изображений на диск.
Запись выходных файлов в выбранном формате (TIFF 16-бит, TIFF 32-бит %, PNG, JPG)
Встраивает метаданные EXIF в выходные файлы (GPS, временные метки, параметры обработки)
Организует выходные данные в подпапки по моделям камер
Результаты: окончательные файлы на диске
Это в основном поток, ограниченный операциями ввода-вывода. Хранение на SSD значительно повышает производительность потока 4.
Последовательная обработка против конвейерной
Бесплатный режим (последовательный)
В бесплатной версии Chloros изображения обрабатываются по одному, последовательно проходя все четыре этапа:
Индикатор выполнения в графическом интерфейсе пользователя отображает 2 этапа: «Обнаружение цели» и «Обработка».
Режим Chloros+ (конвейерная)
При наличии лицензии Chloros+ все четыре потока работают одновременно с разными изображениями:
Индикатор выполнения в графическом интерфейсе пользователя отображает 4 этапа: обнаружение, анализ, калибровка, экспорт. Наведите курсор на индикатор выполнения, чтобы увидеть ход выполнения по каждому потоку.
Конвейерная обработка с Chloros+ может быть в 3–5 раз быстрее, чем последовательная обработка, в зависимости от вашего оборудования и размера набора данных. Наибольшее ускорение наблюдается на системах с быстрыми графическими процессорами и SSD-накопителями.
Ход экспорта в потоке 4
В Chloros 1.1.0 поток экспорта (поток 4) имеет собственное отслеживание хода выполнения. Вы можете отслеживать ход экспорта отдельно:CLI:
SDK:
Обработка завершена, когда поток 4 достигает 100%.
Связь с динамической адаптацией вычислений
Система динамической адаптации вычислений в первую очередь влияет на поток 3 (обработка):
GPU_PARALLELстратегия: поток 3 одновременно обрабатывает несколько изображений на GPU, используя конвейерfused_gpuСтратегия
GPU_SINGLE: поток 3 обрабатывает по одному изображению за раз, используя конвейерtiled_gpuс эффективным использованием памятиСтратегия
CPU_PARALLEL: поток 3 использует обработку на базе ЦП с многопоточным параллелизмом
Распределение памяти GPU в потоке 3 также динамически изменяется по мере завершения работы потоков 1 и 2 — см. Динамическое распределение памяти GPU.
Следующие шаги
Динамическая адаптация вычислений — Как Chloros выбирает оптимальную стратегию для вашего оборудования
Руководство по NVIDIA Jetson — Поведение конвейера на платформе Jetson
Мониторинг обработки — Мониторинг хода выполнения через графический интерфейс
Последнее обновление