ВВЕДЕНИЕ 3
РАЗДЕЛ 1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ 6
1.1 Перцептивные хэши. Расстояние Хэмминга 6
1.2 Дескриптор SIFT 9
1.2.1 Особые точки и дескриптор 9
1.2.2. Описание метода выделения особых точек 9
1.2.3 Выделение особых точек 10
1.2.4 Вычисление ориентаций ключевых точек 12
1.2.5 Построение дескрипторов 13
1.2.6 Сравнение изображений 14
1.3 SURF-дескриптор 15
1.3.1 Описание метода выделения особых точек 15
1.3.2 Выделение особых точек 16
1.3.3 Вычисление ориентаций особых точек 16
1.3.4 Построение дескрипторов 16
1.3.5 Сравнение изображений 17
1.4. Попиксельное сравнение изображений 18
РАЗДЕЛ 2. СОЗДАНИЕ ПРИЛОЖЕНИЯ ДЛЯ НАХОЖДЕНИЯ КОПИЙ И ПОХОЖИХ ИЗОБРАЖЕНИЙ 19
2.1 Архитектура СППР «Нахождение копий и похожих изображений». Алгоритм программы на Python 3.7.2 для создания приложения «СППР для нахождения копий и похожих изображений» 19
3.2 Демонстрация работы приложения «СППР для нахождения копий и похожих изображений» 22
3.3 Сравнение методов 31
ЗАКЛЮЧЕНИЕ 56
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 57
ПРИЛОЖЕНИЕ
В последнее время компьютер решает всё больше человеческих задач, а интернет впитывает и выдаёт нам всё больше информации. Одной из неотъемлемых частей интернета - изображения. К сожалению, эти объекты всё чаще перестают быть уникальными, а широкий доступ к интернету и распространённость компьютеров обеспечивают перенасыщенность похожими изображениями и копиями изображений, что приводит к занятости все большего объема памяти на компьютерах. Всё это делает нахождение нужного изображения довольно долгой и мучительной задачей.
Для разрешения данной проблемы в настоящее время всё чаще прибегают к помощи компьютеров. Учёные со всего мира пытаются научить машины видеть изображения так же, как и люди, а IT-корпорации вкладывают немалые денежные и человеческие ресурсы в достижение нужного результата. К счастью, существуют методы, которые позволяют, хоть и при использовании в узконаправленных задачах, получить желаемый результат при меньших затратах. Они основаны не на структуре человеческого аппарата анализа и интерпретации изображений, а непосредственно на особенностях самого изображения. Основываясь только на наборе таких данных цифрового изображения, можно с достаточно высокой точностью позволить компьютеру распознавать дубликаты картинок.
Для нахождения полных копий, дубликатов и похожих изображений используется множество методов. В данной работе рассматриваются разные способы решения этих задач:
-сравнение изображений путём попиксельного вычитания;
-нахождение перцептивных хэшей изображений и их сравнение с помощью расстояний Хэмминга;
-нахождение коэффициентов корреляции столбов изображений и их сравнение;
-нахождение SIFT-дескрипторов изображений;
-нахождение SURF-дескрипторов изображений.
Цель работы. На языке Python версии 3.7.2 создать СППР «Нахождение копий и похожих изображений», которая поможет:
-находить полные дубликаты изображений;
-находить изображения с изменением яркости, цвета, размеров и поворота и прочими преобразованиями.
Предмет изучения настоящей работы- нахождение копий и похожих изображений.
Объект изучения работы - различные изображения (ничем не отличающиеся друг от друга, совершенно разные изображения и отличающиеся размерами, яркостью, цветами незначительно и значительно, углом поворота).
Требования к проектируемой системе:
- наглядность представления имеющейся информации,
- быстрота выполнения расчётов на ЭВМ,
- динамичность,
- интерактивность.
Основные методы, используемые в работе.
- сравнение изображений путём попиксельного сравнения;
- нахождение перцептивных хэшей изображений и их сравнение с помощью расстояний Хэмминга;
-нахождение SIFT-дескрипторов изображений;
-нахождение SURF-дескрипторов изображений.
Основные средства:
-Python 3.7.2;
-JetBrains PyCharm Community Edition.
Технические требования к операционной системе, операционная система: Windows 7,8,10;
В работе с помощью языка Python версии 3.7.2 JetBrains PyCharm Community Edition создана СППР для нахождения копий и похожих изображений. В ней реализованы алгоритмы: метод попиксельного сравнения изображений, алгоритм pHash, дескриптор SIFT, дескриптор SURF. Система осуществляет поиск копий и похожих изображений в динамичном и интерактивном режиме. Алгоритмы протестированы по времени выполнения и по качеству работы. Наиболее подходящим для поиска копий изображений признан алгоритм pHash, так как он находит все копии намного быстрее, чем попиксельное сравнение. Наиболее подходящим из методов SIFT и SURF для поиска похожих изображений признан дескриптор SURF, т.к. он более точный и работает быстрее, чем SIFT.