В лабораторной работе №2 (идентификация лица) сказано: - в FaceTracking.cs: удалим или закомментируем функцию SimplePipeline, класс MyUtilMPipeline и изменим функцию AdvancedPipeline... Класса MyUtilMPipeline нет в проекте вообще; Функции AdvancedPipeline так же нет. Материалов к лабораторной №2 в начале работы (по ссылке открывается та же страница) тоже нет.Это ошибки или используется другая версия примера? |
Разработка пользовательских мультимедийных приложений с использованием возможностей Intel Perceptual Computing SDK
Презентацию к данной лекции можно скачать здесь.
5.1. Краткое понятие мультимедиа и мультимедийных приложений
Мультимедиа (multimedia) - это совокупность компьютерных технологий, одновременно использующих несколько информационных сред: графику, текст, видео, фотографию, анимацию, звуковые эффекты, звуковое сопровождение, человеческую речь.
Мультимедийные технологии - это совокупность современных цифровых средств аудио-, теле-, визуальных и виртуальных коммуникаций, которые позволяют вводить, сохранять, перерабатывать и воспроизводить текстовую, аудиовизуальную, графическую, трёхмерную и иную информацию.
Связывание элементов мультимедиа в единый проект выполняется с помощью программных средств. Результаты представления элементов мультимедиа на экране и средства управления мультимедиа, называются пользовательским интерфейсом, а аппаратные и программные средства, обеспечивающие воспроизведение мультимедиа, - платформой.
К разновидностям мультимедиа относятся:
- Линейное мультимедиа - простейшая форма представления множества элементов мультимедиа, когда пользователь может выполнять только пассивный просмотр элементов мультимедиа, а последовательность просмотра элементов мультимедиа определяется сценарием.
- Нелинейное (интерактивное) мультимедиа - форма представления множества элементов мультимедиа, в которой пользователю предоставлена возможность выбора и управления элементами в режиме диалога.
- Гипермедиа - интерактивное мультимедиа, в котором пользователю предоставляется структура связанных элементов мультимедиа, которые он может последовательно выбирать.
- Реальное видео - форма мультимедиа, моментально транслирующая поток данных с одного устройства на другое, предоставляющая пользователю просматривать видео и звуковое сопровождение в режиме реального времени.
В целом, под мультимедиа могут понимать и мультимедийную программу-оболочку, и продукт, сделанный на основе мультимедийной технологии, и компьютерное оснащение. Поскольку технологии мультимедиа являются комплексными, то и отдельные элементы этих технологий характеризуются многосредностью и ведением диалога с пользователем. Мультимедийные ресурсы, например, содержат различные виды информации, их существенной особенностью является активное взаимодействие ресурса и человека.
Технология мультимедиа является одной из новых технологических форм информационного общества. Она открывает принципиально новый уровень обработки информации и интерактивного взаимодействия человека с компьютером. Отличительной чертой современных мультимедийных технологий является их способность не только производить некий предназначенный для употребления продукт, но и оказывать косвенное влияние на пользующегося ими человека. Новые виды обработки и предоставления информации, новые способы доступа к информации позволяют разнообразить нашу культуру, содействуют глобальному обмену культурными ценностями, информацией и знаниями, способствуют более интенсивной коммуникации между людьми.
Исторической спецификой современной электронно-коммуникационной системы является то, что в отличие от прежних форм и стадий культурного развития человечества нынешняя характеризуется глобальными масштабами своего распространения и воздействия на все сферы общественной жизни.
Поскольку обмен информацией - необходимая составляющая жизни общества, то медиа технологии, как опосредующее звено человеческой деятельности, являются одним из способов коммуникации, условием человеческой активности. При этом интеграция в одной системе различных источников и форм информации в условиях открытого доступа фундаментально изменила характер коммуникации. Электронные цифровые медиаресурсы создают техническую возможность существования сверхнасыщенного информационного поля, которое практически повсеместно окружает современного человека.
Мультимедиа, помимо значительного ускорения коммуникативных процессов, позволяет на качественно новом уровне организовать процессы производства, хранения и распространения информации.
Активно внедряясь в деловую среду, мультимедиа влияет на ход экономического развития общества, рождая новое направление - электронный бизнес. Мультимедиа технологии широко используются в рекламной деятельности, при управлении маркетингом и организации продвижения товаров и услуг различными методами. Мультимедийные технологии становятся самостоятельным бизнесом и профессиональной областью деятельности, предметом бизнеса.
Невозможно переоценить значение мультимедиа в развитии индустрии развлечении, создании компьютерных игр, киноиндустрии.
Мультимедиа следует рассматривать и как искусство, где особое место принадлежит наглядно-образным способам передачи информации. Как новая форма художественного творчества, мультимедиа выступает не столько продуктом технологической революции, сколько цифровым воплощением идей, которые не находили перспектив реализации в традиционных рамках изобразительного искусства и других видах культуры. При этом компьютер становится еще одним перспективным инструментом для всех искусств, альтернативной средой, способной по-новому реконструировать культуру и творить собственное искусство, он осознается как средство создания видов искусства. Сформировалось несколько направлений компьютерных искусств: цифровая музыка, интерактивный перформанс, компьютерная графика и анимация. Одним из основных преимуществ этих видов творчества считается открытость художественного пространства.
Одна из возможностей продуктивного использования мультимедиа - обучение. Мультимедийная технология позволяет увеличить степень усвояемости изучаемого материала, так как предоставляет возможность синергетического обучения. Под этим понимается обеспечение одновременно зрительного и слухового восприятия материала, активного участия в управлении его подачей, возвращения к тем разделам, которые требуют повторного анализа. Особенно велика роль мультимедиа технологий в развитии дистанционного образования. В будущем роль мультимедиа в области образования будет возрастать, так как знания, обеспечивающие высокий уровень профессиональной квалификации, всегда подвержены быстрым изменениям.
Существует большое множество программных средств для работы с мультимедиа файлами. Такие приложения можно разделить на несколько основных категорий:
- Средства создания и обработки изображения
- Средства создания и обработки 2D и 3D - графики
- Средства создания и обработки видео и анимации
- Средства создания и обработки звука
- Средства создания презентации
Компьютерное представление графической информации реализуется с помощью растрового или векторного подхода. В первом случае изображение делится на пиксели, цвет каждого пикселя кодируется определенным числом битов. Векторные изображения сохраняются в виде геометрического описания объектов, составляющих рисунок.
Графические редакторы ориентированы на манипулирование существующими изображениями и обладают набором инструментов, позволяющих корректировать любой аспект изображения. Профессиональные графические редакторы поддерживают работу со слоями и экспорт объектов из программ векторной графики, обладают полным набором инструментов для коррекции цвета, ретуширования, регулировки контрастности и насыщенности цветов, маскирования, создания различных цветовых эффектов, имитирующих определенные художественные техники.
В программах векторной графики объекты и изображения, которые сохраняются в виде геометрического описания, существуют независимо друг от друга, что позволяет в любой момент изменять слой, расположение и любые другие атрибуты объекта, создавая произвольную композицию. В таких программах иллюстрации создаются с помощью фигур произвольной формы, их масштабирования, вращения, деформации, а также степени прозрачности и цветовой заливки. Современные программы векторной графики содержат также инструменты для работы с растровыми изображениями и текстами.
Трехмерная графика реализуется путем создания каркасов объектов, определения обтягивающих их материалов, компоновки всех объектов в единую сцену, установки освещение и точку визуализации - камеру. Для трехмерной анимации необходимо настроить перемещения объектов сцены и задать количество кадров. Движение объектов в трехмерном пространстве задается по траекториям, ключевым кадрам и с помощью формул, связывающих движение частей сложных конструкций. После задания нужного движения, освещения и материалов запускается процесс визуализации, в ходе которого просчитываются характеристики всех объектов сцены и генерируется последовательность изображений. Двухмерная анимация также использует традиционный покадровый принцип, только для создания последовательности используются двумерные изображения.
Для редактирования видео существует большое количество программных продуктов. Профессиональные видео-редакторы позволяют редактировать несколько видео- и звуковых каналов и осуществлять монтаж видеофрагментов в единую композицию. Они содержат наборы переходов между кадрами, синхронизируют звук и изображение, а также поддерживают редактирование и сохранение наиболее популярных форматов видеофайлов.
Программы для работы со звуком можно условно разделить на две большие группы: звуковые редакторы, ориентированные на цифровые технологии записи звука, и программы-секвенсоры.
Секвенсоры предназначены для создания музыки, с их помощью выполняется кодировка музыкальных композиций, они используются для аранжировки, позволяя прописывать отдельные партии, назначать тембры инструментов, выстраивать уровни и балансы каналов, вводить музыкальные штрихи. Звуковые редакторы позволяют записывать звук в режиме реального времени на жесткий диск компьютера и преобразовывать его, используя возможности цифровой обработки звуковых частот и объединения различных каналов.
Средства создания презентаций, первоначально предназначенные для создания электронных слайдов, помогающих иллюстрировать сообщение докладчика, теперь все более ориентируются на применение мультимедиа. Существует большое количество таких программ, различающихся набором изобразительных и анимационных эффектов, способов управления презентаций и набором поддерживаемых мультимедиа файлов для импорта в качестве содержимого слайдов. По сути, презентация является информационным продуктом, объединяющим все мультимедиа форматы в одно целое.
Перспективы мультимедиа разнообразны, области применения будут расширяться, в том числе, благодаря появлению новых информационных технологий и способов обработки информации. Грамотное сочетание мультимедиа с другими технологиями будет способствовать более динамичному их развитию и еще большей интеграции во все сферы общества.
Для того, чтобы реализовывать эффектные и полезные мультимедиа приложения с использованием технологии Intel Perceptual Computing, в первую очередь, необходимо четко определить, какие именно мультимедиа форматы и в какой степени будут задействованы в конкретном приложении и какие технологии нужны для работы с этими мультимедиа форматами. Успех таких приложений будет в большей степени зависеть от того, насколько разработчики опытны в использовании тех или иных подключаемых библиотек функций, с помощью которых происходит обработка мультимедиа потока. Такое приложение будет полезно пользователю только в том случае, если оно корректно обрабатывает мультимедиа содержимое и является правильно реализованным с технической точки зрения. Поэтому, прежде чем начинать разработку мультимедиа приложения с использованием Intel Perceptual Computing, необходимо детально изучить принципы и особенности технологии обработки мультимедиа потоков, библиотеки функций и примеры программ. Только при условии, что управление с помощью технологии Intel Perceptual Computing будет дополнять полезный и корректно работающий мультимедиа-функционал, разработчику удастся воплотить все преимущества от синергии мультимедиа и Perceptual Computing.
5.2. Преимущества от использования Intel Perceptual Computing SDK при разработке мультимедиа приложений
Поскольку технология Intel Perceptual Computing позволяет создавать совершенно новый тип человеко-компьютерных интерфейсов, можно говорить о появлении нового поколения мультимедийных приложений, имеющих гораздо более широкий спектр возможностей по обработке различных типов файлов и потоков данных. Управление мультимедиа файлами теперь выходит за рамки классических представлений о взаимодействии человека и компьютера и превращается в увлекательный творческий процесс. Использование технологии Perceptual Computing увеличивает степень интерактивности мультимедиа приложений, которые сами по себе являются действенным инструментом вовлечения. Симбиоз технологий мультимедиа и Perceptual Computing особенно эффективен в образовательной и развлекательной сферах человеческой деятельности, но также может быть применим в коммерческих и рекламных целях, на различных презентациях и демонстрациях.
При грамотном сочетании двух технологий готовые приложения позволяют как решать простые и бытовые пользовательские задачи, так и выступать в качестве гибкого и сложного инструмента в различных сферах, включая медиа-искусство и digital-индустрию. С помощью Perceptual Computing можно облегчить управление сложными программными комплексами, где используется несколько мультимедиа технологий и сделать параллельную работу, например, с графикой и звуком, более удобной для пользователя. При продуманной агрегации нескольких мультимедиа технологий в одном приложении пользователю предоставляется больше возможностей для работы с цифровой информацией, что только усиливается при использовании жестового или голосового управления.
Одним из наиболее распространенных способов комбинирования технологий мультимедиа и Perceptual Computing является создание различных симуляторов, которые позволяют тренировать определенные навыки, в том числе симуляторы игры на музыкальных инструментах. Приложения, позволяющие пользователю играть на виртуальных музыкальных инструментах, не являются принципиально новыми, однако использование жестового интерфейса позволяет достигнуть гораздо большей реалистичности. Еще одни преимуществом таких симуляторов перед стандартными нежестовыми реализациями является возможность параллельного управления приложением двумя руками, что также приближает виртуальные музыкальные инструменты к реальным.
Простейшим примером музыкального симулятора является приложение Drummer, которое позволяет имитировать игру на ударных ( рис. 5.1). Основная функция приложения - запись звуковой и нотной дорожки. Пользователь может скомпоновать ударную установку из нескольких предметов, начать сеанс записи, остановить запись. В управлении симулятором используются жесты обеих рук. Предпочтение отдано динамическим жестам, с помощью жестов захвата происходит перемещение объектов приложения, двойной жест "большой палец вверх" используется для остановки записи. Голосовое управление в приложении не предусмотрено.
Другой вариант применения Intel Perceptual Computing - дирижер виртуального оркестра ( рис. 5.2). Приложение следит за частотой и размером жестов пользователя и в зависимости от этих характеристик меняет громкость и скорость звучания воспроизводимой музыкальной дорожки. Управление программой осуществляется с помощью характерных дирижерских жестов, причем жесты должны соответствовать размеру музыкального такта проигрываемой композиции. По факту, программой распознаются последовательности горизонтальных и вертикальных взмахов, из которых состоят движения дирижера. Дополнительной функциональностью является графическое отображение активных в данный момент партий оркестра. Аналогичное приложение можно реализовать как надстройку над любой популярной программой, читающей и воспроизводящей нотные табулатуры.
Поскольку разработчики ничем не ограничены в выборе мультимедиа технологий и способах их использования, возможны более функционально сложные реализации музыкальных симуляторов, предназначенных как для обучающих, так и досуговых целей, сочетающих в себе несколько мультимедийных технологий. Возможно создание симуляторов с различными уровнями сложности или использующих дополнительные устройства, такие как портативный мультимедиа проектор. Качественным примером такого приложения может быть программный комплекс, обучающий пользователя игре на виртуальном пианино. Отображая с помощью проектора виртуальные клавиши на горизонтальной поверхности, приложение изменяет цвет клавиш, на который нужно нажать в тот или иной момент проигрываемой композиции. При этом отслеживаются движения рук пользователя и закрываемые его пальцами клавиши. По "нажатию" клавиши воспроизводится соответствующий звук, что дает понять пользователю, насколько верно он играет композицию. Также к основному функционалу можно добавить отображение нот и перемещающейся метки проигрывателя. Более простая реализация такого типа приложений - имитация игры на ксилофоне.
Другой тип мультимедиа приложений с главенствующей музыкальной составляющей - синтезаторы. Они применимы, в основном, в развлекательных целях, но их жестовые реализации потенциально могут стать неотъемлемым атрибутом digital-искусства. Одной из реализаций такого типа синтезаторов является приложение JOY ( рис. 5.3). При его разработке использовались не только аудио технологии, но и различный инструментарий для графического моделирования и генерирования изображений. При старте приложения пользователь выбирает аудиокомпозицию и запускает воспроизведение. Композиция состоит из 10 дорожек, управление которыми происходит с помощью поднятия и опускания пальцев. Изменение расстояния между кистей рук меняет эффект реверберации (отражения) звука. Вертикальное перемещение ладоней в разные стороны регулирует частоту колебаний, баланс звука и эхо изменяются при отдалении и приближении ладоней к камере с сенсорами глубины. Параллельно происходит управление видеорядом. На экране точками отображаются активные звуковые дорожки, геометрические объекты также зависят от количества поднятых пальцев, распознанных приложением, и пульсируют в соответствии с ритмом воспроизводимой композиции.
Управление генерацией видеоряда в режиме реального времени может быть реализовано как отдельное приложение. В данном случае основной функциональностью станет генерация последовательности изображений, регулируемая голосовыми и жестовыми командами пользователя. Многообразие инструментов для работы с графическими данными способствует созданию огромного множества подобных приложений, различающихся способами генерации изображений и подходами к управлению этими процессами. В первую очередь, следует подразделить такие приложения по типу генерируемой графики на двумерные и трехмерные. От того, какой вид графики выбран, будут зависеть сложность реализации, спектр возможностей приложения и количество управляющих команд.
Реализация приложений, генерирующих видеопоток из двумерных изображений, является более простой и подходит для разработчиков, которые только начинают знакомиться с технологиями и инструментами обработки графики. Видеопоток, создаваемый с помощью таких приложений, содержит в основном абстрактные графические образы, которые деформируются и изменяются с течением времени. Существует большое количество различных библиотек, содержащих классы и методы для работы с графическими объектами, их свойствами и характеристиками, использование которых упростит создание анимационной части приложения. В данном случае реализация управления через жестовый интерфейс осуществляется путем разделения функций редактирования свойств графического объекта с функциями изменения траектории и скорости его движения. Для облегчения управления приложением и создания гармоничной анимации рекомендуется выделять один главный графический объект, а поведение всех остальных реализовывать как зависимое от характеристик и свойств главного объекта. В качестве примера распределения функций управления графическим объектом можно рассмотреть вариант, когда размер объекта и его положение на экране регулируется жестами одной руки, а такие характеристики, как цвет, форма, угол вращения задаются с помощью жестов другой руки. Дополнительной функцией такого приложения может быть сохранение сгенерированного видеопотока в файл с возможностью последующего воспроизведения с помощью любого мультимедиа проигрывателя.
Генерация трехмерного видеопотока в режиме реального времени ( рис. 5.4) осуществляется по сходному принципу, однако, является более сложной задачей, поскольку требует от разработчика понимания принципов построения трехмерных изображений и продвинутых навыков работы с 3D-библиотеками. Графическая составляющая такого приложения может быть реализована как пространственное движение скопления нескольких однородных объектов с варьирующимися свойствами, например, несколько не одинаковых по размеру кубов разных оттенков зеленого или более сложные трехмерные модели, например, имитация хаотично движущейся стаи рыб. Для удобства реализации функций управления графикой рекомендуется задавать в скоплении один главный элемент, а все параметры всех остальных объектов ставить в зависимость от положения и состояния главного объекта.
Управление свойствами объектов и их местоположением, как и в случае с двумерной графикой, рекомендуется разделять. В данном случае, возможно реализовать дополнительные функции изменения точки обзора путем контроля положения лица пользователя и при наклоне головы поворачивать трехмерную сцену в соответствующую сторону. Также возможно разработать систему голосовых команд, управляющих трехмерной сценой и средой, окружающей основные объекты. Например, можно предусмотреть варианты управления оттенком фона, степенью освещенности и прозрачностью объектов, моделированием дополнительных эффектов, имитирующих с помощью различных текстур различные явления реального мира, например, морскую воду, ураганный ветер, сильное пламя. Аналогичный прием будет приемлем и для приложений, генерирующих двумерный видеоряд. Информация о доступных дополнительных визуальных эффектах и способах управления ими должна быть продемонстрирована пользователю до непосредственного запуска процесса генерации видео. Таким образом, приложение, генерирующее в режиме реального времени 3D-видео, обладает некоторыми свойствами трехмерного графического редактора.
В качестве более канонической версии редактора трехмерной графики возможно реализовать приложение, осуществляющее создание пространственных 3D-объектов. Для качественной разработки таких типов приложений также необходимы знания в области использования библиотек трехмерной графики. Элементарный трехмерный графический редактор ( рис. 5.5) обеспечивает функциональность по созданию и редактированию объемных тел из простейших элементов, а также индивидуальное задание свойства цвета для каждого элементу, из которого состоит создаваемое тело. Контроль над приложением осуществляется с помощью двух курсоров, которые управляются простейшими жестовыми командами - двумя раскрытыми ладонями и движениями указательными пальцами. Трехмерный объект создается из базовых элементов - кубов единого размера, для каждого из них существует возможность определения цвета из палитры-спектра. Реализованы такие возможности управления трехмерным рабочим пространством, как вращение вокруг объекта, приближение, отдаление и перемещение по осям координат. Функции навигации по объекту с определением цветовых характеристик и непосредственного создания и редактирования объемного объекта для удобства разделены и выполняются жестами разных рук. Режимы редактирования переключаются с помощью кнопок на верхней панели. Переключение между цветовой палитрой и стрелками навигации по пространству, которые расположены в одном блоке, также происходит с помощью кнопок. Также в приложении реализована функция сохранения видимого изображения, экспорт 3D-модели не предусмотрен.