МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ opencv

24
Пинин Денис Codemasters International веб-разработчик, MCPD [email protected] Машинное зрение с использованием Open CV TULADEV.NET

Upload: pavel-tsukanov

Post on 02-Jun-2015

2.263 views

Category:

Technology


20 download

DESCRIPTION

Тема доклада является логическим продолжением выступления Александра Бакулина в области робототехники и посвящена актуальной на сегодняшний момент проблеме технического зрения

TRANSCRIPT

Page 1: МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV

Пинин ДенисCodemasters Internationalвеб-разработчик, MCPD

[email protected]

Машинное зрение с использованием Open CV

TULADEV.NET

Page 2: МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV

TULADEV.NET

Задача непростая перед нами стоит найти и распознать объект

надо

Этапы цифровой обработки изображения

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

2.

Page 3: МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV

TULADEV.NET

Изображение ты должен получить вначале

1. Регистрация изображения с помощью одиночного сенсора

одиночный чувствительный элемент

линейка чувствительных элементов

матрица чувствительных элементов

Page 4: МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV

TULADEV.NET

2. Регистрация изображения с помощью линейки сенсоров

считывание изображения с помощью линейки сенсоров

считывание изображения с помощью кольцеобразного набора сенсоров

Page 5: МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV

TULADEV.NET

3. Регистрация изображения с помощью матрицы сенсоров

Page 6: МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV

TULADEV.NET

Знать какие они бывают обязан ты

1. Формат изображения (BMP, PNG, JPG, TIFF и т.д.)2. Разрешение (800Х600, 3000Х2000 и т.д.)3. Глубина цвета

3.1. Бинарное изображение

3.2. 8-битное true color

Page 7: МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV

TULADEV.NET

3.3. 32(24)-битное true color

Page 8: МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV

TULADEV.NET

Изображение улучшить подходов несколько известны

мне1. Линейная фильтрация

2. Медианная фильтрация

до шум после

Page 9: МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV

TULADEV.NET

3. Пороговая фильтрация и получение контуров

Page 10: МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV

TULADEV.NET

Теперь объекты распознать готов ты

Есть изображение с несколькими объектами

Обходим каждый контур и считываем координаты

каждого пикселя

Получаем радиусы исходной и эталонной фигуры

Page 11: МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV

TULADEV.NET

0

2 2

0 0

( )( )

( ) ( )

N

i cp i m cpiN N

i cp i cpi i

r r r r

m

r r r r

Используем волшебную формулу

Получаем графики распределения корреляции и делаем вывод о схожести или различии фигур

одинаковы различны

Page 12: МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV

TULADEV.NET

Хафа преобразование изучить ты должен

до после

Предположим что через две соседние точки изображения

можно провести прямую линию

Page 13: МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV

TULADEV.NET

Преобразуем каждую линию в синусоиду и найдем участки наибольших пересечений

5 точек

много точек

Насладимся результатом

Page 14: МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV

TULADEV.NET

Open CV готов изучить ты теперь 1. Библиотека алгоритмов компьютерного зрения, обработки изображений и численных алгоритмов общего назначения с открытым кодом. Реализована на C/C++, а также разрабатывается для С#, Python, Java, Ruby, Matlab, Lua и других языков.

2. OpenCV содержит в себе более 500 функций которые охватывают много областей, включая контроль качества на производстве, системы безопасности, обработку изображений в медицине, пользовательские интерфейсы, стереоскопическое зрение и роботостроение. 

Page 15: МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV

TULADEV.NET

Изначально перед OpenCV ставились следующие цели:

- Способствовать исследованиям в области компьютерного зрения путем разработки не только открытого, но и тщательно оптимизированного кода.

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

- Способствовать развитию коммерческих приложений, выпустив код под лицензией, не требующей приложения, использующие библиотеку, быть бесплатными или открытыми.

 Виктор Ерухимов  Валерий Курякин

Page 16: МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV

TULADEV.NET

Умеет многое технология данная

1. Выводить надписи

2. Размывать изображения

Простое размытие Медианное размытие

Двусторонняя фильтрация

Page 17: МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV

TULADEV.NET

3. Произвести сложные морфологические преобразования

исходное эрозия расширение закрытие

открытие

морфологический градиент

изоляция ярких

локальных пиков

изоляция темных

локальных пиков

Page 18: МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV

TULADEV.NET

4. Залить часть изображения

5. Изменить размеры изображения

6. Выполнить пороговую обработку

Page 19: МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV

TULADEV.NET

7. И даже адаптивную пороговую обработку

8. Вычислить градиенты с помощью фильтра Собела

по оси Y по оси X

Page 20: МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV

TULADEV.NET

9. Выполнить преобразования Лапласа и Кэнди

10. Выполнить преобразование Хафа для линий и окружностей 11. Выполнить сегментацию изображения различными способами

Page 21: МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV

TULADEV.NET

Признаки Хаара использует она

Признаки Хаара — признаки цифрового изображения, используемые в распознавании образов.

• используются при распознавании лиц в реальном времени• позволяют создать каскад классификаторов• бывают прямоугольные и наклонные

Page 22: МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV

TULADEV.NET

Рассказ закончен мой на этом…

Page 23: МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV

TULADEV.NET

Почитать

1. OReilly Learning OpenCV (книга)

2. http://opencv.org/

3. http://locv.ru/wiki/

4. http://www.emgu.com

5. http://robocraft.ru/page/opencv/

Page 24: МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV

TULADEV.NET

Вопросы?