Pull to refresh
15
0
Леонид Брискиндов@lb357

User

Send message

Спасибо за комментарий!

Если всё же доступна калибровка по шаблонам, то используя OpenCV, добиться качественных результатов вполне реально. Можно выбрать конкретную камеру (объектив):

cap = cv2.VideoCapture(CAM_ID)           # Создание объекта камеры
                                         # CAM_ID - id/path конкретной камеры

Настроить различные её свойства (см. документацию OpenCV о VideoCapture Properties), вроде фокуса, зума, экспозиции и других:

cap.set(cv2.CAP_PROP_AUTOFOCUS, 0)       # Отключение встроенной автофокусировки

cap.set(cv2.CAP_PROP_FOCUS, CAM_FOCUS)   # Мануальная фокусировка
                                         # CAM_FOCUS - уровень фокуса
                                         # Например может быть установлен
                                         # на значение, найденное
                                         # методом автофокусировки

Некоторые свойства, которые непосредственно влияют на изображение:

cv2.CAP_PROP_AUTO_EXPOSURE
cv2.CAP_PROP_EXPOSURE
cv2.CAP_PROP_AUTO_WB
cv2.CAP_PROP_WB_TEMPERATURE
cv2.CAP_PROP_GAMMA 
cv2.CAP_PROP_TEMPERATURE 
cv2.CAP_PROP_ZOOM

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

Также широкая аудитория встречается с данной задачей достаточно редко. Как мне кажется, из задач близких к описываемой, чаще всего широкая аудитория встречается с дополненной реальностью (AR), для которой хоть и может использоваться OpenCV, но всё же имеется свой стек и свои технологии.

А узкая (специализированная) аудитория обычно имеет возможность использовать камеры без проблем с калибровкой.

Так или иначе хорошее примечание, спасибо!

Спасибо за комментарий!

Помимо гироскопа-акселерометра можно использовать кинематическую одометрию, например если камера установлена на мобильной платформе (роботе). И в целом существует множество методов "восстановления объёма" сцены по фотографиям передвигающейся камеры, в частности Visual SLAMразличных реализациях)

Спасибо за комментарий! Рекомендуемая вами статья и правда интересная

Спасибо за комментарий! И правда не очень хорошие обстоятельства, хотя сама по себе задача определения параметров полёта самолёта по видео довольно интересная (и сложная).

Спасибо за комментарий!

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

В рамках подготовки данной статьи было выявлено (см. результаты решения частных случаев), что при нахождении точки с заданной Z_{w}в среднем погрешность была ниже, чем нахождение той же точки в общем случае.

Также про оценку погрешности и в целом оптимальности различных решений задачи PnP существуют статьи:
A Consistently Fast and Globally Optimal Solution to the Perspective-n-Point Problem (2020) by G. Terzakis; M. Lourakis
Accurate non-iterative O(n) solution to the PnP problem (2007) by F. Moreno-Noguer; V. Lepetit; P. Fua

Спасибо за комментарий!

Для различных задач могут использоваться разные методы. В общем случае, описанном в статье, при наличии неподвижной откалиброванной камеры, первым на ум приходит наиболее простой вариант: найти P_{c} и замерить текущее время t на двух кадрах, а затем вычислить V=\frac{|P_{c}'P_{c}''|}{\Delta t}(скорость равна расстоянию между координатами объекта на двух кадрах, делённому на прошедшее время между двумя кадрами; оно же V=\frac{S}{t}). Аналогично можно опираться не на P_{c}, а на p, например ограничив зону на изображении с заранее известным расстоянием в пространстве, как это делается на камерах контроля дорожного движения.

Однако данный метод рассчитывает не скорость в моменте, а среднюю скорость между кадрами, так что в некоторых прикладных задачах требуется расчёт ускорения, дополнительное предсказание движения/скорости объекта. Из-за этого же на результат может влиять количество кадров в секунду (FPS) и скорость обработки изображений.

Конкретно про ваш случай ответил в личных сообщениях.

Information

Rating
Does not participate
Registered
Activity