![]() |
|
|
![]()
|
|
| Алек |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 2.7.2004 Репутация: нет Всего: нет |
Заинтересовала меня такая задача. На объекте (подводная лодка, самолет) расположены камеры, направленные на поверхность.
Известно -место расположения камеры, относиктельно центра объекта (х,у); -начальные и постоянные, углы наклона каждой камеры в двух плоскостях (дифферент (угол атаки), крен); -переменные углы наклона объекта в двух плоскостях (дифферент (угол атаки), крен); -фокусное расстояние камеры; -размер светочувствительной пластины (СЧП) камеры, это такая пластинка, из которой исходят лучи, на фокусном расстоянии они преломляются, после чего образуется проекция (вообще, это каждый в школе проходил, но рисунок прилагаю); -известно расстояние от центра объекта до поверхности (z). Необходимо восстановить проекцию. СЧП прямоугольного вида. Проекция с поворотом в одной плоскости, будет трапецией, в двух плоскостях - четырехугольник. Идеи. Хорошо бы такую шаманскую матрицу (или две), со следующим смыслом. 1. Переместиться (находясь, на поверхности в (0,0,0)) на известное расстояние до объекта 2. Развернуться с учетом наклона объекта 3. Развернуться с учетом наклона камеры 4. Спроецироваться на поверхность Как реализовать. Есть аффинные преобразования, где, зная угол поворота, точку можно переместить, промасштабировать. Но во-первых, таких точек чуть больше 44000 (хотя, это не очень страшно, найти бы координаты проекции для узловых точек). Во-вторых, время - реальное. В-третьих, это сколько же поворотов (и объект и камера могут быть наклонены в двух плоскостях, каждый со своим углом). И, даже если удасться найти точку (в пространстве), откуда исходит луч, каким шаманским образом спроецировать ее обратно на поверхность? Может быть, кто-то сталкивался. Буду рад любой информации. P.S. А как тут картинку вставить или смайлик? Это сообщение отредактировал(а) Алек - 15.7.2004, 16:42 |
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
идем в библиотеку, просим все учебники по фотограмметрии и читаем, читаем, читаем.
Бес знаний тут далеко не уедешь. |
|||
|
||||
| Гость_Unregistered |
|
|||
|
Unregistered |
Честно говоря, не до конца ясно, что же надо восстанавливать
Но в любом случае, как мне кажется, сделать это будет непросто, и в полном виде вряд ли возможно Дело в том, что, например, получить точный "вид спереди" можно только зная 3-мерные "реальные" координаты всех точек Их же в свою очередь можно получить, только если знать координаты этих же точек в имеющихся изображениях (проекциях), снятых с камер Но задача распознавания 2 одинаковых объектов в 2 разных картинках сама по себе довольно сложная и разрешима только для какого-то выделенного класса объектов, контрастирующих с окружающей средой Например, невозможно найти точные координаты какого-то конкретного облака, так как на картинках все облака друг на друга похожи, их невозможно выделить из среды Единственное, что можно сделать в этой задаче - это по нескольким проекциям пытаться находить реальные координаты какого-то выделенного объекта, чужеродного среде (например, вражеского самолета Для этого ищется этот самолет на нескольких картинках (распознается), после этого его координаты переводятся обратно в 3-мерное пространство с помощью преобразования, обратного проектированию При этом точка, очевидно, переходит в прямую, и на пересечении 2 таких прямых предположительно (с какой-то погрешностью) и находится реальный объект Что касается самих преобразований, то эта задача чисто техническая, никаких особенных идей здесь нет, обычная геометрия Идейная часть - нахождение одинаковых объектов в картинках (вернее, координат самого объекта в нескольких проекциях), в этом должна быть основная сложность |
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
повторю еще раз - фотограмметрия. Там все возникающие вопросы давно решены умными дятьками и для подобных задач давно выведен список необходимых и достаточных условий.
Что касаемо машинного зрения (распознавания объектов), то для разного подвида задач тоже есть неплохие решения в этой и смежных науках, хотя, конечно, искуственный ителект пока не создали Это сообщение отредактировал(а) DENNN - 16.7.2004, 08:41 |
|||
|
||||
| Алек |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 2.7.2004 Репутация: нет Всего: нет |
Гость_Unregistered, я не точно выразился, понимаю. Очень коротко - на данный момент проблема такая: камера
смотрит на поверхность под углом, зона охвата - трапеция, четырехугольник. Если бы смотрела прямо - был бы прямоугольник. Для начала найти бы координаты этой зоны. Что именно в нее попадает - не важно, главное - границы DENNN, спасибо за наметку. Посмотрел, пока еще не понял, но похоже что-то интересное |
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
будет нужно - обращайся. Впринципе, если на борту есть GPS и известны центры фотограффирования (цетры проекции), то задача несколько упрощается, хотя от фотограмметрической засечки отказаться все равно не получится. Кроме того, для кадровой камеры без инерционной системы на борту все равно необходимо выпонять наземную плановую подготовку.
Короче если проект серьезный, то в этом направлении могу помочь практически чем угодно, от лицензионного софта, до борта со съемочным оборудованием. |
|||
|
||||
| Гость_Unregistered |
|
|||
|
Unregistered |
Если сама "поверхность", как ты выражаешься, прямоугольной формы, то достаточно знать только координаты узловых точек (вершин прямоугольника), чтобы знать всю его границу. Далее, если уметь отличать снимаемую "поверхность" на изображениях, полученных с камер, от остального фона, то надо только найти координаты каждой узловой точки на обеих картинках. Каждой такой точке на изображении в реальности будет соответствовать прямая в пространстве. На пересечении 2 таких прямых и будет находиться эта узловая точка в реальном 3-мерном пространстве. Если я правильно понимаю, нужно только это |
|||
|
||||
| Алек |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 2.7.2004 Репутация: нет Всего: нет |
Гость_Unregistered: я сейчас как раз мучаюсь с координатами проекции, и че-то я не понял про пересечение двух прямых. Если есть ссылочки на литературу, буду рад. На данный момент у меня получается, что из этой ПЗС исходят лучи (координаты начала которых я знаю) и где-то пересекают поверхность воды. Где? Вопрос хороший Есть вообще разные уравнения пересечения прямой с плоскостью, как раз сейчас разбираюсь, но пока с моими входными данными не очень весело
DENNN: Про фотограмметрию почитал - вещь полезная и интересная, и, как я понимаю, занимающаяся определением размеров, формы и много еще чего по результатам измерения их изображений, а я не работаю непосредственно с кадром, и сечас похоже смещаюсь в пространственную геометрию и компьютерную графику А за предложенную помощь - спасибо, но задача поставленна в условиях своей среды, без GPS и проч проч проч |
|||
|
||||
| EMK |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 27.10.2004 Репутация: нет Всего: нет |
|
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |