Редактирование: Распознавание образов

Перейти к: навигация, поиск

Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 1: Строка 1:
'''Распознавание объектов''' <HR>
+
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ  БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
''Курсовой проект''
+
«САНКТ-ПЕТЕРБУРГСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ПЕТРА ВЕЛИКОГО»
 +
 
 +
Институт прикладной математики и механики
 +
Кафедра теоретической механики
 +
 
 +
КУРСОВОЙ ПРОЕКТ
 +
по учебной дисциплине
 +
«Программирование»
 +
НА ТЕМУ:
 +
'''РАСПОЗНАВАНИЕ ОБЪЕКТОВ'''
 +
 
 +
Выполнили:
 +
студенты 1 курса дневного отделения
 +
Иванова Яна Викторовна, Демченко Артем Игоревич,Уманский Александр Олегович,
 +
обучающиеся по профессиональной образовательной программе подготовки бакалавров
 +
«01.03.03 – Механика и математическое моделирование»
 +
Научный руководитель: Панченко Артем Юрьевич
 +
 
 +
Санкт-Петербург
 +
2016
 +
 
 +
'''ОГЛАВЛЕНИЕ'''
 +
 
 +
• Введение
 +
• Основные методы распознавания образов
 +
• Цели и задачи проведенной работы
 +
• Проблемы проекта
 +
• Программа 1
 +
• Программа 2
 +
• Заключение
 +
 
 +
 
 +
 
  
''ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ  БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
 
«САНКТ-ПЕТЕРБУРГСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ПЕТРА ВЕЛИКОГО»''
 
  
''Институт прикладной математики и механики
 
Кафедра теоретической механики''
 
  
  
  
'''Выполнили:'''
 
  
[[Иванова Яна ]]
 
  
[[Демченко Артем]]
 
  
[[Уманский Александр]]
 
  
Группа: 13604/1
 
  
Семестр: весна 2016
 
  
Научный руководитель: Панченко Артем Юрьевич
 
  
  
  
== '''Введение''' ==
+
'''ВВЕДЕНИЕ'''
 
Актуальность темы исследования
 
Актуальность темы исследования
 
Теория распознавания образов – раздел информатики и смежных дисциплин, который включает в себя основы и методы идентификации и классификации предметов, явлений, процессов, сигналов и других объектов, подлежащих исследованиям. Они характеризуются некоторым набором свойств и признаков, по которым их можно отличать друг от друга. Эти задачи в жизни решаются довольно часто. Самой простой и наглядной задачей является распознавание сигнала светофора при переходе улицы. Распознавание цвета загоревшейся лампы позволяет принять правильное решение о возможности перехода улицы в данный момент
 
Теория распознавания образов – раздел информатики и смежных дисциплин, который включает в себя основы и методы идентификации и классификации предметов, явлений, процессов, сигналов и других объектов, подлежащих исследованиям. Они характеризуются некоторым набором свойств и признаков, по которым их можно отличать друг от друга. Эти задачи в жизни решаются довольно часто. Самой простой и наглядной задачей является распознавание сигнала светофора при переходе улицы. Распознавание цвета загоревшейся лампы позволяет принять правильное решение о возможности перехода улицы в данный момент
 
Необходимость распознавания образов возникает в самых различных областях: от военного дела и систем безопасности до оцифровки сигналов. Проблема распознавания образов приобретает огромное значение именно в наше время, в условиях информационных перегрузок. Распознавание образов широко используется в информационных системах. Широко известны задачи о распознавании фальшивых монет по фотографии, о поиске определенных людей в толпе по видеозаписям, о распознавании лиц людей и еще многие подобные задачи. Неслучайно проблема распознавания образов оказалась в поле междисциплинарных исследований. В том числе, распознавание образов легко в основу создания искусственного интеллекта, а создание технических систем и способов распознавания образа привлекает к себе огромное внимание.
 
Необходимость распознавания образов возникает в самых различных областях: от военного дела и систем безопасности до оцифровки сигналов. Проблема распознавания образов приобретает огромное значение именно в наше время, в условиях информационных перегрузок. Распознавание образов широко используется в информационных системах. Широко известны задачи о распознавании фальшивых монет по фотографии, о поиске определенных людей в толпе по видеозаписям, о распознавании лиц людей и еще многие подобные задачи. Неслучайно проблема распознавания образов оказалась в поле междисциплинарных исследований. В том числе, распознавание образов легко в основу создания искусственного интеллекта, а создание технических систем и способов распознавания образа привлекает к себе огромное внимание.
 
Распознавание образов – актуальная тема и одновременно огромная проблема современной науки. Никто пока не решил её в общем случае, в лучшем случае это созданные роботы, которые могут за несколько часов пройти комнату, которую обычный человек проходит за полминуты. Нет универсальных алгоритмов решения, но существует огромный пласт программного кода, который решает частные случаи этой задачи. Каждый ищет свой подход: нейронные сети, фильтрация изображения, работа с контрастами и переходами, применение различных масок и многое другое. В нашей задаче мы использовали несколько алгоритмов и пробовали пойти по разным дорогам: первым стал метод подсчета по площадям, а вторым использовалась совокупность методов цветообработки.
 
Распознавание образов – актуальная тема и одновременно огромная проблема современной науки. Никто пока не решил её в общем случае, в лучшем случае это созданные роботы, которые могут за несколько часов пройти комнату, которую обычный человек проходит за полминуты. Нет универсальных алгоритмов решения, но существует огромный пласт программного кода, который решает частные случаи этой задачи. Каждый ищет свой подход: нейронные сети, фильтрация изображения, работа с контрастами и переходами, применение различных масок и многое другое. В нашей задаче мы использовали несколько алгоритмов и пробовали пойти по разным дорогам: первым стал метод подсчета по площадям, а вторым использовалась совокупность методов цветообработки.
Нам были предложены изображения, полученные с помощью электронного микроскопа институтом биологии. Это были 3 набора изображений: 1-й набор - это исходные изображения, 2-й набор – это изображения с красным красителем, 3-й набор – это изображения 2-го набора с наложенным на них фильтром, который вместо красных областей должен был оставлять только белый, а всё остальное стирать, но большую часть изображения он просто стирал, поэтому он сразу был признан как непригодный к работе.
+
Нам были предложены изображения, полученные с помощью электронного микроскопа институтом биологии. Это были 3 набора изображений: 1-й набор - это исходные изображения, 2-й набор – это изображения с красным красителем, 3-й набор – это изображения 2-го набора с наложенным на них фильтром, который вместо красных областей должен был оставлять только белый, а всё остальное стирать, но большую часть изображения он просто стирал, поэтому он сразу был признан как непригодный к работе.
 
Для своей работы мы выбрали среду Matlab, так как в ней существует множество встроенных приложений для обработки изображений, множество готовых методов и фильтров для обработки, а так же существует хорошие описание и справка, подходящие для начинающих.
 
Для своей работы мы выбрали среду Matlab, так как в ней существует множество встроенных приложений для обработки изображений, множество готовых методов и фильтров для обработки, а так же существует хорошие описание и справка, подходящие для начинающих.
 
В частности нашей задачей было распознавание клеток по их фотографиям. Программистами были предприняты попытки решения этой задачи в общем случае, но до сих пор не существует оптимального алгоритма  решения.
 
В частности нашей задачей было распознавание клеток по их фотографиям. Программистами были предприняты попытки решения этой задачи в общем случае, но до сих пор не существует оптимального алгоритма  решения.
Строка 40: Строка 61:
  
  
=='''Цели работы'''==
+
'''
 +
Цели работы'''
 
• Изготовить продукт, способный посчитать количество живых клеток на изображениях, полученных с помощью электронного микроскопа.
 
• Изготовить продукт, способный посчитать количество живых клеток на изображениях, полученных с помощью электронного микроскопа.
 
• Познакомиться с методами обработки изображений и научиться их использовать.
 
• Познакомиться с методами обработки изображений и научиться их использовать.
=='''Проблемы решённые при работе'''==
+
'''
 +
Проблемы решённые при работе'''
 
• Неравномерность изображения, из-за расположения источников света при проведении эксперимента, мы получили изображения с различной степенью яркости в разных частях изображения.
 
• Неравномерность изображения, из-за расположения источников света при проведении эксперимента, мы получили изображения с различной степенью яркости в разных частях изображения.
 
• Низкое качество изображения. Так как размеры одной клетки относительно небольшие, а качество изображения было довольно низким, многие методы стали нерабочими в данной задаче.
 
• Низкое качество изображения. Так как размеры одной клетки относительно небольшие, а качество изображения было довольно низким, многие методы стали нерабочими в данной задаче.
Строка 56: Строка 79:
  
  
=='''Программа 1'''==
+
'''ПРОГРАММА 1'''
  
 
Было применено два метода обработки заданных изображений. Первым методом был испробован метод подсчета по площадям. В исходных изображениях существуют скопления клеток по три и более, которые составляют основную проблему реализации задачи. На изображениях клетки сходятся по своим границам, из-за чего невозможно разделить их четким образом. Если пренебречь границами клеток и подсчитывать площади этих скоплений, то эта проблема устранится сама собой.   
 
Было применено два метода обработки заданных изображений. Первым методом был испробован метод подсчета по площадям. В исходных изображениях существуют скопления клеток по три и более, которые составляют основную проблему реализации задачи. На изображениях клетки сходятся по своим границам, из-за чего невозможно разделить их четким образом. Если пренебречь границами клеток и подсчитывать площади этих скоплений, то эта проблема устранится сама собой.   
Строка 74: Строка 97:
 
10) Подсчет числа клеток
 
10) Подсчет числа клеток
  
'''Пример работы программы'''
+
'''ПРОГРАММА 2'''
<gallery>
 
File:Sq.png| Пример 1
 
</gallery>
 
 
 
 
 
=='''Программа 2'''==
 
 
При написании второй программы мы поставили перед собой задачу разделения всех клеток на непересекающиеся замкнутые контуры (в идеале каждый контур должен был соответствовать 1 клетке). Первой стала проблема шумов и неровностей фона, к сожалению, не удалось справится с ней с помощью обычных фильтров, была найдена библиотека (BM3D), содержащая в себе функцию фильтрации, основанную на шумоподавлении (видимо "шумы"- неточности в изображении) путем детализации изображения при преобразовании. Усиление детализации достигается за счет группировки схожих фрагментов 2D изображения (например, блоков) в 3D- массивы данных, которые мы называем "группы". Так же были использованы фильтр Вейнера и фильтр Гаусса.
 
При написании второй программы мы поставили перед собой задачу разделения всех клеток на непересекающиеся замкнутые контуры (в идеале каждый контур должен был соответствовать 1 клетке). Первой стала проблема шумов и неровностей фона, к сожалению, не удалось справится с ней с помощью обычных фильтров, была найдена библиотека (BM3D), содержащая в себе функцию фильтрации, основанную на шумоподавлении (видимо "шумы"- неточности в изображении) путем детализации изображения при преобразовании. Усиление детализации достигается за счет группировки схожих фрагментов 2D изображения (например, блоков) в 3D- массивы данных, которые мы называем "группы". Так же были использованы фильтр Вейнера и фильтр Гаусса.
 
После фильтрации исходного изображения была использована функция multitresh, в результате найден коэффициент для бинаризации изображения. В ходе практических испытаний мы выявили, что нельзя использовать её для всех изображений, так как она определяет уровень, суммируя уровни цвета на всём изображении, в результате там, где клеток очень много коэффициент определяется не верно и большая часть клеток исчезает при бинаризации. Поэтому был определён конкретный коэффициент, который используется при дальнейших экспериментах.
 
После фильтрации исходного изображения была использована функция multitresh, в результате найден коэффициент для бинаризации изображения. В ходе практических испытаний мы выявили, что нельзя использовать её для всех изображений, так как она определяет уровень, суммируя уровни цвета на всём изображении, в результате там, где клеток очень много коэффициент определяется не верно и большая часть клеток исчезает при бинаризации. Поэтому был определён конкретный коэффициент, который используется при дальнейших экспериментах.
Строка 101: Строка 118:
  
 
Вейнеровский фильтр основан на статистических данных из локальной окрестности каждого пикселя. Соотносит изображение оригинальное и обработанное с помощью фильтра Гаусса, в результате мы получаем сглаженное изображение с плавными переходами.
 
Вейнеровский фильтр основан на статистических данных из локальной окрестности каждого пикселя. Соотносит изображение оригинальное и обработанное с помощью фильтра Гаусса, в результате мы получаем сглаженное изображение с плавными переходами.
'''Пример работы программы'''
 
<gallery>
 
File:Ex1.png|
 
File:Ex2.png|
 
File:Ex3.png|
 
</gallery>
 
 
=='''Заключение'''==
 
В ходе работы были получены следующие результаты:
 
 
1.Разработанна программа (Программа 1) выполняющая подсчет мёртвых клеток с помощью метода подсчета по площадям.
 
 
2.Разработана программа (Программа 2) выполняющая подсчет живых клеток с помощью разделения изображения на непересекающиеся контуры и дальнейшую их обработку.
 
 
=='''Список литературы'''==
 
  
# Р. Гонсалес, Р. Вудс “Цифровая обработка изображений”, Москва: Техносфера, 2005. – 1072 с.
+
'''Заключение'''
# https://habrahabr.ru/post/151157/
+
  В ходе работы были получены следующие результаты:
# http://www.mathworks.com/help/images/ref/medfilt2.html
 
# http://cyberleninka.ru/article/n/metody-povysheniya-kontrastnosti-rastrovyh-izobrazheniy-dlya-sistem-tsifrovoy-obrabotki-videoinformatsii
 
# http://matlab.exponenta.ru/imageprocess/book2/29.php
 
# http://masters.donntu.org/2009/kita/pogorelaya/library/article6.htm
 
  
 +
    1.Разработанна программа (Программа 1) выполняющая подсчет мёртвых клеток с помощью метода подсчета по площадям.
 +
    2.Разработана программа (Программа 2) выполняющая подсчет живых клеток с помощью разделения изображения на непересекающиеся контуры и дальнейшую их обработку.
  
'''Ссылка на файл:'''
+
'''Список литературы'''
[http://tm.spbstu.ru/%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9A%D1%83%D1%80%D1%81%D0%BE%D0%B2%D0%B0%D1%8F_%D0%A3%D0%BC%D0%B0%D0%BD%D1%81%D0%BA%D0%B8%D0%B9_%D0%98%D0%B2%D0%B0%D0%BD%D0%BE%D0%B2%D0%B0_%D0%94%D0%B5%D0%BC%D1%87%D0%B5%D0%BD%D0%BA%D0%BE_13604.1.zip Скачать]
+
1) Р. Гонсалес, Р. Вудс “Цифровая обработка изображений”, Москва: Техносфера, 2005. – 1072 с.
 +
2) https://habrahabr.ru/post/151157/
 +
3) http://www.mathworks.com/help/images/ref/medfilt2.html
 +
4) http://cyberleninka.ru/article/n/metody-povysheniya-kontrastnosti-rastrovyh-izobrazheniy-dlya-sistem-tsifrovoy-obrabotki-videoinformatsii
 +
5) http://matlab.exponenta.ru/imageprocess/book2/29.php
 +
6) http://masters.donntu.org/2009/kita/pogorelaya/library/article6.htm
Вам запрещено изменять защиту статьи. Edit Создать редактором

Обратите внимание, что все добавления и изменения текста статьи рассматриваются как выпущенные на условиях лицензии Public Domain (см. Department of Theoretical and Applied Mechanics:Авторские права). Если вы не хотите, чтобы ваши тексты свободно распространялись и редактировались любым желающим, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого.
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ МАТЕРИАЛЫ, ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Отменить | Справка по редактированию  (в новом окне)