Разработка и реализация алгоритма локализации объекта, заданного моделью, на изображении
Анализ процесса локализации и требований к алгоритму. Постановка критериев анализа алгоритмов локализации. Разработка алгоритма фильтрации и модификации результатов обнаруженных объектов на изображении. Выбор среды реализации и языка программирования.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 23.09.2018 |
Размер файла | 2,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Последняя ступень - локализация объекта. Имея вышеупомянутые данные, можно получить координаты X и Y куба относительно плоскости локализации. Важно отметить, что полученные данные будут иметь некоторую погрешность. Она связана с тем, что на изображении представляется проекция куба с учетом перспективы.
3.4 Выводы по третьей главе
В третей главе алгоритм локализации объекта, заданного моделью, на изображении был декомпозирован на три компонента более низкой абстракции. Каждый из этих алгоритмов был спроектирован и подготовлен к разработке.
Глава 4. Реализация алгоритма локализации объекта, заданного моделью, на изображении
После того, как алгоритм был разработан, необходимо реализовать его программно. Это позволит произвести подтвердить предположения, проверить его работу. Таким образом, алгоритм будет применен на практике.
В этой главе описывается выбор инструментов, с помощью которых будет производиться разработка. Выбирается и описывается среда исполнение алгоритма. Также описывается процесс программной реализации разработанного алгоритма.
4.1 Выбор инструментов программной реализации разработанного алгоритма
Самый главный компонент, который задействован в разработке это инструмент обработки изображений. На основании анализа, проведенного во второй главе, в качестве такого инструмента была выбрана библиотека OpenCV. Эта библиотека имеет реализации на языках C++ и Python. По причине невозможности использования языка Python на с другими инструментами разработки была выбрана реализация на языке C++.
4.1.1 Выбор среды реализации
Как было сказано в главе, посвященной анализу предметной области, спектр применения технологий, подобных разрабатываемой, достаточно велик. Такие технологии используются в производстве и в играх, в правоохранительных органах и в медицине. Вариативность сред применения приводит к тому, что для применения в какой-либо сфере алгоритма необходимо проводить процесс адаптации. Этот процесс может включать множество подпроцессов:
1. Перевод кода на другие языки программирования;
2. использование других типов данных, например, при изменении разрядности, используемой в среде выполнения;
3. использование других вспомогательных инструментов.
Тот факт, что применение алгоритма в какой-либо из сред предполагает его адаптацию, в данной работе следует реализовать алгоритм так, чтобы процесс был наименее трудоемким. Для этого необходимо отталкиваться от следующих критериев: возможность использования выбранной библиотеки OpenCV, простота ручного тестирования.
Одной и сред реализации, удовлетворяющей эти потребности, является мобильное приложение для iOS. Эта реализация предполагает использование C-подобных языков программирования, что делает ее адаптируемой под большинство прочих сред реализации. Возможность применения камеры устройства и вывода изображения на экран делает процесс отладки значительно более простым. Но, важно отметить, что многие инструменты, доступные в iOS, не доступны в других средах исполнения. Это приводит к необходимости отказа от некоторых инструментов, специфичных именно для этой среды исполнения.
4.1.2 Выбор языка программирования
Как было описано выше, предполагается реализация алгоритма в рамках приложения для iOS. Это сужает выбор языков программирования до пяти: C, C++, Swift, Objective-C, Objective-C++. При этом, нужно учитывать, что часть приложения, взаимодействующая с OpenCV должна быть написана на языке C++. Также стоит использовать языки одной парадигмы, в данном случае, только объектно-ориентировнные языки программирования.
Библиотека OpenCV написана на языке C++. Как известно, для разработки iOS приложений используется языки Objective-C и Swift. Язык Objective-C - это надмножество над языком C. Также он имеет адаптацию Objective-C++ - надмножество над языком C++. Это значит, что приложение можно реализовать на языке, который способен выполнять код, написанный на языке C++. Однако, большинство сторонних компонентов, необходимых в разработке, требуют использования одного из двух основных языков. Но эта проблема имеет решение - среда разработки имеет возможность взаимодействия языков Objective-C и Objective-C++. При необходимости реализации приложения на языке Swift, будет использована следующая цепочка адаптации: C++, Objective-C++, Objective-C, Swift.
Реализация математических преобразований, множественного фильтрования и прочих конструкций наиболее ёмко может быть написана на языке Swift. Причиной этому является то, что этот язык имеет широкий набор механизмов работы с массивами, механизмов обработки ошибок. Также написание сложных математических выражений на языке Swift более понятно для программиста, чем на языках Objective-C++ и Objective-C. Кроме того, язык Swift имеет расширения для реализации конструкций функционально-реактивного программирования. Последнее делает исполнение программы менее зависимым от контекста выполнения. Как известно, понижение зависимости от контекста исполнения делает код более безопасным.
Выбирая язык Swift для работы в части приложения, нужно обеспечить его взаимодействие с кодом, написанном на языке C++. Это возможно сделать, обеспечив взаимодействие через промежуточные классы на языках Objective-C++ и Objective-C.
Таким образом в приложении будут использованы следующие языки:
· Swift;
· Objective-C;
· Objective-C++;
· C++.
4.1.3 Выбор среды разработки
На данный момент представлены две среды для нативной разработки под iOS. Это Xcode и AppCode. Первая является продуктом компании Apple, что делает ее потенциально более подходящей для разработки под продукты этой же компании. Вторая - разработка компании Jet Brains, занимающейся созданием b2e решений, а именно сред разработки.
Главным критерием, по которому следует выбрать среду разработки является возможность адаптации компонента OpenCV. Как было сказано выше, для этого необходимо реализовать связку, позволяющую использовать код, написанный на языке C++ и код, написанный на Objective-C одновременно. К сожалению, AppCode не позволяет разработчикам использовать язык C++, что делает эту среду разработки неподходящей для использования.
4.1.4 Выбор системы контроля версий
Разработка алгоритма - процесс итерационный. Он предполагает множество проб и ошибок. Несмотря на то, что существует множество способов хранения нескольких версий, использование системы контроля версий значительно упростит процесс разработки. Это позволит иметь дерево решений с возможностью быстрого перемещения между ними.
На настоящий момент подобные системы эволюционировали и представлены в децентрализованном виде. Системы локального и централизованного хранения практически не используются в крупных корпорациях. Остается вопрос выбора между децентрализованными системами контроля версий. На настоящий момент конкурируют две системы: Git, SVN и Mercurial. В рамках данного исследования выбор был отдан системе Git как наиболее гибкой и распространённой.
4.2 Реализация алгоритма обнаружения фигур на изображении
Для настройки набора конфигураций значений HSV была создана сущность Session, являющаяся контейнером для набора конфигураций. Она содержит уникальный ключ и уникальный ключ изображения. Для хранения конфигурации была создана сущность Configuration с полями, ссылающимися на сессию и описывающими диапазоны каждого из значений HSV. Для хранения сессий и конфигураций между сессиями использования приложения была создана база данных, содержащая эти модели (рис. 4.1). для реализации базы данных была использована библиотека Realm.
Рисунок 4.1. Схема базы данных
Для настройки конфигураций был создан специальный экран, позволяющий изменять диапазоны и экспериментировать. На этом экране представлено изображение, отфильтрованной в соответствии с конфигурацией. И еде одно изображение, иллюстрирующее объекты, определенные на изображении. Как видно на рисунке 4.2, примененная конфигурация позволила определить одну из сторон куба.
Рисунок 4.2. Настройка конфигурации
Для настройки сессии тоже был создан специальный экран. Он позволяет добавлять конфигурации и наблюдать применение набора конфигураций на изображении. На представленном примере (рис. 4.3) можно увидеть, как были применены три конфигурации и найдены три стороны куба.
Рисунок 4.3. Экран сессии
4.3 Реализации алгоритма фильтрации и модификации набора фигур
Для получения набора фигур, пригодных для локализации куба, необходимо провести процедуру фильтрации и модификации фигур, полученных от алгоритма обнаружения. Результат работы алгоритма фильтрации и модификации можно увидеть на правой стороне рисунка 4.4. Два четырехугольника в центре можно ассоциировать со сторонами куба, в данном примере задача алгоритма оставить только две фигуры. Как можно увидеть, на изображении имеется множество клавиш прямоугольной формы и прочих фигур, которые не должны быть распознаны. Для более правильного проведения эксперимента, не был использован алгоритм фильтрации по количеству найденных фигур. Для сравнения, на левой части этого же рисунка представлена работа приложения без использования алгоритма фильтрации и модификации. Как можно увидеть, на изображении было распознано множество лишних фигур.
Рисунок 4.4. Результат работы без и с алгоритмом фильтрации и модификации набора фигур
Большинство алгоритмов, исполняемых при выполнении алгоритма модификации и фильтрации, используют перебор. При этом, для каждой фигуры выполняется соответствующая функция. Функции модифицируют фигуры по одной или определяют, должна ли фигура быть оставлена в наборе. Исключением является алгоритм слияния схожих фигур. Результат работы алгоритма представлен на рисунке 4.5. Как можно увидеть, один четырехугольник был определен набором фигур. Этот набор усредняется и вместо него образуется одна фигура.
Рисунок 4.5. Пример определения без использования алгоритма слияния схожих фигур
4.4 Реализация алгоритма локализации объекта с заданными параметрами и координатами на изображении
В результате обнаружения фигур и их фильтрации, при качественной настройке конфигураций, с большой долей вероятности, на вход данному алгоритму приходит три четырехугольника. На данный момент реализован алгоритм обнаружения всех точек параллельного параллелепипеда (рис. 4.6). Эти точки соответствуют координатам объекта в плоскости изображения. Но для дальнейшей работы необходимо получить координаты объекта трехмерном пространстве.
Рисунок 4.6. Пример определения вершин куба
Имея все параметры объекта на изображении и в реальном мире, а также зная фокусное расстояние камеры можно получить отношение размера объекта и размера его проекции на матрице (Рис. 4.7). Умножив фокусное расстояние на это отношение определяется расстояние до объекта - координата Z. Далее, используя это же отношение, определяются координаты X и Y.
Рисунок 4.7. Нахождение расстояния до объекта
Таким образом, алгоритм возвращает значения X, Y, Z в координатной плоскости матрицы камеры.
Выводы по четвертой главе
В четвертой главе был описан процесс выбора среды исполнения алгоритма, инструментов разработки. Был описан процесс реализации каждого из трех алгоритмов, в совокупности, составляющих алгоритм локализации объекта на изображении.
Заключение
В процессе выполнения работы были выполнены следующие задачи:
1. Исследованы существующие алгоритмы и инструменты, с помощью которых можно обнаружить объекты в пространстве на основе их двумерного изображения.
2. Исследованы существующие алгоритмы и инструменты локализации объекта на изображении.
3. Проведен анализ исследованных алгоритмов.
4. Произведен выбор наиболее подходящих алгоритмов и инструментов.
5. Разработан алгоритм локализации объекта, заданного моделью, на изображении.
6. Реализован разработанный алгоритм с использованием выбранных инструментов.
7. Проведены испытания локализации объемного объекта на изображении в созданных условиях.
Таким образом, были выполнены все поставленные задачи и достигнута главная цель. Был разработан и реализован алгоритм локализации объекта, заданного моделью на изображении. В дальнейшем результаты этой работы могут быть использованы для локализации объектов других форм. Также может быть изменена точка отсчета координат.
Библиографический список
1. Библиотека ARKit. [Электронный ресурс]. URL: https://developer.apple.com/arkit/ (Дата обращения 03:12:2017)
2. Детектор границ Канни. [Электронный ресурс]. URL: https://habr.com/post/114589/ (дата обращения 14:03:2018)
3. Дэвид А. Форсайт, Жан Понс. Компьютерное зрение. Современный подход. Computer Vision. 2004. 928c.
4. Как применять MVVM в iOS. [Электронный ресурс]. URL: https://stfalcon.com/ru/blog/post/beyond-mvc-how-to-use-MVVM-in-iOS).
5. Машинное зрение. URL: [Электронный ресурс]. http://neuronus.com/stat/1089-mashinnoe-zrenie.html (дата обращения 03:12:2017)
6. Методика оценки трудоемкости и стоимости разработки и сопровождения прикладного программного обеспечения при создании информационных систем (Методика CETIN). [Электронный ресурс]. URL: http://textarchive.ru/c-1485688-pall.html (дата обращения: 22.03.2018).
7. Обнаружение и локализация объектов в пространстве посредством самообучающейся модели кластеризации. В. Холидов, Ф. Форбз, М. Хансард, Е. Арнауд, Р. Хораунд. Ирния Гренобль, Франция (Дата издания: 2008г).
8. Распознавание маркера дополненной реальности. [Электронный ресурс]. URL: https://geektimes.ru/post/135659/ (Дата обращения 03:12:2017)
9. Что такое компьютерное зрение? [Электронный ресурс]. URL: https://rb.ru/story/chto-takoe-mashinnoe-zrenie/ (Дата обращения 03:12:2017)
10. Adrian Kaehler, Gary Bradski . Learning OpenCV. O'Reilly Media. 2008. 580 с.
11. Dell Wolfensparger. Apple ARKit Revealed: Augmented and Mixed Reality for iPhone and iPad. 2016. 380 с.
12. Canny edge detection. [Электронный ресурс]. URL: http://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_imgproc/py_canny/py_canny.html (дата обращения 19:03:2018)
13. Computer Vision: Algorithms and Applications. David Martin, Fernando Garcia. Мадрид. 2017. 516с
14. Getting Started With RxSwift and RxCocoa. [Электронный ресурс]. URL: https://www.raywenderlich.com/138547/getting-started-with-rxswift-and-rxcocoa.
15. Git vs. Mercurial: why Git?. [Электронный ресурс]. URL: https://www.atlassian.com/blog/git/git-vs-mercurial-why-git (Дата обращения 03:12:2017)
16. How to Detect and Track Object With OpenCV? [Электронный ресурс]. URL: https://www.intorobotics.com/how-to-detect-and-track-object-with-opencv/
17. OpenCV шаг за шагом. Введение. [Электронный ресурс]. URL: http://robocraft.ru/blog/computervision/264.html (Дата обращения 03:12:2017)
18. The Swift Programing Language (Swift 3.0.1). [Электронный ресурс]. URL: https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/. (Дата обращения 03:12:2017)
8.
Приложение А. Техническое задание
1. Общие сведения
1.1. Наименование Системы
Полное наименование: Алгоритм локализации объекта, заданного моделью, на изображении.
1.2. Основания для проведения работ
Работа выполняется на основании следующих документах:
1. правила подготовки курсовых и выпускных квалификационных работ студентов образовательной программы бакалавриата «Программная инженерия» по направлению подготовки 09.03.04 Программная инженерия;
2. положение о курсовой и выпускной квалификационной работе студентов, обучающихся по программам бакалавриата, специалитета и магистратуры в Национальном исследовательском университете «Высшая школа экономики».
1.3. Наименование организаций - Заказчик и разработчик
Заказчик: Кафедра ИТБ НИУ ВШЭ-Пермь.
Исполнитель: студентка группы ПИ-14-1 Титов Д.А.
1.4. Плановые сроки начала и окончания работы
Плановые сроки начала: 15.11.2017.
Плановые сроки конца: 05.05.2018.
1.5. Порядок выполнения и предъявления заказчику результатов работы
Работы предусматривает выполнение и предъявление в несколько этапов. Выполнение завершается предъявлением заказчику выполненной работы.
2. Назначение и цели создания системы
2.1. Назначение системы
Система предназначена для обнаружения и локализации объекта, заданного моделью на изображении.
2.2. Цели создания системы
Цель исследования - разработка алгоритма локализации объекта, заданного моделью на изображении
3. Требования к алгоритму
3.1. Нефункциональные требования
· Алгоритм должен быть модульным. Имея набор модулей, которые взаимодействуют друг с другом посредством протоколов, можно существенно упростить адаптацию к новым параметрам входа, условиям применения и прочим изменениям. Например, можно изменить модуль определения объекта локализации модуль определения объекта другой формы.
· Алгоритм должен быть ресурсоемким. Как известно, программы, обрабатывающие большие матрицы, как правило требуют больших процентов загрузки графического процессора.
· Масштабируемость. Алгоритм должен предполагать возможность дальнейшего расширения. Например, локализации большего количества объектов.
3.2. Функциональные требования
Алгоритм и его окружение должны реализовывать следующие функции:
· Получать изображения с камеры или через функцию загрузки из локального или внешнего хранилища;
· преобразование изображения в формат пригодный для обработки алгоритмом;
· распознавание на изображении объекта локализации;
· определения угла, под которым объект локализации находится по отношению к камере;
· определение положения объект относительно камеры с помощью стереометрический правил;
· определение расстояние между точками объектов;
· определение координат объекта локализации.
3.3. Требования к входным параметрам
· Достаточная освещенность. Объект локализации должен быть освещен в достаточной мере;
· угол освещения. Направление света не должно быть параллельным ни одной из плоскостей объектов;
· цветовые различия. Объект локализации и плоскость локализации должны быть одного цвета, контрастирующего с цветом фона;
· расположение объектов на изображении. Все объекты, задействованные в алгоритме должны быть целиком видны на изображении;
· масштаб. Объект локализации должен занимать не менее одной сотой изображения;
· разрешение изображения. Изображение должно иметь разрешение 1334 на 750 пикселей;
· формат изображения. Изображение должно подаваться в формате, который не подвержен автоматической компрессии, например, JPEG;
· форма объектов. Объект локализации должен иметь форму, приближенную к геометрической форме куба;
· угол съемки. Относительно плоскости локализации, камера должна снимать под углом от сорока пяти до ста тридцати пяти градусов.
3.4. Требования к условиям эксплуатации
· Изображения должны быть сделаны в крытом помещении;
· должны быть использованы несколько источников света с широким углом направленностью лучей;
· окружение, на фоне которого производятся снимки должно быть темных оттенков. Это сделает изображение контрастным и упростит работу алгоритма.
3.5. Требования к инструментам реализации
· Среда эксплуатации. Алгоритм должен выполняться на мобильном устройстве под управлением iOS. Это позволит получать данные непосредственно от камеры и сразу передавать результаты выполнения на экран смартфона.
· Среда разработки. Должна быть использована среда разработки Xcode, как наиболее популярная среда для разработки под iOS. Она позволяет компилированные все языки программирования, которые эффективны в реализации алгоритма.
· Язык разработки. Алгоритм или его части должны быть написаны на языках Objective-C или Objective-C++, как совместимые соответственно с языками C и C++, что делает их применимыми к различным инструментам обработки изображений.
3.6. Требования к результату работы алгоритма
· Алгоритм должен выдавать координаты всех восьми точек куба в трехмерном пространстве относительно плоскости локализации;
· приложение должно визуализировать куб с отмеченными на нем координатами.
4. Требования к документации
Набор программной документации включает в себя следующие документы:
· Техническое задание.
5. Порядок контроля и приёмки
5.1. Испытания
Алгоритм подлежит прохождению следующих испытаний (Табл. А.1)
Таблица А.1. Испытания
Объект испытания |
Действие |
Ожидаемый результат |
|
Алгоритм обработки изображений |
Подача изображения, не соответствующего требованиям к входным параметрам |
Уведомление пользователя о несоответствии изображения требованиям к входным параметрам |
|
Алгоритм обработки изображений |
Подача изображения, соответствующего требованиям к входным параметрам |
Преобразование изображения в объект, пригодный для работы алгоритма |
|
Алгоритм распознавания |
Подача изображения с расположенным на нём объектом локализации |
Уведомление об успешном распознавании объекта локализации |
|
Обработчик стереометрических параметров |
Подача параметров, не соответствующих модели куба |
Уведомление о вводе неверных параметров |
|
Обработчик стереометрических параметров |
Подача тестовых параметров положения объекта локализации |
Данные, характеризующие пространственное отношение объекта локализации |
|
Локализация объекта |
Подача изображения с расположенными на нём объекта локализации и объекта |
Вывод координат объекта локализации |
Приложение Б. Значения поправочных коэффициентов
Ниже, в таблице представлены значения частных поправочных коэффициентов (Табл. Б.1)
Таблица Б.1. Значения частных поправочных коэффициентов
Обозначение частного поправочного коэффициента |
Значение |
Значение частного поправочного коэффициента |
|
К1 - Режим эксплуатации ИС |
Обработка данных в режиме реального времени |
1,05 |
|
К2 - Масштаб ИС |
Малые ИС (до 10 пользователей с непродолжительным ЖЦ) |
0,93 |
|
К4 - Защита от несанкционированного доступа |
Слабая |
1 |
|
К5 - Защита программ и данных |
Слабая |
1,03 |
|
К6 - Контрольный след операций |
Не имеется |
1,03 |
|
К7 - Отказоустойчивость |
Средняя |
1,05 |
|
К8 - Восстанавливаемость |
Высокая |
1,12 |
|
К9 - Длительность обработки |
Умеренное |
1,03 |
|
К10 - Исходный язык разработки ИС |
Объектно-ориентированный (Си++ или эквивалентный) |
1,05 |
|
К11 - Класс пользователя |
Начинающий |
1,07 |
|
К12 - Требования к центральному обрабатывающему устройству |
Большая |
1,01 |
|
К13 - Требования к оперативной памяти |
Большая |
1,01 |
|
К14 - Требования к внешней памяти |
Малая |
1,03 |
|
К15 - Требования к локальной вычислительной сети |
Высокая |
1,02 |
|
К16 - Критичность ИС |
Организационная безопасность |
1,03 |
|
К17 - Готовность |
Общедоступная (известная методика) |
1,03 |
|
К18 - Представление данных |
Объектное |
1,09 |
Формулы для расчета поправочных коэффициентов [17] представлены в таблице (табл. Б.2).
Таблица Б.2. Формулы расчета поправочных коэффициентов
Номер процесса |
Обозначение поправочного коэффициента |
Формула для определения поправочного коэффициента |
Значение |
|
1 |
К11 * К16 * К17 |
1,135163 |
||
2 |
К1 * К2 * К4 * К5 * К6 * К7 * К8 * К9 * К16 * К17 * К18 |
1,12564 |
||
3 |
К1 * К2 * К4 * К5 * К6 * К7 * К8 * К9 * К11 * К12 * К13 * К14 * К15 * К16 * К17 * К18 |
1,08356 |
||
4 |
К1 * К2 * К4 * К5 * К6 * К7 * К8 * К9 * К10 * К12 * К13 * К14 * К15 * К16 * К17 * К18 |
1,09323 |
||
5 |
К1 * К2 * К4 * К5 * К6 * К7 * К8 * К9 * К10 * К11 * К12 * К13 * К14 * К15 * К16 * К17 * К18 |
1,10546 |
||
6 |
К1 * К2 * К11 * К16 * К18 |
1,10421 |
Размещено на Allbest.ru
...Подобные документы
Обзор алгоритмов распознания объектов на двумерных изображениях. Выбор языка программирования. Обнаружение устойчивых признаков изображения. Исследование алгоритмов поиска объектов на плоскости. Модификация алгоритма поиска максимума дискретной функции.
дипломная работа [1,0 M], добавлен 16.06.2013Задача локализации проекции шаблона на изображении. Свойства биномиального распределения. Определение проекций опорных точек в области локализации. Понижение разрешения и дифференцирование локализованного изображения. Поиск вероятных приближенных решений.
дипломная работа [3,5 M], добавлен 06.11.2011Исследование симметричных алгоритмов блочного шифрования. Минусы и плюсы алгоритма IDEA. Разработка программы аутентификации пользователя и сообщений на основе алгоритма IDEA. Выбор языка программирования. Тестирование и реализация программного средства.
курсовая работа [314,2 K], добавлен 27.01.2015Блок-схема алгоритма Флойда. Разработка его псевдокода в программе Microsoft Visual Studio. Программа реализации алгоритмов Беллмана-Форда. Анализ трудоемкости роста функции. Протокол тестирования правильности работы программы по алгоритму Флойда.
курсовая работа [653,5 K], добавлен 18.02.2013Состав и принцип работы аппаратуры. Выбор параметров корреляционного анализа и Фурье-анализа. Разработка и применение алгоритма корреляционного анализа. Реализация алгоритма Фурье-анализа на языке С++ и алгоритма корреляционного анализа на языке С#.
дипломная работа [4,6 M], добавлен 30.11.2016Определение эффективности методов RSS и TOA, их сравнение в позиционировании абонентских станций внутри помещений и на открытых пространствах. Принципы локализации абонентов в стандарте IEEE 802.11. Использование систем локализации объектов в сетях Wi-Fi.
курсовая работа [1,5 M], добавлен 07.12.2013Программная реализация алгоритма составления каталога товаров из сети электронных магазинов с выявлением одинаковых, используя сравнение по изображениям. SURF-метод в основе алгоритма: поиск особых точек на изображении и составление их дескрипторов.
дипломная работа [3,1 M], добавлен 27.06.2012Метод установления границ начального отрезка локализации минимума. Метод золотого сечения. Оценивание точки минимума внутри найденного отрезка локализации. Программная реализация метода Свенна на языке C++. Текст программы нахождения точки минимума.
контрольная работа [47,3 K], добавлен 27.01.2011Понятие визуальной системы ввода информации, ее сущность и особенности, место и роль в современном развитии интерфейсов между человеком и компьютером. Развитие технологии автоматического обнаружения и распознавания лица, контуров губ в видеопотоке.
научная работа [94,3 K], добавлен 29.01.2009Содержательная часть языка программирования С++. Правила автоматной грамматики, классификация Хомского. Принцип построения графов, разработка проекта средствами среды программирования Builder C++. Алгоритм синтаксического анализа оператора вывода.
контрольная работа [228,4 K], добавлен 22.05.2012Выбор технологии, языка и среды программирования. Анализ процесса обработки информации и выбор структур данных для ее хранения, разработка основных алгоритмов. Проектирование интерфейса пользователя. Выбор стратегии тестирования и разработка тестов.
курсовая работа [332,3 K], добавлен 09.12.2014Математическое описание операций преобразования плоских фигур. Выбор и обоснование языка программирования и среды разработки. Задание базовой фигуры. Разработка алгоритма работы программы. Проверка корректности работы программы в различных режимах.
курсовая работа [567,6 K], добавлен 13.10.2014Выбор языка программирования и его обоснование. Определение системных требований. Схема алгоритма и программа на языке Qbasic. Разработка руководства пользователя. Способы конструирования программ. Особенности и принципы динамического программирования.
курсовая работа [398,8 K], добавлен 21.01.2014Описание формальной модели алгоритма на основе рекурсивных функций. Разработка аналитической и программной модели алгоритма для распознающей машины Тьюринга. Разработка аналитической модели алгоритма с использованием нормальных алгоритмов Маркова.
курсовая работа [1,5 M], добавлен 07.07.2013Этапы процедуры принятия решений. Разработка математического алгоритма. Блок-схема алгоритма работы программы. Разработка программы на языке программирования С++ в среде разработки MFC. Текст программы определения технического состояния станка с ЧПУ.
курсовая работа [823,0 K], добавлен 18.12.2011Разработка программы, осуществляющей контроль за своевременностью обновления программного обеспечения с помощью рассылки электронных писем. Анализ требований к системе; выбор метода решения, алгоритма, выбор языка программирования, описание программы.
дипломная работа [5,6 M], добавлен 29.06.2011Понятие локализации программного обеспечения как процесса его адаптации к культуре какой-либо страны. Перевод пользовательского интерфейса, документации и сопутствующих файлов программного обеспечения. Инструментарий для локализации. Языковые теги и коды.
презентация [243,7 K], добавлен 07.10.2013Алгоритм реализации векторного пространства, метод фильтрации шумов на изображении. Формально-логическая модель разработки программного обеспечения, выбор инструментальных средств его реализации. Анализ точности совпадения распознанного изображения.
дипломная работа [2,7 M], добавлен 13.02.2013Анализ и постановка задач дисциплины "Компьютерная графика". Разработка структуры, функциональной схемы и программной документации. Руководство программисту и оператору. Выбор и обоснование языка программирования. Описание процедур, функций, оценок.
дипломная работа [3,6 M], добавлен 16.11.2011Интерфейс OpenMP - системы программирования на масштабирующих SMP-системах. Разработка алгоритмов блока "Эксперт для мультипроцессора" в проекте "Экспериментальная система автоматизации распараллеливания" для генерации вариантов локализации данных.
дипломная работа [129,8 K], добавлен 15.10.2010