Как определить ключевые точки пересечения на спортивной площадке с помощью OpenCV - PullRequest
0 голосов
/ 20 апреля 2020

Я пытаюсь определить ключевые точки пересечения линий на спортивной площадке, чтобы позволить мне использовать гомографию для сопоставления позиции игрока в кадре камеры с соответствующей позицией на 2D-модели площадки. Положение камеры и детали окружения, такие как освещение, могут различаться.

В настоящее время мой подход заключается в том, чтобы использовать обнаружение краев Canny и Hough Transform для обнаружения линий, а затем использовать kmeans для группировки их в горизонтальные / вертикальные группы. Как только я получу ключевые точки (углы пола суда и точки пересечения линий обслуживания), я знаю, что могу использовать findHomography, чтобы получить перспективное преобразование для суда. Мои проблемы:

  1. Даже если я получу точки пересечения для всех линий, учитывая, что положение камеры (и, следовательно, поворот кадра) не зафиксировано, как я могу узнать, какие линии / точки пересечения какие? Есть ли техника, чтобы взять перекрестки и попытаться приспособить их к модельному двору? У меня есть точные размеры зала суда, который является областью, которая меня волнует.
  2. При использовании HoughLines и HoughLinesP возникает много "шума" - см. Изображение ниже. Как лучше всего объединить эти строки? Или если подгонка к модели - это не проблема?
  3. Является ли это лучшим современным подходом, или лучше было бы попробовать что-то вроде обучения модели CV для сегментации?

Пример вывода из Input / HoughLines / HoughLinesP (от L до R): sample output

...