Антиплагиат (1229293), страница 7
Текст из файла (страница 7)
д.);– анализ изображений (выбор отличительных признаков, морфология, поиск контуров, гистограммы);– анализ движения, слежение за объектами;– обнаружение объектов, в частности лиц;– калибровка камер, элементы восстановления пространственной структуры.Highgui – модуль для ввода/вывода изображений и видео, создания пользовательского интерфейсапредоставляет следующ ие функц ии:–захват видео с камер и из видео файлов, чтение/запись статичных изображений;– функции для организации простого пользовательского интерфейса ( все демо-приложения используют HighGUI).[7]Типичный проц есс обработки изображ ения представлен на рисунке 2.14.Рисунок 2.14 – Пример работы программы с использованием OpenCVВверсии 2.2 библиотека была реорганизована. Вместо универсальных модулей cxcore, cvaux, highGUI и других было созданонесколько компактных модулей с более узкой специализацией:– opencv_core – основная функциональность.
Включает базовые структуры, вычисления и[7]операц ии линейной алгебры, FT, CT, ввод/вывод в формате XML и YAML и т. д.;– opencv_imgproc – обработка изображ ений;– opencv_highgui – простой графический пользовательский интерфейс,ввод/вывод изображений и видео;– opencv_ml – модели машинного обучения (SVM, деревья решений, обучение со стимулированием и т. д.);– opencv_features2d – распознавание и описание плоских примитивов;–[7]opencv_video – анализ движения и отслеживание объектов;– opencv_objdetect – обнаружение объектов на изображении;–[12]opencv_calib3d– калибровка камеры, поиск стерео-соответствия и элементы обработки трёхмерных данных;– opencv_[7]flann – библиотека быстрого поиска ближайших соседей (FLANN 1.5) и обертки OpenCV;– opencv_contrib – сопутствующий код, ещё не готовый для применения;–[10]opencv_legacy– устаревший код ( для обратной совместимости);– opencv_gpu – ускорение некоторых функций OpenCV за счет3[7]CUA, создан[10]приподдержке NVidia.[7]РЕАЛИЗАЦИЯ Программно-аппаратного комплекса3.1 Реализац ия аппаратного комплексаРазрабатываемый программно-аппаратныйкомплекс предназначендля определения плотностиинаправления пешеходногоиавтомобильного потока на улиц ах городов.
В дальнейшем на основе полученных данных мож ет проводиться геомаркетинговый анализ:определение наиболее привлекательных мест для размещ ения рекламы и коммерческих предприятий; выявление часов наибольшейплотности пешеходного и автомобильного потока и т.д.
Такж е полученная информац ия представлять интерес для правоохранительныхорганов (фиксац ия массового скопления народа, нарушение ПДД) и органов местного самоуправления (определение проблемных зон наличие пробок, недостаток парковочных мест, низкая пропускная способность пешеходных тротуаров в часы пик и т.д.).
Схема проц ессаобработки данных программно-аппаратным комплексом представлена на рисунке 3.1.Рисунок 3.1 – Проц ессы работы программно-аппаратного комплексаВ настоящ ий момент закуплено оборудование для изготовления э кспериментальной установки общ ей стоимостью 33 933 руб., из нихсобственные влож ения – 19 538 руб.
(Raspberry Pi2 OEM - 4 590 руб., карта памяти San isk micro S XC 64 Гб – 2 750 руб., Wi-Fi US адаптерс антенной RTL 8188СUS – 429 руб., термокож ух Computar Ganz GH-FW12 – 9 016 руб., Raspberry pi camera module rev 1.3 – 2 753 руб.) ифинансовая поддерж ка РФФИ в рамках научного проекта № 13-07-00615 – 14 395 руб.
(IP-видеокамера с широкоугольным объективомHikvision S-2C853F-EW – 12 990 руб., блок питания P-25А – 1 405 руб.).Основными компонентами устройства являются: корпус, блок питания, IP-камера, микрокомпьютер, интерфейсные модули. Устройствообеспечивается питанием 220 В. Блок питания преобразует напряж ение питания в 5 В и 12 В. Напряж ение в 5 В требуется для питаниямикрокомпьютера, а 12 В используется для нагревательного э лемента и питания IP-камеры.
Связь меж ду IP-камерой и микрокомпьютеромобеспечивается протоколом 10ASE, кроме того, микрокомпьютер оборудован WI-FI модулем. Изображ ения отдельных э лементовпредставлены на рисунках 3.2-3.4.Рисунок 3.2 – Блок питанияРисунок 3.3 – КамераРисунок 3.4 – МикрокомпьютерВ проц ессе работы устройства IP-камера генерирует видео-поток и транслирует его по протоколу ТСР/IP на микрокомпьютер по кабелю10ASE. Микрокомпьютер производит обработку поступающ их изображ ений и накапливает данные анализа в внутренней памяти RAM. Вслучае пониж ения температуры ниж е допустимой, микрокомпьютер производит включение нагревательного э лемента посредством реле.Эта часть реализована с помощ ью открытого порта GPIO, находящ егося на верхней стороне платы микрокомпьютера.
Для обеспечениявозмож ности снятия видеоданных и данных статистики с устройства на микрокомпьютере установлен модуль Wi-Fi. Микрокомпьютерподдерж ивает открытой точку доступа (АР) модуля Wi-Fi. Сотрудник компании, приблизившись к устройству на расстояние ближ е 20метров, мож ет подключиться к точке доступа с помощ ью персонального смартфона или планшета. После успешного подключенияустройство отправляет результаты анализа на телефон сотрудника.
Далее его мож но просмотреть с помощ ью любого браузера. Нарисунке 3.5 изображ ен собранный аппаратный модуль.Рисунок 3.5 – Экспериментальная установкаРисунок 3.6 – Мобильная установкаЗа время прохож дения преддипломной практики на предприятии ООО «ИТЦ – Компьютер» была собрана э кспериментальная и мобильныеустановки (рисунок 3.5 и 3.6). Установка испытана в различных погодных условиях и показала хорошую отказоустойчивость. Собранматериал, необходимый для отладки алгоритма распознавания пешеходов.3.2 Реализац ия программного модуляПрограммный модуль представляет собой программу, реализованную на языке С++, с использованием библиотек OpenCV. Модульпозволяет распознавать пешеходов на изображ ении и вычислять степень близости распознаваемого объекта к «э талону» пешехода.3.2.1 Среда разработки и установка библиотеки компьютерного зрения OpenCVOpenCV является библиотекойалгоритмов компьютерного зрения, обработки изображений и численных алгоритмов общего назначения с открытым кодом,которая реализована на C/C++, также разрабатывается для Python, Java, Ruby, Matlab, Lua и других языков [52].[7]Для разработки прилож ения был выбран язык С++, так как он является, де-факто, промышленным стандартом и обладает гибкимфункц ионалом.В связи с низким быстродействием микрокомпьютера используется операц ионная система семейства Linux Ubuntu.
Для того, чтобыобрабатывать видеопоток на микрокомпьютере требуется установить библиотеку компьютерного зрения OpenCV. Для э того необходимоскомпилировать библиотеки в текущ ей операц ионной системе. После компиляц ии и основных настроек операц ионная система будетготова к работе с функц иями библиотеки компьютерного зрения OpenCV.Такж е была выбрана операц ионная система Ubuntu, так она основана на ОС ebian, которая будет работать на устройстве.
Данныеоперац ионные системы не требовательны к ресурсам, поэ тому подходят микрокомпьютерам, которые ограничены в производительности ипо количеству ядер проц ессора, а такж е в оперативной памяти.Сначала необходимо установить связи меж ду OpenCV и Ubuntu. выполнив следующ ую команду. При ее выполнении некоторые библиотекимогут быть обновлены, а в случае отсутствия – загруж ены.Листинг 3.1 – Установка библиотекsudo apt-get -у install libopencv-dev build-essential cmake git libgtk2.0-dev pkg-config python-dev python-numpy libdc1394-22 libdc1394-22-devlibjpeg-dev libpng12-dev libtiff4-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine-dev libgstreamer0.10-dev libgstreamerplugins-base0.10-dev libv4l-dev libtbb-dev libqt4-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-devlibvorbis-dev libxvidcore-dev x264 v4l-utils unzipДля корректной работы OpenCV со средой разработки нуж но выполнить следующ ие команды.
В проц ессе их выполнения будет созданадиректория для хранения исполняемого кода (скопированных файлов), алгоритмов библиотеки.Листинг 3.2 – Компиляц ия библиотеки OpenCVcd opencvmkdir buildcd buildcmake - CMAKE_UIL_TYPE=RELEASE - CMAKE_INSTALL_PREFIX=/usr/local - WITH_T=ON - UIL_NEW_PYTHON_SUPPORT=ON - WITH_V4L=ON WITH_QT=ON - WITH_OPENGL=ON ..make -j $(nproc)sudo make installЕсли установлены все необходимые компоненты, будет выведено сообщ ение об успешной компиляц ии, иначе – сообщ ение об ошибках.Длякорректнойработы библиотекинеобходимовыполнитьследующ иекоманды,которыепозволяютподключитьOpenCVкинтегрированной среде разработки Qt Creator.Листинг 3.3 – Конфигурац ияsudo /bin/bash -с 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'sudo ldconfigЗавершающ им э тапом является подключение библиотеки OpenCV к интегрированной среде разработки Qt Creator.Листинг 3.4 – ПодключениеINCLUEPATH += /usr/local/include/opencv-3.0.0LIS += -L/usr/local/lib -lopencv_core -lopencv_imgcodecs -lopencv_highgui -lopencv_imgproc -lopencv_photo -lopencv_video -lopencv_videoio lopencv_features2d -lopencv_calib3dПоскольку требуется только консольный интерфейс, то оптимально сделать выбор в сторону интегрированной среды разработки Codelocks, она менее требовательно ресурсам, чем интегрированная среда Qt Creator.Рисунок 3.7 – Указания пути библиотекамПосле подготовительных э тапов и указания путей к библиотекам, генерац ии и конфигурирования библиотеки компьютерного зренияOpenCV, мож но приступать к разработке программного модуля.3.2.2 Реализац ия алгоритма распознавания пешеходовБиблиотека компьютерного зрения включает встроенные функц ии распознавания пешеходов.