Автор молодец, просто работа не нужна больше
Подробнее о работе
Гарантия сервиса Автор24
Уникальность не ниже 50%
СОДЕРЖАНИЕ 2
ТЕРМИНЫ И ОПРЕДЕЛЕНИЯ 3
Введение 4
1. Требования 6
2. Фильтрация 7
2.1 Бинаризация 7
2.2 Классическая фильтрация: фильтр низких частот, фильтр высоких частот, преобразование Фурье 9
2.3 Вейвлеты 11
2.4 Корреляция 12
2.5 Фильтрация функций 13
2.6 Фильтрации контуров 13
3 Логическая обработка 15
3.1 Морфология 15
3.2 Особые точки 16
3.3 Контурный анализ 16
3.4 Обучение 17
4 Реализация 22
4.1 Выбор стека технологий 22
4.2 Требования к серверу 23
4.3 Архитектура 24
4.4 Структура базы данных 25
4.5 Получение метрик изображений 26
4.6 Примеры получаемых метрик 30
4.7 Значение метрик 33
Заключение 35
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 36
Введение
Видеонаблюдение является бурно развивающимся направлением. Его главная задача – обеспечить непрерывную фиксацию происходящего на различных объектах: местах большего скопления людей, таких как торговые центры, центральные улицы, места где возможны хищения или порча имущества, склады организаций, общественные парковки, а также территорий с ограниченным допуском.
Актуальность темы исследования обусловлена тем, что за последние несколько лет количество камер неуклонно увеличивается. Камеры устанавливаются, как часть СКУД(Система контроля и управления доступом), так и для простого наблюдения и хранения записей на случай каких-либо происшествий. Если раньше видеонаблюдение было прерогативой важных государственных объектов и крупного бизнеса, то с уменьшением стоимости комплексов видеонаблюдения, данными решениями стал интересоваться средний и малый бизнес. Даже в маленьком магазинчике с одним залом мы можем увидеть с десяток камер, для наблюдения за каждым участком объекта.
...
2.1 Бинаризация
Бинаризация – приведение картинки в бинарный вид, то есть в изображение из двух цветов. Для RGB картинки и картинки в оттенках серого порогом будет значение цвета. Иногда встречаются такие идеальные условия, в которых такого преобразования будет достаточно.
Рис.1 Исходное изображение
Рис.2 Результат бинаризации
Результат процесса бинаризации зависит от выбранного порога. На приведенном примере изображение было бинаризовано по среднему цвету всех пикселей, это является самым простым способом бинаризации. Так же существуют адаптивные алгоритмы бинаризации, где порог выбирается в зависимости от значений пикселей соседей в области определенного радиуса. К таким алгоритмам можно отнести, бинаризацию когда в качестве порога выбирается мат-ожидание или наиболее встречающиеся значениям. [1,c.117]
Рис.
...
2.2 Классическая фильтрация: фильтр низких частот, фильтр высоких частот, преобразование Фурье
Одно из немногочисленных применений, для которых применяется одномерное преобразование Фурье, — сжатие картинок. Для анализа картинок одномерного преобразования обычно бывает не достаточно, приходится брать куда более ресурсоемкое 2умерное преобразование.
[2,с.239]
Редко кто его в действительности высчитывает, обычно, быстрее и легче использовать свертку нужного фрагмента с уже готовым фильтром, настроенным на низкие или высокие частоты. Данный способ, конечно, не дает возможности анализа спектра,но в этой задаче видеобработки чаще требуется результат, а не анализ.
Рис.6 Функция Гаусса
Рис.7 Функция Габора
Самые простые экземпляры фильтров, которые подчёркивают низкие частоты - фильтр Гаусса, и высокие частоты - Фильтр Габора.
Для каждого пикселя картинки выбирается окно и перемножается с фильтром такого же разрешения. Итогом данной свёртки будет новое значение пикселя[3,с.
...
2.3 Вейвлеты
Вейвлет−преобразование - это математический инструмент для иерархической декомпозиции функций. С помощью вейвлетов функции представляются как композиция грубой низкочастотной аппроксимации и уточняющих компонент (деталей), представляющих отсутствующие в аппроксимации элементы графика функции. Вне зависимости от вида функции (изображение, кривая, поверхность) вейвлет представляет функцию как иерархию уровней отображения с различной точностью детализации. В процедурах предобработки изображений вейвлет-преобразование используется для уменьшения уровня шумов, анализа текстур, выделения контуров объектов и сжатия изображений.[7] Существует набор устоявшихся функций, применяемых в вейвлет-анализе. К таким относятся вейвлет
Хара, вейвлет Морле,, и т. д.
Рис.10
Рис.11
Рис.12 Рис.13
Выше указано четыре примера классических вейвлетов. Трех-мерный вейвлет Хара(рис. 10), двух-мерный вейвлет Мейера(рис. 11), вейвлет Мексиканская Шляпа(рис.12), вейвлет Дабеши(рис.13).
...
2.5 Фильтрация функций
Одним из способов использования фильтрации функций является поиск элементарных фигур на изображении, которые могут описаны простыми функциями (окружности, прямые, параболы.). Для поиска прямых обычно применяется преобразование Хафа. В данном преобразовании для всех точек (х, у) показывается множество точек (а ,b) принадлежащих прямой y = ах + b, для которых данное равенство верно.
Преобразование Хафа дает возможность найти любые параметризуемые функции. К примеру окружности. Существуют модифицированное преобразование, которое дает возможность найти произвольные фигуры. Но к сожалению при обработке картинок, оно, далеко не всегда работает.
Крайне невысокая скорость обработки, крайне высокая зависимость от качества бинаризации.
Аналогичным преобразованию Хафа для прямых будет
преобразование Радона .Оно рассчитывается через БПФ, что дает выигрыш в скорости в условиях, когда количество пикселей крайне велико.
...
3.2 Особые точки
Первый тип. Особые точки, являющиеся стабильными на протяжении нескольких секунд. , или для сведения видеопотока с соседних камер. К данным точкам следует относить локальные максимумы изображения, углы на изображении (наилучший из детекторов, скорее всего, детектор Хариса), точки в которых достигается максимумы дисперсии, определенные градиенты и т. д.[9]
Второй второй. Особые точки, остающиеся стабильными при смене освещения и небольших сдвигах объекта. Данные точки нужны в главную очередь для обучения и последующей систематизации классов объектов. К примеру, классификаторы пешеходов или классификаторы лиц— это класс систем, построенных именно на данных точках. Часть из ранее указанных вейвлетов могут служить основой для данных точек. К примеру, примитивы Хаара, нахождение бликов, нахождение других специфических функций. К данным точкам относятся точки, полученные через гистограммы направленных градиентов (HOG).[9]
Третий тип. Стабильные точки.
...
3.3 Контурный анализ
Контуры являются областями высокой концентрации информации, слабо зависящей от цвета и яркости.
Контурный анализ является совокупностью методов выделения, описания и преобразования контуров изображений и распознавания зрительных образов.[10]
Ранее в работе были рассмотрены методы поиска границ, следующим шагом является поиск контуров. При использовании оператора Кэнни контуры ищутся автоматически, но при использовании других операторов потребуется дополнительно бинаризировать изображение. Для решения проблемы поиска контура для бинарного алгоритма можно использовать алгоритм «жук».
Контур является уникальной чертой объекта. В связи с этим данное свойство позволяет искать объекты на изображении. Существует мощный математический аппарат, дающий возможность произвести поиск контура.
Этот аппарат именуется контурным анализом.[11]
Рис.22 зеленый элемент – стартовая позиция, стрелки – элементарные вектора
3.
...
3.4 Обучение
Данная часть работы посвящена способам, которые не используют конкретно картинку, но данные методы дают возможность принимать решения. В большинстве это разные способы машинного обучения и принятия решений. В большинстве случаем смысл обучения в задаче распознавания в следующем:
Есть тестовый набор данных, на котором имеется какое-то количество типов объектов. К примеру это будет присутствие/отсутствие кота на изображении. У каждой картинки есть набор свойств, которые были обозначены каким- нибудь признаком, будь то какой-то вейвлет или Хаар, HOG, SURF. Алгоритму обучения нужно создать такую модель, пользуясь которой ему удастся обработать новую картинку и сделать решение, что за класс объектов находится на фото.
Как это происходит? Каждая картинка из тестового набора данных— это вершина в пространстве свойств. Координатами данной вершины будут являться вес каждого свойства на картинке .
...
4. Реализация и модификация выбранных алгоритмов и поиск open-source реализаций
5. Создания программы для агрегации данных с камер и их последующей обработки.
1. Требования
Были установлены следующие требования к системе:
▪ Кроссплатформенность: система должна функционировать на компьютерах с операционными система семейства Windows, от Windows 7 и выше, на Linux Ubuntu 14.04.5 и выше
▪ Система должна поддерживать не менее 1000 камер
▪ Система должна отслеживать зависшие камеры наблюдения
▪ Система должна отслеживать камеры, передающие белый шум (для аналоговых камер)
▪ Система должна отслеживать камеры, передающие черное зашумленное изображение
▪ Система должна отслеживать доступность камер наблюдения
▪ Система должна уведомлять пользователя о сбоях камер
▪ Вывод отчета со всеми текущими проблемами
2.
...
4.1 Выбор стека технологий
4 Реализация
Сегодня на рынке технологий присутствует огромное число средств для разработки самого разнообразного программного обеспечения. Далее описываются инструменты и технологии, выбранные для реализации данного проекта.
Выбор языка для разработки
Для реализации этого проекта был взят язык программирования Java, так как он легко подстраивается и разворачивается на любой системе, в том числе Unix системы и Windows. Помимо этого, данный язык достаточно быстр, гибок и имеет хорошую поддержку, что в целом положительно сказывается при разработке программного обеспечения. Также Java обладает большим сообществом, что помогает быстро решить какие-либо вопросы возникшее в ходе разработки. Количество фреймфорков и библиотек для решения многих задач огромно. Большинство из них так же имеют большие сообщества, хорошо документированы.
...
4.3 Архитектура
Структура разрабатываемого приложения состоит из следующих компонентов:
1. Серверная часть – разрабатываемая на Java c использованием Spring Framework. Содержит всю логику приложения.
2. База данных приложения. Используется СУБД PostgreSQL.
3. Коннектор – для связи с проксирующем сервером nginx, для получения доступа к камерам.
Рис. 29 Схема работы приложения
Приложение было разбито на следующие блоки:
▪ Model – базовые сущности, хранящиеся в БД
▪ Provider – сервисы работающие напрямую с базой данных
▪ Services – сервисы работающие с провайдерами
▪ Core – основная логика приложения
▪ Utils – вспомогательные функции для работы с изображениями и потоками видео
▪ Config – конфигурационные классы.
...
4.4 Структура базы данных
Для хранения и обеспечения целостности была выбрана СУБД PostgreSQL, для реализации извлечения данных автор решил использовать самое популярное решение для работы с базами данных для Java технологию Hibernate.
Данная реализация JPA позволяет использовать все преимущества объектнореляционного отображения(Objectrelational mapping), позволяет автоматически строить SQL запросы к БД, нужных как для извлечения данных, так и их создания, удаления и редактирования. Это дает возможность уменьшить время, необходимое на создание соединения с базой данных и написания корректных запросов.
...
4.5 Получение метрик изображений
Для реализации основного функционала были использованы следующие библиотеки:
IPCameraFrameGrabber – библиотека распространяемая под свободной лицензией GNU GPL В данной работе используются для получения кадра из видео потока.
OpenCV – библиотека с открытым исходном кодом и распространяемая под лицензией BSD. Содержит большое количество функций для работы с изображениями, такие как фильтрация, смена цветовых моделей, изменение размеров и вырезки фрагментов. Также имеет структуры данных для удобного представления изображений и работы с ними. Написана на С++, Java, Python.
JavaCV – библиотека обертка для OpenCV, позволяющая использовать OpenCV в Java приложениях, так же содержит некоторые утилиты для упрощения использования в Java, к примеру конвертация изображения в пригодный для отображения средствами Java формат. Также, как и предыдущие библиотеки распространяется под открытой лицензией и имеет открытый исходный код.
...
4.6 Примеры получаемых метрик
Примеры нескольких кадров и их метрики представлены ниже
Разница во времени между кадрами 0.5 секунды. Хеш первого кадра 239171754F1B071D
Хеш второго кадра 239171754F1B071D Расстояние Хэмминга :0
макс дельта яркости 1 средняя дельта яркости 0.0625
Ниже представлены метрики для фрагментов исходного изображения.В формате номер фрагмента, хеш первого фрагмента, расстояние Хэмминга,
хеш второго фрагмента, максимальная дельта яркости,средняя дельта яркости. Порядок фрагментов приведен на рисунке 31.
рис.31
№0 4F0B1700C0C00606 1 4F0B3700C0C00606 максимальная дельта яркости 1 средняя дельта яркости 0.046875
№1 7C04618327FFBF3F 1 7D04618327FFBF3F максимальная дельта яркости 0 средняя дельта яркости 0.0
№2 0404CC0A20204676 1 0404CC0B20204676 максимальная дельта яркости 0 средняя дельта яркости 0.0
№3 395047EBA1818583 1 395047CBA1818583 максимальная дельта яркости 1 средняя дельта яркости 0.046875
Разница во времени между кадрами 1 час.
...
4.7 Значение метрик
Опытным путем были установлены следующие значения метрик: Шум:
По целому кадру:
Расстояние Хэмминга > 27 макс дельта яркости => 5 средняя дельта яркости > 1.7 По фрагментам:
Расстояние Хэмминга > 25 на 2ух фрагментах и более, при отсутствии фрагментов с < 19
макс дельта яркости => 5 на двух фрагментах и более средняя дельта яркости > 1.8
Зависание
По целому кадру:
Расстояние Хэмминга = 0 макс дельта яркости <= 1 средняя дельта яркости < 0.1 По фрагментам:
Расстояние Хэмминга < 3 на двух и более фрагментах и не более 8 на оставшихся
макс дельта яркости < 2
средняя дельта яркости < 0.11
Нормальная работа По целому кадру:
Расстояние Хэмминга > 0, <27 макс дельта яркости >=1
средняя дельта яркости > 0.4, <1.5 По фрагментам:
Расстояние Хэмминга > 6 макс дельта яркости > 2
средняя дельта яркости > 0.4, <1.5
Данные были получены с 15 камер наблюдения находящихся в разных условиях, такие как высота расположения камеры, местоположение камер, различный фон.
...
1. Л. Шапиро Компьютерное зрение [Электронный ресурс] / Л. Шапиро, Дж. Стокман ; пер. с англ. — 3-е изд. (эл.). — Электрон.текстовые дан. (1 файл pdf : 763 с.). — М. : БИНОМ. Лаборатория знаний, 2015. ISBN 978-5-9963-3003-4
2. У. Прэтт. Цифровая обработка изображений / Пер с англ. – М.:Мир,1982. 790 C. в 2 т.
3. Л.П.Ярославский, Цифровая обработка сигналов в оптике и голографии. Введение в цифровую оптику. / -М.:Радио и связь, 1987. 296 с.:ил. УДК 681.3:535.
4. I.T. Young, L.J. van Vliet “Recursive implementation of the gaussian filter”
// Signal Processing (44), 1995, pp. 139–151,
5. СКУД - что это и как это работает/ Ricod:Системы безопасности [Электронный ресурс] – http://www.rikod.spb.ru/rus/control/access/, режим доступа – свободный
6. Canny J. A computational approach to edge detection // IEEE Trans. PAMI. 1986. V. 8. P. 679 - 698
7. Вейвлет-анализ // Информационный проект профессионального сообщества «Техническое зрение» [Электронный ресурс] – http://wiki.technicalvision.ru/index.php/Вейвлет-анализ, режим доступа – свободный
8. OpenCV шаг за шагом. Обработка изображения - детектор границ Кэнни / RoboCraft[Электронный ресурс] – http://robocraft.ru/blog/computervision/484.html, режим доступа – свободный
9. K. Mikolajczyk, C. Schmid. Scale & Affine Invariant Interest Point Detectors. //International Journal of Computer Vision. October 2004. V. 60, No. 1, P. 63—86
10. Золотин И. А. Контурный анализ и его применение для распознавания объектов // Наука XXI века – 2016 - №12 с.1-4
11. Фурман Я.А. Введение в контурный анализ/ Я.А. Фурман, А.В. Кревецкий, А.К. Передреев. — 2-е изд., испр. — М.: ФИЗМАТЛИТ, 2003. — 592 стр.
12. Яркость и цвет. Гистограммы, профили, проекции. Бинаризация и сегментация/ Информационный проект профессионального сообщества
«Техническое зрение» [Электронный ресурс] – http://wiki.technicalvision.ru/index.php/ Яркость_и_цвет._Гистограммы,_профили,_проекции._Бинаризация_и_ сегментация, режим доступа – свободный
13.
http://www.machinelearning.ru/wiki/index.php?title=%D0%9C%D0%BE% D1%89%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%BA%D1
%80%D0%B8%D1%82%D0%B5%D1%80%D0%B8%D1%8F#.D0.A1.D0
.B2.D0.BE.D0.B9.D1.81.D1.82.D0.B2.D0.B0_.D1.81.D1.82.D0.B0.D1.82.
D0.B8.D1.81.D1.82.D0.B8.D1.87.D0.B5.D1.81.D0.BA.D0.B8.D1.85_.D0.
BA.D1.80.D0.B8.D1.82.D0.B5.D1.80.D0.B8.D0.B5.D0.B2, режим
доступа – свободный
14. Термины и понятия открытого кода / Теплица социальных технологий
– общественный IT-образовательный проект[Электронный ресурс] - https://te-st.ru/2017/10/11/terms-open-source/, режим доступа – свободный
15. OpenCV шаг за шагом. Введение. / RoboCraft[Электронный ресурс] – http://robocraft.ru/blog/computervision/264.html
Не подошла эта работа?
Закажи новую работу, сделанную по твоим требованиям
СОДЕРЖАНИЕ 2
ТЕРМИНЫ И ОПРЕДЕЛЕНИЯ 3
Введение 4
1. Требования 6
2. Фильтрация 7
2.1 Бинаризация 7
2.2 Классическая фильтрация: фильтр низких частот, фильтр высоких частот, преобразование Фурье 9
2.3 Вейвлеты 11
2.4 Корреляция 12
2.5 Фильтрация функций 13
2.6 Фильтрации контуров 13
3 Логическая обработка 15
3.1 Морфология 15
3.2 Особые точки 16
3.3 Контурный анализ 16
3.4 Обучение 17
4 Реализация 22
4.1 Выбор стека технологий 22
4.2 Требования к серверу 23
4.3 Архитектура 24
4.4 Структура базы данных 25
4.5 Получение метрик изображений 26
4.6 Примеры получаемых метрик 30
4.7 Значение метрик 33
Заключение 35
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 36
Введение
Видеонаблюдение является бурно развивающимся направлением. Его главная задача – обеспечить непрерывную фиксацию происходящего на различных объектах: местах большего скопления людей, таких как торговые центры, центральные улицы, места где возможны хищения или порча имущества, склады организаций, общественные парковки, а также территорий с ограниченным допуском.
Актуальность темы исследования обусловлена тем, что за последние несколько лет количество камер неуклонно увеличивается. Камеры устанавливаются, как часть СКУД(Система контроля и управления доступом), так и для простого наблюдения и хранения записей на случай каких-либо происшествий. Если раньше видеонаблюдение было прерогативой важных государственных объектов и крупного бизнеса, то с уменьшением стоимости комплексов видеонаблюдения, данными решениями стал интересоваться средний и малый бизнес. Даже в маленьком магазинчике с одним залом мы можем увидеть с десяток камер, для наблюдения за каждым участком объекта.
...
2.1 Бинаризация
Бинаризация – приведение картинки в бинарный вид, то есть в изображение из двух цветов. Для RGB картинки и картинки в оттенках серого порогом будет значение цвета. Иногда встречаются такие идеальные условия, в которых такого преобразования будет достаточно.
Рис.1 Исходное изображение
Рис.2 Результат бинаризации
Результат процесса бинаризации зависит от выбранного порога. На приведенном примере изображение было бинаризовано по среднему цвету всех пикселей, это является самым простым способом бинаризации. Так же существуют адаптивные алгоритмы бинаризации, где порог выбирается в зависимости от значений пикселей соседей в области определенного радиуса. К таким алгоритмам можно отнести, бинаризацию когда в качестве порога выбирается мат-ожидание или наиболее встречающиеся значениям. [1,c.117]
Рис.
...
2.2 Классическая фильтрация: фильтр низких частот, фильтр высоких частот, преобразование Фурье
Одно из немногочисленных применений, для которых применяется одномерное преобразование Фурье, — сжатие картинок. Для анализа картинок одномерного преобразования обычно бывает не достаточно, приходится брать куда более ресурсоемкое 2умерное преобразование.
[2,с.239]
Редко кто его в действительности высчитывает, обычно, быстрее и легче использовать свертку нужного фрагмента с уже готовым фильтром, настроенным на низкие или высокие частоты. Данный способ, конечно, не дает возможности анализа спектра,но в этой задаче видеобработки чаще требуется результат, а не анализ.
Рис.6 Функция Гаусса
Рис.7 Функция Габора
Самые простые экземпляры фильтров, которые подчёркивают низкие частоты - фильтр Гаусса, и высокие частоты - Фильтр Габора.
Для каждого пикселя картинки выбирается окно и перемножается с фильтром такого же разрешения. Итогом данной свёртки будет новое значение пикселя[3,с.
...
2.3 Вейвлеты
Вейвлет−преобразование - это математический инструмент для иерархической декомпозиции функций. С помощью вейвлетов функции представляются как композиция грубой низкочастотной аппроксимации и уточняющих компонент (деталей), представляющих отсутствующие в аппроксимации элементы графика функции. Вне зависимости от вида функции (изображение, кривая, поверхность) вейвлет представляет функцию как иерархию уровней отображения с различной точностью детализации. В процедурах предобработки изображений вейвлет-преобразование используется для уменьшения уровня шумов, анализа текстур, выделения контуров объектов и сжатия изображений.[7] Существует набор устоявшихся функций, применяемых в вейвлет-анализе. К таким относятся вейвлет
Хара, вейвлет Морле,, и т. д.
Рис.10
Рис.11
Рис.12 Рис.13
Выше указано четыре примера классических вейвлетов. Трех-мерный вейвлет Хара(рис. 10), двух-мерный вейвлет Мейера(рис. 11), вейвлет Мексиканская Шляпа(рис.12), вейвлет Дабеши(рис.13).
...
2.5 Фильтрация функций
Одним из способов использования фильтрации функций является поиск элементарных фигур на изображении, которые могут описаны простыми функциями (окружности, прямые, параболы.). Для поиска прямых обычно применяется преобразование Хафа. В данном преобразовании для всех точек (х, у) показывается множество точек (а ,b) принадлежащих прямой y = ах + b, для которых данное равенство верно.
Преобразование Хафа дает возможность найти любые параметризуемые функции. К примеру окружности. Существуют модифицированное преобразование, которое дает возможность найти произвольные фигуры. Но к сожалению при обработке картинок, оно, далеко не всегда работает.
Крайне невысокая скорость обработки, крайне высокая зависимость от качества бинаризации.
Аналогичным преобразованию Хафа для прямых будет
преобразование Радона .Оно рассчитывается через БПФ, что дает выигрыш в скорости в условиях, когда количество пикселей крайне велико.
...
3.2 Особые точки
Первый тип. Особые точки, являющиеся стабильными на протяжении нескольких секунд. , или для сведения видеопотока с соседних камер. К данным точкам следует относить локальные максимумы изображения, углы на изображении (наилучший из детекторов, скорее всего, детектор Хариса), точки в которых достигается максимумы дисперсии, определенные градиенты и т. д.[9]
Второй второй. Особые точки, остающиеся стабильными при смене освещения и небольших сдвигах объекта. Данные точки нужны в главную очередь для обучения и последующей систематизации классов объектов. К примеру, классификаторы пешеходов или классификаторы лиц— это класс систем, построенных именно на данных точках. Часть из ранее указанных вейвлетов могут служить основой для данных точек. К примеру, примитивы Хаара, нахождение бликов, нахождение других специфических функций. К данным точкам относятся точки, полученные через гистограммы направленных градиентов (HOG).[9]
Третий тип. Стабильные точки.
...
3.3 Контурный анализ
Контуры являются областями высокой концентрации информации, слабо зависящей от цвета и яркости.
Контурный анализ является совокупностью методов выделения, описания и преобразования контуров изображений и распознавания зрительных образов.[10]
Ранее в работе были рассмотрены методы поиска границ, следующим шагом является поиск контуров. При использовании оператора Кэнни контуры ищутся автоматически, но при использовании других операторов потребуется дополнительно бинаризировать изображение. Для решения проблемы поиска контура для бинарного алгоритма можно использовать алгоритм «жук».
Контур является уникальной чертой объекта. В связи с этим данное свойство позволяет искать объекты на изображении. Существует мощный математический аппарат, дающий возможность произвести поиск контура.
Этот аппарат именуется контурным анализом.[11]
Рис.22 зеленый элемент – стартовая позиция, стрелки – элементарные вектора
3.
...
3.4 Обучение
Данная часть работы посвящена способам, которые не используют конкретно картинку, но данные методы дают возможность принимать решения. В большинстве это разные способы машинного обучения и принятия решений. В большинстве случаем смысл обучения в задаче распознавания в следующем:
Есть тестовый набор данных, на котором имеется какое-то количество типов объектов. К примеру это будет присутствие/отсутствие кота на изображении. У каждой картинки есть набор свойств, которые были обозначены каким- нибудь признаком, будь то какой-то вейвлет или Хаар, HOG, SURF. Алгоритму обучения нужно создать такую модель, пользуясь которой ему удастся обработать новую картинку и сделать решение, что за класс объектов находится на фото.
Как это происходит? Каждая картинка из тестового набора данных— это вершина в пространстве свойств. Координатами данной вершины будут являться вес каждого свойства на картинке .
...
4. Реализация и модификация выбранных алгоритмов и поиск open-source реализаций
5. Создания программы для агрегации данных с камер и их последующей обработки.
1. Требования
Были установлены следующие требования к системе:
▪ Кроссплатформенность: система должна функционировать на компьютерах с операционными система семейства Windows, от Windows 7 и выше, на Linux Ubuntu 14.04.5 и выше
▪ Система должна поддерживать не менее 1000 камер
▪ Система должна отслеживать зависшие камеры наблюдения
▪ Система должна отслеживать камеры, передающие белый шум (для аналоговых камер)
▪ Система должна отслеживать камеры, передающие черное зашумленное изображение
▪ Система должна отслеживать доступность камер наблюдения
▪ Система должна уведомлять пользователя о сбоях камер
▪ Вывод отчета со всеми текущими проблемами
2.
...
4.1 Выбор стека технологий
4 Реализация
Сегодня на рынке технологий присутствует огромное число средств для разработки самого разнообразного программного обеспечения. Далее описываются инструменты и технологии, выбранные для реализации данного проекта.
Выбор языка для разработки
Для реализации этого проекта был взят язык программирования Java, так как он легко подстраивается и разворачивается на любой системе, в том числе Unix системы и Windows. Помимо этого, данный язык достаточно быстр, гибок и имеет хорошую поддержку, что в целом положительно сказывается при разработке программного обеспечения. Также Java обладает большим сообществом, что помогает быстро решить какие-либо вопросы возникшее в ходе разработки. Количество фреймфорков и библиотек для решения многих задач огромно. Большинство из них так же имеют большие сообщества, хорошо документированы.
...
4.3 Архитектура
Структура разрабатываемого приложения состоит из следующих компонентов:
1. Серверная часть – разрабатываемая на Java c использованием Spring Framework. Содержит всю логику приложения.
2. База данных приложения. Используется СУБД PostgreSQL.
3. Коннектор – для связи с проксирующем сервером nginx, для получения доступа к камерам.
Рис. 29 Схема работы приложения
Приложение было разбито на следующие блоки:
▪ Model – базовые сущности, хранящиеся в БД
▪ Provider – сервисы работающие напрямую с базой данных
▪ Services – сервисы работающие с провайдерами
▪ Core – основная логика приложения
▪ Utils – вспомогательные функции для работы с изображениями и потоками видео
▪ Config – конфигурационные классы.
...
4.4 Структура базы данных
Для хранения и обеспечения целостности была выбрана СУБД PostgreSQL, для реализации извлечения данных автор решил использовать самое популярное решение для работы с базами данных для Java технологию Hibernate.
Данная реализация JPA позволяет использовать все преимущества объектнореляционного отображения(Objectrelational mapping), позволяет автоматически строить SQL запросы к БД, нужных как для извлечения данных, так и их создания, удаления и редактирования. Это дает возможность уменьшить время, необходимое на создание соединения с базой данных и написания корректных запросов.
...
4.5 Получение метрик изображений
Для реализации основного функционала были использованы следующие библиотеки:
IPCameraFrameGrabber – библиотека распространяемая под свободной лицензией GNU GPL В данной работе используются для получения кадра из видео потока.
OpenCV – библиотека с открытым исходном кодом и распространяемая под лицензией BSD. Содержит большое количество функций для работы с изображениями, такие как фильтрация, смена цветовых моделей, изменение размеров и вырезки фрагментов. Также имеет структуры данных для удобного представления изображений и работы с ними. Написана на С++, Java, Python.
JavaCV – библиотека обертка для OpenCV, позволяющая использовать OpenCV в Java приложениях, так же содержит некоторые утилиты для упрощения использования в Java, к примеру конвертация изображения в пригодный для отображения средствами Java формат. Также, как и предыдущие библиотеки распространяется под открытой лицензией и имеет открытый исходный код.
...
4.6 Примеры получаемых метрик
Примеры нескольких кадров и их метрики представлены ниже
Разница во времени между кадрами 0.5 секунды. Хеш первого кадра 239171754F1B071D
Хеш второго кадра 239171754F1B071D Расстояние Хэмминга :0
макс дельта яркости 1 средняя дельта яркости 0.0625
Ниже представлены метрики для фрагментов исходного изображения.В формате номер фрагмента, хеш первого фрагмента, расстояние Хэмминга,
хеш второго фрагмента, максимальная дельта яркости,средняя дельта яркости. Порядок фрагментов приведен на рисунке 31.
рис.31
№0 4F0B1700C0C00606 1 4F0B3700C0C00606 максимальная дельта яркости 1 средняя дельта яркости 0.046875
№1 7C04618327FFBF3F 1 7D04618327FFBF3F максимальная дельта яркости 0 средняя дельта яркости 0.0
№2 0404CC0A20204676 1 0404CC0B20204676 максимальная дельта яркости 0 средняя дельта яркости 0.0
№3 395047EBA1818583 1 395047CBA1818583 максимальная дельта яркости 1 средняя дельта яркости 0.046875
Разница во времени между кадрами 1 час.
...
4.7 Значение метрик
Опытным путем были установлены следующие значения метрик: Шум:
По целому кадру:
Расстояние Хэмминга > 27 макс дельта яркости => 5 средняя дельта яркости > 1.7 По фрагментам:
Расстояние Хэмминга > 25 на 2ух фрагментах и более, при отсутствии фрагментов с < 19
макс дельта яркости => 5 на двух фрагментах и более средняя дельта яркости > 1.8
Зависание
По целому кадру:
Расстояние Хэмминга = 0 макс дельта яркости <= 1 средняя дельта яркости < 0.1 По фрагментам:
Расстояние Хэмминга < 3 на двух и более фрагментах и не более 8 на оставшихся
макс дельта яркости < 2
средняя дельта яркости < 0.11
Нормальная работа По целому кадру:
Расстояние Хэмминга > 0, <27 макс дельта яркости >=1
средняя дельта яркости > 0.4, <1.5 По фрагментам:
Расстояние Хэмминга > 6 макс дельта яркости > 2
средняя дельта яркости > 0.4, <1.5
Данные были получены с 15 камер наблюдения находящихся в разных условиях, такие как высота расположения камеры, местоположение камер, различный фон.
...
1. Л. Шапиро Компьютерное зрение [Электронный ресурс] / Л. Шапиро, Дж. Стокман ; пер. с англ. — 3-е изд. (эл.). — Электрон.текстовые дан. (1 файл pdf : 763 с.). — М. : БИНОМ. Лаборатория знаний, 2015. ISBN 978-5-9963-3003-4
2. У. Прэтт. Цифровая обработка изображений / Пер с англ. – М.:Мир,1982. 790 C. в 2 т.
3. Л.П.Ярославский, Цифровая обработка сигналов в оптике и голографии. Введение в цифровую оптику. / -М.:Радио и связь, 1987. 296 с.:ил. УДК 681.3:535.
4. I.T. Young, L.J. van Vliet “Recursive implementation of the gaussian filter”
// Signal Processing (44), 1995, pp. 139–151,
5. СКУД - что это и как это работает/ Ricod:Системы безопасности [Электронный ресурс] – http://www.rikod.spb.ru/rus/control/access/, режим доступа – свободный
6. Canny J. A computational approach to edge detection // IEEE Trans. PAMI. 1986. V. 8. P. 679 - 698
7. Вейвлет-анализ // Информационный проект профессионального сообщества «Техническое зрение» [Электронный ресурс] – http://wiki.technicalvision.ru/index.php/Вейвлет-анализ, режим доступа – свободный
8. OpenCV шаг за шагом. Обработка изображения - детектор границ Кэнни / RoboCraft[Электронный ресурс] – http://robocraft.ru/blog/computervision/484.html, режим доступа – свободный
9. K. Mikolajczyk, C. Schmid. Scale & Affine Invariant Interest Point Detectors. //International Journal of Computer Vision. October 2004. V. 60, No. 1, P. 63—86
10. Золотин И. А. Контурный анализ и его применение для распознавания объектов // Наука XXI века – 2016 - №12 с.1-4
11. Фурман Я.А. Введение в контурный анализ/ Я.А. Фурман, А.В. Кревецкий, А.К. Передреев. — 2-е изд., испр. — М.: ФИЗМАТЛИТ, 2003. — 592 стр.
12. Яркость и цвет. Гистограммы, профили, проекции. Бинаризация и сегментация/ Информационный проект профессионального сообщества
«Техническое зрение» [Электронный ресурс] – http://wiki.technicalvision.ru/index.php/ Яркость_и_цвет._Гистограммы,_профили,_проекции._Бинаризация_и_ сегментация, режим доступа – свободный
13.
http://www.machinelearning.ru/wiki/index.php?title=%D0%9C%D0%BE% D1%89%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%BA%D1
%80%D0%B8%D1%82%D0%B5%D1%80%D0%B8%D1%8F#.D0.A1.D0
.B2.D0.BE.D0.B9.D1.81.D1.82.D0.B2.D0.B0_.D1.81.D1.82.D0.B0.D1.82.
D0.B8.D1.81.D1.82.D0.B8.D1.87.D0.B5.D1.81.D0.BA.D0.B8.D1.85_.D0.
BA.D1.80.D0.B8.D1.82.D0.B5.D1.80.D0.B8.D0.B5.D0.B2, режим
доступа – свободный
14. Термины и понятия открытого кода / Теплица социальных технологий
– общественный IT-образовательный проект[Электронный ресурс] - https://te-st.ru/2017/10/11/terms-open-source/, режим доступа – свободный
15. OpenCV шаг за шагом. Введение. / RoboCraft[Электронный ресурс] – http://robocraft.ru/blog/computervision/264.html
Купить эту работу vs Заказать новую | ||
---|---|---|
2 раза | Куплено | Выполняется индивидуально |
Не менее 40%
Исполнитель, загружая работу в «Банк готовых работ» подтверждает, что
уровень оригинальности
работы составляет не менее 40%
|
Уникальность | Выполняется индивидуально |
Сразу в личном кабинете | Доступность | Срок 1—6 дней |
850 ₽ | Цена | от 3000 ₽ |
Не подошла эта работа?
В нашей базе 55693 Дипломной работы — поможем найти подходящую