«Компьютерное зрение»
Содержание
Введение
Разница между зрением человека и компьютера
Машинное обучение
Изображение в цифрах
Цвет и свет
Локальные и глобальные признаки
Детектирование и сегментация
Дескрипторы и визуальные слова
Распознавание и классификация
Заключение
Список использованных источников

Компьютерное зрение

1. «Компьютерное зрение»

Выполнили: студенты группы КТмо1-1
Немченко А.А.
Близнюк Д.В.

2. Содержание

Введение
Разница между зрением человека и компьютера
Машинное обучение
Изображение в цифрах
Цвет и свет
Локальные и глобальные признаки
Детектирование и сегментация
Дескрипторы и визуальные слова
Распознавание и классификация
Заключение
Список использованных источников

3. Введение

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

4. Разница между зрением человека и компьютера

Ребенок учится распознавать объекты постепенно. Он начинает осознавать, как
меняется форма объекта в зависимости от его положения и освещения. В
дальнейшем при распознавании объектов человек ориентируется на
предыдущий опыт. За свою жизнь человек накапливает огромное количество
информации, процесс обучения нейронной сети не останавливается ни на
секунду. Для человека не представляет особой сложности по плоской картинке
восстановить перспективу и представить себе, как бы все это выглядело в трех
измерениях.
Компьютеру все это дается гораздо сложнее. И в первую очередь из-за
проблемы накопления опыта. Нужно собрать огромное количество примеров,
что пока что не очень получается.

5.

Представим, что нам нужно научиться с одного взгляда
определять пол человека (одетого!) по фотографии. Для начала нужно
определить факторы, которые могут указывать на принадлежность к
тому или иному объекту. Кроме того, нужно собрать обучающее
множество. Желательно, чтобы оно было репрезентативным. В
нашем случае возьмем в качестве обучающей выборки всех
присутствующих в аудитории. И попробуем на их основе найти
отличительные факторы: например, длина волос, наличие бороды,
макияжа и одежда (юбка или брюки). Зная, у какого процента
представителей одного пола встречались те или иные факторы, мы
сможем создать достаточно четкие правила: наличие тез или иных
комбинаций факторов с некоей вероятностью позволит нам сказать,
человек какого пола на фотографии.

6. Машинное обучение

Конечно, это очень простой и условный пример с небольшим количеством
верхнеуровневых факторов. В реальных задачах, которые ставятся перед
системами компьютерного зрения, факторов гораздо больше. Определять их
вручную и просчитывать зависимости – непосильная для человека задача.
Поэтому в таких случаях без машинного обучения не обойтись никак.
Например, можно определить несколько десятков первоначальных факторов,
а также задать положительные и отрицательные примеры. А уже
зависимости между этими факторами подбираются автоматически,
составляется формула, которая позволяет принимать решения. Достаточно
часто и сами факторы выделяются автоматически.

7. Изображение в цифрах

Чаще всего для хранения цифровых
изображений спользуется цветовое
пространство RGB. В нем каждой из
трех осей (каналов) присваивается свой
цвет: красный, зеленый и синий. На
каждый канал выделяется по 8 бит
информации, соответственно,
интенсивность цвета на каждой оси
может принимать значения в диапазоне
от 0 до 255. Все цвета в цифровом
пространстве RGB получаются путем
смешивания трех основных цветов.

8.

К сожалению, RGB не всегда хорошо подходит
для анализа информации. Эксперименты
показывают, что геометрическая близость цветов
достаточно далека от того, как человек
воспринимает близость тех или иных цветов
друг к другу.
Но существуют и другие цветовые пространства.
Весьма интересно в нашем контексте
пространство HSV (Hue, Saturation, Value). В нем
присутствует ось Value, обозначающая
количество света. На него выделен отдельный
канал, в отличие от RGB, где это значение нужно
вычислять каждый раз. Фактически, это чернобелая версия изображения, с которой уже можно

9. Цвет и свет

Почему так важно иметь данные о количестве света? В большинстве
случаев в компьютерном зрении цвет не имеет никакого значения, так как
не несет никакой важной информации. Посмотрим на две картинки:
цветную и черно-белую. Узнать все объекты на черно-белой версии не
намного сложнее, чем на цветной. Дополнительной нагрузки для нас цвет
в данном случае не несет никакой, а вычислительных проблем создает
великое множество. Когда мы работаем с цветной версией изображения,
объем данных, грубо говоря, возводится в степень куба.

10.

Цвет используется лишь в редких случаях, когда это
наоборот позволяет упростить вычисления. Например, когда
нужно детектировать лицо: проще сначала найти его возможное
расположение на картинке, ориентируясь на диапазон телесных
оттенков. Благодаря этому отпадает необходимость
анализировать изображение целиком.

11. Локальные и глобальные признаки

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

12.

Такой ответ подразумевает, что человек выделил на
изображении объект, а значит, описал локальный признак цвета. По
большому счету на картинке изображен лес, дорога и немного
автомобиля. По площади автомобиль занимает меньшую часть. Но
мы понимаем, что машина на этой картинке – самый важный объект.
Если человеку предложить найти картинки похожие на эту, он будет
в первую очередь отбирать изображения, на которых присутствует
красная машина.

13. Детектирование и сегментация

В компьютерном зрении этот процесс называется детектированием и
сегментацией. Сегментация – это разделение изображения на множество
частей, связанных друг с другом визуально, либо семантически. А
детектирование – это обнаружение объектов на изображении.
Детектирование нужно четко отличать от распознавания.

14.

Допустим, на той же картинке с автомобилем можно
детектировать дорожный знак. Но распознать его невозможно,
так как он повернут к нам обратной стороной. Так же при
распознавании лиц детектор может определить расположение
лица, а «распознаватель» уже скажет, чье это лицо.

15. Дескрипторы и визуальные слова

Существует много разных подходов к распознаванию.
Например, такой: на изображении сначала нужно выделить
интересные точки или интересные места. Что-то отличное от фона:
яркие пятна, переходы и т.д. Есть несколько алгоритмов, позволяющих
это сделать.
Один из наиболее распространенных способов называется
Difference of Gaussians (DoG). Размывая картинку с разным радиусом и
сравнивая получившиеся результаты, можно находить наиболее
контрастные фрагменты. Области вокруг этих фрагментов и являются
наиболее интересными.

16.

Далее эти области описываются в цифровом виде. Области
разбиваются на небольшие участки, определяется, в какую
сторону направлены градиенты, получаются векторы.
На картинке ниже изображено, как это примерно выглядит.
Полученные данные записываются в дескрипторы.

17.

Дескрипторы можно записывать в числовом виде.
Дескриптор можно представить в виде точки в многомерном
массиве. У нас на иллюстрации двумерный массив. В него
попали наши дескрипторы. И мы можем их кластеризовать –
разбить на группы.

18.

Дальше мы для каждого кластера описываем область в
пространстве. Когда дескриптор попадает в эту область, для нас
становится важным не то, каким он был, а то, в какую из областей он
попал. И дальше мы можем сравнивать изображения, определяя,
сколько дескрипторов одного изображения оказались в тех же
кластерах, что и дескрипторы другого изображения. Такие кластеры
можно называть визуальными словами.

19.

Чтобы находить не просто одинаковые картинки, а изображения
похожих объектов, требуется взять множество изображений этого
объекта и множество картинок, на которых его нет. Затем выделить
из них дескрипторы и кластеризовать их. Далее нужно выяснить, в
какие кластеры попали дескрипторы с изображений, на которых
присутствовал нужный нам объект. Теперь мы знаем, что если
дескрипторы с нового изображения попадают в те же кластеры,
значит, на нем присутствует искомый объект.

20. Распознавание и классификация

Для простоты представим, что мы можем разбить все
изображения на три класса: архитектура, природа и портрет. В свою
очередь, природу мы можем разбить на растения животных и птиц. А
уже поняв, что это птица, мы можем сказать, какая именно: сова,
чайка или ворона.

21.

Разница между распознаванием и классификацией достаточно
условна. Если мы нашли на картинке сову, то это скорее распознавание.
Если просто птицу, то это некий промежуточный вариант. А если только
природу – это определенно классификация. Т.е. разница между
распознаванием и классификацией заключается в том, насколько
глубоко мы прошли по дереву. И чем дальше будет продвигаться
компьютерное зрение, тем ниже будет сползать граница между
классификацией и распознаванием.

22. Заключение

Современные технологии, построенные на системах машинного
зрения, основательно вошли в нашу жизнь за какое-то десятилетие и
прочно заняли свои позиции. Такие технологии встречаются нам
практически каждый день. Будь это обследование в поликлинике на
аппарате УЗИ, сканер на считывающей ленте в супермаркете, прибор
освещения с датчиком движения, который установлен в подъезде вашего
дома или комфортный автомобиль со встроенной системой круизконтроля – все это машинное зрение. В данной области учеными всего
мира получены впечатляющие результаты и, что радует, ведутся
постоянные разработки. Но фактом остается то, что машинному зрению
еще далеко до зрения человека. Поэтому как в дальнейшем будет идти
развитие в данной области еще не известно. Опередят ли технологии,
построенные на системах машинного зрения, человечество или останутся
на том же уровне.

23. Список использованных источников

http://habrahabr.ru/company/yandex/blog/203136/
https://ru.wikipedia.org/wiki/Компьютерное_зрение
http://habrahabr.ru/post/133826/
http://develnet.ru/blog/493.html
http://geektimes.ru/post/67937/
English     Русский Правила