СПОСОБ И СИСТЕМА ДЛЯ ОБНАРУЖЕНИЯ НЕБОЛЬШИХ ИЛИ ТОНКИХ ОБЪЕКТОВ НА ИЗОБРАЖЕНИИ (ВАРИАНТЫ)
METHOD AND SYSTEM FOR DETECTING SMALL OR THIN OBJECTS ON IMAGES (VERSIONS)

Изобретение относится к технологиям обработки цифровых фото- и видеоизображений, а более конкретно - к классификации текстур. При этом основной целью данного изобретения является получения карты пикселей, относящихся к тонким или небольшим объектам, которая может использоваться в алгоритме оценки движения в качестве входных данных, и обеспечить вычисление точных векторов движения внутри небольших объектов (значительно меньших размера блока).
Алгоритмы оценки векторов движения, особенно те, которые используются для преобразования частоты кадров и временной интерполяции, должны обеспечивать гладкое поле векторов движения внутри равномерно движущихся областей (см. пример на Фиг.1, область 101), точные совпадение границ поля векторов с границами исходного объекта (Фиг.1, область 102) и точные результаты внутри небольших объектов (Фиг.1, область 103) или небольших выступающих частей более крупных объектов (Фиг.1, область 104) для широкого диапазона амплитуд смещения. Известные способы обычно направлены на обеспечение поля движения, которое является гладким и имеет точные границы. Точное поле движения внутри небольших объектов или небольших выступающих частей более крупных объектов обычно получают как компромиссное решение при сниженной гладкости векторного поля или разрабатываются специальные способы последующей обработки, детализирующие поле вектора движения для небольших объектов. Для улучшения этого компромиссного решения используются различные техники постобработки на основе адаптивной фильтрации поля вектора движения или слежения за небольшими объектами. Способы постобработки основаны на анализе невязки, вычисляемой для первоначального поля векторов движения и локальных свойств текстуры, таких как дисперсия.
Обычно, для получения гладкого векторного поля с разрывами, точно соответствующими границам крупного объекта, используются два подхода: способ множественных масштабов (Фиг.2.1) и способ множественных сеток (Фиг.2.2). Пример способа множественных масштабов представлен в [1]. В другом патенте (см. [2]) содержится пример способа множественных сеток и описывается способ согласования блоков, включая итерационную обработку с различными размерами блоков от грубой до точной с предварительной оценкой движения, полученной из блоков, окружающих текущий блок. При каждой итерации используется пара изображений с одинаковым разрешением, но размер блока уменьшается с максимального значения при первой итерации до минимального значения при последующих итерациях. В патенте [3] раскрываются устройство и способ оценки движения с переменным размером блока на основе дерева квадрантов.
Для решения данной проблемы иногда используют адаптивный размер блока (Фиг.3). В патенте [4] описано устройство принятия простого решения по размеру для применения в способах оценки движения с адаптивным размером блока. Данный способ позволяет выбрать размер блока (4×4, 4×8, 8×4, 8×8, 8×16, 16×16 или 16×8) для каждого участка изображения на основе метрик суммы абсолютных разностей и стоимости бита передачи сигнала невязки.
Гладкое и точное поле движения может быть получено в результате постобработки первоначальной оценки векторов движения с использованием блока небольших размеров (меньше или равного размеру самого мелкого объекта в кадре изображения). Простые способы сглаживания векторов движения, как на Фиг.4, позволяют получить гладкое поле векторов. Для того чтобы избежать чрезмерного сглаживания, разрабатываются различные способы. В патентной заявке [5] предлагается способ направленной фильтрации векторов движения. В кадре изображения определяют границы объекта и проводят оценку направления этих границ. Затем исходное векторное поле движения фильтруется с использованием направленного банка фильтров таким образом, что фильтруются только векторы, находящиеся на одной стороне границы объекта. В патенте [6] представлен способ и система генерации интерполированного кадра на основе данного и предыдущего кадра. Результирующий вектор движения для каждого блока выбирается из нескольких векторов движения, включая:
- вектор движения, полученный усреднением предыдущих векторов движения (векторы движения, рассчитанные для предыдущего кадра) в блоках, примыкающих к рассматриваемому блоку;
- вектор движения, полученный усреднением предыдущих векторов движения в блоках, находящихся в одной строке с текущим блоком.
- вектор движения, полученный вычислением медианы предыдущих векторов движения в блоках, соседних с текущим блоком
Выбор результирующего вектора движения выполняется за счет выбора вектора движения с наименьшим значением штрафной функции, вычисленной как линейная комбинация невязки и суммы взвешенной разницы от вероятного вектора движения до векторов движения в примыкающих блоках.
Другой подход состоит в том, чтобы не анализировать непосредственно невязку при выборе наилучшего кандидата движения, но использовать некоторую вспомогательную величину, которую получают путем нормализации невязки в соответствии с некоторым параметром, вычисленным локально в зависимости от свойств текстуры. В патенте [7] для нормализации ошибки согласования всех вероятных векторов используется параметр вариации. Параметр вариации в данном изобретении рассчитывается для каждого сегмента (или блока в случае блочной конструкции) путем суммирования абсолютных разностей между значениями пикселей первого сегмента и значениями пикселей второго сегмента, который получен из первого сегмента путем сдвига как минимум на один пиксель в первом направлении, и абсолютных разностей между значениями пикселей первого сегмента и значениями пикселей третьего сегмента, который получен из первого сегмента путем сдвига, как минимум, на один пиксель во втором направлении, где второе направление ортогонально первому направлению. Патент [8] раскрывает систему и способ для оценки движения в видеопоследовательностях с использованием нескольких правил рекурсии, включающий нахождение среднего вектора движения из векторов движения с минимальными метриками ошибок трех групп векторов движения. Метрики ошибок состоят из суммы средней абсолютной разности исходных и смещенных пикселей и штрафной функции, обратно пропорциональной дисперсии блока.
В патентной заявке [9] описан способ уточнения поля движения для отслеживания быстро движущихся объектов. Способ предусматривает операции по определению первой группы пикселей на первом изображении, не имеющих соответствия на втором изображении, и второй группы пикселей на втором изображении, не имеющей соответствия на первом изображении, вычислению невязки, полученной для вероятного вектора движения, направленного от первой группы пикселей ко второй группе пикселей, сравнению этой невязки с заранее определенным порогом и назначению вероятного вектора в качестве выходного вектора движения, если невязка меньше этого порога. Под невязкой подразумевается сумма абсолютных разностей, сумма квадратом разностей или другая метрика, зависящая от разности между пикселями первого изображения и пикселями второго изображения, координаты которых соответствуют координатам пикселей первого изображения, смещенными в соответствии со значениями поля векторов движения.
В публикации [10] обнаружение мелких движущихся объектов осуществляется путем компенсации движения камеры и анализа остаточной невязки, где небольшие движущиеся объекты соответствуют выбросам. Их обнаружение происходит с использованием статистического критерия определения Гауссовского распределения на базе статистики более высокого порядка.
В публикации [11] используется фильтрация Калмана на основе модели постоянного ускорения и модели маневра Сингера для отслеживания мяча в видеопоследовательностях спортивного содержания. Изменение изображения во времени определяется вейвлет-разложением Хаара.
Способ множественных масштабов и способ множественных сеток, как например, в документах [1], [2] и [3], показывают наличие противоречия между требованием к гладкости поля движения и точности в области малых объектов. В то время как большие по размеру блоки в способе множественных сеток и большее количество уровней пирамидального разложения в способе множественных масштабов способствуют получению более гладкого поля движения, они вызывают большую потерю информации о движении малых объектов. В тоже время, меньшие по размеру блоки способствуют более точной оценке движения малых объектов, но дают менее гладкое поле векторов движения в тех областях, где оно должно быть непрерывным. Использование меньшего количества масштабов в способе множественных масштабов позволяет получить точную оценку движения на областях небольших объектов в случае, если они движутся медленно, но совсем не дает возможности оценить большие значения движения малых объектов. Также при этом не удается получить гладкое поле векторов движения в тех областях, где оно должно быть непрерывным. В некоторых случаях (Фиг.5 и 6) большой размер блока предпочтительнее. В случае меньшего размера блока на плоских областях может быть несколько локальных минимумов на поверхности ошибок Фиг.5 (вид 5.3), больший размер блока может привести к одному локальному минимуму, как показано на Фиг.5 (вид 5.4). Даже в случае одного локального минимума при меньшем размере блока Фиг.6 (вид 6.5), это может указывать на неправильное смещение по сравнению с большим размером блока на Фиг.6 (вид 6.6). В тоже время, в случае небольших изолированных объектов, как на Фиг.7, меньший размер блока приводит к верной оценке движения данного блока, а больший размер блока дает неверную оценку движения. Неверная оценка движения небольших или тонких объектов приводит к частичному исчезновению объекта на интерполированных кадрах. Данный дефект вызывает большое раздражение у пользователей телевизионных панелей. Для управления соотношением между гладкостью и точностью поля векторов движения можно использовать весовые коэффициенты при невязке, однако оптимальные весовые коэффициенты при этом требуется вычислять для каждого конкретного изображения.
Способ оценки движения, представленный в [4], полностью ориентирован на приложение в сжатии видеопоследовательностей. Поэтому авторы не рассматривают ограничений на гладкость поля векторов движения, что делает способ неприемлемым для использования при преобразовании частоты кадров.
Способ в соответствии с [5] рассматривает только задачу получения точного поля векторов движения вблизи границ крупных объектов, но не содержит средств для уверенной обработки небольших или тонких объектов.
Способ, раскрытый в [6], не затрагивает локальных свойств текстуры, таким образом, в случае, когда малый или тонкий объект значительно меньше (уже) размера блока и истинный вектор движения малых или тонких объектов сильно отличается от движения фона, вклад члена штрафной функции, отвечающего за гладкость, будет преобладать над вкладом члена штрафной функции, соответствующего невязке, что приводит к получению неверного вектора движения.
Недостаток способа, раскрытого в [7], заключается в том, что параметр вариации (равный стандартному отклонению) напрямую зависит от размера блока, поэтому его значение может быть недостаточно велико для малого или тонкого двигающегося объекта, занимающего небольшую часть блока.
Метрики ошибки, изложенные в патентной заявке [8], не делают различий между тонкими или небольшими объектами и границами между различными объектами, поэтому описанный способ отфильтровывает правильные векторы движения малых или тонких объектов, занимающих один или несколько отдельных блоков.
На Фиг.8-12 представлено объяснение того, что стандартное отклонение пикселов внутри блока, используемое в патентных документах [7] и [8], является недостаточным для различия между случаем, когда следует предпочесть вектор движения, обеспечивающий локальный минимум суммы абсолютных разностей (SAD), и случаем, когда следует предпочесть вектор движения, полученный путем усреднения векторов движения из нескольких соседних. Поведение области с низким уровнем детализации, зоны края объекта и объекта с небольшой площадью проиллюстрировано на примере одномерных сигналов. Фиг.8 показывает сигнал постоянной амплитуды с аддитивным шумом (801) и импульсный (802) сигнал. Оба эти сигнала имеют одинаковую дисперсию. Здесь импульсный сигнал рассматривается как одномерный случай малого объекта, а постоянный зашумленный сигнал - как одномерный аналог зашумленной области с низким уровнем детализации. Движению области изображения в видеокадре соответствует сдвиг в одномерном случае (Фиг.9 и 10). Фиг.11 показывает график разности между зашумленным постоянным сигналом и его сдвинутой копией и график разности между импульсным сигналом и его сдвинутой копией для некоторой фиксированной величины сдвига.
Фиг.12 показывает, что при рассмотрении L-1 нормы разности между исходным и сдвинутым сигналами, вычисленной как функция от величины сдвига, L-1 норма (сумма абсолютных разностей) разности между зашумленным постоянным сигналом и его сдвинутой копией (1201) еще больше, чем соответствующая норма разности между импульсным сигналом и его сдвинутой копией (1202).
Значение суммы абсолютных разностей, соответствующее истинному смещению, в случае зашумленного постоянного сигнала не является глобальным минимумом функции суммы абсолютных разностей в пределах диапазона поиска (Фиг.12), в то время как глобальный минимум суммы абсолютных разностей для импульсного сигнала указывает истинное смещение. В то же время числовое значение суммы абсолютных разностей, соответствующее истинному смещению константы шума, может быть даже больше, чем для истинного смещения импульсного сигнала. Поскольку эти два сигнала имеют одинаковую дисперсию, эти два случая едва ли можно различить. Кроме того, даже в случае, если фон не является однородным, в области границы объекта, наезжающего на фон, меньшая невязка (сумма абсолютных разностей) соответствует неправильному движению, т.е. пикселям фона будут приписаны вектора, соответствующие движению объекта, а не фона. На Фиг.13 изображен пример естественного изображения с проблемой подобного рода. В этом случае даже глобальный анализ уровня шума не может быть использован для установления правильных локальных порогов.
Способ, раскрытый в патентной заявке [9], имеет два недостатка - он не предполагает рассмотрения случая окклюзии, который очень характерен для видеопоследовательностей, а сравнивает невязку с заранее определенным порогом. Это означает, что способ не позволяет адаптироваться к размеру и контрастности небольших объектов и будет работать только для узкого класса изображений.
Способы обнаружения анализа невязки, как в [10], подходят только для случая, когда нет других больших объектов, так как в противном случае невязка в области окклюзии также имеет негауссово распределение.
Способы, основанные на слежении за объектом, как в [11], обычно предполагают наличие только одного движущегося объекта и требуют больше кадров, чем в стандартном способе оценки движения. Это значительно увеличивает сложность программного обеспечения и стоимость аппаратного обеспечения. Эти способы также не рассматривают случая тонких длинных объектов.
В качестве прототипа выбрано решение, описанное в [9].
Задача, на решение которой направлено заявляемое изобретение, состоит в том, чтобы разработать усовершенствованный способ (способы) обнаружения небольших и тонких объектов, при этом новое решение должно иметь следующие преимущества перед известными из уровня техники решениями:
- возможность определять как небольшие компактные, так и тонкие удлиненные объекты;
- повышенная точность определения векторов движения для малых объектов и малых выступающих частей больших по размеру объектов, сохраняя гладкость поля векторов движения в прочих областях;
- возможность использования для адаптации способа множественных масштабов, способа множественных сеток или в адаптивных рекурсивных алгоритмах оценки движения;
- возможность определять небольшие/тонкие объекты даже на зашумленном фоне;
- возможность определять небольшие/тонкие объекты даже в случае, если их истинное движение сильно отличается от движения фона;
- возможность вычислять карту принадлежности небольшим или тонким объектам с попиксельной точностью вне зависимости от размера блока, использованного для оценки движения;
- возможность отличать небольшие объекты от низкотекстурированных зашумленных областей фона и областей, соответствующих границам объектов, проявляя устойчивость к ошибкам в области окклюзии;
- возможность отличать длинные тонкие линии от низкотекстурированных зашумленных областей фона и областей, соответствующих границам объектов;
- возможность непосредственно контролировать размер обнаруживаемых небольших или тонких объектов в рамках подхода множественных масштабов;
- возможность детектировать небольшие и тонкие объекты различного контраста;
- возможность применения в случае, когда присутствует более чем один малый или тонкий объект;
- возможность оценки движения без увеличения числа кадров, используемых для этого;
- устойчивость к текстурам высокой частоты и выдача отрицательного результата детектирования в случае, если концентрация точек, относящихся к малым или тонким объектам, в большой окрестности является подозрительно высокой.
Кроме того, для реализации усовершенствованного способа (способов) должны быть разработаны соответствующие системы.
Технический результат достигается за счет разработки усовершенствованного способа обнаружения тонких объектов на изображении, который предусматривает осуществление следующих операций:
- вычисляют преобладающее направление текстуры для каждого пикселя;
- вычисляют направление, ортогональное к преобладающему направлению текстуры для каждого пикселя;
- выполняют построение полной направленной маски с той же ориентацией, что и направление, ортогональное к преобладающему направлению текстуры, для каждого пикселя;
- выполняют построение внешней направленной маски с той же ориентацией, что и направление, ортогональное к преобладающему направлению текстуры, для каждого пикселя;
- выполняют построение внутренней направленной маски с той же ориентацией, что и направление, ортогональное к преобладающему направлению текстуры, для каждого пикселя;
- выполняют вычисление минимумов и максимумов значений яркости пикселей внутри полной направленной маски;
- выполняют вычисление стандартного отклонения или другой статистической функции, описывающей степень вариации образцов внутри выборки, от значений яркости пикселей внутри полной направленной маски вокруг центрального пикселя;
- выполняют вычисление стандартного отклонения или другой статистической функции, описывающей степень вариации образцов внутри выборки, от значений яркости пикселей внутри внутренней направленной маски вокруг центрального пикселя;
- выполняют вычисление стандартного отклонения или другой статистической функции, описывающей степень вариации образцов внутри выборки, от значений яркости пикселей внешней направленной маски вокруг центрального пикселя;
- выполняют вычисление стандартного отклонения или другой статистической функции, описывающей степень вариации образцов внутри выборки, от значений яркости пикселей внутри ненаправленной маски вокруг центрального пикселя;
- выполняют вычисление среднего значения яркости пикселей внутри ненаправленной маски вокруг центрального пикселя;
- применяют следующий набор правил принятия решения для определения принадлежности данного пикселя тонкому длинному объекту:
- если локальная текстура ненаправленная, отметить пиксель, как не принадлежащий тонкому объекту;
- если разница между максимумом и минимумом значений яркости пикселей внутри полной направленной маски ниже заданного порога, отметить пиксель, как не принадлежащий тонкому объекту;
- если стандартное отклонение или другая статистическая функция, описывающие степень вариации образцов внутри выборки, от значений яркости пикселей внутри полной направленной маски вокруг центрального пикселя ниже заданного порога, отметить пиксель, как не принадлежащий тонкому объекту;
- если стандартное отклонение или другая статистическая функция, описывающие степень вариации образцов внутри выборки, от значений яркости пикселей внутри ненаправленной маски вокруг центрального пикселя ниже заданного порога, отметить пиксель, как не принадлежащий тонкому объекту;
- если частное стандартного отклонения или другой статистической функции, описывающих степень вариации образцов внутри выборки, от значений яркости пикселей внутри внешней маски, и стандартного отклонения или другой статистической функции, описывающих степень вариации образцов внутри выборки, от значений яркости внутри внутренней маски, ниже заданного порога, отметить пиксель, как принадлежащий тонкому объекту;
- если стандартное отклонение или другая статистическая функция, описывающие степень вариации образцов внутри выборки, от значений яркости пикселей внутри внешней маски меньше, чем стандартное отклонение или другая статистическая функция, описывающие степень вариации образцов внутри выборки, от яркости пикселей внутри полной направленной маски, отметить пиксель, как принадлежащий тонкому объекту;
- если стандартное отклонение или другая статистическая функция, описывающие степень вариации образцов внутри выборки, от яркости пикселей внутри внешней маски меньше, чем стандартное отклонение или другая статистическая функция, описывающие степень вариации образцов внутри выборки, от яркости пикселей внутри ненаправленной маски, отметить пиксель, как принадлежащий тонкому объекту.
Отличие заявляемого способа от способов, известных из уровня техники:
- длинные тонкие линии различаются от низкотекстурированных и зашумленных областей фона при помощи локального анализа главных компонент градиента изображения;
- длинные тонкие линии различаются от областей, соответствующих границам объектов, используя локальные свойства текстуры областей внутри направленных масок, ортогональных к направлению текстуры;
- двумерные фильтры, используемые для локального анализа текстуры, относятся к двум типам: с ненулевыми элементами вблизи центрального пикселя и с нулевыми элементами в периферических пикселях, и с нулевыми элементами вблизи центрального пикселя и с ненулевыми элементами в периферических пикселях;
- результат работы алгоритма основан на разности между локальным минимумом и локальным максимумом, вычисленными внутри маски;
- средняя яркость, вычисленная для малой окрестности пикселей, используется для адаптации минимального порога порогового преобразования, применяемого к разности между локальным минимумом и локальным максимумом;
- области, содержащие слишком плотные карты пикселей, которые могут принадлежать небольшим или тонким объектам, удаляются из окончательной карты небольших или тонких объектов;
- принадлежность пикселя небольшому объекту определяется в соответствии с мерой подобия яркости или цвета пикселей значению яркости или цвета, образующих второй наибольший пик локальной гистограммы;
- карта небольших и тонких объектов создается путем объединения результатов алгоритма, выполненного с различными размерами локального окна.
Для реализации заявляемого способа разработана система обнаружения тонкого объекта на изображениях, включающая в себя: линейную память; преобразователь формата; блок анализа главных компонент; банк фильтров; блок фильтрации и блок принятия решения, где вход системы соединен с входом линейной памяти, выход линейной памяти соединен с входом преобразователя формата, выход преобразователя формата соединен с входом блока анализа главных компонент и с первым входом блока фильтрации, выход блока анализа главных компонент соединен с банком фильтров, выход банка фильтров соединен со вторым входом блока фильтрации, выход блока фильтрации соединен с входом блока принятия решения и выход блока принятия решения соединен с выходом системы.
В качестве альтернативы заявляется система обнаружения небольших объектов на изображении, включающая в себя линейную память, преобразователь формата, первый и второй блоки вычисления гистограммы, первый и второй анализаторы гистограммы и блок принятия решения, при этом вход системы соединен с входом линейной памяти; выход линейной памяти соединен с входом преобразователя формата; выход преобразователя формата соединен с входами первого и второго блоков вычисления гистограммы; выход первого блока вычисления гистограммы соединен с входом первого анализатора гистограммы; выход второго блока вычисления гистограммы соединен с входом второго анализатора гистограммы; выходы первого и второго анализаторов гистограммы соединены с входами устройства приятия решения; выход преобразователя формата соединен с входом блока принятия решения; выход блока принятия решения соединен с выходом системы.
В качестве варианта предлагается также система обнаружения тонких объектов на изображении, основанная на способе множественных масштабов и состоящая из линейной памяти, преобразователя формата, блоков обнаружения многочисленных тонких объектов и логического блока, при этом вход системы соединен с входом памяти линии; выход линейной памяти соединен с входом преобразователя формата; выход преобразователя формата соединен с входами всех блоков обнаружения тонких объектов; выходы блоков обнаружения тонких объектов соединены с входами логического блока, а выход логического блока соединен с выходами системы.
Кроме того, предлагается альтернативная система обнаружения небольших объектов на изображении, включающая в себя линейную память, преобразователь формата, блоки обнаружения многочисленных тонких объектов и логический блок, при этом вход системы соединен с входом линейной памяти; выход линейной памяти соединен с входом преобразователя формата; выход преобразователя формата соединен с входами всех блоков обнаружения небольших объектов; выходы блоков обнаружения небольших соединены с входами логического блока, а выход логического блока соединен с выходом системы.
Для тех случаев, когда необходимо обнаружить небольшие объекты на слаботекстурированном фоне изображения, разработан способ, заключающийся в осуществлении следующих операций:
- выполняют вычисление гистограммы значений яркости, принадлежащих меньшей окрестности, для каждого пикселя;
- обозначают пиксель, как не принадлежащий небольшому объекту, если гистограмма для данного пикселя имеет только один максимум;
- выполняют обнаружение первого и второго максимумов гистограммы, вычисленной для меньшей окрестности и соответствующих значений яркости;
- обозначают пиксель, как не принадлежащий небольшому объекту, если абсолютная разность между значениями яркости, соответствующими первому и второму максимумам гистограммы, вычисленной для меньшей окрестности, ниже заданного порога;
- обозначают пиксель, как не принадлежащий небольшому объекту, если абсолютная разница между значениями яркости данного пикселя и значения яркости, соответствующей второму максимуму гистограммы, рассчитанной для меньшей окрестности, больше, чем абсолютная разница между значением яркости данного пикселя и значением яркости, соответствующим первому максимуму гистограммы, рассчитанной для меньшей окрестности;
- выполняют вычисление гистограммы значений яркости внутри большей окрестности для каждого пикселя;
- выполняют нахождение первого и второго максимумов гистограммы, рассчитанной для большей окрестности и соответствующих значений яркости;
- обозначают пиксель, как принадлежащий небольшому объекту, если соотношение произведения первого максимума гистограммы, рассчитанной для большей окрестности, и второго максимума гистограммы, рассчитанной для меньшей окрестности, и произведение второго максимума гистограммы, рассчитанной для большей окрестности, и первого максимума гистограммы, рассчитанной для меньшей окрестности, больше, чем соотношение площадей большей и меньшей окрестностей, умноженное на некоторое постоянное значение (коэффициент).
Для лучшего понимания существа заявляемого изобретения далее приводится его детальное пояснение с привлечением графических материалов.
Фиг.1. Требования к предполагаемому полю вектора движения: 101 - гладкость в однородных областях, 102 - точность вблизи границ объекта, 103 - точность внутри небольших/тонких объектов, 104 - точность внутри небольших выступающих частей более крупных объектов.
Фиг.2. Уровень техники. 2.1 - оценка движения способом множественных сеток, 2.2 - оценка движения способом множественных масштабов.
Фиг.3. Уровень техники. Адаптивный размер блока Фиг.4. Уровень техники. Фильтрация векторов движения Фиг.5. Влияние размера блока на точность оценки движения для плоских областей; опорный кадр (5.1) с выделенными блоками меньшего и большего размеров; другой кадр (5.2), используемый для оценки движения; поверхность невязки, построенная в зависимости от горизонтального и вертикально движения, (5.3) - построенная для блоков меньшего размера и (5.4) - для блоков большего размеров.
Фиг.6. Влияние размера блока на точность оценки движения в области края объекта; опорный кадр (6.1) с выделенными блоками меньшего и большего размеров; другой кадр (6.2), используемый для оценки движения; невязки, построенная в зависимости от горизонтального и вертикально движения, (6.3) - построенная для блоков меньшего размера и (6.4) - для блоков большего размера; карта невязки с отмеченной точкой локального минимума для блоков меньшего (6.5) и большего (6.6) размеров.
Фиг.7. Влияние размера блока на точность оценки движения для малых (небольших) объектов; опорный кадр (7.1) и другой кадр (7.2), используемый для оценки движения; увеличенный фрагмент изображения, содержащий небольшой объект с выделенными блоками меньшего и большего размеров (7.3); поверхность невязки для блоков меньшего (7.4) и большего (7.5) размера; карта невязки с отмеченной точкой локального минимума для блоков меньшего (7.6) и большего (7.7) размеров.
Фиг.8. Сигнал 801 постоянной амплитуды с аддитивным шумом и импульсный сигнал 802 с таким же стандартным отклонением.
Фиг.9. Сигнал постоянной амплитуды с аддитивным шумом (9.1) и его сдвинутая копия (9.2).
Фиг.10. Импульсный сигнал (10.1) и его сдвинутая копия (10.2).
Фиг.11. Разность между постоянным зашумленным сигналом и его сдвинутой копией и разность импульсного сигнала и его сдвинутой копии при той же величине сдвига.
Фиг.12. Зависимость суммы абсолютных разностей исходного и сдвинутого сигналов от величины сдвига для постоянного зашумленного сигнала (1201) и импульсного сигнала (1202).
Фиг.13. Естественное изображение; фрагмент 1302 с тонкой линией имеет более низкое стандартное отклонение, чем фрагмент 1301 с высоким уровнем шума (облако).
Фиг.14. Блок-схема алгоритма обнаружения тонких объектов.
Фиг.15. Различие между областью, соответствующей границе объекта (вид 15.1) и тонкой линией (вид 15.2); направленные маски: внутренняя (вид 15.3) и внешняя (вид 15.4); пиксели границы объекта (вид 15.5) и пиксели тонкой линии (вид 15.6) во внутренней маске; пиксели границы объекта (вид 15.7) и пиксели тонкой линии (вид 15.8) во внешней маске.
Фиг.16. Различие между областью, соответствующей границе объекта и тонкой линией, направленная маска (вид 16.1) и ненаправленная маска (вид 16.2); пиксели границы объекта (вид 16.3) и тонкой линии (вид 16.4) внутри направленной маски; пиксели края изображения (вид 16.5) и тонкой линии (вид 16.6) внутри ненаправленной маски.
Фиг.17. Маски для обнаружения линий различной толщины.
Фиг.18. Блок-схема алгоритма обнаружения небольших изолированных объектов.
Фиг.19. Локальный анализ гистограммы для обнаружения небольших изолированных объектов, небольшая маска (вид 19.1), окружающая изолированный объект, и гистограмма (вид 19.2) значений яркости в этой маске; большая маска (вид 19.3), окружающая изолированный объект, и гистограмма (вид 19.4) значения яркости внутри этой маски.
Фиг.20. Проверка того, окружена ли область, в которой предполагается наличие небольшого объекта, со всех четырех сторон другими областями, в которых не предполагается наличие небольшого объекта.
Фиг.21. Маски для обнаружения небольших объектов разных размеров на слаботекстурированном фоне.
Фиг.22. Система обнаружения тонких объектов.
Фиг.23. Система обнаружения мелких объектов.
Фиг.24. Система обнаружения тонких объектов (пример использования трех масштабов).
Фиг.25. Система обнаружения небольших объектов (пример применения трех масштабов).
Фиг.26. Обнаружение тонких объектов: исходное изображение (вид 26.1) и результаты (вид 26.2) обнаружения.
Фиг.27. Обнаружение небольших объектов: исходное изображение (вид 27.1) и результаты (вид 27.2) обнаружения.
Фиг.28. Блок-схема предпочтительного варианта осуществления способа обнаружения тонких объектов.
Фиг.29. Возможные направления границы объекта.
Фиг.30. Банк направленных масок, соответствующих направлениям границы объекта 0-7.
Фиг.31. Внутренние и внешние направленные маски, соответствующие направлениям границы объекта 0-7.
Фиг.32. Блок-схема предпочтительного варианта реализации способа обнаружения небольших объектов.
Фиг.33. Блок-схема возможного применения способа обнаружения небольших и тонких объектов для улучшения качества оценки движения.
Способ обнаружения тонких объектов в видеокадрах включает в себя следующие этапы, примененные для каждого пикселя, как показано на Фиг.14:
- выделяют (шаг 1401) окрестность пикселей вокруг данного пикселя;
- оценивают (шаг 1402) преобладающее направление текстуры D;
⊥
,
- определяют (шаг 1403) направление D  ортогональное преобладающему направлению текстуры D;
i
⊥
- формируют (шаг 1404) набор направленных масок MF (полная направленная маска) с ориентацией, совпадающей с направлением D;
i
i
- формируют (шаг 1405) набор направленных масок ME (внешняя направленная маска) при помощи обнуления одного или нескольких центральных пикселей маски MF,
i
i
- формируют (шаг 1406) набор направленных масок MI (внутренняя направленная маска) при помощи обнуления одного или нескольких периферийных пикселей маски MF;
<mrow><mi>B</mi><msubsup><mi>F</mi><mi>i</mi><mrow><mi>m</mi><mi>i</mi><mi>n</mi></mrow></msubsup></mrow>
<mrow><mi>B</mi><msubsup><mi>F</mi><mi>i</mi><mrow><mi>m</mi><mi>a</mi><mi>x</mi></mrow></msubsup></mrow>
i
- вычисляют (шаг 1407) локальный минимум
и максимум
для значений яркости пикселей внутри каждой из масок MF,
i
i
- вычисляют (шаг 1408) стандартное отклонение SE значений яркости пикселей внутри каждой маски ME;
i
i
- вычисляют (шаг 1409) стандартное отклонение SI значений яркости пикселей внутри каждой маски MI;
вычисляют (шаг 1410) стандартное отклонение S значений яркости пикселей внутри ненаправленной маски вокруг данного пикселя;
A
- вычисляют (шаг 1411) среднее значение B значений яркости пикселей внутри ненаправленной маски вокруг данного пикселя;
- применяют (шаг 1412) правила решения для выявления принадлежит ли данный пиксель тонкому длинному объекту.
Главная идея данного способа основана на следующих наблюдениях:
- в случае тонких линий и границ объектов, в отличие от слаботекстурированных зашумленных участков фона, текстура является направленной;
- в случае тонких линий и границ объектов, в отличие от слаботекстурированных зашумленных участков фона, различие между локальным минимумом и максимум относительно высокое;
- в случае тонких линий и границ объектов, в отличие от слаботекстурированных зашумленных участков фона, локальное стандартное отклонение достаточно высокое;
- в случае более ярких фрагментов изображения, разница между локальным минимумом и максимумом воспринимается более контрастной, чем та же величина разницы между локальным минимумом и максимумом на более темных участках изображения;
i
i
- тонкие линии можно отличать от границ объектов путем сравнения статистики по пикселям внутри масок ME и MI.
Правила решения отражают тот факт, что в случае границы объекта, в отличие от случая тонкой линии (Фиг.15, виды 15.6 и 15.8), отношение стандартного отклонения значений яркости пикселей внутри внешней маски (вид 15.7) к стандартному отклонению значений яркости пикселей внутри внутренней маски (вид 15.5) больше.
i
i
i
В случае границы объекта, стандартное отклонение значений яркости пикселей внутри внешней маски (Фиг.15, вид 15.7) является сопоставимым со стандартным отклонением значений яркости пикселей внутри полной направленной маски (Фиг.16, вид 16.3) или внутри ненаправленной маски (вид 16.5), в то время, как в случае тонкой линии стандартное отклонение значений яркости пикселей внутри внешней маски (Фиг.15, вид 15.8) обычно меньше, чем стандартное отклонение значений яркости пикселей внутри полной направленной маски (Фиг.16, вид 16.4) или внутри ненаправленной маски (вид 16.6). Для того чтобы обнаружить тонкие объекты разной толщины, может быть вычислен банк масок Me, MI, MF, i=1…N различных размеров, где N является общим количеством возможных размеров (Фиг.17).
Способ обнаружения тонких объектов на кадре изображения предусматривает выполнение следующих шагов, примененных к каждому пикселю, как показано на Фиг.18:
S
- выбирают небольшую (шаг 1801) окрестность пикселей площади A вокруг данного пикселя
- рассчитывают гистограмму (шаг 1802) значений яркости небольшой окрестности
- проверяют бимодальность рассчитанной гистограммы (шаг 1803); если гистограмма является унимодальной, то отмечают данный пиксель, как не являющийся небольшим объектом (шаг 1811), и продолжают операцию со следующим пикселем (шаг 1812)
<mrow><msubsup><mi>M</mi><mn>1</mn><mi>S</mi></msubsup></mrow>
<mrow><msubsup><mi>M</mi><mn>2</mn><mi>S</mi></msubsup></mrow>
<mrow><msubsup><mi>B</mi><mn>1</mn><mi>S</mi></msubsup></mrow>
<mrow><msubsup><mi>B</mi><mn>2</mn><mi>S</mi></msubsup></mrow>
- определяют (шаг 1804) первый
и второй
максимумы гистограммы, соответствующие значениям яркости
и
<mrow><mrow><mo>|</mo><mrow><msubsup><mi>B</mi><mn>1</mn><mi>S</mi></msubsup><mo>-</mo><msubsup><mi>B</mi><mn>2</mn><mi>S</mi></msubsup></mrow><mo>|</mo></mrow></mrow>
- если (шаг 1805) абсолютная разность
между значениями яркости, относящихся к первому и второму максимумам гистограммы, является незначительной величиной, то данный пиксель отмечают как не являющийся небольшим объектом (шаг 1811) и переходят к следующему пикселю (шаг 1812)
<mrow><msubsup><mi>B</mi><mn>2</mn><mi>S</mi></msubsup></mrow>
<mrow><msubsup><mi>B</mi><mn>1</mn><mi>S</mi></msubsup></mrow>
- если (шаг 1806) абсолютная разность между значением яркости данного пикселя P и значением яркости второго максимума гистограммы
больше, чем абсолютная разность между значением яркости данного пикселя P и значением яркости первого максимума гистограммы
, то данный пиксель отмечают как не являющийся небольшим объектом (шаг 1811) и переходят к следующему пикселю (шаг 1812)
B
- выбирают большую окрестность (шаг 1807) пикселей площади A вокруг данного пикселя и рассчитывают гистограмму значений яркости, относящихся к большой окрестности
<mrow><msubsup><mi>M</mi><mn>1</mn><mi>B</mi></msubsup></mrow>
<mrow><msubsup><mi>M</mi><mn>2</mn><mi>B</mi></msubsup></mrow>
<mrow><msubsup><mi>B</mi><mn>1</mn><mi>B</mi></msubsup></mrow>
<mrow><msubsup><mi>B</mi><mn>2</mn><mi>B</mi></msubsup></mrow>
- определяют (шаг 1808) первый
и второй максимум
гистограммы и соответствующие значениям яркости и
, и
<mrow><mfrac><mrow><msubsup><mi>M</mi><mn>1</mn><mi>B</mi></msubsup></mrow><mrow><msubsup><mi>M</mi><mn>2</mn><mi>B</mi></msubsup></mrow></mfrac><mo>⋅</mo><mfrac><mrow><msubsup><mi>M</mi><mn>2</mn><mi>S</mi></msubsup></mrow><mrow><msubsup><mi>M</mi><mn>1</mn><mi>S</mi></msubsup></mrow></mfrac></mrow>
<mrow><mi>k</mi><mo>⋅</mo><mfrac><mrow><msup><mi>A</mi><mi>B</mi></msup></mrow><mrow><msup><mi>A</mi><mi>S</mi></msup></mrow></mfrac></mrow>
- если (шаг 1809) соотношение
больше чем
, где k - предопределенная постоянная, данный пиксель отмечают как небольшой объект и переходят (шаг 810) к следующему пикселю, в ином случае отмечают пиксель как не являющийся небольшим объектом (шаг 1811) и переходят к следующему пикселю (шаг 1812)
<mrow><msubsup><mi>B</mi><mn>2</mn><mi>B</mi></msubsup></mrow>
<mrow><msubsup><mi>B</mi><mn>2</mn><mi>S</mi></msubsup></mrow>
<mrow><msubsup><mi>M</mi><mn>1</mn><mi>B</mi></msubsup></mrow>
<mrow><msubsup><mi>M</mi><mn>2</mn><mi>B</mi></msubsup></mrow>
<mrow><msubsup><mi>M</mi><mn>1</mn><mi>S</mi></msubsup></mrow>
<mrow><msubsup><mi>M</mi><mn>2</mn><mi>S</mi></msubsup></mrow>
Основная идея заявляемого изобретения представлена на Фиг.19. Пиксели, принадлежащие небольшому изолированному объекту (вид 19.1), относятся ко второму наибольшему пику гистограммы яркости (вид 19.2). Когда берется большая маска, окружающая изолированный объект (вид 19.3), значение яркости, относящееся ко второму наибольшему пику гистограммы
, остается практически таким же, как и значение яркости, относящееся ко второму наибольшему пику гистограммы
, созданной для меньшего размера маски, соотношение между максимальными значениями
и
гистограммы возрастает в сравнении с соотношением между максимальными значениями
и
гистограммы и практически равно отношению между областями больших и меньших масок.
<mrow><mrow><mo>|</mo><mrow><msubsup><mi>B</mi><mn>1</mn><mi>S</mi></msubsup><mo>-</mo><msubsup><mi>B</mi><mn>2</mn><mi>S</mi></msubsup></mrow><mo>|</mo></mrow></mrow>
На шаге 1805 (Фиг.18) абсолютная разность
может сравниваться с глобальным предопределенным порогом или локальным порогом, рассчитанным для каждого пикселя, принимая во внимание среднюю яркость в каждой его окрестности. Данный адаптивный порог должен быть рассчитан как убывающая функция локальной яркости.
Дополнительная проверка может быть выполнена для того, чтобы определить окружена ли область, в которой предполагается наличие небольшого объекта, со всех четырех сторон другими областями, в которых не предполагается наличие небольшого объекта (Фиг.20).
Также может быть использован анализ связности для снижения количества неверных результатов обнаружения - все связанные области пикселей, определенные как принадлежащие небольшим объектам, площадь которых превышает определенный порог, могут быть отмечены как области объектов, не являющихся небольшими.
<mrow><msubsup><mi>M</mi><mi>j</mi><mi>S</mi></msubsup></mrow>
<mrow><msubsup><mi>M</mi><mi>j</mi><mi>B</mi></msubsup></mrow>
<mrow><mrow><mo>|</mo><mrow><msub><mi>P</mi><mi>k</mi></msub><mo>−</mo><msubsup><mi>B</mi><mn>2</mn><mi>S</mi></msubsup></mrow><mo>|</mo></mrow><mo><</mo><mrow><mo>|</mo><mrow><msub><mi>P</mi><mi>k</mi></msub><mo>−</mo><msubsup><mi>B</mi><mn>1</mn><mi>S</mi></msubsup></mrow><mo>|</mo></mrow></mrow>
<mrow><mi>α</mi><mo>⋅</mo><mrow><mo>|</mo><mrow><msub><mi>P</mi><mi>k</mi></msub><mo>−</mo><msubsup><mi>B</mi><mn>2</mn><mi>S</mi></msubsup></mrow><mo>|</mo></mrow><mo><</mo><mrow><mo>|</mo><mrow><msub><mi>P</mi><mi>k</mi></msub><mo>−</mo><msubsup><mi>B</mi><mn>1</mn><mi>S</mi></msubsup></mrow><mo>|</mo></mrow></mrow>
k
Для обнаружения небольших объектов разных размеров может быть создан банк меньших и больших пар масок разных размеров
,
, j=1…M, где M является общим количеством возможных размеров (Фиг.21). Окончательный результат может быть вычислен как логическая дизъюнкция результатов обнаружения, полученных от различных размеров маски. Вместо того, чтобы производить данную процедуру со скользящим окном, может быть выполнена блочная обработка. В случае, если центральный пиксель блока определяется как принадлежащий небольшому объекту, все остальные пиксели внутри блока с яркостью P маркируются, как относящиеся к небольшому объекту, если
. Данное условие может быть усилено как
, где α>1.
i
i
i
i
i
i
Блок-схема на Фиг.22 представляет систему для обнаружения тонких объектов. Входящий видеопоток 2201 поступает в линейную память 2202, откуда пиксели, описываемые в виде троек значений красного, зеленого и синего каналов цветности, подаются на вход преобразователя 2203 формата, вычисляющего соответствующую этим трем значениям величину яркости. Выходы преобразователя 2203 формата соединены с входом блока 2204 анализа главных компонент и с первым входом блока 2205 фильтрации. Блок 2204 анализа главных компонент производит оценку преобладающего направления текстуры D, передавая ее на вход банка 2206 фильтров и на первый вход блока 2207 принятия решения. Банк 2206 фильтров создает фильтры MF, ME и MI с ориентацией, ортогональной преобладающему направлению текстуры D. Выход банка 2206 фильтров соединен со вторым входом блока 2205 фильтрации. Блок 2205 фильтрации, содержащий значения яркости пикселей в окрестности данного пикселя, полученные от преобразователя формата и фильтров MF, ME и MI из банка фильтров, производит следующие операции:
<mrow><mi>B</mi><msubsup><mi>F</mi><mi>i</mi><mrow><mi>m</mi><mi>i</mi><mi>n</mi></mrow></msubsup></mrow>
<mrow><mi>B</mi><msubsup><mi>F</mi><mi>i</mi><mrow><mi>m</mi><mi>a</mi><mi>x</mi></mrow></msubsup></mrow>
i
вычисляет локальные минимумы
и максимумы
для значений яркости пикселей, находящихся внутри каждой из масок MF,
i
i
- вычисляет стандартное отклонение SE значений яркости пикселей, находящихся внутри каждой из масок ME
i
i
- вычисляет стандартное отклонение SI значений яркости пикселей, находящихся внутри каждой из масок MI,
- вычисляет стандартное отклонение S значений яркости пикселей, расположенных внутри ненаправленной маски вокруг данного пикселя;
A
- рассчитывает среднее значение B значений яркости пикселей, расположенных внутри ненаправленной маски вокруг данного пикселя.
<mrow><mi>B</mi><msubsup><mi>F</mi><mi>i</mi><mrow><mi>m</mi><mi>i</mi><mi>n</mi></mrow></msubsup></mrow>
<mrow><mi>B</mi><msubsup><mi>F</mi><mi>i</mi><mrow><mi>m</mi><mi>a</mi><mi>x</mi></mrow></msubsup></mrow>
i
i
A
Thin
Thin
Выход блока 2205 фильтрации соединен со вторым входом блока 2207 приятия решения и передает на последний (блок 2207) вычисленные значения
,
, SE, SI, S и B. Блок 2207 принятия решения вычисляет правило принятия решения и передает решение P на выход 2208 системы, в случае если данный пиксель принадлежит тонкому объекту. Блок 2207 принятия решения определяет результат решения P на основе следующих правил:
- если текстура не является направленной, установить результат обнаружения как ложный;
<mrow><mi>B</mi><msubsup><mi>F</mi><mi>i</mi><mrow><mi>m</mi><mi>i</mi><mi>n</mi></mrow></msubsup></mrow>
<mrow><mi>B</mi><msubsup><mi>F</mi><mi>i</mi><mrow><mi>m</mi><mi>a</mi><mi>x</mi></mrow></msubsup></mrow>
- если разница между локальными минимумами
и максимумами
незначительна (ниже заданного порога), установить результат обнаружения как ложный;
- если локальное стандартное отклонение S относительно низкое (ниже заданного порога), установить результат обнаружения как ложный;
- если частное стандартного отклонения значений яркости пикселей внутри внешней маски и стандартного отклонения значений яркости пикселей во внутренней маске маленькое (ниже заданного порога), установить результат обнаружения как истинный;
- если стандартное отклонение значений яркости пикселей внутри внешней маски меньше, чем стандартное отклонение значений яркости пикселей внутри полной направленной маски, установить результат обнаружения как истинный;
- если стандартное отклонение значений яркости пикселей внутри внешней маски меньше, чем стандартное отклонение значений яркости пикселей внутри ненаправленной маски, установить результат обнаружения как истинный;
S
B
<mrow><msubsup><mi>B</mi><mrow><mi>m</mi><mi>e</mi><mi>a</mi><mi>n</mi></mrow><mi>S</mi></msubsup></mrow>
<mrow><msubsup><mi>M</mi><mn>1</mn><mi>S</mi></msubsup></mrow>
<mrow><msubsup><mi>M</mi><mn>2</mn><mi>S</mi></msubsup></mrow>
<mrow><msubsup><mi>B</mi><mn>1</mn><mi>S</mi></msubsup></mrow>
<mrow><msubsup><mi>B</mi><mn>2</mn><mi>S</mi></msubsup></mrow>
<mrow><msubsup><mi>M</mi><mn>1</mn><mi>B</mi></msubsup></mrow>
<mrow><msubsup><mi>M</mi><mn>2</mn><mi>B</mi></msubsup></mrow>
<mrow><msubsup><mi>B</mi><mn>1</mn><mi>B</mi></msubsup></mrow>
<mrow><msubsup><mi>B</mi><mn>2</mn><mi>B</mi></msubsup></mrow>
<mrow><msubsup><mi>M</mi><mn>1</mn><mi>S</mi></msubsup></mrow>
<mrow><msubsup><mi>M</mi><mn>2</mn><mi>S</mi></msubsup></mrow>
<mrow><msubsup><mi>B</mi><mn>1</mn><mi>S</mi></msubsup></mrow>
<mrow><msubsup><mi>B</mi><mn>2</mn><mi>S</mi></msubsup></mrow>
<mrow><msubsup><mi>M</mi><mn>1</mn><mi>B</mi></msubsup></mrow>
<mrow><msubsup><mi>M</mi><mn>2</mn><mi>B</mi></msubsup></mrow>
<mrow><msubsup><mi>B</mi><mn>1</mn><mi>B</mi></msubsup></mrow>
<mrow><msubsup><mi>B</mi><mn>2</mn><mi>B</mi></msubsup></mrow>
Bimodal
Bimodal
small
Блок-схема, представленная на Фиг.23, дает представление о системе обнаружения небольших объектов. Входящий видеопоток 2301 сохраняется в линейной памяти 2302, из которой пиксели, описываемые в виде троек значений красного, зеленого и синего каналов цветности, подаются на вход преобразователя 2303 формата, вычисляющего соответствующую этим трем значениям величину яркости. Выходы преобразователя 2303 формата соединены с входами первого блока (2304) и, соответственно, второго блока (2305) вычисления гистограммы. Первый блок 2304 расчета гистограммы выполнен с возможностью расчета гистограммы значений яркости пикселей в малых окрестностях области A вокруг данного пикселя. Второй блок 2305 расчета гистограммы предназначен для расчета гистограммы значений яркости пикселей в большей окрестности области A вокруг данного пикселя. Выход первого блока 2304 расчета гистограммы соединен с входом первого анализатора 2306 гистограммы, что обеспечивает передачу гистограммы значений яркости пикселей в малых окрестностях области вокруг данного пикселя на вход данного анализатора гистограммы. Первый анализатор гистограммы рассчитывает среднее значение яркости
, проверяет, является ли входная гистограмма бимодальной, а если является бимодальной, устанавливает значение флажка бимодальности P истинным и ищет первый
и второй максимум
гистограммы и соответствующие значение яркости
и
. Второй блок 2305 расчета гистограммы соединен с входом второго анализатора 2307 гистограммы и передает гистограмму значений яркости пикселей, расположенных в большей окрестности области вокруг данного пикселя, на вход данного анализатора гистограммы. Второй анализатор гистограммы проверяет, является ли входящая гистограмма бимодальной, а если гистограмма является бимодальной, то ищет первый
и второй
максимумы гистограммы и соответствующие значения яркости
и
. Первый анализатор 2306 гистограммы соединен с первым входом блока 2308 принятия решения и передает на вход данного блока принятия решения значения P,
,
,
и
. Второй анализатор 2307 гистограммы соединен со вторым входом блока 2308 принятия решения и передает на вход данного блока принятия решения значения
,
,
и
. Преобразователь 2303 формата соединен с третьим входом блока 2308 принятия решения и передает значение яркости данного пикселя на вход данного блока принятия решения. Блок 2308 принятия решения вычисляет флаг принадлежности пикселя небольшому объекту P как
<mrow><msub><mi>P</mi><mrow><mi>S</mi><mi>m</mi><mi>a</mi><mi>l</mi><mi>l</mi></mrow></msub><mo>=</mo><msub><mi>P</mi><mrow><mi>B</mi><mi>i</mi><mi>m</mi><mi>o</mi><mi>d</mi><mi>a</mi><mi>l</mi></mrow></msub><mo>&</mo><mrow><mo>|</mo><mrow><msubsup><mi>B</mi><mn>1</mn><mi>S</mi></msubsup><mo>−</mo><msubsup><mi>B</mi><mn>2</mn><mi>S</mi></msubsup></mrow><mo>|</mo></mrow><mo>≥</mo><mi>θ</mi><mrow><mo>(</mo><mrow><msubsup><mi>B</mi><mrow><mi>m</mi><mi>e</mi><mi>a</mi><mi>n</mi></mrow><mi>S</mi></msubsup></mrow><mo>)</mo></mrow><mo>&</mo><mrow><mo>|</mo><mrow><mi>P</mi><mo>−</mo><msubsup><mi>B</mi><mn>2</mn><mi>S</mi></msubsup></mrow><mo>|</mo></mrow><mo><</mo><mrow><mo>|</mo><mrow><mi>P</mi><mo>−</mo><msubsup><mi>B</mi><mn>1</mn><mi>S</mi></msubsup></mrow><mo>|</mo></mrow><mo>&</mo><mfrac><mrow><msubsup><mi>M</mi><mn>1</mn><mi>B</mi></msubsup></mrow><mrow><msubsup><mi>M</mi><mn>2</mn><mi>B</mi></msubsup></mrow></mfrac><mo>⋅</mo><mfrac><mrow><msubsup><mi>M</mi><mn>2</mn><mi>S</mi></msubsup></mrow><mrow><msubsup><mi>M</mi><mn>1</mn><mi>S</mi></msubsup></mrow></mfrac><mo>></mo><mi>k</mi><mo>⋅</mo><mfrac><mrow><msup><mi>A</mi><mi>B</mi></msup></mrow><mrow><msup><mi>A</mi><mi>S</mi></msup></mrow></mfrac></mrow>
,
small
где θ(·) является некой убывающей функцией, а k - некая предопределенная константа или некая функция от локальной статистики пикселей. На выходе блок 2308 принятия решения формирует выход 2309 системы обнаружения небольших объектов, вычисляет флаг принадлежности пикселя небольшому объекту P и передает его на выход системы.
1
1
1
2
2
2
3
3
3
k
k
k
Система для обнаружения тонких объектов может быть применена с различными масштабами. На Фиг.24 представлен пример использования трех масштабов. Входящий видеопоток 2204 сохраняется в линейной памяти 2402, откуда пиксели, описываемые в виде троек значений красного, зеленого и синего каналов цветности, подаются на вход преобразователя 2403 формата, вычисляющего соответствующую этим трем значениям величину яркости. Преобразователь 2403 формата соединен с входами трех блоков (2404, 2405 и 2406 соответственно) обнаружения тонких объектов. Каждый из этих блоков определяет тонкие объекты разной толщины. Выходы блоков 2404, 2405 и 2406 обнаружения тонких объектов соединены с входом логического блока 2407, который делает окончательное заключение, принадлежит ли пиксель тонкому объекту. Данное заключение может быть дизъюнктивной функцией входов, средним значением входов, преобразованных из логического в числовое значение, выборочным средним (медианой) значений входов, преобразованных из логического в числовое значение или M-из-N входов, преобразованных из логического в числовое значение. Выход логического блока 2407 подсоединен к выходу 2408 системы. Блоки 2404, 2405 и 2406 обнаружения тонких объектов имеют одинаковую структуру. Вход каждого блока обнаружения тонких объектов соединен с входом блока 2409 анализа главных компонент и с первым входом блока 2411 фильтрации. Блок 2409 анализа главных компонент оценивает преобладающее направление текстуры D, которое передается на вход банка 2410 фильтров и на первый вход блока 2412 принятия решения. Выход банка 2410 фильтров соединен со вторым входом блока 2411 фильтрации. Функции блоков 2409-2412 и блоков 2204-2207 являются одинаковыми на Фиг 22. Размеры внутренних, внешних и ненаправленных масок {MF,MF,MF} созданных в банке 2410 фильтров блока 2404, масок {MF,ME,MI}, созданных в банке 2410 фильтров блока 2405, и масок {MF,ME,MI}, созданных в банке 2410 фильтров блока 2406, и масок {MF,ME,MI}, созданных в банке 2410 фильтров, и всех других блоков обнаружения тонких объектов (если имеется более трех масштабов), различны. Поэтому каждый из этих блоков обнаруживает объекты соответствующей толщины.
Система обнаружения небольших объектов может быть применена с разными масштабами. На Фиг.25 представлен пример применения трех масштабов. Входящий видеопоток 2501 сохраняется в линейной памяти 2502, откуда пиксели, описываемые в виде троек значений красного, зеленого и синего каналов цветности, подаются на вход преобразователя 2503 формата, вычисляющего соответствующую этим трем значениям величину яркости. Преобразователь 2503 формата соединен с входами трех блоков (2504, 2503 и 2506 соответственно) обнаружения небольших объектов. Каждый из этих блоков обнаруживает небольшие объекты разных радиусов. Выходы блоков 2504, 2505 и 2506 обнаружения небольших объектов соединены с входом логического блока 2507, который делает окончательный вывод о принадлежности пикселя небольшому объекту. Данное заключение может быть дизъюнктивной функцией входов, средним значением входов, преобразованных из логического в числовое значение, средним выборочным (медианой) значений входов, преобразованных из логического в числовое значение или M-из-N входов, преобразованных из логического в числовое значение. Выход логического блока 2507 соединен с выходом 2508 системы.
<mrow><msubsup><mi>A</mi><mn>1</mn><mi>S</mi></msubsup></mrow>
<mrow><msubsup><mi>A</mi><mn>1</mn><mi>B</mi></msubsup></mrow>
<mrow><msubsup><mi>A</mi><mn>2</mn><mi>S</mi></msubsup></mrow>
<mrow><msubsup><mi>A</mi><mn>1</mn><mi>B</mi></msubsup></mrow>
<mrow><msubsup><mi>A</mi><mn>3</mn><mi>S</mi></msubsup></mrow>
<mrow><msubsup><mi>A</mi><mn>3</mn><mi>B</mi></msubsup></mrow>
<mrow><msubsup><mi>A</mi><mi>k</mi><mi>S</mi></msubsup></mrow>
<mrow><msubsup><mi>A</mi><mi>k</mi><mi>B</mi></msubsup></mrow>
Блоки 2504, 2505 и 2506 обнаружения небольших объектов имеют одинаковую структуру. Вход каждого блока обнаружения небольших объектов соединен с входами первого блока 2509 и второго блока 2510 вычисления гистограммы. Выход первого блока 2509 вычисления гистограммы соединен с входом первого анализатора 2511 гистограммы. Второй блок 2510 вычисления гистограммы соединен своим выходом с входом второго анализатора 2512 гистограммы. Первый анализатор 2511 гистограммы соединен своим выходом с первым входом блока 2513 принятия решения. Второй анализатор 2512 гистограммы своим выходом соединен со вторым входом блока 2513 принятия решения. Преобразователь 2503 формата соединен одним их своих выходов с третьим входом блока 2513 принятия решения. Функции блоков 2509-2513 одинаковы, как и функции блоков 2304-2308 на Фиг.23. В первом блоке 2509 вычисления гистограммы внутри первого блока 2504 обнаружения небольших объектов используется окрестность меньшей площади
и окрестность большей площади
. В первом блоке 2509 вычисления гистограммы внутри второго блока 2505 обнаружения небольших объектов используется окрестность меньшей площади
и окрестность большей площади
. В первом блоке 2509 вычисления гистограммы внутри третьего блока 2506 обнаружения небольших объектов используется окрестность меньшей площади
и окрестность большей площади
. В первом блоке 2509 вычисления гистограммы внутри k-го блока обнаружения небольших объектов (если таких блоков больше трех) используется окрестность меньшей площади
и окрестность большей площади
. Таким образом, каждый из этих блоков может обнаруживать небольшие объекты соответствующего радиуса.
На Фиг.26 и 27 представлены результаты обнаружения тонких объектов и, соответственно, обнаружения небольших объектов.
Предпочтительный вариант осуществления способа обнаружения тонких объектов представлен блок-схемой на Фиг.28 и состоит из следующих этапов:
- вычисляют значения яркости из красного, зеленого и синего каналов цветности (шаг 2801);
- вычисляют горизонтальные Dx и вертикальные Dy градиенты значений яркости (шаг 2802);
- проверяют, является ли большой сумма абсолютных величин горизонтальных и вертикальных градиентов |Dx|+|Dy| (2803), и если она небольшая, то отмечают данный пиксель, как не принадлежащий тонким объектам (шаг 2814), и переходят к следующему пикселю;
- проверяют, является ли направленной текстура (шаг 2804) и, если она не является таковой, отмечают пиксели, как не принадлежащие тонким объектам (шаг 2814), и переходят к следующему пикселю;
- оценивают преобладающее направление текстуры (шаг 2805);
- получают из блока памяти (шаг 2806) полные, внутренние и внешние направленные маски, соответствующие преобладающему направлению текстуры;
- находят локальный минимум суммы квадратов горизонтальных и вертикальных градиентов (шаг 2807);
- находят локальный максимум суммы квадратов горизонтальных и вертикальных градиентов (шаг 2808);
- проверяют, является ли сумма квадратов горизонтальных и вертикальных градиентов в данном пикселе близкой к локальному максимуму данных значений (шаг 2809), и если нет, то отмечают пиксель, как не принадлежащий тонким объектам (шаг 2814) и переходят к следующему пикселю;
- находят стандартное отклонение SI значений яркости внутри внутренней направленной маски (шаг 2810);
- находят стандартное отклонение SE значений яркости внутри внешней направленной маски (шаг 2811);
- если соблюдено условие k·SE<SI (шаг 2812), отмечают пиксель, как принадлежащий к тонкому объекту (шаг 2813), или отмечают пиксель, как не принадлежащий тонкому объекту (шаг 2814), если это условие не соблюдено;
- переходят к следующему пикселю.
Проверка локальной направленности текстуры на шаге 2804 выполняется путем сравнения двух собственных значений ковариационной матрицы горизонтальных и вертикальных градиентов для небольшой окрестности вокруг текущего пикселя. Если эти значения близки друг к другу, текстура считается ненаправленной. Оценка преобладающего направления текстуры на шаге 2805 производится путем анализа главной компоненты с последующим квантованием на восемь уровней (от 0 до 7), как это представлено на Фиг.29. Полные, внешние и внутренние направленные маски, полученные из памяти на шаге 2806, построены в соответствии с направлением текстуры, как это представлено на Фиг.30-31.
Для снижения вычислительной сложности способа обнаружения небольших объектов, оценка гистограммы и ее максимумов может быть заменена вычислением локального минимума и максимума, как это представлено на схеме на Фиг.32. Предпочтительный вариант осуществления изобретения по обнаружению небольших объектов состоит из следующих этапов:
min
max
- вычисляют минимум B максимум B значении яркости в окрестностях данного пикселя (шаг 3201);
mean
- вычисляют среднее значение B яркости в окрестности данного пикселя (шаг 3202);
A
mean
- вычисляют адаптивный порог θ(B) как убывающую функцию среднего значения яркости в окрестности данного пикселя (шаг 3203);
max
min
A
mean
- проверяют, соблюдено ли условие B-B>θ(B) (шаг 3204) и, если нет, то отмечают пиксель, как не принадлежащий небольшому объекту (шаг 3210), и переходят к следующему пикселю;
min
min
max
max
max
min
- подсчитывают (шаг 3205) количество пикселей N в окрестности, у которой значение яркости более схоже с минимальным значением яркости B, чем с максимальным значением яркости B; подсчитывают количество пикселей N в окрестности, у которой значение яркости более схоже со значением максимальной яркости B, чем с минимальным значением яркости B;
max
min
- проверяют (шаг 3206), соблюдено ли условие N>N, и если да, то переходят к этапу (шаг 3207), либо к этапу (шаг 3208);
min
max
- проверяют (шаг 3207), является ли значение яркости пикселя более схожим с минимальным значением яркости B, чем с максимальным значением яркости B, и если да, то отмечают пиксель, как принадлежащий небольшому объекту (шаг 3209), либо отмечают, как не принадлежащий небольшому объекту (шаг 3210); переходят к следующему пикселю;
max
min
- проверяют (шаг 3208), является ли значение яркости данного пикселя более схожим с максимальным значением яркости B, чем с минимальным значением яркости B, и если да, то отмечают пиксель, как принадлежащий небольшому объекту (шаг 3209), в ином случае - как не принадлежащий небольшому объекту (шаг 3210);
- переходят к следующему пикселю.
Заявляемое изобретение может быть использовано как часть любого устройства, включающего в себя систему для оценки движения, например телевизор, видеокамера, Blu-Ray или DVD плеер, телевизионная приставка и т.д. На Фиг.33 представлен вариант возможного применения способа обнаружения тонких и небольших объектов для улучшения качества оценки движения. Для первого и второго соседних кадров (блок 3301) в видеопотоке выполняются следующие действия:
- оценивают (шаг 3302) карту тонких объектов в первом кадре, то есть для каждого пикселя применяют способ обнаружения тонкой линии;
- оценивают (шаг 3303) карту небольших объектов во втором 5 кадре, то есть для каждого пикселя применяют способ обнаружения тонкой линии;
- выполняют (шаг 3304) адаптивную оценку движения между первым и вторым кадрами.
Ссылки
1. ЕР 1138152 В1, X. Song, Y.-Q. Zhang, и Т. Chiang (Mediatek Inc.).
2. US 5557341 B2, P. Weiss и В. Christensson (DV Sweden AB).
3. US 6084908 B2, T. Chiang, J. Lee, Y.-Q. Zhang и Z. Xiong (Samoff Corporation, Sharp Corporation).[4] - US 7324596 B2, M.D. Gallant и E.C. Pearson (LSI Logic Corporation).
5. US 2012/0163459 A1, A.V. Tsyrganovich.
6. US 8325812 B2, O. Kwon, J. Min, M. Kim, H. Lee, H. Seong and M. Cho.
7. US 8406302 B2, G.A. Lunter (Entropic Communications).
8. US 2009/0322956 A1 M.B. Chappali и Y.T. Kim.
9. US 2007/0081096 A1, R.B.M. Klein Gunnewiek и F.J. De Bruijn.
10. Small moving object detection in video sequences, R. Zaibi, A.E. Cetin, Y. Yardimci. In Proc. ICASSP '00 Proceedings of the Acoustics, Speech, and Signal Processing, 2000. on IEEE International Conference - Vol.4, p.2071-2074.
11. Small and fast moving object detection and tracking in sports video sequences, M.A. Zaveri, S.N. Merchant, U.B. Desai In Proc. IEEE International Conference on Multimedia and Expo, 2004. ICME '04. 2004. Vol.3, p.1539-1542.