Локальные бинарные шаблоны - Local binary patterns

Локальные бинарные шаблоны (LBP) является разновидностью визуальный дескриптор используется для классификации в компьютерное зрение. LBP - частный случай модели текстурного спектра, предложенной в 1990 году.[1][2] LBP впервые был описан в 1994 году.[3][4] С тех пор было обнаружено, что это мощная функция для классификации текстур; дополнительно было определено, что когда LBP сочетается с Гистограмма ориентированных градиентов (HOG), он значительно улучшает производительность обнаружения некоторых наборов данных.[5] Сравнение нескольких улучшений исходного LBP в области вычитания фона было проведено в 2015 году Silva et al.[6] Полный обзор различных версий LBP можно найти в Bouwmans et al.[7]

Концепция

Три примера соседства, используемых для определения текстуры и вычисления локального двоичного шаблона (LBP)

Вектор признаков LBP в простейшей форме создается следующим образом:

  • Разделите исследуемое окно на ячейки (например, 16x16 пикселей для каждой ячейки).
  • Для каждого пикселя в ячейке сравните пиксель с каждым из его 8 соседей (слева вверху, слева посередине, слева внизу, справа вверху и т. д.). Следуйте за пикселями по кругу, то есть по часовой стрелке или против часовой стрелки.
  • Если значение центрального пикселя больше, чем значение соседнего пикселя, напишите «0». В противном случае напишите «1». Это дает 8-значное двоичное число (которое для удобства обычно преобразуется в десятичное).
  • Вычислить гистограмма по ячейке частоты появления каждого «числа» (т.е. каждой комбинации пикселей меньше и больше центра). Эту гистограмму можно рассматривать как 256-мерную вектор признаков.
  • При желании нормализовать гистограмму.
  • Объедините (нормализованные) гистограммы всех ячеек. Это дает вектор признаков для всего окна.

Вектор признаков теперь можно обрабатывать с помощью Машина опорных векторов, экстремальные обучающие машины, или какой-то другой машинное обучение алгоритм классификации изображений. Такие классификаторы можно использовать для распознавание лица или анализ текстуры.

Полезным расширением исходного оператора является так называемый универсальный шаблон,[8] который можно использовать для уменьшения длины вектора признаков и реализации простого дескриптора, инвариантного к повороту. Эта идея мотивирована тем фактом, что одни двоичные паттерны чаще встречаются в изображениях текстур, чем другие. Локальный двоичный шаблон называется равномерным, если двоичный шаблон содержит не более двух переходов 0-1 или 1-0. Например, 00010000 (2 перехода) - это однородный узор, а 01010100 (6 переходов) - нет. При вычислении гистограммы LBP гистограмма имеет отдельный интервал для каждого однородного шаблона, и все неоднородные шаблоны назначаются одному интервалу. При использовании унифицированных шаблонов длина вектора признаков для одной ячейки уменьшается с 256 до 59. 58 одинаковых двоичных шаблонов соответствуют целым числам 0, 1, 2, 3, 4, 6, 7, 8, 12, 14, 15. , 16, 24, 28, 30, 31, 32, 48, 56, 60, 62, 63, 64, 96, 112, 120, 124, 126, 127, 128, 129, 131, 135, 143, 159, 191 , 192, 193, 195, 199, 207, 223, 224, 225, 227, 231, 239, 240, 241, 243, 247, 248, 249, 251, 252, 253, 254 и 255.

Расширения

  • Перезаполнение локальных двоичных шаблонов (OCLBP):[9] OCLBP - это вариант LBP, который, как было показано, улучшает общую производительность проверки лица. В отличие от LBP, OCLBP допускает перекрытие соседних блоков. Формально конфигурация OCLBP обозначается как S: (a, b, v, h, p, r): изображение разбивается на блоки размером a × b с вертикальным перекрытием v и горизонтальным перекрытием h, а затем однородные шаблоны LBP (u2, p, r) извлекаются из всех блоков. Более того, OCLBP состоит из нескольких различных конфигураций. Например, в своей оригинальной статье авторы использовали три конфигурации: S: (10,10,12,12,8,1), (14,14,12,12,8,2), (18,18,12 , 12,8,3). Эти три конфигурации учитывают три размера блоков: 10 × 10, 14 × 14, 18 × 18 и половинную частоту перекрытия в вертикальном и горизонтальном направлениях. Эти конфигурации объединяются, чтобы сформировать вектор пространственных признаков 40877 для изображения размером 150x80.
  • Локальные двоичные шаблоны переходов (tLBP):[10] Двоичное значение LBP с переходным кодированием состоит из сравнений соседних пикселей по часовой стрелке для всех пикселей, кроме центрального.
  • Локальные двоичные шаблоны с направленным кодированием (dLBP): dLBP кодирует изменение интенсивности по четырем основным направлениям через центральный пиксель в двух битах.
  • Модифицированные локальные двоичные шаблоны (mLBP): mLBP сравнивает значения соседних пикселей со средним значением интенсивности в окне 3x3.
  • Многоблочный LBP: изображение делится на множество блоков, гистограмма LBP рассчитывается для каждого блока и объединяется в конечную гистограмму.
  • Объемный локальный двоичный шаблон (VLBP):[11] VLBP рассматривает динамическую текстуру как набор объемов в пространстве (X, Y, T), где X и Y обозначают пространственные координаты, а T обозначает индекс кадра. Таким образом, окрестность пикселя определяется в трехмерном пространстве, и объемные текстоны могут быть извлечены в гистограммы.
  • RGB-LBP: этот оператор получается путем вычисления LBP по всем трем каналам цветового пространства RGB независимо, а затем объединения результатов вместе.

Реализации

  • CMV, включает в себя общий LBP выполнение и многие другие расширения гистограммы LBP в MATLAB.
  • Python mahotas, пакет компьютерного зрения с открытым исходным кодом, который включает реализацию LBP.
  • OpenCV Каскадные классификаторы поддерживают LBP начиная с версии 2.
  • VLFeat, библиотека компьютерного зрения с открытым исходным кодом на C (с привязкой к нескольким языкам, включая MATLAB) имеет выполнение.
  • LBPLibrary представляет собой набор из одиннадцати алгоритмов локальных двоичных шаблонов (LBP), разработанных для задачи вычитания фона. Алгоритмы были реализованы на C ++ на базе OpenCV. Предоставляется файл CMake, и библиотека совместима с Windows, Linux и Mac OS X. Библиотека была успешно протестирована с OpenCV 2.4.10.
  • BGSLibrary включает оригинальную реализацию LBP для обнаружения движения[12] а также новый вариант оператора LBP в сочетании с марковскими случайными полями[13] с улучшенными показателями распознавания и надежностью.
  • dlib, библиотека C ++ с открытым исходным кодом: выполнение.
  • scikit-изображение, библиотека Python с открытым исходным кодом. Предоставляет питон на основе c выполнение для LBP

Смотрите также

Рекомендации

  1. ^ ОКРУГ КОЛУМБИЯ. Он и Л. Ван (1990), "Блок текстуры, спектр текстуры и анализ текстуры", Науки о Земле и дистанционное зондирование, IEEE Transactions on, vol. 28. С. 509 - 512.
  2. ^ Л. Ван и Д.К. Он (1990), «Классификация текстур с использованием спектра текстур», «Распознавание образов», Vol. 23, № 8, с. 905 - 910.
  3. ^ Т. Ояла, М. Пиетикяйнен и Д. Харвуд (1994), "Оценка эффективности мер текстуры с классификацией, основанной на различении распределений Кульбака", Труды 12-й Международной конференции IAPR по распознаванию образов (ICPR 1994), том. 1. С. 582 - 585.
  4. ^ T. Ojala, M. Pietikäinen и D. Harwood (1996), "Сравнительное исследование показателей текстуры с классификацией на основе распределения признаков", Pattern Recognition, vol. 29, стр. 51-59.
  5. ^ «Детектор человека HOG-LBP с обработкой частичной окклюзии», Сяоюй Ван, Тони X. Хан, Шуйчэн Ян, ICCV 2009
  6. ^ К. Сильва, Т. Боуманс, К. Фрелико, «Расширенный центр-симметричный локальный двоичный паттерн для моделирования фона и вычитания в видео», VISAPP 2015, Берлин, Германия, март 2015.
  7. ^ Т. Боуманс, К. Сильва, К. Маргес, М. Зитуни, Х. Бхаскар, К. Фрелико, «О роли и важности функций для моделирования фона и обнаружения переднего плана», arXiv:1611.09099
  8. ^ Barkan et. al "Быстрое распознавание лиц с большим векторным умножением". Материалы ICCV 2013
  9. ^ Barkan et. al "Быстрое распознавание лиц с большим векторным умножением". Материалы ICCV 2013
  10. ^ Trefný, Jirí и Jirí Matas. «Расширенный набор локальных двоичных шаблонов для быстрого обнаружения объектов». Материалы зимнего семинара по компьютерному зрению. Vol. 2010. 2010.
  11. ^ Чжао, Гоин и Матти Пиетикайнен. «Распознавание динамических текстур с использованием локальных двоичных шаблонов с приложением к выражению лица». IEEE Transactions по анализу шаблонов и машинному анализу 29.6 (2007): 915-928.
  12. ^ М. Хейккиля, М. Пиетикяйнен, «Метод на основе текстур для моделирования фона и обнаружения движущихся объектов», IEEE Transactions on Pattern Analysis and Machine Intelligence, 28 (4): 657-662, 2006.
  13. ^ К., Кертес: Обнаружение переднего плана на основе текстур, Международный журнал обработки сигналов, обработки изображений и распознавания образов (IJSIP), Vol. 4, №4, 2011.