Відстеження (комп'ютерна графіка)

(Перенаправлено з Відстежування руху)

Відстеженням (англ. tracking) називають визначення розташування рухомого об'єкта (декількох об'єктів) з часом за допомогою відеокамери. Алгоритм аналізує кадри відео і видає положення рухомих цільових об'єктів відносно кадру.

Основною проблемою відстеження є зіставлення положень цільового об'єкта на послідовних кадрах, особливо якщо об'єкт рухається швидко порівняно з частотою кадрів. Таким чином, системи відстеження зазвичай використовують модель руху, котра описує, як може змінюватись зображення цільового об'єкта при різноманітних його рухах.

Прикладами таких простих моделей руху є:

  • відстеження плоских об'єктів, модель руху — двовимірне перетворення (афінне перетворення або гомографія) зображення об'єкта (наприклад, початкового кадру);
  • коли цільовим є жорсткий тривимірний об'єкт, модель руху визначає вигляд залежно від його положення у просторі та орієнтації;
  • для стиснення відео, ключові кадри (англ. key frames) розділяють на макроблоки (англ. macroblocks). Модель руху являє собою розрив ключових кадрів, де кожен макроблок перетворюється за допомогою вектора руху, отриманого з параметрів руху;
  • зображення деформовного об'єкта може бути покрите сіткою (англ. mesh), рух об'єкта задають положенням вершин цієї сітки.

Головне завдання алгоритму відстеження — це послідовний аналіз кадрів відео для оцінення параметрів руху. Ці параметри характеризують положення цільового об'єкта.

Основні алгоритми[1] ред.

Система візуального спостереження складається з двох основних частин:

  • Подання та локалізація цільового об'єкта (Target Representation and Localization);
  • Фільтрування та об'єднання даних (Filtering and Data Association).

Подання та локалізація цільового об'єкта є здебільшого висхідним процесом (англ. bottom-up process), тобто послідовним і його наступні кроки не зачіпають попередніх. Типова обчислювальна складність цих алгоритмів достатньо мала.

Ось деякі стандартні алгоритми Подання та локалізації цільового об'єкта:

  • Blob tracking: сегментація інтер'єру об'єкта (наприклад, blob detection, block-based correlation або оптичний потік (optical flow));
  • Kernel-based tracking (Mean-shift tracking): ітеративна процедура локалізації, що ґрунтується на максимізації критерію подібності;
  • Contour tracking (відстеження контурів): пошук межі об'єкта (наприклад, активні контури або)
  • Візуальне зіставляння ознак (feature matching): реєстрація (Image registration);
  • Point feature tracking[2] (відстеження точкових особливостей сцени): задача формулюється так — дано послідовність зображень деякої сцени, отримана рухомою або нерухомою камерою. Потрібно отримати набір якомога точніших послідовностей координат проєкції деяких точок сцени у кожному кадрі.

Фільтрування та об'єднання даних є здебільшого низхідним процесом (англ. top-down process), котрий включає об'єднання апріорної інформації про сцену або об'єкт, що співвідноситься з динамікою об'єкта та обчисленням різних гіпотез. Обчислювальна складність цих алгоритмів зазвичай значно вища. Ось деякі стандартні алгоритми фільтрування[3]:

  • Фільтр Калмана: оптимальний рекурсивний (Bayesian filter) для лінійних функцій, що зазнають шуму за Гаусом.
  • Фільтр частинок (): корисний для вибірок базового простору станів розподілу нелінійних та не-гаусових процесів.

Посилання ред.

Примітки ред.

  1. Alper Yilmaz, Omar Javed and Mubarak Shah, «Object Tracking: A Survey», ACM Journal of Computing Surveys, Dec 2006.
  2. Статья CGM "Слежение за точечными особенностями сцены (Point feature tracking)". Архів оригіналу за 23 травня 2012. Процитовано 10 січня 2013.
  3. M. Arulampalam, S. Maskell, N. Gordon, and T. Clapp, «A Tutorial on Particle Filters for Online Nonlinear/Non-Gaussian Bayesian Tracking», IEEE Trans. on Signal Processing, Vol. 50, no. 2, Feb. 2002.

Див. також ред.