Skip to content

AnnaSarukhanova24/Analysis-of-volcano-activity

Repository files navigation

Компьютерное зрение для анализа активности вулкана.

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

Введение

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

Общий вид кратера вулкана:

вулкан 22

Для выполнения задания вездеход под управлением персонала доставляет робота на высоту 4000 м.

Вездеход для траспортировки робота:

22

Далее робот, выполняет подъем к жерлу вулкана со скоростью до 5 км/ч на высоты до 6000 м. Робот несёт на борту до 10 датчиков , размещаемых во внутреннем защищённом от внешних агрессивных воздействий отсеке.

Подробнее про робота

11

Описание задачи

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

Описание решения

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

Для перемещения робота к цели должны быть решены две задачи:

• Обнаружения препятствий
• Нахождение поверхности с минимальным углом наклона для установки датчика

Решение позволяет выделить следующие этапы:

  1. Получение информации о среде и о состоянии робота
  2. Обработка полученной информации и составление модели поверхности/пространства вокруг робота. В составленной модели различные участки поверхности оцениваются и классифицируются по степени проходимости.
  3. Выбор параметров движения робота.

Рассмотрим два способа решения задачи:

  1. На роботе установлена одна веб камера
  2. На роботе установлена стереокамера

1.На роботе установлена одна камера.

1.1 Получение информации о среде

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

  1. Выбор важных параметров изображения (цвет, средняя яркость, градиент яркости по изображению)
  2. Автоматический выбор метода выделения контуров средствами библиотеки OpenCV

Алгоритм Canny для поиска границ объектов

frame.2022-06-28.11-11-46.mp4

Оперделение границ через функцию findContours

simple.conturs.2022-07-05.15-39-35.mp4

Метод порогового преобразования на основе бинаризации по градации серого

Метод порогового преобразования на основе бинаризации по RGB-каналам

1.3 Обнаружение препятствий

Для обработки изображения применяется линейная перспектива. Линейная перспектива — это способ построения объемного изображения на плоскости. Согласно ей, все линии изображения сходятся в одной точке. В проекте данный способ используется для того, чтобы оценивать расстояние до препятствий и их положение в пространстве. На кадре строится треугольник так, чтобы его вершина упиралась в вершину кадра. В построенном треугольнике проводится линия на высоте половины кадра так, чтобы внизу получилась трапеция. После этого трапеция разделяется на три зоны таким образом, чтобы получилось два треугольника с прямоугольником посередине. Это зоны справа, в центре и слева. При дальнейшей обработке нужно учитывать только те объекты, которые попали в одну из этих зон.

Безымянный-1

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

2. На роботе установлена стереокамера.

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

Есть несколько способов построения карты глубины. Рассмотрим некоторые из них:

2.1 Алгоритм Semi-global Matching (SGM). SGM широко применяется для вычисления карты глубины. В целях предобработки пары изображений, полученных с помощью стереокамеры, была использована общедоступная реализация алгоритма SGM из открытой библиотеки OpenCV.

Исходное изображение местности

11

Применение алгоритма Semi-global Matching для построения карты глубины

22

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

2.2 Подход Stixel World

В модели Stixel World препятствия описываются упрощённой моделью: Предполагается, что любое препятствие может быть хорошо приближено параллелепипедом. В таком случае на изображении препятствия могут быть хорошо приближены набором вертикальных прямоугольников с сопоставленными им значениями глубины. Таким образом, модель Stixel World предполагает сегментацию изображения на стиксели – прямоугольники фиксированной ширины. Каждому стикселю соответствует 4 следующих значения:

  1. Индекс стикселя.
  2. Координата строки изображения – нижняя граница стикселя.
  3. Координата строки изображения – верхняя граница стикселя.
  4. Значение расстояния. При этом предполагается, что расстояние одинаково до всех пикселей, принадлежащих стикселю.

33

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

Сегментация изображения согласно модели Stixel World. Цветом закодировано расстояние

44

Выделение области, безопасной для движения, с помощью сегментации согласно модели Stixel World.

55

Stixel World дает более точные результаты для анализа местности и есть возможность его использовать в реальном времени.

2.3 B-сплайн поверхности 3D точек Метод построения карты проходимой местности в реальном времени, вписывая 3D-точки в рациональные B-сплайновые поверхности. B-сплайны обеспечивают полную 3D-модель карты высот. Предлагаемый итеративный метод подгонки с повторным взвешиванием выполняет сегментацию выбросов с небольшим количеством итераций. Процесс выполнения метода:

  1. Генерация выборки данных трехмерных точек поверхности (xi,yi,zi). Каждая 3D-точка проецируется на соответствующую ячейку, характеризующая ее объем, независимо от того, представляют ли точка местность, объект или паразитный шум. Количество ячеек и их размер определяются интересующей областью и требуемым разрешением.
  2. Подгонка поверхности B-сплайна и оценка грунта. Цель состоит в том, чтобы извлечь основную поверхность местности из выборочной сетки точек p(xi,yi,Zi)- трехмерную поверхность, представляющую местность, по которой можно безопасно двигаться и на которой стоят объекты.
  3. Оценка уклона. Как только поверхность местности доступна в форме B-сплайна, уклон местности можно легко вычислить для любого (x, y) местоположения, содержащегося в интересующей области, просто путем вывода.
  4. Обнаружение препятствий. Отброшенные точки (xi,yi,zi) на предыдущем шаге, не принадлежащие местности, представляются как возможные препятствия.
  5. Оценка сложности проходимости. Примеры полученных изображений:

TesiDottoratoSabbatelli_DSPACE 222jpg

TesiDottoratoSabbatelli_DSPACE11

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

Заключение

В данной работе были изучены основные подходы компьютерного зрения и сделан вывод, что для оценки глубины изображения в режиме реального времени, а так же измерения расстояния до препятствий и оценки наклона поверхности подходят алгоритмы, использующие данные со стереокамеры. Для дальнейшего изучения вопроса перемещения робота в условиях пересеченной местности в режиме реального времени необходимо собрать исходные данные схожей местности и применить подходы Stixel World и B-сплайн поверхности 3D точек.

About

Computer vision to analyze volcano activity

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages