Классификация изображений

1,449 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,449
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
22
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • 1500-3000 basic-level nouns, ~10 types per basic-level category
  • Добавить пояснения
  • Классификация изображений

    1. 1. Классификация изображений Many slides adapted from Fei-Fei Li, Rob Fergus, Antonio Torralba and Svetlana Lazebnik CSEDays-2010
    2. 2. Сколько всего классов объектов ? ~10,000 to 30,000 Biederman 1987 1500-3000 основных существительных, ~10 подкатегорий
    3. 3. Миллионы крошечных картинок (« Tiny images ») http:// people.csail.mit.edu/torralba/tinyimages /
    4. 4. Миллионы крошечных картинок (« Tiny images »)
    5. 5. Классификация текстов <ul><li>Представление документа без порядка : частоты слов из словаря («мешок слов») Salton & McGill (1983) </li></ul>US Presidential Speeches Tag Cloud http://chir.ag/phernalia/preztags/
    6. 6. Классификация текстов <ul><li>Представление документа без порядка : частоты слов из словаря («мешок слов») Salton & McGill (1983) </li></ul>US Presidential Speeches Tag Cloud http://chir.ag/phernalia/preztags/
    7. 7. <ul><li>Представление документа без порядка : частоты слов из словаря («мешок слов») Salton & McGill (1983) </li></ul>Классификация текстов US Presidential Speeches Tag Cloud http://chir.ag/phernalia/preztags/
    8. 8. Слова и словари <ul><li>Что такое «слово» в контексте изображений? </li></ul><ul><li>Как составить «словарь» для коллекции изображений? </li></ul>
    9. 9. Моделирование текстур <ul><li>Текстура является повторением набора базовых элементов («текстонов») </li></ul><ul><li>Для стохастических текстур важны сами текстоны, а не их пространственное расположение </li></ul>
    10. 10. Распознавание текстур Universal texton dictionary histogram
    11. 11. «Визуальные слова» face, flowers, building <ul><li>«Визуальное слово» – часто повторяющийся фрагмент изображения </li></ul><ul><li>В отличие от текстур – не в одном изображении, а в коллекции </li></ul><ul><li>В изображении визуальное слово может встречаться только один раз! </li></ul>
    12. 12. «Визуальный словарь» <ul><li>Словарь – набор фрагментов, часто повторяющихся в коллекции изображений </li></ul><ul><li>Как составить словарь? </li></ul><ul><ul><li>Составить большой список всех фрагментов по всей коллекции </li></ul></ul><ul><ul><li>Разделить весь список на похожие группы </li></ul></ul><ul><ul><li>Типичная задача «кластеризации» </li></ul></ul><ul><ul><li>Будем считать все фрагменты в одной группе – «экземплярами» одного и того же слова </li></ul></ul>
    13. 13. «Мешок визуальных слов»
    14. 14. <ul><li>Регулярная сетка </li></ul><ul><ul><li>Vogel & Schiele, 2003 </li></ul></ul><ul><ul><li>Fei-Fei & Perona, 2005 </li></ul></ul>1. Сбор фрагментов
    15. 15. <ul><li>Регулярная сетка </li></ul><ul><ul><li>Vogel & Schiele, 2003 </li></ul></ul><ul><ul><li>Fei-Fei & Perona, 2005 </li></ul></ul><ul><li>Характерные точки </li></ul><ul><ul><li>Csurka et al. 2004 </li></ul></ul><ul><ul><li>Fei-Fei & Perona, 2005 </li></ul></ul><ul><ul><li>Sivic et al. 2005 </li></ul></ul>1. Сбор фрагментов
    16. 16. <ul><li>Характерная точка изображения - это точка с характерной (отличающейся) окрестностью </li></ul>Характерные точки Пример особой точки Пример точки, не являющейся особой <ul><li>Названия: </li></ul><ul><li>Особенность ( feature) </li></ul><ul><li>Характеристическая / интересная точка ( interest point) </li></ul>
    17. 17. Свойства характерных точек <ul><li>Локальность ( Locality ) </li></ul><ul><ul><li>Особенность занимаем маленькую область изображения, поэтому работа с ней нечувствительна к перекрытиям </li></ul></ul><ul><li>Повторяемость ( Repeatability ) </li></ul><ul><ul><li>Особенность ( feature) должна находится в том же месте не смотря на изменения точки обзора и освещения </li></ul></ul><ul><li>Значимость ( Saliency ) </li></ul><ul><ul><li>Каждая особенность должна иметь уникальное ( distinctive) описание </li></ul></ul><ul><li>Компактность и эффективность </li></ul><ul><ul><li>Особенностей гораздо меньше .чем пикселей в изображении </li></ul></ul>
    18. 18. Детекторы характерных точек <ul><li>Harris </li></ul><ul><li>Difference of Gaussian </li></ul><ul><li>Harris-Laplacian </li></ul>
    19. 19. <ul><li>Как два небольших изображения! </li></ul><ul><ul><li>Те же метрики, что и при прямом сравнении изображений: </li></ul></ul><ul><ul><li>SAD = Squared absolute difference </li></ul></ul><ul><ul><li>SSD = Squared of square difference </li></ul></ul><ul><ul><li>Cross-correlation </li></ul></ul><ul><li>Неустойчиво к изменениям! </li></ul><ul><ul><li>Освещения </li></ul></ul><ul><ul><li>Малые сдвиги приводят к </li></ul></ul><ul><ul><li>большим изменениям </li></ul></ul>Как сравнивать фрагменты?
    20. 20. SIFT <ul><li>S cale- I nvariant F eature T ransform </li></ul><ul><ul><li>DoG или Harris-Laplacian </li></ul></ul><ul><ul><li>Характерный размер области R </li></ul></ul><ul><ul><li>Характерная ориентация </li></ul></ul><ul><ul><li>Дескриптор на основе гистограммы направлений градиентов </li></ul></ul><ul><li>Один из самых эффективных </li></ul><ul><li>дескрипторов </li></ul>David G. Lowe. &quot;Distinctive image features from scale-invariant keypoints .” IJCV 60 (2), pp. 91-110, 2004.
    21. 21. Ориентация <ul><li>Пример: найти локальное направление градиента вокруг интересной точки </li></ul><ul><li>Повернуть фрагмент(ы) так, чтобы средний градиент был направлен вверх </li></ul>0 2 
    22. 22. Дескрипторы Ориентация = размытый градиент Рамка, независимая от поворота ( Rotation Invariant Frame )
    23. 23. Дескрипторы
    24. 24. Гистограммы градиентов SIFT <ul><li>Вычисляем градиент в каждой точке </li></ul><ul><li>Строим гистограммы по окрестностям </li></ul><ul><li>Обычно – сетка 4 x4 , в каждой гистограмма с 8ю ячейками </li></ul><ul><li>Стандартная длина вектора-дескриптора – 128 (4*4*8) </li></ul><ul><li>Устойчив к изменениям освещенности и небольшим сдвигам </li></ul>
    25. 25. 1. Извлечение фрагментов <ul><li>Выбрали фрагменты </li></ul><ul><li>Вычислили для каждого дескриптор </li></ul><ul><li>Составили большой список всех дескрипторов </li></ul>…
    26. 26. 2. Обучение словаря …
    27. 27. 2. Обучение словаря Кластеризация Slide credit: Josef Sivic …
    28. 28. 2. Обучение словаря Кластеризация Slide credit: Josef Sivic Визуальный словарь …
    29. 29. Кластеризации <ul><li>Кластеризация является обычным методов обучения визуального словаря или «кодовой книги» ( codebook ) </li></ul><ul><ul><li>Обучение без учителя </li></ul></ul><ul><ul><li>Центр каждого кластера становится кодовым вектором </li></ul></ul><ul><ul><li>Словарь можно обучить на отдельной выборке </li></ul></ul><ul><ul><li>Если обучающая выборка достаточно представительна, тогда словарь может стать «универсальным» </li></ul></ul>
    30. 30. Кластеризация K-c редними <ul><li>Минимизируем сумму квадратов Евклидовых расстояний между точками x i и ближайшими центрами кластеров m k </li></ul><ul><li>Алгоритм : </li></ul><ul><li>Случайно инициализируем K центров кластеров </li></ul><ul><li>Повторяем до сходимости : </li></ul><ul><ul><li>Назначаем каждую точку ближайшему центру </li></ul></ul><ul><ul><li>Пересчитываем центр каждого кластера как среднее всх назначенных точек </li></ul></ul>
    31. 31. Иллюстрация
    32. 32. Иллюстрация
    33. 33. Иллюстрация
    34. 34. Иллюстрация
    35. 35. Иллюстрация
    36. 36. Иллюстрация
    37. 37. Иллюстрация
    38. 38. Иллюстрация
    39. 39. Иллюстрация
    40. 40. Пример словаря Fei-Fei et al. 2005
    41. 41. Визуальные словари <ul><li>Как выбрать размер словаря ? </li></ul><ul><ul><li>Маленький : слова не могут описать все особенности </li></ul></ul><ul><ul><li>Большой : переобучение </li></ul></ul><ul><li>Вычислительная сложность </li></ul><ul><ul><li>Деревья словарей (Nister & Stewenius, 2006) </li></ul></ul><ul><ul><li>Approximate nearest-neighbour </li></ul></ul><ul><ul><li>Хеширование </li></ul></ul>
    42. 42. 3. От кластеризации к квантизации <ul><li>Квантуем особенности с помощью словаря </li></ul><ul><ul><li>Сопоставляем каждый дескриптор ближайшему слову из словаря </li></ul></ul>Sivic et al. 2005 Примеры визуальных слова
    43. 43. 3. Описание изображения – «мешок слов» частоты слова … ..
    44. 44. 4. Классификация изображений <ul><li>Как мы будем различать изображение, если представление изображения в виде сумки слов уже получено? </li></ul>
    45. 45. Классификация <ul><li>Обучим решающее правило (классификатор), назначающий «мешкам» соответствующий класс </li></ul><ul><li>Любое решающее правило делит пространство на решающие регионы разделенные решающими границами </li></ul><ul><li>Decision </li></ul>
    46. 46. Классификатор – ближайший сосед <ul><li>Назначаем объекту метку ближайшего прецедента из обучающей выборки </li></ul>Диаграмма вороного для разбиения пространства признаков на 2 класса from Duda et al. Source: D. Lowe
    47. 47. <ul><li>Для каждой точки найти k ближайших точек из обучающей выборки </li></ul><ul><li>Метки k точек голосуют за метку </li></ul><ul><li>Работает неплохо при наличии большой обучающей выборки и хорошей функции близости </li></ul>К ближайших соседей k = 5 Source: D. Lowe
    48. 48. Решающее дерево 1 2 3 4 5 6 7 1 4 5 2 3 7 6 Slide by V.Lempitsky
    49. 49. «Оверфиттинг» и «Прунинг» A B C D Slide by V.Lempitsky
    50. 50. От дерева к лесу <ul><li>Yali Amit, Donald Geman: Shape quantization and recognition with randomized trees. Neural Computation, 1997 . </li></ul><ul><li>Leo Breiman: Random forests. Machine Learning, 2001. </li></ul>Slide by V.Lempitsky
    51. 51. Решающий лес - обучение <ul><li>function Node = Обучение_Вершины( {(x,y)}, Level) { </li></ul><ul><ul><li>if {y} одинаковые или Level == maxLevel </li></ul></ul><ul><ul><ul><li>return Создать_Лист(Распределение y); </li></ul></ul></ul><ul><ul><li>{tests} = Создать_ N _Случайных_Разбиений( {(x,y)} , N ) ; </li></ul></ul><ul><ul><li>test = Выбрать_лучшее_разбиение _ из( {tests}); </li></ul></ul><ul><ul><li>{(x0,y0)} = {(x,y) | test(x) = 0}; </li></ul></ul><ul><ul><li>{(x1,y1)} = {(x,y) | test(x) = 1}; </li></ul></ul><ul><ul><li>LeftChild = Обучение_Вершины( {(x0,y0)}, Level+1); </li></ul></ul><ul><ul><li>RightChild = Обучение_Вершины( {(x1,y1)}, Level+1); </li></ul></ul><ul><ul><li>return Создать_Вершину( test, LeftChild, RightChild); </li></ul></ul><ul><li>} </li></ul><ul><li>// Обучение леса </li></ul><ul><li>function main() { </li></ul><ul><ul><li>{X,Y} = Прочитать_Обучающие_Данные() ; </li></ul></ul><ul><ul><li>for i = 1 to N </li></ul></ul><ul><ul><li> {Xi,Yi} = Случайное_Подмнжество( {X,Y})); </li></ul></ul><ul><ul><li>TreeRoot_i = Обучение_Вершины( {Xi,Yi}); </li></ul></ul><ul><ul><li>end </li></ul></ul><ul><li>} </li></ul>Slide by V.Lempitsky
    52. 52. Решающий лес - применение Slide by V.Lempitsky
    53. 53. Решающий лес – свойства <ul><li>Один из самых эффективных алгоритмов классификации </li></ul><ul><li>Вероятностное распределение на выходе </li></ul><ul><li>Применим для высоких размерностей пространства признаков </li></ul><ul><li>Высокая скорость обучения и тестирования </li></ul><ul><li>Относительная простота реализации </li></ul>Caruana, R., Niculescu-Mizil, A.: An empirical comparison of supervised learning algorithms , 2006 Slide by V.Lempitsky
    54. 54. Случайные окна для классификации Raphaël Marée, Pierre Geurts, Justus H. Piater, Louis Wehenkel: Random Subwindows for Robust Image Classification. CVPR 2005 - случайные окна - нормализация Признаки – интенсивности пикселей (цвета)
    55. 55. Возможные тесты I(p) ≷ τ I(p) ≷ I(q) + τ p p q Σ p∊A I(p) ≷ τ A A B Σ p∊A I(p) ≷ Σ p∊B I(p) + τ <ul><li>Интегральные изображения для быстрого подсчета </li></ul>Slide by V.Lempitsky
    56. 56. Устойчивость к повороту <ul><li>Случайным образом поворачиваем каждое окно перед нормализацией размера </li></ul>
    57. 57. Результат работы <ul><li>Размер выборки = 100.000 </li></ul><ul><li>Глубина = максимум </li></ul><ul><li>Количество тестов = 1 ( “extremely-randomized decision trees”) </li></ul><ul><li>10 деревьев в лесу </li></ul><ul><li>всего 6 минут на обучение!!!! </li></ul><ul><li>100 окон (2000 тестов) на классификацию картинки – realtime </li></ul><ul><li>Сравнимая с другими методами точность работы! </li></ul>Slide by V.Lempitsky
    58. 58. Caltech 101 & 256 Griffin, Holub, Perona, 2007 Fei-Fei, Fergus, Perona, 2004 http://www.vision.caltech.edu/Image_Datasets/Caltech101/ http://www.vision.caltech.edu/Image_Datasets/Caltech256 /
    59. 59. Caltech-101
    60. 60. The PASCAL Visual Object Classes Challenge (2005-2009) <ul><li>Основные конкурсы </li></ul><ul><ul><li>Классификация : Для каждого из 20 классов, определить присутствие/отсутствие объекта этого класса в изображении </li></ul></ul><ul><ul><li>Поиск : Определить рамку и метку каждого объекта из 20 классов в изображении </li></ul></ul>http://pascallin.ecs.soton.ac.uk/challenges/VOC/
    61. 61. PASCAL (2005-2009) Классы 2008 : Человек : человек Животные : птица, кошка, корова, собака, лошадь, оцва Транспорт : самолет, велосипед, лодка, автобус, машина, мотоцикл, поезд Помещения : бутылка, кресло, стол, растение в горшке, монитор, диван http://pascallin.ecs.soton.ac.uk/challenges/VOC/
    62. 62. The PASCAL Visual Object Classes Challenge (2005-2009) <ul><li>Новые конкурсы </li></ul><ul><ul><li>Семантическая сегментация : попиксельная аннотация области объектов и фона </li></ul></ul><ul><ul><li>Человек : Пометить рамкой и меткой каждую часть тела (голову, руки, ступни) </li></ul></ul>
    63. 63. Как реализовать? <ul><li>OpenCV 2.0 </li></ul><ul><ul><li>Работа с изображениями, классификаторы </li></ul></ul><ul><li>VLFeat </li></ul><ul><ul><li>Детекторы точек, дескрипторы, кластеризация </li></ul></ul><ul><ul><li>http:// www.vlfeat.org / </li></ul></ul><ul><li>ColorDescriptor </li></ul><ul><ul><li>Ряд разнообразных дескрипторов точек </li></ul></ul><ul><ul><li>http:// staff.science.uva.nl/~ksande/research/colordescriptors / </li></ul></ul>
    64. 64. Резюме метода «мешок слов» <ul><li>Извлечение особенностей </li></ul><ul><li>Обучить “ визуальный словарь ” </li></ul><ul><li>Квантуем особенности по словарю </li></ul><ul><li>Описываем картинку частотами «визуальных слов» </li></ul><ul><li>Варианты: </li></ul><ul><ul><li>Поиск ближайшего </li></ul></ul><ul><ul><li>Многоклассовая классификация </li></ul></ul>
    65. 65. Завтра… <ul><li>Поиск объектов </li></ul><ul><li>Семантическая </li></ul><ul><li>сегментация </li></ul>

    ×