Принцип

Существует достаточно простой алгоритм, основанный на принципах математической статистики, который позволяет программно следить за яркими компактными объектами в поле зрения видеокамеры. Пусть (пользуясь другими соображениями и алгоритмами) мы догадались, что фрагмент изображения (прямоугольник) содержит равномерное (например черный в случае ночного неба) фон, на котором виден только один яркий объект: яркую звезду, месяц, или фонарь. Причем этот объект целиком находится внутри нашего прямоугольника. Реальная интенсивность пикселей изображения является функцией от координат:

Яркая точка

Мы можем рассматривать отклонения этой функции от как величину, пропорциональную вероятности нахождения точки:

Яркая точка

Сумма в знаменателе берется по всем пикселях нашего прямоугольника и характеризует яркость точки, то есть произведение интенсивности на площадь:

Яркая точка

Имея распределение вероятности (2), мы можем найти координаты оптического центра точки, как математическое ожидание:

Яркая точка
Яркая точка

Немного сложнее искать размеры пятна. Порядок величины размеров (отдельно по горизонтали и отдельно по вертикали) находится через среднеквадратическое отклонение:

Яркая точка
Яркая точка

Размер круглого диска

Если заранее известно, что яркая точка представляет собой круглый (или эллиптический) диск на изображении, то из формул (5) мы можем вычислить радиус этого диска. В непрерывном случае функция плотности вероятности является постоянным числом внутри диска:

Яркая точка

и равна нулю вне диска. Поскольку в нашем случае, находим дисперсию:

Яркая точка

откуда

Яркая точка

Применение

Не обязательно точка должна выделяться белым на черном — можно и наоборот, темная точка на светлом фоне, в этом случае числитель и знаменатель формулы (2) будут отрицательными, но вероятность лишится положительной и мы можем применять все те же формулы и с такой же интерпретацией. Можно даже, чтобы интенсивности были примерно одинаковыми, а точка выделялась цветом, как цветок среди травы. Этот алгоритм можно использовать также, когда фон не является однородным, но может быть каким-то образом определенным как функция — например фон не меняется, а яркая точка проплывает над ним. В этом случае мы можем взять фон нашего прямоугольника из старых кадров, когда точка еще не "заехала" в прямоугольник.

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

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