В статье рассматриваются два подхода к анализу мультимедийной информации: контентный, и контентно-интерпретационный. Также в статье изложены основные правила и приведены примеры конструкций и спецификаций языка описания алгоритмов анализа графической информации - M-Lang.
Опираясь на наблюдения и исследования развития интернета в последние годы [1], можно сделать выводы о превалирующем числе новых технологий хранения, вывода, обработки и поиска мультимедиа и графической информации по сравнению с простейшим, текстовым её видом. Причины этого очевидны: повышение пропускной способности соединения, увеличение вычислительных мощностей и дисковых пространств, высокая конкуренция владельцев ресурсов в условиях развивающейся среды для коммерции (потенциал которой будет исчерпан еще не скоро).
Помимо этого, благодаря простой идее, хорошей рекламе, новизне и продуманному исполнению, большую популярность набрали такие успешные ресурсы, как «FaceBook», «Twitter», «YouTube», и их российские аналоги «ВКонтакте» и «Одноклассники». Таким образом, сформировались два определяющих условия для развития новой информационной сущности - «Макромедиа» технологии.
В общем случае, макромедиа – это набор технологии передачи, хранения, обработки, отображения, анализа и интерпретации мультимедиа контента. Макромедиа характеризуется: поточность отображения, то есть одновременной передачей пользователю и отображением на его стороне; преимущественно мультимедийным (видео\аудио) характером информации; процессами интерпретации, анализа и сопоставления этой информации. Задачи передачи, хранения, обработки и отображения, сами по себе, являются хорошо изученными, вопрос же анализа мультимедийной информации остается открытым.
Контентный метод анализа
В самом общем случае, задача анализа мультимедийной информации схожа с задачей анализа информации текстовой. Анализ текста, тем не менее, гораздо более простой процесс, хотя бы потому, что не стоит необходимость интерпретации данных в какое либо удобное для анализа представление на другом уровне абстракции. Так же задачу упрощает небольшой относительно графической информации порядок размеров данных.
Пример 1.
На сервер были загружены два текстовых файла:
A.txt |
B.txt |
На дворе трава, на траве дрова. |
Дрова березовые, недорого. Самовывоз со двора. Тел. 123-45-67 |
Простейший анализ релевантности будет происходить так:
Система разбивает каждый файл на массив лексем, убирает служебные слова, знаки препинания, и осуществляет двусторонний поиск лексем из одного файла в другом, с учетом морфологии. В результате между файлами будет найдена и отражена в поисковом индексе связь по словам «дрова» и «двор».
Конечно, современные технологии анализа текстовой информации значительно, в десятки раз сложнее, и оперируют множеством параметров, но суть их остается прежней – интерпретировать файлы в структуры и сравнивать содержимое.
Более сложной является задача анализа мультимедийной информации.
Пример 2.
На сервер были загружены два изображения:
A.bmp |
B.bmp |
Сравнение файлов по содержимому напрямую ничего не даст – с точки зрения машины это разные изображения, но на самом деле – нет.
На этом этапе появляются два подхода к решению этой проблемы:
Контентный метод анализа - это относительно простой подход, позволяющий определить и измерить схожесть данных, но не более. Суть подхода аналогична примеру 1: разбить данные на составные части и сравнить их напрямую. В примере 2 это будет выглядеть так:
A.bmp |
B.bmp |
50% |
|
25% |
|
25% |
Таким образом, при сравнении без учета трансформаций (в данном случае – отражения по горизонтали третьего элемента) изображения идентичны на 75%, а с учетом трансформации – идентичны на 100%. Запишем это как «{А,В}(75/100)» и будем в дальнейшем придерживаться такой записи (мы назвали её языком M-Lang). Во втором случае можно делать выводы о принадлежности обоих изображений к некоему множеству. Например, «смайл». Тут появляется второй подход.
Контентно-интерпретационный
Суть подхода заключается в интерпретации составных частей мультимедийных данных в некие понятия на формальном языке, и строить отношения между этими понятиями. Основное достоинство этого подхода – обучаемость системы. Следует обратить внимание, что композиция\декомпозиция могут происходить неограниченное число раз, тоже касается и количества возможных рекурсий и\или итераций в процессе анализа. Рассмотрим простейший случай.
Для иллюстрации расширим пример 2 понятием «тэги» и построим общую таблицу всей имеющейся у нас информации.
Пример 3.
A.bmp |
B.bmp |
С.bmp |
|
||
Тэги |
||
смайл |
грусть |
смайл |
Составные части: |
||
a3 25% |
Далее, используя понятия веса, вероятностей и статистики, предикативной и булевой логики, опишем ход работы системы в терминах M-Lang. M-Lang – это разрабатываемый автором язык описания алгоритмов, правил и спецификаций распознавания, анализа и интерпретации графической информации.
Основные правила и конструкции языка M-Lang:
{O1,…,On} – совместный набор объектов.
{O1,…,On}(К) – объекты совместно идентичны на К процентов
O1[(N)“word”] – объект O1 имеет тег word, при этом вес объекта в теге равен N
O1={P1, P2, P3} – объект O1 состоит из объектов P1, P2, P3
{O1|…|On} – объекты принадлежат множеству.
Так же в языке допустимы операторы и преобразования булевой логики и предикативной логики.
Можно использовать правила нечеткой логики.
Следует уточнить, что под объектами подразумевается некая обособленная и однозначная на текущем уровне абстракции сущность, к примеру: изображение, часть изображения, утверждение, описывающее что либо. Объект состоит из других объектов, и так же является частью объекта. Проводить декомпозицию изображения можно сколько угодно подробно, однако рационально делать это до того момента, как перестанут появляться неоднозначные наборы объектов.
Рассмотрим пример описания процесса распознавания изображений, основываясь на рисунке из примера 3.
Формула |
Расшифровка |
{A,B,C}(75/75) |
Объекты А,В и С совместно идентичны на 75% без учета трансформации и на 75% с учетом трансформации. |
{A,B}(75/100) |
Объекты А и В совместно идентичны на 75% без учета трансформации и на 100% с учетом трансформации. |
{A[“смайл”],C[“смайл”]}(75/75) |
Объект А имеет явный тег «смайл», объект С имеет явный тег «смайл», при этом объекты А и С совместно идентичны на 75% без учета трансформации и на 75% с учетом трансформации. |
А={а1(50%);а2(25%);а3(25%)} или {а1(50%);а2(25%);а3(25%)}=А |
Объект А состоит из частей а1, а2 и а3 в пропорции 2\1\1 или части а1,а2 и а3, в пропорции 2\1\1 составляют объект А. |
{a1(50%);a2(25%);a3(25%)}[“смайл”] |
а1, а2 и а3, объединенные в пропорции 2\1\1 имеют явный тег смайл, следовательно утверждение Т0: часть а1 имеет 50 вес в теге «смайл», а2 имеет 25 вес в теге «смайл», а3 имеет 25 вес в теге «смайл». |
{b1(50%);b2(25%);b3(25%)}[“грусть”] |
b1, b2 и b3, объединенные в пропорции 2\1\1 имеют явный тег грусть, следовательно утверждение Т1: часть b1 имеет 50 вес в теге «грусть», b2 имеет 25 вес в теге «грусть», b3 имеет 25 вес в теге «грусть». |
{с1(50%);с2(25%);с3(25%)}[“смайл”] |
с1, с2 и с3, объединенные в пропорции 2\1\1 имеют явный тег смайл, следовательно утверждение Т2: часть с1 имеет 50 вес в теге «смайл», с2 имеет 25 вес в теге «смайл», с3 имеет 25 вес в теге «смайл». |
T3:{a1,b1,c1}(100/100) |
Утверждение
Т3: Части а1,b1
и с1 идентичны на 100% без учета трансформации и на 100% с учетом
трансформации. |
T1
v
T2
->
T5: |
Исходя
из объединения утверждений T1,T2,T3
и T4
следует утверждение Т5: |
T5 v T3 v T4 -> b1[(100)“смайл”] v b2[(50)“смайл”] -> B[(100)“грусть”][(150)“смайл”] |
Исходя из объединения утверждений Т5,Т4 и Т3 следует утверждение, что части b1 и b2 имеют в теге «смайл» вес 100 и 50 соответственно, следовательно объект B имеет явный тег грусть, и неявный тег «смайл» с весом 150. |
Таким образом, объекту Б на основе сравнения и интерпретации контента был присвоен тег «Смайл».
Данный пример тривиальный, а грамматика языка M-Lang – упрощена. Не учитываются, например, положение частей в пространстве, цвет, качество, формат, кодеки и механизм сжатия входных файлов, для видео файлов – протяженность по времени. Отдельная спецификация языка потребуется для анализа аудио потоков. Однако, дальнейшие разработки, автор уверен, позволят превратить M-Lang в мощный инструмент моделирования и создания правил анализа и интерпретации мультимедийной информации.
Основные достоинства M-lang
Простота грамматики языка.
Использование широкого спектра универсальных понятий, таких как вероятности, веса, нечеткая логика и др.
Язык легко интерпретировать как на формальные языки, так и на алгоритмические.
Язык можно использовать как для разработки целого алгоритма или общих правил, так и для верификации уже готовых систем, в том числе разработанных без применения описания на M-Lang.
Простота в понимании.
По причине отсутствия стандартов и более-менее действующих технологий с открытым кодом, остро назрела необходимость создания модели разработки и описания алгоритмов анализа и интерпретации мультимедиа информации. Таким языком может стать разрабатываемый автором M-Lang, использующий для описания правил и алгоритмов элементы алгоритмических и функциональных языков разработки, методы теории вероятностей и математической статистики, булевой алгебры и предикативной логики. Основное достоинство этого языка – простота в трансляции, как на алгоритмические, так и на естественные языки.
Литература:
А.А.Давыдов «Развитие Интернет-технологий - вызов современной российской социологии» http://www.isras.ru/index.php?page_id=957