QuaSAR — slide 1
QuaSAR — slide 2
QuaSAR — slide 3
QuaSAR — slide 4
QuaSAR — slide 5
← whs31

QuaSAR

Высокопроизводительный программный комплекс формирования радиолокационных изображений для радара с синтезированной апертурой

Обзор

QuaSAR – это программный комплекс для формирования радиолокационных изображений с синтезированной апертурой (РСА), сочетающий строгую типизацию и безопасность работы с памятью языка Rust с вычислительной мощностью параллельных архитектур NVIDIA CUDA.

Основная задача программного комплекса QuaSAR – трансформация «сырых» сигналов (голограмм) в детализированные геопривязанные изображения или видеопотоки.

Возможности

Телескопические изображения

В телескопическом режиме изображение формируется в пределах луча диаграммы направленности антенны. Это позволяет достичь максимальной разрешающей способности, однако охват изображения ограничен поверхностью, захватываемой лучом диаграммы направленности антенны радара.

Quasar telescopic

Полосовые изображения

Изображение формируется непрерывно по мере движения носителя («склеивается» из полос). Режим обеспечивает широкий охват земной поверхности на протяжении всего маршрута при сохранении стабильного качества детализации.

Quasar strip

Автофокусировка

Из-за навигационных ошибок и турбулентности изображение, сформированное с номинальной скоростью носителя, может оказаться расфокусированным. QuaSAR реализует автофокусировку на основе минимизации энтропии.

Алгоритм перебирает несколько вариантов опорной скорости, в диапазоне 60–140% от навигационного значения. Для каждого варианта скорости осуществляется построение радиолокационного изображения в окрестности заранее выбранного точечного отражателя, после чего вычисляется энтропия сектора. Минимум энтропии соответствует наилучшей фокусировке. Найденная оптимальная скорость используется при формировании финального изображения.

Quasar autofocus comparison Quasar autofocus chart

Видеопоток

Видеорежим реализован в виде покадрового синтезирования телескопических радиолокационных изображений с временной выборкой: каждый кадр синтезируется независимо из скользящего временного окна голограммы. Результат кодируется в H.265/HEVC через FFmpeg с настраиваемыми параметрами качества (CRF 18–28) и частотой до 120 кадров/сек.

Формирование и сохранение кадров распараллелены через двухпоточный конвейер с неблокирующими каналами crossbeam, что исключает простой потоков в ожидании записи на диск.

Распознавание объектов

В состав комплекса интегрирован модуль распознавания объектов на базе нейросети YOLO11 OBB. В отличие от стандартных детекторов, OBB-модель учитывает угол поворота объектов, что критически важно для радиолокационных снимков.

Модуль распознавания автоматически маркирует на радиолокационном изображении объекты (например, технику, транспортные средства, строения).

Quasar yolo

Архитектура

Процесс обработки сигнала представляет собой многоступенчатый конвейер.

Ключевые этапы обработки:

Поддерживаемые платформы

Программный комплекс спроектирован как кроссплатформенное решение с акцентом на встраиваемые системы и успешно функционирует на широком спектре устройств.

Семейство NVIDIA Jetson Orin

Целевая платформа комплекса. Проект оптимизирован для работы на модулях NVIDIA, обеспечивая максимальную производительность на ватт при обработке радиолокационных данных в полевых условиях. Поддерживаются:

Особенности: полная поддержка аппаратного ускорения через NVIDIA CUDA (архитектура sm_87/compute_87) и использование специализированных кодеков для мультиплексирования видеопотока.

Одноплатные компьютеры (SBC)

Несмотря на отсутствие аппаратного ускорения на этих платформах, высокая эффективность параллельных вычислений на ЦП позволяет использовать программный комплекс на таких одноплатных компьютерах как, например, Raspberry Pi 4/5.

Персональные компьютеры

Сравнение платформ

Для сравнения выбрано время формирования полосового радиолокационного изображения участка местности размером 3,000 × 4,529 м.

ПлатформаРежимВремя выполнения
Jetson Orin AGXGPU (CUDA)35.2 с
Jetson Orin NXGPU (CUDA)48.1 с
Jetson Orin NanoGPU (CUDA)48.3 с
ПК (RTX 5070, AMD Ryzen 5 7600)GPU (CUDA)14.0 с
ПК (RTX 5070, AMD Ryzen 5 7600)CPU (12 потоков)39.8 с
Raspberry Pi 5CPU (4 потока)116.5 с

Технологический стек

Проект написан на языке Rust (Edition 2024). Для достижения максимальной производительности при обработке сигналов используется CUDA 12, интеграция с которой выполнена через C FFI.

Используемые библиотеки

Обработка сигналов и математические вычисления
Параллелизм
Системные API
Работа с данными и форматами
Визуализация и анализ

Для профайлинга и выявления узких мест используется Tracy. Tracy profiler Cargo flamegraph