[Python, Обработка изображений] Определение положения и скорости тележки мостового крана с помощью цифровой камеры и OpenCV
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
В компьютерном зрении существует метод измерения расстояния до объекта без использования датчиков глубинны и стереокамер. В данной работе метод используется для определения положения и скорости тележки мостового крана.
Благодаря тому, что тележка оснащена энкодерами, я смогу показать, насколько точно работает данный метод, основанный на подобие треугольников. В статье показано как измерить дистанцию с помощью одной камеры, и как это можно использовать в практических задачах.
Тема посвящена моей дипломной работе в магистратуре, которую я писал два года назад.
Оборудование
Исследование проводилось в промышленной лаборатории, в которой установлена кран-балка, имитирующая работу настоящего мостового крана.
Во время эксперимента было записано видео передвижения крана с одновременной процедурой снятия показаний c энкодеров. Графики скорости получены в программе SoMove от Schneider Electric.
Видео записывалось на камеру Canon EOS 1200D с разрешением 1920x1080.
Для детекции тележки используется графическая метка с нарисованным прямоугольником и кругом внутри. Решение не совсем удачное, перед экспериментом мне следовало получше разобраться в метках. Но с помощью контурного анализа (ограничения по площади и соотношению сторон) я все-таки смог детектировать нужный прямоугольник. Также добавлю, что, если объект легко детектировать и можно точно измерить физический размер, графическая метка не нужна.
Алгоритм работы
Метод вычисления расстояния основан на подобие треугольников, которые сходятся на диафрагме объектива.
Замерим площадь метки на бумаге с помощью линейки и площадь метки в кадре с помощью библиотеки opencv. Зная фокусное расстояние, мы можем рассчитать расстояние до объекта.
Проведение эксперимента
Цифровая камера установлена напротив тележки мостового крана. На расстоянии достаточном для того, чтобы угол обзора охватывал всю площадь работы крана.
Схема установки. Вид сверху.
Было записано два тестовых видео, движение по оси x — назад, от камеры и по оси y — сначала влево потом вправо. Значения положения и времени записываются в массив numpy после чего
экспортируются в Matlab, где строятся графики перемещения S(t).
Продифференцировав данные, мы получаем графики скорости V(t).
x_veloc = np.diff(x_position) / np.diff(time_mas)
В связи с тем, что графики перемещения имеют едва заметный шум, связанный с неточной детекцией краев и неравномерным освещением, операция дифференцирования сильно увеличивает этот шум.
Сгладим шум с помощью фильтра 1-го порядка в Matlab, и сравним показания энкодеров с показаниями цифровой камеры.
Графики показывают какую точность измерения дистанции можно получить с помощью одной камеры.
Для того чтобы снизить уровень шумов и получить более плавные графики была разработана вторая версия метки с козырьком и локальным освещением.
В теории это должно позволить снизить шум и тем самым увеличить точность измерений. К сожалению, опробовать новую версию метки еще не получилось.
Для тех кому интересно больше узнать о трекинге объектов на основе контурного анализа, есть хорошая статья Оценка точности методов трекинга для определения 2d-координат и скоростей механических систем по данным цифровой фотосъёмки.
В статье я рассказал про самый простой метод измерения расстояния до объекта и показал, какую точность измерения можно получить. Всем спасибо за внимание.
===========
Источник:
habr.com
===========
Похожие новости:
- [Python, Data Mining, Открытые данные] Black [O]lives Matter: раса, криминал и огонь на поражение в США. Часть 2
- [Python, Data Mining, Открытые данные] Black [O]lives Matter: раса, криминал и огонь на поражение в США. Часть 1
- [Python, Высокая производительность] Немного Сythonа
- [Анализ и проектирование систем, Здоровье, Инженерные системы, Обработка изображений] Тепловизионный контроль: бесконтактная биометрия против термометров, коронавируса и несознательных сотрудников
- [Искусственный интеллект, Машинное обучение] Модерация текста: уроки этикета от Data Scientist’a
- [Open source, Python] Кракс! Миллениалы изобрели Python фреймворк
- [Python, Программирование] Напишем и поймем Decision Tree на Python с нуля! Часть 1. Краткий обзор (перевод)
- [Python, Тестирование IT-систем, Тестирование веб-сервисов] Тесты в Python: все основные подходы, плюсы и минусы. Доклад Яндекса
- [Python, Функциональное программирование] Функциональное программирование в питоне. Генераторы, как питонячий декларативный стиль
- [Python, Алгоритмы, Лайфхаки для гиков, Научно-популярное, Программирование] Определяем пульс по вебкамере в 50 строчек кода
Теги для поиска: #_python, #_obrabotka_izobrazhenij (Обработка изображений), #_opencv, #_python, #_promyshlennost (Промышленность), #_obrabotka_izobrazhenij (Обработка изображений), #_python, #_obrabotka_izobrazhenij (
Обработка изображений
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 13:31
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
В компьютерном зрении существует метод измерения расстояния до объекта без использования датчиков глубинны и стереокамер. В данной работе метод используется для определения положения и скорости тележки мостового крана. Благодаря тому, что тележка оснащена энкодерами, я смогу показать, насколько точно работает данный метод, основанный на подобие треугольников. В статье показано как измерить дистанцию с помощью одной камеры, и как это можно использовать в практических задачах. Тема посвящена моей дипломной работе в магистратуре, которую я писал два года назад. Оборудование Исследование проводилось в промышленной лаборатории, в которой установлена кран-балка, имитирующая работу настоящего мостового крана. Во время эксперимента было записано видео передвижения крана с одновременной процедурой снятия показаний c энкодеров. Графики скорости получены в программе SoMove от Schneider Electric. Видео записывалось на камеру Canon EOS 1200D с разрешением 1920x1080. Для детекции тележки используется графическая метка с нарисованным прямоугольником и кругом внутри. Решение не совсем удачное, перед экспериментом мне следовало получше разобраться в метках. Но с помощью контурного анализа (ограничения по площади и соотношению сторон) я все-таки смог детектировать нужный прямоугольник. Также добавлю, что, если объект легко детектировать и можно точно измерить физический размер, графическая метка не нужна. Алгоритм работы Метод вычисления расстояния основан на подобие треугольников, которые сходятся на диафрагме объектива. Замерим площадь метки на бумаге с помощью линейки и площадь метки в кадре с помощью библиотеки opencv. Зная фокусное расстояние, мы можем рассчитать расстояние до объекта. Проведение эксперимента Цифровая камера установлена напротив тележки мостового крана. На расстоянии достаточном для того, чтобы угол обзора охватывал всю площадь работы крана. Схема установки. Вид сверху. Было записано два тестовых видео, движение по оси x — назад, от камеры и по оси y — сначала влево потом вправо. Значения положения и времени записываются в массив numpy после чего экспортируются в Matlab, где строятся графики перемещения S(t). Продифференцировав данные, мы получаем графики скорости V(t). x_veloc = np.diff(x_position) / np.diff(time_mas)
В связи с тем, что графики перемещения имеют едва заметный шум, связанный с неточной детекцией краев и неравномерным освещением, операция дифференцирования сильно увеличивает этот шум. Сгладим шум с помощью фильтра 1-го порядка в Matlab, и сравним показания энкодеров с показаниями цифровой камеры. Графики показывают какую точность измерения дистанции можно получить с помощью одной камеры. Для того чтобы снизить уровень шумов и получить более плавные графики была разработана вторая версия метки с козырьком и локальным освещением. В теории это должно позволить снизить шум и тем самым увеличить точность измерений. К сожалению, опробовать новую версию метки еще не получилось. Для тех кому интересно больше узнать о трекинге объектов на основе контурного анализа, есть хорошая статья Оценка точности методов трекинга для определения 2d-координат и скоростей механических систем по данным цифровой фотосъёмки. В статье я рассказал про самый простой метод измерения расстояния до объекта и показал, какую точность измерения можно получить. Всем спасибо за внимание. =========== Источник: habr.com =========== Похожие новости:
Обработка изображений ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 13:31
Часовой пояс: UTC + 5