Сбор и разметка данных с БПЛА

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

1. Особенности изображений с БПЛА: ракурсы, масштаб и параметры камеры

На предыдущих этапах обучения вы познакомились с архитектурой сверточных нейронных сетей (CNN) и поняли, как они извлекают признаки из изображений. Однако любая, даже самая совершенная архитектура нейросети, подчиняется правилу: качество результата напрямую зависит от качества входных данных. Изображения, получаемые с беспилотных летательных аппаратов (БПЛА), кардинально отличаются от фотографий из стандартных датасетов вроде COCO или ImageNet.

Специфика дронов диктует свои правила. Камера постоянно находится в движении, угол обзора меняется, а объекты, которые на земле кажутся огромными, с высоты превращаются в горстку пикселей. Чтобы обучить надежную модель обнаружения объектов (Object Detection), необходимо глубоко понимать природу этих данных.

Ракурсы съемки: взгляд с небес

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

Первый ракурс — надир (Nadir). Это съемка, при которой объектив камеры направлен строго вертикально вниз, под углом 90 градусов к поверхности земли.

Второй ракурс — перспективный или наклонный (Oblique). В этом случае камера отклонена от вертикали, обычно на угол от 30 до 60 градусов.

!Схема ракурсов съемки с БПЛА

Выбор ракурса критически влияет на то, какие признаки сможет извлечь сверточная нейросеть.

| Характеристика | Надир (Строго вниз) | Перспективный (Под углом) | |---|---|---| | Форма объектов | Плоская (видны только крыши) | Объемная (видны крыши и фасады) | | Искажения масштаба | Минимальные по всему кадру | Сильные (объекты вдали кажутся меньше) | | Перекрытие объектов | Редко (только деревьями/мостами) | Часто (высокие здания закрывают низкие) | | Применение в CV | Картография, подсчет деревьев, поиск пятен застройки | Поиск людей, распознавание типов автомобилей, патрулирование |

> Для задач обнаружения объектов перспективный ракурс часто предпочтительнее, так как он сохраняет привычные профили объектов. Однако он требует более сложной разметки, так как масштаб объектов меняется в зависимости от их положения в кадре (ближе к горизонту они становятся меньше).

Представьте, что вы обучаете нейросеть искать потерявшихся людей в лесу. При съемке в надир человек, стоящий прямо, будет выглядеть как небольшое пятно (голова и плечи). При перспективной съемке нейросеть сможет зацепиться за силуэт, цвет куртки и длину ног.

Пространственное разрешение и GSD

В мире БПЛА понятие «масштаб» заменяется строгим техническим термином — Ground Sample Distance (GSD). Это пространственное разрешение снимка, которое показывает, какое реальное расстояние на земле покрывает один пиксель изображения.

Если GSD равно 2 см/пиксель, это означает, что один квадратный пиксель на фотографии соответствует квадрату 2×2 сантиметра на поверхности земли.

Значение GSD рассчитывается по следующей формуле:

Где: * — высота полета дрона над объектом (в метрах) * — физическая ширина сенсора камеры (в миллиметрах) * — фокусное расстояние объектива (в миллиметрах) * — ширина получаемого изображения (в пикселях)

Почему GSD — это самый важный параметр при сборе датасета? Нейросети имеют предел чувствительности. Современные архитектуры обнаружения объектов (например, YOLO) с трудом распознают объекты, размер которых меньше 15×15 пикселей.

Допустим, мы ищем на снимках стандартный легковой автомобиль длиной 4 метра (400 см). * При полете на низкой высоте с GSD = 2 см/пиксель, длина автомобиля на фото составит 200 пикселей (). Нейросеть легко распознает марку и цвет. * При полете на большой высоте с GSD = 20 см/пиксель, длина автомобиля составит всего 20 пикселей (). Нейросеть поймет, что это машина, но детали будут утеряны. * При GSD = 50 см/пиксель автомобиль превратится в прямоугольник длиной 8 пикселей. Обнаружение станет невозможным.

!Интерактивный визуализатор GSD

При формировании датасета необходимо следить за тем, чтобы GSD в обучающей выборке совпадало с GSD, которое будет использоваться в реальных условиях (на этапе инференса). Если обучить модель на снимках с дрона, летящего на высоте 30 метров, она покажет катастрофическое падение точности при анализе видео с высоты 150 метров.

Параметры камеры: борьба со скоростью

Дроны перемещаются в пространстве со скоростью от 10 до 30 м/с (36-108 км/ч). При такой динамике стандартные настройки камеры приводят к деградации данных. Главный враг компьютерного зрения на БПЛА — смаз в движении (Motion Blur).

Смаз возникает, когда за время, пока затвор камеры открыт, дрон успевает пролететь значительное расстояние. В результате четкие границы объектов размываются. Как вы помните из устройства сверточных сетей, первые слои CNN реагируют именно на резкие перепады градиентов (границы и углы). Если границы размыты, фильтры не активируются, и объект «исчезает» для нейросети.

Чтобы избежать этого, операторы БПЛА используют короткую выдержку (Shutter Speed) — время, в течение которого свет попадает на матрицу. Для дронов рекомендуется выдержка не длиннее 1/1000 секунды.

Однако короткая выдержка порождает новую проблему: на матрицу попадает мало света. Изображение становится темным. Чтобы это компенсировать, приходится повышать светочувствительность (ISO), что неизбежно приводит к появлению цифрового шума — цветной ряби на фото. Шум также снижает точность нейросетей, заставляя их видеть ложные паттерны.

Еще один специфический артефакт БПЛА — эффект плавающего затвора (Rolling Shutter). Большинство камер дронов используют CMOS-матрицы, которые считывают изображение не целиком в один момент времени, а построчно, сверху вниз.

Если дрон летит быстро или резко поворачивает, то за время считывания кадра от первой до последней строки перспектива успевает измениться. В результате вертикальные объекты (столбы, здания) на фотографии получаются наклоненными или изогнутыми, как желе. Это искажает геометрические признаки объектов, что критично для алгоритмов трекинга и оценки размеров.

Влияние погодных условий и освещения

Сбор данных с БПЛА происходит на открытом воздухе, где освещение невозможно контролировать. Датасет, собранный в идеальных условиях, создаст «тепличную» нейросеть, которая откажется работать в реальном мире.

При разметке данных необходимо учитывать следующие факторы:

  • Длинные тени. Утром и вечером солнце находится низко над горизонтом. Тени от зданий и деревьев становятся длинными и густыми. Нейросеть может ошибочно принять черную тень от столба за трещину в асфальте или объединить объект и его тень в один bounding box (ограничивающую рамку).
  • Блики на воде и стеклах. При съемке в надир в солнечный день крыши автомобилей и поверхность водоемов могут отражать солнце прямо в объектив. Это создает пересвеченные белые пятна (выбитые пиксели), где информация полностью отсутствует.
  • Сезонность. Лес летом и лес зимой — это два совершенно разных фона для нейросети. Белый снег меняет контрастность сцены, а отсутствие листвы открывает объекты, которые летом были скрыты.
  • > Качественный датасет для БПЛА должен быть сбалансированным. Если вы собираете 10 000 изображений, убедитесь, что в них представлены разные ракурсы, разная высота (разный GSD), утреннее и вечернее освещение, а также пасмурная погода.

    Понимание физики полета, оптики и геометрии кадра — это фундамент. Без него разметка данных превращается в слепое обведение пикселей. Учитывая ракурсы, контролируя GSD и компенсируя артефакты движения, вы создаете данные, на которых нейросеть сможет раскрыть весь свой потенциал. На следующем этапе мы перейдем к изучению конкретных алгоритмов обнаружения объектов, которые будут обрабатывать эти подготовленные данные.

    2. Влияние погодных условий, освещения и артефактов движения на качество датасета

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

    Идеальных условий не существует. Дрон вибрирует от порывов ветра, солнце слепит объектив, а облака меняют контрастность сцены каждую секунду. Если обучить нейросеть исключительно на идеальных, четких снимках, сделанных в ясный полдень, она окажется абсолютно бесполезной ранним пасмурным утром. Чтобы собрать качественный датасет, необходимо понимать природу оптических и атмосферных искажений.

    Артефакты движения: когда скорость разрушает данные

    Главное отличие БПЛА от камеры наблюдения на столбе — постоянное движение. Дрон летит со скоростью, которая может достигать 15–20 метров в секунду. Это порождает два критических артефакта, способных «ослепить» сверточную нейросеть.

    Смаз в движении (Motion Blur)

    Смаз в движении возникает, когда за время открытия затвора камеры дрон успевает пролететь значительное расстояние.

    Представьте, что беспилотник летит со скоростью м/с. Камера делает снимок с выдержкой секунды. За это мгновение дрон пролетит расстояние , которое можно вычислить по формуле:

    Где: * — смещение камеры во время экспозиции (в метрах) * — скорость полета (в метрах в секунду) * — время выдержки (в секундах)

    Подставив значения, получаем метра (15 сантиметров). Если параметр GSD составляет 2 см/пиксель, то каждая точка на фотографии размажется на 7.5 пикселей вдоль вектора движения.

    Почему это критично для компьютерного зрения? Сверточные нейросети (CNN) на первых слоях ищут резкие перепады яркости — границы объектов, углы и контуры. Смаз работает как фильтр размытия: он уничтожает градиенты. Граница между крышей автомобиля и асфальтом становится плавной, фильтры нейросети не активируются, и объект сливается с фоном.

    Эффект плавающего затвора (Rolling Shutter)

    Большинство современных дронов оснащены легкими и недорогими CMOS-матрицами. Их особенность в том, что они считывают изображение не целиком в одну миллисекунду, а построчно — сверху вниз.

    Если дрон летит быстро или совершает резкий поворот (рыскание), то за время, пока матрица считает кадр от первой до последней строки, перспектива успеет измениться. В результате вертикальные объекты — столбы, фасады зданий, трубы — на фотографии получаются наклоненными по диагонали или изогнутыми, как желе.

    > Эффект плавающего затвора искажает геометрические признаки. Если нейросеть обучена искать строго прямоугольные грузовики, она может проигнорировать грузовик, который из-за искажения матрицы превратился в параллелограмм.

    !Интерактивный симулятор камеры дрона

    Треугольник экспозиции: компромисс между светом и шумом

    Чтобы победить смаз в движении, операторы БПЛА используют максимально короткую выдержку — например, 1/1000 или 1/2000 секунды. Но законы оптики неумолимы: чем короче выдержка, тем меньше света попадает на матрицу. Изображение становится слишком темным.

    Чтобы компенсировать нехватку света, автоматика камеры повышает светочувствительность (ISO). И здесь возникает новая проблема — цифровой шум. На фотографии появляется цветная рябь, особенно заметная в тенях и на однотонных поверхностях (например, на асфальте).

    Для человека шум — это просто неприятный визуальный дефект. Для нейросети шум — это хаотичный набор ложных признаков. Алгоритм может принять скопление контрастных шумовых пикселей за мелкий объект, что приведет к ложному срабатыванию (False Positive).

    При разметке зашумленных данных разметчику сложнее точно определить границы объекта, что снижает качество bounding box (ограничивающей рамки). Поэтому при сборе датасета всегда приходится балансировать: допускать легкий смаз при низком ISO или получать резкие, но зашумленные кадры.

    Влияние освещения и погодных условий

    Солнце — самый мощный, но абсолютно неконтролируемый источник света. Угол падения солнечных лучей кардинально меняет внешний вид объектов на аэрофотоснимках.

    Длинные тени и проблема объединения

    Утром и вечером, когда солнце находится низко над горизонтом, объекты отбрасывают длинные густые тени. При съемке в надир (строго вниз) тень часто выглядит более контрастной и заметной, чем сам объект.

    Это создает две проблемы для разметки и обучения:

  • Смещение рамки. Нейросеть часто воспринимает объект и его тень как единое целое. Если алгоритм должен оценивать габариты автомобилей для анализа трафика, включение тени в bounding box приведет к тому, что малолитражка будет распознана как длинномерный грузовик.
  • Ложные объекты. Тень от столба или дерева, падающая на дорогу, может быть распознана как трещина, препятствие или даже человек.
  • !Влияние тени на разметку объектов

    Блики и пересветы

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

    В зоне пересвета значение всех пикселей равно максимуму (255, 255, 255 в формате RGB). Информация о текстуре, цвете и форме объекта в этом месте физически уничтожена. Если блик попадает на крышу автомобиля, нейросеть теряет ключевые признаки для классификации его типа.

    Атмосферные явления

    Погода напрямую влияет на контрастность и видимость. Рассмотрим основные факторы в таблице:

    | Погодное условие | Влияние на изображение | Проблема для нейросети | |---|---|---| | Яркое солнце | Высокий контраст, глубокие тени, блики | Ошибки из-за теней, потеря данных в пересветах | | Сплошная облачность | Мягкий рассеянный свет, отсутствие теней | Идеальные условия для детекции, но объекты могут казаться плоскими | | Легкая дымка / Туман | Снижение микроконтраста, блеклые цвета | Размытие границ объектов, падение уверенности модели (Confidence Score) | | Дождь | Капли на объективе, мокрые отражающие поверхности | Искажение форм из-за капель, непредсказуемые блики от асфальта |

    Сезонность и изменение фона

    Фон (Background) играет не меньшую роль, чем сам объект. Нейросеть учится не только распознавать признаки искомого предмета, но и отличать его от окружающей среды.

    Представьте задачу: поиск потерявшихся людей в лесу. Летом человек в камуфляжной или зеленой одежде сливается с листвой. Контрастность минимальна. Зимой этот же человек на фоне белого снега будет выделяться максимально ярко. Однако зимой появляется другая проблема: человек в белом маскхалате станет невидимым для камеры.

    Снег кардинально меняет гистограмму изображения. Кадр становится пересвеченным, автоматика камеры пытается затемнить его, из-за чего темные объекты (например, стволы деревьев или автомобили) превращаются в абсолютно черные силуэты без деталей.

    Как собрать надежный датасет?

    Понимание всех этих артефактов позволяет сформулировать главное правило дата-инжиниринга для БПЛА: датасет должен быть репрезентативным.

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

    Чтобы создать устойчивую (робастную) модель, необходимо:

  • Собирать данные в разное время суток (утро, полдень, вечер), чтобы нейросеть выучила разные углы падения теней.
  • Летать в разную погоду (ясно, пасмурно), чтобы алгоритм не привязывался к идеальному контрасту.
  • Использовать аугментацию данных (искусственное изменение снимков) на этапе обучения: программно добавлять цифровой шум, имитировать смаз в движении и изменять баланс белого.
  • Качество разметки напрямую зависит от того, насколько хорошо оператор дрона справился с физикой полета и настройками камеры. Данные с сильным Rolling Shutter или критическим смазом лучше сразу удалять из датасета — они не научат нейросеть ничему полезному, а лишь внесут хаос в веса модели. На следующем этапе мы перейдем к изучению архитектур алгоритмов обнаружения объектов, которые будут работать с этими данными.

    3. Планирование полетов и извлечение кадров для формирования сбалансированного датасета

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

    Сбор датасета с беспилотника — это не просто хаотичный полет над местностью с включенной камерой. Это строгий инженерный процесс. От того, как вы спланируете маршрут и как извлечете кадры из отснятого материала, напрямую зависит, сможет ли нейросеть обобщать признаки объектов или она просто «зазубрит» конкретные пиксели.

    Стратегии планирования полета

    Для сбора данных операторы БПЛА используют специализированное программное обеспечение (например, UgCS, Litchi или встроенные планировщики DJI), которое позволяет дрону летать автономно по заранее заданным координатам. Это исключает человеческий фактор — неравномерную скорость и резкие рывки, которые приводят к смазу изображения.

    Существует две основные стратегии облета территории для сбора датасетов:

  • Сетка (Grid / Lawnmower). Дрон летит над территорией параллельными галсами (линиями), разворачивается и летит обратно, напоминая движение газонокосилки. Камера обычно направлена строго вниз (надир) или под небольшим углом. Этот метод идеален для площадных объектов: поиска автомобилей на парковках, анализа сельскохозяйственных угодий или детекции дефектов дорожного полотна.
  • Орбита (Point of Interest / Orbit). Дрон летает по кругу вокруг конкретного объекта, направив камеру в центр. Высота и радиус могут меняться. Этот метод критически важен, если нейросети предстоит распознавать сложные объемные объекты (например, вышки сотовой связи, здания или спецтехнику) с разных ракурсов.
  • Перекрытие кадров: зачем снимать одно и то же

    При планировании миссии типа «Сетка» важнейшим параметром является перекрытие (Overlap). Оно делится на продольное (по ходу движения дрона) и поперечное (между соседними параллельными линиями маршрута).

    Для задач фотограмметрии (создания 3D-моделей) перекрытие часто устанавливают на уровне 80%. Для сбора датасетов под Object Detection оптимальным считается перекрытие в 60–70%.

    Зачем это нужно? Представьте, что вы ищете людей в лесу. Если сделать только один снимок участка, человек может быть перекрыт веткой дерева. При перекрытии в 70% один и тот же участок земли попадет в 3–4 разных кадра под немного разными углами. На одном из снимков ветка сместится из-за изменения перспективы, и человек станет видимым. Кроме того, нейросеть получит примеры одного и того же объекта с разных ракурсов, что работает как естественная аугментация данных.

    !Схема полета дрона "змейкой" с перекрытием кадров

    Видео или Фото: что выбрать для датасета?

    Современные дроны позволяют собирать данные двумя путями: снимать видео в высоком разрешении (например, 4K при 30 или 60 кадрах в секунду) или делать интервальные фотографии (например, один кадр каждые 2 секунды). Рассмотрим плюсы и минусы в таблице.

    | Параметр | Интервальное фото | Видеосъемка (с последующим извлечением) | |---|---|---| | Качество изображения | Максимальное. Доступен формат RAW, нет артефактов сжатия. | Ниже. Видео сжимается кодеками (H.264/H.265), возможна потеря мелких деталей. | | Скорость затвора | Можно настроить вручную для каждого кадра, минимизируя смаз. | Часто ограничена частотой кадров, выше риск Motion Blur при быстром полете. | | Объем данных | Умеренный. Сохраняются только нужные кадры. | Огромный. Минута 4K-видео может занимать гигабайты памяти. | | Удобство сбора | Требует точного расчета интервала срабатывания затвора. | Максимально просто: включил запись и полетел. |

    На практике в 80% случаев инженеры по данным предпочитают снимать видео. Это быстрее, проще и позволяет постфактум решить, с какой частотой извлекать кадры. Процесс превращения видеофайла в набор картинок для разметки называется извлечением кадров (Frame Extraction или Frame Grabbing).

    Ловушка частоты кадров и утечка данных

    Здесь кроется самая частая и фатальная ошибка новичков в машинном обучении.

    Представьте: вы сняли 1 минуту видео полета над шоссе при 30 кадрах в секунду (FPS). Вы прогоняете видео через скрипт на Python и получаете изображений. Вы радостно размечаете автомобили на всех 1800 кадрах, обучаете модель и получаете точность 99%. Но когда вы запускаете дрон на следующий день, модель не находит половину машин. Что пошло не так?

    Вы столкнулись с утечкой данных (Data Leakage).

    Давайте посчитаем. Допустим, дрон летит со скоростью м/с. Камера снимает с частотой 30 кадров в секунду. За время между двумя соседними кадрами дрон пролетает расстояние :

    Где: * — расстояние между кадрами в метрах * — скорость дрона (10 м/с) * — частота кадров (30)

    Получаем метра.

    С высоты 50 метров смещение камеры на 33 сантиметра визуально незаметно. Кадр №1 и Кадр №2 будут практически идентичными. Автомобиль на них будет находиться в одних и тех же пикселях, с одинаковым освещением и фоном.

    При стандартном разделении датасета (например, 80% на обучение, 20% на валидацию) Кадр №1 попадет в обучающую выборку, а Кадр №2 — в валидационную.

    > Нейросеть не научится искать автомобили. Она просто запомнит конкретную картинку из обучающей выборки и «узнает» ее точную копию на этапе проверки. Это приведет к колоссальному переобучению (Overfitting).

    Как правильно извлекать кадры

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

    Эвристическое правило для БПЛА: извлекать 1 кадр в секунду (1 FPS) или даже 1 кадр в 2-3 секунды. Если дрон летит со скоростью 10 м/с, то за 2 секунды он пролетит 20 метров. Ракурс изменится, освещение сместится, и два соседних кадра станут независимыми примерами для нейросети.

    Лучше иметь датасет из 500 уникальных, разнообразных кадров, чем из 10 000 практически одинаковых.

    Формирование сбалансированного датасета

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

    Проблема 1: Дисбаланс классов

    Допустим, вы создаете систему для мониторинга строительной техники. В вашем датасете оказалось 2000 экскаваторов, 1500 самосвалов и всего 15 бетономешалок.

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

    Решение: * Целенаправленно планировать дополнительные полеты туда, где есть редкие объекты. * Использовать аугментацию (искусственное размножение) только для миноритарных классов: поворачивать кадры с бетономешалками, менять на них яркость и контраст.

    Проблема 2: Однообразие фона

    Если вы собирали данные для поиска потерявшихся людей только в сосновом лесу, модель не найдет человека в поле с высокой травой или в березовой роще. Фон (Background) содержит столько же информации, сколько и сам объект.

    Решение: Датасет должен быть стратифицирован (разделен на слои) по условиям среды. Идеальный датасет для БПЛА включает: * Разные типы подстилающей поверхности (асфальт, грунт, снег, трава, вода). * Разное время суток (утро с длинными тенями, яркий полдень, сумерки). * Разные высоты полета (чтобы модель выучила объекты в разном масштабе).

    Отбраковка мусора (Culling)

    Последний шаг перед разметкой — безжалостное удаление брака. Не стоит размечать кадры, где дрон совершал резкий разворот (сильный Rolling Shutter), или кадры, полностью засвеченные солнцем. Если человек не может уверенно распознать объект на снимке, нейросеть тоже не сможет. Разметка «мусорных» данных только запутает алгоритм оптимизации при обучении.

    Собрав репрезентативный, очищенный от дубликатов и сбалансированный набор изображений, вы закладываете прочный фундамент. На следующем этапе мы перейдем к самому интересному — изучению архитектур алгоритмов Object Detection, которые превратят эти пиксели в точные координаты объектов.

    4. Современные инструменты аннотирования и популярные форматы разметки объектов

    На предыдущих этапах мы проделали огромную работу: разобрались с физикой полета, учли влияние погоды и освещения, а главное — научились извлекать кадры так, чтобы избежать утечки данных. Теперь у вас на жестком диске лежит идеальный, сбалансированный датасет из сотен уникальных аэрофотоснимков.

    Но для нейросети это пока просто набор цветных пикселей. Чтобы алгоритм научился находить автомобили, людей или дефекты крыш, ему нужно показать правильные ответы. Процесс создания таких «ответов» называется аннотированием или разметкой данных.

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

    Типы разметки: от простых рамок до пиксельной точности

    Специфика изображений с БПЛА заключается в ракурсе. При съемке сверху (в надир) объекты могут быть ориентированы под любым углом, а их размер часто составляет всего несколько десятков пикселей на 4K-изображении. Выбор правильного типа разметки критически влияет на качество будущей модели.

    Ограничивающие рамки (Bounding Boxes)

    Это самый популярный и быстрый способ разметки для задач Object Detection. Разметчик рисует прямоугольник, который полностью вмещает искомый объект.

    Однако для дронов этот метод имеет существенный недостаток. Представьте автомобиль, припаркованный по диагонали к краю кадра. Если нарисовать вокруг него строго вертикальный прямоугольник, большую часть площади внутри рамки займет асфальт. Нейросеть начнет думать, что серый асфальт — это часть признаков автомобиля.

    Полигоны (Polygons)

    Для решения проблемы «лишнего фона» используется полигональная разметка. Оператор обводит объект по его реальному контуру, ставя точки на границах.

    Этот метод незаменим при сегментации сельскохозяйственных полей, извилистых дорог или солнечных панелей. Разметка полигонами занимает в 5–10 раз больше времени, чем выделение рамками, но дает модели абсолютно чистые данные о том, где заканчивается объект и начинается фон.

    Ориентированные рамки (Oriented Bounding Boxes / OBB)

    Компромисс между скоростью обычных рамок и точностью полигонов. Это прямоугольник, который можно вращать. OBB стал стандартом де-факто для анализа спутниковых снимков и данных с БПЛА, так как идеально подходит для разметки кораблей в порту, контейнеров или автомобилей на парковке.

    !Виды разметки объектов на аэрофотоснимке

    Популярные форматы данных: как нейросеть читает разметку

    Нейросеть не «видит» нарисованные вами цветные прямоугольники. Инструмент разметки сохраняет координаты этих фигур в текстовые файлы. Разные архитектуры нейросетей требуют разных форматов записи.

    Формат YOLO (You Only Look Once)

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

    Главная особенность YOLO — нормализация координат. Координаты записываются не в пикселях, а в долях от ширины и высоты изображения (от 0 до 1).

    Формула перевода координаты центра объекта по оси X выглядит так:

    Где: * — нормализованная координата (которую мы запишем в файл) * — реальная координата центра объекта в пикселях * — общая ширина изображения в пикселях

    Если ширина фото с дрона 4000 пикселей, а центр машины находится на отметке 2000 пикселей, то .

    Строка в файле YOLO выглядит так: 0 0.500 0.450 0.120 0.080

    Здесь 0 — это ID класса (например, автомобиль), далее идут нормализованные координаты центра (, ), а затем нормализованные ширина и высота рамки.

    Формат COCO (Common Objects in Context)

    В отличие от YOLO, формат COCO хранит всю разметку для всего датасета в одном большом файле .json.

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

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

    | Характеристика | YOLO | COCO | Pascal VOC | |---|---|---|---| | Тип файла | .txt (один на каждое фото) | .json (один на весь датасет) | .xml (один на каждое фото) | | Координаты | Нормализованные (0-1) | Абсолютные (пиксели) | Абсолютные (пиксели) | | Формат рамки | Центр X, Центр Y, Ширина, Высота | X мин, Y мин, Ширина, Высота | X мин, Y мин, X макс, Y макс | | Поддержка полигонов | Только в новых версиях (YOLOv8-seg) | Да, встроенная | Нет |

    Современные инструменты аннотирования

    Прошли те времена, когда инженеры писали собственные скрипты на Python для рисования рамок. Сегодня существуют мощные платформы, которые делают процесс удобным и быстрым.

    CVAT (Computer Vision Annotation Tool)

    Мощный инструмент с открытым исходным кодом, изначально разработанный Intel. CVAT — это индустриальный стандарт для профессиональных команд.

    Его главная суперсила для БПЛА-датасетов — интерполяция видео. Если вы размечаете видеопоток, вам не нужно обводить машину на каждом кадре. Вы выделяете ее на 1-м кадре, затем переходите на 30-й кадр и сдвигаете рамку туда, куда уехала машина. CVAT автоматически рассчитает траекторию и разметит промежуточные 28 кадров.

    Roboflow

    Облачная платформа, которая берет на себя весь жизненный цикл датасета. Roboflow отлично подходит для новичков, так как позволяет не только размечать данные, но и в один клик конвертировать форматы (например, из COCO в YOLO), применять аугментации и сразу запускать обучение модели в облаке.

    Label Studio

    Универсальный инструмент, который позволяет размечать не только картинки, но и текст, аудио и временные ряды. Отличается гибким интерфейсом, который можно настроить под специфическую задачу с помощью XML-подобных тегов.

    ИИ-ассистенты: конец ручной разметки?

    Самый мощный тренд последних лет — использование самих нейросетей для разметки данных под новые нейросети. Этот процесс называется Auto-labeling (авторазметка).

    > Разметка данных — это узкое горлышко машинного обучения. Мы тратим 80% времени на подготовку данных и лишь 20% на архитектуру моделей. > > Эндрю Ын, пионер глубокого обучения

    Инструменты вроде CVAT и Roboflow интегрируют в себя фундаментальные модели, такие как SAM (Segment Anything Model) от Meta.

    Как это работает на практике? Вместо того чтобы вручную ставить 20 точек по контуру сложной крыши здания на снимке с дрона, оператор просто кликает мышкой в центр крыши. SAM мгновенно анализирует пиксели, находит границы объекта и автоматически создает идеальный полигон. Оператору остается только подтвердить результат.

    Это ускоряет создание датасетов в десятки раз. Однако важно помнить: авторазметка часто ошибается на тенях, бликах и перекрытых объектах. Роль человека смещается от «рисовальщика» к «контролеру качества».

    Подготовка к обучению

    Качественная разметка — это фундамент. Если вы разметите экскаваторы как самосвалы, никакая, даже самая современная архитектура нейросети, не исправит эту ошибку. Модель выучит ваши ошибки.

    Выбрав правильный тип аннотаций (рамки, полигоны или OBB), сохранив их в нужном формате (YOLO или COCO) и прогнав через современные инструменты с ИИ-ассистентами, вы получаете готовый к употреблению продукт.

    На следующем этапе нашего курса мы возьмем этот размеченный датасет и погрузимся в математику и архитектуру алгоритмов Object Detection, чтобы заставить дрон «видеть» и понимать мир вокруг себя.

    5. Автоматизация процесса разметки и методы контроля качества аннотаций

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

    Чтобы масштабировать процесс подготовки датасетов для БПЛА, инженеры по машинному обучению применяют пайплайны автоматизации и строгие математические метрики контроля качества.

    Преданнотация и концепция Human-in-the-Loop

    Преданнотация (Pre-annotation) — это процесс, при котором черновую разметку датасета выполняет уже обученная нейросеть, а человек лишь корректирует ее результаты.

    Вместо того чтобы рисовать ограничивающие рамки (Bounding Boxes) с нуля, оператор получает изображение, на котором алгоритм уже выделил предполагаемые объекты. Роль человека смещается от «создателя» к «редактору». Этот подход называется Human-in-the-Loop (человек в цикле) и позволяет ускорить процесс разметки в 4–6 раз.

    Для преданнотации снимков с дронов обычно используют два типа моделей:

  • Базовые модели (Foundation Models): Алгоритмы вроде Segment Anything Model (SAM) от Meta, которые не знают названий классов, но отлично понимают границы объектов. Вы кликаете в центр здания на снимке с дрона, и модель сама строит идеальный полигон по контуру крыши.
  • Специфичные легковесные модели: Если вы собираете датасет для поиска коров на пастбищах, вы можете быстро разметить 500 кадров вручную, обучить на них простую модель (например, YOLOv8 Nano), а затем прогнать через нее оставшиеся 9500 кадров. Модель найдет 80% коров, и оператору останется только добавить пропущенных животных и удалить ложные срабатывания.
  • > Автоматизация не заменяет разметчика, она делает его работу более интеллектуальной. Нейросеть берет на себя рутину, оставляя человеку обработку сложных краевых случаев. > > Эндрю Ын, основатель DeepLearning.AI

    Активное обучение: как размечать только важное

    Представьте, что ваш дрон пролетел над автомагистралью и записал час видео. После извлечения кадров у вас есть 10 000 фотографий. На 9 000 из них изображены обычные легковые автомобили на сером асфальте при хорошем освещении. Если вы разметите их все, ваша модель не станет умнее — она просто заучит один и тот же паттерн.

    Здесь на помощь приходит Активное обучение (Active Learning). Это стратегия, при которой алгоритм сам выбирает, какие данные ему нужны для улучшения своих показателей.

    В основе активного обучения лежит метрика неопределенности модели (Model Uncertainty). Когда нейросеть делает предсказание, она выдает уровень уверенности (от 0 до 1).

    Цикл активного обучения выглядит так:

  • Обучение базовой модели на небольшом, случайном наборе данных (например, 500 кадров).
  • Прогон всего неразмеченного пула (9500 кадров) через эту модель.
  • Сортировка кадров по уровню уверенности. Кадры, где модель уверена на 99% (обычные машины), игнорируются.
  • Отбор кадров с низкой уверенностью (например, от 30% до 60%). Это могут быть машины в глубокой тени от деревьев, перевернутые автомобили или необычная спецтехника.
  • Передача этих «сложных» кадров на ручную разметку человеку.
  • Добавление новых данных в датасет и дообучение модели.
  • Применение активного обучения позволяет достичь целевой точности обнаружения объектов, разметив всего 20–30% от общего объема собранных с БПЛА данных.

    Контроль качества: от субъективности к математике

    Даже при использовании преданнотации ошибки неизбежны. В контексте БПЛА цена ошибки высока: если разметчик систематически захватывает в рамку тень от столба вместе с самим столбом, дрон в автономном полете может неверно рассчитать габариты препятствия.

    Для объективной оценки качества разметки используется метрика IoU (Intersection over Union — Пересечение поверх объединения). Она показывает, насколько рамка, нарисованная оператором, совпадает с эталонной рамкой (созданной старшим инженером или экспертом).

    Формула IoU выглядит следующим образом:

    Где: * — площадь области, где две рамки накладываются друг на друга. * — общая площадь, которую занимают обе рамки вместе.

    Значение IoU всегда находится в диапазоне от 0 до 1. Если рамки вообще не пересекаются, IoU равен 0. Если они совпадают пиксель в пиксель, IoU равен 1. В индустрии стандартом качественной разметки считается значение для сложных объектов и для простых.

    !Интерактивный калькулятор IoU

    Типичные ошибки в датасетах с БПЛА

    При проверке качества (QA) датасетов с дронов инженеры чаще всего сталкиваются со следующими проблемами, которые снижают IoU:

    * Неточное прилегание (Loose Bounding Boxes): Рамка слишком велика и захватывает много фона. При съемке в надир (строго вниз) это критично, так как фон (земля, трава) начинает восприниматься нейросетью как часть объекта. * Обрезанные края (Tight Bounding Boxes): Оператор не включил в рамку выступающие части объекта (например, ковш экскаватора или лопасти ветрогенератора). * Пропуск мелких объектов: На высоте 100 метров человек занимает на фото всего 15x15 пикселей. Разметчики часто пропускают такие объекты на периферии кадра. * Игнорирование окклюзии: Если автомобиль частично перекрыт кроной дерева, неопытный разметчик может выделить только видимую часть капота, тогда как правила разметки обычно требуют достраивать рамку до предполагаемых габаритов всего кузова.

    Многоэтапная проверка и консенсус

    Чтобы исключить попадание ошибок в обучающую выборку, крупные проекты используют многоуровневые системы контроля качества.

    Консенсусная разметка

    Для самых сложных и ответственных задач (например, разметка дефектов на лопастях турбин или поиск мин на тепловизионных снимках) применяется консенсус (Consensus).

    Одно и то же изображение отправляется трем независимым разметчикам. Система автоматически вычисляет IoU между их ответами.

    | Сценарий | Действие системы | Итог для датасета | |---|---|---| | Все 3 рамки имеют IoU > 0.8 | Система усредняет координаты рамок | Кадр автоматически принимается | | Две рамки имеют IoU > 0.8, третья сильно отличается | Система отбрасывает аномальную рамку, усредняет две оставшиеся | Кадр принимается, рейтинг третьего разметчика снижается | | Все 3 рамки имеют IoU < 0.5 | Система фиксирует разногласие (Disagreement) | Кадр отправляется на ручную проверку старшему инженеру (Reviewer) |

    Консенсусная разметка удорожает процесс в три раза, но гарантирует получение эталонного датасета (Gold Standard), на котором можно тестировать финальные версии нейросетей.

    Выборочный аудит

    Для массовых задач (например, подсчет деревьев в лесу) консенсус избыточен. Вместо него применяется выборочный аудит. Старший специалист (Reviewer) проверяет случайные 5–10% кадров из партии, выполненной конкретным оператором. Если процент ошибок в выборке превышает допустимый порог (например, 3%), вся партия возвращается на доработку.

    Автоматизация рутины через преданнотацию, умный отбор кадров с помощью активного обучения и строгий математический контроль через IoU превращают разметку из хаотичного рисования в предсказуемый инженерный процесс. Имея на руках верифицированный, чистый датасет, мы полностью готовы к тому, чтобы передать эти данные архитектурам сверточных нейросетей.