Стабилизация полета без гироскопов или ИК-сенсоров
Представляю Вам наши первые практические результаты работы системы распознавания образов применительно к FPV
А можно поподробнее про используемый алгоритм ?
Я полагаю что стадии обработки изображения следующие:
- RGB -> grayscale
- grayscale -> monochrome (thresholding ?)
- математическая морфология (оконтуривание)
- анализ геометрии полученных объектов, рассчет их протяженности, соответственно самый узкий и протяженный объект - это и есть линия горизонта.
- Получаем уравнение прямой по методу наименьших квадратов (или используем преобразование Хафа) и берем оттудова угол.
Вообще, очень заинтересовал меня проект, если интересно, у меня есть кое какие наработки в области операций автоматического threshold’инга и модуль для быстрой работы с бинарными изображениями (мат. морфология и рассчет параметров объектов). Могу поделиться, может повезет, и будет работать в реал тайм 😃
Если Вас не затруднит - можно подробнее, проектов такого рода в открытом доступе немного.
Очевидно, я несколько туманно выразился: я не пытался применить обработку видеосигнала для стабилизации, поскольку видел работу гораздо более простых (по начальным условиям) программ например- распознавание лица в толпе, которые “сбоят” в казалось бы очевидных ситуациях.
Те вычислительные ресурсы, которые для этого требуются- невозможно иметь на борту самолёта “модельных” размеров.
Да и не нужно.
А сам принцип выделения линии горизонта по картинке- я описал его недостатки на примере автопилота АР2300 (“Термик”, Красногорск), который потом делал Graupner а ещё более потом- Futaba. 😦
У всех эти проблемы были одинаковы.
Т.е. оптический (в видимом диапазоне) “горизонт”- делать можно только для интереса.
На практике он - не работает 😦
Я полагаю что стадии обработки изображения следующие:
- RGB -> grayscale
- grayscale -> monochrome (thresholding ?)
- математическая морфология (оконтуривание)
- анализ геометрии полученных объектов, рассчет их протяженности, соответственно самый узкий и протяженный объект - это и есть линия горизонта.
- Получаем уравнение прямой по методу наименьших квадратов (или используем преобразование Хафа) и берем оттудова угол.
Если это, действительно, так, то ой. Полет над морем, над руслом реки, длинным ангаром, микрорайоном с длинными многоэтажкками, рядом с высокой одинокой многоэтажкой - ой.
Думаю, алгоритм гораздо проще.
Потом, этот метод работает тогда, когда в поле зрения камеры контрастно виден горизонт. А если в поле зрения камеры, т.е., FPV-пилота контрастно виден горизонт, то ему и искусственный горизонт не очень нужен.
Вот само распознавание образов, захват контрольных точек, вычисление параллакса при перемещении аппарата, привязка позиции аппарата к контрольным точкам - гораздо интереснее, и, судя по вашим заявлениям, вы с этим можете справиться.
На мой ламерский взгляд, математика там не такая уж неподъемная.
Как уже сказал blade, нет никакого смысла подменять работу со специальными датчиками обработкой видеокартинок, требующей идеальных условий видимости.
Что касается самой обработки видео, то я лет 15 назад в НТЦ Модуль занимался распознаванием движущихся целей на движущимся фоне на бортовом многопроцессорном компьютере с распределённой памятью для McDonnell Douglas. Для современного бортового оборудования это тем более вполне возможно.
Если это, действительно, так, то ой. Полет над морем, над руслом реки, длинным ангаром, микрорайоном с длинными многоэтажкками, рядом с высокой одинокой многоэтажкой - ой.
Далеко не факт, над морем - х.з. я море ни разу в жизни не видел 😃, хотя там гоизонт довольно четко прослеживается, блики от воды лечатся поляризационным фильтром.
На мой ламерский взгляд, математика там не такая уж неподъемная.
Для одной камеры - да, задача вполне подъемная, нахождение feature points - активно используется в glyph tracking’e, другая адская задача - отфильтровать кучу полученных точек и сопоставить с трехмерным изображением реальной местности - это уже из серии matrix has you, другими словами - вынос мозга.
судя по вашим заявлениям, вы с этим можете справиться.
Очень могет быть, если бы это было моей основной работой…, как хобби я луше самолеты буду строить и запускать, а то и так 3 проекта зависли, надо доделывать и в воздух поднимать.
А можно поподробнее про используемый алгоритм ?
Вообще, очень заинтересовал меня проект, если интересно, у меня есть кое какие наработки в области операций автоматического threshold’инга и модуль для быстрой работы с бинарными изображениями (мат. морфология и рассчет параметров объектов). Могу поделиться, может повезет, и будет работать в реал тайм 😃
Если не секрет - из-за чего интерес к этой системе (определение горизонта по камере)?
Просто, я такую систему на моделях обкатывал еще в 2005 году… Программа написана на Delphi, для захвата видео используется готовый компонент VideoGrabber. Видео заводится через tv-тюнер AverMedia, который втыкается в PC-CARD разъем. Разрешение ввода 320х240.
Все это крутилось на ноутбуке IBM thinkpad 600e (400мгц проц) под 2000 виндой в реалтайме.
Соответственно, на авиамодели стояла мелкая cmos камера со 100мвт передатчиком, на земле - приемник и ноут. На ноуте писался в реалтайме лог файл со значениями крен/тангаж.
Глобально была идея комплексировать данные с этой проги с данными от пирометров (copilot), чтобы компенсировать засветку от солнца.
Практического применения система не нашла - завязывать управление бпла на видеоканал - безумие, а ставить компьютер на борт - не выгодно с точки зрения массогабаритных параметров. Проще на мемсах гировертикаль сделать.
Другое дело - то что придумали в Транзасе. Теоретически, можно корректировать бортовую ИНС на мемсах при помощи данных с той проги.
Тут уже не жалко озадачиться установкой мощного бортового компьютера - так как потенциально это даст возможность летать без GPS, а под эту тему есть “правильные” клиенты (военные тут не причем 😃 )…
Без обид, но это старо как мир 😃
Сейчас в моде SIFT-подобные алгоритмы, типа такого:
www.transas.ru/vision/ai/navigation/
Спасибо. Интересная ссылка. Мы планируем добавить отслеживание особенностей на изображении.
А можно совсем тупой вопрос?
Никто пока не додумался поставить не один, а два альтиметра, на концы 2-х метрового крыла. Нынешние альтиметры достаточно хорошо отрабатывают высоты даже по 30 см. А уж сравнить показания двух датчиков… Тагнаж-же, по идее, можно выправлять и одним альтиметром. Ну да, плохо центрироанную модель,будет чуть колбасить вверх-вниз… Но уж точно, такая стабилизация обходится без GPS-а…
Все - чисто идеи. Можете меня закидать тапками, делу это будет только на пользу.
P.S.
Про курс без GPS-а говорить не хочу, но имхо, на 2-х метровой базе самолёта и наших дистанциях - можно и пеленгатор построить. Т.е. решить проблему возврата улетевшей модели - вполне можно.
А можно совсем тупой вопрос?
Ну да, плохо центрироанную модель,будет чуть колбасить вверх-вниз… Но уж точно, такая стабилизация обходится без GPS-а…
Вы вероятно, что-то недопоняли. GPS-ом измерить крен и тангаж- это сильно постараться надо, и много дороже чем пирометры 😃
А вообще, правильному самолету надо не мешать лететь 😃
Сорри, это Вы недопоняли.
Я имел ввиду, что нынче что Тим, что Игл, GPS-ом (в 3D) меряют высоту. Если же барометрически высотомером пользоваться - то не нужен он - энтот GPS . Высота же, в случае самолета, есть не что иное, как интеграл от угла тангажа, при нулевом крене. Т.е. тангаж довольно легко выровнять любой примитивной системой с отрицательной обратной связью (теоретически!!!).
Понятно, что хорошо отстроенный планер летит сам, но вот боковые порывы 😦(( Их только металки, с V в 5-7 градусов не боятся.
А пирометры… Еще и по соображениям аэродинамики не очень-то устраивают.
Никто пока не додумался поставить не один, а два альтиметра, на концы 2-х метрового крыла. Нынешние альтиметры достаточно хорошо отрабатывают высоты даже по 30 см. А уж сравнить показания двух датчиков… Тагнаж-же, по идее, можно выправлять и одним альтиметром. Ну да, плохо центрироанную модель,будет чуть колбасить вверх-вниз… Но уж точно, такая стабилизация обходится без GPS-а…
Птеро мериет крены по GPS, но это подразумевает использование ПЛАЬТНОГО канала, который подконтролен МО США. И разрешение там сантиметры. На “бытовых” GPS это не получится никак.
Датчики баровысотомера имеют довольно сильный расброс и разный дрейф. Теоретически это возможно, но практически - только на больших самолётах с размахом под 3 метра, и при точность ± лапоть…
А пирометры… Еще и по соображениям аэродинамики не очень-то устраивают.
Поместите в фюзеляж за прозрачной плёнкой. Просто выковырять из головы и удлинить проводками, и можно ставить как угодно.
Тут обещают 1000$ (победителю конкурса) за обработку фото/видео в реальном времени.
Тут обещают 1000$ (победителю конкурса) за обработку фото/видео в реальном времени.
это называется… мм…как бы это помягше… " вот уже 4 года, как мы не можем преодолеть колебания по курсу, самолетов наклепана туева хуча, стабилизируйте, нам пожалуйста нахаляву наше дерганое видео 😃
Птеро мериет крены по GPS, но это подразумевает использование ПЛАЬТНОГО канала, который подконтролен МО США. .
А по подробнее, можно? что это за платный канал?
А по подробнее, можно? что это за платный канал?
Наверное, имеется в виду армейский диапазон трансляции GPS, закрытый для простых смертных?
Наверное, имеется в виду армейский диапазон трансляции GPS, закрытый для простых смертных?
Угу, и P-код за бабки раздают всем желающим? 😃
Угу, и P-код за бабки раздают всем желающим?
Примерно так. За бабки. Но не всем, а только приглянувшимся. И в любой момент могут рубануть эту “подписку”.
Наверное, имеется в виду армейский диапазон трансляции GPS, закрытый для простых смертных?
Ага. Там сантиметровая точность. Но и приёмники там другие.
Наверное, имеется в виду армейский диапазон трансляции GPS, закрытый для простых смертных?
Это, ИМХО, пресловутый DGPS: помимо геостационарных спутников на местности разворачивается несколько beacons. Из-за их относительной близости к приемнику точность возрастает до сантиметров.