Тема: РАЗРАБОТКА ВИДЕОСТРИМИНГОГО ПРИЛОЖЕНИЯ С ОТСЛЕЖИВАНИЕМ ОТДЕЛЬНЫХ ОБЪЕКТОВ.
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
1. ОПИСАНИЕ И РЕАЛИЗАЦИЯ АЛГОРИТМОВ СЛЕЖЕНИЯ ЗА
ВЫДЕЛЕННЫМ ОБЪЕКТОМ 7
1.1. Постановка задачи 7
1.2. Описание алгоритма 8
1.2.1. Основные понятия 10
1.2.2. Алгоритм Канаде-Лукаса 12
1.2.3. Выделение и распознавание перемещения особых точек 16
1.2.4. Функции «голосования» 19
1.2.5. Отсеивание некорректных особых точек и определение центра
интересующего объекта 21
1.2.6. Алгоритм работы метода CMT на псевдокоде 23
1.2.7. Сравнение с другими алгоритмами слежения 24
1.3. Реализация алгоритма 27
2. ОПИСАНИЕ И РЕАЛИЗАЦИЯ АЛГОРИТМА ПРЯМОЙ ТРАНСЛЯЦИИ ВИДЕО 32
2.1. Принцип передачи видео с устройства на устройство 32
2.2. Описание технологии WebRTC 34
2.2.1. Введение и используемые термины 34
2.2.2. Механизм оповещения участников о изменениях 35
2.2.3. STUN и TURN серверы 37
2.3. Реализация трансляции видео в приложении для ОС Android 40
3. ИСПОЛЬЗУЕМЫЕ ТЕХНОЛОГИИ И АРХИТЕКТУРА ПРИЛОЖЕНИЯ 43
ЗАКЛЮЧЕНИЕ 47
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 48
ПРИЛОЖЕНИЕ 49
Исходный код приложения 49
📖 Введение
Применение видео как средства передачи информации становится наиболее популярным, это доказывает постоянный рост аудитории портала YouTube. Кроме этого, видео часто применяется при общении людей в сети Интернет. Используя видео трансляции, пользователям легче объяснить что-то наглядно, указать на предмет или его продемонстрировать. Например, применяя программу TeamViewer, владелец компьютера может предоставить удаленный доступ своему собеседнику для решения какой-либо задачи. Используя видеоконференцию в Skype, человек может продемонстрировать свое окружение или конкретный объект.
Во время общения одному из собеседников может потребоваться зафиксировать внимание к какой-либо детали. Но, как часто бывает, окружение людей не статично, и объект может сместиться относительно камеры, или камера изменить свое положение в пространстве. Одним из примеров, является ситуация оказания технической помощи автовладельцам, у автомобиля которых случилась поломка в дороге. Поломка может быть незначительной, и водитель способен устранить ее самостоятельно при получении информационной поддержки от специалиста. В такой ситуации, при помощи телефона, водитель мог бы связаться с сервисным центром и получить необходимую консультацию при помощи видеосвязи. Но из-за технически сложной конструкции машины, желательно сопровождать беседу визуальными обозначениями деталей автомобиля, с которыми необходимо провести действия для устранения неисправности. Для таких случаев полезным был бы инструмент, способный «запомнить» объект, представляющий интерес, и выделять данный объект в дальнейшем.
Для реализации описанного выше функционала по «слежению» за выделенным объектом предназначен специальный класс алгоритмов, имеющий название «object tracking algorithms», которое часто переводят как «алгоритмы для трекинга объектов». Задачи по слежению за неизвестными объектами (а они являются неизвестными, т.к. нет информации об их структуре и особенностях) являются подклассом задач компьютерного зрения.
Цель выпускной квалификационной работы состоит в реализации приложения с прямой видеотрансляцией напрямую между двумя устройствами на базе ОС Android, особенностью которого будет отслеживание выделенных на экране неизвестных объектов.
Для достижения поставленной цели необходимо решить следующие задачи:
• Изучить существующие алгоритмы слежения за объектом;
• Выбрать метод показывающий оптимальную производительность на мобильных устройствах;
• Реализовать трансляцию видео с наименьшей задержкой.
✅ Заключение
В результате работы
• Реализован алгоритм слежения за объектом CMT (Consensus-based Matching and Tracking of Keypoints for Object Tracking);
• достигнута приемлемая производительность алгоритма отслеживания, за счет выбора оптимального алгоритма для устройств под ОС Android, поддержки многопоточности, а также использования нативного кода и инструментов разработчика NDK;
• применена современная технология WebRTC для трансляции видео между устройствами;
• уменьшена задержка при передаче видео, с помощью отказа от медиасервера и передачи напрямую (peer-to-peer);
• у пользователя есть возможность изменить разрешение передаваемого видео, для комфортного просмотра.
Таким образом, поставленные перед выпускной квалификационной работой задачи решены.
В дальнейшем планируется продолжение работы над приложением для улучшения пользовательского интерфейса, а также разработка клиентов для других платформ. Кроме этого, в ближайшее время предполагается поиск решения для поддержки видео конференций, без заметного снижения качества передачи видео данных.



