close

Вход

Забыли?

вход по аккаунту

?

783.Информатика

код для вставкиСкачать
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«ОРЛОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«ОРЛОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»
ИНФОРМАТИКА
Часть 3
Методы, модели и средства обработки
графической информации
Книг а 2
Рекомендовано Учебно-методическим объединением вузов
Российской Федерации по образованию в области историкоархивоведения
в качестве учебника для студентов высших учебных заведений,
обучающихся по специальностям
090103 «Организация и технология защиты информации»
и 090104 «Комплексная защита объектов информатизации»
Орел 2009
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
УДК 002.6-027.21+004.92](075)
ББК 32.81я7
И74
Рецензенты:
доктор технических наук, профессор учебно-научного комплекса
«Автоматизированные системы и информационные технологии»
Академии Государственной противопожарной службы МЧС России
Н.Г. Топольский,
доктор физико-математических наук, декан факультета «Компьютерные
системы и информационные технологии» Российского нового университета
А.С. Крюковский
И74
Информатика. В 3 ч. Ч. 3. Книга 2. Методы, модели и
средства обработки графической информации: учебник для
вузов / А.П. Фисун, В.А. Минаев, И.С. Константинов, А.В.
Коськин, В.Т. Еременко, В.А. Зернов, ЮА. Белевская, С.В.
Дворянкин; под общей научной редакцией А.П. Фисуна, В.А.
Минаева, И.С. Константинова, А.В. Коськина, В.А.Зернова. –
Орел: ОрелГТУ, ОГУ, 2009. – 274 с.
ISBN 978-5-93932-309-3
В учебнике рассмотрены теоретические основы компьютерной
графики, ее методологический базис.
Системно изложены фундаментальные знания о составной части
теоретических основ информатики – методологии обработки графической информации и визуализации данных, являющейся научным
базисом разработки новых информационных технологий и современных информационных телекоммуникационных систем.
Материал рассчитан на специалистов и ученых, а также на широкий круг читателей и студентов, обучающихся в области новых
информационных технологий, информационных телекоммуникационных систем, информационной безопасности объектов информатизации и других социотехнических систем информационной сферы.
УДК 002.6-027.21+004.92](075)
ББК 32.817
ISBN 978-5-93932-309-3
 ОрелГТУ, 2009
 ОГУ, 2009
2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
6
Глава 12. МЕТОДЫ СИНТЕЗА РЕАЛИСТИЧНЫХ
ИЗОБРАЖЕНИЙ
12.1. Синтез теней
12.2. Метод излучательности
12.3. Глобальная модель освещения с трассировкой лучей
12.4. Текстурирование
Контрольные вопросы
Глава 13. ОСНОВЫ СИНТЕЗА ДИНАМИЧЕСКИХ
СЦЕН. КОМПЬЮТЕРНАЯ АНИМАЦИЯ
13.1 Понятие анимации. Классификация способов анимации
13.2 Виды анимации
13.3 Анимация иерархических объектов
Контрольные вопросы
9
9
13
15
24
29
30
30
31
45
46
РАЗДЕЛ 3
ТЕОРЕТИЧЕСКИЕ ОСНОВЫ
ОБРАБОТКИ ИЗОБРАЖЕНИЙ
Глава 14. ОСНОВНЫЕ ПОНЯТИЯ ЦИФРОВОЙ ОБРАБОТКИ
ИЗОБРАЖЕНИЙ
14.1. Постановка задачи обработки изображений
14.2. Классификация методов цифровой обработки
и анализа изображений
14.3. Детерминированное описание изображения
14.4. Статистическое описание растрового изображения
Контрольные вопросы
Глава 15. МАТЕМАТИЧЕСКИЕ ОСНОВЫ ОБРАБОТКИ
ИЗОБРАЖЕНИЙ
15.1. Общая модель обработки изображений
15.2. Линейные фильтры и свертки
15.3. Нелинейная фильтрация
15.4. Обработка изображения на основе дискретного
преобразования Фурье
15.5. Статистические методы обработки изображений
15.6. Прикладные задачи обработки изображений
Контрольные вопросы
3
48
48
48
48
50
52
52
53
53
53
60
63
66
68
79
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Глава 16. ОСНОВЫ ПРЕОБРАЗОВАНИЙ РАСТРОВЫХ
ИЗОБРАЖЕНИЙ
16.1. Основные понятия метаморфического
пеобразования изображений
16.2. Морфирование геометрических объектов
16.3. Простейшая реализация метаморфических
преобразований растровых изображений
16.4. Преобразования на основе характеристических линий
16.5. Интерполяция цвета «промежуточных» пикселей
изображения
16.6. Преобразование на основе характеристических кривых
Контрольные вопросы
Глава 17. ОСНОВЫ ПОНИМАНИЯ ИЗОБРАЖЕНИЙ
(КОМПЬЮТЕРНОЕ ЗРЕНИЕ)
17.1. Основные понятия
17.2. Восстановление границ
17.3. Преобразование Хафа
17.4. Поиск при выделении контурных сегментов
17.5. Интерпретация контурных рисунков
17.6. Синтаксический метод распознавания
17.7. Обучение распознаванию образов. Персептроны
17.8. Выделение признаков изображения при анализе сцен
17.9. Общие принципы распознавания текстовой информации
Контрольные вопросы
Глава 18. АЛГОРИТМЫ СЖАТИЯ ИЗОБРАЖЕНИЙ
18.1. Постановка задачи сжатия изображений
18.2. Классификация методов сжатия изображений
18.3. Характеристика и содержание современных
алгоритмов сжатия изображений
18.4. Сравнительный анализ алгоритмов сжатия изображений
Контрольные вопросы
80
80
81
86
90
93
94
94
96
96
97
99
102
106
111
114
115
118
119
121
121
122
125
150
152
РАЗДЕЛ 4
ПРИКЛАДНЫЕ АСПЕКТЫ КОМПЬЮТЕРНОЙ 154
ГРАФИКИ
Глава 19. ИЛЛЮСТРАТИВНАЯ, ДЕЛОВАЯ ГРАФИКА
И ДИЗАЙН
154
19.1. Особенности и классификация задач иллюстративной
графики
154
4
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
19.2.
19.3.
19.4.
19.5.
Глава 20.
20.1.
20.2.
20.3.
20.4.
20.5.
20.6.
20.7.
Глава 21.
21.1.
21.2.
21.3.
21.4.
Глава 22.
22.1.
22.2.
22.3.
Прикладные системы иллюстративной графики
Особенности и классификация задач деловой графики
Прикладные системы деловой графики
Основные задачи компьютерного дизайна
Контрольные вопросы
КОГНИТИВНАЯ ГРАФИКА
Введение в когнитивную компьютерную графику
Дуализм человеческого мышления
Классификация задач использования компьютерной
графики в научных исследованиях и при обучении
Методы получения знаний на основе графического
представления информации
Иллюстративная и когнитивная функции
компьютерной графики
Задачи когнитивной компьютерной графики
Алгоритмы визуализации
Контрольные вопросы
ГРАФИЧЕСКИЙ ИНТЕРФЕЙС ПОЛЬЗОВАТЕЛЯ
Основные понятия и обоснование необходимости
построения графического интерфейса пользователя
Основные принципы организации графического
интерфейса пользователя
Методика построения графического интерфейса
пользователя
Средства построения графического интерфейса
пользователя
Контрольные вопросы
КОМПЬЮТЕРНАЯ ГРАФИКА
И ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ
Манипулятивные технологии и их отражение
в компьютерной графике
Компьютерная стеганография
Идентификация пользователей в вычислительной
системе
Контрольные вопросы
ЛИТЕРАТУРА
5
155
165
169
173
180
181
181
188
190
193
195
197
200
210
211
211
215
217
227
234
235
235
244
255
260
262
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ВВЕДЕНИЕ
Учебник разработан в рамках программы естественнонаучной
учебной дисциплины «Информатика», действующего государственного образовательного стандарта высшего профессионального образования 090103 – «Организация и технология защиты информации» и
090104 – «Комплексная защита объектов информатизации» и входит в
серию задуманных авторами учебных изданий для технических и информационных направлений подготовки специалистов информационной сферы. Особенностью предлагаемого учебника «Информати ка.
Часть 3. «Методы, модели и средства обработки графической информации» является то, что он дополняет, расширяет и углубляет знания,
изложенные в духтомном издании учебника: «Информатика. Часть 1.
«Методологические и технологические основы», Часть 2. «Организационные и технико-экономические основы», а также развивает содержание программы искомой учебной дисциплины по следующим ее
вопросам:
– научно-технический прогресс и информатизация информационного общества;
– информационное обеспечение науки, техники, производства
и управления;
– формирование и эффективное использование информационного ресурса и потенциала;
– обработка информации, ее источники и свойства;
– информационные системы и технологии.
Кроме этого, учебник содержит сведения по отдельным темам
вопросам программы дисциплины «Информатика» ряда групп специальностей 230000 – «Информатика и вычислительная техника»,
220000 – «Автоматика и управление» и отдельных специальностей.
014100 – «Микроэлектроника и полупроводниковые приборы».
080801 – «Прикладная информатика (по областям)» и др., а также
программ дисциплин для подготовки научно-педагогических кадров
по специальностям 05.13.17 – «Теоретическая информатика», 05.13.19
– «Методы и системы защиты информации, информационная безопасность».
Предлагаемый третий том учебника, входя важной составной
частью не только в учебник информатики, но и в серию учебных изданий, объединенных системным замыслом достаточно полного представления знаний о содержании информации, ее значимых для деятельности человека и общества аспектах, и, прежде всего, одного из ее
основных свойств – безопасности, позволяет углубить не только фундаментальные знания по информатике, но и дает представление, обоснование направления развития государственных образовательных
6
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
стандартов высшего профессионального образования по информационным и другим специальностям в части введения в них в качестве
отдельной учебной дисциплины «Компьютерная графика», содержание которой представляет знания, в условиях развития информационного общества являющиеся эффективным инструментом обработки
лавинообразного потока информации во всех сферах и видах деятельности личности, общества и государства, и реализации визуальнотренинговой концепции подготовки специалистов развивающегося
информационного общества.
Основной целью учебника является представление системных
знаний по составной части теоретических основ информатики – методологии обработки графической информации и визуализации данных,
являющейся научно-методологическим базисом разработки новых
информационных технологий, составляющих материальную основу
построения современных информационных телекоммуникационных
систем и, в целом, объектов информатизации развивающегося информационного общества.
Содержание учебника разработано на основе научных, учебных, методических материалов, публикаций известных отечественных
и зарубежных ученых и специалистов, приведенных в библиографии,
а также научных результатов, практического опыта по подготовке
специалистов, прочитанных лекций и разработанных авторами учебных, учебно-методических материалов в области информатики, вычислительной техники, информационных систем и обеспечения их
информационной безопасности. Новизна издаваемого учебника характеризуется следующими отличительными особенностями:
системным изложением фундаментальных вопросов информатики и ее составной части – компьютерной графики;
углубленной методической систематизацией результатов существующих научных направлений в области теоретической и прикладной информатики и компьютерной графики;
отражением логических причинно-следственных связей изучаемой дисциплины с другими научными направлениями информационной сферы, а также учебными дисциплинами рассматриваемых специальностей;
структурированностью изложенного учебно-методического
материала на уровне принципов, методов, моделей, алгоритмов.
Представленная структура книги включает четыре части, в которых раскрыты основные направления формирования и развития
важнейшего направления информатики – компьютерной графики как
научного направления и составной части учебной дисциплины «Информатика», раскрывающей теоретические основы синтеза и обработки изображений, а также прикладные аспекты компьютерной графики.
7
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Книга знакомит читателя с макроаспектами компьютерной
графики, представленными в рамках решения проблем информатизации, формирования и развития информационного общества, информационного потенциала и ресурсов их защиты от информационных
угроз. Это обусловливает рассмотрение содержания теоретических
основ компьютерной графики в том числе и через призму обеспечения
информационной безопасности информационной сферы.
С учетом истории и практики развития информационной сферы рассмотрены структура компьютерной графики, ее место в теоретической информатике и в других фундаментальных науках, а также
понятия объекта и предмета компьютерной графики, ее задачи и содержание, в том числе и при подготовке специалистов информационной сферы. Показана важность формирования и развития предметной
области компьютерной графики, фокусирующей в себе современные
достижения информационной науки для развития информационной
науки в целом.
Особенностью книги является то, что в силу значительного акцента ее содержания на теоретические аспекты учебник обеспечивает
потребности не только студентов, но и научных работников, аспирантов, исследующих проблемы информатики и информационной безопасности, а также преподавателей высшего и послевузовского профессионального образования.
Содержание учебника основано на систематизации материалов
различных литературных источников, результатах исследований авторов в области информатики и обеспечения информационной безопасности, авторских разработках по проблемам информатики и информационной безопасности, а также на базе курсов лекций, прочитанных
авторами в ряде вузов России.
Авторы благодарят за участие в совместной работе над отдельными главами и параграфами в учебника: Фролова А.И. (глава 4),
Савенкова А.Н. (главы 5-7), Артемова А.В. (глава 8), Волкова В.Н.
(главы 9-10), Лунева Р.А. (глава 11), Мозгова С.С. (глава 12), Терентьева С.В. (глава 13), Бизина И.С. (главы 14, 16) , Митина А.А. (глава
17), Рыженкова Д.В. (глава 19), Стычука А.А. (глава 20), Кизимову
Н.А. (глава 21), Гращенко Л.А. (глава 21), Фисуна Р.А. (глава 21), Лебеденко Е.В. (глава 22), Жусова Д.Л. (глава 22), Лобанову В.А. (глава
22), Баранова И.Ю. (главы 3, 5, 8-10, 12-15, 17, 19, 22), Джевага К.А.
(главы 1, 2, 5-11, 14, 15, 19-24), Семашко Е.А. (глава 18).
Авторский коллектив: Минаев В.А. (введение, главы 1, 6, 911, 14, 19), Фисун А.П. (введение, главы 1, 2, 3, 6-8, 11, 14, 18-22)
Зернов В.А.( главы 6, 14, 19), Константинов И. С. (4-7, 10-11, 15-17,
19, 20), Коськин А.В. (главы 3, 4, 6-7, 10-12, 15, 19), Еременко В.Т.
(главы 3, 4, 13, 15, 22), Дворянкин С.В. (глава 3, 7, 13, 15, 17, 19), Белевская Ю. А.(главы 1, 2, 11, 20, 21, 22).
8
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ГЛАВА 12. МЕТОДЫ СИНТЕЗА РЕАЛИСТИЧНЫХ
ИЗОБРАЖЕНИЙ
При построении реалистичных изображений требуется учитывать множество факторов, как физических, так и психологических.
Свет, взаимодействуя с окружающей средой, попадает в глаз, где
в
результате физических и химических реакций преобразуется и воспринимается человеческим мозгом. Восприятие – это приобретаемое
свойство [103].
Зрительному восприятию присущи некоторые особенности,
например, при низкой освещенности, глаз воспринимает предметы как
черно-белые. Известно, что чувствительность глаза к яркости света
изменяется по логарифмическому закону. Пределы чувствительности
к яркости чрезвычайно широки, порядка 1010, однако глаз не способен
воспринимать одновременно весь это диапазон. Глаз реагирует на гораздо меньший диапазон значений относительно яркости, распределенный вокруг уровня адаптации к освещенности. Скорость адаптации к яркости неодинакова для различных частей сетчатки, но, тем не
менее, очень высока. Глаз приспосабливается к «средней» яркости
обозреваемой сцены. Такое восприятие приводит к тому, что область с
постоянной яркостью (интенсивностью) на темном фоне кажется ярче
или светлее, чем на светлом фоне. Это явление называется одновременным контрастом.
Еще одним свойством глаза, имеющим важное значение для
машинной графики, является то, что границы областей постоянной
интенсивности кажутся более яркими, в результате чего области с постоянной интенсивностью воспринимаются, как имеющие переменную интенсивность. Это явление называется эффектом полос Маха.
12.1. Синтез теней
Тени. Простой способ определения объектов, попавших в тень
и, следовательно, неосвещенных, аналогичен алгоритму удаления невидимых поверхностей: те объекты, которые невидимы из источника
освещения, но видимы из точки зрения находятся в тени. На первом
шаге в алгоритме с учетом тени определяются все многоугольники,
видимые из точки освещения. Затем выполняется удаление поверхностей
невидимых из точки зрения. При выполнении закраски многоугольника проверяется, не закрыт ли он многоугольником, видимым из источника освещения. Если да, то в модели освещения учитываются (если
надо) все три компоненты – диффузное и зеркальное отражения и рас-
9
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
сеянный свет. Если же перекрытия нет, то закрашиваемый многоугольник находится в тени и надо учитывать только рассеянный свет.
Прозрачность. В простейшей модели прозрачности преломление не учитывается. При расчетах по такой модели могут использоваться любые алгоритмы удаления невидимых поверхностей, учитывающие порядок расположения многоугольников. При использовании
построчных алгоритмов если передний многоугольник оказывается
прозрачным, то определяется ближайший из оставшихся, внутри которых находится строка сканирования. Суммарная закраска определяется следующим образом:
I = k·Iб + (1-k)·Iд,
где 0 ≤ k ≤ 1 – характеризует прозрачность ближнего многоугольника.
Если k = 1, то он непрозрачен. Если же k = 0, то ближний многоугольник полностью прозрачен; Iб – интенсивность для пиксела ближнего
многоугольника, Iд – дальнего.
Если положения источника света и наблюдателя совпадают, то
теней не возникает, но они появляются, когда наблюдатель перемещается в любую другую точку, удаленную от источника. Наблюдения
показывают, что тень состоит из двух частей: полутени и полной тени.
Полная тень представляет собой центральную, темную, резко очерченную часть. Полутень – это более светлая часть, окружающая полную тень. В машинной графике принято рассматривать только точечные источники, создающие только полную тень. Полутени возникают
при использовании распределенных источников света конечного размера, но из-за больших вычислительных затрат, как правило, производят расчет только полной тени.
Если считать, что наблюдатель находится в одной точке с источником света, то тени в наблюдаемой сцене не возникают: затеняемая область является невидимой (рис. 12.1).
Рис. 12.1. Образование теней
10
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Во всех прочих случаях тени видны. Источник света может
находиться в бесконечности или на конечном расстоянии, причем во
втором случае он может оказаться в поле зрения наблюдателя.
Для бесконечно удаленного источника света тени на картинной
плоскости получаются в результате параллельной проекции объектов,
а для близкого источника – центральной проекции. Объекты и их части становятся невидимыми, если они попадают в область тени, поэтому при построении изображения задача об удалении невидимых
областей решается дважды: относительно наблюдателя в процессе
проецирования и относительно источника света. При определении
расположения теней строятся проекции невидимых с позиции источника света граней (неосвещенных) на картинную плоскость, в результате чего получаются теневые многоугольники. Эти многоугольники
строятся для всех объектов сцены и заносятся в список. Отметим, что
теневые многоугольники не зависят от положения наблюдателя, поэтому при осмотре сцен с различных точек зрения они строятся только один раз. Неосвещенные области могут определяться различными
методами, например, можно применять матрицы проекций в однородной системе координат.
Впервые идея совмещенного анализа видимости и затененности была предложена в 1968 г. Аппелем. В качестве примера рассмотрим один алгоритм на основе построчного сканирования, состоящий
из двух основных этапов [103].
I. Анализ сцены по отношению к источнику света. Для всех
многоугольников, полученных в результате проецирования сцены,
определяются неосвещенные (затененные) участки и теневые
многоугольники (проекционные тени), причем многоугольники образуют пронумерованный список. Для этих многоугольников формируется матрица М=(мij), позволяющая определить, отбрасывает ли многоугольник тень и какие из многоугольников он может закрывать. Если для некоторых значений i,j мij=1, то это означает, что многоугольник с номером i может отбрасывать тень на многоугольник
с номером j.
Таким образом, на этом этапе основным является вопрос об
эффективном алгоритме построения такой матрицы. Если проекция
включает N многоугольников, то необходимо рассмотреть «взаимоотношения» N*(N-1) пар многоугольников. Сократить перебор можно за
счет погружения объектов в прямоугольные или сферические оболочки или путем использования сортировки по глубине.
II. Анализ сцены по отношению к наблюдателю. Выполняются два процесса сканирования. Первый – для определения отрезков,
видимых с позиции наблюдателя. Второй – для определения пересе-
11
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
чений отрезков с теневыми многоугольниками из списка. Рекурсивный алгоритм второго сканирования состоит из четырех основных
шагов для каждого видимого отрезка:
1. Если нет ни одного теневого многоугольника, то отрезок
изображается с основной интенсивностью.
2. Если многоугольник, содержащий видимый отрезок, не
пересекается с теневыми многоугольниками, то отрезок изображается
с основной интенсивностью.
3. Если отрезок полностью закрывается некоторыми теневыми многоугольниками, то интенсивность его изображения определяется с учетом затенения всеми этими многоугольниками.
4. Если несколько теневых многоугольников частично закрывают отрезок, то он разбивается на ряд отрезков точками перес ечения с теневыми многоугольниками.
Этот алгоритм предполагает, что затенение не абсолютное, то
есть затененные участки все-таки являются видимыми, только их
освещенность падает в зависимости от количества и освещенности затеняющих многоугольников. При полном затенении в третьем пункте
алгоритма отрезок становится полностью невидимым, а в четвертом
дальнейшему анализу подвергаются только незатененные отрезки.
Способы расчета интенсивности при неполном затенении могут быть различны. В этом случае все затененные многоугольники
имеют свою интенсивность в зависимости от выбранной модели освещенности. При этом можно учитывать расстояние затененного участка
от поверхности, отбрасывающей тень.
Еще один алгоритм, часто применяемый при построении теней,
носит название метода теневого буфера. Он строится на основе метода
Z-буфера. Теневой буфер – это тот же Z-буфер, только с точки зрения
источника света. Таким образом, используются два буфера: один – для
расстояния от картинной плоскости до точек изображаемой сцены, а
другой – для расстояний от этих же точек до источника света. Алгоритм позволяет изображать сцены с полным затенением
и сводится к двум основным этапам:
1. Cцена рассматривается из точки расположения источника
света в соответствующей системе координат. Итогом построения является полностью заполненный теневой буфер.
2. Сцена рассматривается с точки зрения наблюдателя, применяется обычный метод Z-буфера с небольшим дополнением. Если
точка (x, y, z) является видимой в этой системе координат, то вычисляются ее координаты в системе, связанной с источником света (x`, y`,
z`), затем проверяется, является ли точка видимой с этой позиции. Для
этого значение z` сравнивается со значением, содержащимся в тене-
12
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
вом буфере для этой точки, и в случае видимости значение интенсивности заносится в буфер кадра в точке (x, y).
Оба приведенных алгоритма работают в пространстве изображения, то есть имеют дело с проекциями на плоскость и некоторой
дополнительной информацией о точках сцены, соответствующих этим
проекциям. Существуют алгоритмы, работающие в трехмерном объектном пространстве. В частности, для построения теней используются модификации алгоритма Вейлера-Азертона. Модификация заключается в том, что, как и в случае теневого буфера, задача удаления невидимых граней решается сначала с позиции источника света, а затем полученная информация об объектах используется при построении изображения с позиции наблюдателя. В общих чертах шаги алгоритма можно описать так:
1. Определяются грани, видимые из точки расположения источника света. С целью повышения эффективности запоминается информация только о видимых гранях. Поскольку анализ выполняется в
системе координат, связанной с источником света, то полученные видимые многоугольники затем заново приводятся к исходной системе
координат. Многоугольники связываются с гранями, которым они
принадлежат (в результате затенения одна грань может содержать несколько многоугольников).
2. Сцена обрабатывается из положения наблюдателя. При
изображении видимой грани учитываются только те многоугольники,
которые входят в список, полученный на первом этапе, то есть грань
рассматривается как совокупность таких многоугольников.
При наличии нескольких источников света количество освещенных участков естественным образом увеличивается.
12.2. Метод излучательности
При синтезе реалистичных изображений необходимо учитывать, что освещенность поверхности определяется собственным излучением тела и отраженными лучами, падающими от других тел (источников). Модель излучательности включает оба эти фактора и основана на уравнениях энергетического баланса. При этом выполняемые
расчеты учитывают только взаимное расположение элементов сцены
и не зависят от положения наблюдателя.
Представим сцену из N элементов (участков поверхностей).
Освещенность будем моделировать как количество энергии, излучаемое поверхностью. Для каждого элемента это количество энергии
складывается из собственной энергии ( Ek ) и отраженной доли энергии, полученной от других объектов. Предполагается, что для каждой
пары элементов с номерами i, j можно определить, какая доля энер-
13
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
гии одного попадает на другой (uij ) . Пусть  i – коэффициент отражения энергии i-м элементом. Тогда полная энергия, излучаемая этим
N
элементом, будет определяться уравнением U i  Ei   i  j 1 uijU j .
Таким образом, мы получаем систему уравнений для нахождения
значений U i , которая в матричном виде выглядит следующим образом:
(I  W )  U  E ,
где I – единичная матрица, U и E – векторы излучаемой и собственной
энергий, а матрица W состоит из элементов  i uij . Поскольку часть излучения элемента может не попадать ни на один из оставшихся, то
N
 uij  1 ,
i 1
а это условие в сочетании с тем, что  i  1 (отражение не является
полным), приводит к тому, что матрица системы имеет так называемое диагональное преобладание, т.е. диагональный элемент по абсолютной величине больше, чем сумма остальных элементов строки. В
таком случае система уравнений имеет решение, которое можно найти
с помощью численных методов.
Итак, шаги алгоритма изображения сцены сводятся к следующим:
Сцена разбивается на отдельные участки, для каждого из которых определяются значения Ei ,i , uij , j=1, 2, …, N.
Находятся значения Ui для каждой из трех основных компонент цвета.
Для выбранной точки наблюдения стоится проекция с удалением невидимых граней и осуществляется закрашивание, использующее значения Ui для задания интенсивности. При этом могут использоваться какие-либо алгоритмы, позволяющие сгладить изображение.
Сложным моментом в модели излучательности является расчет
коэффициентов u uj .
Рассмотрим один пример. Пусть имеется два элемента сцены
S1 и S2 (рис. 12.2). Поскольку используется диффузная модель освеще
ния, то доля энергии малого участка dS1 с нормалью n1 , излучаемая
под углом  1 к этой нормали, пропорциональна косинусу угла.
14
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 12.2. Два элемента сцены
Следовательно, в направлении элементарного участка dS2 уходит доля

энергии, пропорциональная косинусу угла между n1 и отрезком, который соединяет эти участки. Соответственно, получаемая вторым
участком доля этой энергии будет пропорциональна косинусу угла

между нормалью n 2 и этим же отрезком. Итак, доля энергии, получа-
  cos(1 )  cos( 2 ) / r 2 ,
емая элементом dS2 от элемента, dS1  du21
где r – расстояние между элементами. Кроме того, необходимо учесть,
что излучаемая элементарным участком энергия равномерно распределена по всем направлениям. И, наконец, в каждой сцене одни объекты могут частично экранировать другие, поэтому надо ввести коэффициент, определяющий степень видимости объекта с позиции другого. Далее полученное выражение интегрируется по S1 и S2, что также
может быть сложной задачей.
Отсюда видно, насколько трудоемкой может оказаться процедура вычисления коэффициентов u ij . Поэтому, как правило, используются приближенные методы их вычисления. В частности, можно
рассматривать поверхности объектов как многогранники, тогда элементами сцены будут плоские многоугольники, для которых формулы
несколько упрощаются.
12.3. Глобальная модель освещения с трассировкой лучей
Понятие трассировки лучей при описании алгоритмов
удаления невидимых граней были рассмотрены, теперь проведем
аналогичную процедуру в применении к моделям освещения. В
предыдущем разделе были описаны модели освещенности от
15
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
некоторого источника света без учета того, что сами объекты сцены
освещают друг друга посредством отраженных лучей. Метод
излучательности,
разработанный
для
диффузной
модели
освещенности, уже учитывает этот фактор.
Глобальная модель освещенности способна воспроизводить
эффекты зеркального отражения и преломления лучей (прозрачность
и полупрозрачность), а также затенение. Она является составной частью алгоритма удаления невидимых поверхностей методом трассировки.
Если рассмотреть сцену, содержащую в числе прочих зеркальные и полупрозрачные поверхности (рис. 12.3), то изображение будет
включать, во-первых, проекции самих объектов, освещенных одним
или несколькими источниками света. В некоторых своих частях эти
объекты будут искажены за счет преломления лучей в прозрачных и
полупрозрачных телах. Во-вторых, часть объектов будет отражаться
зеркальными поверхностями, и эти отражения появятся на проекциях
зеркальных объектов. В изображенной на рис. 12.3 сцене точки на поверхности призмы C, D видны на картинной плоскости дважды: один
~ ~
раз – сквозь полупрозрачный параллелепипед в виде точек C , D , а
второй раз – как дважды отраженные невидимой поверхностью параллелепипеда и зеркалом C , D . Параллелепипед в данном случае
частично обладает зеркальными свойствами.
Рис. 12.3. Сцена, содержащая зеркальные и полупрозрачные
поверхности
16
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Глобальная модель освещения для каждого пиксела изображения определяет его интенсивность. Будем для простоты считать, что
все источники света – точечные. Сначала определяется непосредственная освещенность источниками без учета отражений от других
поверхностей (вторичная освещенность): отслеживаются лучи,
направленные ко всем источникам. Тогда наблюдаемая интенсивность
(или отраженная точкой энергия) выражается следующим соотношением:
 
 
I  k0 I 0  k d  I j (n  l j )  k r  I j ( s  r )   k r I r  k t I t ,
j
j
где k0 – коэффициент фонового (рассеянного) освещения;
kd – коэффициент диффузного отражения;
kr – коэффициент зеркального отражения;
kt – коэффициент пропускания;

n
– единичный вектор нормали к поверхности в точке;

l j – единичный вектор, направленный к j-му источнику света;

s – единичный локальный вектор, направленный в точку
наблюдения;


r j – отраженный вектор l j ;
I0 – интенсивность фонового освещения;
Ij – интенсивность j-го источника света;
Ir – интенсивность, приходящая по зеркально отраженному лучу;
It – интенсивность, приходящая по преломленному лучу.
В алгоритме удаления невидимых линий трассировка луча
продолжалась до первого пересечения с поверхностью. В глобальной
модели освещения этим дело не ограничивается: осуществляется
дальнейшая трассировка отраженного и преломленного лучей. Таким
образом, происходит разветвление алгоритма в виде двоичного дерева. Процесс продолжается до тех пор, пока очередные лучи не останутся без пересечений. Отражение и преломление рассчитываются по
законам геометрической оптики [104].
 
Пусть v , r , t – направления падающего, отраженного и пре
 
ломленного лучей (рис. 12.4), v1  v / cos(1 ) , n – единичная внешняя
нормаль,  1, 2 – коэффициенты преломления сред, разделенных поверхностью. Тогда можно показать, что:
 

r1  v1  2  n ,



t1  k (n  v1 )  n ,
 2 

k  (k2  v1  v1  n 2 ) 1/ 2 ,
17
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
k 
2
1
Соответствующие единичные векторы получить нетрудно.
Двоичное дерево лучей можно строить по принципу «левое
поддерево соответствует отраженному лучу, а правое – преломленному». После того как оно построено, можно вычислить интенсивность
в точке. Для этого осуществляется обратный проход от вершин
к
корню, и при прохождении узлов интенсивность убывает.
Теоретически дерево может оказаться бесконечным, поэтому
при его построении желательно задать максимальную глубину, чтобы
избежать переполнения памяти компьютера.
Рис. 12.4. Зеркальное отражение и преломление
Поскольку значительная часть лучей, исходящая от источников
света и других поверхностей, не попадает в поле зрения наблюдателя,
то отслеживать их все не имеет смысла. Поэтому для формирования
изображения используется обратная трассировка. При обратной трассировке лучи отслеживаются в противоположном порядке: от положения наблюдателя через все точки картинной плоскости к объектам
и далее – по отраженным и преломленным лучам. Такая обработка
позволяет существенно сократить объем вычислений.
Для получения реалистичного изображения синтезированной
сцены в практических приложениях используются комплексные алгоритмы, позволяющие решить все задачи рендеринга: пастеризация
модели, освещение, прозрачность, тени, тонирование, закраска, тек-
18
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
стурирование и др. Большинство таких алгоритмов основаны на хорошо изученном принципе трассирования лучей.
Трассировка лучей – это метод, применяемый для создания
реалистичных образов на компьютере, используя полные модели
трехмерного мира. Трассировка лучей решает множество проблем. Алгоритм, реализующий этот метод, может выполнять следующие действия:
1. Расчет освещенности поверхности, учитывающей:
отражение;
рассеяние;
преломление;
окружающее освещение;
точечное освещение;
2. Удаление невидимых поверхностей;
3. Наложение теней.
Изначально этот алгоритм разрабатывался для решения проблемы удаления невидимых поверхностей. Трассировка лучей создает
образ, исходя из тех же законов, что и наше зрение.
Метод трассировки лучей используется не только для удаления
невидимых частей сцены (применение данного метода будет рассмотрено далее), но, в основном, для получения высокореалистичных
изображений с учетом отражений и преломлений света. Различают
методы прямой и обратной трассировки лучей.
Ключевая задача метода трассировки лучей – определение
освещенности произвольной точки объекта и той части энергии, которая уходит в заданном направлении. Эта энергия складывается из двух
частей – непосредственной (первичной) освещенности, то есть энергии, непосредственно получаемой от источников света, и вторичной
освещенности, то есть энергии, идущей от других объектов. Ясно, что
непосредственная освещенность вносит существенно больший вклад в
общую освещенность. Поэтому обычно первичную и вторичную
освещенность рассматривают по-разному.
Метод прямого трассирования лучей. Прямой трассировкой
лучей называется процесс расчета освещения сцены с испусканием от
всех источников лучей во всех направлениях.
Рассмотрим реальную сцену (рис. 12.5), состоящую из источника света и ряда объектов.
Лучи света начинают свой путь из источника и распространяются по прямолинейным траекториям во все стороны до попадания на
объекты сцены. Попав на какой-либо объект сцены, луч света может
преломиться и уйти внутрь объекта или отразиться (рассеяться). Отра-
19
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
зившись от объекта, луч света опять распространяется
прямолинейно до попадания на следующий объект, и так далее. Следовательно, каждая точка сцены может освещаться либо напрямую
источником, либо отраженным светом. Часть лучей, в конце концов,
попадет в глаз наблюдателя, формируя изображение сцены на сетчатке. Поместим перед глазом воображаемую плоскость – плоскость проекции и будем считать, что изображение формируется на этой плоскости. Каждый луч, попадающий в глаз, проходит через некоторую точку этой плоскости (экрана), формируя там изображение. Таким образом, для построения изображения достаточно проследить весь путь
распространения света, начиная от его источника. Из каждого источника света пучок лучей распространяется во все стороны. Мысленно
проследим (оттрассируем) дальнейшее распространение каждого из
них до тех пор, пока либо он попадет в глаз наблюдателю, либо покинет сцену. При попадании луча на границу объекта выпускаем из точки попадания отраженный и преломленный лучи и отслеживаем их и
все порожденные ими лучи.
Источник освещения
Глаз
Плоскость проекции
Рис. 12.5. Метод прямой трассировки лучей
Однако метод прямой трассировки лучей обладает недостатком
– он требует огромных и неоправданных вычислительных затрат. Это
связанно с тем, что лишь очень небольшая часть трассируемых лучей
вносит сколько-нибудь существенный вклад в изображение сцены.
Ясно, что это те лучи, которые попадают в глаз наблюдателя.
Метод обратного трассирования лучей. Для определения
освещенности точки экрана можно проследить путь, по которому мог
прийти луч света, попавший в эту точку и сформировавший там изображение. Таким путем является путь луча, выходящего из глаза
наблюдателя и проходящего через соответственную точку экрана. Бу-
20
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
дем идти вдоль этого луча от глаза до точки ближайшего пересечения
с каким-либо объектом сцены (при этом мы будем двигаться
в направлении, обратном направлению распространения света). Цвет
(освещенность) соответствующей точки экрана будет определяться
долей световой энергии, попадающей в эту точку и покидающей ее
в направлении глаза. Для определения этой энергии необходимо
найти освещенность точки объекта, для чего из нее выпускаются лучи
в тех направлениях, из которых может прийти энергия. Это, в свою
очередь, может привести к определению точек пересечения соответствующих лучей с объектами сцены, выпускания новых лучей и так
далее. Этот процесс называется обратной трассировкой лучей, или
просто трассировкой лучей (рис. 12.6).
При обратной трассировке вычисляются интенсивности
только лучей, попавших в глаз наблюдателя. В простейшей реализации обратной трассировки отслеживаются лучи, проходящие из глаза
наблюдателя через каждый пиксел экрана в сцену. На каждой поверхности сцены, на которую попадает луч, в общем случае формируются
отраженный и преломленный лучи. Каждый из таких лучей отслеживается, чтобы определить пересекаемые поверхности. В результате
для каждого пиксела строится дерево пересечений. Ветви такого дерева представляют распространение луча в сцене, а узлы – пересечения
с поверхностями в сцене. Окончательная закраска определяется прохождением по дереву и вычислением вклада каждой пересеченной поверхности в соответствии с используемыми моделями отражения. При
этом различают и обычно по-разному рассчитывают первичную освещенность, непосредственно получаемую от источников света,
и
вторичную освещенность, получаемую от других объектов.
P
P
Рис. 12.6. Метод обратной трассировки лучей
Введем ограничения на рассматриваемую сцену:
рассматривать только точечные источники света;
21
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
при трассировании преломленного луча игнорировать зависимость его направления от длины волны;
считать освещенность объекта состоящей из диффузной и
зеркальной частей (с заданными весами)
Для определения освещенности точки P определим сначала
непосредственную освещенность этой точки от источников света (выпустив из неё лучи ко всем источникам). Для определения вторичной
освещенности выпустим из точки P один луч для отраженного
направления и один луч – для преломленного. Таким образом, для
определения освещенности точки необходимо будет отслеживать
лишь небольшое количество лучей. При этом неидеально зеркальное
отражение лучей, идущих от других объектов, игнорируется. Для
компенсации всех таких неучитываемых величин вводится фоновое
освещение – равномерное освещение со всех сторон, которое ни от
чего не зависит и не затеняется.
При расчете освещенности точки поверхности используется
одна из существующих моделей освещенности, рассмотренных ранее.
Вышеизложенное позволяет прийти к следующему алгоритму
трассировки лучей:
1. Через каждый пиксел экрана луч трассируется до ближайшего пересечения с объектами сцены.
2. Из точки пересечения выпускаются лучи ко всем источникам
света для проверки их видимости и определения непосредственной
освещенности точки пересечения.
3. Выпускаются также отраженный и преломленный лучи, которые трассируются в свою очередь до ближайшего пересечения с
объектами сцены, и так далее.
Получается рекурсивный алгоритм трассировки. Критериями
остановки служат отсечение по глубине (не более заданного количества уровней рекурсии) и по весу (прекращение трассировки луча, если вклад от него меньше некоторого порогового значения).
Ограничения и недостатки использованной модели. С помощью данной модели можно получить достаточно реалистичные
изображения, однако она не лишена некоторых недостатков.
1. Основной недостаток – это неэффективность работы с диффузными поверхностями.
2. Другим недостатком является то, что определение освещенности поверхностей производится параллельно с построением изображения и зависит от положения наблюдателя. Любое изменение положения наблюдателя приводит к полному пересчету всей сцены. По
этой причине с помощью метода трассировки лучей невозможно сделать динамически изменяющиеся изображения (хотя возможна ани-
22
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
мация оттрассированных сцен). Выходом является метод излучательности, основанный на законе сохранения энергии в замкнутой системе.
Алгоритм удаления невидимых поверхностей по методу
трассировки лучей для простых непрозрачных поверхностей можно
представить, создав список объектов, содержащий следующую информацию:
1. Полное описание объекта: тип, поверхность, характеристики
и т.д.
2. Описание оболочки:
а) Описание сферической оболочки: центр и радиус.
б) Описание прямоугольной оболочки: xmin,xmax, ymin, ymax, zmin, zmax
3. Для каждого трассируемого луча:
а) Выполнить для каждого объекта трехмерный тест со сферической оболочкой в исходной системе координат. Если луч пересекает
эту сферу, то занести объект в список активных объектов.
б) Если список активных объектов пуст, то изобразить данный
пиксел с фоновым значением интенсивности и продолжить работу.
В противном случае перенести и повернуть луч так, чтобы он совместился с осью z. Запомнить это комбинированное преобразование.
4. Для каждого объекта из списка активных объектов:
а) Преобразовать, используя комбинированное преобразование, оболочку в систему координат, в которой находится луч, и выполнить соответствующий тест.
б) Если пересечения с лучом нет, то перейти к следующему объекту.
в) В противном случае преобразовать, используя комбинированное преобразование, объект в систему координат, в которой находится луч, и определить его пересечения с лучом, если они существуют.
г) Занести все пересечения в список пересечений.
5. Если список пересечений пуст, то изобразить данный пиксел
с фоновым значением интенсивности.
6. В противном случае определить zmax для списка пересечений.
7. Вычислить преобразование, обратное комбинированному
преобразованию.
8. Используя это обратное преобразование, определить точку
пересечения в исходной системе координат.
9. Изобразить данный пиксел, используя атрибуты пересеченного объекта и соответствующую модель освещенности.
Заметим, что алгоритм определения видимости простых непрозрачных поверхностей не требует вычисления преобразования, обратного комбинированному, или определения точки пересечения
в
23
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
исходной системе координат, если в модели освещения не возникает
необходимость включения в алгоритм свойств поверхности объекта
или ее ориентации в точке пересечения. Эти шаги включены в данный
алгоритм для полноты и удобства при реализации алгоритма трассировки лучей с учетом общей модели освещенности.
Алгоритм наложения теней, использующий метод трассировки
лучей, подобен алгоритму удаления невидимых поверхностей. Разница состоит в том, что трассируются лучи от источника освещения
и
трассирование луча не прекращается при пересечении с ближайшей
поверхностью, а рассматриваются остальные пересечения.
12.4. Текстурирование
Текстура поверхности – это детализация ее строения, учитывающая микрорельеф и особенности окраски.
Метод описания поверхности моделируемого объекта в виде
соответствующего (очень большого) количества многоугольников
(полигональных сеток), оказывается неприемлем в случае необходимости представления детализированного рельефа и узора поверхности (фактуры поверхности). Более практичное решение – «натягивание» массива узора, полученного в результате оцифровки изображения реальной поверхности на раскрашиваемую. При этом значения из
массива узора используются для масштабирования диффузной компоненты в модели освещения.
Для устранения лестничного эффекта должны учитываться все
элементы узора, затрагивающие обрабатываемый пиксель изображения.
Такой метод влияет на раскраску поверхности, но оставляет ее
гладкой. Неровности могут моделироваться возмущениями нормали
поверхности. Другой способ, используемый при синтезе картин, – метод фрактальной геометрии.
Во-первых, гладкая поверхность может быть покрыта какимлибо узором, и тогда при ее изображении решается задача отображения этого узора на проекции фрагментов поверхности (многоугольники). Во-вторых, поверхность может быть шероховатой, поэтому нужны специальные приемы имитации такого микрорельефа при закрашивании.
Сначала рассмотрим методы отображения узоров. Чаще всего
узор задается в виде образца, заданного на прямоугольнике в декартовой системе координат  , в пространстве текстуры. Фрагмент поверхности может быть задан в параметрическом виде в трехмерной
декартовой системе координат:
24
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
x = f(u,v), y = g(u,v), z = h(u,v), a  u  b, c  v  d .
Теперь достаточно построить отображение области в пространстве текстуры в область параметров поверхности:
u   (, ) ,
v   (,  ) ,
или
   (u, v),   (u, v) ,
и тем самым каждой точке поверхности будет соответствовать точка
образца текстуры. Пусть, например, поверхность представляет собой
один октант сферы единичного радиуса, заданный формулами:
x  sin   sin  , y  cos  , z  cos   sin  ,
0     / 2,  / 4     / 2 ,
а образец текстуры задан на квадрате 0    1,0    1 . Тогда можно
воспользоваться линейным отображением вида:
  a  b ,   c  d .
Если положить a=/2, b=0, c=-/4, d=/2 , то углы образца
отобразятся в углы криволинейного четырехугольника (рис. 12.7).
Обратное отображение имеет вид:


 /2
,
,
 /2
 /4
следовательно, вертикальные и горизонтальные линии образца отобразятся на окружности большого круга сферы.
25
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 12.7. Текстура на сферической поверхности
Пусть теперь нужно нанести текстуру при перспективном проецировании произвольно ориентированной прямоугольной грани.
Грань задана в пространстве набором своих вершин A, B, C, D. По

строим векторы e1  B  A и e2  D  A , направленные вдоль сторон
прямоугольника. Любую точку прямоугольника можно единственным
образом представить в виде:


P  A  ue1  ve2 .
Будем считать, что используется простейший случай перспективного преобразования, задаваемый формулами:
x 
x
, y  yz .
z
Найдем образ точки P при таком преобразовании:




Ay  ue1 y  ve2 y
Ax  ue1x  ve2 x
x 



 , y 
Az  ue1 z  ve2 z
Az  ue1z  ve2 z
или




u ( xe1z  e1x )  v( xe2 z  e2 x )  Ax  Az x
.



 


u
(
y
e

e
)

v
(
y
e

e
)

A

A
y
1z
1y
2z
2y
y
z

Если теперь рассматривать эти соотношения как систему уравнений для нахождения параметров u, v, то, решив ее, получим требуе-
26
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
мое обратное преобразование. Для решения можно воспользоваться,
например, правилом Крамера:
где
u  u /  , v  v /  ,








  ( xe1z  e1x )  ( ye2 z  e2 y )  ( xe2 z  e2 x )  ( ye1z  e1y ) ;




1  ( Ax  Az x)  ( ye2 z  e2 y )  ( xe2 z  e2 x )  ( Ay  Az y ) ;




 2  ( xe1z  e1x )  ( Ay  Az y)  ( Ax  Az x)  ( ye1z  e1y ) .
Найденные параметры будут определять точку текстуры, соответствующую точке проекции.
Можно рассмотреть более общий случай перспективной проекции, задаваемый соотношениями:
x 
x
z
1
d
, y 
y
z
1
d
.
Тогда уравнения для определения u, v немного усложнятся:




u ( xe1 z / d  e1 x )  v( xe2 z / d  e2 x )  Ax  (1  Az / d ) x,



 

u
(
y
e
/
d

e
)

v
(
y
e
/
d

e
)  Ay  (1  Az / d ) y.
1
z
1
y
2
z
2y

Соответственно, изменится и решение:








  ( xe1z / d  e1x )  ( ye2 z / d  e2 y )  ( xe2 z / d  e2 x )  ( ye1z / d  e1y ) ;




1  ( Ax  (1  Az / d ) x)  ( ye2 z / d  e2 y )  ( xe2 z / d  e2 x )  ( Ay  (1  Az / d ) y)
;




 2  ( xe1z / d  e1x )  ( Ay  (1  Az / d ) y)  ( Ax  (1  Az / d ) x)  ( ye1z / d  e1y )
.
Рассмотренные примеры учитывали гладкие поверхности.
Можно имитировать шероховатость путем выбора подходящего образца нерегулярной текстуры, но все равно изображение будет выглядеть так, словно неоднородности нанесены на гладкой поверхности.
Для моделирования микрорельефа Дж. Блин предложил метод, основанный на возмущении нормали к поверхности.
Пусть как и ранее поверхность задана в параметрическом виде

с помощью векторной функции F (u, v) . В каждой ее точке можно
27
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
построить вектор нормали, воспользовавшись частными производны 
ми этой функции. Известно, что производные Fu и Fv представляют
собой векторы, лежащие в касательной плоскости данной поверхности. Тогда вектор нормали может быть получен как векторное произ-
  
ведение этих двух векторов n  Fu  Fv . После этого точку поверхности можно отклонить от первоначального положения в направлении
нормали на некоторую малую величину, задаваемую с помощью
функции возмущения P(u, v):




F (u, v)  F (u, v)  P(u, v)  n(u, v).
Можно показать, что нормаль к новой возмущенной поверхности будет определяться выражением:
 
 
  Pu  (n  Fu ) Pv  (n  Fv )
.
n  n 



n
n
Применяя в модели освещения новую нормаль, можно получить эффект шероховатости поверхности. В качестве функции возмущения используют произвольную дифференцируемую по каждой из
переменных функцию.
Рассматривая вопрос прорисовки текстур, необходимо отметить ряд специфических видов, требующих отдельной обработки:
1. Циклические текстуры.
2. Динамические текстуры.
3. Эффект тумана.
4. Текстуры с мультиразрешением (мультиразрешение – представление с различной степенью детализации)
Циклические текстуры. Допустим, что необходимо изобразить поверхность моря. Можно взять большую структуру на всю поверхность моря, но это очень громоздко и сложно. Вместо этого можно использовать небольшой фрагмент и составить поверхность из нескольких таких фрагментов (т.е. размножить исходный текстурный
фрагмент). При этом необходимо, чтобы вертикальные стороны были
абсолютно одинаковыми.
Динамические текстуры. Как можно показать, что море волнуется? Есть несколько текстур моря, изображение генерируют с учетом изменения текстур. Т.е. в первом кадре накладывают первую текстуру, в следующем вторую и т.д. (каждый кадр берёт текстуру из
своего файла).
28
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Эффект тумана. Туман используется для создания атмосферных эффектов. Туман используется для создания дымки и скрытия
удаленных объектов. В первом случае повышается реалистичность
сцены, во втором – понижается ее сложность. С туманом объекты могут рассчитываться с разной степенью детализации в зависимости от
расстояния до наблюдателя. Туман работает по принципу: чем дальше
объект, тем больше туман его поглощает. Поэтому для удаленных
объектов разумно использовать меньше полигонов, чем для близких.
Туман можно разделить на полигонный и пиксельный. Полигонный метод линейно интерполирует уровень тумана по значениям в
вершинах для получения уровня тумана в каждой точке полигона.
Этот метод хорош только для маленьких полигонов. Пиксельный метод рассчитывает уровень тумана для каждого пиксела и для больших
полигонов дает более реалистичное изображение.
Контрольные вопросы
1. Опишите алгоритм теневого буфера, используемый при построении теней.
2. Опишите основные шаги модифицированного алгоритма
Вейлера-Азертона.
3. Назовите особенности метода излучательности.
4. На базе каких принципов строится глобальная модель
освещения?
5. В чем заключается метод трассировки лучей?
6. Каким образом проводится обратная трассировка лучей?
7. Дайте определение термина «текстура».
8. Опишите основные методы отображение узоров.
9. Какие особенности возникают в процессе формирования
текстуры при перспективной проекции?
10. Каким образом обрабатываются текстуры с мультиразрешением?
29
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ГЛАВА 13. ОСНОВЫ СИНТЕЗА ДИНАМИЧЕСКИХ СЦЕН.
КОМПЬЮТЕРНАЯ АНИМАЦИЯ
13.1. Понятие анимации. Классификация способов анимации
Анимация (от лат. anima – «душа») – искусственное представление движения в кино, на телевидении или в компьютерной графике
путем отображения последовательности рисунков или кадров с частотой, при которой обеспечивается целостное зрительное восприятие
образов [107].
Говоря иначе, анимация – это демонстрирующаяся в быстром
темпе последовательность кадров, каждый из которых несколько отличается от предшествовавшего ему и следующего за ним. Каждый
кадр отображается в течение определенного промежутка времени. Если кадров достаточное количество и время их отображения невелико,
то создается иллюзия движения.
В основе анимации лежит так называемый принцип инертности зрительного восприятия человека, благодаря которому ряд неподвижных изображений воспринимается как непрерывное движущееся
изображение.
Кадр – одиночное изображение из множества изображений,
составляющих анимационную последовательность [107].
Важнейшей характеристикой анимационных последовательностей является частота проигрывания кадров. Эта величина может составлять от 8 до 60 кадров в секунду в зависимости от существа проекта и используемых средств воспроизведения анимации. Например, в
кинематографии эта величина составляет 24 кадра в секунду, для видеоформатов PAL и SECAM – 25, для видеоформата NTSC (используемого в США, Японии, странах Латинской Америки) – 30 [106].
Начиная с 20-х годов XX столетия, анимация нашла широкое
применение при создании мультипликационных фильмов. Ранее отдельные кадры анимации прорисовывались вручную. В последние десятилетия анимационные технологии поставлены на компьютерную
основу.
Сфера применения компьютерной анимации в настоящее время
весьма обширна: это мультипликация, телереклама, музыкальные видеоролики, фильмы со спецэффектами, компьютерные игры,
аттракционы виртуальной реальности, приложения для Интернет,
научные исследования и др.
Анализ издаваемой литературы, посвященной компьютерной
анимации, позволяет разделить существующие издания на несколько
категорий.
30
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Наиболее широко представлены источники, в которых изложены приемы работы с конкретными программными продуктами, предназначенными для создания компьютерной анимации (например,
с
пакетами 3D Studio MAX,Adobe/Macromedia Flash).
В качестве ключевых разделов методы программного создания
анимации рассматриваются в литературе по программированию компьютерных игр.
В последнее время появились издания [106, 110], в комплексе
рассматривающие процесс производства анимационных фильмов от
формирования идеи и разработки сценария до продвижения готового
фильма на рынке.
И, наконец, относительно невелико количество изданий [106,
109], в которых затрагивались бы теоретические и алгоритмические
аспекты технологий компьютерной анимации.
В данной главе представлены основные принципы создания
анимационных последовательностей. Эти методы реализованы
в
компьютерных программах, предлагаемых на рынке программного
обеспечения.
13.2. Виды анимации
В процессе применения анимации к каким-либо графическим
объектам мы фактически добавляем в соответствующую систему еще
одно измерение – время. Это измерение является третьим, если речь
идет о двумерной графике, и четвертым – для 3D-проектов.
Инструмент, служащий для отображения фактора времени при
создании анимационных и видеопоследовательностей, принято называть временной линейкой (монтажной линейкой, временной шкалой,
осью времени).
Важнейшим основанием для классификации подходов к созданию анимации является способ проецирования геометрических объектов на ось времени, т.е. способ определения содержимого каждого из
кадров анимационной последовательности.
Заметим, что некоторые технологии анимации, например, процедурная анимация, могут быть реализованы без использования временной линейки как таковой.
С точки зрения вышеуказанного признака можно выделить
следующие виды анимации:
покадровая анимация;
анимация на основе ключевых кадров (промежуточная);
морфинг;
процедурная анимация;
спрайтовая анимация;
захват движения.
31
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Покадровая анимация. Покадровая анимация являет собой
технологию анимации в наиболее классическом ее варианте. При использовании такого способа анимируемый объект размещается в каждом кадре последовательности. Таким образом, создание покадровой
анимации напоминает работу художника-мультипликатора.
Одним из образцов использования данной технологии является
распространенная в Интернет GIF-анимация. Как известно, файл формата GIF может содержать несколько изображений, которые при просмотре сменяют друг друга с заданным временным интервалом. В
настоящее время GIF-анимация широко применяется для оформления
web-страниц, в том числе для создания рекламных баннеров. На рис.
13.1 приведен пример, иллюстрирующий использование покадровой
технологии. Если в кадрах анимации последовательно расположить
представленные изображения, то получится человечек, размахивающий руками.
Рис. 13.1. Пример иллюстраций для покадровой анимации
Преимуществом такого подхода является простота реализации.
К недостаткам можно отнести высокую трудоемкость создания анимации (ведь необходимо прорисовывать каждый кадр), а также большой объем результирующего файла, что также объясняется наличием
изображения в каждом кадре.
Тем не менее, в некоторых случаях покадровая анимация является единственным приемлемым способом получения требуемого эффекта. Это относится к ситуациям, когда нужно обеспечить быстрые,
резкие, детально проработанные движения. Айзек В. Керлоу [106] в
качестве примера приводит анимацию играющего пианиста.
Анимация на основе ключевых кадров. Данный подход является наиболее распространенным способом анимации. Его суть заключается в следующем.
32
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Если необходимо обеспечить анимацию объекта на каком-то
временном интервале, то определяются его положение и характеристики в начальном и конечном кадрах последовательности. Промежуточные кадры рассчитываются компьютерной программой на основе
интерполяции значений параметров объекта, заданных для ключевых
кадров. В литературе метод также называют промежуточной (или расчетной) анимацией (рис. 13.2).
Для перемещения объекта, напоминающего мяч, заданы ключевые кадры с номерами 1 и 5. На практике определение состояния
объектов в ключевых кадрах происходит обычно в интерактивном режиме. В промежуточных кадрах 2 – 4 положение мяча определяется
путем линейной (в данном случае) интерполяции.
В общем виде соответствующие математические соотношения
можно записать так:
xt  xi 
x j  xi  t  i  ,
yt  yi 
y j  yi  t  i  ,
i j
i j
где xt, yt – координаты объекта в промежуточном кадре с номером t;
xi, yi – координаты объекта в начальном ключевом кадре с номером i;
xj, yj – координаты объекта в конечном ключевом кадре с номером j.
В приведенном примере (рис. 13.2): i=1, j=5.
Ключевой кадр определяется своей индивидуальной позицией
на временной линейке, а также всеми относящимися к этому кадру
параметрами (положение объекта в пространстве, его форма, цвет
и
др.). Обычно на ключевых кадрах изображают крайние точки движения (верхнюю и нижнюю точку падения, начало и конец вращения тела и т.п.). Такие точки относительно полно определяют, что будет
происходить на промежуточных кадрах, хотя ключевые кадры могут
создаваться и для любого момента, в который происходят существенные изменения.
1
Ключевой кадр
2
3
4
Промежуточные кадры
33
5
Ключевой кадр
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
x1,y1
x5,y5
Рис. 13.2. Сущность анимации на основе ключевых кадров
Как уже было отмечено, построение промежуточных кадров
можно описать математическим термином интерполяция, которая
представляет собой расчет значений функции, проходящей между известными точками. Интерполяция – одна из тех задач, которые весьма
удачно решаются с помощью компьютерных программ, поскольку
значения, которые нужно вычислить, и связи между ними можно выразить численно.
Все цифровые изображения в некотором смысле представлены
численно, но цифровое представление векторных изображений гораздо
проще представления растровых образов, что делает их существенно
более привлекательными с точки зрения численной интерполяции. Таким образом, преобразования, которые можно применить к векторным
формам (сдвиг, поворот, масштабирование, отражение), являются
арифметическими операциями, которые поддаются интерполяции.
Следовательно, движение, представляющее собой сочетание этих операций, можно сгенерировать в процессе численного построения промежуточных кадров, начав с пары заданных ключевых кадров. Это
означает, что анимацию можно создавать на основе технологии ключевых кадров, добиваясь существенной экономии труда по сравнению
с покадровой анимацией.
Интерполяция ключевых кадров обеспечивает столько промежуточных кадров, сколько нужно в зависимости от длины анимационной последовательности. Скорость изменений определяется количеством времени, необходимым для проигрывания анимации от одного ключевого кадра до другого.
Интерполяции часто отображаются в виде графиков, показывающих соотношение между временем и анимируемым параметром.
Крутизна линии графика определяет скорость изменений. Горизонтальная линия (траектория), например, означает отсутствие изменений
(нулевую скорость), диагональная линия – постоянные изменения, а
кривая – изменения с переменной скоростью (рис. 13.3).
34
Анимируемый параметр
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Изменений
нет
0
12,5
25
37,5
50
62,5
75
87,5
100
Время
Рис. 13.3. Пример графика интерполяции
Графики интерполяции генерируются многими программами
компьютерной анимации автоматически, когда аниматор задает
параметры для одного или нескольких объектов на сцене [106]. Как
правило, эти графики можно редактировать в интерактивном режиме.
Линейная интерполяция представляет собой простейший метод
компьютерной анимации для просчета промежуточных кадров. При
этом объект проходит равные расстояния между любой парой соседних кадров, а общее расстояние, пройденное в кадре, равно общему
расстоянию между начальным и конечным ключевыми кадрами, деленному на количество кадров в последовательности. Таким образом,
объект движется с постоянной скоростью, что порождает две проблемы [111].
Первая состоит в том, что движение начинается и заканчивается мгновенно, объекты выходят на полную скорость, только начав
движение, и поддерживают ее до момента остановки. В действительности никакое тело так не движется, поскольку объекты реального
мира обладают свойством инерции.
Для получения более естественного движения переход из неподвижного положения должен быть постепенным с помощью плавно
увеличивающихся приростов положения на нескольких первых кадрах
(т.е. объект ускоряется до конечной скорости). Обратным процессом
является замедление движения.
На рис. 13.4 показано, как со временем меняются смещение
(скажем, по координате X) и скорость объекта при его перемещении
35
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
от исходной точки в ключевом кадре 1 к конечной точке в ключевом
кадре N при использовании линейной интерполяции по N кадрам. На
рис. 13.5 и 13.6 демонстрируется, как можно добиться ускорения или
замедления движения при использовании квадратичной интерполяции, т.е. при постоянном ускорении. Возможны и более сложные стили движения, использование которых может быть уместным в различных ситуациях.
В программах компьютерной анимации имеется возможность
задавать параметры ускорения/замедления путем непосредственного
ввода коэффициентов или перемещения специальных бегунков. По
сути, чтобы добиться такого движения объекта, которое максимально
походило бы на естественное, необходимо так настроить параметры
анимации, чтобы ускорение объекта изменялось от максимального через движения с постоянной скоростью до максимального торможения.
При этом кривая смещения изменяется от формы, подобной показанной на рис. 13.5, к кривым с менее явным изгибом, переходя
в прямую линию (рис. 13.4), а затем изгибаясь в обратную сторону (рис.
13.6), т.е. ускорение изменяется от некоторого максимального положительного значения через нуль до максимального отрицательного
значения.
Рис. 13.4. Линейная интерполяция движения
Рис. 13.5. Нелинейная интерполяция движения (ускорение)
36
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 13.6. Нелинейная интерполяция движения (замедление)
Вторая проблема, порождаемая применением линейной интерполяции, заключается в следующем. Рассмотрим рис. 13.7,
на котором показано, как изменяются смещение и скорость, если добавить к исходной последовательности вторую, также состоящую из N
кадров, в течение которых объект перемещается на меньшее расстояние.
Рис. 13.7. Нелинейная интерполяция движения (замедление)
Поскольку обе последовательности интерполируются отдельно
как прямые линии, в точке перехода возникает резкая неоднородность. Из графика скорости четко видно, что в этой точке анимации
наблюдается как бы внезапное замедление. Такое движение является
неестественным, а, следовательно, нежелательным. Аккуратно
настраивая параметры анимации, данную неоднородность можно
сгладить, однако существует более общее решение этой проблемы.
Для интерполяции ключевых кадров можно использовать кривые Безье, позволяющие гладко соединять отдельные сегменты, совмещая
37
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
касательные векторы. Обратите внимание, что в данном случае не
объекты должны следовать по траекториям, имеющим форму кривых
Безье, а скорость, с которой изменяются свойства, интерполируются
с использованием кривой Безье.
Отметим, что, хотя уже рассматривали только смещение в одном направлении (по координате X), нужно понимать, что подобные
рассуждения применимы ко всем преобразованиям, поддающимся интерполяции.
Все приведенные примеры относились к ситуациям с простым
движением (перемещение одного объекта в одном направлении). При
анимации сцен чаще всего приходится иметь дело с комплексным
движением, когда перемещаются (или меняют другие параметры) несколько объектов в разных направлениях и с разными скоростями.
В компьютерной анимации для организации комплексного движения
различные объекты располагаются на разных слоях, каждый из которых обладает своей временной линейкой. Итоговый вариант анимации
в таком случае представляет собой композицию действий, происходящих на различных слоях.
Еще одним важным приемом, используемым при анимации по
ключевым кадрам, является организация движения по траектории. Такая траектория может быть криволинейной. Поэтому движение, для
отображения которого при разрешенном только «линейном перемещении» понадобилось бы построить множество ключевых кадров, с
помощью траектории создается на основе всего двух ключевых кадров. С траекториями движения легко работать, поскольку они позволяют аниматору очень быстро задавать движения, включающие сдвиг
и вращения (рис. 13.8).
x1,y1
x5,y5
траектория движения
Рис. 13.8. Движение объекта по траектории
38
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
В процессе реализации рассматриваемого приема анимируемый объект привязывается к траектории, рисуемой на специальном
невидимом слое. Способ привязки объекта к траектории является с ущественным моментом. Можно организовать привязку так, что передняя (или какая-либо другая) часть объекта всегда будет смотреть в
направлении траектории. Альтернативным вариантом является ситуация, когда объект перемещается вдоль траектории, будучи сориентированным так, как был создан первоначально.
Разницу между описанными вариантами иллюстрирует рис.
13.9.
Заканчивая обзор анимации на основе ключевых кадров, заметим, данная методика фактически была разработана еще в 30-х годах
XX века американскими производителями мультфильмов, возглавляемыми Уолтом Диснеем [111]. Центральной идеей этой разработки
было разделение труда. Идея Диснея заключалась в разбиении процесса создания последовательности изображений на подзадачи, по
крайней мере часть из которых мог выполнять относительно неквалифицированный персонал. При прорисовке кадров задача ведущих
аниматоров (наиболее опытных и талантливых художников) заключалась в создании ключевых кадров, отражающих наиболее важные точки анимации, относительно полно определяющие, что будет происходить на промежуточных кадрах. После этого помощники аниматора
могут рисовать промежуточные кадры. В мультипликации процесс создания промежуточных кадров называется фазовкой [106].
а
б
Рис. 13.9. Особенности привязки объекта к траектории
а – привязка обеспечивает ориентирование объекта в соответствии
с направлением траектории;
б – объект ориентирован в соответствии с начальным положением.
39
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Морфинг. По сути морфинг является одной из разновидностей
анимации по ключевым кадрам. Для его реализации также используются идеи интерполяции. Морфинг можно определить как анимацию,
в ходе которой происходит плавное преобразование одного геометрического образа в другой. Классическим примером является превращение квадрата в круг (рис. 13.10).
Рис. 13.10. Морфическое преобразование квадрата в круг
Морфическим преобразованиям могут быть подвергнуты как
растровые, так и векторные изображения.
Часто для более корректного выполнения морфинга приходится задавать соответствие между элементами двух изображений. Способ задания соответствия зависит от используемой компьютерной
программы. Это могут быть точки, линии, полигоны. На рис. 13.11
демонстрируются кадры, получившиеся в результате преобразования
квадрата в круг, но с предварительно установленными четырьмя точками соответствия. Необходимо обратить внимаение, что переход получился более качественным – квадрат не вращается вокруг собственной оси. Обе трансформации (рис. 13.10 и 13.11) были выполнены с
использованием пакета Macromedia Flash.
a
d
b
c
a
d
b
c
Рис. 13.11. Морфическое преобразование квадрата в круг
с использованием точек соответствия
В ходе морфического преобразования интерполируются значения таких параметров как расстояние между контрольными точками,
положение точек в пространстве, цвет точек. При отсутствии установленного соответствия между элементами изображений результирующие промежуточные кадры могут получиться труднопредсказуемыми.
Процедурная анимация. В процедурной анимации текущие
значения параметров анимации определяются на основе начальных
40
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
значений, заданных пользователем, и математических выражений,
описывающих изменение параметров во времени. Зачастую используемые соотношения могут представлять собой достаточно сложные математические модели, включающие алгоритмические компоненты.
Данный подход позволяет создавать качественные анимации,
в наибольшей степени соответствующие поведению объектов реального мира. Вследствие этого процедурная анимация широко используется для моделирования физических явлений, технических систем,
создания разнообразных эффектов, а также при программировании
компьютерных игр.
Процедурные описания объектов, особенно встречающихся
в природе, представляют собой эффективную альтернативу формам,
получаемым с помощью систем, основанных на геометрическом моделировании [106].
При реализации процедурной анимации зачастую нет прямой
привязки анимации к временной линейке. Она попросту не используется. Важно рассчитать значения параметров объектов, задействованных в анимации, в каждый момент времени. Затем при необходимости
на этой основе может быть произведена раскадровка, т.е. определение
содержимого каждого из кадров.
В зависимости от используемого инструментария (компьютерной программы) подготовка процедурной анимации может заключаться в программировании, либо в определении параметров моделирования при помощи специальных интерфейсов.
В качестве примера приведем модель, описанную в [108]. Рассматриваются отскоки мяча на ступеньках. В модели учитывается
сопротивление воздуха и потеря энергии при отскоке мяча. Учитывается также, что мяч может попасть на угол ступеньки. Эта задача
представляет собой пример моделирования так называемых гибридных систем, в которых, наряду с непрерывными процессами, присутствуют и дискретные события, влияющие на непрерывное поведение
системы [108].
Для описания поведения системы используются следующие
переменные: x, y – координаты центра мяча, vx, vy – скорости по соответствующим координатам, n – номер очередной ступеньки, xStep,
yStep – координаты угла очередной ступеньки, d – расстояние от угла
очередной ступеньки до центра мяча, α – угол вектора от угла очередной ступени до центра мяча. Параметры, не изменяющие значений в
ходе моделирования: r – радиус мяча, g – ускорение свободного падения, k – коэффициент потери энергии при отскоке мяча, k1 – коэффициент, учитывающий сопротивление воздуха, h – высота ступени, w –
ширина ступени.
Система уравнений, описывающих движение мяча:
41
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
x
,
w
xStep  n  w,
yStep  (n  1)  h,
n
d
x  xStep2   y  yStep2 ,
 x  xStep 
,
d


  arccos
dx
 k1  (vx) 2 ,
dt
d (vy)
 g  k1  vy  vy ,
dt
dx
 vx,
dt
dy
 vy.
dt
При ударе мяча о ступеньку скорость по координате y меняет
знак и уменьшается с учетом коэффициента потери энергии:
vy  (1  k )  vy.
Схема расчета значений скоростей после удара мяча о край
ступеньки (с использованием вспомогательных переменных vN и vT):
vN  vy  sin   vx  cos ,
vT  vx  sin   vy  cos ,
vT  (1  k )  vT ,
vx  vT  sin   vN  cos  ,
vy  vT  cos  vN  sin .
Задавая исходные значения параметров, с моделью можно проводить эксперименты, сопровождающиеся анимацией. Скорость анимации может регулироваться. На рис. 13.12 представлена экранная
форма, содержащая анимацию движения мяча, результаты расчета параметров модели в числовом и графическом виде. Моделирование
проводилось с использованием системы моделирования AnyLogic5 [108].
42
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Таким образом, приведенный пример позволяет увидеть возможности создания процедурной анимации на основе законов физики,
определяющих траектории движения на основе систем уравнений.
Кроме того, используя процедурную анимацию, можно добиваться получения весьма любопытных эффектов. Например, для описания случайных и неправильных форм, напоминающих формы природного происхождения, используются фрактальные процедуры [106].
В литературе также описывается подход, называемый анимацией системами частиц [106, 109]. При использовании такой технологии воссоздается движение частиц, которое следует некоторому общим образом определенному движению. Системы частиц используются для
отображения динамичных объектов, обладающих нерегулярными и
сложными формами, а также индивидуальным поведением. Частицы
могут использоваться для управления движением в таких моделях, как
фейерверк, снег, вода, стая птиц.
Рис. 13.12. Процедурная анимация, выполняемая для эксперимента
с прыгающим мячом
Спрайтовая анимация. Некоторые авторы в качестве самостоятельного класса анимации выделяют так называемую спрайтовую
анимацию [111]. Спрайтом называют небольшое изображение, свободно перемещающееся по экрану монитора. Спрайты широко ис-
43
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
пользуются при программировании компьютерных игр. В процессе
игры спрайт (или спрайты) перемещаются по экрану. При этом изображение, являющееся фоном, не должно «затираться» в результате
перемещения спрайтов.
Захват движения. Развитие технологий приводит к появлению
новых способов создания анимации. Захват движения – современный
метод анимации, позволяющий аниматорам оцифровывать реальное
движение с помощью соответствующего оборудования, а затем применять его к анимируемым компьютерным персонажам. Захват движения часто используется для создания базовых траекторий движения, которые впоследствии могут быть обогащены за счет применения
других методов анимации [106].
Реализация подразумевает закрепление на теле
реального актера датчиков,
фиксирующих выполняемые
им движения. Сегодня существуют пакеты компьютерной
анимации, предоставляющие
возможность подключения
устройств захвата движения,
благодаря чему обеспечивается ввод данных движения
непосредственно в систему
анимации [106].
Расположение датчиков на теле актера зависит от
нужного типа движения. Однако в любом случае необходимо установить соответствие
между точками выборки реального актера и сочленениями анимационного персонажа. Как указывается в [106], минимальная
конфигурация для захвата движения включает 11 датчиков
(рис.13.13).
Подводя итог описания видов анимации, заметим, что в изданиях, посвященных описанию процессов создания мультипликационных фильмов [106, 109, 110], проводится специфическая градация задач, решаемых в ходе подготовки анимационных фрагментов. Соответственно, каждая из задач требует использования тех или иных технологий анимации. Среди таких задач можно выделить: анимацию
44
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
персонажей (с подзадачами: анимация ходьбы, лица, одежды и т.д.),
анимацию массовок, анимацию природных явлений (растений, воды,
газообразных явлений и т.д.).
13.3. Анимация иерархических объектов
В данной главе рассматривались случаи, когда анимируемые объекты были простыми с точки зрения своей структуры (например, мяч). При
реализации мультимедийных проектов очень часто это не так: объекты могут быть сложными, состоящими из большого числа взаимосвязанных компонент.
Объекты анимации можно группировать друг с другом для определения их взаимоотношений и поведения при анимации. Группы объектов
называют иерархическими структурами, внутри таких структур одни
объекты всегда доминируют над другими. Объект или объекты, находящиеся наверху иерархической пирамиды, называются родителями, а те, что
находятся ниже, – потомками. Иерархические структуры часто изображают
в виде дерева.
Наличие взаимосвязи между объектами иерархии (анимационные
ссылки) обеспечивает автоматическое обновление (коррекцию) пространственного положения объектов-потомков при трансформации родителя.
Выглядит это так, будто центральные точки дочерних объектов связаны с
центральной точкой родительского объекта рычагами. Если перемещается
родительский объект, дочерний объект также будет перемещаться, не изменяя своего положения относительно объекта-предка. Если родительский
объект поворачивается, то дочерний перемещается и поворачивается таким
образом, что его положение и ориентация по отношению к родительскому
объекту остаются неизменными.
Таким образом, наличие взаимосвязей в иерархическом объекте
предотвращает возможность рассыпания его на части, когда к этому объекту
применяется трансформация.
Рис. 13.14 иллюстрирует применение иерархических объектов в
анимации. Слева представлен фрагмент ролика социальной рекламы: стилизованный человечек идет по дороге. Справа показано устройство человечка.
Дерево, отражающее иерархию компонент, представлено на рис. 13.15.
Обратите внимание, объект «Нога» отображен на схеме дважды. Это
означает, что при отображении человечка используются два экземпляра одного и то же объекта. Изображенный в корне иерархии объект «Человечек»
в данном частном случае является так называемым нулевым родителем, поскольку не имеет «собственных» геометрических образов. Он используется
для группировки нескольких объектов на одном иерархическом уровне.
45
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
В приведенном примере иерархическая структура состоит всего из
двух уровней. В общем случае количество уровней иерархии может быть любым.
Рис. 13.14. Анимированный стилизованный человечек (слева)
и его внутреннее устройство (справа)
Человечек
Голова
Тело
Левая
рука
Правая
рука
Нога
Нога
Рис. 13.15. Иерархическая структура объекта
Еще раз подчеркнем, что в иерархических моделях все преобразования для дочерних объектов производятся относительно координат объектародителя.
Развитием иерархического подхода к анимации сложных объектов
являются методы прямой и обратной кинематики, предполагающие установление правил движения в сочленениях объектов иерархии, а не просто
описание их взаимного расположения.
Контрольные вопросы
1. Дайте определение анимации, кадру.
2. Назовите величины частоты проигрывания кадров для различных форматов представления видеоданных.
46
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
3. Перечислите основные области применения компьютерной
анимации.
4. Охарактеризуйте понятие временной линейки.
5. Назовите известные вам виды анимации.
6. Поясните сущность покадровой анимации. Укажите преимущества и недостатки данного подхода.
7. Почему метод анимации на основе ключевых кадров называют промежуточной, или расчетной анимацией?
8. Поясните, что такое метод интерполяции, и каким образом
он применяется к расчету промежуточных кадров?
9. Обоснуйте необходимость использования криволинейной
интерполяции при анимации объектов.
10. Охарактеризуйте метод процедурной анимации. Объясните,
почему он дает хорошие результаты при моделировании физических
явлений?
11. Дайте понятие спрайта. Назовите основную сферу использования спрайтовой анимации.
12. Опишите технологию захвата движения.
47
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
РАЗДЕЛ 3
ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ОБРАБОТКИ
ИЗОБРАЖЕНИЙ
ГЛАВА 14. ОСНОВНЫЕ ПОНЯТИЯ ЦИФРОВОЙ
ОБРАБОТКИ ИЗОБРАЖЕНИЙ
14.1. Постановка задачи обработки изображений
Цифровая обработка изображений представляет собой самостоятельную область знания, которая быстро развивается.
Цифровая обработка изображений – предмет широкого профиля, охватывающий вопросы физиологии, физики, электронной и вычислительной техники, математики.
Разработанные в настоящее время методы цифровой обработки
изображений широко применяются для исследования природных ресурсов и охраны окружающей среды, в медицинской диагностике,
в криминалистике, научных исследованиях.
14.2. Классификация методов цифровой обработки
и анализа изображений
Класс задач обработки изображений достаточно широк:
реставрация изображений;
выделение и анализ признаков изображений;
объективная оценка качества изображений;
анализ сцен и классификация объектов сцены;
распознавание изображений;
обнаружение объектов и привязка (совмещение) изображений;
коррекция изображений;
получение различных визуальных эффектов и др.
Анализ этого далеко не полного списка позволил выделить
условно две группы задач:
1) обработка изображений без изменения их характеристик (анализ);
2) изменение характеристик изображения в утилитарных целях.
И та, и другая группы задач при своем решении должны использовать некоторое формальное описание обрабатываемого изображения, являющееся его математической моделью, позволяющей
48
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
выделять и использовать признаки изображения, существенные для
решаемой задачи.
Раздел компьютерной графики, изучающий методы и способы
обработки изображений основывается на хорошо развитом математическом аппарате, взятом из различных прикладных теорий, связанных
с цифровой обработкой сигналов.
Рассмотрим основные способы формального описания и представления дискретных изображений с использованием как детерминированных, так и статистических моделей. Большинство математических методов обработки изображений базируется именно на этих моделях.
Формальные математические модели, описывающие изображения, предназначенные для обработки, должны предоставлять доступ к
тем параметрам изображения, которые мы хотим оценить или изменить.
Изображение, формируемое компьютером и отображаемое при
помощи растрового дисплея является по своей природе дискретным.
Чтобы убедиться в этом, рассмотрим три понятия дискретности (рис. 14.1).
1. Пространственная дискретность – изображения, представляемые для обработки в ЭВМ, представляют собой двухмерный конечный массив элементов или растр.
2. Энергетическая дискретность – множество значений пиксела
конечно. В монохромных изображениях это множество градаций яркости
пиксела (max – 255, min – 0, шаг – 1), в цветных изображениях – это конечное множество координат цвета в зависимости от выбранной модели
цвета.
3. Временная дискретность – в растровых системах компьютерной графики в каждый дискретный момент времени наблюдателю
доступен только статический фиксированный кадр независимо от того, является ли изображение статическим или динамическим и за период времени между моментами смены кадров никакие свойства
изображения не изменяются.
Исходя из этого логично предположить, что каждый элемент изображения обладает тремя группами характеристик: пространственные –
координаты элемента изображения; энергетические – яркость, цветовые
координаты; временные – определяются как функция от времени.
Таким образом, каждый конкретный элемент изображения
(пиксел) можно представить следующей общей моделью:
Pixeli  xi , yi , I i , ti ,
где хi, уi – пространственные координаты пиксела;
Ii – интегральный энергетический показатель пиксела;
ti – отсчеты времени.
49
(14.1)
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Временная
T={t1,t2,…,tn}, t2=t1+Δt
Дискретность
Пространственная
I=F(i,j), i=0,1,…,N;
j=0,1,…,M
Энергетическая
Ii,j{bk|k=1,2,…,K}
Рис. 14.1. Дискретность изображений
14.3. Детерминированное описание изображения
Изображение, представляющее собой массив пикселов в общем
случае целесообразно представить как функцию, описывающую изменение обобщенного энергетического показателя в зависимости от координат пиксела и времени:
I  F ( x, y, t )
(14.2)
Процесс обработки дискретно-динамического изображения
можно представить как итеративную процедуру обработки изображения. При этом на каждой итерации производится обработка зафиксированного (статического) изображения (кадра). Следовательно, при
формальном описании изображения фактором времени можно пренебречь и представить модель изображения как массив отсчетов
F ( j1 , j2 ) в некоторой прямоугольной области  J i  ji  J i (рис.
14.2). Часто этот массив полезно рассматривать как матрицу с
N1  N 2 элементами:
F  F (n1 , n2 ),
(14.3)
где 1  ni  N i , а индексы отсчетов перенумерованы так, как это принято в теории матриц.
50
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
J2
-J1
J1
-J2
Рис. 14.2. Детерминированное описание изображения
Для облегчения анализа удобно перейти от матричного представления к векторному, собирая элементы столбцов в один длинный
вектор. Формально эту операцию можно представить с помощью
вспомогательного вектора vn размера N2  1 и матрицы Nn размера
N1N2  N1, определяемых следующим образом:
vn
0  1
: :
 
0  n  1
 
  1 n ,
0  n  1
 
: :
0  N
 
2
Nn
0  1
:
:
 
0  n  1
 
 1 n
0  n  1
 
:
:
0  N
 
2
(14.4)
В этом случае матрица F будет представлена в векторной форме с помощью операции упорядочения:
N2
f   N n Fvn
(14.5)
F   N nT fv nT
(14.6)
n 1
N2
n 1
Достоинствами представления изображения в векторной форме
являются большая компактность обозначений и возможность непосредственного использования методов, разработанных для обработки
одномерных сигналов. Выражения (14.5, 14.6) не только описывают
лексико-графическую связь между матрицей и вектором, но и определяют некоторые операторы, которыми можно пользоваться при математическом анализе.
51
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
14.4. Статистическое описание растрового изображения
Статистическое изображение можно представить как реализацию случайного процесса.
Случайный процесс F(x,y,t) полностью описывается совместной плотностью вероятностей:
p{F1 , F2 ,..., Fj ; x1 , y1 , t1 , x2 , y2 , t2 ,..., x j , y j , t j } . (14.7)
Рассмотрим основные вероятностные характеристики изображения, представленного статистической моделью.
Среднее значение матрицы, описывающей дискретное изображение, представляет собой матрицу:
E{F}  [E{F (n1 , n2 )}] .
(14.8)
Корреляция двух элементов изображения определяется выражением:
R(n1 , n2 ; n3 , n4 )  E{F (n1 , n2 ) F * (n3 , n4 )}
муле:
(14.9)
Ковариация двух элементов изображения вычисляется по фор-
K (n1 , n2 ; n3 , n4 )  E{[ F (n1 , n2 )  E{F (n1 , n2 )}] 
 [ F * (n3 , n4 )  E{F * (n3 , n4 )}]}
(14.10)
Дисперсия элемента изображения определяется выражением:
 2 (n1 , n2 )  K (n1 , n2 ; n1 , n2 )
(14.11)
Контрольные вопросы
1. Какие задачи относятся к классу задач обработки изображений?
2. На какие группы делятся задачи обработки изображений?
3. Каким является изображение, формируемое компьютером?
4. Что такое пространственная, энергетическая и временная
дискретность растрового изображения?
5. Каковы достоинства матричного детерминированного описания модели изображения?
6. Каковы достоинства векторного детерминированного описания модели изображения?
7. Каким процессом можно представить статическое растровое
изображение?
52
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ГЛАВА 15. МАТЕМАТИЧЕСКИЕ ОСНОВЫ ОБРАБОТКИ
ИЗОБРАЖЕНИЙ
15.1. Общая модель обработки изображений
Процесс обработки изображений можно представить в виде
общей модели (рис 15.1).
Статистические параметры
Исходное
изображение
F(x, y)
Гистограммы
Система
обработки
O{F(x, y )}
Символическое описание
Иконическая информация
а
Исходное
изображение
F(x, y)
Система
обработки
O{F(x, y )}
Обработанное
изображение
G(x, y)=O{(x ,y )}
б
Рис. 15.1. Общая модель обработки изображений:
а – анализ изображения; б – преобразование изображения
Общим для моделей является наличие системы обработки
изображений. Различия заключаются в представлении результата: при
решении задач преобразования изображений результатом обработки
является преобразованное изображение (в общем случае размер обработанного изображения не совпадает с размером исходного); при анализе изображений система обработки выделяет существенные для решаемой задачи параметры изображения, которые могут быть представлены в цифровой, текстовой или графической формах, удобных
для решения задачи.
15.2. Линейные фильтры и свертки
Фильтры. Преобразования, для которых аргументы сигнала до
и после преобразования совпадают, называются линейной фильтрацией, а их цифровая реализация – цифровыми линейными фильтрами.
53
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Линейные фильтры, инвариантные сдвигу, определены для
инфинитных сигналов, и их импульсная реакция зависит только от
разности аргументов.
Рассмотрим дискретные линейные системы, то есть системы,
работающие с дискретными сигналами. На вход такой системы подается последовательность чисел x[n] (изображение), и на выходе получается последовательность чисел y[n] (рис. 15.2).
-3
-2
-1
0
1
2
3
Рис. 15.2. Представление дискретного изображения
Теперь изучим, каким образом линейная система может преобразовывать входной сигнал в выходной. Для этого рассмотрим реакцию системы на цифровую дельта-функцию.
Дельта-функция описывается выражением:
1,n  0;
0,n  0.
 n  = 
Очевидно, что любой дискретный сигнал можно разложить
в сумму таких функций, сдвинутых во времени (рис. 15.3). Например,
бесконечный
сигнал
x[n]
можно
представить
в
виде
+
x ( n) =
 x(i) (n  i) . Здесь дельта-функции – это «функции», а x[i] –
i=
это их коэффициенты в линейной комбинации. Если в этой формуле
зафиксировать любое n, то мы получим тождество x[n]=x[n]*1, т.к. все
остальные члены суммы обратятся в 0.
54
(15.1)
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
+
=
+
Рис. 15.3. Представление дискретного сигнала в виде комбинации
сдвинутых по времени -функций
Теперь исследуем отклик линейной системы на цифровую
дельта-функцию. Для этого подадим дельта-функцию в систему и измерим выходной сигнал.
Пусть  (n)  h(n) (рис. 15.4).
[ n]
h[n]
1
1
-3
-2
-1 0
1
2
-3
3
-2
-1 0
1
Рис. 15.4. Отклик системы на -функцию
Оказывается, зная h[n] (отклик системы на дельта-функцию),
можно вычислить отклик системы на любой входной сигнал. Действительно, так как любой входной сигнал является линейной комбинацией сдвинутых во времени дельта-функций, то выходной сигнал
будет той же самой линейной комбинацией сдвинутых во времени
функций h[n]. Это следует из линейности системы и инвариантности к
сдвигу во времени (рис. 15.5).
Результирующая формула для вычисления выходного сигнала
y[n] по входному сигналу x[n] такова: y (n) =
+
 x(n  k )h(k ) . Сигнал
k=
h[n] называется импульсной характеристикой (impulse response) си-
55
2
3
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
стемы, т.к. он является откликом системы на единичный импульс
( -функцию).
x[ n]
1
2
3
=
3 2 1 0
x[-1] [ n+1]
x[-1] h[ n+1]
1
2
3 2 1 0
3
1
2
3
2
3
2
3
2
3
+
+
3 2 1 0
x[0] [n]
x[0]h[n]
1
2
3
3 2 1 0
x[1] [ n-1]
x[1] h[ n-1]
1
2
3
3 2 1 0
1
=
3 2 1 0
1
+
+
3 2 1 0
y[ n]
3 2 1 0
1
Рис. 15.5. Вычисление выходного сигнала линейной системы по входному сигналу и импульсной характеристике системы h[n]
Рассмотрим более подробно алгоритм вычисления отклика линейной системы на произвольный сигнал. Сделаем это на примере
56
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
конкретной линейной системы по обработке изображения. Дискретное
изображение – это двухмерный сигнал x[i, j], обозначающий энергетические характеристики изображения в каждой дискретной точке (i,
j) на плоскости. Дельта-функция в двухмерном случае – это единичная
светлая точка с координатами (0,0) на черном фоне. Пусть наша линейная система такова, что она отвечает на дельта-функцию функцией
h[i, j], такой что h[i, j] = const на всех точках внутри круга с центром
в точке (0, 0) и диаметром 3 и равна нулю вне этого круга. Интеграл
от h[i, j] по всей плоскости равен 1 (исходя из этого условия, выбираем константу const). Выходом линейного сглаживающего фильтра является среднее значение яркости точек по окрестности, покрытой маской фильтра.
Рассмотрим действие такой системы на изображение, состоящее из одной точки на черном фоне (теперь точка имеет произвольные координаты).
Заметим, что на изображение  (i-m, j-n) ( -функция, сдвинутая
в точку (m, n)) система отвечает изображением h[i-m, j-n] в силу инвариантности к сдвигу. Таким образом, на единичные точки в любом
месте система отвечает кругами радиуса 3 с центром в положении
этих единичных точек. То есть любая точка как бы размывается
в
круг. Поэтому в компьютерной графике импульсную характеристику
линейной системы называют PSF – (point spread function), т.е. функция
«размытия» точки.
Любой одномерный сигнал можно представить в виде линейной комбинации сдвинутых дельта-функций. Аналогично можно
представить и изображение в виде линейной комбинации изображений, состоящих каждое из одной точки. Так как система линейная, то
после обработки суммы этих изображений (то есть целого изображения) получится изображение, являющееся суммой отдельных кругов,
получившихся от каждой точки. Другими словами, каждая точка
изображения размоется до круга, а потом все круги наложатся. Таким
образом, данная линейная система осуществляет размытие изображения.
На формирование отклика физически осуществимого фильтра
не могут оказывать влияния элементы входного сигнала, не поступившие к моменту формирования выходного отсчета. Этот принцип
естественным образом «работает» в динамических системах, где все
происходящие в них процессы являются временными процессами.
При цифровой обработке изображений часто приходится иметь дело
с ранее сформированными изображениями, уже хранящимися в памяти устройства обработки. В этом смысле соотношение координат,
строго говоря, уже не играет такой принципиальной причинной роли,
как при обработке сигналов в реальном масштабе времени.
57
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Отметим, что существует множество других линейных систем
(с другими импульсными характеристиками), которые выполняют
другие задачи.
Например, есть линейные системы для придания изображениям резкости, для выделения краев, для придания эффекта «тиснения».
Все эти линейные системы называются фильтрами.
Свертки. Существует несколько способов вычисления отклика
системы на произвольное изображение (один из них указан в предыдущем параграфе).
Каждая точка сигнала превращается в функцию h (сдвинутую
в нужную точку и умноженную на величину данной точки сигнала),
а потом все эти функции складываются.
Другой способ выполнения заключается в том, что мы вычисляем значение каждой точки в результирующем сигнале как взвешенную сумму некоторого множества соседних точек исходного сигнала.
Коэффициенты этой суммы совпадают с импульсной характеристикой
линейной системы, развернутой относительно точки 0. Например, в
рассмотренной ранее системе размытия изображения каждую точку
полученного сигнала можно вычислить как среднее арифметическое
из точек исходного сигнала, попадающих в соответствующий круг
(радиуса 3 с центром в искомой точке). Отсюда и берется формула
свертки для одномерного случая:
+
yn =  xn  k hk 
(15.2)
k=
Рассмотренная операция получения результирующего сигнала
по исходному называется сверткой (convolution). Итак, любая линейная система осуществляет свертку входного сигнала со своей импульсной характеристикой.
Это записывается так: y(n)=x(n) h( n ) . Функция h[n] называется ядром свертки (kernel), или импульсной характеристикой линейной системы. В приведенной формуле пределы суммирования бесконечные, чтобы обобщить формулу на случай бесконечно длинного
ядра свертки.
58
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
h( n)
x( n)
+
y( n)
Рис. 15.6. Свертка
Обычно все изображения, обрабатываемые на компьютере,
имеют конечные размеры (т.е. отличны от нуля лишь на конечном отрезке). Рассмотрим, что происходит с изображением конечной пр одолжительности, когда его сворачивают с конечным ядром свертки.
Пусть изображение x[n] отлично от нуля только на отрезке от 0 до
N-1 включительно («имеет длину N»). Пусть ядро свертки h[n] отлично от нуля на отрезке от –m1 до m2 включительно, состоящем из M точек (М = m1+m2+1). Тогда при подстановке этих сигналов в уравнение
свертки, мы получим сигнал y[n], который отличен от нуля на отрезке
от −m1 до N-1+m2 включительно. Таким образом, длина результирующего сигнала равна N+M-1, т.е. сумме длин исходного сигнала и ядра свертки минус один.
Итак, операция свертки расширяет сигнал на M-1 точку, где
M – длина ядра свертки.
Свойства свертки:
1) x(n)◦y(n)=y(n)◦x(n) (т.е. можно переставлять местами исходный сигнал и ядро свертки);
2) (x(n)◦y(n))◦z(n)=x(n)◦(y(n)◦z(n)) (т.е. вместо того, чтобы проводить свертку по очереди в разных системах, можно получить систему с ядром (y(n)◦z(n)), которая является суперпозицией систем y(n) и
z(n));
3) x(n)◦y(n)+x(n)◦z(n)=x(n)◦(y(n)+z(n)).
59
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
15.3. Нелинейная фильтрация
При нелинейной фильтрации выход нелинейного фильтра
формируется нелинейным образом в зависимости от данных исходного изображения. Остальные понятия, рассмотренные ранее на примере
линейной фильтрации, остаются справедливы.
Нелинейная фильтрация при обработке изображений получила
широкое распространение при решении задач сглаживания или подчеркивания перепадов яркости.
Все линейные алгоритмы фильтрации, используемые для подавления шума, приводят к сглаживанию резких перепадов яркости
изображений, прошедших обработку. Этот недостаток принципиально
не может быть исключен в рамках линейной обработки. Дело в том,
что линейные процедуры являются оптимальными при нормальном
распределении сигналов, помех и наблюдаемых данных. Реальные
изображения часто не подчиняются данному распределению вероятностей. Причем одна из основных причин этого состоит в наличии
у изображений разнообразных границ, перепадов яркости. Поддаваяс ь
локальному нормальному описанию в пределах ограниченных участков, многие реальные изображения в этой связи плохо представляются
как глобально нормально распределенные объекты. Именно это и
служит причиной плохой передачи границ при линейной фильтрации.
Вторая особенность линейной фильтрации – ее оптимальность
при нормальном характере помех. Обычно этому условию отвечают
шумовые помехи на изображениях, поэтому при их подавлении линейные алгоритмы имеют высокие показатели. Однако часто приходится иметь дело с изображениями, искаженными помехами других
типов. Одной из них является импульсная помеха. При ее воздействии
на изображении наблюдаются белые или черные точки, хаотически
разбросанные по кадру. Применение линейной фильтрации
в
этом случае неэффективно – каждый из входных импульсов дает отклик в виде импульсной характеристики фильтра, а их совокупность
способствует распространению помехи на всю площадь кадра.
В связи с этим для сглаживания изображений и подавления
шума применяют нелинейные медианные фильтры.
При применении медианного фильтра происходит последовательная обработка каждой точки кадра, в результате чего образуется
последовательность оценок. Медианный фильтр реализуется как процедура локальной обработки скользящим окном различной формы,
которое включает нечетное количество точек изображения. Обработка
в различных точках формально независима, но в целях ее ускорения
целесообразно алгоритмически на каждом шаге использовать ранее
выполненные вычисления.
60
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
При медианной фильтрации используется двухмерное окно
(апертура фильтра), обычно имеющее центральную симметрию, при
этом его центр располагается в текущей точке фильтрации. На рис.
15.7 показаны два примера наиболее часто применяемых вариантов
окон в виде креста и в виде квадрата. Размеры апертуры принадлежат
к числу параметров, оптимизируемых в процессе анализа эффективности алгоритма. Отсчеты изображения, оказавшиеся в пределах окна,
образуют рабочую выборку текущего шага.
Рис. 15.7. Примеры окон при медианной фильтрации
Двухмерный характер окна позволяет выполнять, по существу,
двухмерную фильтрацию, поскольку для образования оценки привлекаются данные как из текущих строки и столбца, так и из соседних.
Суть медианного фильтра заключается в том, что его отклик
равен медиане данных, находящихся в апертуре. Попавшие в апертуру
точки изображения упорядочиваются по возрастанию или убыванию
значений яркости. Упорядоченный набор значений называется вариационным рядом. Медиана представляет собой центральный элемент
в вариационном ряду, полученном из данных, находящихся в пределах апертуры. Значением медианы заменяют значение центрального
элемента в окне обработанного изображения.
Пример. Выборка имеет вид: {93, 67, 56, 2, 207, 12,115, 61,
32}, а элемент 207, расположенный в ее центре, соответствует текущей точке фильтрации (i1,i2). Большое значение яркости в этой точке
кадра может быть результатом воздействия импульсной (точечной)
помехи. Упорядоченная по возрастанию выборка имеет при этом вид
{2, 12, 32, 56, 61, 67, 93, 115, 207}, следовательно, получаем 61. Таким
образом, влияние «соседей» на результат фильтрации в текущей точке
привело к «игнорированию» импульсного выброса яркости, что сле-
61
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
дует рассматривать как эффект фильтрации. Если импульсная помеха
не является точечной, а покрывает некоторую локальную область, то
она также может быть подавлена. Это произойдет, если размер этой
локальной области будет меньше, чем половина размера апертуры медианного фильтра. Поэтому для подавления импульсных помех, поражающих локальные участки изображения, следует увеличивать размеры апертуры.
Действие медианного фильтра состоит в «игнорировании» экстремальных значений входной выборки – как положительных, так
и отрицательных выбросов. Такой принцип подавления помехи может
быть применен и для ослабления шума на изображении. Однако исследование подавления шума при помощи медианной фильтрации показывает, что ее эффективность при решении этой задачи ниже, чем у
линейной фильтрации.
Медианные фильтры отличаются от линейных низкочастотных
фильтров, применяемых для тех же целей тем, что сохраняют резкие
перепады яркости на изображении, а также более эффективны при
сглаживании импульсного шума. В результате применения медианного фильтра наклонные участки и резкие перепады яркости на изображениях не изменяются. Это свойство полезно, так как на изображениях обычно присутствует много контуров. В то же время импульсные
(точечные) помехи, длительность которых составляет менее половины
окна, будут подавлены. Чем больше размер окна, тем более крупные
детали стираются медианным фильтром.
Взвешенный медианный фильтр является модификацией рассмотренного простого медианного фильтра. Отличие заключается
в том, что в окне записаны значения весов. При построении вариационного ряда точка изображения берется такое количество раз, которое
определяется весом соответствующего участка окна.
Медианные фильтры можно использовать также для обнаружения границ и выделения объектов. Задача повышения четкости
изображения заключается в том, чтобы выделить высокочастотные
детали изображения. Для этого изображение сначала сглаживается
медианным фильтром, а затем вычисляется разность между сглаженным изображением и оригиналом. На величину вычисленной разности
соответственно изменяется яркость точек оригинального изображения. В результате однородные участки изображения не подвергнутся
изменениям, а те места изображения, где присутствуют высокочастотные детали, станут контрастнее.
Часто медианные фильтры применяют итеративно, причем
фильтрация повторяется до тех пор, пока на обработанном изображении не прекратятся изменения. В другом варианте итеративного применения от шага к шагу меняется апертура фильтра.
62
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Медианная фильтрация представляет собой эвристический метод обработки, ее алгоритм не является математическим решением
строго сформулированной задачи. Поэтому исследователями уделяется большое внимание анализу эффективности обработки изображений
на ее основе и сопоставлению с другими методами.
15.4. Обработка изображения на основе дискретного
преобразования Фурье
Преобразование Фурье используется, во-первых, для выделения характерных признаков изображения. Например, постоянная с оставляющая спектра Фурье пропорциональна средней яркости изображения, а высокочастотные составляющие характеризуют величину
и ориентацию его контуров. Во-вторых, преобразование Фурье используется при кодировании изображений, когда ширина спектра
уменьшается за счет отбрасывания малых по величине коэффициентов преобразования. В-третьих, преобразование Фурье применяется
для сокращения размерности при выполнении вычислений. Иначе говоря, в процессе фильтрации малые коэффициенты преобразования
можно отбросить без заметного ухудшения качества обработки.
Суть преобразования Фурье состоит в том, что любая функция,
периодически воспроизводящая свои значения, может быть представлена в виде суммы синусов или косинусов различных частот, умноженных на некоторые коэффициенты. Сложность поведения функции
при этом не имеет значения.
Компьютер способен работать только с ограниченным объемом данных, следовательно, реально он способен вычислять только
дискретный вид преобразования Фурье (ДПФ). Рассмотрим его подробнее.
Пусть дискретный сигнал x[n] имеет период N точек. В этом
случае его можно представить в виде конечного ряда (т.е. линейной
комбинации) дискретных синусоид:
N/2
xn=  Ak cos
k =0
2  kn N / 2
2  kn N / 2
2  kn
+  Bk sin
=  Ck sin
.
N
N
N
k =0
k =0
Синусоиды имеют кратные частоты. Первый член ряда – это
константа, называемая постоянной составляющей (DC offset) сигнала.
Самая первая синусоида имеет такую частоту, что ее период совпадает с периодом самого исходного сигнала. Самая высокочастотная составляющая имеет такую частоту, что ее период равен двум отсчетам.
63
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Коэффициенты Ak и Bk называются спектром сигнала (spectrum). Они
показывают амплитуды синусоид, из которых состоит сигнал. Шаг по
частоте между двумя соседними синусоидами из разложения Фурье
называется частотным разрешением спектра.
Для каждого сигнала можно однозначно определить коэффициенты Ak и Bk . Зная эти коэффициенты, можно однозначно восстановить исходный сигнал, вычислив сумму ряда в каждой точке.
Разложение сигнала на синусоиды (т.е. получение коэффициентов) называется прямым преобразованием Фурье. Обратный процесс – синтез сигнала по синусоидам – называется обратным преобразованием Фурье (inverse Fourier transform).
Алгоритм обратного преобразования Фурье очевиден (он содержится в формуле ряда Фурье; для проведения синтеза нужно просто подставить в нее коэффициенты).
Для изображений, представляющих собой двухмерный сигнал,
спектром является также двухмерный сигнал. Базисные функции преобразования Фурье имеют вид произведений:
h sin n1,n2  = sin
k1,k2
2  k1n1
2  k 2 n2
 sin
N1
N2
h cos n1,n2  = cos
k1,k2
2  k1n1
2  k 2 n2
 cos
N1
N2
и
.
Здесь:
N1xN2 – размер исходного сигнала, он же – размер спектра;
k1 и k2 – это номера базисных функций (номера коэффициентов
ДПФ, при которых эти функции находятся). Поскольку размер спектра равен размеру исходного сигнала, то k1 = 0,..., N1-1;k2 = 0, ... ,N2-1;
n1 и n2 – переменные-аргументы базисных функций.
Т.к. область определения базисных функций совпадает с областью определения сигнала, то n1 = 0,...,N1-1; n2 = 0,...,N2-1.
Поскольку ядра преобразования симметричны и разделимы,
двухмерное ДПФ обладает свойством сеперабельности, т.е. его можно
вычислить отдельно по двум измерениям. Для вычисления двухмерного ДПФ достаточно вычислить одномерные комплексные ДПФ всех
строк изображения, а затем вычислить в результирующем «изображении» одномерные комплексные ДПФ всех столбцов. При этом результаты всех одномерных комплексных ДПФ нужно записывать на место
исходных данных для этих ДПФ. Например, при вычислении одномерного ДПФ первой строки изображения нужно результат ДПФ записать в первую строку этого изображения (он имеет тот же размер).
64
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Для этого нужно каждый «пиксел» хранить в виде комплексного числа.
Любой периодический сигнал может быть представлен в виде
ряда Фурье, но, в отличие от одномерных сигналов, двухмерные описываются двухмерным рядом Фурье, имеющим вид:
1
~
xi ,i =
1 2
I1I 2
I1  1 I 2  1
2
2
~
  X k1 ,k2 exp(j I i1k1 + j I i2 k2 ), j =  1
1
2
k1=0 k 2=0
Здесь k1, k2 – двухмерный номер базисной функции, а величи2k1( 2 )
ны
имеют смысл пространственных частот. Иногда пространI 1( 2 )
ственными частотами называют целочисленные величины k1 и k2.
~
Коэффициенты Фурье X k1 , k 2 ряда образуют двухмерный частотный спектр сигнала и определяются формулой прямого преобразования Фурье.
Таким образом, эффективный алгоритм вычисления двухмерного ДПФ изображения заключается в вычислении одномерных БПФ
сначала от всех строк, а потом – от всех столбцов изображения.
Двухмерный спектр Фурье изображения является представлением двумерного поля в виде ряда Фурье. Для того, чтобы такое представление было справедливым, исходное изображение также должно
обладать периодической структурой, т.е. иметь рисунок, повторяющийся по вертикали и горизонтали. Таким образом, правый край
изображения примыкает к левому, а верхний – к нижнему. Из-за разрывов значений яркости в этих местах в спектре изображения возникают дополнительные составляющие, лежащие на координатных осях
частотной плоскости. Эти составляющие не связаны со значениями
яркости внутренних точек изображения, но они необходимы для воспроизведения его резких границ.
Достоинством обычного преобразования Фурье является то,
что с его помощью очень просто выполняется стационарная фильтрация сигналов. Для этого требуется получить частотный спектр сигнала
и частотный коэффициент передачи фильтра. Затем, перемножив их,
определить частотный спектр выходного сигнала, а выполнив обратное преобразование Фурье, – найти сам выходной сигнал.
Низкие частоты Фурье-преобразования отвечают за возникновение доминирующих значений яркости на гладких участках изобра-
65
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
жения, в то время как высокие частоты ответственны за детали изображения, такие как контуры и шум.
Сгладить или повысить резкость изображения можно не только
при помощи линейной или нелинейной фильтрации, но и, выполняя
обработку в частотном пространстве, полученном при помощи ДПФ.
Достоинствами процедур повышения резкости в спектральной области являются более высокая помехоустойчивость и лучшее качество
обработанных изображений. Недостаток – более высокая вычислительная сложность по сравнению с обработкой «окном».
Обработка изображения в частотном пространстве заключается
в поэлементном перемножении Фурье-образа изображения на передаточную функцию H(u,v), которая выбирается в соответствии с назначением фильтра.
Для сглаживания изображения рассматриваемым методом в
самом простом случае передаточная функция принимает значение 1,
если расстояние от начала координат в частотном пространстве меньше или равно выбранному значению, иначе передаточная функция
принимает значение 0.
1, приDu,v   D0 ;
H u,v  = 
 0, приDu,v  > D0,
Таким образом, отбрасываются все высокочастотные составляющие Фурье-образа, находящиеся за пределами круга заданного радиуса. Внутри круга все частоты остаются без изменений. Обработка
изображения в частотном пространстве при помощи рассмотренной
передаточной функции называется идеальным фильтром низких частот.
Существует связь между некоторыми фильтрами в пространстве изображения и частотном пространстве.
15.5. Статистические методы обработки изображений
При обработке и анализе изображений приходится задаваться
вопросом об их качестве. Качество изображения является очень важным, но одновременно и довольно нечетким понятием. Одним из часто используемых способов оценки изображения является анализ его
статистических свойств.
Если предположить, что массив элементов изображения является реализацией двухмерного случайного процесса с известными ма-
66
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
тематическим ожиданием и ковариационной функцией, то его спектр
также будет реализацией случайного процесса:
 u, v  =   F  j, k  A j, k; u,v 
N 1 N 1
j=0 k =0
разом:
Математическое ожидание можно определить следующим об-
Eu,v =  EF  j, k A j,k;u,v ,
j
k
где E{F(j,k)} – математическое ожидание F(j,k).
Получим выражение для ковариационной функции спектра
F(u,v):
K Φ u1,v1 ;u2,v2  =  K F  j1, j2 ; k1,k 2 A j1,k1 ;u1,v1 A   j2,k 2 ;u2,v2 
j1
j2
k1 k 2
,
где через KF(j1,j2;k1,k2) обозначена ковариационная функция
F(j,k). И, наконец, дисперсия F(u,v) равна:
 Φ2 u,v  = K Φ u,v; u,v  .
Часто возникает задача обнаружения одного изображения в
другом. Для надежного обнаружения таких изображений применяется
метод корреляции.
Пусть имеется исходное изображение, развернутое в вектор
x[n], и нужно обнаружить в нем последовательность g[n] некоторой
конечной длины. Для поиска этой последовательности вычисляются
скалярные произведения сигналов x[n] и g[n-k] для различных k. То
есть пытаемся «приложить» искомое изображение во всех возможных
положениях к исходному и найти их «степень похожести» (произведение) для каждого положения. Таким образом, на выходе получаем
сигнал y[k], показывающий, насколько исходное изображение x[n]
в позиции k похоже на искомое g[n]. Формула вычисления корреляции
такова: y (n) =
+
 g (i) x(i  k ) . Здесь суммирование можно проводить в
i=
конечных пределах, т.е. только для тех i, для которых искомое изображение g[i] отлично от нуля. Бесконечные пределы суммирования,
как и в уравнении свертки, записываются для общности (можно было
проводить корреляцию с сигналом любой длины).
Если во входном изображении присутствует только шум, то
и значения корреляции будут шумом небольшой амплитуды. Но как
только в шуме входного изображения появится форма, похожая на искомый сигнал, значение корреляции в этой точке станет высоким.
Перепишем формулу корреляции в общепринятом виде:
+
y( n ) =  x( n + k )g( k ) .
k = 
67
(15.3)
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Как видно, формула вычисления корреляции очень похожа не
формулу вычисления свертки. Действительно, если в формуле корреляции сделать замену переменной суммирования, то приходим к эквивалентной формуле корреляции y( n ) =
+
 x( n  k )g( k ) . Эта фор-
k = 
мула совпадает с формулой свертки, если положить ядро свертки h[k]
= g[-k]. Таким образом, корреляцию можно вычислять как свертку,
положив в качестве ядра свертки искомое изображение, развернутое
относительно нулевой точки.
Иногда корреляцию называют кросс-корреляцией или перекрестной корреляцией (cross-correlation). Термин «автокорреляция»
(autocorrelation) применяется, когда находится корреляция изображения с самим собой. Смысл этой операции в том, чтобы найти наиболее
вероятные периоды повторения фрагмента изображения сигнала.
15.6. Прикладные задачи обработки изображений
Рассмотрим несколько применений цифровой обработки сигналов преимущественно в компьютерной графике и обработке изображений.
Передискретизация. В компьютерной графике очень часто
возникает необходимость изменения размеров изображения.
Если принять во внимание инвариантность формы и размеров
пиксела, изменение размеров растрового изображения представляет
собой изменение количества пикселей для описания этого изображения (рис. 15.7). При этом возникает проблема вычисления цвета добавляемых или остающихся пикселов. Данная проблема решается при
помощи операции передискретизации.
Ресамплинг (передискретизация, resampling) – это изменение
частоты дискретизации цифрового сигнала. Применительно к цифровым изображениям ресамплинг означает изменение размеров изображения.
Рис. 15.7. Изменение размеров изображения
Существует множество различных алгоритмов ресамплинга
изображений. Наиболее часто на практике используют алгоритмы:
– ближайшего соседа (nearest neighbor);
– билинейной интерполяции (bilinear interpolation);
– бикубической интерполяции (bicubic interpolation).
68
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Наиболее качественный ресамплинг получается при использовании алгоритмов, учитывающих необходимость работы не только с
временной, но и с частотной областью сигнала.
Рассмотрим подробнее простейшие методы ресамплинга.
Метод ближайшего соседа
При увеличении размеров изображения пустые строки и
столбцы заполняются дублированием существующих (рис. 15.8).
При уменьшении размеров изображение условно разбивается
на блоки таким образом, чтобы количество блоков соответствовало
количеству пикселов результирующего изображения (рис. 15.9, а).
В блоке согласно заданного решающего правила выбирается пиксел
(рис. 15.9, а), цвет которого присваивается всем пикселам блока
(рис. 15.9, б). На заключительном этапе формируется уменьшенное
изображение, при этом цвет пиксела соответствует цвету соответствующего ему блока (рис. 15.9, в).
а
б
в
Рис. 15.8. Увеличение размеров изображения
методом ближайшего соседа:
а – исходное изображение 3х3;
б – заполнение пустых строк и столбцов;
в – результат ресамплинга 6×6
а
б
в
Рис. 15.9. Уменьшение размеров изображения методом
ближайшего соседа
69
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Основными достоинствами рассмотренного метода являются
простота его реализации и низкая требовательность к вычислительным ресурсам ЭВМ.
К существенным недостаткам метода относят:
– появление лестничного эффекта при увеличении изображения, что требует дополнительных затрат на его устранение;
– потеря деталей при уменьшении изображения;
– некорректная обработка цвета участков изображения.
Существуют модификации данного метода, позволяющие отчасти избавиться от последнего недостатка. Данные модификации отличаются способом выбора цвета блока. Сюда можно отнести мажоритарный выбор (выбор преобладающего цвета), медианный выбор
(выбор пиксела среднего в упорядоченном наборе) и другие.
Метод билинейной интерполяции
Этот метод отличается от предыдущего способом формирования оттенка цвета недостающих пикселов (при увеличении изображения) или оттенка цвета результирующего пиксела (при уменьшении
изображения).
При увеличении изображения цвет недостающих пикселов вычисляется как линейная интерполяция цветов соседних пикселов.
Сначала интерполируются пикселы в столбцах, а затем – в строках.
Для вычисления цвета результирующего пиксела при уменьшении изображений используется линейная (аддитивная) свертка.
В простейшем случае это усреднение цветов пикселов, входящих
в
соответствующий блок:
1 N i
I   Ik .
N k 1
i
Использование данного метода позволяет достичь более плавных переходов цвета и значительно ослабить лестничный эффект на
границах переходов цвета.
В силу простоты реализации и приемлемого качества результата данный метод нашел широкое применение во многих задачах компьютерной графики и реализован аппаратно в большинстве графических адаптеров.
Метод бикубической интерполяции
При использовании этого метода в формировании оттенка цвета недостающих пикселов (при увеличении изображения) участвуют
больше двух соседних пикселов. В частности для бикубической ин-
70
(15.4)
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
терполяции производится расчет по 16 пикселам. Математический аппарат этого метода идентичен математическому аппарату построения
криволинейных поверхностей.
С помощью данного метода достигается высокая плавность переходов цвета и устраняется лестничный эффект. В качестве недостатка можно отметить высокие вычислительные затраты, что в ряде
задач вызывает невозможность использования этого метода без специального аппаратного ускорения.
Антиалиасинг изображений. Устранение ступенчатого эффекта, или алиасинга (aliasing), при генерации изображений – важная
задача компьютерной графики. Алиасинг в изображениях приводит
к зубчатости краев фигур, муару, плохой читаемости текста и графиков (рис. 15.10, а). Одним из основных способов предотвращения алиасинга является так называемый суперсэмплинг (supersampling). Этот
прием заключается в генерации изображения с большим разрешением
и ресамплингу этого изображения до нужного размера.
а
б
Рис. 15.10. Устранение лестничного эффекта:
а – изображение без антиалиасинга;
б – изображение с применением антиалиасинга
Псевдотонирование изображений. Псевдотонирование (halftoning) – это создание иллюзии полноцветности изображения с помощью
небольшого реального числа цветов. Пример псевдотонирования – фотографии в газетах, где любые оттенки серого передаются с помощью чередования мелких черных и белых точек. Кроме того, многие устройства
печати, например, цветные струйные принтеры имеют ограниченный
набор красок (бытовые струйные принтеры имеют 4–6 красок),
и нет
возможности регулировать размер капли. В этом случае формирование
цветного пятна происходит за счет распределения количества точек ос-
71
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
новных цветов пропорционально из интенсивности в исходном изображении на ограниченной площади.
Рассмотрим вариант псевдотонирования для черно-белых
изображений (рис. 15.11, а). При этом задачу псевдотонирования
изображений можно сформулировать следующим образом.
Необходимо представить полутоновое изображение в виде монохромного (двухцветного) изображения.
Пусть имеется изображение в оттенках серого, интенсивность
точек которого может принимать произвольные значения от 0 до 1.
Рассмотрим некоторые алгоритмы приведения такого изображения
к монохромному, яркость точек которого может принимать два значения: 0 или 1.
Простейший алгоритм основан на усечении (сравнении с пороговым значением). Все пикселы с яркостью, например, большей 0,5
получают яркость 1, все остальные – яркость 0. Такой алгоритм обычно дает наихудшие результаты (рис. 15.11, б). Добиться относительно
приемлемого результата можно изменением порогового значения в
зависимости от тонового диапазона исходного изображения.
Более качественные алгоритмы основаны на распределении
черных и белых пикселей в полученном изображении таким образом,
чтобы на каждом участке изображения концентрация белых пикселей
была пропорциональна яркости этого участка в исходном изображении.
Один из таких методов – упорядоченное псевдотонирование.
В этом методе исходное изображение разбивается на небольшие блоки одинакового размера (например, 3×3). Затем в каждом блоке находится средняя яркость изображения. В соответствии с этой средней
яркостью выбирается количество белых пикселей в соответствующем
блоке получаемого монохромного изображения. Обычно эти белые
пиксели упорядочиваются в соответствии с некоторым регулярным
шаблоном (рис. 15.11, в). Этот метод получил широкое применение
при печати полутоновых изображений на черно-белых принтерах.
Существуют другие алгоритмы достижения нужной концентрации белых пикселей в получаемом монохромном изображении, например, класс алгоритмов, которые достигают этого в две стадии. Сначала
к изображению добавляется случайный шум необходимой амплитуды,
а затем применяется порог. Такие алгоритмы называют диттерингом
(dithering) (рис. 15.11, г, д, е, ж).
72
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
а
б
в
г
д
е
ж
Рис. 15.11. Методы псевдотонирования изображений:
а – исходное полутоновое изображение; б – порог; в– упорядоченное
псевдотонирование; г – диттеринг белым шумом; д – диттеринг светло-розовым шумом, е – диттеринг голубым шумом; ж – диттеринг с
диффузией ошибки.
Выравнивание освещенности изображений. Часто некоторые участки на изображении бывают слишком темными, чтобы на них
можно было что-то разглядеть (15.12, а). Если прибавить яркости ко
всему изображению, то изначально светлые участки могут оказаться
совсем засвеченными. Чтобы улучшить вид изображения в таких случаях, применяется метод выравнивания освещенности, основанный на
цифровой высокочастотной фильтрации.
73
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
а
б
Рис. 15.12. Выравнивание освещенности
Высокочастотный фильтр можно реализовать следующим образом. Сначала к изображению применяется операция размытия (низкочастотный фильтр), а потом из исходного изображения вычитается
размытое (рис. 15.2, б). Наилучший радиус размытия зависит от конкретного изображения. Можно начать эксперименты с радиуса порядка десяти пикселей.
Улучшение изображений и художественные эффекты. Для
улучшения изображений и создания различных художественных эффектов часто применяется фильтрация. Например, для придания изображению резкости можно воспользоваться фильтром, который усиливает сигнал на высоких частотах. Существуют фильтры для выделения или нахождения границ в изображении, размытия, направленного
смазывания изображений, создания различных эффектов, таких как
акварель, тиснение.
Рассмотрим некоторые реализации.
Для устранения шума и получения эффекта размытия изображения используют ряд фильтров, построенных на основе линейной
свертки. Эти фильтры отличаются лишь матрицей весовых коэффициентов. При этом должно выполняться следующее условие: сумма весовых коэффициентов должна быть равной единице. Степень размытия определяется радиусом фильтра. Радиус фильтра – расстояние в
пикселах от условного центра апертурного окна до его границы.
Например, если ядро фильтра имеет размеры 5×5 пикселов, говорят,
что этот фильтр имеет радиус 2 пиксела.
Для фильтра усреднения (box filter) значение результирующего
пиксела вычисляется как среднее арифметическое значений пикселов,
попавших в апертурное окно фильтра:
74
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
n
m
I (i, j )    I (i  l )( j  k ) 
l  n k  m
1
.
4nm
(15.5)
Фильтр размытия (bluring) отличается от предыдущего тем, что
степень участия пикселов, попавших в апертурное окно, в формировании результирующего пиксела зависит от расстояния между ними и
центральным пикселом:
n
m
I (i, j )    I (i  l )( j  k )  Blur (l , k ) ,
(15.6)
l  n k  m
3
 32
3
Blur (l , k )  
 32
3
 32
3
32
8
32
3
32
3
32 
3
.
32 
3
32 
(15.7)
Значения коэффициентов подбираются в общем случае экспериментальным путем для достижения субъективно приемлемого качества результата, однако существует ряд формализованных способов
формирования матрицы коэффициентов, наиболее известным из них
является способ, использующий функцию Гаусса:
I ( i , j ) 
n
m
  I ( i  l )( j  k ) 
l  n k  m
1
e
2

d2
2 2
,
(15.8)
где d  l 2  k 2 – расстояние от центрального пиксела до пиксела окрестности;  – коэффициент, определяющий крутизну функции Гаусса.
На рисунке 15.13 показан результат работы фильтра Гаусса
с   4 по устранению периодического шума в сравнении с фильтром
усреднения по 49 пикселам (7×7).
Для решения задачи устранения шума типа «соль» (светлые
точки на темном фоне), «перец» (темные точки на светлом фоне), царапин более эффективным является медианный фильтр.
75
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
а
б
в
Рис. 15.13. Устранение шума фильтром Гаусса:
а – исходное изображение с наложенным периодическим шумом; б –
результат работы фильтра Гаусса; в – результат работы фильтра
усреднения
Дадим формальное определение медианы. Пусть Ai , i  1,n –
отсортированный набор чисел, тогда An / 2 – медиана набора.
Апертурное окно медианного фильтра представляет собой матрицу маркеров (рис. 15.14). Пиксел, соответствующий маркированной
ячейке этого окна добавляется в набор. Расположение маркеров
в
апертурном окне и размер апертуры варьируются в зависимости от задач. Радиус медианного фильтра определяет размеры окрестности обрабатываемого пиксела.
1
1 1 1
1 1 1
1 1 1
а
1
1 1 1
1
1
1 1 1
1
1
1 1 1
1
в
г
1
1 1 1 1 1
б
Рис. 15.14. Форма и размер апертуры медианного фильтра:
а – «полный»; б – «крест» радиуса 1; в – «крест» радиуса 2;
г – «кольцо»
Отсюда очевиден алгоритм работы медианного фильтра.
Шаг 1. Отобрать пикселы, соответствующие маркерам апертурного окна из окрестности обрабатываемого пиксела.
Шаг 2. Отсортировать полученную последовательность по возрастанию значений пикселов.
76
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Шаг 3. В качестве результирующего пиксела выбрать медианное значение из полученного набора.
Результат работы медианного фильтра радиусом в 7 пикселов
к изображению с шумом и артефактами в виде тонких светлых
окружностей показан на рисунке 15.15.
а
б
Рис. 15.15. Результат работы медианного фильтра
Использование медианного фильтра для устранения шума тем
более желательно, что при этом не размывается изображение и не меняется цветовая палитра изображения.
Выделение контура изображения. Известен ряд способов выделения контуров изображений (рис. 15.16).
Рис. 15.16. Выделение контура изображения
Вычисление градиента связано, как известно, с тем, что
наибольшее изменение функции происходит в направлении ее градиента. Величина изменения измеряется абсолютной величиной градиента:
77
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
 I

I
I ( x, y )   ( x, y ), ( x, y ) ;
y
 x


 I
  I
I ( x, y )   ( x, y )    ( x, y ) 
 x
  y

2
2
Семейство методов основано на приближенном вычисление
градиента, анализе его направления и абсолютной величины. Приближенное вычисление градиента, свертка по функциям:
 1 0   0
0
1   1

 - 1  2  1
0
0
0 

 1
2
1 
 - 1  1  1
0
0
0 

 1
1
1 
 1
– дифференцирование Робертса;
0 
1
 -1 0
 2 0
2  – дифференцирование Собеля;

  1 0
1 
-1
 1

 1
0
0
0
1
1  – дифференцирование Превитта.
1 
Математический смысл вычисления градиента – приближенное вычисление производных по направлению.
Основной недостаток методов основанных на анализе градиента, – чувствительность к шуму, и соответствующее увеличение шумности изображения.
Выделение краев с помощью анализа второй производной:
2 f
 вторая производная по x;
2 x
2 f
 вторая производная по y;
2 y
78
1  2 1
1  2 1


1  2 1
1
1 
1
  2  2  2


 1
1
1 
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
2 f 2 f
f ( x, y )  2  2 - оператор Л апласа;
 x  y
 0 1 0 
 1 4  1


 0  1 0 
Контрольные вопросы
1. Задайте маску взвешенного линейного фильтра размерами
3×3 для выполнения операции повышения четкости изображения.
2. В чем заключаются отличия прямого и обратного двухмерных ДПФ?
3. Каким образом наиболее эффективно вычисляется двухмерное ДПФ изображения?
4. Как происходит сглаживание изображения при помощи
обработки в частотном пространстве?
5. Сравните линейную, нелинейную и обработку на основе
ДПФ для целей шумоподавления и повышения резкости изображения.
6. Сравните вычисление корреляции и свертку.
7. Дать определение понятию ресамплинга и раскрыть содержание методов его реализации.
8. В чем отличие алгоритмов ресамплинга, реализованных на
методе ближайшего соседа (nearest neighbor), билинейной интерполяции, бикубической интерполяции?
9. Что такое алиасинг изображений и каковы его последствия?
10. В чем сущность одного из основных способов предотвращения алиасинга – суперсэмплинг (supersampling)?
11. Дать определение понятию псевдотонирования (half-toning)
и привести его примеры.
12. В чем сущность метода упорядоченного псевдотонирования.
13. Как осуществляется выравнивание освещенности изображения.
14. Как осуществляется поиск фрагментов в изображениях?
15. Раскрыть содержание выражения фильтров усреднения,
размытия, фильтра Гаусса, медианного фильтра.
16. Какие существуют способы выделения полезной информации?
17. Раскрыть содержание методов выделения полезной информации путем вычисления градиента по функциям дифференцирования
Робертса, Собеля, Превитта.
18. В чем состоит математический смысл вычисления градиента?
19. Какой основной недостаток методов, основанных на анализе градиента?
79
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ГЛАВА 16. ОСНОВЫ ПРЕОБРАЗОВАНИЙ РАСТРОВЫХ
ИЗОБРАЖЕНИЙ
16.1. Основные понятия метаморфического преобразования
изображений
Метаморфическое преобразование изображений, или морфинг
(morphing) – это технология компьютерной графики, создающая плавное преобразование одного графического образа в другой (рис.16.1).
Часто преобразование выполняется программно. Программное обеспечение морфинга генерирует заданное число промежуточных кадров,
которое обеспечивает плавный переход начального образа в конечный. Встречается в трехмерной и двухмерной (как растровой, так и
векторной) графике. При использовании морфинга человек создает
лишь опорные фигуры, а также иногда задаются ключевые точки, которые помогают компьютеру выполнить правильный морфинг.
Рис. 16.1. Примеры морфинга изображений
Метаморфическое преобразование изображений I(0)(v) и I(T)(v) –
преобразование:
F(t): I(0)(v), I(T)(v) –> I(t)(u), tЄ[0, T],
v=(vx, vy), u=(ux, uy),
выполняющее «плавное превращение» изображения I(0) в –I(T)
(и
(T)
(0)
наоборот I в –I ). Функция F(t) обладает следующими свойствами:
F(t=0, I(0), I(T)) = I(0)
(16.2)
F(t=T, I(0), I(T)) = I(T)
(16.3)
80
(16.1)
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
F(t, I(0), I(T)) = I(t), 0<t<T, последовательность изображений { I(t)(u) }
представляет промежуточные состояния между I(0) и I(T), причем I(0)>{ I(t) }-> I(T) при 0->t->T, т.е. отражает эффект «непрерывной»
трансформации объектов из I(0) в объекты из I(T) и наоборот (16.1).
16.2. Морфирование геометрических объектов
Описание алгоритма для двухмерного случая. Приведем
возможную реализацию алгоритма морфирования геометрических фигур для плоских фигур (рис. 16.2). Алгоритм очевидно обобщается для
случая трехмерных фигур (рис. 16.3). Подробное описание алгоритма
можно найти в [115].
Рис. 16.2. Примеры морфирования в двухмерном пространстве
Рассмотрим процесс морфирования выпуклой Фигуры А в выпуклую Фигуру B. Пусть морфинг производится в течение промежутка
времени [0;1]. Необходимо указать для каждого момента времени t из
[0;1] фигуру AB(t) такую, что AB(0) = A, AB(1) = B, причем изменение
AB с течением времени – плавное.
Через грани фигуры А проводятся прямые, назовем их ограничивающими прямыми. Фигура, ограничиваемая этими прямыми, – A''.
81
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 16.3. Примеры морфирования в трехмерном пространстве
Производится параллельный перенос ограничивающих прямых
таким образом, чтобы A'' была минимальной фигурой, содержащей
фигуру B (рис. 16.4). Параллельный перенос граней по отдельности
показан на рис. 16.4, а, б, в. На рис. 16.4, г показан результат: исходная фигура «описала» конечную.
а
б
в
г
Рис. 16.4. Создание описывающих фигур
82
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Если производить перенос в течение конечного промежутка
времени, получим морфинг А в А'':
A' = A'(t)
A'(0) = A
A'(1) = A''
(16.4)
Аналогично создается образ B'' фигуры B, содержащий фигуру
А, и морфинг B' = B'(t). Построение образа показано на рис. 16.5, a – г.
б
а
в
д
г
Рис. 16.5. Создание описывающих фигур
Для того, чтобы построить непрерывное морфирование фигур
A и B друг в друга, одновременно производится морфинг A в A' и B' в
B. Для каждого t из [0;1] строится фигура AB'(t), являющаяся пересечением A'(t) и B'(t). Процесс получения промежуточных фигур показан на рис. 16.6, результат показан на рис. 16.7.
Заметим, что:
AB'(0) = A
AB'(1) = B
AB изменяется плавно с течением времени. Таким образом,
AB'(t) – морфинг между фигурами A и B.
83
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 16.6. Процесс морфинга
Рис. 16.7. Результат морфинга
Описание алгоритма для трехмерного случая. Предположим, что нормали граней фигуры А направлены наружу, будем называть полупространство относительно грани (или плоскости, содержащей грань) фигуры А положительным (P+(a)), если нормаль грани
направлена в это полупространство.
84
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Зададимся разрешением морфинга (количеством промежуточных фигур между A и B) – N.
1. Возьмем грань фигуры А, обозначим плоскость, ее содержащую, a. Вычислим минимальный вектор d таким, что фигуры А и B
будут целиком лежать по одну сторону от грани a', полученной из a
путем сдвига на d.
1.1. Среди всех вершин фигуры В найдем вершину M, наиболее
удаленную от плоскости a и находящуюся в P+(a). Проекция вектора
из произвольной точки a в M на нормаль a будет искомым вектором d.
1.2. Обозначим плоскость, полученную из a путем добавления
к ней d×(i/N), как a(i).
2. Повторим шаг 1 для всех граней фигур А. Множество полученных граней для каждого i обозначим A(i).
Для фигуры B повторим ту же самую процедуру, за исключением: обозначение b(i) для граней фигуры B будет означать b+d×(N-i/N).
Для получения i-го шага морфинга необходимо найти фигуру,
ограничиваемую множествами плоскостей A(i) и B(i). Объединение
этих множеств назовем C(i).
1. Найдем множество Q' точек, где пересекаются три или более
граней из С(i).
2. Получим из Q' множество Q путем отбрасывания точек,
находящихся в положительном полупространстве хотя бы одной из
плоскостей из C(i).
3. Сформируем грани промежуточной фигуры из точек Q.
3.1. Для каждой плоскости из C(i) найдем точки из Q, принадлежащие ей (расстояние от плоскости до точки равно нулю). Эти точки станут вершинами грани.
3.2. Занумеруем точки так, чтобы они образовали выпуклый
многоугольник. Выберем вектор b, соединяющий две произвольно
выбранные точки A и B из рассматриваемого набора. Обозначим
nнормаль к плоскости, которой принадлежат точки набора (плоскость
можно найти по любым трем точкам набора). Нумерацию точек набора проведем в соответствии с углом, на который нужно повернуть b
вокруг A, чтобы плоскость, проходящая через n и q, включила отличную от A и B точку С из набора, т.е. между векторами b
иc=
AC. Примечание: при нумерации имейте в виду, что потом понадобится найти нормаль полученной грани.
Решаемая на этапе 3 задача – нахождение выпуклой оболочки
для множества точек Q. Существуют более изящные алгоритмы решения этой задачи [114].
85
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
16.3. Простейшая реализация метаморфических
преобразований растровых изображений
Простейшая реализация метаморфического преобразования
растровых изображений (морфинга) сводится к двум преобразованиям: последовательному замещению одного изображения другим
(Fading) и аффинному преобразованию (Affine transformation).
Последовательное замещение одного изображения другим
(Fading) основывается на интерполяции цвета соответствующих пикселов между двумя изображениями без каких-либо геометрических
трансформаций (рис. 16.8):
I(t)(v) = (1-t)I(0)(v) + t I(1)(v), tЄ[0, 1]
(16.5)
Для цветных изображений (например, в RGB-модели) вычисления выполняются независимо для всех цветовых составляющих.
Рис. 16.8. Пример последовательного замещения одного
изображения другим
Аффинное преобразование изображений (рис. 16.9) задается
в виде:
u=Av + b, A  0
a
A   11
a21
(16.6)
a12 
 b1 
b

,
b  ,
a22 
 2
(16.7)
 a12 
a11 
(16.8)
обратное v=A-1(u – b),
A 1 
1  a22
det( A)  a21
86
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
или в обобщенных координатах:
^
^
u  M
(16.9)
u x 
v x 
 a11
^
u  u y  ,  v y  , M  M A,b  a 21
 
 

 1 
 1 
 0
^
^
a12
a 22
0
bx 
by  , (16.10)

1 
^
обратное   M u ,
1
M 1
 a22
1 

 a21
det( A) 
 0
 a12
a11
0
a12 by  a22 bx 
 a11by  a21bx  . (16.11)

det( A) 
Аффинное преобразование M изображения I(0)(v) в I(T)(u) можно
записать так:
M: I(0)(v) → I(T)(u),
(16.12)
I(0)(v)= I(T)(u) = I(T)(Mv),
(16.13)
или в более удобном для реализации виде:
I(T)(u) = I(0)(v)= I(0)(M-1u).
(16.14)
Для точек вне изображения можно взять «средний» цвет изображения или цвет фона. Либо взять «большое» изображение, а показывать и выполнять геометрические преобразования только над его
частью.
С помощью такого преобразования можно задать поворот, перенос, масштабирование и «скашивание».
Рассмотрим последовательность аффинных преобразований
M(t), такую, что:
M(t) = MA(t),b(t) = M(1-t)E+tA,tb tЄ[0, 1],
где E – единичная матрица, или в матричном виде:
M (t )  M A ( t ),b ( t )
(1  t )  ta11

ta21


0
87
ta12
(1  t )  ta22
0
(16.15)
tbx 
tby  (16.16)

1 
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 16.9. Примеры аффинного преобразования изображений
Получим последовательность изображений {I(t)(u)}:
причем:
M(t): I(0)(v) → I(t)(u), I(t)(u) = I(0)( M(t)-1 u ), (16.17)
M(0)= ME,0: I(0)(v) → I(0)(v),
M(1) = MA,b: I(0)(v) → I(1)(u),
(16.18)
M(t) = M(1-t)E+tA,tb: I(0)(v) → I(t)(u),
(t)
то есть {I (u)} – некоторая последовательность изображений, представляющая собой «плавный» переход от I(0) к I(1).
Таким образом, задав I(0)(v), MA, b и применив описанный алгоритм, можно построить последовательность, отражающую «постепенное» выполнение аффинного преобразования MA,b над I(0)(v).
Заметим, что M(t) можно задать и другими способами, необязательно линейными, как в этом примере. Если M матрица поворота на
1800, то из предложенного алгоритма M(0,5) – нулевая матрица,
и
многие дальнейшие рассуждения не верны. В этом случае необходимо
представить другой способ задания M(t), например, выделить матрицу
поворота и «разложить» М на последовательность поворотов и смещений с растяжениями.
88
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Объединим геометрические преобразования изображений с последовательным
замещением
одного изображения другим
(Fading + Affine transformation), то есть (рис. 16.10):
Fading: I(t)(u) = (1-t)I(0)(u) + tI(1)(u), tЄ[0, 1]
(16.19)
Affine transformation M: I(t)(u) = I(0)( M(t)-1u)
(16.20)
Рис. 16.10. Пример морфинга объединением геометрического
преобразования изображений с последовательным замещением одного
изображения другим
Пусть заданы I(0), I(1), и M. Рассмотрим преобразование:
I(t)(u) = (1-t) I(0)( M(t)-1u ) + t I(1)( [M-1(1-t)]-1 u)(16.21)
Такое преобразование обладает следующими свойствами:
I(t)(u) = { t=0 } = I(0)(u) = 1 I(0)( M(0)-1u ) + 0 I(1)(…) =
= I(0)( M(0)u ) = I(0)(u) – начальное изображение(16.22)
I(t)(u) = { t=1 } = I(1)(u) = 0 I(0)( …) + 1 I(1) ( [M-1(1-t)]-1 u) =
= I(1)( [M-1(0)]-1u ) = I(1)(u) – конечное изображение(16.23)
I(t)(u) = { t=0.5 } = I(0.5)(u) = 0,5 I(0)( M(0,5)-1u ) +
+ 0.5 I(1) ( [M-1(0,5)]-1 u) – промежуточное изображение,(16.24)
причем промежуточное изображение – «середина» между соответствующими пикселами начального и конечного изображений, над
каждым из которых применена «половина» аффинного преобразования MA,b [116].
89
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Если I(0), I(1), и M подобраны так, что из I(0) с помощью преобразования М получается изображение I’ (1) похожее на I(1), например,
совпадением контуров объектов, то построенная последовательность
{ I(t)} ,будет представлять собой «непрерывное» метаморфическое
трансформирование I(0) в I(1).
Для построения удачной последовательности { I(t)(u) } необходимо подобрать подходящие изображения I(0), I(1), и построить геометрическое преобразование M (mapping) изображений. Преобразование
M необязательно должно быть аффинным, оно может быть, например,
некоторой композицией аффинных преобразований [113].
Один из способов задания такой композиции рассматривается
в следующем разделе.
16.4. Преобразование на основе характеристических линий
Преобразование на основе одной пары характеристических
линий. Преобразование на основе одной пары характеристических
линий представляет собой частный случай аффинного.
Выберем на начальном – I(0) и конечном – I(1) изображениях по
одному вектору PQ и P’Q’ соответственно. Вычислим коэффициенты
аффинного преобразования, такого, что P→P’, Q→Q’ и для любой
точки v из I(0) и u из I(1) выполнены условия: a=|OP| / |QP| равно
a’=|O’P’| / |Q’P’| (рис. 16.11) и расстояние от точек v и u до соответствующих векторов PQ и P’Q’ равны  =’=const.
Получим:
a) u  P'  (Q' P' ) 

( v  P ,Q  P )
QP
2
  Perp(Q' P' )
Q' P'
,
– отношение OP к QP (рис. 16.11),
(v  P, (Q  P)  )
– расстояние от v до QP,

QP
u x   u 
u   Perp     y  – перпендикуляр,
u y   u x 
где , – скалярное произведение.
90
(16.25)
(16.26)
(16.27)
(16.28)
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Q
Q’

v
O
’
O’
?
u
a’=|P’O’|/|P’Q’|=a
a=|PO|/|PQ|
P’
P
Рис. 16.11. Пример подбора аффинного преобразования
на основе одной пары характеристических линий
Или в матричном виде:
^
^
б) u  M 
M=MA,b
A  (Q  P)  (Q' P' )
(16.29)
(16.30)
1
1


(16.31)
2  (Q  P )  (Q' P ' )
Q  P  Q' P'
QP
где
d x cx
d c  
d x c y
d y cx 
d y c y 
(16.32)
Q' P'
(Q' P' ) 

b  P'( P, Q  P)
2  ( P, (Q  P ) )
Q  P  Q' P'
QP
(16.33)
где , – скалярное произведение.
Такое преобразование MA,b не выполняет «скашивания» изображения.
Преобразование на основе множества характеристических
линий. Выберем на начальном – I(0) и конечном – I(1) изображениях по
набору векторов {PiQi} и {Pi’Qi’}.
Построим композицию преобразований Mi, переводящих
PiQi→Pi’Qi’. Преобразование PQ→P’Q’ описано в предыдущем разделе.
Для этого вычислим v как взвешенную сумму между соответствующими vi, полученных с помощью Mi.
 w v   w (M u)
v
w
w
1
i
i
i
i
i
i
91
,
(16.34)
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
wi 
c
1
 i 
1
c2
,
(16.35)
где  i – «нормированное расстояние» от v до i-го вектора Pi Qi :
i 
Pi  v  Qi  v
Pi  Qi
(16.36)
где с1, с2 – константы, можно взять, например, такие, что с1>0, c2[0.5,
2] [16.1].
Пример морфинга с использованием преобразования на основе
множества характеристических линий представлен на рис. 16.12.
Рис. 16.12. Пример морфинга с использованием преобразования на
основе множества характеристических линий
Выполняемое на рис. 16.12 геометрическое преобразование
представлено на рис. 16.13.
92
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 16.13. Пример геометрического преобразования на основе
множества характеристических линий
16.5. Интерполяция цвета «промежуточных» пикселей
изображения
Для вычисления цвета изображения «между пикселями» можно
воспользоваться следующими подходами:
1. Вычислить среднее значение цвета в некоторой окрестности
вокруг искомой точки, например, (x, y) находится внутри области xЄ[i,
i+1], yЄ[j, j+1], тогда:
I(x, y)=[I(i, j)+ I(i+1, j)+ I(i, j+1)+ I(i+1, j+1)] / 4(16.37)
2. Интерполировать значение цвета:
I(x, y)=I(i, j) (1-a )(1-b)+ I(i+1, j) a (1-b)+ I(i, j+1) (1-a )b +
+ I(i+1, j+1) a b,
(16.38)
где a =x-i, b =y-j – дробные части.
93
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Для более точной передачи деталей изображений, размер
окрестности лучше выбирать исходя из «плотности» сетки при геометрической трансформации [113].
16.6. Преобразование на основе характеристических кривых
Преобразование представляет собой развитие метода, основанного на характеристических линиях. Вместо указания пар соответствующих отрезков на изображениях соответствие строится между
кривыми (например, Безье-сплайнами). В дальнейшем сплайны в автоматическом режиме интерполируются ломаными, и задача сводится
к задаче на характеристических кривых.
Такой подход позволяет более точно трансформировать основные элементы изображений и в некоторых случаях намного быстрее
построить соответствие между объектами изображений, т.к. очень часто ломаную, состоящую из множества отрезков, можно заменить одним звеном кривой линии (сплайном) [113].
Контрольные вопросы
1. Что такое морфинг?
2. Как осуществляется морфирование геометрических объектов?
3. Реализовать морфирование многоугольников в двухмерном
пространстве. Процесс морфирования должен быть хорошо виден на
экране – скорость процесса должна быть разумной. Исходная и конечная фигуры должны существенно отличаться: разное количество
вершин, ребер и т.п.
4. Реализовать морфирование многогранников в трехмерном
пространстве. Требования аналогичны предыдущему пункту.
5. Улучшить одну из программ пунктов 16.3 или 16.4, добавив
одну из следующих возможностей: управление ходом морфирования
(кнопки вперед, назад, приостановить, сделать один шаг морфирования); считывание моделей многоугольников или многогранников из
файла; блендинг цвета или текстуры (блендинг цвета – постепенное
изменение цвета в процессе морфирования одной фигуры в другую;
блендинг текстуры – на исходную и целевую модели многогранников
накладываются текстуры, текстура промежуточных моделей морфинга представляет собой смесь текстур исходной и конечной моделей,
полученную средствами мультитекстурирования OpenGL).
94
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
6. Реализовать последовательное замещение одного изображения другим (Fading). Построить N промежуточных состояний между
двумя изображениями (t=0..1 step 1/(N+1)).
7. Реализовать аффинное преобразование изображений (Affine
transformation). Построить N промежуточных состояний между двумя
изображениями, одно из которых получено применением аффинного
преобразования к другому (t=0..1 step 1/(N+1)).
8. Реализовать морфинг объединением геометрического преобразования изображений с последовательным замещением одного
изображения другим. Построить N промежуточных состояний между
двумя изображениями с применением «последовательного» аффинного преобразования (t=0..1 step 1/(N+1)).
9. Реализовать морфинг с использованием преобразования на
основе характеристических линий (одной пары или множества). Построить N промежуточных состояний между двумя изображениями,
с применением геометрического преобразования на основе характеристических линий.
10. Реализовать морфинг с использованием преобразования на
основе характеристических кривых. Построить N промежуточных состояний между двумя изображениями с применением геометрического преобразования на основе характеристических кривых. Кривые могут быть заданы произвольным образом. Для выполнения задания желательно реализовать графический интерфейс пользователя (GUI), с
возможностью сохранения и восстановления «разметки» в файле.
95
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ГЛАВА 17. ОСНОВЫ ПОНИМАНИЯ ИЗОБРАЖЕНИЙ
(КОМПЬЮТЕРНОЕ ЗРЕНИЕ)
17.1. Основные понятия
Исследования в области компьютерного зрения направлены на
изучение методов понимания изображений. На основе одного или нескольких двухмерных изображений системы компьютерного зрения
формируют символьное описание реальности, представляемой изображением. Если представляемая изображением реальность – часть
трехмерного мира, то следует говорить о трехмерном компьютерном
зрении или анализе сцен. Изображения, анализируемые системами
компьютерного зрения, могут сильно различаться по своей природе.
Так, существуют двухмерные черно-белые и цветные изображения,
множественные изображения в случае стереозрения, диапазонные
изображения, трехмерные изображения и т.д.
Входом для систем компьютерного зрения, также как и входом
для систем зрения в живой природе, являются атомарные части изображения. Изображение представляет собой регулярный массив, в котором сохраняются отношения соседства, т.е. смежные элементы массива соответствуют элементам реальности, видимым в определенном
направлении, в котором они воспринимаются как соседние. Это объясняет, почему операторы, выполняемые на первых этапах обработки
изображений, применяются к множеству соседних точек. Наиболее
известными из них являются дифференциальные операторы выделения границ, а также различные виды фильтров (Габора, wavelet и т.д.).
Психофизические эксперименты показали, что те локальные
области изображения, которые характеризуются значительным градиентом интенсивности, являются чрезвычайно важными для визуального восприятия человека. Следующие наблюдения подтверждают это:
нейроны, обнаруживающие границы, изобилуют на первых
этапах зрительного пути;
прерывистые движения глаза сканируют контуры при восприятии объекта;
человек способен идентифицировать объект на основе простого рисунка в виде контурных линий (технические чертежи, шаржи
и
т.д.).
Границы на изображении обнаруживаются путем вычисления
градиента интенсивности, который характеризуется:
направлением (например, вдоль границы или перпендикулярно по отношению к ней);
позицией:
силой.
96
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Контуры объекта обычно видны как некоторые границы на
изображении. Поэтому естественным является стремление выделить
объект по его границам. Целесообразно распознавать границы не сразу, а постепенно, формируя их из меньших элементов, продвигаясь от
отдельных точек, представляющих границу, к ее сегментам. Элементом границы является пиксель, для которого утверждается, что он,
возможно, принадлежит части контура или сегменту границы. Принадлежность к границе не является непосредственно свойством пикселя, а является свойством точек небольшой окрестности, в которой
он расположен. Поэтому это свойство должно проверяться. Элементы
границы первоначально обнаруживаются при помощи градиентных
(граничных) операторов, например, операторов Собела, Кирша или
Канни. Они отличаются степенью подавления шумов и угловой разрешающей способностью [122].
17.2. Восстановление границ
Методы восстановления границ используют информацию о
геометрическом соседстве точек изображения для присвоения им с огласованных меток на основе ненадежных данных, формируемых датчиками границ. В конце постобработки формируется некоторая улучшенная граница изображения, элементы которой первоначально определяются с помощью соответствующего граничного оператора.
Предположим, что для выделения элементов границы используется множество меток, которые фиксируют наличие границы и ее
направление. Одна из возможностей состоит в использовании кода
Фримэна со значениями, лежащими в диапазоне от 0 до 7 (0 обозначает восточное направление, 1 – северо-восточное и т.д.). При этом используется некоторое соглашение о направлении границы и о положении объекта, например, слева от границы. Кроме этого, применяется специальная метка, обозначающая отсутствие границы
(рис.
17.1). Инициализация выполняется так, чтобы с каждым элементом
границы (пикселем) были связаны все 9 меток с суммарной относительной силой (вероятностью), равной 1. Распределение значений меток для каждого элемента определяется выходными значениями датчиков границ, которые настраиваются так, чтобы ни одна метка не получила нулевой вероятности с целью исключения бесконечного итерационного процесса. Начальная нормализация выполняется по отношению к датчику границ, на выходе которого формируется наибольшее значение [122].
97
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 17.1. Метки пикселей в соответствии с кодом Фримэна
Веса совместимости rij отражают степень усиления или взаимного ослабления меток двух элементов границ, находящихся на определенных относительных позициях. Данные веса определяются пользователем на основе здравого смысла или методом проб и ошибок.
Другая возможность состоит в том, чтобы определять их статистически, в виде частоты появления определенных пар меток на изобра(k )
жении. Функция совместимости qi ( ) определяет, насколько необходимо уменьшить или увеличить текущую вероятность (относительную силу) метки  для пикселя i в процессе восстановления границы
[122]. Возможная формула:
qi( k ) ( )   dij  rij  , '  p (j k ) '  .
 

j
'
Здесь k – номер шага итерации. Массив весов d ij учитывает
пространственное положение пикселей i и j. Внутреннее суммирование выполняется по всем меткам пикселя j, характеризуемых вероятk
'
ностями p j ( ) (относительной силой). Внешнее суммирование взвешивает вклады различных пикселей, например, согласно их расстоянию до i-го элемента границы. Обновление значений вероятностей
выполняется на основе формулы:
( k 1)
pi
pi( k ) ( )1  qi( k ) ( )
( ) 
.
(k )
(k )


p
(

)
1

q
(

)
 i
i

98
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Знаменатель гарантирует сохранение нормализации в процессе
выполнения итераций. Процесс сходится грубо в течение 10 итераций.
Результатом является изображение, в котором метки граничных элементов согласованы между собой лучше. Это позволяет улучшить
формирование сегментов границ.
Процедура восстановления находит применение не только на
первых этапах обработки систем компьютерного зрения. Всюду, где
необходимо воссоздавать компоненты целого из элементов, главным
образом, когда они являются смежными в пространстве, говорят
о
восстановлении.
Первый этап преобразования информации в системах компьютерного зрения начинается с пикселя, который характеризуется одним
атрибутом – уровнем интенсивности цвета. Применение операторов
выделения границ обеспечивает нахождение пикселей граничных
элементов изображения с более богатым набором атрибутов, т.е. позицией, направлением границы, силой и размером.
Указанные граничные элементы остаются не связанными друг
с другом и после процесса восстановления, описанного выше. Но они
могут быть использованы как примитивы, чтобы формировать более
сложные структуры [122].
От граничных элементов к граничным сегментам
Система зрения человека имеет способность группировать
элементы изображения в структуры без априорных знаний содержания изображения. Эта способность называется перцептивным группированием и изучается когнитивной психологией [122].
Наблюдатель не может воспрепятствовать сам себе в том, чтобы увидеть в случайном расположении линейных отрезков некоторые
группы, воспринимаемые его глазами. Существует три принципа
группирования – коллинеарность, параллелизм и геометрическая близость. Благодаря указанным принципам создается впечатление, что
отдельные элементы изображения образуют нечто целое. Они дают
человеку возможность воспринимать структуры в тех случаях, когда
соответствующие данные фрагментированы.
17.3. Преобразование Хафа
Преобразование Хафа является одним из методов группирования, применяемых в системах компьютерного зрения. Предположим,
что к изображению уже был применен некоторый граничный оператор, и на изображении сохранены для дальнейшей обработки только
те граничные пиксели, для которых абсолютное значение градиента
выше некоторого порога. Информация о направлении градиента
в
99
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
данном случае не используется. Сохраненные пиксели маркируются.
Вместе с немаркированными пикселями фона они образуют бинарное
изображение [123].
Преобразование Хафа позволяет обнаруживать на изображении
кривые заданной формы (прямую линию, круг, эллипс и т.п.), даже
когда они представлены фрагментами. Самый простой случай – обнаружение прямых линий по коллинеарным точкам, которые могут быть
не связаны между собой.
Первоначально Хаф предложил следующую параметрическую
формализацию этой задачи:
y  mx  b ,
где m, b – параметры восстанавливаемой прямой линии. При этом рассматриваются два пространства: пространство изображений
и
пространство параметров (рис. 17.2). Прямые линии пространства
изображения представляются точками в пространстве параметров, а
точки (или семейство прямых, проходящих через эти точки) пространства изображений представляются прямыми в пространстве параметров [122].
Трудности возникают при построении вертикальных линий,
когда m   . Имеется два варианта решения этой проблемы:
­ использование двух или более частных пространств параметров, т.е.  1  m  1 и  1 
1
 1;
m
­ использование для прямой линии другой системы параметров, например, в полярных координатах.
Уравнения прямой линии в полярных координатах (нормальная форма) имеет вид:
p  x cos  y sin ,
где p – расстояние до прямой из начала координат;  – угол наклона
перпендикуляра, опущенного на прямую из начала координат; x, y –
координаты точки, лежащей на прямой. Недостатком такого представления является потеря дуальности: теперь точке в пространстве
изображений соответствует синусоида в пространстве параметров.
100
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 17.2. Преобразование Хафа для прямых линий
Применение преобразования Хафа требует дискретизации пространства параметров. Оно разбивается на аккумулирующие (суммирующие) ячейки подходящего размера. Внесение значений в эти ячейки выполняется в ходе анализа соответствующего пикселя пространства изображений. Пиксель соотносится с кривой в пространстве параметров (она представляет все прямые, проходящие через рассматриваемый пиксель в пространстве изображений). В дальнейшем увеличиваются значения тех аккумулирующих ячеек, через которые проходит кривая. Выполняя указанные действия для всех помеченных пикселей пространства изображений, можно заметить, что некоторые из
аккумулирующих ячеек получают значительные приращения, а другие – нет. Количество голосов в позициях, где наблюдаются максимумы, можно рассматривать как подтверждение того, что в пространстве
изображений имеется прямая линия [122]. Алгоритм можно модифицировать так, чтобы пиксели пространства изображений, которые
внесли вклад в обнаружение прямой (т.е. обеспечили формирование
пика в пространстве параметров), запоминались. Тогда «формирующие элементы» прямой линии из пространства изображений будут известны, что позволит установить конечные точки прямой.
Рассмотрим пример обнаружения кругов на изображении. Будем опять анализировать два пространства: пространство изображений и пространство параметров, которое в данном случае трехмерное (рис.17.3).
101
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 17.3. Обнаружение кругов с помощью преобразования Хафа
Уравнение окружности в пространстве изображений имеет вид:
x1  xc 2   y1  yc 2  r 2 .
В этом случае точке  x1 , y1  пространства изображений соответствует коническая поверхность в пространстве параметров. Каждая
из точек конической поверхности представляет набор параметров, которые определяют круг с центром в соответствующей точке пространства изображений. И наоборот, если рассматривается некоторый круг
в пространстве изображений, то он соответствует точке с координатами  xc1 , yc1 , r1  в пространстве параметров. Дискретизация пространства параметров выполняется аналогично случаю обнаружения прямых линий.
Необходимо отметить, что в вычислительном отношении преобразование Хафа весьма затратное для случая обнаружения кругов.
Если дополнительно определять направление градиента в каждой точке пространства изображений, то можно получить более эффективный
алгоритм. Это позволяет ограничить число аккумулирующих ячеек в
пространстве параметров, которые требуют модификации.
17.4. Поиск при выделении контурных сегментов
В 1976 г. А. Мартелли рассмотрел применение методов поиска
на графах к обнаружению контурных сегментов. По существу, был
предложен оптимизационный подход.
102
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Предполагается, что функция градиента вычисляется для каждого пикселя заранее. Основываясь на этой информации, необходимо
найти «оптимальный» контур. Мартелли предложил использовать для
этого А*-алгоритм поиска на графах. А*-алгоритм – это алгоритм поиска в пространстве состояний, который начинает поиск со стартовой
вершины и выбирает наилучший (самый дешевый) путь, ведущий
в целевую вершину. Управление в алгоритме осуществляется с помощью оценочной функции, содержащей две составляющие: затраты от
стартовой вершины до промежуточной вершины текущего пути; прогнозируемые затраты от промежуточной вершины до целевой вершины. Сформулировать подходящую оценочную функцию бывает весьма трудно, особенно ее вторую часть [123].
Поэтому оценочная функция Мартелли содержит только оцен^
ку затрат на пути из стартовой вершины в вершину N, т.е. g ( N ) , и не
^
включает затраты на пути из вершины N в целевую вершину – h( N ) .
^
Полагая h( N ) =0, получаем тривиальную версию A* -алгоритма – алгоритм равных цен, свойства которого подобны алгоритму поиска
в ширину. Причины, по которым трудно сформулировать нетривиаль^
ную эвристическую функцию h( N ) , следующие. Во-первых, выбран^
ная функция оценки накопленных затрат g ( N ) содержит два слагаемых, одно из которых зависит от силы границы (больше сила границы
– ниже затраты), а другое – от кривизны контура (выше степень кривизны – больше затраты). Так как заранее ничего не известно
о
той области изображения, которую предстоит просмотреть на пути из
к целевой вершине, то трудно оценить предстоящие затраты какимлибо значением, отличным от нуля. Во-вторых, определение стартовой и целевой вершин также затруднительно. Возможность, указанная
Мартелли: каждый пиксель в первой строке изображения может быть
использован как стартовая вершина, а каждый из пикселей в последней строке – как целевая вершина. Дополнительная возможность: в
качестве стартовой вершины можно использовать пиксель с максимальным абсолютным значением градиента; в качестве конечной
вершины используют тот же самый пиксель, но при достижении его с
другой стороны. Данная возможность применима только для замкнутых контуров.
Из-за этих трудностей на практике предпочтение отдают методам с локальными эвристиками, которые, конечно, не могут гарантировать глобальной оптимальности построенного контура. Примером
является подход, который использовался П. Руммелем и В. Бойтелем в
103
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
системе распознавания объектов на основе полутоновых изображений
в промышленных условиях [123]. Граничные пиксели непосредственно прослеживаются на изображении с помощью линии – указателя,
управляемой направлением градиента. Пиксели результирующего
контура представляют последовательность граничных точек, каждая
из которых характеризуется позицией и направлением. Стартовая точка контура находится с помощью изотропного оператора Собела. Как
только выходное значение оператора (абсолютное значение градиента) превысит некоторый порог, начинается эвристический поиск. С
этого момента контур наращивается пиксель за пикселем, посредством тех пикселей, которые не приводят к слишком значительному
увеличению кривизны. Кроме этого, абсолютное значение градиента в
позиции следующего пикселя должно быть выше некоторого порога.
Данный метод использует неявные допущения о том, что контуры
должны быть относительно гладкими. Если допущения не выполняются, то это означает, что разрешающая способность изображения недостаточна. Наращивание контура прекращается, когда условия, указанные выше, не выполняются (например, если объект и фон имеют
приблизительно равную интенсивность), или когда текущий контур
совпадает с контуром, найденным ранее, или границей изображения.
Активные контурные модели. Современной версией метода
глобальной оптимизации выделяемого контура является так называемый метод активных контуров, или «снейков» (англ. snake – змейка).
Активный контур представляет собой кривую на изображении, которая может менять свою форму под воздействием внутренних сил, обусловленных свойствами самой кривой, и внешних сил, направляемых
данными изображениями. Внешние и внутренние силы определяются
так, чтобы форма активного контура соответствовала границам выделяемого объекта. Активные контурные модели («снейки») являются
виртуальными кривыми r (s ) . С каждой такой кривой связывают значение «энергии». Поиск оптимального контура рассматривается как
задача минимизации энергии E snake на множестве кривых:
1
1
1
0
0
0
Esnake   Eint (r ( s))ds   Eimage (r ( s))ds   Eext (r ( s))ds .
Первый интеграл учитывает длину и плавность кривой; второй
имеет малые значения, когда выделяемый контур проходит через области изображения с большими градиентами. Эти два интеграла, по
существу, представляют дальнейшее развитие первой составляющей
оценочной функции Мартелли. Наличие третьего интеграла позволяет
104
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
учесть влияние элементов изображения, находящихся геометрически
вне «снейка». В интерактивном режиме пользователь может оказывать влияние на выбор желаемой формы восстанавливаемого контура.
В неинтерактивном режиме система может учитывать цели более высокого порядка (предположения, гипотезы). «Снейки» могут представляться в виде сплайнов. Минимизация энергии выполняется итерационно и является весьма затратной. Узким местом метода активного контурного моделирования является инициализация [122].
Методы поиска контуров с глобальной оценочной функцией
более устойчивы к шумам изображения по сравнению с методами, использующими локальную оценочную функцию. Первые в определенной степени могут соединять разрывы контуров. Для изображений
с явными границами и низким уровнем шумов обычно применяют более эффективные локальные методы.
Выделение областей изображения. Подходы, основанные на
выделении областей изображения, являются дуальными по отношению
к подходам, основанным на выделении контуров: контуры ограничивают области, а соприкосновения различных областей между собой создают контуры. Области являются потенциально важными для интерпретации изображений. Отдельные пиксели могут играть роль исходных точек в процессе генерации областей. Пиксель добавляется к области, когда его специфические свойства не слишком отличаются от
свойств пикселей, которые уже образуют область, и когда он соседствует с областью. Это довольно неточное определение позволяет выделенные области, т.е. области, в которых интенсивность изменяется
плавно, рассматривать как одну. Данный процесс, называемый слиянием, начинается с уровня пикселей и продолжается до тех пор, пока выполнются следующие условия:
каждая область представляет собой связное множество пикселей изображения;
области являются непересекающимися, и вместе они охватывают все изображение;
каждая область удовлетворяет некоторому предикату однородности, это касается значений интенсивности, цветов, текстуры,
глубины, движения, математического описания поверхности или других свойств;
если области Ri и R j являются смежными, то Ri  R j не удовлетворяет предикату однородности.
Противоположными по отношению к процессу слияния является процесс разделения, который начинается с анализа всего изображения и после проверки однородности некоторой области выполняется
105
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
рекурсивно до тех пор, пока это необходимо. Затем смежные области,
удовлетворяющие предикату однородности, объединяются.
Рекомендуется использовать такой процесс «разделения и слияния», при котором изображение произвольно разделяется на области
среднего размера. Затем области тестируются (с помощью предиката
однородности) как с целью выяснения возможности их дальнейшего
разделения, так и пригодности для слияния.
Сегментацию изображения на области можно улучшить сопоставлением получаемых результатов с результатами процесса восстановления границ, выполняемого параллельно, и дальнейшей их адекватной адаптацией. Такой гибридный процесс реализуется в системе
машинного зрения VISIONS.
Гибридная технология сегментации также хорошо подходит
для диапазонных изображений. Граничные элементы обычно обнаруживаются при поиске пикселей в окрестностях, которые характеризуются большим диапазоном отличий (разрывы в виде скачка). Другой
вид разрывов соответствует неравномерностям скорости нарастания
значения (разрывы в виде крыши). Пиксели, приходящиеся на разрыв
любого вида, могут объединяться в линии с помощью методов, подобных тем, которые были описаны для изображений, представляемых матрицей интенсивности.
Элементы, соответствующие наращиваемой области изображения, обнаруживаются, начиная с некоторых исходных точек, расставляемых регулярно или рассеиваемых беспорядочно с соответствующей
плотностью по диапазонному изображению. Исходные точки – маленькие зоны, составленные из нескольких смежных диапазонных пикселей.
Такие зоны могут расширяться во все стороны, пока пиксели в зоне удовлетворяют некоторому математическому описанию [123].
17.5. Интерпретация контурных рисунков
Рассмотрим метод интерпретации трехмерной сцены по двухмерному контурному рисунку. Это классический метод искусственного интеллекта, который был разработан независимо Хаффманом
и
Клоузом (1971) и расширен Вальцом (1975) [122].
В этом случае можно говорить о том, что речь идет о системе
компьютерного зрения, но достаточно неполной. Вся низкоуровневая
часть системы здесь не рассматривается, но предполагается, что она
формирует соответствующие признаки, на основе которых выполняются необходимые выводы. Эти признаки (линии) представляются
совместно с геометрическими отношениями в форме контурных рисунков.
106
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Чтобы выполнить интерпретацию контурного рисунка, необходимо, с одной стороны, обладать знаниями об окружающей среде
и об объектах, присутствующих в ней, а с другой, – учитывать весьма
сильные ограничения:
используемые контурные рисунки должны быть корректны
(отсутствие разрывов линий, отсутствие свободных концов линий);
объекты на рисунках должны быть видимы с общих позиций,
т.е. малые изменения положения объекта или камеры не должны приводить к качественным изменениям сцены;
объекты должны быть многогранниками, в каждом углу объекта пересекаются 3 плоскости.
Рассмотрим пример распознавания топологии объекта из плоского чертежа, на основе локального распространения символов (рис.
17.4). Для упрощения задачи будем исследовать объекты, образованные пересечением плоскостей.
C
B
F
D
A
E
Рис. 17.4. Эскиз распознаваемого объекта
Очевидно, что линии плоского чертежа представляют ребра
пространственного объекта. На плоском чертеже можно выделить линии, образующие контур (обозначим их стрелками, например EF), и
внутренние линии. Внутренние линии можно разбить на две группы:
линии, представляющие ребра внешних углов, например AB (обозначим их знаком плюс) и линии, представляющие ребра внутренних углов, (помечены знаком минус), например CD. Точки соединения линий представляют вершины объекта. Все возможные типы соединений представлены на рис. 17.5.
Можно сократить количество рассматриваемых соединений, не
нанося ущерба рассматриваемому алгоритму (т.е. алгоритм будет работать, если введенные ограничения снять). Введем следующие ограничения:
запрещены тени и разрывы (стыки) объектов;
107
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
запрещены вершины, в которых сходятся более трех граней
(вершины пирамид);
запрещено выбирать точки зрения при небольших перемещениях, при которых изменяются типы соединений.
В результате введенных ограничений, допустимыми остаются
только четыре типа соединений: L, Arrow, T, Fork.
Комбинаторно для соединения типа L допустимы 42=16 вариантов, так как в L-соединении соединяются две линии, каждая из которых
может быть четырех типов («→», «←», «+», «-»), но типологически допустимы только шесть из них. Аналогично и для других типов соединений.
Всего можно сформировать 208 вариантов данных типов соединений и только 18 из них физически могут существовать. В дальнейшем будем называть варианты соединений интерпретациями.
Полный перечень допустимых интерпретаций данных типов соединений приведен на рис. 17.6.
Рис. 17.5. Возможные типы
соединений
Рис. 17.6. Возможные
варианты соединений
Рассмотрим пример, представленный на рисунке 17.7, а. Линии, ограничивающие объект, очевидны. Пометим их стрелками,
идущими по часовой стрелке. В контуре есть несколько соединений
108
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
типа Arrow. Выберем соединение, помеченное символом А. «Зубья»
стрелы – это контурные линии, следовательно, из трех допустимых
интерпретаций мы выбираем первую. В этой интерпретации «древко»
помечено знаком плюс, которым и помечаем соответствующую линию соединения. Помеченная линия приводит нас в соединение
В,
имеющее тип «вилка».
Из его 5 возможных интерпретаций в данном случае допустима
только первая. Следовательно, остальные две линии этого соединения
также помечаются знаком «+». Аналогичным образом рассматриваем
все соединения типа Arrow, входящие в контур, приходя к ситуации
показанной на рисунке 17.7, б, а затем рассматриваем оставшиеся соединения типа «Fork», помечая линии (рис. 17.7, в).
Мы рассмотрели процесс распространения меток линий, принципы распространения очевидны. Теперь необходима процедура, способная реализовать данные принципы. Примером такой процедуры
может служить «вальсирующая» процедура. Свое название она получила из-за отката (возврата назад), инициируемого после каждого шага вперед. Рассмотрим ее работу на фрагменте чертежа, показанного
на рис. 17.8.
а
б
в
Рис. 17.7. Разметка линий
соединений
Рис. 17.8. Фрагмент эскиза
В ходе распознавания потребуется запоминать посещенные соединения и те из них, которые не интерпретированы однозначно.
109
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Процесс распространения начнем с любого произвольного соединения, например с А.
Для него допустимы все три интерпретации, возможные для
типа Arrow, так как никаких требований соседние соединения, связанные с данным, не выдвигают. Они еще не рассматривались. Запомним
данное соединение как не интерпретированное однозначно. Следующим для рассмотрения выбираем любое еще не рассмотренное соединение, связанное линией с данным, например В (можно было выбрать
D или другое, не приведенное на рисунке). Это соединение типа L.
Для него из шести возможных интерпретаций допустимы только две,
в силу требований соединения А (соединение А требует, чтобы та линия, по которой мы пришли из А в В, должна быть помечена только
плюсом или минусом.). Однозначной интерпретации не произошло, и
соединение В также необходимо запомнить. Но перед этим необходимо откатиться назад и пересмотреть с учетом новых требований все
запомненные ранее однозначно не интерпретированные соединения –
в нашем списке только соединение А, и новых требований к нему не
выдвинуто. Следующим рассматриваемым соединением становится С,
так как это единственное нерассмотренное соединение, связанное с В.
Его тип – Arrow и из трех возможных интерпретаций допустима только одна. Следовательно, можно однозначно интерпретировать данное
соединение и пометить связанные с ним линии. Затем инициируем откат, и возвращаемся к рассмотрению соединения В, учитывая новые
требования. Теперь интерпретация однозначна, данный узел можно
удалить из списка, и вернуться к рассмотрению узла А. Его интерпретация также стала очевидной. Удаляем соединение из списка и продолжаем движение вперед, переходя к рассмотрению соединений, связанных с узлом С.
Рассмотрим иерархию классов фреймов, необходимую для реализации сети ограничений (рис. 17.9). С каждым классом необходимо
связать список возможных интерпретаций. Исходя из структуры, используемые фреймы можно поделить на два класса: двухсвязные (L) и
трехсвязные (Arrow, Fork,T). Каждый класс должен содержать соответственное количество слотов для реализации связей.
Классы L, Arrow, T, Fork не определяют дополнительных слотов, они необходимы для задания процедур инициализации, специфических для каждого класса.
110
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Фрейм сети
Список интерпретаций
Линия влево
Линия вправо
Трехсвязный фрейм
Двухсвязный фрейм
Линия вниз интерпретаций
L
Arrow
T
Fork
Рис. 17.9. Иерархия классов фреймов, используемая для реализации
сети ограничений
17.6. Синтаксический метод распознавания
Синтаксический подход базируется на использовании структурных отношений, характеризующих распознаваемый образ. С этой
целью в распознаваемом объекте выделяют простейшие структурные
элементы и выполняют описание сложного объекта в виде иерархической структуры, состоящей из простых элементов. Типичным примером задач, где применяется такой подход, является распознавание
изображений и, в частности, анализ сцен. В качестве примера рассмотрим сцену, изображенную на рис. 17.10, а. Иерархическое описание рассматриваемой сцены можно представить в виде дерева (рис.
17.10, б).
В данном случае сцена A состоит из подобразов, часть которых
представляется элементарными подобразами – гранями, треугольником. Сцена определяется как некоторая структура, состоящая из подобразов, аналогично тому, как предложения естественного языка
строятся из слов при помощи грамматических правил, а слова образуются из букв. Благодаря этой аналогии рассматриваемый подход
называют синтаксическим (лингвистическим, структурным) подходом
к распознаванию образов.
111
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Сцена А
N
M
а)
L
X
T
D
Y
Z
E
Сцена A
б)
Фон С (Подобразы)
Объекты B
Объект D
Объект E
Грань L Треуголь
ник T
Грань X
Стена N
Пол M
Грань Y
Грань Z
-
Рис. 17.10. Сцена и ее иерархическое описание
Первым этапом в построении структурного описания объекта
распознавания является выделение простейших элементов – примитивов. Примитивы образа должны легко выделяться. На основе выделенных примитивов строится структурное описание объекта распознавания. Процесс распознавания завершается выполнением синтаксического анализа, в ходе которого устанавливается, является ли это
описание объекта синтаксически правильным относительно заданной
грамматики. Объект зачисляется в тот класс, в котором его описание
оказывается синтаксически правильным [122].
Структурная схема системы синтаксического распознавания
образов изображена на рис. 17.11.
112
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Построение описания объекта
Объект
Предварительная
обработка
Сегментация
и
декомпозиция
Выделение
примитивов и
отношений
Синтаксический
анализ
Распознавание
Обучение
Объекты
обучающей выборки
Отбор
примитивов
и отношений
Вывод
грамматики
Рис. 17.11. Система синтаксического распознавания образов
На этапе предварительной обработки данные об объекте распознавания с целью улучшения качества подвергаются фильтрации, аппроксимации, восстановлению и т.д. Процесс построения описания
объекта предполагает выполнение двух процедур: сегментации объекта и выделения примитивов объекта. Объект сегментируется на
подобъекты и примитивы в соответствии с заранее определенными
синтаксическими операциями. В результате каждый объект представляется с помощью некоторого набора примитивов и фиксированных
синтаксических операций. Если используется операция конкатенации,
то объект представляется строкой, состоящей из последовательности
примитивов.
На этапе синтаксического анализа могут выполняться либо
простейшее сопоставление с эталоном (образцом), либо полный грамматический разбор. В случае сопоставления с эталоном строка примитивов, представляющая исходный объект, сравнивается со строками,
представляющими объект-прототип. В соответствии с выбранным
критерием подобия строк объект зачисляется в тот класс, к которому
относится объект-прототип. Информация об иерархической структуре
объекта в этом случае игнорируется. Полный грамматический разбор
строки, описывающий распознаваемый объект, позволяет выявить
особенности структуры объекта и учесть их при принятии решения.
Возможны промежуточные варианты реализации синтаксического
анализа, определяемые спецификой решаемых задач.
Вывод грамматики, необходимой для выполнения синтаксического анализа, происходит по заданной обучающей выборке объектов.
При этом отбор примитивов и структурных отношений во многих
случаях выполняется проектировщиком системы распознавания. Вывод грамматики по сути представляет обучение синтаксической системы распознавания [122].
113
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
17.7. Обучение распознаванию образов. Персептроны
Один из методов решения задач обучения распознаванию образов основан на моделировании гипотетического механизма человеческого мозга. В этом случае структура модели заранее определяется.
При таком подходе уровень биологических знаний или гипотез о биологических механизмах является исходной предпосылкой, на которой
базируются модели этих механизмов. Примером такого направления в
теории и практике проблемы обучения распознавания образов является класс устройств, называемых персептронами.
В наиболее простом виде персептрон (рис. 17.12) состоит из
совокупности чувствительных (сенсорных) элементов (S-элементов),
на которые поступают входные сигналы. S-элементы случайным образом связаны с совокупностью ассоциативных элементов (Аэлементов), выход которых отличается от нуля только тогда, когда
возбуждено достаточно большое число S-элементов, воздействующих
на один А-элемент. А-элементы соединены с реагирующими элементами (R-элементами) связями, коэффициенты усиления (v) которых
переменны и изменяются в процессе обучения. Взвешенные комбинации выходов R-элементов составляют реакцию системы, которая указывает на принадлежность распознаваемого объекта определенному
образу. Если распознаются только два образа, то в персептроне устанавливается только один R-элемент, который обладает двумя реакциями – положительной и отрицательной. Если образов больше двух, то
для каждого образа устанавливают свой R-элемент, а выход каждого
такого элемента представляет линейную комбинацию выходов Aэлементов.
Рис. 17.12. Структура персептрона
114
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Сигналы от S-элементов подаются на входы А-элементов с постоянными весами, равными единице, но каждый А-элемент связан
только с группой случайно выбранных S-элементов. Предположим,
что требуется обучить персептрон различать два образа V1 и V2. Будем считать, что в персептроне существует два R-элемента, один из
которых предназначен образу V1, а другой — образу V2. Персептрон
будет обучен правильно, если выход R 1 превышает R2, когда распознаваемый объект принадлежит образу V1, и наоборот. Разделение
объектов на два образа можно провести и с помощью только одного
R-элемента. Тогда объекту образа V1 должна соответствовать положительная реакция R-элемента, а объектам образа V2 – отрицательная.
Персептрон обучается путем предъявления обучающей последовательности изображений объектов, принадлежащих образам V 1 и
V2. В процессе обучения изменяются веса vi А-элементов. В частности, если применяется система подкрепления с коррекцией ошибок,
прежде всего учитывается правильность решения, принимаемого персептроном. Если решение правильно, то веса связей всех сработавших
А-элементов, которые ведут к R-элементу, выдавшему правильное
решение, увеличиваются, а веса несработавших А-элементов остаются
неизменными. Можно оставлять неизменными веса сработавших Аэлементов, но уменьшать веса несработавших. В некоторых случаях
веса сработавших связей увеличивают, а несработавших – уменьшают. После процесса обучения персептрон сам, без учителя, начинает
классифицировать новые объекты [125].
17.8. Выделение признаков изображения при анализе сцен
Признаком изображения называется его простейшая отличительная характеристика или свойство. Некоторые признаки являются
естественными в том смысле, что они устанавливаются визуальным
анализом изображения, тогда как другие – искусственные – получаются в результате его специальной обработки или измерений. К естественным признакам относятся энергетические (яркостные, цветовые),
текстурные признаки, форма контуров объектов. Гистограммы распределения энергии излучения и спектры пространственных частот
дают примеры искусственных признаков.
Признаки, существенные для анализа изображений, делят на
группы:
1. Энергетические признаки
Наиболее важным энергетическим признаком изображения является светлота, которая может быть выражена через такие параметры, как яркость, спектральная интенсивность излучения, координаты
цвета и т.д., которые называют энергетическими признаками. Измере-
115
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ние энергетических признаков можно проводить либо в отдельных
точках изображения, либо в их окрестностях. Средняя яркость окрестности точки (j,k) размером (2W+1) (2W+1) элементов определяется
как:
W
W
1
Y ( j, k ) 
  Y ( j  m, k  n)
(2W  1)2 mW nW
Существует множество различных способов определения энергетических признаков. Можно использовать значения яркости или координат цвета непосредственно либо перейти к новым яркостным
признакам, выполнив некоторое линейное, нелинейное или, возможно, необратимое преобразование.
Измерение энергетических признаков приобретает особую
важность при выделении изображенных объектов и при их интерпретации.
2. Гистограммные признаки
При рассмотрении материала первого учебного вопроса было
введено представление дискретного изображения – массива чисел
F(j,k) – как реализации двухмерного случайного процесса, описываемого совместным распределением вероятностей. Разработаны методы
оценки распределений вероятностей значений яркости изображения.
Получающиеся при этом гистограммы можно использовать также для
создания некоторого класса признаков изображения.
Распределение вероятностей значений яркости первого порядка можно определить как:
P(b)  Pr{F ( j, k )  b},
где 0  b  L-1 – уровни квантования. Распределение частот первого
порядка, оценивающее P(b) описывается выражением:
P(b)  N (b) / M ,
где
М – полное число элементов в окне с центром (j,k);
N(b) – число элементов в окне, имеющих уровень b.
Часто, исходя из предположения о стационарности, размер окна берется равным размеру всего изображения.
Форма гистограммы распределения частот дает много сведений о свойствах изображения. Например, узкая гистограмма указыва-
116
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ет на низкий контраст, а бимодальная предполагает наличие областей
разной яркости.
К характеристикам, описывающим форму гистограмм первого
порядка можно отнести: среднее, дисперсию, коэффициент асимметрии, коэффициент эксцесса, энергия, энтропия.
3. Пространственно-спектральные признаки
К таким признакам отнесем, например, спектральные коэффициенты, определяющие веса базисных функций при разложении в ряд
Фурье.
Признаки, представленные в виде спектральных коэффициентов, используются в качестве входных данных для системы распознавания изображений, классификации земельных ресурсов, диагностике
болезней и т.д.
4. Контурные признаки
Резкие изменения яркости, координат цвета или параметров,
характеризующих текстуру, являются важными простейшими признаками, определяющими очертания изображенных объектов.
Общий подход к обнаружению перепадов на одноцветном
изображении представим в виде блок-схемы (рис.17.13)
Пороговый
детектор
Контрастирование
перепадов
F(j,k)
G(j,k)
E(j,k)
Рис. 17.13. Пороговая система обнаружения перепадов
Операция контрастирования перепадов может осуществляться
различными методами. Выделяют линейные, нелинейные и статистические методы.
Линейные методы в общем виде сводятся к операции дискретного дифференцирования, реализуемой сверткой с линейным оператором определенного вида.
В нелинейных методах применяются различные нелинейные
операторы комбинации значений яркости элементов изображения.
В большинстве методов ограничиваются обработкой окном размером
22 или 33.
117
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
17.9. Общие принципы распознавания текстовой
информации
При создании электронных библиотек и архивов путем перевода книг и документов в цифровой компьютерный формат, при переходе предприятий от бумажного к электронному документообороту, при
необходимости отредактировать полученный по факсу документ используются системы оптического распознавания символов. Сначала
необходимо распознать структуру размещения текста на странице:
выделить колонки, таблицы, изображения и т.д. Далее выделенные
текстовые фрагменты графического изображения страницы необходимо преобразовать в текст.
Можно выделить следующие основные принципы распознавания в задаче машинного чтения печатных и рукописных текстов.
1. Принцип целостности – распознаваемый объект рассматривается как единое целое, состоящее из структурных частей, связанных
между собой пространственными отношениями.
2. Принцип двунаправленности – создание модели ведется от
изображения к модели и от модели к изображению.
3. Принцип предвидения заключается в формировании гипотезы о содержании изображения. Гипотеза возникает при взаимодействии процесса сверху вниз, разворачивающегося на основе модели
среды, модели текущей ситуации и текущего результата восприятия, и
процесса снизу вверх, основанного на непосредственном грубом признаковом восприятии.
4. Принцип целенаправленности, включающий сегментацию
изображения и совместную интерпретацию его частей.
5. Принцип «не навреди» – ничего не делать до распознавания
и вне распознавания, то есть без «понимания».
6. Принцип максимального использования модели проблемной
среды.
Если исходный документ типографского качества (достаточно
крупный шрифт, отсутствие плохо напечатанных символов или исправлений), то задача распознавания решается методом сравнения
с растровым шаблоном. В этом случае сначала растровое изображение
страницы разделяется на изображения отдельных символов. Затем
каждый из них последовательно накладывается на шаблоны символов,
имеющихся в памяти системы, и выбирается шаблон с наименьшим
количеством точек, отличных от входного изображения.
При распознавании документов с низким качеством печати
(машинописный текст, факс и т.д.) используется метод распознавания
символов по наличию в них определенных структурных элементов
(отрезков, колец, дуг и др.). Любой символ можно описать через набор
118
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
параметров, определяющих взаимное расположение его элементов.
Например, буква «Н» и буква «И» состоят из трех отрезков, два из которых расположены параллельно друг другу, а третий соединяет эти
отрезки. Различие между буквами в величине углов, которые составляет третий отрезок с двумя другими. При распознавании структурным методом в искаженном символьном изображении выделяются
характерные детали и сравниваются со структурными шаблонами
символов. В результате выбирается тот символ, для которого совокупность всех структурных элементов и их расположение больше всего соответствует распознаваемому символу.
Наиболее распространенные системы оптического распознавания символов FineReader и CuneiForm используют как растровый, так
и структурный методы распознавания. Кроме того, эти системы являются «самообучающимися» (для каждого конкретного документа они
создают соответствующий набор шаблонов символов) и поэтому скорость и качество распознавания многостраничного документа постепенно возрастают.
Входящая в FormReader программа чтения рукописных текстов
была выпущена в 1998 году одновременно с системой ABBYY
FineReader 4.0. Эта программа может читать все рукописные строчные
и заглавные символы, допускает ограниченные соприкосновения символов между собой и с графическими линиями и обеспечивает поддержку 10 языков. Основное применение программы – распознавание
и ввод информации с машиночитаемых бланков.
Контрольные вопросы
1. Сформулируйте цель исследований в области компьютерного зрения.
2. Для чего используются методы восстановления границ?
3. Для чего применяется код Фримэна?
4. Объясните суть метода восстановления границ на основе
согласованной разметки граничных элементов.
5. Сформулируйте преобразование Хафа для прямой линии.
6. Как происходит выделение областей изображения?
7. Как выполняется интерпретация контурных рисунков?
8. Каким образом А-алгоритм может быть применен для выделения контурных сегментов?
9. Объясните суть синтаксического метода распознавания.
10. В чем смысл задачи обучения распознавания образов? Что
такое персептрон?
119
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
11. Назовите основные принципы распознавания текстовой
информации. Какие программные пакеты используются для решения
данной задачи?
12. Что такое морфинг?
13. Как осуществляется морфирование геометрических объектов?
14. Реализовать морфирование многоугольников в двухмерном
пространстве. Процесс морфирования должен быть хорошо виден на
экране – скорость процесса должна быть разумной. Исходная и конечная фигуры должны существенно отличаться: разное количество
вершин, ребер и т.п.
15. Реализовать морфирование многогранников в трехмерном
пространстве. Требования аналогичны предыдущему пункту.
16. Улучшить одну из программ пунктов 16.3 или 16.4, добавив
одну из следующих возможностей: управление ходом морфирования
(кнопки вперед, назад, приостановить, сделать один шаг морфирования); считывание моделей многоугольников или многогранников из
файла; блендинг цвета или текстуры (блендинг цвета – постепенное
изменение цвета в процессе морфирования одной фигуры в другую;
блендинг текстуры – на исходную и целевую модели многогранников
накладываются текстуры, текстура промежуточных моделей морфинга представляет собой смесь текстур исходной и конечной моделей,
полученную средствами мультитекстурирования OpenGL).
17. Реализовать последовательное замещение одного изображения другим (Fading). Построить N промежуточных состояний между двумя изображениями (t=0..1 step 1/(N+1)).
18. Реализовать аффинное преобразование изображений (Affine
transformation). Построить N промежуточных состояний между двумя
изображениями, одно из которых получено применением аффинного
преобразования к другому (t=0..1 step 1/(N+1)).
19. Реализовать морфинг объединением геометрического преобразования изображений с последовательным замещением одного
изображения другим. Построить N промежуточных состояний между
двумя изображениями, с применением «последовательного» аффинного преобразования (t=0..1 step 1/(N+1)).
20. Реализовать морфинг с использованием преобразования на
основе характеристических линий (одной пары или множества). Построить N промежуточных состояний между двумя изображениями с
применением геометрического преобразования на основе характеристических линий.
21. Реализовать морфинг с использованием преобразования на
основе характеристических кривых. Построить N промежуточных состояний между двумя изображениями, с применением геометрического преобразования на основе характеристических кривых. Кривые могут быть заданы произвольным образом. Для выполнения задания желательно реализовать графический интерфейс пользователя (GUI), с
возможностью сохранения и восстановления «разметки» в файле.
120
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ГЛАВА 18. АЛГОРИТМЫ СЖАТИЯ ИЗОБРАЖЕНИЙ
18.1. Постановка задачи сжатия изображений
В последнее время изображения и иллюстрации стали
использоваться повсеместно. Проблема, связанная с большим
объемом данных для их обработки и хранения, появилась при работе
как на рабочих станциях, так и на персональных компьютерах.
Требования быстрой обработки изображений вступают в противоречие с техническими возможностями используемой аппаратуры.
В
этих обстоятельствах особо важное значение приобретает
возможность использования сжатия изображений, то есть
кодирование с целью сокращения их объема. Сжатие позволяет
разгрузить канал при передаче данных, сократить время и/или снизить
мощность и вес передающей аппаратуры, уменьшить необходимую
емкость запоминающих устройств, улучшить использование
существующих архивов.
Изображения – это особый тип данных, который характеризуется:
1) гораздо большим объемом памяти для хранения, чем текст.
В качестве примера можно рассмотреть, сколько тысяч страниц текста
можно поместить на один компакт-диск и как мало там поместится
несжатых фотографий высокого качества. Эта особенность изображений определяет актуальность алгоритмов архивации графики;
2) второй особенностью изображений является то, что человеческое зрение при его анализе оперирует контурами, общим переходом цветов и сравнительно нечувствительно к малым изменениям в
изображении. Таким образом, можно создать эффективные алгоритмы
архивации изображений, в которых декомпрессированное изображение не будет совпадать с оригиналом, однако человек этого не заметит. Данная особенность человеческого зрения позволила создать специальные алгоритмы сжатия, ориентированные только на изображения. Эти алгоритмы позволяют с высокой степенью сжимать изображения с незначительными, с точки зрения человека, потерями.
3) можно заметить, что изображение, в отличие, например, от
текста обладает избыточностью в двух измерениях. Т.е., как правило,
соседние точки как по горизонтали, так и по вертикали в изображении
близки по цвету. Кроме того, есть возможность использовать подобие
между цветовыми плоскостями красного, зеленого и синего
в алгоритмах, что дает возможность повысить их эффективность. Таким образом, при создании алгоритма компрессии графики используются
особенности структуры изображения.
121
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
На рисунке 18.1 представлена обобщенная схема процесса
сжатия изображения:
Фрактал,
Фрактал,
JPEG,
Исходный
Исходный
JPEG,
вейвлет…
рисунок
рисунок
вейвлет…
Кодирование
Кодирование
Хаффмана,
Сжатый
Сжатый
Хаффмана,
арифметическое
рисунок
рисунок
арифметическое
кодирование…
кодирование…
Сжатый
Сжатый
рисунок
рисунок
Рис. 18.1. Схема процесса сжатия изображения
Прежде чем перейти к описанию методов компрессии изображения, определим совокупность показателей, которыми они будут характеризоваться [131]. К этим показателям относятся:
– показатели эффективности;
– показатели точности;
– системотехнические показатели.
Показатели эффективности характеризуют эффективность кодирования дискретного изображения. Если говорить о непрерывном изображении, заданном в некоторой двухмерной области, то следует оценивать эффективность с точки зрения дискретного его представления.
Показатели точности характеризуют то, на сколько исходное
не кодированное изображение совпадает с декодированным.
Необходимо отметить, что по способу управления показателями эффективности и точности и, соответственно, по режиму использования в системе обработки изображений все методы компрессии
разделяются на два больших класса: с фиксированной скоростью (коэффициент сжатия фиксирован) и с переменной скоростью (задается
допустимая погрешность восстановления). Методы второго типа
предпочтительнее, несмотря на сложность реализации, поскольку они
более эффективны в смысле устранения избыточности данных.
К системотехническим показателям относят различные параметры процедур сжатия. Их достаточно много, но главный – сложность (в смысле быстродействия) вычислительных процедур и необходимые затраты по памяти.
18.2. Классификация методов сжатия изображений
Для того чтобы говорить об алгоритмах сжатия изображений,
мы должны определиться с несколькими важными вопросами:
1) Какие критерии логично предложить для сравнения различных алгоритмов?
122
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
2) Какие классы изображений существуют?
3) Какие классы приложений, использующие алгоритмы компрессии графики, существуют и какие требования они предъявляют
к алгоритмам?
Классы изображений. Статические растровые изображения
представляют собой двухмерный массив чисел. Все изображения
можно подразделить на две группы – с палитрой и без нее.
Для того чтобы корректнее оценивать степень сжатия, нужно
ввести понятие класса изображений.
Под классом будет пониматься совокупность изображений,
применение к которым алгоритма архивации дает качественно одинаковые результаты.
Например, для одного класса алгоритм дает очень высокую
степень сжатия, для другого – почти не сжимает, для третьего – увеличивает файл в размере.
Наиболее распространенные классы изображений [127]:
1) Изображения с небольшим количеством цветов (4-16)
и большими областями, заполненными одним цветом. Плавные
переходы цветов отсутствуют. Примеры: деловая графика – гистограммы, диаграммы, графики и т.п.
2) Изображения с плавными переходами цветов. Примеры:
графика презентаций, эскизные модели в САПР, изображения, построенные по методу Гуро.
3) Фотореалистичные изображения. Пример: отсканированные фотографии.
4) Фотореалистичные изображения с наложением деловой
графики. Пример: рекламный баннер.
Развивая данную классификацию, в качестве отдельных классов могут быть предложены некачественно отсканированные в 256
градаций серого цвета страницы книг или растровые изображения топографических карт. Формально являясь 8- или 24-битными, они
несут не растровую, а только векторную информацию. Отдельные
классы могут образовывать и совсем специфичные изображения,
например, рентгеновские снимки.
Достаточно сложной и интересной задачей является поиск
наилучшего алгоритма для конкретного класса изображений, что могло бы найти свое эффективное применение в различных приложениях,
использующих алгоритмы компрессии изображений.
Рассмотрим простую классификацию таких приложений:
1. Приложения, характеризующиеся высокими требованиями ко времени архивации и разархивации. Для этого класса приложений нередко требуется просмотр уменьшенной копии изображения и поиск в базе данных изображений. Примеры: издательские си-
123
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
стемы, причем как готовящие качественные публикации (журналы) с
заведомо высоким качеством изображений и использованием алгоритмов архивации без потерь, так и готовящие газеты,
и WWWсерверы, где есть возможность оперировать изображениями меньшего
качества и использовать алгоритмы сжатия с потерями.
В подобных системах приходится иметь дело с полноцветными изображениями и с большими двухцветными изображениями. Поскольку иллюстрации занимают большую часть от общего объема материала в документе, проблема хранения стоит очень остро. Проблемы также создает большая разнородность иллюстраций (приходится использовать
универсальные алгоритмы).
2. Приложения, характеризующиеся высокими требованиями к степени архивации и времени разархивации. Время архивации роли не играет. Иногда подобные приложения также требуют от
алгоритма компрессии легкости масштабирования изображения под
конкретное разрешение монитора у пользователя. Пример: справочники и энциклопедии на компакт-дисках. Для этого класса приложений актуальность приобретают существенно асимметричные по времени алгоритмы (симметричность по времени – отношение времени
компрессии ко времени декомпрессии).
3. Приложения, характеризующиеся очень высокими требованиями к степени архивации. Приложение клиента получает от
сервера информацию по сети. Пример: интернет-браузер [127].
В геоинформационных системах при хранении аэрофотоснимков местности, специфическими проблемами являются большой размер изображения и необходимость выборки лишь части изображения
по требованию. Кроме того, может потребоваться масштабирование.
Это неизбежно накладывает свои ограничения на алгоритм компрессии.
В электронных картотеках и досье различных служб для изображений характерно подобие между фотографиями в профиль и подобие между фотографиями в фас, которое также необходимо учитывать
при создании алгоритма архивации. Подобие между фотографиями
наблюдается и в любых других специализированных справочниках. В
качестве примера можно привести энциклопедии птиц или цветов.
Таким образом, если не обозначен класс приложений и класс
изображения, то нет смысла говорить о том, что какой-то конкретный
алгоритм компрессии лучше другого, относительно которого эти алгоритмы можно сравнивать.
Если говорить о самих алгоритмах сжатия, то на сегодняшний
день существует большое их количество. Если декодированное изображение всегда в точности соответствует исходному изображению, то
124
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
алгоритм сжатия называется алгоритмом сжатия без потерь, иначе – алгоритмом сжатия с потерями [127]. Среди них также выделяют:
1.Методы статистического кодирования. Это так называемые «классические» методы сжатия, которые призваны устранить статистическую избыточность изображения.
2.Методы оптимизации регулярного цифрового представления изображений, которые позволяют, не применяя специальные
методы компрессии, оптимизировать параметры импульсно-кодовой
модуляции, использующейся при дискретном представлении непрерывных изображений.
3.Получившие широкое распространение методы дифференциального кодирования, основанные на устранении корреляционных связей между элементами и независимой обработке получившихся элементов.
4.Методы кодирования с преобразованием, использующие
так называемые «обобщенные сигналы» (из которых можно получить
целый спектр различного рода сигналов при разложении).
5.Методы адаптивных выборок, основанные на аппроксимации выборок значений сигналов.
6.Гибридные методы кодирования, которые используют сразу несколько описанных методов сжатия.
7.Метод иерархической сеточной интерполяции, основанный на многоуровневом представлении изображения.
Последние три группы методов часто используют на практике,
основаны на комбинации методов и позволяют получить изображения
различных классов.
18.3. Характеристика и содержание современных
алгоритмов сжатия изображений
Характер использования изображений определяет требования,
предъявляемые к алгоритму сжатия [127]:
1. Максимальная степень компрессии. Заметим, что далеко не
для всех приложений актуальна высокая степень компрессии. Кроме
того, некоторые алгоритмы дают лучшее соотношение качества
к
размеру файла при высоких степенях компрессии, однако проигрывают другим алгоритмам при низких степенях.
2. Высокое качество изображений. Выполнение этого требования напрямую противоречит выполнению предыдущего.
3. Большая скорость компрессии. Это требование для некоторых алгоритмов с потерей информации является взаимоисключающим
с первыми двумя.
125
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
4. Высокая скорость декомпрессии. Достаточно универсальное
требование, актуальное для многих приложений.
5. Масштабирование изображений. Данное требование подразумевает легкость изменения размеров изображения до размеров окна
активного приложения. Дело в том, что одни алгоритмы позволяют
легко масштабировать изображение прямо во время декомпрессии,
в то время как другие не только не позволяют легко масштабировать,
но и увеличивают вероятность появления различных артефактов после
применения стандартных алгоритмов масштабирования к декомпрессированному изображению.
6. Возможность использования заголовка изображения для его
представления в низком разрешении. Заметим, что реализация указанного требования путем вставки в начало изображения его уменьшенной копии заметно ухудшит степень компрессии.
7. Устойчивость к ошибкам. Данное требование означает локальность нарушений в изображении при порче или потере фрагмента
передаваемого файла.
8. Учет специфики изображения. Более высокая степень архивации может применяться для некоторых классов изображений, имеющих обширные однородные области (например в томографии при
выявлении патологий).
9. Восстанавливаемость. Под восстанавливаемостью понимается возможность сохранения качества изображения при его повторном сохранении. Многие алгоритмы с потерей информации могут существенно испортить изображение за несколько итераций редактирования.
10. Приемлемая стоимость аппаратной реализации.
11. Эффективность программной реализации.
Таким образом, на практике для каждой задачи мы можем
сформулировать совокупность требований (профиль изображения),
изложенных выше, который и определит наиболее подходящий в
определенных условиях алгоритм (либо набор алгоритмов) для ее решения.
Начнем с классических методов сжатия – методов статистического кодирования.
Сущность метода статистического кодирования заключается
в том, что уровням с большей вероятностью появления ставятся в соответствие короткие кодовые слова, и наоборот элементам, реже встречающимся, ставятся в соответс твие более длинные кодовые слова.
Самыми известными из существующих и применяемых на
практике кодов, являются коды Шеннона-Фано и Хаффмана [126].
126
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Кодирование Хаффмана является простым алгоритмом
(рис. 18.2) для построения кодов переменной длины, имеющих минимальную среднюю длину.
Рис. 18.2. Алгоритм кодирования Хаффмана
Начиная с работ Д. Хаффмана 1952 года, этот алгоритм являлся предметом многих исследований. Алгоритм начинается составлением списка символов алфавита в порядке убывания их вероятностей.
Затем от корня строится дерево, листьями которого служат эти символы. Это делается по шагам, причем на каждом шаге выбираются два
символа с наименьшими вероятностями, добавляются наверх частичного дерева, удаляются из списка и заменяются вспомогательным
символом, представляющим эти два символа. Вспомогательному символу приписывается вероятность, равная сумме вероятностей, выбранных на этом шаге символов. Когда список сокращается до одного
вспомогательного символа, представляющего весь алфавит, дерево
объявляется построенным. Завершается алгоритм спуском по дереву и
построением кодов всех символов. Классический алгоритм Хаффмана
практически не применяется к изображениям в чистом виде,
а используется как один из этапов компрессии в более сложных схемах.
Проиллюстрируем работу алгоритма на примере. Пусть имеется пять символов с вероятностями, заданными на рис. 18.3, а).
Средняя длина этого кода равна 0,4 х 1 + 0,2 x 2 + 0,2 x 3 + 0,1
x 4 +0,1 х 4 = 2,2 бит/символ. Очень важно то, что кодов Хаффмана
бывает много. Некоторые шаги алгоритма выбирались произвольным
образом, поскольку было больше символов с минимальной вероятностью. На рис. 18.3, б) показано, как можно объединить символы по-
127
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
другому и получить иной код Хаффмана (11, 01, 00, 101 и 100). Средняя длина равна 0,4 х 2 + 0,2 х 2 + 0,2 х 2 + 0,1 х 3 + 0,1 х 3 = 2,2
бит/символ как и у предыдущего кода.
1.0
a1,4,5,2,3
0
а1 0.4
1
а4,5,2,3
а2 0.2
а3 0.2
1
0 0,6
1
а4 0.1
а2 0.2
а4 0.1
1
0,2
0.6
1 1.0
0
0
0
1
а5 0.1 a4,5
0.4
0
0.2
0
б)
0
а)
а
1 a1,4,5
а3 0.2 a2,3
0,4
0
1
а5 0.1 a4,5
а1 0.4
Рис. 18.3. Коды Хаффмана
б
Алгоритм декодирования очень прост. Следует начать с корня
и прочитать первый бит сжатого файла. Если это нуль, следует двигаться по нижней ветке дерева; если это единица, то двигаться надо по
верхней ветке дерева. Далее читается второй бит и происходит движение по следующей ветке по направлению к листьям. Когда декодер
достигнет листа дерева, он узнает код первого несжатого символа.
Процедура повторяется для следующего бита, начиная опять из корня
дерева.
Близкая модификация алгоритма используется при сжатии
черно-белых изображений (один бит/пиксель). Последовательности
подряд идущих черных и белых точек в нем заменяются числом, равным их количеству. А этот ряд уже сжимается по-Хаффману с фиксированной таблицей.
Метод позволяет охарактеризовать максимально достижимую для данного источника сообщений эффективность, оцениваемую по коэффициенту сжатия:
l 
n0
l ,
(18.1)
где nо – длина исходного кода,
l – средняя длина кода, которая определяется по следующей
формуле:
M
l   l ak  Pr ak ,
k 1
128
(18.2)
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
где l(ak ) – длина кода элемента ak ,
Рг{ak} – вероятность появления (или частота) символа ak .
Согласно теореме Шеннона
l  H a    Prak log 2 1 / Prak ,
M
k 1
(18.3)
где H(а) – энтропия случайной величины.
Методы Хаффмана и Шеннона-Фано дают H(а)   l  H(а)+ 1.
Они кодируют символы целым числом бит, поэтому нижняя граница
H(а), если она представляет собой дробное число, не достигается.
С
этой точки зрения, более эффективными являются арифметическое и
блочное кодирование [128].
Как показали исследования, применение статистического
кодирования непосредственно к элементам изображения малоэффективно [129]. Например, применение статистического кодирования для космических изображений земной поверхности позволяет
достичь коэффициента сжатия в диапазоне 1,2-2,0.
Описанное кодирование применяется как дополнительный
этап в схемах кодирования серий (RLE).
Метод кодирования серии основан на сравнении уровней
соседних элементов вдоль строки развертки. Серией называют последовательность элементов, уровни которых не отличаются или мало отличаются друг от друга [128]. Замена серии на пары <счетчик
повторений, значение> уменьшает избыточность данных (рис. 18.4):
Рис. 18.4. Принцип замены серий
Признаком счетчика (counter) служат единицы в двух верхних
битах считанного файла. Оставшиеся 6 бит расходуются на счетчик,
который может принимать значения от 1 до 64.
Соседняя серия отличается большим скачком уровня – контуром. Если позиция последнего элемента данной серии определяется
числом элементов от начала строки, то говорят о кодировании концов
серии, если относительно последнего элемента предыдущей серии –
кодирование длин серий. Кодирование длин серий эффективнее, так
как средняя длина кодовых комбинаций, определяющих границы серий, сравнительно невелика. При реализации этого метода назначается
129
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
максимально возможная длина серии, для того чтобы упростить декодирование информации. Здесь важен выбор максимально возможной
длины серии с целью сокращения их количества. Это приводит к избыточному увеличению числа разрядов, отводимых на кодирование длины. Эта проблема была изучена У. Прэттом, предложившим для
уменьшения разрядности дробить длинные серии на ряд коротких.
Проведенные им исследования зависимости коэффициента сжатия от
предела длины серии М и от вероятности появления контура позволили
рекомендовать значения М, равные 8, 16, 32, 64, 128.
Метод RLE реализован в форматах PCX, BMP, Targa, TIFF.
В формате PCX предлагается значение M = 64. В этом формате
неэффективно реализована схема кодирования цепочек, не образующих серию. Каждый пиксель, не попавший в серию, кодируется как
серия длиной 1. Максимально возможная степень сжатия – 32. В случае, если все значения изображения попарно неодинаковы и пр евышают двоичное 11000000, количество данных увеличивается в 2 раза.
Увеличение размеров файла получается при сжатии этим алгоритмом
необработанных цветных фотографий.
Рис. 18.5. Алгоритм RLE
В форматах TIFF, TARGA М = 128. Использование этих форматов позволяет достигать больший максимальный коэффициент
сжатия и меньше увеличивает в размерах исходный файл. Призна-
130
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ком счетчика повтора (длины серии) здесь является единица в старшем разряде соответствующего байта. Если в старшем разряде ноль,
то
в нем хранится значение счетчика элементов, которые нужно
просто считать при декодировании. В этом случае максимальный коэффициент сжатия, который достижим на картинках, состоящих
только из однородного фона, будет 64. Увеличение объема на 1/128
происходит в случае присутствия одинаковых значений, образующих
цепочку.
Средние показатели коэффициента у обеих модификаций составляют 2-3. Алгоритм ориентирован на изображения с небольшим
количеством цветов (деловую и научную графику) с обширными областями однородного фона в виде фронтальных полос. Вероятность
появления контура р в них мала, поэтому для исследований был выбран формат Targa с М = 128.
Арифметическое кодирование. Метод Хаффмана является
простым и эффективным, однако он порождает наилучшие коды переменной длины (коды, у которых средняя длина равна энтропии алфавита), только когда вероятности символов алфавита являются степенями числа 2, то есть равны 1/2, 1/4, 1/8 и т.п. Это связано с тем, что метод Хаффмана присваивает каждому символу алфавита код с целым
числом битов. Теория информации предсказывает, что при вероятности символа, скажем, 0.4, ему в идеале следует присвоить код длины
1.32 бита, поскольку – log20.4 = 1.32. А метод Хаффмана присвоит
этому символу код длины 1 или 2 бита. Арифметическое кодирование
решает эту проблему путем присвоения кода всему, обычно большому
передаваемому файлу вместо кодирования отдельных символов.
(Входным файлом может быть текст, изображение или данные любого
вида.) Алгоритм читает входной файл символ за символом и добавляет
биты к сжатому файлу. Чтобы понять метод, полезно представлять себе получающийся код в виде числа из полуинтервала [0,1). Таким образом код «9746509» следует интерпретировать как число «0,9746509»
однако часть «0.» не будет включена в передаваемый файл. На первом
этапе следует вычислить или, по крайней мере, оценить частоты возникновения каждого символа алфавита. Наилучшего результата можно
добиться, прочитав весь входной файл на первом проходе алгоритма
сжатия, состоящего из двух проходов. Однако, если программа может
получить хорошие оценки частот символов из другого источника, первый проход можно опустить. В первом примере мы рассмотрим три
символа a1, а2 и а3 с вероятностями P1 = 0,4, Р2 = 0,5 и Р3 = 0,1, соответственно. Интервал [0,1) делится между этими тремя символами на
части пропорционально их вероятностям. Порядок следования этих
подынтервалов не существенен. В нашем примере трем символам бу-
131
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
дут соответствовать подынтервалы [0, 0,4], [0,4, 0,9] и [0,9, 1,0]. Чтобы
закодировать строку «02020203», начинаем с интервала [0,1). Первый
символ 02 сокращает этот интервал, отбросив от него 40% в начале и
10% в конце. Результатом будет интервал [0,4, 0,9]. Второй символ 02
сокращает
интервал
[0,4,
0,9]
в той же пропорции до интервала [0,6, 0,85]. Третий символ 02 переводит его в [0,7, 0,825]. Наконец, символ 03 отбрасывает от него 90% в
начале, а конечную точку оставляет без изменения. Получается интервал
[0,8125, 0,8250). Окончательным кодом метода может служить любое
число из этого промежутка. (Заметим, что подынтервал
[0,6, 0,85] получен из [0,4, 0,9] с помощью следующих преобразований
его концов: 0,4 + (0,9 – 0.4) х 0,4 = 0,6 и 0,4 + (0,9 – 0,4) х 0,9 = 0,85.)
На этом примере легко понять следующие шаги алгоритма
арифметического кодирования (рис. 18.6):
Рис. 18.6. Алгоритм арифметического кодирования
1. Задать «текущий интервал» [0,1).
132
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
2. Повторить следующие действия для каждого символа s входного файла.
2.1. Разделить текущий интервал на части пропорционально вероятностям каждого символа.
2.2. Выбрать подынтервал, соответствующий символу s, и
назначить его новым текущим интервалом.
3. Когда весь входной файл будет обработан, выходом алгоритма объявляется любая точка, которая однозначно определяет текущий
интервал (то есть любая точка внутри этого интервала).
На рис. 18.7 приведен пример кодирования сообщения
АССBCAAABCE, где E – символ конца сообщения.
После каждого обработанного символа текущий интервал становится все меньше, поэтому требуется все больше бит, чтобы выразить его, однако окончательным выходом алгоритма является единственное число, которое не является объединением индивидуальных
кодов последовательности входных символов. Среднюю длину кода
можно найти, разделив размер выхода (в битах) на размер входа (в символах).
Рис. 18.7. Кодирование сообщения ACCBCAAABCE
Кодирование одинаковых последовательностей (LZ-подобные
алгоритмы, LZW). Существует довольно большое семейство LZподобных алгоритмов, различающихся, например, методом поиска
повторяющихся цепочек. Сжатие во всех LZ-подобных алгоритмах
осуществляется на основе кодирования одинаковых цепочек байт
с
использованием словаря. Они различаются методом поиска повторяющихся цепочек, способом их представления, способом построения
словаря цепочек.
133
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рассмотрим работу одного из LZ-подобных алгоритмов на
примере метода LZ78. Он использует словарь ранее встретившихся
последовательностей. В начале работы этот словарь пуст (или почти
пуст) и его размер ограничен только объемом доступной памяти. На
выход поступает последовательность меток, состоящих из двух полей.
Первое поле – это указатель на строку в словаре, а второе – код символа. Метка не содержит длины строки, поскольку строка берется из
словаря. Каждая метка соответствует последовательности во входном
файле, и эта последовательность добавляется в словарь после того, как
метка записана в выходной сжатый файл. Ничего из словаря не удаляется, что одновременно является и преимуществом (поскольку будущие строки могут совпадать даже с очень давними последовательностями) и недостатком (так как быстро растет объем словаря). Словарь
начинает строиться из пустой строки в позиции нуль. По мере поступления и кодирования символов, новые строки добавляются в позиции
1, 2 и т.д.
Рис. 18.8. Алгоритм LZ78
Когда следующий символ х читается из входного файла, в словаре ищется строка из одного символа х. Если такой строки нет, то х
добавляется в словарь, а на выход подается метка (0, х). Эта метка
означает строку «нуль х» (соединение нулевой строки и х). Если
вхождение символа х обнаружено (скажем, в позиции 37), то читается
следующий символ у, и в словаре ищется вхождение двухсимвольной
строки ху. Если такое не найдено, то в словарь записывается строка ху,
а на выход подается метка (37, у). Такая метка означает строку ху, так
как позицию 37 в словаре занимает символ х. Процесс продолжается
до конца входного файла.
134
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
В общем случае текущий символ читается и становится однобуквенной строкой. Затем кодер пытается найти ее в словаре. Если
строка найдена, читается следующий символ и присоединяется к текущей строке, образуя двухбуквенную строку, которую кодер опять
пытается найти в словаре. До тех пор пока такие строки находятся
в словаре, происходит чтение новых символов и их присоединение
к текущей строке. В некоторый момент такой строки в словаре не оказывается. Тогда кодер добавляет ее в словарь и строит метку,
в
первом поле которой стоит указатель на последнюю найденную
в
словаре строку, а во втором поле записан последний символ строки
(на котором произошел обрыв успешных поисков).
В табл. 18.1 показаны шаги при декодировании последовательности «sir_sid_eastman_easily_teases_sea_sick_seals».
Таблица 18.1
0
1
2
3
4
5
6
7
8
9
10
11
12
13
Словарь
null
«s»
«i»
«r»
«_»
«si»
«d»
«_e»
«a»
«st»
«m»
«an»
«_ea»
«sil»
Шаги декодера
Метка
Словарь
(0,«s»)
(0,«I»)
(0,«r»)
(0,«_»)
(1,«i»)
(0,«d»)
(4,«e»)
(0,«a»)
(1,«t»)
(0,«m»)
(8,«n»)
(7,«a»)
(5,«l»)
14
15
16
17
18
19
20
21
22
23
24
25
26
«y»
«_t»
«e»
«as»
«es»
«_s»
«ea»
«_si»
«c»
«k»
«_se»
«al»
«s(eof)»
Метка
(0,«y»)
(4,«t»)
(0,«e»)
(8,«s»
(16,«s»)
(4,«s»)
(4,«a»)
(19,«i»)
(0,«c»)
(0,«k»)
(19,«e»)
(8,«l»)
(1,«s(eof)»)
На каждом шаге строка, добавленная в словарь, совпадает с
кодируемой строкой минус последний символ. В типичном процессе
сжатия словарь начинается с коротких строк, но по мере продвижения
по кодируемому тексту все более и более длинные строки добавляются в словарь. Размер словаря может быть фиксированным или определяться размером доступной памяти каждый раз, когда запускается
программа сжатия LZ78. Большой словарь позволяет делать глубокий
поиск длинных совпадений, но ценой этого служит длина поля указателей (а, значит, и длина метки) и замедление процесса словарного
поиска.
135
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Хорошей структурой для организации словаря является дерево,
но не двоичное. Дерево начинается нулевой строкой в корне. Все
строки, начинающиеся с нулевой строки (строки, для которых указатель в метке равен нулю), добавляются к дереву как потомки корня.
В нашем примере таковыми служат следующие строки: s, i, r,
_, d, а, m, у, е, с, к. Все они становятся корнями поддеревьев (рис. 18.
9).
null
4-« »
19-s
7-e
8-a 22-c 6-d 16-e 2-i 23-k 10-m 3-r 1-s 14-y
15-t 25-l 11-n 17-s 20-a
18-s
24-e 21-i 12-a
26-eof 5-i 9-t
13-l
Рис. 18.9. Словарное дерево для LZ78
Например, все строки, начинающиеся с символа S (четыре
строки si, sil, st и s(eof)), образуют поддерево узла s. В 8-битовом алфавите имеется всего 256 различных символов. В принципе, каждый
узел дерева может иметь до 256 потомков. Следовательно, добавление
новых узлов на дерево является динамическим процессом. Когда узел
создается, у него еще нет потомков, поэтому необходимо зарезервировать некоторый объем памяти для них. Поскольку удалять узлы с
дерева не придется, не придется и заниматься перераспределением
памяти, что несколько упрощает манипулирование с ней.
Декодер LZ78 работает примерно так же, как и кодер, строя
словарь и оперируя с ним.
Лучшим из всех LZ-подобных алгоритмов признан алгоритм
LZW с динамически создающимся во время кодирования и декодирования словарем и переменным числом битов в кодах цепочек. Эти методы были разработаны А. Лемпелем, Дж. Зивом и Т.А. Уэлчом [128],
по первым буквам фамилий которых они и получили свое название.
Для представления и хранения цепочек метод LZW использует дерево. Это накладывает сильное ограничение на вид цепочек, и не все
одинаковые подцепочки в изображении будут использованы при сжатии. Однако в этом алгоритме выгодно сжимать даже цепочки, состоящие из двух байт.
Покажем процесс сжатия на примере. Применим алгоритм
LZW для кодирования строки символов «alf_eats_alfalfа». Последовательность шагов отображена в таблице 1. Кодер выдает на выход
136
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
файл: 97 (а), 108 (l), 102 (f), 32 (_), 101 (е), 97 (а), 116 (t), 115 (s), 32 (_),
256 (al), 102 (f), 265 (alf), 97 (a), a в словаре появляются следующие
новые записи: (256: al), (257: lf), (258: f_), (259: _е), (260: еа), (261: at),
(262: ts), (263: s_), (264: _a), (265: alf) , (266: fa), (267: alfa).
Преимуществом LZW является то, что для декомпрессии не
нужно сохранять таблицу строк в файл для распаковки. Алгоритм построен таким образом, что сам восстанавливает таблицу строк, пользуясь только потоком кодов. Степень компрессии дополнительно увеличивается за счет упаковки кодов переменной длины. LZW реализован
в форматах GIF и TIFF. Максимальный коэффициент сжатия достигается на картинках с однородным фоном размером около 7Мб
и составляет 1000. Средний коэффициент сжатия – 15, худший 5/7. Ориентирован алгоритм LZW на 8-битные изображения, полученные на
компьютере. Ситуация, когда алгоритм увеличивает изображение,
встречается крайне редко.
Все представленные здесь различные методы словарного сжатия используют одни и те же общие принципы. Они читают файл символ за символом и добавляют фразы в словарь. Фразы являются отдельными символами и строками символов входного файла. Методы
сжатия различаются только способом отбора фраз для сохранения в
словаре. Когда строка входного файла совпадает с некоторой фразой
в словаре, в сжатый файл записывается позиция этой фразы или метка.
Если для хранения метки требуется меньше бит, чем для записи самой
фразы, то наблюдается эффект сжатия. В общем случае словарные методы сжатия, если их применять грамотно, дают лучшие результаты,
чем статистические методы компрессии, поэтому они активно используются во всевозможных компрессионных приложениях, или они являются одним из этапов многостадийного сжатия.
Алгоритм JBIG. Алгоритм разработан группой экспертов ISO
(Joint Bi-level Experts Group) специально для сжатия 1-битовых чернобелых изображений [128]. Например, факсов или отсканированных
документов. В принципе может применяться и к 2-, и к 4-битовым
картинкам. При этом алгоритм разбивает их на отдельные битовые
плоскости. JBIG позволяет управлять такими параметрами, как порядок разбиения изображения на битовые плоскости, ширина полос
в
изображении, уровни масштабирования. Последняя возможность позволяет легко ориентироваться в базе больших по размерам изображений, просматривая сначала их уменьшенные копии. Настраивая эти
параметры, можно использовать описанный выше эффект «огрубленного изображения» при получении изображения по сети или по любому другому каналу, пропускная способность которого мала по сравнению с возможностями процессора. Распаковываться изображение на
137
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
экране будет постепенно, как бы медленно «проявляясь». При этом
человек начинает анализировать картинку задолго до конца процесса
разархивации. В большинстве случаев JBIG демонстрирует приблизительно на 20-50% лучшую степень сжатия по сравнению с более простым и раньше появившимся стандартом Fax Group 4, в некоторых ситуациях преимущество достигает нескольких раз.
Алгоритм построен на базе Q-кодировщика [128], патентом на
который владеет IBM. Q-кодер так же, как и алгоритм Хаффмана, использует для чаще появляющихся символов короткие цепочки, а для
реже появляющихся – длинные. Однако в отличие от него в алгоритме
используются и последовательности символов.
Алгоритм Lossless JPEG. Алгоритм изучает несколько предыдущих соседей текущего пиксела, рассматривает их как контекст этого пиксела, использует контекст для прогнозирования пиксела и для
выбора распределения вероятностей из нескольких имеющихся
и
применяет это распределение для кодирования ошибки прогноза с
помощью специального кода Голомба. Длина серии одинаковых пикселов кодируется подходящим образом.
Сжатый файл состоит из сегментов данных (содержащих коды
Голомба и длины серий), сегментов маркеров (с информацией, необходимой декодеру) и просто маркеров (в качестве которых используются некоторые зарезервированные маркеры JPEG) . Маркером является байт из одних единиц, за которым следует специальный код, сигнализирующий о начале нового сегмента. Если за маркером следует
байт, у которого старший бит равен 1, то этот байт является началом
сегмента маркеров. В противном случае начинается сегмент данных.
Lossless JPEG является симметричным методом сжатия и ориентирован на полноцветные 24-битные или 8-битные в градациях серого изображения без палитры. Степени сжатия: 20, 2, 1. Lossless
JPEG рекомендуется применять в тех приложениях, где необходимо
побитовое соответствие исходного и декомпрессированного изобр ажений.
Итак, были рассмотрены классы методов сжатия без потерь.
Перейдем к описанию алгоритмов с потерями.
Первыми для архивации изображений стали применяться привычные алгоритмы. Те, что использовались и используются в системах резервного копирования, при создании дистрибутивов и т.п. Эти
алгоритмы архивировали информацию без изменений. Однако основной тенденцией в последнее время стало использование новых классов изображений. Старые алгоритмы перестали удовлетворять требованиям, предъявляемым к архивации. Многие изображения практически не сжимались, хотя «на взгляд» обладали явной избыточностью.
138
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Это привело к созданию нового типа алгоритмов – сжимающих с потерей информации. Как правило, степень сжатия и, следовательно,
степень потерь качества в них можно задавать. При этом достигается
компромисс между размером и качеством изображений.
Одна из серьезных проблем компьютерной графики заключается в том, что до сих пор не найден адекватный критерий оценки потерь качества изображения. А теряется оно постоянно – при оцифровке, при переводе в ограниченную палитру цветов, при переводе в другую систему цветопредставления для печати, и, что особенно важно,
при архивации с потерями.
Алгоритм JPEG. JPEG – один из самых новых и достаточно
мощных алгоритмов. Практически он является стандартом де-факто
для полноцветных изображений. Оперирует алгоритм областями 8×8,
на которых яркость и цвет меняются сравнительно плавно. Вследствие
этого при разложении матрицы такой области в двойной ряд по косинусам значимыми оказываются только первые коэффициенты. Таким
образом, сжатие в JPEG осуществляется за счет плавности изменения
цветов в изображении.
Алгоритм разработан группой экспертов в области фотографии
специально для сжатия 24-битных изображений. JPEG – Joint Photographic Expert Group – подразделение в рамках ISO – Международной
организации по стандартизации. В целом алгоритм основан на дискретном косинусоидальном преобразовании (в дальнейшем ДКП),
применяемом к матрице изображения для получения некоторой новой
матрицы коэффициентов. Для получения исходного изображения
применяется обратное преобразование (18.10).
139
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ДКП раскладывает изображение по амплитудам некоторых частот. Таким образом, при преобразовании получаем матрицу, в которой многие коэффициенты либо близки, либо равны нулю. Кроме того, благодаря несовершенству человеческого
зрения, можно аппроксимировать ко1
эффициенты более грубо без заметной
потери качества изображения.
Для этого используется квантование коэффициентов (quantization). В
2
самом простом случае – это арифметический побитовый сдвиг вправо.
При этом преобразовании теряется
часть информации, но может достигаться большая степень сжатия.
3
Рассмотрим алгоритм подробнее. Пусть сжимается 24-битное изображение.
4
Шаг 1.
Перевод изображения из цветового пространства RGB в цветовое
пространство YCrCb (иногда называ5
ют YUV).
В нем Y – яркостная составляющая, a Cr, Cb – компоненты, отвечающие за цвет (хроматический красный
6
и хроматический синий). За счет того,
что человеческий глаз менее чувствителен к цвету, чем к яркости, появляется возможность архивировать масРис. 18.10. Алгоритм
сивы для Сr и Сb компонент с больJPEG
шими
потерями
и, соответственно, большими степенями сжатия.
Шаг 2.
Разбивается исходное изображение на матрицы 8×8. Формируется из каждой три рабочие матрицы ДКП – по 8 бит отдельно для
каждой компоненты. При больших степенях сжатия этот шаг может
выполняться чуть сложнее. Изображение делится по компоненте Y –
как и в первом случае, а для компонент Сr и Сb матрицы набираются
через строчку и через столбец. Т.е. из исходной матрицы размером
16×16 получается только одна рабочая матрица ДКП. При этом, как не
трудно заметить, теряется 3/4 полезной информации о цветовых со-
140
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ставляющих изображения и получается сразу сжатие в два раза. Мы
можем поступать так благодаря работе в пространстве YCrCb. На результирующем RGB изображении, как показала практика, это сказывается не сильно.
Шаг 3.
В упрощенном виде ДКП при п=8 можно представить так:
где
1 7 7
Y [u, v]    C (i, u )  C ( j , v)  y[i, j ] ,
4 i 0 j 0
 (2  i  1)  u   
C (i, u )  A(u )  cos

2n


 1
 ,u  0
A(u )   2

 1, u  0
(18.4)
(18.5)
(18.6)
Применяем ДКП к каждой рабочей матрице. При этом мы получаем матрицу, в которой коэффициенты в левом верхнем углу соответствуют низкочастотной составляющей изображения, а в правом
нижнем – высокочастотной. Понятие частоты следует из рассмотрения изображения как двухмерного сигнала (аналогично рассмотрению
звука как сигнала). Плавное изменение цвета соответствует низкочастотной составляющей, а резкие скачки – высокочастотной.
Шаг 4.
Производим квантование. В принципе, это просто деление рабочей матрицы на матрицу квантования поэлементно. Для каждой
компоненты (Y, U и V) в общем случае, задается своя матрица квантования q[u,v] (далее МК):
 Y [u, v] 
Yq[u, v]  IntegerRound 

q
[
u
,
v
]


(18.7)
На этом шаге осуществляется управление степенью сжатия,
и происходят самые большие потери. Понятно, что, задавая МК
с
большими коэффициентами, мы получим больше нулей и, следовательно, большую степень сжатия.
В стандарт JPEG включены рекомендованные МК, построенные опытным путем. Матрицы для большей или меньшей степени
сжатия получают путем умножения исходной матрицы на некоторое
число gamma.
141
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 18.11. Матрица частот
Шаг 5.
Переводим матрицу 8×8 в 64-элементный вектор при помощи
«зигзаг»-сканирования, т.е. берем элементы с индексами (0,0), (0,1),
(1,0), (2,0)...
Шаг 6.
Свертываем вектор с помощью алгоритма группового кодирования. При этом получаем пары типа «пропустить, число», где «пропустить» является счетчиком пропускаемых нулей, а «число» – значение, которое необходимо поставить в следующую ячейку.
Шаг 7.
Свертываем получившиеся пары кодированием по Хаффману
с фиксированной таблицей.
Таким образом, в начале вектора мы получаем коэффициенты матрицы, соответствующие низким частотам, а в конце –
высоким.
Процесс восстановления изображения в этом алгоритме полностью симметричен. Метод позволяет сжимать некоторые изображения
в 10-15 раз без серьезных потерь.
142
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 18.12. Перевод матрицы в вектор зигзаг-сканированием
Существенными положительными сторонами алгоритма является то, что:
1) Задается степень сжатия.
2) Выходное цветное изображение может иметь 24 бита на точку.
Отрицательными сторонами алгоритма является то, что:
1) При повышении степени сжатия изображение распадается
на отдельные квадраты (8×8). Это связано с тем, что происходят
большие потери в низких частотах при квантовании и восстановить
исходные данные становится невозможно.
143
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
2) Проявляется эффект Гиббса – ореолы по границам резких
переходов цветов.
Фрактальное сжатие. В начале 80-х годов XX века Майкл
Барнсли выдвинул идею получения заранее заданного изображения
как аттрактора (множество точек в пространстве динамической системы, к которым стремятся траектории системы) хаотического процесса.
Еще раньше было обнаружено, что хаотические системы способны создавать удивительные изображения, названные странными аттракторами. Барнсли поставил вопрос о том, можно ли построить хаотическую систему, для которой данное изображение будет являться странным аттрактором? Он использовал специальную систему отображений, названную системой итерируемых функций (Iterated Function
System – далее по тексту как IFS). IFS, в лучшем случае, – это только
грубая форма сжатия изображения [130], которая является их основой,
однако не применяется в чистом виде в современных формах сжатия,
основанных на фракталах.
Прежде чем рассматривать сам процесс архивации, разберем,
как IFS строит изображение, т.е. процесс декомпрессии.
Самый наглядный пример фрактального изображения – это папоротник (рис. 18.13, а):
Изображение папоротника (рис. 18.13) создано с помощью IFS.
Эта IFS состоит из 4 преобразований, отображающих все изображение
в 4 элемента изображения, составленные на (рис. 18.13, б). Вся информация, необходимая для создания изображения на рисунке (рис.
18.13, а), может быть записана с помощью 24 чисел с плавающей точкой.
IFS, используемая для создания этого изображения, состоит из
четырех преобразований. Каждое преобразование имеет заданную
форму, которая определяется шестью вещественными коэффициентами. Таким образом, вся информация, необходимая для создания изображения (рис. 18.13, а) содержится в 24 числах с плавающей точкой,
которые представляют собой код изображения (рис. 18.13, б). Такое
представление гораздо компактнее, чем растровый вариант. IFS дает
сжатие в сотни и тысячи раз.
144
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
б
a
Рис. 18.13. Фрактальное изображение папоротника
Но такая простая IFS как было показано в примере, не работает
для произвольных изображений, а только для самоподобных изобр ажений, то есть для тех, которые строятся из элементов, являющихся
копией целого изображения.
Рис. 18.14. Самоподобные области изображения
Фрактальный папоротник, показанный на рис. 18.13, не похож
на папоротник, встречающийся в природе. Он имеет бесконечно много листьев, и каждый лист имеет бесконечное количество деталей.
На рис. 18.15, а показана цифровая фотография реального растения
с конечным множеством листьев. Можно построить изображениеаттрактор IFS, аппроксимирующее это изображение, но это потребует
больше преобразований, чем построение изображения папоротника.
145
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
а
б
Рис. 18.15. Фотография растения
Чтобы получить IFS-аттрактор, представляющий растение,
изображенное на рисунке 18.15, а – это изображение хорошо подходит для IFS-представления, так как каждый лист похож на все растение в миниатюре. Рисунок 18.15, б – это изображение растения, помещенное на сетку. Растение имеет 11 листьев, и для каждого нужно
одно преобразование. Каждый лист отмечается тремя точками, и всего
нужно 33 точки для преобразований листьев. Кроме того, 3 преобр азования нужны, чтобы определить сегменты изогнутого стебля. Для
этого нужно еще 7 дополнительных точек (две из них используются
дважды); и всего получается 40 точек и 14 преобразований. На рисунке 18.15, б показаны отметки точек и одно преобразование листа (заметим, что точки 1, 2, 3 определяют все растение целиком). Этот пример может рассматриваться как грубая форма сжатия изображения.
Рекурсивный (волновой) алгоритм (wavelet). Этот вид архивации известен довольно давно и напрямую исходит из идеи использования когерентности областей. Ориентирован алгоритм на цветные
и черно-белые изображения с плавными переходами. Идеален для
изображений, полученных на рентгеновских установках. Степень сжатия задается и варьируется в пределах 5-100 [130].
Вейвлет-методы для сокращения объема хранимой информации о вейвлетно-преобразованной области используют избыточность
масштаба. Идея алгоритма проста: сначала к изображению применяется вейвлет-преобразование, а затем из данных преобразованного
изображения удаляются некоторые избыточные коэффициенты. К
оставшимся коэффициентам может быть применено кодирование.
Сжатое изображение восстанавливается путем декодирования коэффициентов, если это необходимо, и применением обратного преобра-
146
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
зования к результату. Предполагается, что в процессе удаления части
коэффициентов преобразования теряется не слишком много информации.
В реализациях алгоритма сохраняется разница между средними
значениями соседних блоков в изображении.
Так, два числа а2i и а2i+1 всегда можно представить в виде:
b1i=( а2i + а2i+1)/2 и b2i=( а2i – а2i+1)/2.
(18.8)
Аналогично последовательность аi может быть попарно переведена в последовательность b1,2i.
Разберем конкретный пример: пусть мы сжимаем строку из
восьми значений яркости пикселов (аi): (220, 211, 212, 218, 217, 214,
210, 202). Получим следующие последовательности b1i и b2i : (215.5,
215, 215.5, 206) и (4.5, -3, 1.5,4). Заметим, что значения b2i достаточно
близки к нулю. Повторим операцию, рассматривая b1i как аi. Данное
действие выполняется как бы рекурсивно, откуда и название алгоритма. Получим из (215.5, 215, 215.5, 206): (215.25, 210.75) (0.25, 4.75).
Полученные коэффициенты, округлив до целых и сжав, например, с
помощью алгоритма Хаффмана с фиксированными таблицами могут
быть более эффективно закодированы.
К достоинствам этого алгоритма можно отнести то, что он
очень легко позволяет реализовать возможность постепенного «проявления» изображения при передаче изображения по сети. Кроме того, поскольку в начале изображения мы фактически храним его
уменьшенную копию, упрощается показ изображения низкого разрешения по заголовку.
В отличие от JPEG и фрактального алгоритма данный метод не
оперирует блоками, например, 8×8 пикселов. Точнее, мы оперируем
блоками 2×2, 4×4, 8×8 и т.д. Но за счет того, что коэффициенты для
этих блоков сохраняем независимо, можно достаточно легко избежать
дробления изображения на «мозаичные» квадраты [132].
На рис.18.16 представлено сравнение искажений (соотношение
между сжатием и искажением в алгоритмах с потерями, оценка определяется как среднее значение числа бит, необходимого для представления каждого пикселя) в изображениях по показателю пикового отношения сигнала к шуму – PNSR (соотношение между максимумом
возможного значения сигнала и мощностью шума, искажающего значения сигнала) для вейвлет- и фрактальных алгоритмов.
147
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
PSNR
40
35
Базовый фракт.
30
D4-вейвл. - без
дец.
Фракт. SO
25
20
0
5 10 15 20 25 30 35 40 45 50 55
Коэффициент сжатия
Рис. 18.16. Зависимость коэффициента сжатия от пикового
отношения сигнала к шуму для вейвлет и фрактальных алгоритмов
Алгоритм JPEG-2000. Базовая схема JPEG-2000 очень похожа
на базовую схему JPEG. Отличия заключаются в следующем:
1) Вместо дискретного косинусного преобразования (DCT) используется дискретное вейвлет-преобразование (DWT).
2) Вместо кодирования по Хаффману используется арифметическое сжатие.
3) В алгоритм изначально заложено управление качеством областей изображения.
4) Не используется явно дискретизация компонент U и V после
преобразования цветовых пространств, поскольку при DWT можно
достичь того же результата, но более аккуратно.
При кодировании JPEG-2000 на каждом шаге преобразования
выполняется разбиение пополам по частоте. При обработке изображения размером NN сначала каждая из N строк делится на низкочастотную и высокочастотную половины. Получается два изображения размерами NN/2. Далее каждый столбец делится аналогичным образом.
В результате получается четыре изображения размерами N/2N/2:
низкочастотное по горизонтали и вертикали (НЧНЧ), высокочастотное по горизонтали и вертикали (ВЧВЧ), низкочастотное по горизонтали и высокочастотное по вертикали (НЧВЧ) и высокочастотное по
горизонтали и низкочастотное по вертикали (ВЧНЧ). Первое из
названных изображений (ВЧВЧ) делится аналогичным образом на
следующем шаге преобразования и так далее, обычно производятся 36 итерации, которые называют уровнями декомпозиции.
После преобразования нечетные значения будут содержать
высокочастотные компоненты, а четные – низкочастотные. Затем они
перераспределяются на низкочастотные и высокочастотные компоненты. Обратное преобразование осуществляется в обратном поряд-
148
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ке, т.е. сначала коэффициенты перераспределяются, затем восстанавливаются четные элементы, а затем нечетные.
Рис 18.17. Алгоритм JPEG-2000
Перед применением ДВП происходит преобразование цветовых
компонент. Полученные коэффициенты квантуются, а затем сжимаются с помощью модифицированного арифметического кодировщика. Степень сжатия задается пользователем. В алгоритме реализована схема
достижения заданного коэффициента сжатия с сохранением наилучшего возможного при нем качества.
Достоинством описанного алгоритма является наличие возможности постепенного «проявления» изображения при передаче его
по сети. Кроме того, поскольку в начале изображения фактически
хранится его уменьшенная копия, то упрощается показ «огрубленного» изображения по заголовку. И, наконец, так как данный метод не
оперирует блоками, например, 8x8 пикселей, не происходит дробления изображения на «мозаичные» квадраты.
Недостатком является то, что при больших значениях коэффициентов сжатия происходит сильное размывание границ, смазывание изображения, проявляющиеся в виде всплесков.
При сжатии без потерь коэффициент сжатия составляет 2-10
раз. При сжатии с потерями – 2-200 раз. Данный метод ориентирован
149
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
на полноцветные 24-битные изображения или изображения в градациях серого.
18.4. Сравнительный анализ алгоритмов сжатия изображений
Критерии сравнения алгоритмов. Заметим, что характеристики алгоритма относительно некоторых требований приложений,
сформулированные ранее, зависят от конкретных условий, в которые
будет поставлен алгоритм. Так, степень компрессии зависит от того,
на каком классе изображений алгоритм тестируется. Скорость компрессии нередко зависит от того, на какой платформе реализован алгоритм. Таким образом, невозможно составить универсальное сравнительное описание известных алгоритмов. Это можно сделать только
для типовых классов приложений при условии использования типовых алгоритмов на типовых платформах. Однако такие данные
необычайно быстро устаревают.
Со всеми сделанными оговорками выделим несколько наиболее важных для критериев сравнения алгоритмов компрессии (табл.
18.2), которые и будем использовать в дальнейшем [132].
Таблица 18.2
Сравнение алгоритмов сжатия изображений
Алгоритм
RLE
LZW
Хаффмана
JBIG
Lossless JPEG
Рекурсивное
сжатие
JPEG
Фрактальный
Коэффициенты сжатия
32, 2, 0.5
Симметричность
по времени
1
Класс
изображения
Потери
Размерность
3,4-битные
Нет
1D
1000,4, 5/7
8, 1.5, 1
2-30 раз
2 раза
2-200 раз
1.2-3
1-1.5
~1
~1
1.5
1-8-битные
8-битные
1-битные
24-бит. сер.
24-битные, серые
24-битные, сер.
24-бит. сер.
Нет
Нет
Нет
Нет
Да
1D
1D
2D
2D
2D
Да
Да
2D
2.5D
2-200 раз
2-2000 раз
1000-10000
1. Степень сжатия (худшая, средняя и лучшая). То есть доля, на которую возрастет сжатие изображения, если исходные данные
будут наихудшими; некая среднестатистическая степень для того
класса изображений, на который ориентирован алгоритм; и, наконец,
лучшая степень. Последняя необходима лишь теоретически, поскольку показывает степень сжатия наилучшего (как правило, абсолютно
черного) изображения, иногда фиксированного размера.
2. Класс изображений, на который ориентирован алгоритм.
Иногда указано также, почему на других классах изображений получаются худшие результаты.
150
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
3. Симметричность. Отношение характеристики алгоритма
кодирования к аналогичной характеристике при декодировании. Характеризует ресурсоемкость процессов кодирования и декодирования.
4. Потери качества изображения.
5. Характерные особенности алгоритма и изображений, к которым его применяют. Здесь могут указываться наиболее важные для
алгоритма свойства, которые могут стать определяющими при его выборе.
На рис. 18.18 приведен пример сравнения сжатия полноцветного изображения алгоритмом JPEG, фрактальным и вейвлет-сжатием
с коэффициентом сжатия 100.
320×320×RGB
(307.200 байт)
Сжатие в 100 раз JPEG
(3.08 Кb)
Сжатие в 100 раз (3.04 Кb) фрак- Сжатие в 100 раз (3.04 Кb) wavelet
алгоритмом
тальным алгоритмом
Рис. 18.18.. Применение алгоритмов сжатия
151
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
На данном примере хорошо видно, что при высоких степенях
компрессии алгоритм JPEG оказывается полностью неконкурентоспособным. Также хорошо видны артефакты, вносимые в изображение
всеми алгоритмами. Качество изображения для фрактального алгоритма визуально несколько ниже, однако для него не используется
постобработка изображения (достаточно «разумное» сглаживание),
из-за которого у волнового алгоритма размываются мелкие детали
изображения.
Алгоритмы сжатия без потерь достаточно универсальны и покрывают все типы изображений, в то же время у них по сегодняшним
меркам слишком маленькая степень сжатия. Используя один из алгоритмов сжатия без потерь, можно обеспечить архивацию изображения
примерно в 2 раза. Алгоритмы сжатия с потерями оперируют
с коэффициентами 10-200 раз. Помимо возможности модификации изображения, одна из основных причин подобной разницы заключается в
том, что традиционные алгоритмы ориентированы на работу
с цепочкой. Они не учитывают так называемую когерентность областей в
изображениях. Идея когерентности областей заключается в малом изменении цвета и структуры на небольшом участке изображения. Все
алгоритмы сжатия с потерями были созданы позднее специально для
сжатия графики и используют эту идею. Справедливости ради следует
отметить, что и в классических алгоритмах можно использовать идею
когерентности. Существуют алгоритмы обхода изображения по фрактальной кривой, при работе которых оно также вытягивается в цепочку; но за счет того, что кривая обегает области изображения по сло жной траектории, участки близких цветов в получающейся цепочке
удлиняются.
На основе таблицы сравнения алгоритмов сжатия можно проследить основные тенденции их развития:
ориентация на фотореалистичные изображения с 16 млн. цветов (24 бита);
использование сжатия с потерями, возможность за счет потерь регулировать качество сжатых изображений;
использование избыточности изображений в двух измерениях;
появление существенно несимметричных алгоритмов;
увеличивающаяся степень сжатия изображений.
Контрольные вопросы
1. Какие параметры надо определить, прежде чем сравнивать
два алгоритма компрессии?
152
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
2. Почему некорректно сравнивать временные параметры реализаций алгоритмов компрессии, оптимально реализованных на разных компьютерах? Приведите примеры ситуаций, когда архитектура
компьютера дает преимущества тому или иному алгоритму.
3. Какими свойствами изображений можно пользоваться, создавая алгоритм компрессии? Приведите примеры.
4. Назовите основные требования приложений к алгоритмам
компрессии.
5. Предложите пример своего класса приложений.
6. Приведите примеры аппаратных реализаций алгоритма сжатия изображений, с которыми вам приходилось сталкиваться (повседневные и достаточно новые).
7. Почему высокая скорость компрессии, высокое качество
изображений и высокая степень компрессии взаимно противоречивы?
Покажите противоречивость каждой пары условий.
8. На какой класс изображений ориентирован алгоритм RLE?
9. Приведите два примера «плохих» изображений для первого
варианта алгоритма RLE, для которых файл максимально увеличится
в размере.
10. Приведите пример «плохого» изображения для алгоритма
Хаффмана.
11. Сравните алгоритмы сжатия изображений без потерь.
12. В чем разница между алгоритмами с потерей информации
и без потери информации?
13. Приведите примеры мер потери информации и опишите их
недостатки.
14. За счет чего сжимает изображения алгоритм JPEG?
15. В чем заключается идея алгоритма фрактального сжатия?
16. В чем заключается идея рекурсивного (волнового) сжатия?
17. Можно ли применять прием перевода в другое цветовое
пространство алгоритма JPEG в других алгоритмах компрессии?
18. Сравните приведенные в этой главе алгоритмы сжатия
изображений.
153
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
РАЗДЕЛ 4
ПРИКЛАДНЫЕ АСПЕКТЫ
КОМПЬЮТЕРНОЙ ГРАФИКИ
ГЛАВА 19. ИЛЛЮСТРАТИВНАЯ, ДЕЛОВАЯ
ГРАФИКА И ДИЗАЙН
19.1. Особенности и классификация задач
иллюстративной графики
Иллюстративная графика – это прикладная ветвь машинной
графики, которая с недавнего времени выделилась в отдельное
направление наряду с деловой и научной. К ней относят: рисунки,
коллажи, заставки, постеры, рекламные ролики, мультфильмы, компьютерные игры, видеоуроки, видеопрезентации и многое другое.
Объекты иллюстративной графики не могут быть построены автоматически по некоторым исходным данным, без участия художника или
дизайнера, в отличии от деловой и научной графики.
Программные средства иллюстративной графики позволяют
человеку использовать компьютер для произвольного рисования, черчения, подобно тому, как он это делает на бумаге с помощью карандашей, красок, циркулей, линеек и других инструментов. Пакеты иллюстративной графики относятся к прикладному программному обеспечению общего назначения.
Простейшие программные средства, предназначенные для работы с иллюстративной графикой, называются графическими редакторами. Графические пакеты для этих целей требуют больших ресурсов
компьютера по быстродействию и памяти. Их отличительной особенностью является возможность создания реалистических (т.е. очень
близких к естественным) изображений, а также «движущихся картинок».
Для создания реалистических изображений в графических пакетах этой категории используется достаточно сложный математический аппарат. Например, получение рисунков трехмерных (пространственных) объектов, их повороты, приближения, удаления, деформации – все это связано с геометрическими расчетами. Передача освещенности объекта в зависимости от положения источников света, от
расположения теней, от фактуры поверхности (глянцевая, матовая,
пористая и пр.) требуют расчетов, учитывающих законы оптики.
Получение движущихся изображений на ЭВМ называется компьютерной анимацией. Слово «анимация» обозначает «оживление»
(родственное английскому animal – животное).
154
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Многие представляют, как художники-мультипликаторы создают свои фильмы. Чтобы передать движение, им приходится делать
тысячи рисунков, отличающихся друг от друга небольшими изменениями. Затем эти рисунки переснимаются на кинопленку. Система
компьютерной анимации берет значительную часть рутинной работы
на себя.
Например, художник может создать на экране рисунки лишь
начального и конечного состояний движущегося объекта, а все промежуточные состояния рассчитает и изобразит компьютер. Такая работа также связана с расчетами, опирающимися на математическое
описание данного типа движения. Полученные рисунки, выводимые
последовательно на экран с определенной частотой, создают иллюзию
движения.
19.2. Прикладные системы иллюстративной графики
В настоящее время на рынке программных средств существует
множество пакетов иллюстративной графики, которые содержат простые в применении, развитые и достаточно мощные инструментальные средства, предназначенные как для подготовки материалов к печати, так и для создания страниц в Интернете.
Пакеты иллюстративной графики всегда основывались на объектно-ориентированном подходе, позволяющем рисовать контуры
объектов, а затем закрашивать их или заполнять узорами. Можно
очень точно воспроизводить эти контуры, задавая любой размер, поскольку они формируются при помощи математической модели из точек и кривых, а не как растровые изображения – в виде сетки, заполненной прямоугольными пикселями.
Многие примитивы, такие как многоугольники, звезды и спирали, стали обычными атрибутами подобных пакетов. Если вчерашние пакеты векторной графики позволяли только помещать растровое
изображение в ваш файл, то с помощью современных программ можно встраивать представленные в растровой форме изображения, изменять их размеры и даже накладывать специальные эффекты и маски.
Это облегчает процесс получения окончательного изображения средствами многослойной графики.
Принципы, лежащие в основе последних пакетов, полностью
меняют представления о векторной графике. CorelXara 1.5 реализует
качественно новый подход к визуализации, располагает мощными
средствами создания выходных файлов GIF и JPEG и быстрым внешним модулем браузера для работы с векторной графикой. Пакет
Expression 1.0 фирмы Fractal Design позволяет строить контуры из
других сложных векторных графических изображений, предоставляя в
155
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
распоряжение пользователя бесконечное разнообразие визуальных
возможностей, недостижимое с помощью других программ [133].
В отличие от предназначенного для начинающих пользователей программного обеспечения настольных издательских систем или
программ редактирования фотоизображений, где, как правило, содержатся наиболее часто используемые средства редактирования, графические пакеты для новичков обычно ориентированы на решение конкретных задач, например построение диаграмм или техническое черчение. Приобрести навыки свободного рисования кривых Безье трудно даже для профессионала; не менее сложно освоить и основные
принципы машинного черчения, например изображение разрезов
и сечений. Кроме того, многие начинающие пользователи не ощущают различий между растровой и векторной графикой и могут не знать,
в каких случаях какими пакетами пользоваться. По этим причинам
начинающие должны соизмерять свои задачи с возможностями программы и переходить к полнофункциональному пакету рисования,
только когда будут готовы к этому.
Часто начинающим пользователям для создания простых иллюстраций достаточно уметь работать с непрофессиональными программными средствами, которые установлены на большинстве персональных компьютеров. Такие пакеты программ как Microsoft, Corel и
Lotus содержат базовые инструменты рисования в своих модулях текстового процессора и презентационной графики, а также библиотеки
клипартов. В Microsoft Office множество вариантов выбора для создания разнообразных рисунков, логотипов и текста при работе
с разными приложениями. Кроме того, галерея WordArt предоставляет интересные и цветные стили текста, которыми можно пользоваться для
заголовков или ярлыков.
Для задач технического характера следует обратить внимание
на такие программы построения диаграмм, как FlowCharter фирмы
Micrografx (http://www.micrografx.com) или Visio Professional фирмы
Visio Corp. (http://www.visio.com). Если же начать работать в области
САПР, то существует несколько вполне доступных по ценам и возможностям пакетов, в том числе AutoCAD LT фирмы Autodesk
(http://www.autodesk.com) или Design CAD фирмы ViaGrafx
(http://www.viagrafx.com).
Чтобы подготовить чертежи для небольших строительных проектов, например реконструкции этапа дома или модернизации кухни,
можно воспользоваться пакетами Planix и Draftix фирмы SoftDesk
(http://www.softdesk.com), Visual Home фирмы Books That Work
(www.btw.com) или 3D Home Architect, Edition 2 фирмы Broderbund
Software (http://www.broderbund.com/3dhome).
156
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рассмотрим наиболее известные редакторы иллюстративной
графики.
Corel Draw. CorelDRAW позволяет уверенно продвигать вперед любой графический проект. Точные инструменты, хорошая совместимость файлов и обновленное содержимое помогут воплотить
творческие идеи в профессиональные результаты: от красочных логотипов и вывесок до необыкновенных маркетинговых материалов и
привлекательной интернет-графики.
CorelDRAW содержит все необходимые графические инструменты для выполнения следующих операций:
создание иллюстраций с помощью мощных инструментов для
работы с векторной графикой;
верстка проектов;
редактирование и улучшение качества цифровых изображений;
преобразование растровых изображений в файлы векторной
графики.
Кроме того, CorelDRAW поставляется в комплекте с дополнительными приложениями и услугами, позволяющими удовлетворить
потребности в области обработки графики. Этот пакет сочетает в себе
полный набор великолепных возможностей дизайна, скорость и простоту в использовании [135].
В комплект фирма Corel включила множество программ, в том
числе Corel Photo-Paint. Новый пакет располагает самым мощным инструментарием среди всех программ обзора, при этом по сравнению с
предыдущей версией произведена модернизация интерфейса пользователя. Новый, интуитивно понятный интерфейс пользователя содержит измененные значки, меню и элементы управления. Интерфейс
стал проще, а инструментальные средства рисования и редактирования узлов – более гибкими.
Художественные возможности оформления текста в CorelDraw
безупречны, а принимаемые по умолчанию параметры для межбуквенных интервалов при размещении текста вдоль кривой не требуют
настройки, исключающей наложение букв – в отличие от Canvas
и
FreeHand. Инструмент «лупа» позволяет получить множество специальных эффектов, в том числе возможность увеличения только фрагмента изображения и автоматической настройки цветов текста в зависимости от цвета фона.
Можно вырезать изображения, накладывать цветные фильтры
и придавать растровым изображениям вид изогнутой страницы, используя двух- и трехмерные эффекты и внешние модули PhotoShop.
Однако помимо базовых возможностей масштабирования и средств
157
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
динамического назначения размеров CorelDraw не содержит специальных средств подготовки технических иллюстраций, подобных
Smart Mouse в Canvas или копирования массивов в Designer.
Несмотря на мощный инструментарий CorelDraw грешит отдельными недостатками. Широкий набор инструментальных средств
делает CorelDraw исключительно удобным для рисования, но неестественный вид печатных страниц и страниц Web ограничивает возможности применения этого пакета [133].
Adobe Illustrator. Возможности векторного редактора во многом определяются степенью совершенства базовых механизмов (последние версии библиотек CoolType, AGM и ACE), общих для всех
продуктов линейки [136].
CoolType отвечает за тексты: их вывод (в т.ч. размещение
вдоль кривой) и форматирование, обеспечивая поддержку висячей
пунктуации, контекстных начертаний, шрифтов OpenType. Библиотека
существенно переработана, как следствие, расширена функциональность работы с текстом.
В обязанности механизма AGM (Adobe Graphic Manager) входят внутреннее представление и визуализация элементов. Именно он
обеспечивает прозрачность программ пакета при работе в единой
связке. Корректное открытие файлов Photoshop, перенос объектов через системный буфер обмена – сфера AGM.
В библиотеку ACE (Adobe Color Engine) включены средства
работы с цветом – от функций управления отображением до цветоделения. Во многом благодаря единому цветовому «движку» непосредственно в редакторе контролируются результаты цветоделения плашек и наложение прозрачных объектов (flatten image).
По функциональным возможностям Illustrator сегодня значительно уступает пакету CorelDraw, не говоря уже о Macromedia
FreeHand, и его не следовало рекомендовать для профессиональных
художников-графиков, до тех пор пока Adobe не выпустит его существенно модернизированную версию.
Вне всякого сомнения, имитация объемных фигур в Illustrator
CS (Effects3D) заслуживает первостепенного внимания. Правда, оригинальной ее назвать нельзя: аналогичные функции несколько ранее
появились в Macromedia FreeHand, а в более скромном виде уже давно реализованы в CorelDRAW.
Одна из функций нового инструмента, пополнившего ряды динамических эффектов, – имитация небрежного наброска, выполненного и заштрихованного от руки. Его гибкие многочисленные настройки
позволяют варьировать итоговый вариант.
158
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Второе по значимости нововведение – многочисленные улучшения при работе с текстом, реализованные благодаря новой версии
библиотеки CoolType. Пользователи получили все ее преимущества:
изменение расстояния между символами с учетом их восприятия глазом (optical kerning); висячую пунктуацию (optical margin alignment) –
вынос кавычек и переносов за пределы текстового блока, что визуально выравнивает границы собственно текста); многостраничный компоновщик (multi-line composer), обеспечивающий равномерное распределение текста в колонке при выравнивании по формату; стили для
отдельных символов и абзацев.
Пакет Illustrator когда-то представлял собой выдающееся достижение в этой области и послужил моделью, которая легла в основу
большинства рассматриваемых здесь программ. Но с тех пор в каждом
новом продукте появлялось какое-нибудь усовершенствование.
Например, Macromedia FreeHand лучше выполняет импортирование
файлов EPS и AI и при этом обеспечивает высокую точность цветопередачи в формате CMYK, которой всегда отличался Illustrator.
CorelDraw уже давно подняла планку, предусмотрев в своих пакетах
градиентную закраску, истинные слои, булевы операции и специальные эффекты. Canvas 5 располагает средствами редактирования растровых изображений на уровне пикселов. Micrografx Designer предоставляет превосходный инструментарий для рисования, интегрируется
с Windows и Microsoft Office и содержит средства для подготовки технических иллюстраций, а CorelXara обеспечивает истинную прозрачность для векторных объектов и возможность встраивания растровых
изображений. В свою очередь Fractal Design Expression с помощью
инструмента Skeletal Strokes позволяет получать самые необычные
эффекты и видоизменять изображение.
К сожалению, сравнительно ограниченный набор средств пакета Illustrator не означает, что он прост в применении.
По сравнению с предыдущими версиями в последней кардинально улучшены работа с текстом и вывод на печать, появилась поддержка 3D-моделирования, но при сохранении в более позднем формате нужно учитывать особенности нового механизма обработки текста.
Illustrator, в свое время проложивший путь остальным графическим пакетам, сегодня отошел на второй план. До тех пор пока
Adobe серьезно не переделает его, мы рекомендуем поискать какойнибудь другой пакет.
Micrografx Designer. Micrografx Designer – удобная в применении, хоть и профессиональная программа, но с помощью ее можно
159
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
легко справиться с большинством тестов; программа обладает хорошим набором средств для создания технических иллюстраций.
Designer наряду с FlowCharter и Picture Publisher образует ядро комплекта Micrografx Graphics Suite.
Инструментальные средства для рисования в пакете Designer –
одни из самых простых для освоения и применения. Диалоговое окно
форматирования объекта содержит непривычно крупные пиктограммы и области выбора образцов внутренней закраски, стиля линий
и
заполнений, текста и таких характеристик объекта, как имя, размер и
расположение. К сожалению, иногда диалоговое окно форматирования объекта не показывает заполнения объекта, что приводит к неправильному использованию заполнения, принимаемого по умолчанию,
при изменениях шрифта.
Текст, располагаемый вдоль криволинейной направляющей,
создает невидимую копию исходной направляющей. Хотя можно редактировать невидимую направляющую и текст при этом изменяет
свое расположение. Подобно CorelXara, в Designer не предусмотрено
окно редактирования текста, что заставляет вас редактировать его постоянно в режиме полного соответствия WYSIWYG. Перемещения
между слоями очень неудобны, и хотя можно пользоваться несколькими страницами различного формата, для перемещения объектов
между страницами требуется монтажный буфер.
Инструмент для технического черчения позволяет начертить
несколько расположенных на одинаковом расстоянии друг от друга
объектов и увидеть результат прежде, чем его принять. Уникальное
средство Reference Point дает возможность устанавливать ограничения
на расстояния вдоль осей x и y и на величину угла поворота или принудительно размещать все объекты на определенном расстоянии от
определенной точки.
Designer наделен множеством функций – таких, например, как
итеративное смешение цветов, – отсутствующих в предыдущих версиях, но тем не менее, существует несколько серьезных недостатков.
Когда «скрывается» объект или делается видимым, теряется форматирование текста, а при расположении текста вокруг объекта возникают
недопустимые переносы слов. Привязка к направляющим осуществляется только при изменении размеров объекта, но не при его перетаскивании. В программе не предусмотрено также цветоделение и
коррекции цветов на экране.
Однако в комплект поставки пакета Designer входят интересные растровые фильтры и эффекты и он позволяет редактировать пикселы в Picture Publisher средствами технологии OLE.
160
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Designer с помощью простого интерфейса позволяет легко
справиться со многими типичными для офиса графическими работами, но принципиальные ограничения инструментальных средств и
весьма скудные возможности для четырехцветной печати CMYK могут заставить профессиональных художников-графиков воздержаться
от его применения. Но если необходимо мощное средство для технического черчения или, работая в интерактивном режиме, размещать
материалы на своих страницах Web, обходясь при этом без программирования, то, возможно, следует остановить свой выбор именно на
этом пакете [133].
Macromedia FreeHand. Macromedia FreeHand – уникальная
многостраничная среда для создания сложных иллюстраций и макетов
для публикации в печати и в электронных СМИ. Macromedia
FreeHand – лучшее средство для создания иллюстраций для печати,
Интернета и проектов Macromedia Flash.
Мощный набор средств Macromedia FreeHand MX поможет дизайнерам реализовать их творческие замыслы, а расширенные функции иллюстрирования, создания макетов и публикации обеспечивают
увеличение гибкости рабочего процесса.
Пакет Macromedia FreeHand отлично подходит для рисования
всевозможных кнопок, логотипов, баннеров, разделителей, иконок
и многого другого. В отличие от Adobe Illustrator, программа поддерживает работу с многостраничными документами, что позволяет использовать ее для верстки. Начиная с одиннадцатой версии редактора
в документ можно вставлять SWF-ролики. Появилась возможность создавать динамические связи между объектами, так называемые коннекторы. С помощью нового инструмента Action Tool, можно назначить флэш-действия векторным объектам. И, конечно же, сохранилось
одно из достоинств этого векторного редактора – сложные изображения рисуются в нем за минимальное количество щелчков мыши.
Macromedia FreeHand открывает профессиональным дизайнерам, иллюстраторам и издателям следующие возможности:
использование оптимизированных рабочих процессов для создания изображений для печати, Интернета и проектов Macromedia
Flash;
использование инструментов для подготовки многостраничных иллюстраций и специальные рабочие инструменты Macromedia
FreeHand для быстрого создания сложных дизайнерских проектов и
иллюстраций с максимальным воздействием на зрителя;
возможность разработки материала для различных сред при
подготовке иллюстраций для печати, Интернета и проектов
Macromedia Flash;
161
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
снижение временных затрат на создание и редактирование
иллюстраций с помощью таких функций, как шаблоны страниц и фонов, символьные библиотеки типов данных и навигационных компонентов, а также поиск и замена в графических изображениях;
быстрое планирование и организация многостраничных сайтов и проектов, а также подготовка интерактивных презентаций, раскадровки и Web-страницы с навигацией, не выходя из рабочей среды
FreeHand.
Как и другие продукты компании Macromedia, FreeHand тесно
интегрирован с другими программами Macromedia Studio. При реальной работе такая интеграция очень помогает.
Инструментарий FreeHand для рисования и работы с текстом
отвечает необходимым требованиям, но несколько ограничен. В интерфейсе FreeHand отдано предпочтение редактированию узлов, а не
редактированию объекта в целом. Каждая из операций масштабирования, поворота, зеркального отображения и деформации, выполняемые
в CorelDraw манипуляциями в рабочем окне объекта, требует отдельного инструмента из набора инструментария FreeHand.
Средства FreeHand для работы с текстом абзацев предоставляют достаточно широкие возможности, однако возможности выделения текста в FreeHand ограничены.
В программе FreeHand отсутствуют инструментальные средства, специально предназначенные для работы с техническими иллюстрациями.
FreeHand располагает очень продуманным, если не самым
лучшим инструментарием среди всех представленных пакетов. Но
главное достоинство FreeHand – абсолютное соблюдение режима
полного соответствия при выводе изображения (WYSIWYG), без всяких неприятных сюрпризов.
Corel Xara. Xara – объектно-ориентированный иллюстративный пакет, который позволяет также работать с растровыми изображениями. CorelXara имеет простой и очень понятный интерфейс. Пиктограммы в верхнем ряду обеспечивают доступ к полноцветным визуальным наборам цветов, заполнений, штриховок, растровых изображений, шрифтов и графических вставок (клипартов).
CorelXara в первую очередь предназначен для создания графического изображения и формирования блока текста на странице за
один раз. Хотя Corel рекламирует CorelXara как дополнение
к CorelDraw для создания графики Web благодаря высокой производительности, средствам для работы с Web и специализированному инструментарию, CorelXara превосходит CorelDraw во многих отношениях [133].
162
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
CorelXara облегчает управление цветом путем создания семейств связанных оттенков.
CorelXara может далеко не все, но в некоторых отношениях эта
программа не имеет себе равных. Если готовите сложные оригиналмакеты, если только начинаете пользоваться пакетами для рисования
или любите работать с прозрачными слоями, CorelXara станет хорошим дополнением к вашему комплекту инструментов.
Canvas. Пытаясь объединить возможности рисования, создания растровых изображений, редактирования и верстки страниц в одной программе, фирма Deneba Systems разработала пакет Canvas, который, реализуя многочисленные функции, ни одну из них не может
выполнить безупречно.
Хотя утверждается, что Canvas объединяет в себе множество
возможностей, на самом деле вам уже в самом начале потребуется
выбрать тип документа, который вы собираетесь создавать.
В зависимости от выбранного типа – Presentation (презентация), Publication (публикация) или Illustration (иллюстрация) – у вас
будут различные возможности и ограничения, а Canvas не позволяет
легко переходить от одного из этих форматов к другому. Документ
типа Illustration может располагаться только на одной странице, но
иметь несколько слоев (правда, Deneba утверждает, что вас вполне
удовлетворяет одна страница для иллюстрации). Документ Publication
может занимать несколько страниц, но иметь только один слой. И если вы перейдете из режима Publication в режим Illustration, то получите только первую страницу документа Publication.
Первый пакет иллюстративной графики, позволяющий редактировать растровые изображения на уровне пикселей, Canvas теперь
пополнен новыми мощными инструментами создания и редактирования растровых изображений. Хотя такие средства несколько лет назад
могли считаться превосходными, сегодня они не выдерживают сравнения с аналогичными средствами в Corel Photo-Paint, Macromedia
xRes и Micrografx Picture Publisher, которые все совместимы с технологией OLE и входят в качестве составных компонентов в более крупные графические комплексы, содержащие также программы рисования. Теперь в Canvas предусмотрены фильтры изображений
и инструменты для настройки цветовых каналов, но в отличие от
FreeHand отсутствуют внешние модули Photoshop (хотя он и позволяет работать с некоторыми из них) или специальные эффекты, как в
CorelDraw [133].
Fractal Design Expression. Программа предоставляет массу
новых возможностей, позволяя, в частности штриховкой, изображать
163
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
вид естественных материалов. Но поскольку Expression нельзя считать
полнофункциональным пакетом, то его лучше использовать
в качестве дополнения к другим графическим программам.
Если такие программы, как CorelXara и Designer, предоставляют возможность градиентной закраски вдоль линии, то Expression
открывает перед вами новые горизонты, позволяя рассматривать линию или контур как направляющую для размещения нового изображения. В основе Expression лежит оригинальная технология Skeletal
Stroke, которая позволяет объединить в одном «мазке» множество
изобразительных элементов. Каждый такой «мазок» представляет собой векторное изображение и может быть нанесен с помощью различных средств, например ручного устройства ввода, полилиний, Bсплайнов и кривых Безье. «Мазки» разрешается редактировать и заменять один стиль другим, превращая импрессионистское полотно в
резьбу по дереву.
В распоряжении художника три различных типа «мазка».
Natural-Media имитирует традиционные инструменты типа кисти, карандаша или перьев. Graphic Element – это сложный векторный рисунок, который может быть наложен вдоль произвольной траектории.
Он позволяет одним движением «кисти» наносить изображение растения, пружины, здания или животного. Multi-View сочетает в себе несколько представлений «мазков» первых двух типов. Каждое представление разрешается редактировать. С помощью специальной технологии рандомизации удается добиться впечатляющего результата.
Представьте жилки листа в виде линии/каркаса, а форму листа и его
раскраску – в виде графического изображения/штриха. Рисование листьев становится простым делом и сводится к рисованию линий.
В отличие от всех других программ этого обзора Expression работает только с художественно оформленным, а не с обычным, состоящим из абзацев, текстом.
Expression привлекает, главным образом, своей «революционностью». Вероятно, он не сможет удовлетворить всех ваших потребностей в средствах векторной графики, но это очень полезный инструмент. Поскольку Expression позволяет экспортировать растровые
изображения с любым уровнем разрешения, а все другие пакеты иллюстративной графики, рассмотренные нами, теперь могут импортировать растровую графику, эта программа будет хорошим дополнением к любому набору инструментов.
164
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
19.3. Особенности и классификация задач деловой графики
Эта область компьютерной графики предназначена для создания иллюстраций, часто используемых в работе различных учреждений. Плановые показатели, отчетная документация, статические сводки – вот объекты, для которых с помощью деловой графики создаются
иллюстративные материалы. Чаще всего это графики, круговые
и столбчатые диаграммы.
Деловая графика – технология создания изображений с сопровождающим текстом для нужд предпринимательства.
Деловая графика с помощью компьютерной графики обеспечивает создание реклам, документов по производимым и продаваемым
товарам. Так как она не предназначена для художников, то должна
быть достаточно простой и эффективной. С этой целью программное
обеспечение (ПО) деловой графики предусматривает:
рисование с использованием технологии Plug-and-Play;
предоставление пользователю наборов изобразительных инструментов, например светового пера, электронной кисти;
наличие деталей (шаблонов) фигур и их компонентов (кругов,
овалов, дуг, треугольников);
обеспечение простой связки деталей в единое изображение,
внесение в него текстов, фотографий и других иллюстраций, введенных через сканер;
использование текстовых редакторов и графических редакторов.
Основное предназначение деловой графики – раскрывать трудноинтерпретируемые понятия и явления, отражать их содержание
средствами легко воспринимаемых наглядных образов. Важнейшими
элементами деловой графики являются схемы, графики, карты и различные виды диаграмм.
Схемы предназначены для отображения структуры и классификации объектов, группировки явлений по различным признакам,
демонстрации последовательности действий и т.п. Схемы дают возможность наглядно выразить соотношения между различными факторами явления или процесса, помогают выявить имеющиеся закономерности и взаимосвязи.
Одной из разновидностей схем являются мнемосхемы. Они
удобны в тех случаях, когда требуется отобразить явления или объекты, которые имеют сложную, многоэлементную структуру. Для по-
165
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
строения мнемосхем используют как текстовые, так и графические
элементы, среди последних преобладают абстрактные, с простой геометрической формой. Основное назначение мнемосхем – выделить
главное в информационном сообщении.
В документах различного рода часто используются так называемые структурные схемы. Они помогают наглядно представить последовательность действий, структуру и взаимосвязи различных явлений и процессов, установить соответствие между разными объектами
– все то, что трудно воспринимается «на словах».
Структурные схемы состоят из простых геометрических фигур,
внутри них помещаются пояснительные надписи. Все элементы соединяются линиями или стрелками, которые отражают различные связи и взаимоотношения между этими элементами, то есть показывают
структуру объекта.
Линейные схемы используются для отображения равнозначных
по своему значению элементов, связанных отношением очередности,
последовательности. Если первый элемент связан с последним, такая
схема становится кольцевой.
Централизованные отображают двухуровневую организацию
явления или процесса: главный элемент располагается по центру,
а
подчиненные ему и равнозначные между собой – на периферии.
Многосвязные применяются, если составные элементы схемы
находятся в сложных взаимоотношениях.
Иерархические – самые распространенные схемы предназначены для того, чтобы показать многоуровневое соподчинение элементов
– их субординацию.
Один из самых распространенных видов деловой графики получил название условных знаков. Они используются для обозначения
того или иного объекта или явления в лаконичной, наглядной форме.
Условный знак является символом, который может выражать
иногда весьма значительное и отвлеченное содержание. В отличие от
фирменного он почти всегда выполняет функцию указания, предписания, запрещения и играет значительную роль в нашей жизни. Например, вся система управления дорожным движением основана на использовании условных знаков.
Условные знаки находят самое широкое применение в информационных сообщениях. Некоторые графические формы целиком состоят из условных знаков, скомпонованных в различных сочетаниях
друг с другом и образующих единую композицию. В качестве условных элементов могут использоваться цифры, буквы, геометрические
фигуры и их различные комбинации. Главное преимущество условных знаков заключается в том, что они легко запоминаются.
166
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Знаки бывают самые разные: топографические, электротехнические, кинематические, строительные, знаки дорожного движения,
бытовые и пр.
Условные знаки часто применяются в качестве самостоятельных элементов карт и планов местности.
Карты – это еще один из видов деловой графики. Они показывают, как те или иные объекты и явления расположены на земной поверхности. В графическом дизайне карты иногда используются в качестве фона информационного сообщения.
Карты строятся по определенным правилам, которые определяют зависимость между положением точек на земной поверхности
и их размещением на плоскости чертежа. Основные элементы карты –
линия, очерчивающая контур территории, топографические знаки и
обозначения.
Особую группу деловой графики составляют картограммы
и картодиаграммы.
Картограмма – это своеобразный графический норматив, представляющий собой границы того или иного территориального деления
(большей частью политико-административного), ячейки которого покрыты штриховкой разной интенсивности или залиты разным цветом.
Картодиаграмма отличается от картограммы тем, что внутри ячеек
размещаются диаграммы, которые выражают соотношение какихлибо величин, относящихся к данной территории.
Картограммы и картодиаграммы могут содержать экспликацию
(от лат. explicatio – истолкование, объяснение), которая поясняет количественную характеристику признака, соответствующего определенному участку территории. Иногда экспликацию называют легендой. Каждый элемент экспликации состоит из графического знака и
словесного объяснения.
Экспликация, как правило, размещается на свободном месте
карты, картограммы, картодиаграммы.
Графики помогают наглядно отобразить взаимосвязь двух или
нескольких цифровых величин. Главной частью графиков является
выделенная толщиной или цветом непрерывная линия. Она обычно
строится в прямоугольной системе координат, где по осям X и Y отложены цифровые данные.
Графики имеет смысл использовать в тех случаях, когда достаточно дать лишь общее представление о характере связи между цифровыми величинами.
По точности графики, конечно, уступают таблицам или математическим формулам, однако значительно превосходят их по наглядности.
167
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Диаграммы используются для того, чтобы наглядно показать
соотношение между цифровыми величинами. Их особенность в том,
что они позволяют заменять сложный анализ цифр простым, «на глазок», сопоставлением длины линий или площадей геометрических фигур. Понятно, что точность такого сопоставления во многом зависит
от точности глазомера. Диаграммы, в отличие от графиков, используются лишь для сопоставления дискретных, или, как говорят, прерывистых зависимостей.
Как правило, диаграммы состоят из простых геометрических фигур, которые в отличие от цифрового материала легко воспринимаются.
В зависимости от того, какие графические элементы используются, диаграммы подразделяются на линейные, столбиковые, ленточные, поточные и круговые. Все эти диаграммы позволяют сравнивать
числовые величины с помощью отрезков линий или площадей геометрических фигур. Поэтому их называют плоскостными. Те диаграммы, в которых используются изображения объемных фигур,
называются объемными. В информационных сообщениях встречаются
и так называемые изобразительные диаграммы, в них иллюстрируемая величина соответствуют определенному количеству графических
элементов – стилизованных изображений того, количество чего сравнивается.
Диаграммы обладают рядом свойств, благодаря которым представляемые цифровые данные легко запоминаются и приводят к формированию правильных выводов:
диаграммы позволяют более тщательно выяснить количественные соотношения между отображаемыми величинами;
благодаря простой компоновке и способу расположения графических элементов диаграммы помогают пояснить иногда самые неочевидные стороны иллюстрируемых явлений и процессов;
по скорости «считывания» информации диаграммы, как
и графики, являются весьма эффективным графическим средством.
Один из самых распространенных видов деловой графики –
линейные диаграммы.
Линейная диаграмма по форме очень напоминает график, но
в отличие от него не выражает в каждой точке главной линии связь
между двумя величинами.
Столбиковые диаграммы применяются, когда надо показать
какие-либо абсолютные величины, зависящие от одного значащего
параметра. В экономической статистике столбиковые диаграммы часто называют гистограммами,
Ленточные, или, как их иногда называют «полосовые», диаграммы применяются в тех же случаях, что и столбиковые, но несколько отличаются по внешнему виду. Главными элементами таких
168
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
диаграмм являются горизонтальные прямоугольники-ленты или полосы, имеющие одинаковую ширину и расположенные на одинаковом
расстоянии друг от друга.
Поточные диаграммы применяются для отображения не только количественных показателей, но и для демонстрации перемещения
иллюстрируемых процессов. Такие диаграммы, судя по их названию,
позволяют показать количественные характеристики явлений, имеющих характер различных потоков (например, селевых, миграционных,
движения автотранспорта и т.п.), и направление их следования. Для
этого часто используется картографический фон. В поточных диаграммах основными элементами являются линии различной конфигурации, толщина и ориентация которых зависит от величины и распределения цифровых данных.
В круговых диаграммах количественные соотношения отображаются с помощью различных секторов окружности или близких
к
ней по форме фигур – эллипсов, овалов.
Эти диаграммы в отличие от столбиковых и ленточных, в которых сравниваются лишь линейные размеры фигур, несколько труднее для восприятия, поскольку здесь принимаются в расчет их площади, образованные произведением двух размеров. Однако этот недостаток компенсируется компактностью круговых диаграмм [137].
Конструкторская графика используется в работе инженеровконструкторов, изобретателей новой техники. Этот вид компьютерной
графики является обязательным элементом систем автоматизации
проектирования (САПР).
Графика в САПР используется для подготовки технических
чертежей проектируемых устройств. Графика в сочетании с расчетами
позволяет проводить в наглядной форме поиск оптимальной конструкции, наиболее удачной компоновки деталей, прогнозировать последствия, к которым могут привести изменения в конструкции.
Средствами конструкторской графики можно получать плоские изображения (проекции, сечения) и пространственные, трехмерные изображения.
19.4. Прикладные системы деловой графики
Деловая графика с помощью компьютерной графики обеспечивает создание реклам, документов по производимым и продаваемым
товарам. Так как она не предназначена для художников, то должна
быть достаточно простой и эффективной. С этой целью программное
обеспечение деловой графики предусматривает:
рисование с использованием технологии Plug-and-Play;
169
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
предоставление пользователю наборов изобразительных инструментов, например светового пера, электронной кисти;
наличие деталей (шаблонов) фигур и их компонентов (кругов,
овалов, дуг, треугольников);
обеспечение простой связки деталей в единое изображение,
внесение в него текстов, фотографий и других иллюстраций, введенных через сканер;
использование текстовых редакторов и графических редакторов.
Наиболее популярными представителями программных
средств деловой графики являются Microsoft Visio, Microsoft PowerPoint, Microsoft Excel и др.
Не секрет, что хороший специализированный инструмент на
порядок более эффективен в своей области применения, чем очень
продвинутый, но универсальный. Это нехитрое правило распространяется практически на все сферы человеческой деятельности, не исключая деловую графику. Какими бы мощными и гибкими ни были
Corel Draw или AutoCAD, при отображении тонкостей субординации
между старшими менеджерами и младшими супервайзерами богатство возможностей этих продуктов пользователю, скорее, в тягость. В
то же время обычные графические средства офисных пакетов зачастую ставят продвинутого пользователя в положение скульптора, которого для работы снабдили конструктором Lego. Интересный результат, безусловно, можно получить и в этом случае, но вряд ли он будет
соизмерим с затраченными усилиями.
К счастью, существует золотая середина – инструмент, благодаря которому «чайник» может за считанные минуты соорудить пристойную диаграмму, а профессионал – быстро и качественно творить
чудеса в промышленных масштабах. Этот инструмент называется
Microsoft Visio. Несмотря на то, что пакет Visio развивается с 1990 года, претенциозную приставку в названии он приобрел достаточно
только в 2000 году. Приняв Visio в семейство своих продуктов,
Microsoft приложил значительные усилия по его интеграции с Office.
Чтобы лучше понять, для чего же именно предназначен Visio,
стоит классифицировать конкретные случаи его применения. Хотя их
перечень неограничен, можно выделить три основных группы изображений, создаваемых с помощью этого пакета:
1. Диаграммы и графики, характеризующие численные параметры объектов и процессов. Прямыми аналогами являются в данном
случае диаграммы Excel, который умеет в этой области почти все то же
170
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
самое (Excel, правда, проигрывает в расширяемости и настраиваемости).
2. Диаграммы, характеризующие связи и отношения между
сущностями. В качестве примеров можно привести графические изображения алгоритмов, организационно-управленческих структур, топологий сетей, отношений в реляционных базах данных и т.д. Примитивные средства для визуализации таких диаграмм (прямоугольники,
текстовые «коробки», эллипсы, соединительные линии, стрелки) содержатся, например, в панели инструментов «Рисование» приложений
Microsoft Office.
3. Схемы и чертежи. Сюда относятся электротехнические схемы, разного рода планы (офисов, квартир, местности).
На первый взгляд, Visio больше всего похож на несложный
векторный редактор. Такая простота легко объяснима – нестандартные дизайнерские изыски в данном случае неуместны. Человеку, привыкшему к удобным и мощным средствам Corel Draw или Adobe
Illustrator, в тесных рамках инструментария Visio придется тяжело –
мучительно не хватает кривых Безье и нормальных средств работы с
контрольными точками. Единственным спасением для дизайнера, который хочет изобразить нечто оригинальное, являются операции над
фигурами (объединение, вычитание, пересечение и т.д.), которые позволяют создавать закрашенные объекты с произвольным контуром.
Но, в любом случае, рисование в Visio сколько-нибудь сложных форм
– занятие не для слабонервных.
Отчасти эти недостатки исправляются возможностью импортирования изображений в популярных векторных форматах (в частности того же AutoCAD).
Впрочем, если бы функциональность Visio ограничивалась исключительно прямоугольниками, прямыми, эллипсами и дугами, о нем
вряд ли стоило бы говорить. Однако у Visio есть фундаментальное преимущество перед программами-конкурентами. Оно заключается в возможности тонкой настройки поведения шейпов. Шейпами (shapes) в
терминологии Visio называются фигуры, линии и их группы. Шейпами
являются, например, двухмерные фигуры – значки, обозначающие
председателей правления, транзисторы, Web-серверы, столы и стулья.
Шейпами являются и одномерные фигуры – размерные линии, коннекторы, обозначения пружин. Особенность одномерных шейпов заключается в способности «прилипать» к двухмерным шейпам, соединяя их.
Visio позволяет делать шейпы умными (smart shapes). Использовав «главный калибр» Visio – управляющее окно шейпа (shape sheet),
пользователь получает доступ ко всем параметрам шейпа: размерам
171
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
и положению на листе, видимости, цвету заливки, форматированию
текста, реакции на щелчки мыши.
Применяя встроенные формулы, можно привязывать одни параметры шейпа к другим, а также ставить их в зависимость от внешних
данных и событий. Существует также возможность ссылаться на самостоятельно созданные дополнительные переменные для хранения
свойств (custom properties) шейпа. Запрограммированный таким образом умный шейп вполне оправдывает свое название, меняя вид в зависимости от окружения.
Еще одной сильной стороной Visio являются мощные средства
для работы с внешними программами и базами данных. Аналогично
другим продуктам Microsoft, автоматизация Visio осуществляется через
содержащиеся в нем COM-объекты, которые могут задействоваться с
помощью любого COM-контроллера: Visual C++, Delphi, VBA.
Несмотря на необъятное поле возможных применений Visio все
же является узкоспециализированным графическим инструментом –
портрет или пейзаж с его помощью рисовать вряд ли надо. Также не
стоит использовать его для полномасштабного инженерного проектирования механических деталей или зданий. Главным преимуществом
Visio является возможность, один раз настроив зависимость формы от
содержания, более к изобразительным вопросам не возвращаться,
концентрируясь исключительно на смысле.
В багаже пользователей компьютера можно найти ряд интересных программ, которые позволяют создавать и динамически отображать электронные слайд-фильмы. Они получили название программ
подготовки презентаций и оказались очень удобны для «сценарного»
построения видеоряда, содержащего текст, рисунки, фотографии. Динамизм, зрелищность и богатый арсенал видеоэффектов невольно
привлекают внимание зрителей к информационным сообщениям, созданным с использованием программ подготовки электронных презентаций. Одна из них – PowerPoint. Эта программа, входящая в состав Microsoft Office, предоставляет мощные средства разработки
слайд-фильмов, несколько электронных «мастеров», шаблоны презентаций различных типов с готовой структурой, оформлением и содержанием.
И наконец, еще одна заслуживающая внимания компьютерная
программа из Microsoft Office. Она относится к классу так называемых
табличных процессоров и называется Excel. Эта программа может использоваться для построения объектов деловой графики на основе
цифровых данных, сведенных в электронную таблицу. С помощью
специального блока, называемого мастером диаграмм, Excel позволяет
172
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
строить графические формы, предназначенные для отображения статистических данных, а также подготавливать картограммы
и картодиаграммы. Однако графические возможности Excel не уникальны –
осуществлять построение диаграмм можно и в других программах –
CorelChart, FreeHand, Adobe Illustrator и др.
19.5. Основные задачи компьютерного дизайна
Дизайн (от англ. design – замысел, проект, рисунок, чертеж) –
это художественно-проектная деятельность, направленная на все сферы человеческой жизни.
Общение между людьми осуществляется с помощью зрительных образов, дизайн призван создавать эти образы и тем самым ос уществлять взаимодействие между людьми. Компьютерный дизайн
условно можно разбить на следующие категории (рис. 19.1):
графический дизайн;
дизайн печатной продукции;
компьютерная верстка;
Web-дизайн.
КОМПЬЮТЕРНЫЙ
КОМПЬЮТЕРНЫЙ ДИЗАЙН
ДИЗАЙН
Графический
дизайн
Прикладная ко
мпьютерная
графика
Компьютерная
верстка
Web-дизайн
Рис. 19.1. Компьютерный дизайн
Графический дизайн представляет собой специфическую область художественно-проектной деятельности, которая направлена на
создание визуальных сообщений, распространяемых с помощью
средств массовой коммуникации.
Графический дизайн во многом отличается от «вещного» дизайна, задача которого – сделать удобным и красивым то, что окружает человека в повседневной жизни. В этом направлении работают
многие специалисты: художники-конструкторы автомобилей, станков,
механизмов, разработчики бытовой техники, проектировщики мебели,
создатели моделей одежды, обуви, работники аналогичных творческих профессий. Таких специалистов принято сейчас называть дизайнерами (дизайнер-конструктор, дизайнер-колорист, дизайнер-
173
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
визажист, дизайнер причесок, дизайнер-модельер, ландшафтный дизайнер, дизайнер интерьера, дизайнер-стилист и т.п.) [137].
Графический дизайн отличается от «предметного» конструирования тем, что он связан с художественным проектированием. Современный дизайнер-график – это специалист творческой профессии,
который не только владеет методами «информационного проектирования», но и является истинным художником, смело использующим
средства изобразительного искусства в своей работе. Нередко произведения графического дизайна называют визуальными креативами,
а их авторам принадлежат такие же права, как и создателям произведений искусства, науки, литературы. Работы лучших дизайнеровграфиков, имея ярко выраженный информационный характер, в то же
время обладают несомненной эстетической ценностью и достойны
самой высокой искусствоведческой оценки. По сути графический дизайн является самостоятельным направлением современного прикладного искусства.
Сегодня графический дизайн используется в рекламе, издательской деятельности и печати, кино, телевидении, компьютерной и электронной технике, сфере паблик рилейшнз, других областях массовой информации. Недаром его иногда очень точно называют коммуникационным дизайном.
Средствами графического дизайна создаются визуальные сообщения самой разной сложности и назначения – от краткого рекламного объявления до многостраничного печатного издания, от небольшого люминесцентного указателя до огромного светового информационного табло.
Для этого используются традиционные средства печати, компьютерная
техника и другие современные электронные средства отображения информации.
Подготовка информационных сообщений методами графического
дизайна производится с помощью графических образов. На их основе вырабатываются представления о каком-либо объекте, явлении или процессе реального мира. Графические образы, скомпонованные в единое целое,
должны подталкивать зрителя к тем умозаключениям, которые нужны создателю информационного сообщения.
Таким образом, дизайнер-график – это «визуальный интерпретатор», переводчик информации на язык, понятный миллионам людей. С
помощью образных знаков он способен донести до адресата практически
любые сведения, не прибегая к длительным словесным объяснениям.
Результаты творческого труда дизайнера-графика могут воплощаться в самом разном виде. Это листовки, информационные проспекты,
рекламные объявления, плакаты, буклеты, визитные карточки, проиллюстрированные и сверстанные полосы журналов, газет, книг и т.п. Ряд дизайнеров специализируется в области создания марок, этикеток, ярлыков,
174
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
других видов малоформатной печатной продукции, наклеиваемых на тару
и упаковку промышленных и продовольственных товаров. Особой областью графического дизайна является разработка динамических транспарантов, указателей, агитационных установок, информационных табло,
управляемых световых экранов и т.п. Особенно бурно развивается кинои теледизайн, связанный с созданием заставок, концовок, титров кинофильмов, телепередач, видеопрограмм, электронных TV-объявлений. Несмотря на значительные отличия объектов графического дизайна друг от
друга все они предназначены для обеспечения так называемой коммуникативной функции – функции общения, и объединяет их общий язык
наглядных образов.
Специфика творчества дизайнера-графика заключается в том, что
он должен не только сообщить зрителям конкретную информацию, но и
соответствующим образом преподнести ее. Поэтому дизайнер-график –
это и проектировщик, умеющий выбирать средства, необходимые для
успешного решения той или иной коммуникативной задачи, и маркетолог, который легко ориентируется в рынке информации и хорошо представляет, кто может быть ее потенциальным потребителем, и психолог,
знающий законы зрительного восприятия. Он всегда должен стремиться к
максимальной информативности изобразительного решения, к «визуальной красноречивости». Качество и действенность такого решения определяется многими критериями, с помощью которых выясняется, насколько хорошо соотносятся текст и изображение, оценивается точность и новизна информации, просчитывается получаемая польза – от экономической до нравственной. Таким образом, для практики графического дизайна характерно стремление преодолеть разрыв между научно обоснованным подходом к решению поставленной информационной задачи и интуитивным, эмоциональным творческим процессом.
Самостоятельным направлением графического дизайна является
дизайн печатной продукции. Печать – это одно из важнейших средств
массовой информации, которое во многом формирует не только общественное мнение и поведение людей, но и эстетические вкусы каждого
отдельно взятого человека. Процесс создания печатной продукции связан
с необходимостью упорядочить поток информации, сделать ее максимально наглядной, доходчивой и удобной для восприятия. Дизайнерграфик решает, каким образом должна быть выражена идея, сущность
напечатанного на листе бумаги «информационного послания», отображает его языком наглядных образов, грамотно выбирает вид и, если это
нужно, соответствующую конструкцию издания. Он способен наилучшим образом связать друг с другом текст и изобразительный материал,
использовав при этом единую систему знаков, иллюстраций, декоративных украшений и пр.
175
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Таким образом, информация, подготовленная для зрительного
восприятия человека, сегодня является результатом тесного взаимодействия графического дизайна и современной техники. Можно сказать, что
дизайн визуальной информации – это творческая деятельность, основанная на синтезе искусства и точного прагматического расчета.
Все чаще для подготовки визуальных сообщений используются
компьютерные программы. Сегодня не нужно убеждать дизайнера в
необходимости компьютерной грамотности – выполнять работу на компьютере куда удобней. Произведения современного дизайнера не мыслятся вне цифрового содержания и предназначения. Это значительно
ускоряет и облегчает работу дизайнеров-графиков. Но каким бы мощным
ни был компьютер, он никогда не заменит специалиста, обладающего художественным вкусом, способного генерировать идеи и воплощать их.
Поэтому мало сейчас иметь задатки хорошего художника – необходимо умело использовать возможности, предоставляемые нам многочисленными пакетами компьютерной графики, взаимодополняющими
друг друга. Это позволяет просмотреть множество вариантов, добиться
необычных эффектов, варьировать с цветом и, наконец, просто на порядок повысить производительность.
Полиграфия обеспечивает дизайнерам наиболее обширный фронт
работы. Текстовые страницы, рекламные документы, различные типы иллюстраций, визитки, этикетки и т.д. – это все полиграфическая продукция.
Пакеты компьютерной полиграфии позволяют создавать файлы,
содержащие текст и иллюстрации, обеспечивают подготовку вывода на
печать и высокое качество печатной продукции.
Сегодня разработано столько различных программ, что даже их
простое перечисление займет несколько страниц. Это объясняется тем,
что они во многом отличаются друг от друга и, кроме того, имеют множество разных версий. Однако среди них можно выделить такие, которые
пользуются наибольшей популярностью не только у профессиональных
дизайнеров-графиков, но и рядовых пользователей компьютера.
Некоторые из них, уже были рассмотрены. Это такие пакеты как
CorelDRAW корпорации Corel Corporation, Macromedia Freehand, Adobe
Illustrator, Adobe InDesign, но есть и много других.
Одной из наиболее известных компьютерных программ является
Corel Photo-Paint, которая используется дизайнерами для работы не только с печатной, но и экранной графикой.
Сегодня в распоряжении дизайнеров имеются различные версии
Photo-Paint, все они отличаются удобным интерфейсом и, что самое
главное, совместимы со многими другими программами компьютерной
графики. Photo-Paint обладает не только полным набором традиционных
инструментов рисования, но и позволяет использовать широкий спектр
176
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
компьютерных изобразительных средств и приемов. Такие специфические возможности, как редактирование градиентов цвета в заливках, создание для нескольких изображений общих цветовых палитр, смещение
цвета по направлению к заранее заданным оттенкам, по достоинству оценены многими мастерами графического дизайна. Следует отметить, что в
Photo-Paint электронные инструменты рисования располагаются очень
удобно, почти так же, как в одном из самых распространенных графических редакторов Photoshop. Кроме того, в Photo-Paint можно использовать уже ставшую привычной для многих дизайнеров технологию «послойного» создания растровых изображений, редактировать в них прозрачность изображения, импортировать и экспортировать не только
обычные слои из других графических программ, но и альфа-каналы и
настроечные слои. Однако эта программа не поддерживает возможности
Photoshop по работе с контурами изображений и режимы слоев с переходами.
Следует также упомянуть программу Microsoft PhotoDraw, которая предназначена для создания и редактирования графических изображений высокого качества. Она обладает большим количеством масок
и встроенных фильтров, необходимых для редактирования оцифрованных фотографий и растровых рисунков.
На рынке программ компьютерной графики имеются и другие менее известные пакеты, среди которых можно отметить Macromedia Fireworks. Этот пакет включает в себя один из самых полных наборов электронных инструментов для создания и редактирования файлов растровой
и векторной графики с экранным разрешением. Fireworks может входить
в комплект тех программных средств, которые профессионалы в области
компьютерной графики используют для разработки содержимого Webстраниц.
Еще одна программа – DeBabelizer – очень удобна для осуществления пакетных преобразований, которые необходимы при обработке
больших массивов графической информации. Для DeBabelizer добавить
рамку определенной толщины ко всем картинкам, содержащимся в одной
папке, – рядовая операция. Хотя пакет DeBabelizer обладает недостаточно
дружественным интерфейсом, он очень удобен для того, чтобы создавать
одинаковые сценарии обработки файлов без какого-либо программирования, которое многим дизайнерам недоступно.
Не секрет, что большинство дизайнеров использует программу
компьютерной графики Adobe Photoshop. Сегодня создано много различных версий этой широко распространенной программы, отличающихся
друг от друга изобразительными и техническими возможностями. Имя
всемирно известной фирмы Adobe свидетельствует о высоком качестве
разработанных ею программных продуктов примерно так же, как имя
Mercedes говорит о великолепном качестве автомобилей.
177
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
В среде компьютерных художников немало таких приверженцев
Adobe Photoshop, которые начинали работать еще с первой версией этой
программы, последовательно переходя к все более и более новым В Photoshop присутствует, пожалуй, один из самых богатых наборов электронных инструментов, имеются удобные контекстно-зависимые панели, а
простой в использовании preset-менеджер предлагает быстрый и эффективный способ управления библиотеками форм, кистей, образцами заливок, стилей и пр. Особое достоинство Photoshop – это возможность работать с огромным количеством слоев при создании изображений. Кроме
того, в программе имеется порядка ста различных фильтров, предназначенных для обработки и стилизации растровых изображений, с помощью
которых можно имитировать различные техники создания произведений
живописи и графики. В новой версии программы значительно улучшена
возможность работы с текстом. Пакет Photoshop тесно интегрирован с
Adobe InDesign.
Сегодня Photoshop – это своеобразный эталон растровой графической программы. Полная совместимость с ним не является обязательной
для всех других программ компьютерной графики, и все же многие фирмы-разработчики стараются обеспечить взаимодействие разработанных
ими программных продуктов с Photoshop.
MetaCreations Painter стоит в одном ряду с Photoshop и занимает достойное место на рынке программ компьютерной графики.
Технология «естественных инструментов», которая является ядром
программы, позволяет дизайнерам-графикам рисовать на экране так
же свободно, как на холсте или бумаге. Painter обладает не только
практически бесконечным разнообразием кистей, позволяющих имитировать различные техники рисования и живописи, но и создавать
сложные виртуальные поверхности, предназначенные для нанесения
на них самых разных изображений, применять основы, имитирующие
различную фактуру бумаги или холста. Возможности Painter позволяют дизайнеру использовать различные способы стилизации растровых изображений и создавать произведения компьютерной графики,
поразительно похожие на обычные картины, выполненные в традиционной технике станковой живописи.
Painter имеет в своем арсенале множество эффектов. Инструменты клонирования позволяют применять к созданным изображениям стили великих мастеров. Так, например, один из подобных инструментов дает возможность «разбрызгивать» на изображении такие
сложные элементы оформительской графики, как орнамент, на подготовку которого «с нуля» дизайнеру потребовались бы многие часы работы. В библиотеках Painter можно сохранять и свои собственные
разработки для того, чтобы использовать их позднее. Эта дизайнерская программа позволяет реализовать не только собственные функ-
178
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ции редактирования изображений, но и допускает подключение дополнительных модулей, разработанных для Photoshop.
Оригинальные и правдоподобные эффекты позволяет применять к растровым изображениям графический редактор Ulead Photo
Impact, который содержит множество встроенных фильтров как для
работы с изображениями, так и с текстом.
Компьютерная верстка – объединение текста и графического
изображения– заключительный этап допечатного дизайна. Программы
верстки используются при подготовке к изданию буклетов, каталогов,
газет, журналов, книг, т.е. той печатной продукции, в которой прео бладает текстовая информация.
Сегодня наиболее популярными программами профессиональной верстки являются PageMaker, Corel Ventura и QuarkXPress. Каждая система обладает своими сильными и слабыми сторонами. Поэтому выбор той или иной издательской системы зависит от вкуса, опыта,
знаний дизайнера и вида выполняемой им работы.
Пакет QuarkXPress – это лидер в своей области, хотя многие
дизайнеры, работающие с PageMaker, с этим утверждением могут и не
согласиться. Новая версия XPress свидетельствует о том, что компания Quark превратила его в еще более мощный издательский пакет,
оснащенный огромным набором возможностей не только для макетирования печатной продукции, но и для Web-дизайна. В QuarkXPress
появились слои и, соответственно, такие команды, как «Создать новый слой», «Слить слои» и «Поместить объект на слой». Работать со
слоями не так удобно, как в Photoshop, но зато есть и приятные мелочи – объект, помещенный на слой, помечается маленьким значком,
соответствующим его «цвету».
Совсем недавно арсенал издательских систем пополнился компьютерным пакетом InScope, разработанным фирмой Adobe. Его ядро,
известное под именем Stilton, надстроено системой приложений, в качестве которых используются компьютерные программы InDesign,
Photoshop, InCopy и некоторые другие. InScope – это пакет «визуального проектировщика», который может использоваться для построения единой редакционной системы и управлять не только содержанием публикации, но и всеми связанными с ней метаданными – информацией о заголовках, иллюстрациях, проектах, активах, полосах, заданиях, хранящихся в центральной базе данных и доступных пользователям этой системы.
Одним из недостатков пакета InScope является то, что он пока
еще не совместим с Adobe Illustrator и некоторыми другими популярными графическими программами. Однако в новых версиях пакета
этот недостаток, без сомнения, будет устранен.
179
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
В том случае, если специалист занимается художественным
конструированием промышленной продукции или архитектурным
проектированием, то ему следует обратить внимание на системы автоматизированного проектирования (САПР). Одной из наиболее распространенных компьютерных САПР является программа AutoCAD,
предназначенная, в основном, для профессионалов. AutoCAD представляет собой программу высокого уровня, с помощью которой реализуется широкий набор функций, необходимых проектировщику или
художнику-конструктору. К ним, в частности, относятся возможности
каркасного и трехмерного моделирования, работа со слоями, функции
работы с текстом, заполнение иллюстраций оригинальными узорами и
пр.
Сегодня созданы САПР, которые ориентированы не только на
архитектурное проектирование или конструирование промышленных
объектов, но и на планирование интерьера помещений или дизайна
ландшафта. Такие программы не универсальны, рассчитаны на решение определенного круга конкретных задач, но это с лихвой окупается
их доступностью и простотой использования.
Контрольные вопросы
1. Что такое иллюстративная графика и для чего она применяется?
2. Какие основные программные продукты для создания иллюстративной графики вы знаете? В чем их особенности?
3. В чем особенность деловой графики?
4. Что такое схемы? Какие разновидности схем вы знаете?
5. Что такое карты? Какие разновидности карт вы знаете?
6. Что такое графики? Какие разновидности графиков вы знаете?
7. Что такое диаграммы? Какие разновидности диаграмм вы
знаете?
8. Что такое конструкторская графика?
9. Какие прикладные системы деловой графики вы знаете?
В чем их особенности?
10. Что такое компьютерный дизайн?
11. В чем заключаются особенности графического дизайна?
12. В чем заключаются особенности дизайна печатной
продукции?
13. В чем заключаются особенности компьютерной верстки?
14. Назовите основные программные продукты для компьютерной верстки.
15. Какие базовые программы для компьютерного дизайна вы
знаете?
180
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ГЛАВА 20. КОГНИТИВНАЯ ГРАФИКА
20.1. Введение в когнитивную компьютерную графику
Появление средств машинной графики вселило надежду на то,
что вычислительные машины получают возможность работы не только с символами (аналог, хотя пока еще и не слишком полный, алгебраического мышления), но и с графическими изображениями. Для
этого нужно, чтобы появились специальные средства работы со зр ительными представлениями, способы перехода от них к текстовым
представлениям и обратного перехода. Так была поставлена основная
задача, из которой сейчас возникает новая проблемная область – когнитивная графика.
Когнитивная графика отличается от машинной графики тем,
что ее основной задачей является создание графического изображения
как модели. А сама модель в когнитивном смысле представляет собой
объект, на который перенесены знания об исследуемом объекте и его
проблемах; содержащий в неявном виде знания о решении проблемы,
и такие знания могут быть выявлены в ходе модельного эксперимента.
При этом в отличие от других отраслей моделирования когнитивная
графика ставит задачу построения таких моделей, в которых была бы
возможность однообразными средствами представлять как объекты,
характерные для алгебраического мышления, так и графические изображения, с которыми оперирует алгебраическое мышление. Это комбинированные когнитивные структуры – основные объекты когнитивной графики.
Машинная графика, в отличие от когнитивной, имеет дело с графическими изображениями как таковыми, с процессом ввода в решающее устройство, преобразования в нем и визуализации при выводе на
выходные устройства самого графического изображения, а не знания, в
него закладываемого и из него извлекаемого. При вводе в решающее
устройство (например, в ЭВМ), вместе с данными (сообщениями) вводится информация, которая преобразуется в решающем устройстве
и
выводится в такой своеобразной форме как графическое изображение,
т.е. вместе идут процессы обработки формы и содержания. Машинная
графика требует знаний математического аппарата проективной геометрии, теории поверхностей, приближенного представления фигур и поверхностей сплайн-функций, теории вещественных функций и т.д. Задачи воспроизведения эффектов освещения и текстуры используют методы геометрической и интегральной оптики, численное моделирование
отражения и поглощения света, специальные разделы теории нелинейных дифференциальных уравнений. В целом задачи машинной графики
181
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
привели к формированию области прикладной математики, получившей
название вычислительной геометрии.
В литературе отмечается, что взаимодействие пользователя
с информационной системой обычно носит характер прямой коммуникации, при которой адресат воспринимает недостающую ему информацию из получаемого сообщения. При прямой коммуникации
полученное сообщение стимулирует порождение самим адресатом
информации, которой напрямую сообщение не обладает. Решающую
роль здесь играет феномен фасциации. Т.е. сообщение в форме текста
или графического изображения – это как бы контейнер с содержимым
– информацией, из которого адресат способен изъять необходимую
информацию. Конечно, это только метафора, но она выражает распространенное представление о сообщении как вместилище информации.
После того, как информация изъята адресатом, контейнер для него
практически пуст, он не содержит новой информации для данного адресата. С точки зрения принципа «от знающего к незнающему» бессмысленно вновь обращаться к одному и тому же сообщению дважды.
Восприятие субъектом содержания сообщения как информации отличается от перекодировки этого сообщения в другое тем, что информация ассимилируется субъектом как иная сущность – его личностное
знание. Оно не добавляется к тезаурусу субъекта, но перестраивает
его, создавая в нем творческие способности и новое видение действительности. Все это проявляется в изменении коммуникационного поведения, в способности воспринимать новую информацию и порождать сообщения.
Фасциация – это не содержание, но атрактивность (привлекательность) сообщения, являющаяся свойством формы. Сообщение содержит в себе информацию, но самому сообщению присуща некая
атрактивность (привлекательность, или наоборот, не привлекательность), вызывающая готовность (не готовность) адресата воспринимать содержание этого сообщения. Исходя из этого можно сказать,
что в сообщении, представленном графическим изображением, информация рассматривается как форма и как содержание. Графическое
изображение может быть привлекательным с точки зрения фасциации
(информации о форме), однако совершенно бесполезным с точки зрения информации о содержании переданного смысла. Машинная графика проблем содержания изображения не ставит. Она занимается вопросами фасциации.
Феномен фасцинации может выступать отвлекающим фактором, уводящим от смысла основной информации, закладываемой в
графическое изображение. Например, если в форму закладывается
оригинальная, выразительная идея, тогда графическое изображение не
рассматривается в качестве знака, т.е. коммуникативного средства,
182
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
несущего информацию о чем-либо. Рассматриваемый феномен фасциации может выступать заслоняющим фактором, не дающим возможность воспринять всю информацию (например, за счет нечеткости
изображения мелких деталей, отсутствия необходимой контрастности,
потери цвета и т.д.).
В настоящее время когнитивная компьютерная графика – это
новое формирующееся направление в информационной науке [153].
Это компьютерная графика для научных абстракций, способствующая
рождению нового научного знания. База – мощные ЭВМ и высокопроизводительные средства визуализации.
Общая последовательность познания заключается в, возможно,
циклическом, продвижении от гипотезы к модели (объекта, явления) и
решению, результатом которого является знание (рис. 20.1).
Рис. 20.1. Последовательность процесса познания
Первоначально ЭВМ имели малую производительность процессоров и средств компьютерной графики, т.е. имели возможность
работы только с символами (некоторый упрощенный аналог логического мышления).
С появлением суперЭВМ, производительностью в миллиард
и более операций в секунду и графических суперстанций, производительностью до сотен миллионов операций в секунду, появилась возможность достаточно эффективного манипулирования образами (картинами).
Важно отметить, что мозг не только умеет работать с двумя
способами представления информации, причем с образами он работает иначе и эффективнее чем ЭВМ, но и умеет соотносить эти два способа и совершать (каким-то образом) переходы от одного представления к другому.
В этом контексте основная проблема и задача когнитивной
компьютерной графики – создание таких моделей представления знаний, в которых можно было бы однообразно представлять как объекты, характерные для логического (символического, алгебраического)
мышления, так и объекты, характерные для образного мышления.
Появление когнитивной компьютерной графики – сигнал о переходе от эры экстенсивного развития естественного интеллекта к эре
интенсивного развития, характеризующегося глубоко проникающей
183
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
компьютеризацией, рождающей человеко-машинную технологию познания, важным моментом которой является непосредственное, целенаправленное, активирующее воздействие на подсознательные интуитивные механизмы образного мышления [153].
Когнитивная графика – это совокупность приемов и методов
образного представления условий задачи, которое позволяет либо сразу увидеть решение, либо получить подсказку для его нахождения.
Методы когнитивной графики используются в искусственном
интеллекте в системах, способных превращать текстовые описания
задач в их образные представления, и при генерации текстовых описаний картин, возникающих во входных и выходных блоках интеллектуальных систем, а также в человеко-машинных системах, предназначенных для решения сложных, плохо формализуемых задач.
Система линейных уравнений (20.1), например, может быть
решена без привлечения математического аппарата:
 x2  2 y  8

3 x  2 y  32
(20.1)
Существуют два пути решения. Можно выразить х из первого
уравнения, подставить второе, найти из него у, а затем вычислить х.
Полученный ответ: х = 10, у= -1. Но можно воспользоваться общим
алгебраическим выражением, дающим для системы: ax + by = с, dx +
ey= f решение в виде: x= (ce – bf)/(ae – bd), y= (af – cd)/(ae – bd).
В любом случае, решая задачу, надо осуществлять подстановки и другие алгебраические преобразования, а также выполнять арифметические операции.
Можно, однако, поступить иначе. Ввести систему координат
и построить два графика, уравнениями которых являются выражения,
входящие в систему. Решение системы задается точкой пересечения
прямых. Эти два подхода иллюстрируют достоинства и недостатки
алгебраического и геометрического подходов.
Алгебраический подход дает возможность найти решение в общем виде, пригодном для любой конкретной системы уравнений.
Геометрический подход не обладает такой степенью общности.
Нельзя нарисовать в системе координат прямые «в общем виде», а значит, для каждой конкретной системы уравнений соответствующие прямые должны быть построены. Однако если нас интересуют не конкретные значения х и у, а лишь вопрос о наличии или отсутствии решения, то при алгебраическом подходе надо и в этом случае провести те же самые выкладки, что и при решении системы.
184
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
При геометрическом же подходе, взглянув на изображение,
можно дать мгновенный ответ. Если прямые пересекаются, то решение существует (рис. 20.2).
Рис. 20.2. Геометрическое решение системы уравнений
Наглядность – одна из основных особенностей когнитивной
графики, суть которой теперь уже можно определить. Когнитивная
графика, таким образом, вновь возвращает исследователей к геометрическим методам решения задач, уже почти забытым из-за символьных вычислений [151].
Один из пионеров этого направления – математик А. А. Зенкин, используя методы когнитивной графики, сумел доказать ряд
труднейших теорем теории чисел, десятилетиями не поддававшихся
решению [154]. Суть теорем, характерных для теории чисел, схематично можно пояснить следующим образом. Изучая законы, по которым построен натуральный ряд чисел, математики обычно интерес уются законом распределения в этом ряду чисел, которые обладают
определенным свойством, интересующим специалистов.
Если, например, это свойство «быть четным числом», то закон
распределения весьма прост: каждое второе число в ряду натуральных
чисел обладает этим свойством. Но если свойство имеет более сложную природу, то и закон распределения может быть весьма непростым.
Известна важная задача: как в ряду натуральных чисел распределены числа, являющиеся квадратами каких-то натуральных чисел,
или числа, которые могут быть представлены в виде суммы квадратов
двух других чисел?
Решение подобной задачи в теории чисел состоит из двух этапов:
1) на первом этапе надо каким-то образом «угадать» вид закономерности;
185
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
2) на втором этапе происходит поиск доказательства выдвинутой гипотезы или поиск доказательства ее опровержения.
Второй этап решения – это демонстрация профессионального
умения математика, специалиста в области теории чисел. А вот первый этап пока лежит где-то в области профессиональной интуиции
человека.
Как же организуется поиск доказательства в случае использования когнитивной графики?
Известно, что на дисплее вся плоскость экрана может быть
разбита на совокупность стандартных по размеру квадратиков (квадратики минимально возможного размера на экране дисплея называют
пикселями). Соотнесем каждый такой квадрат с определенным натуральным числом (рис. 20.3).
1
6
11
16
21
2
7
12
17
22
3
8
13
18
23
4
9
14
19
24
5
10
15
20
…
Рис. 20.3. 2D-запись «натуральных чисел»
Тогда на экране дисплея окажется высвеченным некоторый отрезок натурального ряда. В зависимости от выбранного размера квадратов на экране поместится определенное число строк и столбцов. Будем называть таблицу на рисунке 20.3, представляющую последовательность натуральных чисел, «2D-записью натуральных чисел», или
«пифограммой». Последнее название связано с фактом, что Пифагор
использовал такое представление натуральных чисел. Очевидно, что
число строк в «2D-записи» (рис. 20.3) бесконечно.
Если договориться о том, что при изучении некоторого свойства натуральных чисел закрашивать квадрат, соответствующий числам, обладающим этим свойством, в какой-то определенный цвет
(например, в черный), а все остальные квадраты – в другой цвет
(например, в желтый), то на экране возникнет цветовая мозаика. Черные квадраты будут, как правило, располагаться на экране дисплея
хаотично. Но с помощью системы операторов трансформации изображения имеющихся в пакете прикладных программ (простейшие из
них операторы, меняющие число строк и столбцов на экране), можно
попытаться так преобразовать картинку, чтобы черные квадратики
образовали закономерный рисунок. Если это удается, то можно на
186
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
экране дисплея высветить следующий участок натурального ряда и
сразу применить ранее найденную систему трансформаций. Если закономерность сохраняется, то можно продолжать высвечивать куски
натурального ряда на экран до тех пор, пока не возникнет уверенность, что эта закономерность устойчива. Тогда ее можно принять за
гипотезу распределения чисел и попытаться доказать соответствующую теорему.
Отмечается, что поиск гипотезы, которую можно положить
в основу будущей теоремы, при использовании когнитивной графики
автоматизирован. Человек просто смотрит на изображения, возникающие на экране при использовании различных методов трансформации, и, как только найдет закономерность в расположении красных
квадратов, он зафиксирует систему примененных преобразований
и будет использовать ее для очередных отрезков натурального ряда.
Убедившись, что закономерность устойчива, математик может попытаться доказать подтверждающую ее теорему [150].
Исследуя «пифограммы» для квадратов натуральных чисел
(рис. 20.4), Александр Зенкин пришел к неожиданным математическим результатам. Увеличивая длину «модуля» пифограммы и используя компьютерное моделирование, он показал, что распределение
квадратов натуральных чисел сводится к новым волновым функциям,
называемыми «параболическими солитонами» (рис. 20.5)
и широко используемыми в современной физике [149].
Рис. 20.4. Пифограмма для квадратов натуральных чисел
187
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 20.5. «Параболические солитоны»
Методы когнитивной графики используются в искусственном
интеллекте в системах, способных превращать текстовые описания
задач в их образные представления, и при генерации текстовых описаний картин, возникающих во входных и выходных блоках интеллектуальных систем, а также в человеко-машинных системах, предназначенных для решения сложных, плохо формализуемых задач [152].
20.2. Дуализм человеческого мышления
Человеческое сознание использует два механизма мышления
[141]. Один из них позволяет работать с абстрактными цепочками
символов, с текстами и т.п. Этот механизм мышления обычно называют символическим, алгебраическим или логическим. Второй механизм мышления обеспечивает работу с чувственными образами
и
представлениями об этих образах. Его называют образным, геометрическим, интуитивным и т.п. Физиологически логическое мышление
связано с левым полушарием человеческого мозга, а образное мышление – с правым полушарием.
Основные различия в работе полушарий головного мозга человека обнаружил американский ученый Р. Сперри, который однажды в
лечебных целях рискнул рассечь межполушарные связи у больных
эпилепсией [142]. Человек, у которого было «отключено» правое полушарие, а «работало» левое, сохранял способность к речевому общению, правильно реагировал на слова, цифры и другие условные знаки,
но часто оказывался беспомощным, когда требовалось что-то сделать
с предметами материального мира или их изображениями. Когда же
работало одно «правое» полушарие, пациент легко справлялся с такими задачами, хорошо разбирался с произведениями живописи, в мелодиях и интонациях речи, ориентировался в пространстве, но терял
способность понимать сложные речевые конструкции и совершенно
не мог сколько-нибудь связно говорить.
Каждое из полушарий человеческого мозга является самостоятельной системой восприятия внешнего мира, переработки информа-
188
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ции о нем и планирования поведения в этом мире. Левое полушарие
представляет собой как бы большую и мощную ЭВМ, имеющую дело
со знаками и процедурами их обработки. Естественно-языковая речь,
мышление словами, рационально-логические процедуры переработки
информации и т.п. – все это реализуется именно в левом полушарии.
В правом же полушарии реализуется мышление на уровне чувственных образов: эстетическое восприятие мира, музыка, живопись, асс оциативное узнавание, рождение принципиально новых идей и открытий и т.п. Весь тот сложный механизм образного мышления, который
нередко определяют одним термином «интуиция», и является правополушарной областью деятельности мозга.
Различие между двумя механизмами мышления можно проиллюстрировать принципами составления связного текста из отдельных
элементов информации: левополушарное мышление из этих элементов создает однозначный контекст, т.е. из всех бесчисленных связей
между предметами и явлениями оно активно выбирает только некоторые, наиболее существенные для данной конкретной задачи [142].
Правополушарное же мышление создает многозначный контекст, благодаря одновременному схватыванию практически всех признаков и
связей одного или многих явлений. Иными словами логико-знаковое
мышление вносит в картину мира некоторую искусственность, тогда
как образное мышление обеспечивает естественную непосредственность восприятия мира таким, каков он есть.
Человеческое мышление и человеческое поведение обусловлено совместной работой обоих полушарий человеческого мозга. В о дних ситуациях преобладает логический компонент мышления, в других – интуитивный. По мнению психологов, все люди делятся на три
группы: с преобладающим «левополушарным» мышлением, с «правополушарным» мышлением, со смешанным мышлением. Это разделение генетически предопределено, и существуют специальные тесты
для определения склонности к тому или иному типу мышления [142].
Описанные фундаментальные различия между лево- и правополушарной стратегией переработки информации имеют прямое отношение к формированию различных способностей. Так, для научного творчества, т.е. для преодоления традиционных представлений,
необходимо восприятие мира во всей его целостности, что предполагает развитие способностей к организации многозначного контекста
(образного мышления). И действительно, существуют многочисленные наблюдения, что для людей, сохраняющих способности к образному мышлению, творческая деятельность менее утомительна, чем
рутинная, монотонная работа. Люди же, не выработавшие способности к образному мышлению, нередко предпочитают выполнять механическую работу, причем она им не кажется скучной, поскольку они
189
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
как бы «закрепощены» собственным формально-логическим мышлением. Отсюда ясно, как важно с ранних пор правильно строить воспитание и обучение, чтобы оба нужных человеку типа мышления развивались гармонично, чтобы образное мышление не оказалось скованным рассудочностью, чтобы не иссякал творческий потенциал человека.
В разработке интеллектуальных систем, как отмечает Д.А. Поспелов, имеет место «левополушарный крен» [140]. Еще в большей,
по-видимому, степени такой «левополушарный крен» характерен
и для современного образования, в том числе для используемых в нем
компьютерных методов и средств. Явление это не такое уж безобидное. В связи с этим четкое выделение неявных, подсознательных компонент знания позволяет также четко ставить задачу их освоения,
формулировать соответствующие требования к методам и средствам
обучения, в том числе и к методам компьютерной графики [147].
20.3. Классификация задач использования компьютерной
графики в научных исследованиях и при обучении
Термин «компьютерная графика» должен объединить аспекты
графических изображений:
иллюстративный (ввод, преобразование, получение графических изображений);
когнитивный (ввод, преобразование, визуализация, получение
нового знания, смысла, представления, данных, образа, понятия
и
других проявлений информации).
Отличие в содержании иллюстративного и когнитивного
направлений в графике может быть продемонстрировано на примерных перечнях задач, решаемых в каждом из направлений.
В когнитивном аспекте задачи графики направлены на выявление наличия и характера:
1) тенденций в протекающих процессах;
2) асимптотики – поведения функций в особых точках (устремление, например, к бесконечности, или неограниченное приближение
к чему-либо);
3) разрывов (прерываний), непрерывностей, гладкости, монотонности, перегибов (переходов с максимума на минимум и наоборот), кривизны, наклонов, пересечений линий, поверхностей, пространств;
4) возможности аппроксимации – приближенного выражения
каких-либо величин или геометрических объектов через другие, более
простые;
190
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
5) диапазонов интервалов (границы, разброс, вхождение или не
вхождение в интервал);
6) касания, соприкосновения, сопряжения; крутизны (градиенты спада и (или) подъема); удаленности (приближенности) объектов;
7) расхождения и (или) совпадения на участках;
8) периодичности (непериодичности);
9) сходимости и расходимости; симметричности, несимметричности, асимметричности;
10) корней уравнений;
11) стационарности, стабильности;
12) устремленности (к нулю, к значению, к бесконечности,
к объекту и т.д.); порядка следования событий;
13) локализации особенностей (однородностей и неоднородностей, сгущений и разреженностей, перепадов и т.д.) в той или иной части изображаемого пространства и времени;
14) степени концентрированности особенностей в пространстве и времени;
15) структуры (элементы и отношения между ними) и ее архитектура;
16) ориентации объектов в пространстве, взаимной расположенности;
17) коррелированности функций, процессов, событий, составов
и других явлений;
18) смещения объектов по отношению к самому себе, предыдущему состоянию, к пространству, к системе измерения и т.д.;
19) глобальных и локальных максимумов и минимумов, вершин и впадин;
20) масштабной размерности;
21) долгосрочности существования феномена (эффекта);
22) дискретности и непрерывности;
23) равномерности и неравномерности и т.д.
В иллюстративном срезе графические возможности вычислительной техники направлены на решение следующих задач:
1) обеспечения степени прозрачности объемного объекта от
полностью прозрачного до полностью непрозрачного, с сохранением
возможности видеть внутреннюю организацию объекта;
2) визуализации отдельных локальных невидимых областей
(полостей) объекта;
3) получения сечений, срезов и разрезов объекта;
4) просмотра (осмотра) объекта с разных точек зрения (изменение проекций камер осмотра);
5) получения изображения путем слияния изображений, полученных различными камерами (в частности, стереоизображения);
191
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
6) окрашивания поверхности объекта цветом и узором (сплошное, градиентное, с линейно затухающей или возрастающей яркостью
и контрастностью); получения цветового контраста;
7) перевода текстового описания объекта в изображение и
наоборот: представление числовых зависимостей в графических формах (диаграммы, графики, таблицы);
8) сканирования и оцифровывания графических изображений;
9) деформирования объекта (равномерное и неравномерное,
линейное и нелинейное изменение масштабов представления объекта
по различным проекциям);
10) вращения объекта;
11) получения теневых проекций от объекта при различных
точках освещенности и совмещения теней;
12) выноса отдельных частей объекта;
13) перемещения объекта в плоскости и трехмерном пространстве;
14) добавления и изъятия определенных частей объекта и его
деталей;
15) каркасного (контурного) представления, в частности: обрезания каркасов, которые скрывают (загораживают) другие объекты;
рентгеновского просмотра внутренностей объекта;
16) управления графическими характеристиками текста, в
частности: изменения шрифта; выделения участков текста подчеркиванием, «жирностью» и цветом; изменения размеров символов текста;
добавления текстовых элементов в рисунки; окантовки поясняющих
текстов и создания указательных линий к поясняемому месту; подписи и наименования рисунков; вставки водяных знаков – графических
элементов, появляющихся на каждой странице документа; размещения графики на каждой странице текста;
17) инвертирования изображения в негатив;
18) получения отраженного (зеркального) изображения;
19)изменения толщины, стиля линии изображения объекта;
20) заполнения отдельных частей изображения: сплошным или
разбавленным цветом, узором, градиентной или линейной смесью
цветов или оттенков серого цвета;
21) наложения изображений друг на друга.
Кроме уже упомянутой центральной проблемы представления
знаний, объединяющей в себе тексты и графические изображения,
в когнитивной графике возникли еще две весьма интересные проблемы. Одна из них – визуализация тех человеческих знаний, для которых еще пока невозможно найти соответствующих описаний. Вторая –
поиск путей перехода от наблюдаемых графических изображений к
192
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
формулировке некоторой гипотезы о тех механизмах и процессах, которые скрыты за динамикой наблюдаемых картин.
20.4. Методы получения знаний на основе графического
представления информации
Нами рассмотрены следующие подходы к распознаванию зрительных паттернов:
Гештальт-психология. Распознавание паттернов основано на
восприятии целого стимульного паттерна. Отдельные части целостной конфигурации приобретают свое значение, находясь в составе целого.
Обработка информации по принципу снизу вверх или сверху
вниз. Распознавание паттерна начинается с отдельных его частей (снизу вверх), суммирование которых ведет к опознанию всего паттерна;
либо: распознавание всего паттерна ведет к опознанию его компонентов (сверху вниз). Принцип снизу вверх соответствует «от частного к
общему», а принцип сверху вниз – выражению «от общего к частному» (соответственно, индуктивный и дедуктивный методы).
Сравнение с эталоном. Распознавание паттернов происходит
при наличии совпадения сенсорных стимулов с соответствующей
внутренней мысленной формой.
Подетальный анализ. Распознавание паттерна происходит после анализа элементарных свойств входных стимулов (аналогично обработке по принципу снизу вверх).
Опознавание по прототипу. Распознавание паттерна происходит при наличии совпадения воспринимаемого паттерна с абстрактным или идеальным умственным паттерном.
Анализируя паттерны как некоторые зрительные образы, соответствующие определенным стимулам, выберем следующие принципы их организации:
1. Близость. Элементы, близко расположенные во времени
и пространстве, имеют тенденцию восприниматься вместе.
2. Сходство. Одинаковые элементы, входящие в одну структуру, имеют тенденцию восприниматься вместе.
3. Объективная установка. Однажды воспринятая организация
имеет тенденцию видеться в сходных организациях, непосредственно
следующих за ней.
4. Общая судьба. Элементы выделенные из общей группы
сходным образом, сами стремятся объединиться в группу.
5. Прегнантность. Фигуры видятся настолько «хорошо»,
насколько это возможно при данных стимульных условиях. «Хоро-
193
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
шая» фигура – это стабильная, такая, которую нельзя упростить или
упорядочить путем изменения восприятия.
Как лицо, принимающее решение (ЛПР), распознает образ?
Эта проблема – начинается ли распознавание с частей паттерна, которые служат только основанием для распознавания целого (снизу
вверх), или же оно начинается с выдвижения гипотезы о целом, которая позволяет его идентифицировать, а потом опознает его составные
части (сверху вниз) – называется в литературе аналитическим парадоксом [138]. Его можно разрешить, только если привлечь наличие
контекста. В качестве такого контекста диспетчера АК «Транснефть»
используют картографическую информацию и (или) конфигурацию
магистральных нефтепроводов.
При использовании метода «сравнения с эталоном» опознание
возможно только тогда, когда между «внешним» объектом и его «внутренним» представлением имеется соответствие 1:1. Это означает, что
даже при незначительном расхождении между объектом и его эталоном
опознания не произойдет. Поэтому строгое следование этой теории
означало бы необходимость формирования несчетного количества эталонов, соответствующих множеству паттернов и их комбинаций.
При проведении ЛПР подетального анализа восприятие образа
– это «высокоуровневая» обработка информации, которой предшествует этап идентификации входных стимулов по их более простым
деталям. Так, прежде чем произойдет оценка информации зрительного
паттерна «в полном объеме», осуществляется минимальный анализ
его составных частей.
Альтернативой сравнению с эталоном и подетальному анализу
как средствам распознавания ЛПР паттернов является способ формирования прототипов. Примем как аксиому гипотезу, утверждающую
о том, что в долговременной памяти диспетчера хранятся (полученные
в результате накопления опыта) не конкретные эталоны и тем более
не детальные признаки многочисленных паттернов, которые ему приходится опознавать, а своеобразная абстракция паттернов, которая и
служит в качестве прототипа. Паттерн сопоставляется с прототипом и
при наличии сходства происходит его опознание. При этом прототип
– это не только абстракция из набора стимулов, но и «краткий конспект», наилучшее представление данного паттерна.
Как показали исследования, при распознавании сложных ситуаций, базирующихся на множестве паттернов, отражающих реальное
состояние контролируемого объекта, используется сочетание методов
прототипов и эталонов. Поскольку оперативный персонал работает
в основном с отклонениями от заданного режима, то сравнение с прототипом используется для анализа состояния, а сравнение с эталоном
– для анализа отклонений от данного состояния.
194
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Учитывая свойства иконической памяти человека и размер
анализируемого пространства паттернов в реальном масштабе времени можно сделать однозначный вывод о том, что оперативному персоналу необходимо представлять информацию о состоянии объекта
контроля и управления в виде связанных обобщенных абстрактных
образов – паттернов, имеющих однозначную интерпретацию и совпадение с накопленными в результате работы мысленными образами.
20.5. Иллюстративная и когнитивная функции
компьютерной графики
В настоящее время компьютерная графика (КГ) – это одно из
наиболее бурно развивающихся направлений новых информационных
технологий. Так, в научных исследованиях, в том числе и в фундаментальных, характерный для начального этапа акцент на иллюстративную функцию КГ все более смещается в сторону использования тех ее
возможностей, которые позволяют активизировать «... свойственную
человеку способность мыслить сложными пространственными образами» [138]. В связи с этим начинают четко различать две функции
КГ: иллюстративную и когнитивную [139].
Иллюстративная функция КГ позволяет воплотить в более или
менее адекватном визуальном оформлении лишь то, что уже известно,
т.е. уже существует либо в окружающем нас мире, либо как идея в
голове исследователя. Когнитивная же функция КГ состоит в том,
чтобы с помощью некоего КГ-изображения получить новое, т.е. еще
не существующее даже в голове специалиста знание или, по крайней
мере, способствовать интеллектуальному процессу получения этого
знания.
Основная идея различий иллюстративной и когнитивной
функций КГ, выделенная в работе [139] при описании использования
КГ в научных исследованиях, хорошо вписывается в классификацию
знаний и компьютерных систем учебного назначения. Иллюстративные функции КГ реализуются в учебных системах декларативного типа при передаче учащимся артикулируемой части знания, представленной в виде заранее подготовленной информации с графическими,
анимационными, аудио- и видеоиллюстрациями (рис. 20.6).
195
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Знания
артикулируемая часть
(информация)
неартикулируемая часть
(опыт, интуиция и т. п.)
Компьютерные системы
учебного назначения
декларативного типа
процедурного типа
Компьютерная графика
иллюстративная
когнитивная
Рис. 20.6. Концептуальное различие между когнитивной
и иллюстративной функциями компьютерной графики
Когнитивная же функция КГ проявляется в системах процедурного типа, когда учащиеся «добывают» знания с помощью исследований на математических моделях изучаемых объектов
и процессов, причем, поскольку этот процесс формирования знаний опирается на интуитивный правополушарный механизм мышления, сами эти знания в существенной мере носят личностный характер. Каждый человек формирует приемы подсознательной умственной деятельности по-своему. Современная психологическая
наука не располагает строго обоснованными способами формирования творческого потенциала человека, пусть даже профессионального. Одним из известных эвристических подходов к развитию
интуитивного профессионально-ориентированного мышления является решение задач исследовательского характера. Применение
учебных компьютерных систем процедурного типа позволяет
в
существенной мере интенсифицировать этот процесс, устранив из
196
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
него рутинные операции, сделать возможным проведение различных экспериментов на математических моделях.
Роль КГ в этих учебных исследованиях трудно переоценить.
Именно КГ-изображения хода и результатов экспериментов на математических моделях позволяют каждому учащемуся сформировать свой образ изучаемого объекта или явления во всей его целостности и многообразии связей. Несомненно также, что
КГ-изображения выполняют при этом прежде всего когнитивную,
а не иллюстративную функцию, поскольку в процессе учебной работы с компьютерными системами процедурного типа у учащихся
формируются сугубо личностные, т.е. не существующие в таком
виде ни у кого, компоненты знаний.
Конечно, различия между иллюстративной и когнитивной
функциями компьютерной графики достаточно условны. Нередко
обычная графическая иллюстрация может натолкнуть на новую
мысль, позволит увидеть некоторые элементы знания, которые не
«вкладывались» преподавателем-разработчиком учебной компьютерной системы декларативного типа. Таким образом, иллюстративная по замыслу функция КГ-изображения превращается
в
функцию когнитивную. В то же время когнитивная функция КГизображения при первых экспериментах с учебными системами
процедурного типа в дальнейших экспериментах превращается в
функцию иллюстративную для уже «открытого» и, следовательно,
уже не нового свойства изучаемого объекта.
Тем не менее, принципиальные отличия в логическом и интуитивном механизмах мышления человека, вытекающие из этих
различий формы представления знаний и способы их освоения, делают полезным в методологическом плане различение иллюстративной и когнитивной функции компьютерной графики и позволяют более четко формулировать дидактические задачи
КГизображений при разработке компьютерных систем учебного
назначения [148].
20.6. Задачи когнитивной компьютерной графики
В предисловии к работе [140] известный специалист в области
искусственного интеллекта Д.А. Поспелов сформулировал три основных задачи когнитивной компьютерной графики (ККГ).
Первой задачей является создание таких моделей представления знаний, в которых была бы возможность однообразными средствами представлять как объекты, характерные для логического мыш-
197
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ления, так и образы-картины, с которыми оперирует образное мышление.
Вторая задача – визуализация тех человеческих знаний, для
которых пока невозможно подобрать текстовые описания.
Третья – поиск путей перехода от наблюдаемых образовкартин к формулировке некоторой гипотезы о тех механизмах и процессах, которые скрыты за динамикой наблюдаемых картин.
Эти три задачи ККГ с позиций информационных технологий
поддержки принятия решений следует дополнить четвертой задачей.
Она заключается в создании условий для развития у лица, принимающего решение (ЛПР), профессионально-ориентированных интуиции и
творческих способностей путем построения пользовательского интерфейса, основанного на методах когнитивной графики.
При разработке компьютерных информационных систем анализа состояния объекта контроля и управления обычно исходят из
первых двух задач когнитивной графики, когда знания о техническом
объекте, полученные в ходе исследований и проектирования пользовательского интерфейса представляются в привычной символьноцифровой форме. Множество таких данных, предъявленных ЛПР, делают их недоступными для анализа человеком.
Четкое осознание третьей и четвертой задач когнитивной графики позволяет формулировать дополнительные требования как к
собственно графическим изображениям, так и к соответствующему
программно-методическому обеспечению. Среди них можно выделить:
адекватность изучаемым объектам или процессам, используемым инженерным методам и методикам обучения;
естественность и доступность для восприятия пользователями;
удобство для анализа качественных закономерностей распределения параметров;
эстетическую привлекательность, быстроту формирования
изображения.
Пользователи должны иметь также возможность выбирать тип
изображения. Дело в том, что одну и ту же информацию можно отобразить в графической форме различным образом.
Результаты специальных исследований этих типов графического отображения информации свидетельствуют, что каждый человек
в силу своего индивидуального, личностного восприятия по-своему
оценивает эффективность того или иного типа изображения, причем
оценки разных людей могут существенно отличаться. Поэтому компьютерные системы поддержки принятия решений должны иметь
набор различных способов графического отображения информации,
198
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
чтобы каждый ЛПР мог выбрать наиболее подходящий для него тип
изображения, либо использовать различные графические картины для
анализа результатов машинных расчетов. Необходимо предоставить
проектировщикам пользовательского интерфейса и информационного
обеспечения возможность управлять изображением – варьировать его
размерами, цветовой гаммой, положением точки зрения наблюдателя,
количеством и положением источников освещения, степенью контрастности изображаемых величин и т.п. Все эти возможности графического интерфейса не только позволяют проектировщикам выбирать
подходящие формы графических изображений, но и вносят игровые
и исследовательские компоненты в исследовательскую работу, естественным образом побуждают специалистов по управлению к глубокому и всестороннему анализу свойств изучаемых объектов и процессов [147].
Областью применения когнитивной графики, сочетающей иллюстративную, когнитивную и коммуникативную функции, является
создание ментальных моделей реальной действительности. Они не
только отражают явные знания активных субъектов познавательного
процесса, уже формализованные в виде артефактов интеллектуального капитала, но и эксплицируют латентные (неявные) знания, составляющие ядро интеллектуального потенциала. Ментальная карта, раскрывающая креативный потенциал когнитивной графики в генерировании интеллектуального капитала, приведена на рисунке 20.7.
Разработчики систем инженерного анализа, автоматизированного проектирования и учебных компьютерных систем процедурного
типа имеют дело со второй из описанных здесь задач когнитивной
графики, когда знания о техническом объекте, полученные в ходе исследований на многомерных математических моделях и представленные в обычной символьно-цифровой форме, становятся недоступными для анализа человеком из-за большого объема информации.
Рассмотрим далее ряд способов отображения полей физических характеристик технических объектов и алгоритмы построения соответствующих изображений, обладающих высоким когнитивным потенциалом [139].
199
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 20.7. Креативный потенциал когнитивной графики
20.7. Алгоритмы визуализации
Исходные предпосылки алгоритмов визуализации. Будем
считать, что набор стандартных графических функций, которые используют программисты при разработке учебных прикладных программ, позволяет высвечивать на экране дисплея точку, указав ее координаты и цвет, проводить отрезок прямой линии, указав его цвет и
координаты концов, осуществлять геометрические преобразования
координат и преобразования проецирования.
Будем также считать, что изображаемое поле физических характеристик представлено в виде дискретных значений в узлах плоской сети элементов (ПСЭ) треугольной или четырехугольной формы.
Эта сеть может отображать или все поле, либо его фрагмент, например, сечение трехмерного поля плоскостью. Заметим, что такая форма
представления параметров естественна для ряда численных сеточных
методов, например, широко используемый в САПР метод конечных
элементов предполагает сеточную аппроксимацию.
Итак, на входе прикладных графических программ, реализующих рассматриваемые далее алгоритмы, должно быть топологическое
и геометрическое описание ПСЭ со значениями отображаемых характеристик в узлах сети. Топологию сети удобно хранить в виде матри-
200
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
цы, в каждой строке которой указан номер элемента ПСЭ и номера
окружающих его узлов. Геометрическое описание ПСЭ – это матрица,
в строках которой указаны координаты узлов сети.
В зависимости от способа визуализации будем использовать
два вида аппроксимации отображаемых параметров в пределах элемента ПСЭ: постоянную и билинейную. Для постоянной аппроксимации
в пределах четырехугольного элемента ПСЭ величина изображаемого параметра:
1 4
T   Ti ,
4 i 1
(20.2)
где Ti – величины параметров в узлах сети, окружающих элемент
ПСЭ.
Для билинейной аппроксимации введем безразмерные координаты ξ и η и вспомогательный квадрат (рис. 20.8). Соответствующее
преобразование координат и изображаемого параметра осуществляется по формуле, аналогичной так называемым функциям формы
в
методе конечных элементов [7]:
 X 1 Y1 T1 
X Y T 
1
XYT   1   1   , 1   1   ,1   1   , 1   1    2 2 2 
 X 3 Y3 T3 
4


 X 4 Y4 T4 
(20.3)
Для регуляризации алгоритмов элемент треугольной формы
будем считать частным случаем четырехугольника, у которого с овмещены два соседних угла.
Рассмотрим последовательно семь способов отображения физических характеристик: четыре способа – для визуализации скалярных полей и три способа – для отображения векторных характеристик,
таких как напряженность, или магнитная индукция электромагнитного поля, линии тока в аэрогидродинамике, распределение усилий или
армирующего набора в силовых конструкциях. Будем иллюстрировать
рассматриваемые способы фрагментами графического диалога, ведущегося в тренажерах и учебных пакетах прикладных программ (ППП)
системы КАДИС [139].
201
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 20.8. Трансформация произвольного четырехугольника
во вспомогательный квадрат
Сплошные цветографические изображения. Суть этого способа визуализации заключается в том, что внутренняя область ПСЭ
закрашивается в различные цвета, соответствующие определенным
интервалам величины изображаемого параметра. Обычно используется цветовая гамма, в которой по мере убывания величины параметра
цвета меняются от теплых (красного и желтого) к холодным
(синему и фиолетовому). Изображение строится по элементам ПСЭ. Алгоритмы закраски элемента базируются либо на идее построчного сканирования по вспомогательному квадрату с шагом, соответствующим
размерам элемента растровой сетки дисплея, и окраской этих элементов, называемых пикселями или пэлами [144], в соответствии с выражением (20.3), либо на идее растрового сканирования вдоль оси  и
построения цветных отрезков вдоль оси  . Во втором алгоритме цвет
отрезка определяется интервалом Т, а координаты  концов отрезка находятся для фиксированных значений  и границ заданных интервалов Т. Переход цветовой палитры через границы элементов ПСЭ
происходит плавно, поскольку аппроксимирующая функция (20.3)
линейна вдоль сторон четырехугольников ПСЭ, что обеспечивает непрерывность поверхности отображаемого параметра.
Для монохромных дисплеев по таким алгоритмам могут строиться тоновые изображения (рис. 20.9) [139].
202
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 20.9. Тоновое изображение оптимального
распределения материала в пластине под нагрузкой
Линии равного уровня. Построение линий равного уровня
(ЛРУ) осуществляется по элементам ПСЭ. Два следующих алгоритма основаны так же, как и алгоритмы закраски, на сканировании по сетке вспомогательного квадрата, шаг которой соответствует растру дисплея
В одном из этих алгоритмов на линиях сетки сканирования,
параллельных оси  , отыскиваются точки с заданными значениями
уровней изображаемого параметра. Точки с равными значениями
параметра на соседних линиях сканирования соединяются отрезками прямых линий, если между этими точками нет «впадины» или
«возвышения» билинейной поверхности (20.3). Построенные отрезки, удлиняясь в процессе сканирования, образуют семейство ЛРУ на
каждом элементе ПСЭ. В другом алгоритме задаются не значения
уровней, а интервалы величин, образующие ряд «полос» заданного
уровня. Построение ЛРУ осуществляется закраской полос. Толщина
ЛРУ на экране дисплея зависит от заданной ширины интервала и от
характера изменения отображаемой поверхности.
В обоих алгоритмах стыковка ЛРУ на границах элементов ПСЭ происходит естественным образом, поскольку аппроксимирующая функция (20.3)
линейна вдоль сторон четырехугольников ПСЭ (рис. 20.10) [139].
203
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 20.10. Траектории поисковых алгоритмов на линиях
равного уровня целевой функции
Точечные изображения. Поле каждого элемента ПСЭ на экране
дисплея заполняется светящимися точками. Плотность расположения точек соответствует величине отображаемого параметра. Заполнение участков ПСЭ с постоянной плотностью (это может быть поле всего четырехугольника или его части) осуществляется с помощью датчика случайных
чисел (ДСЧ).
Такое заполнение сглаживает разрывы отображаемой поверхности даже при постоянной аппроксимации параметра в пределах одного элемента ПСЭ (рис. 20.11).
Перед построением точечного изображения отыскивается максимальное значение T, которому ставится в соответствие плотность
заполнения точек, равная 80-90% от плотности сплошной закраски.
По этому пределу нормируется в дальнейшем плотность заполнения
точек на каждом четырехугольнике ПСЭ. При построении изображения на элементе ПСЭ вспомогательный квадрат предварительно разбивается осями ζ и η на четверти, поскольку стандартные ДСЧ оперируют числами в интервале [0;1]. В пределах каждой четверти плотность точек считается постоянной. Координаты точек ζ и η определяются с помощью ДСЧ, преобразуются по формуле (20.3) в координаты
X и Y и далее переводятся в экранную систему координат. Цвет точек
204
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
определяется по заданным цветовым интервалам с использованием
выражения (20.3) [139].
Рис. 20.11. Точечное изображение оптимального распределения
материала в пластине под нагрузкой
Полигональные сети. Изображение выводится на дисплей
в виде центральной проекции поверхности отображаемого параметра.
Поверхность аппроксимируется сетью треугольников и четырехугольников с прямыми сторонами. Такую сеть принято называть полигональной [144].
Простейшая полигональная сеть может быть получена
отображением ПСЭ на параметрическую поверхность (рис. 20.12).
Наглядность изображения в существенной мере зависит от выбора
положения точки зрения наблюдателя при центральном проец ировании и от наличия или отсутствия невидимых участков п оверхности. Построение полигональных сетей по заданным ПСЭ не
представляет трудностей и не требует больших вычислительных
затрат.
205
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 20.12. Полигональная сеть поверхности целевой функции
Соответствующий алгоритм сводится к обычным геометрическим преобразованиям координат и преобразованиям проецирования
узловых точек базовой ПСЭ и параметрической поверхности, которые
затем соединяются отрезками прямых линий. Однако анализ видимости линий существенно увеличивает вычислительные затраты, иногда
на два-три порядка [144].
Изображения в виде ориентированных отрезков
переменной длины. Этот способ применяется для отображения
векторных характеристик, например, силовых потоков [145]. Для него
используется постоянный закон аппроксимации параметров
в
пределах элемента ПСЭ. Ориентированные отрезки изображаются в
центрах элементов, их длины в выбранном масштабе соответствуют
величинам параметров (рис. 20.13). Перед построением изображения
вычисляется из соображений наглядности максимальная длина отрезка,
относительно которой нормируются в дальнейшем отрезки на всех
элементах. Изображение строится по элементам ПСЭ. В центре
206
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
четырехугольника помещается местная прямоугольная система
координат, одна из осей которой ориентируется в направлении
изображаемого параметра. Далее в координатах местной системы
определяются концевые точки отрезка так, чтобы его середина совпала
с центром элемента, производится преобразование полученных
координат в общую систему и проводится прямая линия, соединяющая
концевые точки отрезка [139].
Рис. 20.13. Распределение усилий в пластине, представленное в виде
ориентированных отрезков переменной длины
Изображения в виде коротких ориентированных отрезков
постоянной длины. Этот способ визуализации также предназначен
для отображения векторных характеристик. После каждого элемента
ПСЭ заполняется с помощью ДСЧ короткими ориентированными
отрезками постоянной длины. Плотность расположения отрезков
соответствует величине изображаемого параметра (рис. 20.14). Перед
построением изображения вычисляется из соображений наглядности
максимальная плотность отрезков, относительно которой нормируется плотность отрезков на всех элементах ПСЭ. В центре
четырехугольного элемента ПСЭ помещается прямоугольная местная
система координат, одна из осей которой ориентирована
в направлении изображаемого параметра. Координаты средних точек
отрезков определяются с помощью ДСЧ так, как это делается при
построении точечных изображений. В дальнейшем построение
207
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
каждого отрезка производится так же, как в предыдущем алгоритме
[139].
Рис. 20.14. Распределение усилий в пластине, представленное в виде
коротких ориентированных отрезков постоянной длины
Изображения в виде ориентированных решеток. Для этого
способа визуализации так же, как и для двух предыдущих способов
используется постоянная аппроксимация по элементам ПСЭ. Поле
элемента заполняется решеткой в виде одного или двух семейств
однонаправленных линий, плотность и ориентация которых соответствуют величинам и ориентациям изображаемых характеристик (рис.
20.15). Для идентификации семейства используется цвет. Построение
изображения производится на основе тех же алгоритмических идей,
что и в предыдущих двух способах: определяется предельная
плотность решетки; на каждом элементе строится прямоугольная
местная система координат; внутри элементов проводятся отрезки
прямых линий, концы которых располагаются на сторонах элементов
[139].
208
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 20.15. Распределение усилий в пластине, представленное в виде
ориентированных решеток
Управление изображениями. В процессе анализа результатов
расчетов пользователь прикладной программы должен иметь возможность выбрать способ изображения и настроить его для достижения
наибольшей наглядности. При настройке изображения можно
выбирать: цветовую гамму (количество, вид и последова-тельность
используемых цветов); количество уровней для построения ЛРУ;
положение точки зрения наблюдателя и вид центрального
проецирования для полигональных сетей; длину коротких
ориентированных отрезков; коэффициент контрастирования.
Контрастирование изображений можно применять для более
четкого выделения закономерностей в распределении изображаемых
параметров, при этом разница между большими и малыми величинами искусственно завышается. Контрастирование осуществляется
с
помощью следующей зависимости:
209
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
k
 T 
T j  Tmax  j  ,
 Tmax 
где j – номер узла ПСЭ; Tmax – максимальное значение параметра в узлах ПСЭ; Tj и T j – величины параметра до и после контрастирования
соответственно; k – коэффициент контрастирования ( k  1 ).
Для удобства пользователя в программах настройки изображения целесообразно использовать принцип умолчания: если пользователь не хочет управлять изображением, то все необходимые параметры алгоритмов визуализации принимаются по умолчанию равными
среднестатическим значениям [139].
Контрольные вопросы
1. Что такое когнитивная графика?
2. Приведите примеры использования когнитивной компьютерной графики.
3. В чем проявляется дуализм человеческого мышления?
4. В чем заключаются иллюстративная и когнитивная функции
компьютерной графики?
5. Перечислите задачи когнитивной компьютерной графики.
6. Какие существуют алгоритмы визуализации?
7. Какие алгоритмы используются для визуализации скалярных
полей?
8. Какие алгоритмы визуализации используются для отображения векторных характеристик?
9. Каким образом можно управлять изображениями, созданными с помощью алгоритмов визуализации?
10. Реализуйте один из алгоритмов визуализации, добавив возможность управления изображениями.
210
(20.4)
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ГЛАВА 21. ГРАФИЧЕСКИЙ ИНТЕРФЕЙС
ПОЛЬЗОВАТЕЛЯ
21.1. Основные понятия и обоснование необходимости
построения графического интерфейса пользователя
Графический интерфейс пользователя (ГИП, graphical user
interface, GUI) в вычислительной технике – система средств для взаимодействия пользователя с компьютером, основанная на представлении всех доступных пользователю системных объектов и функций
в виде графических компонентов экрана (окон, значков, меню, кнопок, списков и т.п.). При этом в отличие от интерфейса командной
строки пользователь имеет произвольный доступ (с помощью клавиатуры или устройства координатного ввода типа «мышь») ко всем видимым экранным объектам.
Впервые концепция ГИП была предложена учеными из исследовательской лаборатории Xerox PARC в 1970-х, но получила коммерческое воплощение лишь в продуктах корпорации Apple Computer. В
операционной системе AmigaOS ГИП с многозадачностью был использован в 1985 г. В настоящее время ГИП является стандартной составляющей большинства доступных на рынке операционных систем
и приложений.
Примеры систем, использующих ГИП: Mac OS, Solaris,
GNU/Linux, Microsoft Windows, NEXTSTEP, OS/2, BeOS.
Задачей интерфейса пользователя, именуемого также человекомашинным интерфейсом, является обеспечение максимальных
удобств при работе с прикладными процессами. В развитии этого интерфейса пройдено два этапа. На первом пользователь работал непосредственно с операционной системой и пользовался только ее услугами. Все операции осуществлялись вводом команд с клавиатуры.
При этом нужно было хорошо знать операционную систему. С ростом
сложности решаемых задач неудобства такого интерфейса стали очевидны. Процесс общения пользователя с системой стал слишком
сложным и монотонным. Для преодоления указанных недостатков
был предложен графический интерфейс.
Объектное интерактивное программирование обеспечивает создание эффективных интерфейсов для специальных задач. Появилась
технология так называемого «живого» интерфейса, которая превращает взаимодействие пользователя с информационной системой
в
процесс, напоминающий общение людей. Помимо клавиатуры для
взаимодействия с операционной платформой стали использоваться
мышь, световое перо, микрофон, динамик, система «шлем – дисплей»
211
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
(система управления информационным процессом, состоящая как минимум из шлема и пары экранов, выполненных в виде очков).
Отправной точкой всякого хорошего интерфейса является метафора. Обстановка на экране и способы взаимодействия с системой
должны апеллировать к ситуации, хорошо знакомой пользователю.
Так, оконный интерфейс задумывался как метафора рабочего стола
с документами. Использование метафоры позволяет достичь следующих положительных результатов. Во-первых, пользователь легче понимает и интерпретирует изображение на экране. Во-вторых, ему не
нужно каждый раз заглядывать в руководство, чтобы узнать, как выполняется то или иное действие. По крайней мере, некоторые действия должны «естественно» следовать из метафоры. В-третьих,
у
пользователя возникает чувство психологического комфорта, характерного для встречи с чем-то хорошо знакомым.
Однако в использовании метафоры есть несколько подводных
камней. Все-таки процесс взаимодействия с пользователем проходит
не в реальном мире, а с помощью таких искусственных приспособлений, как экран, мышь и клавиатура. Поэтому где-то приходится корректировать метафору. Кроме того, возможности мира внутри компьютера обычно шире возможностей физического мира, и это может с
успехом использоваться для более мощного интерфейса. Наконец,
существует сложившаяся практика пользования компьютером у профессионалов, и эта практика кажется естественной создателям новых
интерфейсов.
В рамках метафоры необходимо разработать систему интерфейсных элементов, своего рода алфавит взаимодействия, изучив который пользователь сможет легко делать то, что ему нужно. Также
нужно найти изящный способ изображения как отдельных элементов,
так и их групп. И, наконец, необходимо выбрать общий изобразительный стиль, который был бы легко узнаваем и приятен для глаз [155].
Примером хорошего концептуального дизайна интерфейса
может служить система дорожных знаков. Ее разработка не так проста, как может показаться на первый взгляд. Обратите внимание на
сочетание «реалистических» пиктограмм с «абстрактными», на комбинирование многих знаков, висящих вместе, на «словарь фонов».
Кроме того, удалось решить поистине титаническую задачу – знаки
заметны и не портят красоту окружающей природы там, где эта красота есть. И, главное, эта система хорошо работает и не требует от своих
пользователей высшего образования.
Концептуальный дизайн интерфейса должен базироваться на
идее интерфейсной среды, в которую погружается пользователь на
время работы с системой. Здесь слово «среда» применяется как обо-
212
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
значение типичной для поведения человека в различных средах связки
«сигнал-действие».
Понятие среды и понятие метафоры близко связаны. Если
среда по виду и некоторым опорным элементам будет напоминать
пользователю что-то уже знакомое, он сможет быстрее приспособиться к ней. Вместе с тем выбранная метафора может продиктовать все изобразительные решения дизайна интерфейса. Однако
следует остерегаться фотографической похожести среды в компьютере с выбранной метафорой. Все-таки компьютерная среда искусственна и полностью повторить все элементы взаимодействия
из физического мира не удастся. А фотографическая похожесть
может спровоцировать пользователя пользоваться этой искусственной средой в точности как той, которую она напоминает.
В первый же раз, когда пользователь натолкнется на различие, он
испытает тяжелый психологический шок, который может привести
к полному отторжению системы.
При проектировании интерфейса необходимо обеспечивать
баланс между функциональными возможностями программы, возможностями манипуляции ею и ее изобразительным рядом. Таким
образом, простая программа не должна сложно управляться и
изобиловать слишком изощренной графикой.
С этой позиции хорошо видна основная проблема оконного
интерфейса. Все интерфейсные элементы заявляются с самого
начала, они всегда присутствуют на экране. Чтобы пользователю
легко было с ними взаимодействовать, они должны занимать на
экране заметное место. В итоге места для содержательной информации о среде и функциональности остается совсем мало, а экран
производит впечатление рабочего стола, который давно не разбирали.
В центрах, разрабатывающих новые интерфейсы (XEROX
PARC, MIT Media Lab, Apple Computer, Carnegie Mellon University),
идут разработки разных концепций дизайна интерфейсов, опирающихся на возможности анимации.
Основной проблемой в интерфейсе пользователя является
синхронизация точки внимания пользователя и точки активности
системы. Эта проблема должна решаться в обе стороны. С одной
стороны, пользователь должен уметь сказать системе, где и что он
хочет изменить (обычно это делается щелчком мыши в нужном месте). С другой стороны, система должна уметь привлечь внимание
пользователя к месту наиболее актуальных изменений.
При переходе от алфавитно-цифровых дисплеев к графическим поле дисплея казалось непомерно большим и проблема синхронизации точки взаимодействия была самой сложной. Ее решение было выполнено по принципу «разделяй и властвуй». Поле
213
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
экрана разбивалось на прямоугольники-окна и вся работа велась
только в одном из них – так называемом активном окне. Одновременно сменилась форма текстового курсора, и, что очень важно, он
начал подмигивать. Это требовалось для облегчения проблемы поиска текстового курсора в окне. Поиск же курсора мыши при его
потере из поля внимания пользователь (до сих пор) выполняет подергиванием мыши.
На самом деле и тот, и другой способ используют тот очевидный факт, что движущийся предмет легче привлекает внимание. Но главным способом локализации внимания пользователя
было геометрическое разбиение экрана, в частности потому, что
более активное использование анимации в то время казалось фантастикой. Сегодня же не видно никакой причины не привлекать
внимание пользователя движением в нужной точке экрана. Во многих приложениях используются разные формы динамики изображения, которые называются мультимедиа.
В графическом интерфейсе пользователь имеет дело с последовательностью картинок. Программисты, хвастаясь скоростью
своих программ, замеряют время, «теряемое» между картинками.
Однако психологи, занимающиеся интерфейсом, говорят о совсем
другом времени, – времени, когда пользователь может начать взаимодействие с новой картинкой на экране. В этот интервал входит
не только время вывода новой картинки на экран, но и время осознания ее пользователем, ведь определенное время и усилия тратятся пользователем на то, чтобы понять, как каждая следующая
картинка соотносится с предыдущей.
Анимация за счет увеличения времени анимированного преобразования картинок существенно сокращает время осознания
новой картинки. В психологическом смысле новой картинки и не
существует, существует преобразованная старая, а так как все преобразования происходили на глазах у пользователя, то он практически немедленно готов к взаимодействию.
Существует еще одно свойство анимационного пользовательского интерфейса, которое существенно улучшает его, а именно динамические визуальные сигналы.
Динамические визуальные сигналы – это изменение изображения на экране с целью дать пользователю дополнительную информацию. Уже в стандартном оконном интерфейсе мы можем видеть примеры таких сигналов. При выполнении программой длительных действий курсор мыши приобретает форму песочных часов. Это сигнал о том, что на действия пользователя система временно реагировать не будет. Второй пример – изменение изображения кнопки при нажатии на нее мышью. Это – сигнал о том, что система считает и пользователь взаимодействует именно с этой кнопкой.
214
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Однако, решая многие проблемы для пользователя, анимационный интерфейс, как это часто бывает, ставит тяжелые проблемы перед программистом и дизайнером.
Многие программисты еще помнят о трудностях перехода
к созданию программ, управляемых событиями, как того требует
оконная среда. Для использования анимационного интерфейса
придется переходить к программам, управляемым временем. Вне
зависимости от активности пользователя программа, построенная
на анимационном интерфейсе, всегда находится в действии
(например, меняет фазу мигания). При этом, естественно, она
должна постоянно быть доступной для взаимодействия, но не пр ерывать отображаемый поток, а плавно изменять его в соответствии
с воздействием пользователя.
21.2. Основные принципы организации графического
интерфейса пользователя
Если говорить о самых общих принципах проектирования пользовательских интерфейсов, то можно выделить три основные положения:
1. Программа должна помогать выполнить задачу, а не становиться этой задачей.
2. При работе с программой пользователь не должен ощущать
себя беспомощным и неспособным понять принцип ее функционирования.
3. Программа должна работать так, чтобы пользователь не считал компьютер неспособным выполнить поставленную задачу.
Первый принцип – это прозрачность интерфейса. Интерфейс
должен быть легким для освоения и не создавать перед пользователем
преграду, которую он должен будет преодолеть, чтобы приступить к
работе.
Второй принцип часто нарушают те авторы программ, которые
слишком недооценивают умственные способности пользователей. Это
обусловлено разными причинами.
Во-первых, традиционным, слегка высокомерным отношением
программистов к простым пользователям. Это еще можно было понять в восьмидесятых и начале девяностых годов XX века, когда
обычные персональные компьютеры не имели доступных широкой
аудитории программных и аппаратных средств для построения привлекательных графических интерфейсов и работы с ними. Самой распространенной операционной системой в то время была MS DOS, основанная на интерфейсе командной строки. Поэтому эффективно работать с персональным компьютером могли люди только с довольно
серьезной подготовкой. Сегодня же такой пренебрежительный взгляд
215
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
на пользователя явно неуместен. Работа с персональным компьютером предполагает относительно небольшую начальную подготовку
пользователя: интерфейсы компьютерных программ, в первую очередь операционной системы Windows, являющейся законодателем мод
в индустрии массового программного обеспечения, становятся все
проще и доступнее для понимания людей.
Вторая причина слишком большой недоверчивости программистов к познаниям и квалификации пользователей – чрезмерное
увлечение построением так называемой «защиты от дурака». Дело в
том, что классические учебные курсы по программированию учат, что
большинство ошибок в работе программы вызываются не дефектами
исходного кода или программного окружения, а действиями пользователя – например, вводом данных неправильного формата (допустим,
текста вместо цифр). Поэтому программист при разработке приложения должен написать функции по проверке результатов как можно
большего числа действий пользователя и предусмотреть максимальное количество вариантов развития событий. Это совершенно правильный подход, но многие программисты настолько усложняют «защиту от дурака», делают ее такой громоздкой, что пользователь при
работе с программой ставится в очень жесткие рамки. Происходит довольно обычная вещь: то, что задумывалось как решение проблемы,
само начинает создавать проблемы.
И, наконец, третья причина во многом обусловлена поведением самих пользователей. Часто при возникновении малейших затруднений при работе с программой пользователь тут же обращается
в службу технической поддержки, даже не взглянув на справочную
систему продукта, секцию «Ответы на частые вопросы» на Web-сайте
программы или даже просто чуть-чуть не подумав. Отчасти тут вина
самих авторов программ. Как говорят опытные разработчики пользовательских интерфейсов: «Если уже на этапе знакомства с программой пользователь вынужден обращаться к справочной системе, над
интерфейсом нужно серьезно работать».
Поэтому, чтобы соблюсти второй из общих принципов построения интерфейсов и не давать пользователю чувствовать себя неловко,
не нужно давать разрабатываемой программе слишком большие полномочия, навязывая определенный стиль работы.
Один из примеров такого неправильного отношения к пользователю является отказ программы выполнить вполне естественную
с точки зрения пользователя программных продуктов такого рода
операцию и вывод диалогового окна, требующего выполнить какуюто другую последовательность действий.
Среди разработчиков программного обеспечения хорошим тоном считается предоставление пользователю возможности отключить
216
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
вывод информационных сообщений. Это позволяет сохранить легкость освоения продукта для начинающих пользователей и одновременно с этим добиться, чтобы информационные сообщения не вызывали у опытных пользователей раздражения.
И, наконец, третий принцип – «Программа должна работать
так, чтобы пользователь не считал компьютер неспособным выполнить поставленную задачу».
Несмотря на стремительное развитие информационных технологий многие компьютерные программы все еще имеют примитивный
искусственный интеллект. Они прерывают работу пользователя ненужными вопросами и выводят на экран бессмысленные сообщения,
повергая его в недоумение в самых простых ситуациях.
Примеров таких неудачных решений в области интерфейсов
существует очень много, например утилита преобразования текстовых
файлов, включенная в Microsoft Word, способна распознать формат
открываемого файла. Но, тем не менее, она просит пользователя подтвердить, что структура файла была определена правильно. Во многих
случаях (например, когда человек открывает файл, созданный не им,
или просто при недостатке знаний) он не может указать, каков формат
файла на самом деле. Но, т.к. его все-таки просят сделать выбор, он
начинает колебаться, выбирать из списка другие форматы, что приводит к некорректным результатам.
Нужно заметить, что, как и в любой другой науке, принципы
построения интерфейсов компьютерных программ тесно взаимосвязаны. Нарушение одного правила почти наверняка повлечет нарушение
и другого. Например, если при работе пользователя с программой на
экране появилось сообщение, заставляющее усомниться в том, что
компьютер может справиться со своими функциями (третий принцип),
то о соблюдении первого принципа (прозрачность интерфейса) говорить тоже не приходится, т.к. вместо того, чтобы продолжить работу,
человек вынужден теряться в догадках: «Что бы это значило?»
21.3. Методика построения графического интерфейса
пользователя
(ГИП).
Принципы построения графического интерфейса пользователя
Золотое сечение. Золотое сечение – это самая комфортная для
глаза пропорция и форма, способствующая наилучшему зрительному
восприятию и появлению ощущения красоты и гармонии.
В математике пропорцией называют равенство двух отношений: a : b=с : d.
217
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Отрезок прямой АВ можно разделить точкой С на две части
следующими способами:
на две равные части АВ : АС = АВ : ВС,
на две неравные части в любом отношении (такие части пропорции не образуют);
таким образом, когда АВ: ВС = ВС: АС.
Последнее и есть золотое деление или деление отрезка в крайнем и среднем отношении.
Золотое сечение – это такое пропорциональное деление отрезка
на неравные части, при котором весь отрезок так относится к большей
части, как самая большая часть относится к меньшей: а : b = b : с или с
: b = b : а.
Отношение же отрезков а и b составляет 1,618…...
Прямоугольник с таким отношением сторон стали называть золотым прямоугольником. Он также обладает интересными свойствами. Если от него отрезать квадрат, то останется вновь золотой прямоугольник. Этот процесс можно продолжать до бесконечности. А если
провести диагональ первого и второго прямоугольника, то точка их
пересечения будет принадлежать всем получаемым золотым прямоугольникам.
Золотое сечение не является искусственным явлением. Оно
очень широко распространено в природе: золотое сечение можно
найти в пропорциях тел многих растений и животных, а также морских раковин и птичьих яиц. Но наиболее впечатляющий пример
«применения» природой принципа золотого сечения – человеческое
тело. Оно целиком и его части (лицо, руки, кисти рук и т. п.) насквозь
пронизаны пропорцией 1,618.
С развитием дизайна и технической эстетики действие закона
золотого сечения распространилось на конструирование машин, мебели и т.д. Проектирование компьютерных интерфейсов – не исключение. Формы диалоговых окон и элементов управления, стороны которых относятся как 1,618, очень привлекательны для пользователей.
«Кошелек Миллера». Этот принцип назван так в честь ученого-психолога Г. Миллера, который исследовал кратковременную память, проверяя выводы, сделанные ранее его коллегой, Г. Эббингаузом. Эббингауз пытался выяснить, сколько информации может запомнить человек без каких-либо специальных мнемонических приемов.
Оказалось, что емкость памяти ограничена семью цифрами, семью
буквами или названиями семи предметов. Это «магическое число»
семь, служащее своего рода меркой памяти, и было проверено Миллером, который показал, что память действительно в среднем не может
хранить более семи элементов.
218
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Если необходимо в течение короткого времени сохранить информацию, включающую больше семи элементов, мозг почти бессознательно группирует эту информацию таким образом, чтобы число
запоминаемых элементов не превышало предельно допустимого.
Применяя принцип «кошелька Миллера» в дизайне интерфейсов, следует группировать элементы в программе (кнопки на панелях
инструментов, пункты меню, закладки, опции на этих закладках
и т. п.) с учетом этого правила – т. е. не более семи в группе, в крайнем случае – девяти.
Принцип группировки. Согласно этому правилу, экран программы должен быть разбит на ясно очерченные блоки элементов,
может быть, даже с заголовком для каждого блока. При этом группировка, естественно, должна быть осмысленной: как расположение
элементов в группах, так и расположение самих групп друг от друга
должны быть продуманы.
Примеров реализации этого принципа очень много: это пункты
меню, кнопочные панели инструментов, а также сгруппированные по
назначению флажки и переключатели, с помощью которых настраиваются параметры работы программы в диалоговых.
«Бритва Оккама», или KISS. Философский принцип, носящий название «бритва Оккама», гласит: «Не множить сущности без
надобности». Или, как говорят американцы, KISS («Keep It Simple,
Stupid» – «He усложняй, болван»).
На языке интерфейсов это означает, что:
 любая задача должна решаться минимальным числом действий;
 логика этих действий должна быть очевидной для пользователя;
 движения курсора и даже глаз пользователя должны быть
оптимизированы.
Простым на первый взгляд требованиям из этого списка на самом деле не так уж легко следовать. Для проектирования сложного по
своим функциям и простого для понимания интерфейса требуется немалые опыт, знания и особое чутье. Как пишет Лу Гринзоу: «Если и
есть в мире что-то такое, что почти все программисты постоянно повторяют наизусть, как мантры, но при этом откровенно игнорируют,
так это – принцип KISS».
Принцип KISS перекликается с несколькими из эвристических
правил Якоба Нильсена – «Эстетичный и минималистический дизайн», «Равенство между системой и реальным миром», «Понимание
лучше, чем запоминание», рассмотренными далее в этой главе. KISS
более универсален и применяется практически во всех сферах человеческой деятельности, в том числе и в программировании.
219
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Видимость отражает полезность. Смысл этого принципа состоит в том, чтобы вынести самую важную информацию и элементы
управления на первый план и сделать их легкодоступными пользователю, а менее важную – переместить, например, в меню.
Таким образом интерфейс программы должен быть построен
вокруг объектов, с которыми манипулирует пользователь, и отражать
состояние текущего объекта. Реализацию этого принципа вы видите
каждый раз, когда пользуетесь компьютером: контекстные панели инструментов в программах пакета Microsoft Office, которые меняются в
зависимости от того, с какой частью программы (редактором, предварительным просмотром, рисованием и т. п.) в данный момент работает
пользователь.
Умное заимствование. Заимствование широко распространенных приемов дизайна интерфейсов и удачных находок авторов конкурирующих программ позволяет резко сократить время обучения
и
повысить комфорт пользователя. При работе он будет использовать
уже приобретенные навыки – этот вопрос затрагивает и принцип равенства между системой и реальным миром.
Заимствование чужих интерфейсных находок не является чемто зазорным. Программы, лидирующие на рынке, являются неистощимым источником вдохновения для разработчиков более мелких
программ, поразительно напоминающих легендарный Norton Commander, FAR, Volcov Commander, DOS Navigator.
Эвристические правила Якоба Нильсена. Три основных
принципа проектирования интерфейсов компьютерных программ,
о которых было рассказано в предыдущем разделе, являются, безусловно, чрезвычайно полезными и эффективными, все же они представляют собой довольно общие правила. Далеко не каждый, а уж тем
более начинающий разработчик интерфейсов, сможет качественно
выполнить свою задачу, руководствуясь только ими. Требуются более
конкретизированные правила, которые давали бы развернутую картину стратегии построения интерфейсов.
Одними из самых цитируемых в книгах по человеко-машинному
интерфейсу являются десять так называемых эвристических правил известнейшего американского специалиста в области проектирования интерфейсов Якоба Нильсена, разработанных им совместно с другим исследователем, Рольфом Моличем. Это десять главных заповедей любого
разработчика компьютерных интерфейсов, т. е. минимальные критерии,
которым должен отвечать интерфейс любой программы [156].
220
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Видимость состояния системы (правило обратной связи).
Система (в данном случае – компьютерная программа) должна всегда
информировать пользователя о состоянии своей работы с помощью
соответствующих средств, в разумное время.
Информированность пользователя. Пользователь всегда
должен иметь информацию о текущем статусе работы программы –
например, сколько времени прошло от начала процесса копирования
файлов, когда будет завершено кодирование звуковой дорожки CDдиска в МРЗ-файл и т. п. Кроме этого, пользователь обязательно должен видеть, к чему привело любое его действие: ввод данных, нажатие кнопки и т. п.
Средства обеспечения обратной связи. Выбор конкретного
средства обратной связи зависит от типа информации, которую нужно
донести до пользователя, а также типа действия, которое вызывает
потребность в обратной связи.
Информация при рассмотрении данного вопроса делится на
типы в зависимости от ее назначения и степени важности. Например,
сообщения о критических ошибках, приводящих к невозможности
продолжения работы, обычно выводятся в отдельном диалоговом
окне. При этом работа приложения останавливается до тех пор, пока
пользователь не закроет окно с информацией об ошибке (так называемое модальное окно), а сообщения о незначительных ошибках – в
статусной строке окна приложения без остановки его работы. Характерен пример браузера Microsoft Explorer: если открыть запрашиваемую Web-страницу в данный момент невозможно (например, отсутствует соединение с Интернетом), то на экране появляется модальное
окно с сообщением о критической ошибке. Если же страница была
успешно загружена, но при этом возникли незначительные ошибки, то
соответствующее сообщение отображается в строке состояния программы.
Часто реакция на одно и то же действие различается именно
в зависимости от того, кем это действие произведено. Пример – функция автоматической загрузки своих новых версий по Интернету, имеющаяся во многих программах. Если пользователь самостоятельно
отдает команду проверить наличие обновлений, то обычно после этого пользователю демонстрируется диалоговое окно, где отображаются
результаты проверки – вне зависимости от того, были результаты проверки отрицательными или положительными. Если же такая проверка
выполняется автоматически (например, при каждом запуске программы), то обычно пользователю сообщается информация, что обнаружена новая версия продукта. Сообщения о том, что новая версия пр о-
221
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
граммы не найдена, или сообщения об ошибках обычно не выводятся,
чтобы не отвлекать пользователя от работы и не раздражать его.
Помимо текстовых сообщений, выводящихся в окне программы, для организации обратной связи могут быть использованы и др угие средства. Самое популярное из них – звук. Важно помнить, что
звуковое оповещение не должно быть основным средством организации обратной связи. Звук должен лишь дополнять текстовые сообщения. Иначе пользователь может пропустить сообщение – ведь на компьютере может отсутствовать звуковая карта или звук может быть отключен. Таким образом, исчезнет единственное средство организации
обратной связи, и работа с программой станет очень неудобной или
вообще невозможной.
Среди других средств организации обратной связи можно упомянуть запись сообщений в log-файл, отправку сообщений по e-mail.
Естественно, они применяются в качестве дополнительных способов
оповещения – например, для сбора статистики или доступа удаленных
пользователей, подключающихся к системе по каналам связи.
Время оповещения. Промежуток времени, в который пользователь получает информацию о реакции на его действие или о событии, должен быть минимальным. Это особенно важно, т.к. наличие
или отсутствие у пользователя информации о текущем состоянии системы определяет его дальнейшие действия. Если он не будет знать,
что последняя операция была завершена неудачно, то последующие
действия могут вызвать новые ошибки.
Равенство между системой и реальным миром. Система
должна разговаривать с пользователем на его языке. Имеется в виду
не язык его страны, хотя это тоже имеет значение. В данном случае
подразумевается использование понятий, образов и целых концепций,
которые уже знакомы пользователю по реальному миру, к которым он
привык. Представление информации и объектов в программе должно
быть организовано в естественном и логичном порядке.
Ни в коем случае нельзя использовать специализированные термины. Многие авторы даже при разработке приложений, ориентированных на широкую аудиторию, применяют понятия, которые годятся
только для профессиональных справочников по программированию.
Однако такое заимствование идей из окружающего мира нужно производить очень осторожно. Дело в том, что программы, которые уже знакомы пользователю – тоже часть его мира, часть его знаний, навыков и привычек. Поэтому некоторые детали компьютерных
интерфейсов являются для пользователей более привычными, чем
объекты реального мира – это особенно касается элементов интерфей-
222
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
са, реализующих функции, не имеющие прямых аналогов в реальном
мире. В качестве примера можно привести известный мультимедийный проигрыватель WinAmp. Для управления воспроизведением музыкальных композиций программа использует кнопки Play, Stop,
Pause и др., очень напоминающие аналогичные по назначению кнопки
на проигрывателях, стоящих в наших квартирах. Но вот кнопка, расположенная справа от них, которая на «настоящем» аппарате открывает лоток CD-плейера, в WinAmp, вопреки ожиданиям, не открывает
лоток CD-ROM-дисковода, а вызывает окно «Открыть файл». Это несколько сбивает с толку, т.к. в очень многих аналогичных компьютерных программах такая кнопка как раз служит для открытия/закрытия
лотка дисковода CD-ROM.
Поэтому интерфейсы, которые полностью, т. е. без всяких исключений, копируют объекты реального мира, почти всегда в результате получаются не очень удобными.
Свобода действий пользователя. Пользователь должен иметь
контроль над системой и возможность изменить текущее состояние
программы. Очень часто пользователь дает различные команды по
ошибке (например, случайно нажав не ту кнопку или «промахнувшись» мышью мимо нужного пункта меню), и у него должен быть
«аварийный выход» из этой ситуации, четко обозначенный в программе. Чаще всего такой «выход» реализуется в виде кнопки Cancel
(Отмена), расположенной в диалоговом окне и позволяющей прекратить выполнение текущей операции или закрыть это диалоговое окно.
Кроме этого, нажатие на клавиатуре клавиши <Escape> является традиционным и поэтому привычным для большинства пользователей
средством «аварийного выхода».
Хорошим тоном считается, если позволяет текущая ситуация,
сочетать оба эти способа – кнопку Cancel (Отмена) и клавишу
<Escape>: современные системы разработки приложений для Windows
при проектировании форм диалоговых окон позволяют назначить
кнопке свойство срабатывания по нажатию клавиши <Escape>. Как
следствие, для пользователя привычным действием при попадании
в ситуацию, из которой ему поскорее хочется выбраться, является
именно нажатие клавиши <Escape>. Что может быть проще: не нужно
искать глазами кнопку Cancel (Отмена), достаточно ударить по клавише в верхнем левом углу клавиатуры – и готово.
Еще одно, причем немаловажное, средство выхода из ошибочной ситуации– функции Undo (Отменить) и Redo (Повторить). Они
являются настолько удобными и поддерживаются таким большим количеством программ, что пользователи уже привыкли к ним и подсознательно ожидают, что любое произведенное действие можно отме-
223
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
нить, вернувшись к предыдущему состоянию. Все это просто обязывает разработчика качественного интерфейса компьютерной программы поддерживать функции Undo и Redo. Если же по каким-либо причинам действие, на выполнение которого дал команду пользователь,
нельзя будет отменить, то на экран должно будет выведено соответствующее предупреждение, а также просьба подтвердить выполнение
команды.
Последовательность и стандарты. Принцип последовательности означает использование одних и тех же средств для выражения
схожих образов и выполнения действий, имеющих одинаковую природу. Принцип последовательности при разработке интерфейсов должен соблюдаться буквально во всем.
Во-первых, последовательность при выборе средств оповещения
о событиях и действиях. Например, информация о текущем статусе программы, как уже говорилось при рассмотрении принципа «Видимость
состояния системы», обычно выводится в статусную строку
в нижней части экрана, а сообщения с результатами запросов пользователя – в
отдельном диалоговом окне. Сообщения о критических ошибках при
этом должны сильно отличаться от обычных информационных сообщений: например, они могут сопровождаться резким звуком.
Во-вторых, последовательность при оформлении элементов
интерфейса. Если дизайн форм вашей программы характеризуется
строгой цветовой гаммой, прямыми линиями и углами, то очень
странным выглядело бы решение придать одному из окон программы
овальную форму и раскрасить его яркими цветами.
В-третьих, последовательность при выборе терминов. Пользователей не должно сбивать с толку то, что три разных понятия, используемых в вашей программе, на самом деле означают одно и то же.
И дело даже не в том, чтобы подобрать наиболее точное определение
какому-либо термину. Главное – решить для себя, что для обозначения какого-то конкретного действия или события вы будете применять один конкретный термин, при этом будете использовать его четко определенным способом.
Принцип последовательности – одно из важнейших правил
проектирования пользовательских интерфейсов. Последовательный
интерфейс интуитивно понятен и очень легок для освоения, т.к. при
его изучении пользователь не сталкивается с сюрпризами, и даже те
части интерфейса, которые он видит впервые, кажутся ему давно знакомыми. Если же в одних и тех же ситуациях программа реагирует поразному, элементы управления в формах имеют различную компоновку, а текстовые сообщения удивляют все новыми и новыми термина-
224
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ми, то вся программа станет для пользователя одним сплошным сюрпризом.
Предупреждение ошибок. Применительно к теме проектирования интерфейсов компьютерных программ принцип предупреждения
ошибок означает следующее: «Дизайн, который предупреждает возникновение проблем, лучше, чем самое хорошее сообщение об ошибке».
Интерфейс, предупреждающий возникновение ошибок и связанных с ними проблем, образно называют «услужливым». Программа как бы заботится о пользователе, будучи всегда готовой предложить пользователю помощь, дать подсказку.
Кроме того, уменьшение вероятности возникновения ошибок
пользователя при работе с программой достигается тщательной проработкой всех элементов интерфейса и его концепции в целом в соответствии с правилами проектирования интерфейсов. Интуитивно понятный, легкий для освоения интерфейс у большинства пользователей
не вызывает никаких затруднений.
Понимание лучше, чем запоминание. При разработке интерфейса нужно делать все объекты, функции, действия видимыми
и
легко доступными пользователю. Минимизируйте запоминание –
пользователь не должен постоянно стараться удержать в памяти информацию из одной части программы, чтобы применить ее в другой.
В любой момент пользователю должно быть ясно, что нужно делать
в данный момент. В хорошем интерфейсе инструкции по использованию системы всегда видимы или легко доступны для вызова в любое
время, когда это требуется. Это может быть реализовано как в виде
продуманной организации элементов интерфейса, так и непосредственно в виде подсказок пользователю.
Это правило отражает принцип прозрачного интерфейса – интерфейса, который понятен и не заставляет пользователя вспоминать,
какую же кнопку нужно нажать или какой пункт меню выбрать
в данный момент.
Гибкость и эффективность использования. Правило вполне
закономерное, ведь программа в первую очередь должна решать задачу, над которой работает пользователь. Однако при проектировании
интерфейса перед разработчиком часто встает такая проблема: требуется, чтобы интерфейс был одинаково удобен и для новичков, и для
опытных пользователей. Если сделать простой интерфейс с минимумом опций, который будет легок для освоения новичками, то более
опытные пользователи не смогут работать с программой достаточно
эффективно, чтобы удовлетворять свои потребности.
225
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Для решения этой проблемы прибегают к простому приему:
функции, которые ускоряют работу, оформлены так, что они не видны
начинающим, но легко доступны продвинутым пользователям. Самый
простой пример – это «горячие клавиши», с помощью которых можно
быстро вызвать часто выполняющиеся функции программы, в частности открытие и сохранение файлов. Обозначения «горячих клавиш»
пишутся рядом с соответствующими пунктами меню, поэтому они, с
одной стороны, не мешают новичкам (они могут воспользоваться
мышью для выбора пункта меню или щелчка по кнопке на панели инструментов), а, с другой стороны, легко доступны опытным пользователям.
Эстетичный и минималистический дизайн. Если выразиться
проще, то это правило означает: «Ничего лишнего». Не нужно загромождать интерфейс программы элементами, которые в данном случае
являются неуместными и малополезными. Дело в том, что каждый
элемент, будь то кнопка или текстовая подпись, обязательно отвлекает
часть внимания пользователя. Это может привести к тому, что видимость и, соответственно, легкость восприятия пользователем действительно нужных и полезных частей интерфейса будет сильно уменьшена за счет элементов, без которых в данном случае можно было бы
вполне обойтись.
Распознавание и исправление ошибок. «Помогайте пользователю распознавать и исправлять ошибки», – говорит Якоб Нильсен.
Это правило определяет проектирование сообщений об ошибках. Хорошие сообщения об ошибках – это сообщения, которые объясняют, в
чем состоит проблема и, самое главное, как ее исправить.
Описание ошибки. Оно должно быть четким, ясным и понятным, давать пользователю всю необходимую информацию о причинах
и месте возникновения ошибки. Многие разработчики программ опасаются делать сообщения об ошибках очень информативными, чтобы
не «пугать» начинающих пользователей техническими подробностями. Однако в этом случае нарушается описанный принцип гибкости и
эффективности использования: опытные пользователи, получив
слишком краткое сообщение об ошибке, не могут выяснить ее причину. А программа, в которой появляются какие-то непонятные ошибки,
в конце концов начинает производить впечатление некачественной
подделки.
Самое простое решение – создать в справочной системе программы соответствующий раздел, разъясняющий содержание проблемы и причины ее возникновения. В самом же диалоговом окне
с
226
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
сообщением об ошибке может присутствовать кнопка Справка для
вызова этого раздела.
Еще один пример решения, причем более изящного, данной
проблемы является кнопка Подробнее, при нажатии на которую диалоговое окно с сообщением об ошибке «распахивается», отображая
более подробную информацию о причине возникновения сбоя.
Описание решения проблемы. Как уже упоминалось, информация о том, как исправить ошибку или решить проблему, имеет даже
большее значение, чем собственно описание ошибки или проблемы.
Ведь подсказка, помогающая решить проблему, способствует реализации одного из принципов построения пользовательского интерфейса
– программа должна помогать выполнить задачу, а не становиться
этой задачей.
Большинство разработчиков программ размещают описание
решения проблемы в разделе справочной системы, посвященном соответствующей ошибке. Однако лучше всего включить эту информацию прямо в диалоговое окно сообщения об ошибке. Дело в том, что
не все пользователи догадываются нажать спасительную кнопку
Справка, хотя это было бы вполне естественным кодом.
При описании пути решения проблемы, как и при написании
любой документации, нужно избегать составления слишком объемных текстов, т. к. пользователи будут просто пробегать их глазами, не
вникая в смысл написанного, подобно тому, как человек, просматривающий газету, сначала останавливает взгляд на коротких заметках,
пропуская большие материалы. Лучше всего составить что-то наподобие пошаговой инструкции, каждый шаг из которой составляет однодва предложения.
Справка и документация. Принцип о необходимости предоставления справочной системы и документации к программе, идущий
в списке Якоба Нильсена последним, не становится от этого менее
важным.
21.4. Средства построения графического интерфейса
пользователя
Классификация инструментария для создания и управления
пользовательским интерфейсом рассматривается на трех уровнях:
1. Системы управления окнами (WMS – Window Manager
System);
2. Специализированный инструментарий:
обычный (MacIntosh, SunView, и др.) ;
227
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
объектно-ориентированный (Smalltalk-80, Andrew, InterView и др.);
3. Системы управления пользовательским интерфейсом.
Системы управления окнами (WMS). Многооконная технология обеспечивает пользователя доступом к большему объему информации, чем это возможно при работе с одним экраном. Окна дают
доступ ко множеству источников информации. Пользователь может
объединять информацию от нескольких источников, исследовать информацию на разных уровнях детализации. В мультипрограммном
режиме есть возможность управлять несколькими параллельными задачами. Вход и выход каждой задачи отображается в разных окнах,
позволяя пользователю сосредоточиться по необходимости на каждой
задаче.
WMS – операционная среда связанных с окнами ресурсов
управления – осуществляет поддержку:
 перекрывающихся окон (прямоугольных областей экрана);
 различных устройств ввода (цифровых и аналоговых);
 курсоров;
 шрифтов.
Интерфейс со стороны оператора и прикладной программы содержит команды заведения/уничтожения окон, изменения их размеров
и положения, поднятие наверх, сжатия окна до пиктограммы
и
восстановления. Содержит графическую библиотеку вывода (только
основные примитивы) и обработчик событий. Тем самым есть некие
механизмы для реализации пользовательского интерфейса.
Возможны реализации WMS двух типов: базовая система
(Kernel System), работающая на одной машине, и сетевая (Network
oriented), реализуемая на основе модели «клиент – сервер».
По Майерсу, «инструментарий создания пользовательского интерфейса есть библиотека технологических интерактивных средств,
дающих возможность использовать физические устройства ввода
(мышь, клавиатура, планшет и др.) для ввода значений (таких как команда, число, положение или имя) при наличии обратной связи, отображаемой на экране» [157]. Программист использует этот инструментарий для организации взаимодействия с человеком. Инструментарий
содержит набор функций, реализующий компоненты интерфейса
нижнего уровня такие как: меню, кнопки, зоны диалога, подокна, зоны прокрутки. Инструментарий включает также графическую библиотеку вывода (только основные примитивы) и обработчик событий.
Развитие инструментария привело к появлению понятия Widget
(заготовка) – объекта более сложного, чем перечисленный набор простых средств ввода в прикладную программу, хотя и включающий в
себя эти средства. Такой инструментарий не стандартизован, различ-
228
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ные фирмы (Apple, Sun и др.) предлагают существенно разный набор
средств, как по номенклатуре, так и по функциональным возможностям. Например, экранная форма, метка, зона прокрутки, разделитель
и др.
Системы управления интерфейсом пользователя (UIMS).
UIMS (User Interface Management Systems) – это элемент программного
обеспечения, который управляет всеми коммуникациями между пользователем и прикладной программой: прикладная программа не должна
связываться с конечным пользователем напрямую.
Одна из версий определения принадлежит Майерсу: «Система
проектирования интерфейса пользователя есть интегрированный
набор средств, помогающих программисту в создании и управлении
различными интерфейсами пользователя. Эти системы обычно называют системами управления пользовательским интерфейсом (UIMS),
но предпочтительнее называть их системами проектирования (UIDS –
User Interface Development Systems), поскольку UIMS ассоциируется
только с частью системы, работающей во время исполнения программы (но не с частью, используемой во время разработки), или
с системами, включающими явные компоненты управления диалогом.
UIDS обеспечивает как разработку, так и реализацию интерфейса и,
таким образом, покрывает более широкий класс программ».
Основной концепцией UIDS является идея строгого разделения
интерфейса и прикладной программы. В идеале она должна поддерживать все стили диалога и упрощать построение сложных интерфейсов. UIDS должна обеспечивать язык определения интерфейса для
представления требуемого диалога и генератор, который автоматически создает необходимый код из исходного определения в этом языке.
Эти функции во многом похожи на функции компилятора или интерпретатора для обычных языков программирования.
Система включает как составную часть набор инструментов
для обеспечения поддержки создания, отладки, тестирования и апробирования интерактивных человеко-компьютерных систем. UIMS
должна включать обстоятельное множество инструментов дизайнера
интерфейса. UIMS призвана снижать затраты на создание программного обеспечения. Поскольку в ней акцент делается на описании, а не
на кодировании, то UIMS можно описывать как язык четвертого поколения.
Разделение частей пользовательского интерфейса и собственно
приложения и является целью UIMS. Это разделение делает возможным распределение функций прикладного программиста и дизайнера
пользовательского интерфейса между разными людьми. Также долж-
229
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
но быть возможно использовать различные интерфейсы с одним
и
тем же приложением.
Разработчик прикладного программного обеспечения использует UIMS, чтобы определить диалог между пользователем и приложением, который не зависит от приложения. На приложение налагается внешнее управление. Система управляет выводом приложения –
его представлением на устройстве вывода – и поддерживает используемые методы взаимодействия.
Разработчику программного обеспечения должна быть предоставлена возможность создания интерфейсов, совместимых между
разными прикладными программами. Полезным свойством является
гибкость системы в смысле возможности поддержки пользователей
разного уровня подготовки.
Множество требований, предъявляемых к UIMS, и критериев
их оценки строится исходя из основной эталонной модели UIMS (рис.
21.1).
Интерактивные
средства разработки
Прикладной
уровень
Уровень диалога
Файл описаний
Уровень
представления
Инструментальный
уровень
Встроенный
инструментальный
уровень
Базовый уровень
интерфейса
оконной системы
Уровень
кодирования
потока данных
Рис. 21.1. Уровни в системах разработки
пользовательского интерфейса
230
Управление
сигналами
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Эта модель представляет систему в виде двух компонент: инструментария, используемого на стадии разработки диалога и части,
относящейся ко времени исполнения (run-time portion). UIMS обычно
предоставляет способ управлять последовательностью действий конечного пользователя. Структура диалога задается вне прикладной
программы. Это дает возможность разработчику (дизайнеру) диалога
экспериментировать с диалоговой последовательностью без необходимости каждый раз заново компилировать всю прикладную программу.
UIMS могжет и не работать в среде многооконной системы, но
вместо этого она может полностью управлять устройством вывода.
X Window. Система X Window (или просто X), разработанная
в MIT, заслужила широкую популярность, особенно в сообществе
UNIX. В X базовая оконная система предоставляет высокопроизводительную графику в иерархически организованное множество окон изменяемых размеров. Вместо конкретного пользовательского интерфейса X предоставляет набор примитивов, поддерживающих несколько стилей и придерживающихся некоторых идеологий. В отличие от
большинства оконных систем базовая система в X определяется протоколом «клиент – сервер»: асинхронная потоковая (stream-based)
межпроцессная связь замещает традиционный интерфейс, построенный на подпрограммных и системных («ядерных») вызовах, предоставляя возможности использования распределенной графики. Использование X Windows в UIMS резко повышает ее аппаратную
и
программную переносимость.
Графика. Эта область связана с графическими возможностями
UIMS. UIMS может оказаться способной использовать только свой
собственный графический пакет, либо же она может быть достаточно
гибкой, что ее можно настроить на работу с любыми графическими
стандартами. Это может быть очень важно, если приложение уже использует какой-либо графический стандарт, такой, например, как
GKS, или требуется усовершенствовать систему и добавить в нее работу с PHIGS или PHIGS+. Важно знать, какую схему использует
UIMS для задания точки на экране: система координат задает расстояния в пикселях или в физических единицах и т.п.
Многопользовательский диалог. Это метод предоставления
возможности многим пользователям одновременно работать в распределенной вычислительной среде.
Классификация требований к UIMS, обобщения. Можно
выделить три объекта, для каждого из которых ставятся различные
цели при разработке UIDS.
Интерфейс с пользователем:
231
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
согласованность;
поддержка пользователя разного уровня;
обеспечение обработки ошибок и восстановления.
1. Разработчик программного обеспечения:
предоставление абстрактного языка для конструирования интерфейса пользователя;
предоставление согласованных интерфейсов для связанных
прикладных задач;
обеспечение простоты изменения интерфейса на стадии его
проектирования (быстрое создание прототипа);
упрощение разработки повторным использованием программных компонент;
обеспечение простоты изучения и использования прикладных
программ.
2. Конечный пользователь:
согласованность интерфейса по прикладным программам;
многоуровневая поддержка сопровождения или функций помощи;
поддержка процесса обучения;
поддержка расширяемости прикладных программ.
Эти цели определяют следующие функциональные характеристики UIDS/UIMS:
работа с входными устройствами;
проверка допустимости ввода;
обработка ошибок пользователя;
реализация обратной связи;
поддержка обновления/изменения данных прикладной задачи;
поддержка задач развития интерфейса;
синтаксическая поддержка.
Наиболее часто используется модель (в вышеозначенной классификации – третья («смешанная»), введенная на конференции
в
Seeheim (1983), в соответствии с которой UIMS состоит из трех компонент:
1) система представления, обеспечивающая низкоуровневый
ввод и вывод;
2) система управления диалогом, обрабатывающая лексические единицы;
3) получаемые в системе представления, в соответствии с
синтаксисом диалога.
Конкретные реализации моделей основываются на различных
способах спецификации интерфейса, среди которых можно выделить
следующие типы:
232
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
 языковая;
 графическая;
 автогенерация по спецификации прикладной задачи;
 объектно-ориентированный подход.
Каждая из этих спецификаций имеет свои особенности. Для
языковой спецификации применяется специальный язык, чтобы задавать синтаксис интерфейса. Такими языками могут служить:
 сети меню;
 диаграммы состояний и переходов;
 контекстно-свободные грамматики;
 языки событий;
 декларативные языки;
 обычные языки программирования;
 объектно-ориентированные языки.
Этот подход применим к широкому кругу прикладных задач.
Его недостатком является то, что разработчик диалога должен обладать профессиональной подготовкой. Графическая спецификация связана с определением интерфейса с помощью размещения объектов на
экране (визуальное программирование, программирование демонстраций, программирование по примерам).
Третий подход является более прогрессивным. Здесь интерфейс создается автоматически по спецификации семантики прикладных задач. Этим предпринимается попытка преодолеть сложности использования других технологий, однако ввиду сложности адекватного
описания интерфейса трудно ожидать скорого появления систем, реализующих такой подход в полной мере.
Возможные реализации:
 создание интерфейса на основе списка процедур прикладной
программы (Mike);
 создание интерфейса по типам параметров процедур (Control
Panel Interface);
 создание интерфейса на основе определения семантики прикладной задачи, описываемой на специальном языке (IDL).
Четвертый подход связан с принципом, называемом «Direct
Manipulation» (DM). Основное свойство этого подхода состоит в том,
что пользователь взаимодействует с индивидуальными объектами, а
не со всей системой как единым целым.
Во многих отношениях технология непосредственного манипулирования рассматривается как новая генерация методов программирования в области проектирования интерфейса с пользователем.
233
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Пример реализации UIDS/UIMS. Приведем в качестве примера описание системы UIMS XFaceMaker3 фирмы Non Standard
Logics, созданной на базе OSF/Motif и X Window System.
1. Проектирование интерфейса. Пользователь создает интерфейс в интерактивном режиме, используя предопределенные элементы-заготовки (Widgets).
2. Спецификация ресурсов. Реализует простую установку параметров (ресурсов) для заготовок. Многообразие ресурсов заготовок
и их взаимодействия делает задачу установки параметров чрезвычайно сложной. XFM3 везде, где это возможно, предоставляет предопределенную установку соответствующего выбора, в частности, в зонах
диалога.
3. Спецификация поведения интерфейса. Описывается на
С-подобном командном языке (Face). Динамика поведения интерфейса трактуется XFM3 как целостная часть вместе с геометрическим
представлением.
4. Простая связь между интерфейсом и прикладной задачей.
Реализована двумя способами:
1) вызовом функции прикладной задачи из описания;
2) с помощью разделяемых переменных (активных значений),
разделяемые переменные могут быть любого типа.
Таким образом, возможна связь с прикладной задачей через
указатель на заготовку в интерфейсе.
5. Непосредственное и полное тестирование интерфейса и его
поведения (так называемый режим попытки (try mode). В этом режиме
интерпретируется описание, связанное с какими-либо событиями, но
без вызова функций прикладной задачи.
6. Эффективность конечного приложения. Результат проектирования реализуется двумя способами: либо интерпретацией описания, аналогично режиму TRY, либо компиляцией интерфейса вместе
со всеми описаниями в С-код.
Контрольные вопросы
1. В чем заключается необходимость использования ГИП?
2. Каким образом использование метафоры в ГИП влияет на
работу пользователя с программой?
3. Какие основные принципы необходимо соблюдать при проектировании пользовательских интерфейсов?
4. Какие уровни включает в себя основная эталонная модель
UIMS?
234
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ГЛАВА 22. КОМПЬЮТЕРНАЯ ГРАФИКА
И ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ
22.1. Манипулятивные технологии и их отражение
в компьютерной графике
Достижения компьютерной графики нашли широкое распространение в телевидении, коммерческой и политической рекламе, взаимодействии вычислительных сетей и их пользователей, дистанционном обучении, компьютерных играх, лечебной психиатрии, новой, визуально-тренинговой системе обучения, технологии получения новых
знаний (когнитивная графика) и других сферах и видах деятельности
личности, общества и государства. Посредством существующих методов, моделей и средств компьютерной графики осуществляется активное воздействие на личность и общество, информационную среду,
обусловливающие как положительное, так и негативное их поведение
и действия. Это связано с особенностями инструментария компьютерной графики многократно увеличить эффективность восприятия и
воздействия информации на субъекты, что обусловливает не только
положительные эффекты их деятельности, но и создает, даже при полезности информации, определенные угрозы информационной безопасности личности, общества, государства и их информационных,
социотехнических систем. Усиливаются, в частности, воздействия
угроз информационно-психологической безопасности человека, способствующие неадекватному восприятию им окружающего мира и
самого себя, формированию определенных запрограммированных ситуаций, вводу людей в мир иллюзий, стереотипов, имиджей, принятию решения.
Восприятие – первый момент встречи человека и мира, в котором закладываются основы будущих познавательных стратегий и интеллектуальной интуиции [158].
В восприятии мир предстает нам в своей непосредственной
данности, поскольку природа восприятия принципиально многозначна
в силу того, что сам процесс происходит вне языковой, математической или логической символики и дальнейшие операции этого процесса связаны с мышлением, анализом, рассуждением.
В современном мире наблюдается усиление визуальных коммуникаций, текстуальное восприятие смысла уступает место визуально активному его пониманию посредством:
компьютерной графики;
гипертекстовых электронных пособий;
визуальных моделей, в том числе молекул, карты мозга.
235
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Широкое использование указанных инструментов, а также
факт того, что ряд научных результатов невозможно выразить в вербальной форме, подтверждает и обусловливает необходимость разработки новых методологий моделирования визуального восприятия.
Таким образом, актуальность содержательного обновления восприятия, как специфической формы когнитивно-информационного процесса, обусловлена:
необходимостью взаимодействия человека с миром;
необходимостью моделирования динамики восприятия визуальных образов с целью выявления механизмов усвоения визуальной
информации;
противоречивостью подходов к исследованию визуального
восприятия в гуманитарных и естественных науках;
необходимостью философского осмысления формирования
постнеклассической науки и ее рациональности в связи с проблемой
восприятия визуальной информации.
В сложных системах, в том числе и критических, таких как системы вооружения, космические объекты, вредные и опасные производства, информационные телекоммуникационные системы и другие,
в которых результаты обработки информации и управляющие воздействия непосредственно определяют работоспособность и качество
функционирования и управления в чрезвычайных ситуациях, их безопасность, не исключены и происходят аварии и катастрофы вследствие недостаточной эффективности существующих систем безопасности, в том числе программных средств, использующих графические
образы для оперативного принятия решения соответствующим лицом,
оператором.
Это происходит потому, что часто в требованиях технических
заданий, реализованных проектах сложных систем, связанных с безопасностью, недостаточно внимания уделяется вопросам обеспечения
безопасности, к которым можно отнести и недостаточную формализацию понятия и метрики безопасности программного продукта
и
выдаваемой информации с точки зрения дизайна графического интерфейса, реализуемого посредством компьютерной графики.
Непрерывно возрастающая сложность и вследствие этого уязвимость систем от случайных и предумышленных негативных воздействий выдвинули ряд рассматриваемых далее проблем, связанных с
безопасностью систем, в разряд важнейших – стратегических, определяющих принципиальную возможность и эффективность их применения. При этом выделяют области анализа и обеспечения информационной безопасности, связанные, в основном, с защитой от предумышленных, негативных воздействий на информационные ресурсы систем.
Компьютерная графика, как достаточно эффективный инструмент представления графических образов, обусловливающий каче-
236
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ственное восприятие информации человеком, имеет и тенденции негативного проявления. Результаты восприятия компьютерной графики
обрабатываются сознанием человека, обладающего определенным
психическим состоянием, являющимся существом воспринимающим,
представляющим и воображающим. Психологи давно уже пришли к
выводу [174], что поведение человека в какой-либо ситуации зависит
от того, как эта ситуация им воспринимается, как «срабатывает» на
нее воображение, в образах которого закодирована та или иная система ценностей. При этом психологи различают три значения термина
воображения:
1) воображение – как источник создания материальных или духовных ценностей;
2) воображение – как эталонная система для оценки чего-либо
(система ценностей в образах);
3) воображение – как источник воссоздания в уме зрительного
образа, который в данный момент не воспринимается органами чувств
(синтез новых образов).
Интерактивные компьютерные графические технологии являются порождающими знание информационными технологиями. Они
наталкивают пользователя на формулировку гипотез о проблеме и ее
решении путем создания и анализа динамики зрительных образов на
выводном устройстве ЭВМ. Это не технологии использования уже готового знания. Они требуют иных подходов к осмыслению феномена
информации, информационных систем, процессов и технологий и делают во многом невозможным применение старого методологического багажа, наработанного в области информатики [166].
Среди множества проблем, появляющихся в информатике в
связи с необходимостью изучения компьютерной графики, назовем
две наиболее важные.
Первая проблема связана с необходимостью отказа от понимания информации только как сообщения некоторых сведений кем-то
знающим, кому-то незнающему. Информация может появляться
и
в результате неосознанных действий, от незнания [164]. Такое очевидное утверждение особенно актуально, поскольку графическое
изображение, как источник информации, еще представляет мало изученное явление. Так, например, нет ясности в ответах на следующие
вопросы:
«Может ли быть представлена в виде сообщения фасцинальная
информация?»
«Как формировать сообщения об информации, заложенной
в графическом изображении?»
«Как измерять информацию, заложенную в графическое изображение?»
237
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
«Как оценивать качество информации, заложенной в графическое изображение?»
Вторая проблема связана с ответами на поставленные вопросы и сводится к проблеме определения меры оценки информативности графического изображения. В рамках этой проблемы становится
практически непригодным использование математических основ шенноновской теории передачи информации, представляющей по сути
математическую теорию передачи сигналов.
Кроме этого, можно говорить также и о сложности использования этой теории для решения задач обеспечения коммуникации (но
не связи в классическом ее понимании) с использованием графических изображений. В отличие от задачи связи, как обеспечения соединения абонентов каналом, способным пропускать через себя информацию, проблема коммуникации сводится больше к проблеме понимания, в том числе и при использовании графического изображения
для этого.
В когнитивном отношении, являясь составной частью процесса
принятия решения, технологии компьютерной графики должны обеспечить адекватное, неискаженное восприятие задачи в ходе восприятия, получение адекватного решения в ходе преобразования, неискаженную и правильно воспринимаемую графическую визуализацию
решения. Это требует новых решений задач в области информационной безопасности, задач, связанных с защитой от информации, передаваемой с помощью образных представлений.
В иллюстративном аспекте также требуется решение задач, отличных от традиционных задач проведения вычислений, организации
банков данных и работы с ними, информационного поиска, цифровой
обработки информации с помощью вычислительной техники.
Изображение является по сути многоканальным, многоязыковым средством информирования потребителя, а потому и более продуктивным и информационно емким, чем простая одноканальная последовательность знаков алфавита. Каждый отдельный участок статического изображения представляет собой отдельный символ, при этом
каждый алгоритм прочтения этих символов дает свое предложение
(описание) изображения, написанное каждый раз на своем языке.
При рассмотрении графических изображений как знаков, в динамическом изображении мы можем выделить язык образов. Изменяя
алгоритм подачи этих знаков-образов, а также изменяя состав знаковобразов (изменяя алфавит языка образов), мы можем «говорить»
с
пользователем на своем языке, языке образов, закладывая туда свой
контекстный смысл.
Сокрытие смысла в изображении, выявление его и оценка степени влияния на сознание пользователя этого смысла, а также защита
238
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
пользователя от влияния скрытого смысла – одно из направлений
обеспечения информационной безопасности. Это новая интерпретация идей так называемой стеганографии, при которой двойной смысл
закладывался при формировании обычных текстов, описанных различными авторами, в том числе и в известном научном трактате
Френсиса Бэкона «О развитии и преумножении наук».
Использование при передаче информации методов, формирующих сознание, полностью опираются на манипулирование сознанием. Степень успешности манипуляций в значительной мере зависит
от:
широты арсенала используемых манипулятором средств психологического воздействия;
гибкости использования манипулятором средств психологического воздействия.
Манипуляции (лат. manus – рука; manipulus – пригоршня,
горсть; manus и ple – наполнять) – обращение с объектами с определенными намерениями, целями.
Например, ручное управление, освидетельствование пациента
врачом с помощью рук и другое. Имеется в виду, что для таких действий требуется ловкость и сноровка. В технике те приспособления
для управления механизмами, которые как бы являются продолжением рук (рычаги, рукоятки), называются манипуляторами. А тот, кто
работал с радиоактивными материалами, знаком с манипуляторами,
которые просто имитируют человеческую руку.
С учетом такого содержания сформировалось современное переносное значение слова «манипулирование»:
ловкое обращение с людьми, как с объектами, вещами;
акт влияния на людей или управления ими с ловкостью, особенно с пренебрежительным подтекстом, как скрытое управление или
обработка;
вид применения власти, при котором обладающий ею влияет
на поведение других, не раскрывая характер поведения, которое он от
них ожидает (Современный словарь социологии, издание 1969 года,
Нью-Йорк).
Известно [162] три главных, родовых признака манипуляции:
1) манипуляция – вид духовного, психологического воздействия (а не физическое насилие или угроза насилия). Мишенью действий манипулятора является дух, психические структуры человеческой личности;
2) манипуляция – это скрытое воздействие, факт которого не
должен быть замечен объектом манипуляции. Попытка манипуляции
вскрывается, и разоблачение становится достаточно широко извес тным, акция обычно свертывается, поскольку раскрытый факт такой
239
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
попытки наносит манипулятору значительный ущерб. Еще более тщательно скрывается главная цель – так, чтобы даже разоблачение самого факта попытки манипуляции не привело к выяснению дальних
намерений. Поэтому сокрытие, утаивание информации – обязательный признак, хотя некоторые приемы манипуляции включают в себя
«предельное самораскрытие», игру в искренность, когда политик рвет
на груди рубаху и пускает по щеке скупую мужскую слезу;
3) манипуляция – это воздействие, которое требует значительного мастерства и знаний. Встречаются, конечно, талантливые самородки с мощной интуицией, способные к манипуляции сознанием
окружающих с помощью доморощенных средств. Но размах их действий не велик, ограничивается личным воздействием – в семье, в
бригаде, в роте или банде. Если же речь идет об общественном сознании, о политике, хотя бы местного масштаба, то, как правило, к разработке акции привлекаются специалисты или хотя бы специальные
знания. Поскольку манипуляция общественным сознанием стала технологией, появились профессиональные работники, владеющие этой
технологией (или ее частями).
Как известно, манипуляция – способ господства путем духовного воздействия на людей через программирование их поведения.
Это воздействие направлено на психические структуры человека,
осуществляется скрытно и ставит своей задачей изменение мнений,
побуждений и целей людей в нужном власти направлении.
Так, Г. Шиллер заметил, что «для достижения успеха манипуляция должна оставаться незаметной. Успех манипуляции гарантирован, когда манипулируемый верит. Для манипуляции требуется фальшивая действительность, в которой ее присутствие не будет ощущаться».
Социолог Герберт Франке в работе «Манипулируемый человек» (1964) дает следующее определение: «Под манипулированием
в большинстве случаев следует понимать психическое воздействие,
которое производится тайно, а следовательно, и в ущерб тем лицам,
на которых оно направлено».
Природа манипуляции состоит в наличии двойного воздействия
– наряду с посылаемым открыто сообщением манипулятор посылает
адресату «закодированный» сигнал, надеясь на то, что этот сигнал
разбудит в сознании адресата те образы, которые нужны манипулятору. Это скрытое воздействие опирается на «неявное знание», которым
обладает адресат, на его способность создавать в своем сознании о бразы, влияющие на его чувства, мнения и поведение [172]. Искусство
манипуляции состоит в том, чтобы пустить процесс воображения по
нужному руслу, но так, чтобы человек не заметил скрытого воздействия.
240
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Для нормального функционирования и устойчивого развития
демократического общества необходимо, чтобы его граждане достаточно адекватно ориентировались в происходящих событиях и для достижения своих целей и защиты своих прав и интересов использовали
цивилизованные формы и способы социального взаимодействия, общения и жизни в обществе. В связи с этим общество нуждается
в
распространении информации по социально значимым вопросам, а
также ценностей, норм, установок, образцов поведения, присущих
данному уровню общественного развития [170].
Учитывая мощность воздействия средств массовой коммуникации (СМК), именно они, удовлетворяя потребности общества,
должны активно информировать граждан по этим вопросам. При этом
СМК осуществляет функции информирования, образования и социализации.
Устойчивое общественное развитие на демократических принципах предполагает также наличие сильной и конструктивной оппозиции, повышение роли общественного мнения и общественности в
их влиянии на социальные процессы, происходящие в обществе.
Без доступа к средствам массовой коммуникации невозможно
влияние оппозиции, общественности на происходящие политические
и социально-экономические процессы в обществе. Основным фактором формирования и изменения общественного мнения также является деятельность СМИ.
Деятельность СМК может и должна способствовать конструктивному диалогу различных политических сил в обществе и
таким образом снижать конфронтационность и повышать интеграционные процессы. Если это осуществляется в деятельности СМИ,
то таким образом ими реализуется важнейшая социальная функция
– интеграционная.
В противном случае средства массовой коммуникации начинают выступать как деструктивная сила в обществе и практически
утрачивают ту роль демократического института, на которую они претендуют и которую должны выполнять. Они трансформируются в информационное оружие, которое активно используется различными
политическими
силами
в
проведении
информационнопсихологических операций, направленных на общество, различные
социальные группы, на своих сограждан. Иными словами «театром
боевых действий» информационно-психологической войны становится население страны, психика людей, его составляющих, а СМК, как
отмечают некоторые исследователи, начинают выступать как источник информационно-психологической неустойчивости современного
российского общества [169].
241
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Манипуляция психологией – основная угроза информационнопсихологической безопасности личности.
Происходящие изменения в обществе, ломка устойчиво воспроизводившихся на протяжении многих лет социальных структур и
общественных отношений, углубление процессов демократизации
и гласности создали для человека качественно новые альтернативы
выбора жизненного пути и его стратегий. В то же время эти явления
оказали воздействие, вызвавшее у многих людей дезориентацию
в
особенностях современной социальной ситуации и направлениях ее
развития, а в связи с этим – неопределенность в представлениях
о
перспективах собственного жизненного пути.
Наблюдается повышение психической напряженности, на фоне
которой происходит дальнейшая ломка ранее устойчивых социальных
установок и сложившихся стереотипов поведения.
Ранее стабильные условия и окружение стали динамичными и
быстро изменяющимися, что характеризуется следующими факторами:
появлением новых экономических и общественных структур,
политических партий и движений:
формированием ранее казавшихся невозможными новых типов социальных взаимодействий и общественных отношений, в том
числе информационных;
активным формированием и увеличением объемов различных
нормативных правовых актов (постановления, указы, распоряжения
органов публичной власти), регулирующие совершенно новые общественные отношения и определяющие иные правила и нормы социальных взаимоотношений в обществе;
разрывом ранее устойчивых связей, ломкой сложившихся
представлений, вызывающих ощущение неустойчивости окружающего мира, появление у человека чувства дезориентации в социальной
ситуации и ощущение неопределенности своего места в ней;
резким переходом от зарегламентированных социальных отношений и соответствующего социального поведения к нынешнему
состоянию общества, вызывающим реально ощутимые личностью
негативные проявления индивидуальной и общественной психологии,
которые субъективно ощущаются как состояния внутренней психической напряженности, сопровождаемые зачастую отрицательными
эмоциональными переживаниями;
активность, борьба за аудиторию, использование сенсаций,
других приемов привлечения внимания и многообразия методов манипулятивного воздействия на психику средствами массовой информации, затрудняющие ориентацию людей в окружающей обстановке
[159] и другие.
Это влечет для человека следующие последствия:
242
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
обострение чувства социальной незащищенности, неуверенности в собственном будущем;
угрозу безопасности существования как полноценного гражданина и личности;
превращение человека в объект манипулятивного воздействия
и, в частности, политических манипуляций, «политических игр»;
отказ значительной части населения России от активного социального поведения и вместо действий, направленных на социальную и психологическую адаптацию к новым политическим и социально-экономическим условиям, появление раздражения, агрессивности, нетерпимости, увеличение значительного практически предельного потенциала разрушительности в общественной психологии;
ухудшение механизма обратной связи в контексте «автоматизма» саморегуляции общественно-экономического прогресса, связанного с ухудшением психологического состоянии людей, отдельного человека и больших групп индивидов с невозможностью ими
в принципе разобраться в реально происходящей обстановке в современной России [158-163];
появление в общественной психологии противоречия между
определенной совокупностью общественно-психологических явлений,
сформировавшихся в последнее время, новыми ценностями, социальными установками.
В то же время при правильном манипулировании в системе
массовой коммуникации возможно формирование новой мобильной
личности, способной на практике реализовать идеи развития общества
в целом. Также и манипулирование информационной коммуникативной системой является важнейшим фактором, определяющими динамизм развития современного общества.
Ученые и специалисты, рассматривая процесс создания информации как приведение к форме, формирование, образование порядка [159, 162], предполагают, что структура информационного пространства (знаний) есть иерархия упорядоченных информационных
подпространств. Здесь учитывается, что поток упорядоченных сигналов, воспринимаемых органами чувств, преобразуется в упорядоченные состояния нашего мозга – зрительные и слуховые образы. С учетом того, что на самом низшем уровне оценкой может служить количественная и знаковая информация, на следующем уровне параметрическая или непараметрическая энтропийная оценка позволяет получать количество информации, то на более высоком уровне, где главным методом считают ассоциативное образное, вербальное мышление, это могут быть некие образы, фантомы. На этом последнем
уровне в современных информационных технологиях решаются только отдельные задачи распознавания образов по отдельным признакам,
243
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
нахождение некоторых логико-математических формализаций и другие.
При решении задач обеспечения информационной безопасности информационных систем часто возникают задачи, связанные с
применением методов и средств компьютерной графики:
1) аутентификация пользователей информационных систем по
биометрическим параметрам широко использует методы векторизации и анализа изображений;
2) расчет и контроль контролируемых зон использует методы
когнитивной графики и САПР;
3) стеганография использует графические файлы в качестве
контейнера для сокрытия информации, а также применяется для защиты графической информации от несанкционированного использования.
22.2. Компьютерная стеганография
Функциональная модель стеганографической системы.
Функциональную модель стеганографической системы можно
представить следующим образом (рис. 22.1).
Пользователь A
стеганографической
системы
Устройства генерации
мультимедийных контейнеров
(сканер, цифров. фотовидеокамера, микрофон,
звуковая плата)
Пользователь В
стеганографической
системы
Система стеганоанализа
IBM Compatible
Устройства генерации
мультимедийных контейнеров
(сканер, цифров. фотовидеокамера, микрофон,
звуковая плата)
Контейнер
Прямое
стеганографическое
преобразование
Сообщение
Контейнер носитель
Ключ
Обратное
стеганографическое
преобразование
Алгоритмы обнаружения вложений в
мультимедийных файлах
Контейнер
Интернет провайдер
IBM Compatible
Контейнер носитель
Сообщение
Ключ
IBM Compatible
Server
Почтовый клиент
Почтовый сервер
Почтовый клиент
HTTP клиент
FTP клиент
HTTP сервер
FTP сервер
HTTP клиент
FTP клиент
Ethernet
Канал передачи данных
Рис. 22.1. Функциональная модель стеганографической системы
Суть ее заключается в том, что на передающей стороне сообщение скрывается в контейнере при помощи прямого стеганогра-
244
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
фического преобразования. Затем полученный модифицированный
контейнер по открытым каналам связи отправляется принимающей
стороне, где после его получения при помощи обратного стеганографического преобразования извлекается исходное сообщение.
Рассмотрев модель стеганографической системы, проведем
классификацию и анализ стеганографических методов сокрытия
данных, построенных на основе приведенной модели.
Классификация и анализ методов сокрытия данных
в цифровых изображениях. Использование методов сокрытия
информации в наборах данных (контейнерах) определяет стойкость
стеганографических систем, которая в большей степени зависит от
степени сохранения естественности восприятия информации. Почти
все современные стеганографические системы используют в качестве
контейнеров растровые цифровые изображения различных форматов
[173].
С точки зрения разработки стеганографических систем важны
следующие особенности современных форматов изображений:
– наличие в формате сжатия данных,
– наличие в формате сжатия данных с потерями,
– использование в формате палитры цветов.
В случае, когда формат хранения растровых изображений использует сжатие данных, значительно возрастает сложность разработки стеганографической системы, так как, во-первых, увеличивается
сложность анализа формата, а во-вторых, вносимые стеганографиической системой в изображение изменения приводят к нежелательному ухудшению эффективности сжатия. В случае, когда формат
цифровых изображений использует сжатие с потерями информации,
классические методы сокрытия в таких изображениях, как правило,
становятся малоэффективными, так как при потерях информации
происходит уничтожение скрытой информации (в силу малой
амплитуды сокрытого сигнала).
Использование в формате цифровых изображений палитры
цветов также затрудняет применение классических методов сокрытия.
К примеру, в данном случае применим метод сокрытия
в младших
битах. Но не в младших битах данных графического изображения,
которые в этом случае являются ссылками на элементы палитры, а в
младших битах элементов самой палитры, размер которой не
превышает 256 цветов. При этом для сокрытия в младшие биты
палитры необходимо, чтобы элементы палитры, отличающиеся лишь
младшим битом, были близки по интенсивностям цветовых
составляющих, появление чего возможно далеко не всегда (в связи
с этим в подобных методах сначала выполняется этап преобразования
245
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
палитры к требуемому виду). Все методы, предназначенные для
сокрытия данных, отличаются принципами, лежащими в их основе,
и делятся на форматные и неформатные (рис. 22.2) [172].
СТЕГАНОГРАФИЧЕСКИЕ МЕТОДЫ И АЛГОРИТМЫ СОКРЫТИЯ ДАННЫХ В ЦИФРОВЫХ ИЗОБРАЖЕНИЯХ
Неформатные методы
Методы скрытия в
пространственной области
изображений
Метод скрытия в наименее
значащие биты изображения
(LSB)
Метод скрытия в наименее
значащие биты изображения
с последующей коррекцией
статистики (LSB)
Методы скрытия в наименее
значащие биты палитры
цветов, с перестановкой
элементов палитры
Методы скрытия в частотной области изображений
Метод скрытия в наименее значащие коэффициенты
ДКП изображения
Алгоритм скрытия в среднечастотные
коэффициенты ДКП изображения
Алгоритм скрытия в среднечастотные
коэффициенты ДКП изображения коррекцией
статистики
Метод скрытия в коэффициенты ВП
Форматные методы
Метод скрытия способом
дописывания данных в конец
файла
Метод скрытия в заголовках
файлов
Метод скрытия с
использованием маркеров
комментариев
Метод скрытия с
использованием ложных
таблиц квантования
изображения JPEG
Рис. 22.2. Классификация стеганографических
методов сокрытия данных в изображениях
Неформатные методы сокрытия в цифровых изображениях
Перечислим наиболее известные неформатные методы
сокрытия в графических файлах, не использующих сжатие с
потерями:
1. Метод сокрытия с использованием младших бит данных
изображения.
2. Методы сокрытия в изображениях с палитрой цветов (метод
сокрытия с использованием младших бит элементов палитры; метод
сокрытия, основанный на наличии одинаковых элементов палитры;
метод сокрытия путем перестановки элементов палитры).
Рассмотрим метод сокрытия с использованием младших бит
данных изображения [174]. Его анализ позволяет говорить о том, что
данный метод нельзя использовать без дополнительной доработки, так
как элементы палитры, номер которых отличается лишь младшим
битом, могут иметь совершенно различные цвета, и поэтому
изменения младшего бита может привести к заметным искажениям
самого изображения.
Простейший способ, позволяющий преодолеть эту трудность,
состоит в том, что перед сокрытием сообщения в младших битах
изображения осуществляется анализ палитры изображения. Среди
всех пар (2i, 2i+1) элементов палитры осуществляется поиск пар,
разница между цветовыми интенсивностями которых не превышает
заданной пороговой величины d. Сокрытие осуществляется
в
младшие биты только тех точек изображения, которые ссылаются на
246
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
отобранные элементы палитры. Так как при сокрытии палитра не
изменяется, то перед извлечением производится ее анализ
аналогичным образом.
Однако количество пар элементов палитры, пригодных для
сокрытия таким способом, как правило, невелико. Данный метод
можно улучшить, добавив перед анализом палитры ее сортировку с
сохранением старых номеров элементов по возрастанию веса,
равного, к примеру, (65536R+256G+B) [175]. Пары, пригодные для
сокрытия, отбираются при помощи анализа отсортированной
палитры, но сокрытие в данном случае производится несколько иным
способом. Теперь для сокрытия бита сообщения необходимо изменить
не младший бит точки изображения, а все ее значение на новое,
которое получается путем изменения младшего бита номера
отсортированной палитры в том случае, если он пригоден для
сокрытия. Говоря иначе, с каждым элементом палитры теперь связаны
два числа i и ji, где i – исходный номер элемента палитры, ji – номер
i-гo элемента палитры, полученный в результате ее сортировки.
Сокрытие состоит в том, что последовательно просматриваются все
точки изображения, по значению точки
k определяется
соответствующий номер jk . Если номер jk пригоден для сокрытия, то
его младший бит заменяется на очередной бит сообщения. Затем по
получившемуся номеру jk' определяется связанный с ним исходный
номер k', который и присваивается текущей точке.
Следующий метод сокрытия – метод сокрытия в цифровых
изображениях с палитрой цветов [176]. Использование палитры
(отображения цветов) в графических форматах связано с попыткой
уменьшить размер хранимой информации. Вообще, палитра впервые
была применена в графических адаптерах для упрощения их
устройства и обеспечения большего разрешения при меньшем объеме
оперативной памяти графического адаптера. Вслед за этим появились
форматы хранения растровых графических изображений, основанные
на использовании палитры, некоторые из которых активно
используются и в наши дни. Ярким примером такого формата может
служить GIF, который получил широкое распространение в сети
Интернет и является неотъемлемой частью дизайна современных вебстраниц и Интернет–рекламы. Количество передаваемых по сети
файлов в формате GIF составляет более 9% от общего числа
циркулирующих файлов и уступает лишь изображениям в формате
JPEG. На смену устаревающего формата был разработан формат PNG,
также позволяющий использовать палитру цветов, однако он еще не
получил большого распространения.
Следующий неформатный метод – метод сокрытия
с использованием младших бит элементов палитры [177, 178]. Во всех
247
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
форматах, использующих палитру цветов, сама палитра должна
храниться вместе с изображением в одном файле, и следовательно,
для сокрытия возможно использовать метод сокрытия в младших
битах элементов палитры (так как формат хранения элемента палитры
аналогичен формату хранения точки обычного изображения без
палитры). Однако размер палитры не превосходит 256 элементов, в
каждый из которых скрывается не более 3 бит. Итого 2563=768 бит,
что значительно меньше размера самого изображения. Кроме того, в
результате сокрытия в палитре могут появиться элементы,
кодирующие одинаковые цвета. Наличие таких «одинаковых»
элементов в палитре изображения может использоваться в качестве
критерия для определения факта наличия сообщения, сокрытого
в
младших битах палитры.
В случае, когда палитра содержит два или более одинаковых
элемента, возможно применение метода сокрытия, основанного на
наличии одинаковых элементов палитры, поскольку не важно, какой
из них будет присвоен точке изображения, так как при просмотре она
будет выглядеть одинаково. Эту особенность целесообразно
использовать для сокрытия данных без внесения искажений в само
изображение. Отметим, что с точки зрения кодирования изображений
использование одинаковых элементов палитры не только лишено
смысла, но и нежелательно, так как может приводить к увеличению
размера изображения. С точки зрения стеганографии метод,
основанный на использовании одинаковых цветов палитры, является
форматным, так как базируется на особенности, которой обладают все
графические форматы, содержащие палитру цветов.
Идея метода сокрытия информации путем перестановки
элементов палитры состоит в использовании порядка следования
элементов палитры изображения. Будем предполагать, что палитра
произвольного фиксированного изображения состоит из n различных
элементов, т.е. среди них нет ни одной пары одинаковых. Из
комбинаторики известно, что количество перестановок n различных
элементов равно n!. Легко понять, что, если использовать
перестановки для сокрытия двоичного сообщения, то его
максимальная длина составит около log2(n!) бит. В общем случае для
метода сокрытия путем перестановки элементов палитры задается
отображение, которое при фиксированном ключе k взаимнооднозначным образом ставит в соответствие любому сообщению
допустимой длины определенную перестановку элементов палитры
контейнера.
Далее рассмотрим неформатные методы сокрытия данных
в цифровых изображениях [179, 180]. Перечислим наиболее известные
из них:
248
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
1. Метод сокрытия в исходных данных изображения.
2. Метод сокрытия с использованием таблиц квантования.
3. Метод сокрытия с использованием ложных таблиц квантования.
4. Метод сокрытия в спектре изображения после квантования.
Рассмотрим метод сокрытия в исходных данных изображения.
Некоторые графические стандарты позволяют производить сжатие
изображений без потерь, которое представляет собой кодирование
с предсказанием, когда значение каждого пикселя объединяется со
значениями соседних с ним для формирования величины прогнозирующего параметра. Затем полученный результат вычитается из
исходного значения. Сформированные после обработки подобным
образом всех точек изображения результирующие величины сжимаются посредством арифметического кодирования или кодирования по
методу Хаффмана. Поэтому в случае его использования целесообразно говорить о сокрытии информации непосредственно в данных
самого изображения. При этом сокрытие может осуществляться при
помощи основного метода компьютерной стеганографии – метода
сокрытия в младших битах и его модификаций.
Метод сокрытия с использованием таблиц квантования является одним из наиболее часто используемых методов сокрытия
данных в графических файлах. Идея данного метода состоит
в
использовании младших бит коэффициентов квантования таблицы
квантования. Достоинством метода является то, что он не нарушает
типовую структуру потока формата графического файла и, следовательно, полностью неформатный. Недостаток состоит в том, что
обычно файлы содержат одну или две таблицы квантования (размер
одной таблицы квантования равен 64 байтам), поэтому объем
скрываемых данных невелик (сокрытие во всех младших битах одной
таблицы квантования позволяет скрыть всего лишь 8 байт). Помимо
этого изменение младших бит коэффициентов квантования вносит
изменения в статистические характеристики сжимаемых блоков, тем
самым отрицательно влияя на эффективность последующего
кодирования, и, как следствие, ведет к увеличению размеров файла.
Метод использования ложных таблиц квантования является
развитием предыдущего метода и состоит в создании дополнительных ложных таблиц квантования, что позволяет в несколько раз
увеличить объем скрываемых данных по сравнению с рассмотренным
ранее методом. В графических стандартах учтена возможность
использования нескольких таблиц квантования, что не нарушает
внутреннюю организацию формата. Однако помимо того, что для
данного метода сохраняются отмеченные недостатки, он становится
отчасти форматным, так как задействуются поля формата. На
249
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
практике применяются две разновидности метода использовании
ложных таблиц квантования. Первая разновидность добавляет
таблицы так, чтобы увеличить эффективность сжатия и уменьшить
потери при сжатии, как это и подразумевалось в спецификации
алгоритма. Однако в таком случае для большинства изображений
число ложных таблиц невелико. Вторая разновидность заключается
в добавлении ложных таблиц квантования с определенным (не всегда
фиксированным) периодом, при этом используются, как правило,
одни и те же таблицы, различия которых состоят лишь в тех младших
битах, где сокрыто сообщение. Такой метод является форматным
и
обладает низкой стойкостью к атакам, направленным на определение
факта наличия сокрытого сообщения.
Метод сокрытия в спектре изображения после квантования
основан на использовании спектральных коэффициентов блоков
изображения после квантования перед этапом сжатия. При этом
сокрытие может осуществляться при помощи классических методов
компьютерной стеганографии. Отметим, что такой подход позволяет
скрывать намного большее число бит, чем рассмотренные ранее
методы, и не является форматным, вследствие чего его стойкость
к пассивной атаке значительно (в зависимости от реализации)
превышает уровень стойкости приведенных ранее методов. При этом
объем скрываемых данных пропорционален объему сжатого
изображения, что ведет к увеличению размера внедряемой
информации и приводит к изменениям исходного изображения со
снижением эффективности последующего этапа кодирования. Однако
возможность варьировать качество сжатого изображения в широком
диапазоне не позволяет легко установить, являются возникающие
в результате сжатия погрешности следствием сокрытия данных или
использования больших степеней сжатия.
Рассмотрим формальное описание данного метода. Через mj
обозначим биты скрываемого сообщения, под Bi,j будем понимать
значения ненулевых элементов спектра блоков квантованного
немодифицированного изображения, упорядоченные согласно
алгоритма кодирования JPEG, где i – номер бита элемента, j – номер
элемента, Bi' . j – соответствующие блоки модифицированного
изображения.
Введем двоичную последовательность kj, биты которой
поставим в соответствие блокам Bi,j, при этом kj=1, когда в младший
бит j-го блока скрывается очередной бит сообщения, и kj=0
в противном случае.
Прямое стеганографическое преобразование F:M×B×K→B
имеет следующий вид:
250
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
'
 Bij , k j  0;
Bij  
,
m
,
i

0
,
k

1
j
 l
'
j
l   k p ; j  1,2,3... ,
p 1
а соответствующее ему обратное стеганографическое преобразование
F-1:B×K→M имеет вид:
m j  B0l' ,
j
где l такое, что l   k p  j ; j  1,2 ,3...
p 1
Подобный метод используют алгоритмы F5 и OutGuess.
Приведенные алгоритмы наиболее стойки к пассивным и активным
атакам и позволяют внедрять значительные объемы сообщений.
Рассмотрим класс наиболее простых методов, известных как
форматные стеганографические методы сокрытия в цифровых
изображениях.
Форматные методы сокрытия в цифровых изображениях
Форматные методы сокрытия основываются на особенностях
формата цифровых изображений [181]. Разработка таких методов
сводится к анализу формата с целью поиска служебных полей
формата, изменение которых в конкретных условиях не скажется на
работе с графическим изображением. Например, для сокрытия
используются служебные поля формата, которые присутствуют
в графических файлах, но не используются в настоящее время. Однако
все форматные методы обладают общим недостатком – для них
возможно построение простого алгоритма, направленного на
обнаружение вложения (с учетом принципа общеизвестности
стеганографической системы).
Перечислим форматные методы сокрытия в изображениях:
1) Метод дописывания данных в конец файла.
2) Метод сокрытия в палитре.
3) Метод сокрытия в нулевых байтах.
4) Метод сокрытия в косвенных данных и маркерах комментариев.
5) Метод сокрытия с использованием уменьшенного
изображения.
Метод дописывания данных в конец BMP-файла – простейший
форматный метод сокрытия, использующий в своей основе принцип,
что все стандартные программы определяют конец данных
изображения исходя из заголовка.
Метод сокрытия в палитре основан на том, что каждый
элемент палитры состоит из четырех байт, первые три из которых
251
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
используются для кодирования цвета, а последний обычно равен
0 и не используется. Таким способом возможно скрыть не более 256
байт, не изменив размер исходного BMP–файла.
Метод сокрытия в нулевых байтах основан на том, что
заголовок BMP–файла содержит 4 байта, равных 0 и в случае, когда
они не используются в формате, их модификация для сокрытия также
не приводит к увеличению размеров контейнера.
Дописывание данных в конец JPEG-файла. Одним из самых
простых способов сокрытия данных является дописывание данных
в конец JPEG-файла, что осуществимо благодаря использованию
системы маркеров. Все стандартные программы просмотра, доходя до
маркера «конец изображения», прекращают работу, и скрываемая
информация остается неопознанной. Этим способом можно
разместить значительное количество информации. Однако этот метод
является уязвимым к простейшим методам стеганоанализа.
Суть метода сокрытия в косвенных данных состоит во внедрении скрываемых данных после соответствующего идентификатора,
замаскированных под косвенные данные (к которым относятся,
например, элементы Scan Index, Tile Index и др.). Незаметность
применения метода визуально обеспечивается тем, что большинство
декодеров JPEG читают файл строго последовательно и не проводят
обработки косвенных данных.
Метод сокрытия с использованием маркеров комментариев
основан на том, что для внесения различных меток или ссылок
в
файлах используются маркеры комментариев. В общем случае
комментарии могут быть достаточно различными, что связано
с разнообразием используемых графических пакетов и конкретных
технических устройств (цифровых фото- и видеокамер и т.п.).
Наименования, технические характеристики, а иногда и параметры
работы этих устройств часто содержатся в полях комментариев. Это
позволяет использовать маркеры комментариев для сокрытия
информации. Данный метод менее уязвим, чем предыдущий
(с
учетом грамотной реализации), тем не менее, скрываемые данные
могут быть легко обнаружены и уничтожены.
Метод
сокрытия
с
использованием
уменьшенного
изображения основан на том, что формат JPEG допускает хранение
уменьшенной копии изображения [182]. Объем скрываемой
информации в данном случае будет зависеть от размера
уменьшенного изображения
и в случае использования
цветового пространства RGB для умень-шенного изображения
размером 256×256 пикселей (при реализации классического метода
сокрытия в младших битах с полным заполнением) составит
256×256×3 = 196608 бит. Поскольку уменьшенная копия изображения,
252
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
как правило, значительно уступает в размере оригиналу, достаточно
трудно (но, как правило, возможно) математически точно установить
значение каждого отображаемого пикселя. Таким образом, внесенные
изменения, вызванные сокрытием, не будут сильным демаскирующим
фактором. Этот метод не является полностью форматным, но все же
он использует специальное поле формата JPEG, которое не является
обязательным
и может быть легко удалено или заменено аналогичным. Поэтому
данный метод все же ближе к форматным, чем к неформатным
методам. В то же время по стойкости к стегоаналитическим методам
неформатные способы сокрытия значительно превосходят форматные.
Основные методы обнаружения и предотвращения скрытого
информационного воздействия посредством использования компьютерных изображений:
1. Стеганография представляет собой совокупность двух
основ-ных составляющих – стеганографических алгоритмов сокрытия
информации и методов стеганоанализа, так как невозможно говорить
о защищенности стегоконтейнера без исследования методов вскрытия
стеганографических систем.
2. Стеганоаналитические
методы
целесообразно
классифицировать [172] по их предназначению относительно методов
встраивания (рис. 22.3).
МЕТОДЫ И АЛГОРИТМЫ СТЕГАНОАНАЛИЗА ЦИФРОВЫХ ИЗОБРАЖЕНИЙ
Методы анализа
формата файла
Статистические методы и алгоритмы анализа данных файла изображения
“Интегральные” методы
Методы
анализа
статистики
1-го порядка
2
Тест 
Расширен- 2
ный тест
RQP-метод
Методы анализа
статистики
высших порядков
Метод анализа
статистики
высших
порядков
коэффициентов
вейвлетпреобразования
Метод анализа
статистики
высших порядков
коэффициентов
ДКП
“Интегральнодифференциальные” методы
“Дифференциальные” методы
Метод учета
двойственных
статистик (RSметод)
Методы, основанные на
представлении изображения
в виде разрывных
марковских цепей
Алгоритмы
анализа блочной
структуры и
оценки
гистограмм
коэффициентов
ДКП
изображения
Методы, основанные на
фрактальных моделях
изображения
Метод
обнаружения
на основе
формальнограмматической модели
файла
Методы анализа
структуры файла
изображения
(заголовки,
маркеры
комментариев,
служебные поля и
т.п.)
Алгоритм поиска координат и
определения числа модификаций
геометрическим методом
Рис. 22.3. Классификация стеганоаналитических методов для
изображений
Известны наиболее типичные виды атак, которые могут быть
применены к стеганографическим контейнерам. С практической точки
зрения во всех видах атак стеганоаналитика интересует решение трех
задач: точное доказательство факта наличия сообщения в контейнере,
253
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
определение его размера с координатами модификаций и нахождение
смысла сокрытого сообщения.
Вторая из перечисленных задач остается недостаточно
исследованной и имеет множество немаловажных аспектов. Суть
данной задачи заключается в определении для каждой
стеганографической системы некоторого порога обнаружения,
накладывающего ограничение на объем скрываемой информации.
При превышении такого порога, т.е. при сокрытии большего
количества информации, чем это считается допустимым, система
становится уязвимой для стеганографических атак.
Очевидно, что чем меньше информации внедряется в
контейнер, тем меньше вероятность обнаружения сокрытого
сообщения. При этом каждый стеганографический метод имеет свой
собственный порог обнаружения, который позволяет скрывать
различные объемы информации в различные контейнеры. Не следует
путать порог обнаружения с порогом сокрытия – максимальным
объемом скрываемой информации стегосистемы.
Не является вполне очевидным тот факт, что порог
обнаружения стеганографической системы может зависеть не только
от контей-нера, но и от скрываемого сообщения. Чтобы показать это,
достаточно построить абстрактную стеганографическую систему,
обобщающую одну из наиболее известных. Это утверждение легко
доказывается и на практике, когда дело доходит до применения
адаптивных стеганографических систем. То же самое возможно
сказать и про порог сокрытия.
Однако в настоящее время такой очевидной теме посвящено
чрезвычайно мало научных публикаций. Единственным исключением
является работа [26], в которой приведена оценка порога обнаружения для метода сокрытия в младших битах данных изображения.
Довольно интересной представляется задача оценки контроля
искажений растровых графических изображений, вносимых стеганографическими системами. Данная задача – не что иное как задача
контроля качества стеганографических систем.
Первые попытки определить понятие стойкости стеганографической системы опубликованы в работе [184]. В рассматриваемых
моделях по аналогии с криптографией, предполагается, что стеганоаналитики обладают обширными знаниями о стегосистеме за
исключением ее ключевой компоненты. Однако, полное обладание
информацией о стеганографической системе практически невозможно – невероятно трудно составить статистические или иные
модели контейнеров, достаточно детальные для полноценного
определения понятия стойкости стегосистемы.
254
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
В настоящее время сложно оценить возможность построения
универсальных стегоаналитических методов либо невозможность
этого, однако в будущем, вероятно, они появятся. Дело в том, что
появляющиеся новые стеганографические системы нередко ставят
в тупик все разработанные и применимые стегоаналитические
алгоритмы. И при этом проходит значительное время, прежде чем
появляется новый алгоритм, позволяющий вскрывать такую систему.
Единственное, что ясно – стеганоанализ находится на своей
начальной стадии и впоследствии будет стремительно развиваться.
22.3. Идентификация пользователей в вычислительной
системе
Для идентификации пользователей в вычислительной системе
употребляется достаточно много методов, использующих алгоритмы
компьютерной графики.
В этой предметной области выделяются:

биометрическая идентификация, предназначенная для
определения личности пользователя и соответствующих ему прав
доступа;

распознавание изображения лица пользователя, служащее
тем же целям;

тест Тьюринга, реализованный методом CAPTCHA,
предназ-наченный, главным образом для распознавания «человек» –
«робот» для доступа к разделяемым ресурсам в сети Internet.
Биометрические системы идентификации решают задачи
анализа папиллярного рисунка, изображения сетчатки глаза и др. При
этом используются методы анализа изображений и поиска
фрагментов.
Тест Тьюринга, реализованный методом CAPTCHA.
CAPTCHA (от англ. Completely Automated Public Turing test to tell
Computers and Humans Apart — полностью автоматизированный
публичный тест Тьюринга для различия компьютеров и людей) –
компьютерный тест, используемый для того, чтобы определить, кем
является пользователь системы: человеком или компьютером. Термин
появился в 2000 году. Основная идея теста: предложить пользователю
такую задачу, которую может решить человек, но которую крайне
трудно научить решать компьютер. В основном это задачи на
распознавание символов.
CAPTCHA чаще всего используется при необходимости
предотвратить использование интернет-сервисов ботами, в частности, для предотвращения автоматических отправок сообщений,
255
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
регистрации, скачивания файлов, массовых рассылок ( спам)
и т.п.
В наиболее распространенном варианте CAPTCHA от пользователя требуется ввести символы, как правило, изображенные на
предлагаемом ему рисунке в искаженном виде, иногда с добавлением
шума или полупрозрачности.
Реже применяются CAPTCHA, основанные на распознавании
речи (в основном – как альтернатива для людей с нарушениями
зрения).
Могут также применяться другие плохо алгоритмизуемые
задачи, например: узнать, что находится на картинке, отметить все
картинки с кошками или ответить на вопрос, связанный со знаниями
или менталитетом людей (например, «висит груша, нельзя скушать»).
Встречаются CAPTCHA, где предлагается ввести ответ на
простое арифметическое действие.
Алгоритм CAPTCHA-проверки. Кратко рассмотрим алгоритм CAPTCHA-проверки посетителя, сделав упор на защиту от уязвимостей, не связанных с собственно распознаванием картинки.
При обращении пользователя к защищаемой странице
создается новая сессия. Генерируется случайный текст, записывается
в сессию и выдается картинка с этим текстом. При проверке ответ,
введенный посетителем, сравнивается с эталоном, сохраненным в
этой сессии.
Важно, чтобы закодированный текст никак не вычислялся из
данных, передаваемых браузеру.
Если случайный текст будет генерироваться не при выдаче
картинки, а при выдаче страницы с формой, появляется опасность, что
бот сделает несколько запросов к скрипту картинки, чтобы получить
несколько вариантов одного и того же текста (если картинка выдается
со случайными искажениями – то есть разная от раза к разу, хотя и с
одним и тем же закодированным текстом). Распознать текст, если есть
несколько его вариантов, гораздо проще.
Генерация кода самой картинкой позволяет реализовать
функцию «получить другой код, если этот плохо читается
пользователем», для этого будет достаточно обновить только
картинку.
Построение защищенной надписи. Вопреки распространенному мнению, для обхода CAPTCHA, как правило, не используются
универсальные программы распозна-вания отсканированных текстов
типа FineReader или MS Office Document Imaging, поэтому, если ваша
CAPTCHA не поддается распознаванию этими программами, это не
256
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
означает, что надпись не может быть легко распознана другой пр ограммой распознавания.
Распознавание делится на 2 основных этапа:
– определение местоположения и границ каждого символа;
– распознавание символа.
Если символы всегда находятся на одних и тех же местах, из
этих двух этапов остается только второй. Поэтому, как минимум, надо
обязательно варьировать координаты символов.
Если места символов не фиксированы (рис. 22.4, б),
следующий путь по их выделению – сравнение по контрасту с фоном.
Если цвет символов отличается от цвета фона, это не дает никакой
защиты.
а
б
Рис. 22.4. Ошибки при создании CAPTCHA-картинки
Таким образом, следует либо добавить такой шум, который
трудно отделить от самих символов, либо затруднить разделение
символов, поместив их впритык или наложив друг на друга.
Собственно распознавание символа может происходить
разными способами.
Самый простой способ – «наложение маски». У программы
есть эталонный шрифт, с каждым символом которого она сравнивает
распознаваемый. Тот символ, у которого больше всего совпадений
(пикселей того же цвета, что и в эталоне), и считается ответом.
Сравнению с маской подвержены CAPTCHA, не применяющие
геометрические искажения символов, а также использующие один
шрифт (или очень ограниченное их количество).
Другие, более сложные алгоритмы распознают символ по его
характерным признакам: количеству разветвлений, замкнутых
областей, их взаимному расположению. Есть класс алгоритмов под
названием «нейронные сети» – это, «черный ящик», которому сначала
для обучения дают образ и правильный ответ, а потом, после
обучения, он сможет выдавать правильный ответ сам. Правда, процесс
обучения очень долог и трудоемок.
Для защиты от таких алгоритмов можно добавлять шум,
значительно искажающий рисунок символов, но тут есть опасность
257
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
перестараться и получить
распознаванию и человеком.
изображение,
не
поддающееся
Альтернативные способы защиты. Альтернативные способы
защиты от ботов можно разделить на две части: те, которые требуют
от посетителя каких-то действий, и те, которые этого не требуют.
Эффективность этих способов зависит как от сложности создания
алгоритма распознавания, так и от распространенности того или иного
решения.
Способы, требующие действий от пользователя
Существует
множество
идей
CAPTCHA-защиты,
отличающихся от классического варианта «введите код,
изображенный на картинке». Их можно также разделить на две
основные части: задачи, обращающиеся к «рефлексам» пользователя
(на узнавание-распозна-вание), и задачи, обращающиеся к его логике
(вопросы, задачи).
АудиоCAPTCHA
АудиоCAPTCHA (рис. 22.5) предлагает пользователю
прослушать некую фразу и затем ввести ее. Обычно фраза состоит из
проговариваемых цифр, как правило, с варьируемой тональностью,
паузами и фоновыми шумами.
Рис. 22.5. АудиоCAPTCHA
Преимущество у аудиоCAPTCHA в том, что на такой вопрос
сможет ответить пользователь с нарушениями зрения. Недостатки –
посетитель должен иметь на компьютере оборудование для
воспроизведения звука; распознавание речи – не настолько сложная
задача, поэтому степень защищенности такого решения, как правило,
невысока. К тому же реализация звуковых искажений довольно
требовательна к квалификации программиста и ресурсам сервера.
Поэтому аудиоCAPTCHA применяется редко и только как
альтернатива для слепых пользователей.
Математические примеры
Некоторым может показаться, что вопрос «Сколько будет
23+75?» может быть хорошим решением, т.к. боту надо будет еще
258
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
догадаться, что числа следует не только распознать, но и сложить
(рис. 22.6).
Рис. 22.6. Математические примеры
Однако какую-то защиту это решение может обеспечить
только
в силу своей новизны и малой распространенности. Ведь складывать и
вычитать числа компьютер умеет гораздо лучше человека. Для самого
человека проведение в уме математических действий будет
утомительным и сложным. Сумму же одно-двузначных чисел можно
угадать и перебором с небольшим количеством попыток. Таким
образом, в математических примерах как способе защиты от ботов
смысла нет никакого, наличествует даже ухудшение защищенности.
Текстовые задачи
Человеку задается вопрос или загадка, на который он должен
дать ответ. Ответ нужно либо выбрать из списка, либо ввести в поле.
Поскольку при выборе из списка вероятность дать правильный ответ
наугад довольно велика (1/n, где n – количество вариантов), обычно
пользователя заставляют ответить на ряд вопросов, ибо вероятность
угадать правильные ответы на несколько вопросов будет
произведением вероятностей ответить на каждый из них. Т.е.,
к примеру, 1/5 × 1/6 × 1/4 = 1/120.
Преимущества: проверка доступна для людей с нарушениями
зрения, а также для тех, кто пользуются клиентами, не отображающими изображения.
Недостатки: пользователь должен быть хорошо знаком
с языком, на котором задаются вопросы (а зачастую и с реалиями
и менталитетом коренных носителей языка).
Можно пытаться комбинировать текстовую задачу с задачей на
распознавание, к примеру «введите первую, третью и четвертую
буквы из предложенной надписи», но это экстенсивный путь,
ведущий к кажущемуся увеличению сложности прохождения теста
ботом.
Распознавание предметов
Пользователя просят узнать изображенные на картинке
предметы (людей, животных). Ему либо показывают предмет
и
просят ввести его название (или выбрать его из списка), либо,
259
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
наоборот, пишут название, а из нескольких предложенных предметов
просят выбрать запрошенный (запрошенные).
Детали реализации могут варьироваться для уменьшения
вероятности угадать наобум, указывать требуемые предметы могут
попросить в определенном порядке и т.д.
Преимущества: пользователю легче отличить кошку от собаки,
чем различить, к примеру, сильно искаженные и зашумленные буквы
«N» и «H». Боту же, напротив, буквы, как более простые образы,
различить будет проще.
Недостатки: пользователю должны быть знакомы объекты и их
названия.
База картинок должна быть довольно значительной, чтобы
было невозможно распознавание через сравнение с эталонами.
Необходимо использовать хорошие алгоритмы искажения или даже
генерации картинок.
ции
Примеры обхода CAPTCHA. Подбор контрольной информа1. Перебор вариантов и предугадывание результатов.
2. Использование несуществующих сессий.
3. Повторное использование сессий.
4. Манипулирование значением VEWSTATE.
Распознавание образов
1. Алгоритмическая обработка изображений (тест на
идентичность).
2. Распознавание образов.
3. Использование человеческого ресурса.
Контрольные вопросы
1. Охарактеризуйте процесс восприятия с точки зрения роли
в нем визуальных образов и воображения.
2. Какие наиболее важные проблемы в информатике появляются в связи с необходимостью изучения компьютерной графики?
3. Что такое манипуляция?
4. Назовите несколько средств массовой коммуникации и дайте
оценку их влияния на формирование массового сознания.
5. Какой фактор является самым существенным при определении динамизма развития современного общества?
6. Опишите уровни информационных подпространств.
7. Что такое стеганография?
260
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
8. Какие свойства изображений используются для скрытой
передачи информации?
9. От чего зависит стойкость стеганографических алгоритмов?
10. Какие практические применения методов стеганографии вы
знаете?
11. Охарактеризуйте методы идентификации.
12. Что такое CAPTCHA?
13. На каких особенностях восприятия основан этот тест?
261
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ЛИТЕРАТУРА
1. Зенкин, А.А. Когнитивная компьютерная графика/ Под ред.
А.Д. Поспелова. – М.: Наука. гл. ред. Физ.-мат. лит.,1991. – 192 с.
2. Мусхелишвили, Н.Л. Информация и фасцинация в прямой
и непрямой коммуникации / Н.Л. Мусхелишвили, Ю.А. Шрейдер //
НТИ. – Сер. 2. Информ. процессы и системы. – 1997. – № 8. – С. 1-7.
3. Узилевский, Г.Я. Иконика: современное состояние и перспективы развития / Г.Я. Узилевский, А.А. Зенкин // Пользовательский интерфейс: исследование, проектирование, реализация. – № 3. –
1993. – С. 3 – 10.
4. Бэкон, Ф. О достоинстве и преумножении наук. Соч. в 2-х т.
Изд.2-е –испр. и доп. Т. 1. / Ф. Бэкон. – М.: «Мысль», 1977. – 567 с.
5. Джевага, К.А. Компьютерная графика: пособие. В 2 ч. Ч. 1 /
К.А. Джевага, Ю.Н. Игнатов. – Орел: Академия ФСО России, 2007. –
128 c.
6. Джевага, К.А. Компьютерная графика: пособие. В 2 ч. Ч. 2 /
К.А. Джевага, И.Ю. Баранов, Ю.Н. Игнатов. – Орел: Академия ФСО
России, 2009. – 142 c.
7. Фисун, А.П. Теоретические и практические проблемы естественнонаучных, правовых и социальных дисциплин развивающегося
информационного общества: монография. В 3-х ч. Ч 2. Актуальные
правовые и социологические аспекты теории и практики развития информационного общества; под ред. д.т.н. А.П. Фисуна, к.ю.н. Ю.А.
Фисун. – ОГУ – Орел, 2002. – 132 с. – Деп. в ВИНИТИ 19.12.03. – №
2211 – 2003.– С.114– 127.
8. Фисун, А.П. Теоретические и практические основы человеко-компьютерного взаимодействия: базовые понятия человекокомпьютерных систем в информатике и информационной безопасности: монография / А.П. Фисун, Л.А. Гращенко; под ред. д.т.н. А.П.
Фисуна. – Орловский государственный университет. – Орел, 2004. –
169 с. – Деп. в ВИНИТИ 15.10.04. № 1624 – В2004.
9. Фисун, А.П. Теоретические основы информатики и информационная безопасность: монография / А.П. Фисун, В.А. Минаев, В.Н.
Саблин и др.; под ред. д.т.н. В.А. Минаева, В.Н. Саблина. – М.: Радио
и связь, 2000. – 468 с.
10. Фисун, А.П. Методология обработки графической информации и визуализации данных: монография / А.П. Фисун, В.А. Минаев, И.С. Константинов, А.В. Коськин, К.А. Джевага и др.; под ред.
д.т.н. А.П. Фисуна, д.т.н. В.А. Минаева, д.т.н. И.С. Константинова,
д.т.н. А.В. Коськина. – Орел: ОГУ, ОрелГТУ, 2009.
11. ГОСТ 27459-87. Системы обработки информации. Машинная
графика. Термины и определения. М.: Изд-во стандартов, 1988. – 11 с.
262
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
12. ГОСТ 28406-89. Персональные электронные вычислительные машины. Интерфейсы видеомониторов. Общие требования. М.:
Изд-во стандартов, 1990. – 12 с.
13. ГОСТ Р 34.1702.3-92. Информационная технология. Машинная графика. Связь языка графической системы с языком программирования Ада. М.: Изд-во стандартов, 1993. – 184 с.
14. ГОСТ Р 34.701.1-92. Информационная технология. Машинная графика. Метафайл для хранения и передачи информации об описании изображения. М.: Изд-во стандартов, 1993. – 133 с.
15. ГОСТ Р ИСО/МЭК ТО 12182-2002. Информационная технология. Классификация программных средств. М.: Изд-во стандартов, 2002. – 16 с.
16. ГОСТ Р МЭК 60447-2000. Интерфейс человекомашинный.
Принципы приведения в действие. М.: Изд-во стандартов, 2000. – 14 с.
17. ГОСТ Р МЭК 60073-2000. Интерфейс человекомашинный.
Маркировка и обозначения органов управления и контрольных
устройств. Правила кодирования информации. М.: Изд-во стандартов,
2000. – 24 с.
18. ГОСТ 27817-88. Системы обработки информации. Машинная графика. Функциональное описание ядра графической системы.
М.: Изд-во стандартов, 1989. – 297 с.
19. Эйнджел, Эдвард. Интерактивная компьютерная графика.
Вводный курс на базе OpenGL / Эдвард Эйнджел. – 2-е изд.,: пер.
с
англ. – М. : Изд. дом «Вильямс», 2001. – 592 с.
20. Цилькер, Б.Я. Организация ЭВМ и систем: учебник для вузов / Б.Я.Цилькер, С.А.Орлов. – СПб: Питер, 2004. – 668 с.
21. Столингс, Вильям. Структурная организация и архитектура
компьютерных систем / Вильям Столингс. – 5-е изд.,: пер. с англ. –
М.: Изд. дом «Вильямс», 2002. – 896 с.
22. Корнеев, В.В. Современные микропроцессоры /
В.В.Корнеев, А.В.Киселев. – 3-е изд., перераб. и доп. – СПб.: БХВПетербург, 2003. – 448 с.
23. Пескова, С.А. Центральные и периферийные устройства электронных вычислительных средств / С.А. Пескова, А.И. Гуров, А.В. Кузин;
под ред. О.П. Глудкина. – М.: Радио и связь, 2000. – 496 с.
24. Чепурной, В.Г. Устройства хранения информации. – СПб.:
BHV Санкт-Петербург, 1998. – 208 с.
25. Бройдо, В.Л. Архитектура ЭВМ и систем: учебник для вузов / В.Л.Бройдо, О.П.Ильина. – СПб.: Питер, 2006. – 718 с.
26. Организация ЭВМ. 5-е изд. / К. Хамахер, З. Вранешич, С.
Заки. – СПб. : Питер; Киев : Издательская группа BHV, 2003. – 848 с.
27. Мюллер, Скотт. Модернизация и ремонт ПК / Скотт Мюллер. –
16-е изд.; пер. с англ. – М.: Издательский дом «Вильямс», 2006. – 1328 с.
263
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
28. Ревич, Ю. Полюсы магнита / Ю.Ревич // Домашний компьютер. 2007. – № 7. – С. 34–41.
29. Гук, М. Аппаратные средства IBM PC / М. Гук: энциклопедия, 2-е изд. – СПб.: Питер, 2002. – 928 с.
30. Копейкин, М. В. Организация ЭВМ и систем (Память
ЭВМ): учебное пособие / М.В. Копейкин, В.В.Спиридонов,
Е.О.Шумова. – СПб.: СЗТУ, 2004. – 153 с.
31. Малиновский, Б. Н. История вычислительной техники в
лицах. – К.: фирма «ИТ» ПТОО «А.С.К.», 1995. – 384 с. – http://lib.ru/
MEMUARY/ MALINOWSKIJ. – 15.06.2003 г.
32. Воеводин, В. В. Параллельные вычисления / В.В. Воеводин,
Вл.В. Воеводин. – СПб.: БХВ-Петербург, 2002. – 608 с.
33. Максимов, Н.В. Архитектура ЭВМ и вычислительных систем: учебник. / Н.В. Максимов, Т.Л. Партыка, И.И. Попов. – М.: ФОРУМ: ИНФРА-М, 2005. – 512 с.
34. Пятибратов, А.П. Вычислительные системы, сети и телекоммуникации: учебник / А.П. Пятибратов, Л.П. Гудыно, А.А. Кириченко; под ред. А.П. Пятибратова. – М.: Финансы и статистика, 1998. –
400 с.
35. Колесниченко, О.В. Аппаратные средства PC. Изд. 4-е – перераб. и доп. / О.В. Колесниченко, И.В. Шишигин. – СПб.: БХВПетербург, 2002. – 1024 с.
36. Мюллер, С. Модернизация и ремонт ПК. Изд. 17-е изд.: пер.
с англ. / С. Мюллер. – М.: ООО «И. Д. Вильямс», 2007. – 1360с.
37. Бигелоу, С. Устройство и ремонт персонального компьютера. Аппаратная платформа и основные компоненты / С. Бигелоу. – 2-е
изд.; пер. с англ. – М.: ООО «Бином-Пресс», 2005. – 976 с.
38. Мураховский, В.И. Железо ПК. Новые возможности / В.И.
Мураховский. – СПб.: Питер, 2005. – 592 с.
39. Дигитайзеры. – http://www.nstor.ru/ru/catalog/50/3374.html.
40. http://julivi.com/index.php?do=news&action=show&id=7.
41. Дигитайзеры. – http://www.comtense.ru/idx.htm.
42. http://www.immersion.com/digitizer.
43. Красновский, Д. Как правильно выбрать дигитайзер –
http://www.sovets.ru/select/933.htm. – 14.01.2007.
44. Гармаев, Б. Мануальное воздействие: технологии сенсорных экранов. – http://www.terralab.ru/input/37214/. – 27.12.2004.
45. http://julivi.com/index.php?do=news&action=show&id=7.
46. Анатомия сканера: взгляд изнутри. – http://www.fcenter.ru/
/online.shtml?articles/hardware/scanners/8074. – 09.12.2003
47. Анатомия сканеров. – http://www.morepc.ru/scanner/ anatomes.html.
264
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
48. Михайлов, В. Видеокамеры. От телевизионной камеры к
видеокамере // В. Михайлов, П. Шурбелев. – http://rus.625-net.ru/625/
/2000/09/r1.htm.
49. Гультяев, С.Д. Выбор видеокамеры: пособие для начинающих. – http://www.ixbt.com/divideo/camera-choice.shtml. – 01.08.2006.
50. Бесхлебный, И. Твердотельные сенсоры изображения: как
получается цвет. –
http://www.ixbt.com/dig Спектрофотометры
и спектроденситометры. – http://www.calculate.ru/book-accprint-7.html
image/sens.shtml. – 29.06.2004.
51. Спектрофотометры
и
спектроденситометры.
–
http://www.calculate. ru/book-accprint-7.html.
52. Новые спектроденситометры Techkon SpectroDens // КомпьюАрт, 2004. – № 9.
53. Волошин, О. Зверь, именуемый мышь / О. Волошин // Компьютера, 2008. – № 07 (723). – С. 67–69.
54. Волошин, О. В одно касание / О. Волошин // Компьютера,
2008. – № 07 (723). – С. 73–75.
55. Как устроена видеокарта. –
http://www.prestiz.com.ua/cvideo/Kak_ust-roena_videokarta/.
56. Берилло, А. Руководство покупателя видеокарты. Версия
1.2 от 29.02.2008. – http://www.ixbt.com/video3/guide.shtml. –
20.02.2008.
57. Адинец, А.В. О системе программирования вычислений
общего назначения на графических процессорах // Численные методы,
параллельные вычисления и информационные технологии: Сборник
научных трудов; под ред. Вл.В. Воеводина и Е.Е. Тыртышникова/
А.В.Адинец, Н.А.Сахарных. – М.: Издательство Московского Университета, 2008. – С. 25–52.
58. Ерохин, А. Мониторы. – http://www.computerra.ru/special/
/2003/7/ 24786/. – 16.04.2003.
59. Мураховский, В.И. Устройство компьютера; под ред.
С.В.Симоновича. – М.: «АСТ-ПРЕСС КНИГА», 2003. – 640 с.
60. Сокольников,
А.
Матрица:
эволюция
–
http://www.computerra.ru/ offline/2005/582/37932/. – 15.3.2005.
61. Битые пикселы. – http://www.nix.ru.
62. Мультимедийные проекторы: базовые технологии. –
http://pcsystems.by/catalogue/projector/typs/c83a51c59eb4dfba.html.
63. Козловский, Е.С папироской во рте. Проекторы для дома //
Домашний компьютер, 2005. – № 4. – С.22–35.
64. Интерактивные системы. – http://www.viking.ru/info/intersys.htm.
65. Усенков,
Д.Ю.
Как
потратить
миллион?
–
http://www.smartboard.ru/ view_s321_mid_r321_1176115618.htm.
265
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
66. Рогожкин, И. Интерактивные доски изнутри. –
http://www.pcmag.ru/solutions/detail.php?ID=10895.
67. Шлем виртуальной реальности. – www.emagin.ru.
68. Краткая характеристика этих стереоочков. – http://svoishop.info/ 2007/11/virtual-real/.
69. Даймбахер, Ф. Высокопроизводительные вычисления в
нефтяной индустрии. Трехмерная визуализация / Франц Даймбахер. –
Нефтяное хозяйство, 2002. – № 2. – С. 12-15.
70. Ахо, А. Структуры данных и алгоритмы / А. Ахо, Д.
Хопкрофт, Д. Ульман. – М.: Издательский дом «Вильямс», 2000. – 384
с.
71. Яншин, В.В. Обработка изображений на языке Си для IBM
PC: Алгоритмы и программы / В.В. Яншин, Г.А. Калинин. – М.: Мир,
1994. – 241 с.
72. Гардан, И. Машинная графика и автоматизация конструирования: Пер. с фран. / И. Гардан, М. Люка. – М.: Мир, 1987. – 272 с.
73. Ласло, М. Вычислительная геометрия и компьютерная графика на С++; пер. с англ. / М. Ласло – М.: «Издательство БИНОМ»,
1997. – 304 с.
74. Роджерс Д. Математические основы машинной графики /
Д. Роджерс, Дж. Адамс. - М: Мир, 2001. – 604 с.
75. Игнатенко, А. Геометрическое моделирование сплошных
тел [Электронный ресурс] / А. Игнатенко // On-line журнал «Графика
и Мультимедиа». – Режим доступа: http://graphics.cs.msu.ru/ru/library
/3d/solid_modelling/index.html.
76. Вельтмандер, П.В. Машинная графика [Текст]: учебное
пособие. В 3-х кн. Кн. 2. Основные алгоритмы компьютерной графики /
П.В. Вельтмандер. – Новосибирск: Изд-во Новосибирского
государственного технического университета, 1998.
77. Robert F. Sproull and Ivan E. Sutherland. A Clipping Divider //
AFIP Fall Joint Computer Conference. San Francisco, 1968.
78. Фоли Дж., вэн Дэм А. Основы интерактивной машинной
графики: в 2-х книгах.; пер. с англ. – М.: Мир, 1985.
79. Вельтмандер, П.В. Введение в машинную графику. учеб. пособие / П.В. Вельтмандер. – Новосиб. ун-т. Новосибирск, 1995. – 77 с.
80. Павлидис Т. Алгоритмы машинной графики и обработки
изображений / Т. Павлидис; пер. с англ. – М.: Радио и связь, 1986.
81. Порев, В.Н. Компьютерная графика / В. Порев – СПб.:
БХВ-Петербург, 2002. – 432 с.: ил. ISBN 5-94157-139-9.
82. Бронштейн, И.Н. Справочник по математике / И.Н. Бронштейн, К.А. Семендяев. – М.. Л.: ОГИЗ, 1948. – 556с.
83. Смирнов, В.И. Курс высшей математики / В.И. Смирнов. –
М.-Л.: ОГИЗ. – Гостехиздат, 1948.
266
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
84. Стечкин, С.Б. Сплайны в вычислительной математике / С.Б.
Стечкин, Ю.Н. Субботин. – М.: Наука, 1976.
85. Шикин, Е.В. Компьютерная графика. Полигональные модели / Е.В. Шикин, А.В. Боресков. – М.: ДИАЛОГ-МИФИ, 2001. – 464 с.
86. Павлидис, Т. Алгоритмы машинной графики и обработки
изображений; пер. с англ. / Т. Павлидис. – М.: Радио и связь, 1986.
87. Бронштейн, И.Н. Справочник по математике / И.Н. Бронштейн, К.А. Семендяев. – М.-Л.: ОГИЗ, 1948. –556с.
88. Электронный учебник «Компьютерная графика» [Электронный ресурс]. – Режим доступа: http://exilim.osu.cctpu.edu.ru/
/diplom/algor/index.asp. - Систем. требования: ПК 486 или выше; 8 Мб
ОЗУ; Windows 3.1 или выше; SVGA 32768 и более цв.; 640×480; 16бит. зв. карта; мышь. – Загл. с экрана.
89. Вельтмандер, П.В. Машинная графика: учеб. пособие. – В
3-х ч. Ч. 2. / П.В. Вельтмандер. – Новосибирск: НГУ, 1997. – 476 с. –
ISBN 5-230-13606-5.
90. Получение изображения без линз — камера-обскура [Электронный ресурс]. – Режим доступа: http://rriai.org.ru/poluchenieizobrazheniya-bez-linz-kamera-obskura-2.html. – Систем. требования:
ПК 486 или выше; 8 Мб ОЗУ; Windows 3.1 или выше; SVGA 32768 и
более цв.; 640×480; 16-бит. зв. карта; мышь. – Загл. с экрана.
91. Камера обскура [Электронный ресурс]. – Режим доступа:
http://kaless.narod.ru. - Систем. требования: ПК 486 или выше; 8 Мб
ОЗУ; Windows 3.1 или выше; SVGA 32768 и более цв.; 640х480; 16бит. зв. карта; мышь. – Загл. с экрана.
92. Учебник по компьютерной графике [Электронный ресурс].
– Режим доступа: http://compgraph.ad.cctpu.edu.ru/ projections.htm. Систем. требования: ПК 486 или выше; 8 Мб ОЗУ; Windows 3.1 или
выше; SVGA 32768 и более цв.; 640х480; 16-бит. зв. карта; мышь. –
Загл. с экрана.
93. Эгрон, Ж. Синтез изображений. Базовые алгоритмы / Ж.
Эгрон. – М.: Радио и связь, 1993.
94. Иванов В.П., Батраков А.С. Трехмерная компьютерная графика. / М.: Радио и связь, 1995. – 223 с.
95. Тихомиров Ю. Программирование трехмерной графики /
Ю. Тихомиров. – СПб.: BHV, 1998. – 256 с.
96. Роджерс, Д. Алгоритмические основы машинной графики /
Д. Роджерс. – М.: Мир, 1989. – 512 с.
97. Павлидис, Т. Алгоритмы машинной графики и обработки
изображений; пер. с англ. / Т. Павлидис. – М.: Радио и связь, 1986.
98. Сиваков, И. Реальность пакетов трехмерной графики. Графика, №29 – №32, 1997 год. / И. Сиваков. Электронный ресурс. – Режим доступа: http://www.kv.by
267
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
99. Клецель, А. О цвете и цветовых моделях. / А. Клецель.
Электронный ресурс. – Режим доступа: http://www.i2r.ru/static/469/
/out_20214.shtml
100. Павлова, М.И. Визуализация, компьютерная графика
и WEB-дизайн [Электронный ресурс]. – Режим доступа:
http://www.csa.ru/~zebra/my_visual/zvetmod.html
101. Роджерс Д. Алгоритмические основы машинной графики;
пер. с англ. – М.:Мир, 1989. – 512 с.
102. Роджерс Д., Адамс Дж. Математические основы машиной
графики; пер. с англ. – М.:Мир, 2001. – 604 с.
103. Иванов, Д.В. Алгоритмические основы растровой машинной графики / Д.В. Иванов, А.С. Карпов, Е.П. Кузьмин, В.С. Лемпицкий, А.А. Хропов.– БИНОМ, 2007. – 286 с.
104. Керлоу, А.В. Искусство 3D-анимации и спецэффектов:
Пер. с англ. / А.В. Керлоу. – М.: «Вершина», 2004. – 481 с.
105. Домашний компьютер. Онлайн материалы. Глоссарий по
компьютерной графике [Электронный ресурс]. – Режим доступа:
http://old.homepc.ru/online/13780/
106. Карпов, Ю. Имитационное моделирование систем. Введение в моделирование с AnyLogic 5 / Ю. Карпов. – СПб.: БХВПетербург, 2005. – 400 с.
107. Пэрент, Р. Компьютерная анимация: Теория и алгоритмы:
Пер. с англ. / Р. Пэрент. – М.: КУДИЦ-ОБРАЗ, 2004. – 560 с.
108. Саймон, М. Как создать собственный мультфильм. Анимация двухмерных персонажей; пер. с англ. / М. Саймон. – М.: НТ
Пресс, 2006. – 336 с.
109. Чепмен, Н. Цифровые технологии мультимедиа; пер.
с англ. / Н. Чепмен, Д. Чепмен. – М.: Вильямс, 2006. – 624 с.
110. Прэтт, У. Цифровая обработка изображений; пер с англ.
В 2-х кн. / У. Прэтт. – М.: Мир, 1982. – 312 с.
111. Мазеев, М. Метаморфические преобразования растровых
изображений (morphing) / М. Мазеев. [Электронный ресурс]. – Режим
доступа: http://graphics.cs.msu.ru/courses/cg2000b/hw4/hw-4.htm.
112. Лисицин, Е. Задание №4. Геометрическое морфирование /
Е. Лисицин. [Электронный ресурс]. – Режим доступа: http://graphics.cs.msu.ru/cour-ses/cg/assigns/2004/hw4/index.html.
113. Glasser, A.D. Morph / A.D. Glasser. [Электронный ресурс].
– Режим доступа: http://graphics.cs.msu.ru/courses/cg/assigns/2004/hw4/
/g5078.pdf.
114. Beier, T. Feature-Based Image Metamorphosis / Thaddeus Beier,
Shawn Neely // SIGGRAPH’92, July 26 – 31. – Chicago, 1992.
115. Флеминг, Б. Методы анимации лица. Мимика и артикуляция; пер. с англ. Animating Facial Features and Expressions / Б.
268
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Флеминг, Д. Доббс; под общ. ред. Е.А. Козицкой. – М.: ДМК Пресс,
2002. – 336 с.: ил. – (Серия «Для дизайнеров»).
116. Роджерс, Д. Математические основы машинной графики /
Д. Роджерс. – М.: Мир, 2001.
117. Боресков, А.В. Компьютерная графика. Динамика, реалистические изображения / А.В. Боресков, Е.В. Шикин. – М.: ДИАЛОГМИФИ, 1995.
118. Гилой В. Интерактивная машинная графика / В. Гилой. –
М.: Мир, 1981.
119. Ньюмен, П. Основы интерактивной машинной графики /
П. Ньюмен, Р. Спрулл. – М.: Мир, 1976.
120. Бондарев, В.Н. Искусственный интеллект /В.Н. Бондарев,
Ф.Г. Аде. – Севастополь: Изд-во СевНТУ, 2002. – 615 с.: ил.
121. Стокман, Дж. Компьютерное зрение / Дж. Стокман, Л.
Шапиро. – М.: Бином. Лаборатория знаний, 2006. – 752 с.
122. Горелик, А.Л. Методы распознавания / А.Л. Горелик, В.А.
Скрипник. – М.: Высшая школа, 1989. – 232 с.
123. Васильев, В.И. Проблема обучения распознаванию образов
/В.И. Васильев. – К.: Высш.шк. Головное изд-во, 1989. – 64 с.
124. Сойфер, В.А. Методы компьютерной обработки изображений / под ред. В. А. Сойфера, 2-е изд. испр., М.: Издательство
ФИЗМАТЛИТ, 2003. – 784 с.
125. Ватолин Д., Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео / Д. Ватолин, А.Ратушняк, М.
Смирнов, В. Юкин – М.: Диалог-МИФИ, 2003. – 384 с
126. Назаров, Л.Е., Нейросетевой, фрактальный и JPEG алгоритмы сжатия изображений / Л.Е. Назаров и З.Т. Назарова // Инфо рмационные технологии. – 2001. – №1. – С.3 –10.
127. Сэломон, Д. Сжатие данных, изображений и звука / Д. Сэломон – М.: Техносфера, 2004. – 367 с.
128. Уэлстид, С. Фракталы и вейвлеты для сжатия изображений в действии: учеб. пособие / С. Уэлстид – М.: Изд-во Триумф,
2003. – 320 с.
129. Еременко, В.Т. Методологические, технологические и социокультурные аспекты информатики: Монография. / В.Т. Еременко,
С.Ю. Лачинов, О.В. Третьяков– Орел: Изд-во ОРАГС, 2007 – 188с.
130. Еременко, В.Т. Методика выбора метода и параметров
сжатия цифровых изображений в модульных структурах сбора и обработки данных АСУП /В.Т.Еременко, В.В. Линьков // Известия
ОрелГТУ. Серия «Фундаментальные и прикладные проблемы техники
и технологии». – 2007, №4/268(535) – С. 205-210.
131. http://www.pcmag.ru/issues/detail.php?ID=9871 Пакеты иллюстративной графики.
269
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
132. Семакин, И. Компьютерная графика: учеб. пособие. Базовый курс. Глава 4. Назначение и основные функции.
http://school.ort.spb.ru/ /library/exam_help/graphics1.htm.
133. CorelDRAW® Graphics Suite X4. http://apps.corel.com/
/int/ru/cgsx4/index.html.
134. Adobe Illustrator CS – обзор версии. http://www.i2r.ru/static/
/469/out_21667.shtml.
135. Курушин, В.Д. Дизайн и реклама / В.Д. Куршин. – М.: ДМК
Пресс, 2006. – 272 с.
136. Пилюгин, В. В. Машинная графика и автоматизация научных исследований / В. В. Пилюгин, Л. Н. Сумароков, К. В. Фролов //
Вестник АН СССР. – М. : АН СССР, 1985. – №10. – С. 50 – 58.
137. Соловов, А. В. Проектирование компьютерных систем
учебного назначения: учеб. пособие / А. В. Соловов. Самара : СГАУ,
1995. – 138с.
138. Поспелов, Д.А. Фантазия или Наука. На пути к искусственному интеллекту / Д.А. Поспелов. – М. : Наука, 1982.
139. Ротенберг, В. Мозг. Стратегия полушарий / В. Ротенберг.
– М., Наука и жизнь. – 1984. – №6.
140. Щекин, Г.В. Ассиметрия мозга и психологические особенности человека / Г.В. Щекин // Ваша тестотека. – Киев: Межрегион. заочн. универс. управл. персоналом, 1992. – №2. – С. 102 – 112.
141. Зенкевич, О. Метод конечных элементов в технике; пер.
с англ. / О. Зенкевич. – М.: Мир, 1975.
142. Фоли, Дж. Основы интерактивной машинной графики; пер.
с англ. В 2-х кн. / Дж. Фоли, А. Вэн Дэм. – М.: Мир, 1985.
143. Соловов, А.В. Структура – комплекс по изучению методов
проектирования структур механических конструкций / А.В. Соловов,
А.А. Черепашков. – Самара: СГАУ, 1995. – 61 с.
144. Соловов, А.В. Оптимизация – комплекс по математическим методам оптимального проектирования / А.В. Соловов, С.В.
Мрыкин, А.Г. Колпащиков. – Самара: СГАУ, 1994. – 64 с.
145. Зенкин, А.А. Когнитивная реальность: порождение творческих решений в науке, образовании, управлении / А.А. Зенкин, А.А.
Зенкин // Труды Международной конференции «Пользовательский
интерфейс в современных компьютерных системах». – Орел : ОрелГТУ, 1999. – с. 146 – 169.
146. Зенкин, А.А. Знание – порождающие технологии когнитивной реальности / А.А. Зенкин. – М. : Новости искусственного интеллекта, 1996. – №2. – С. 72-78.
147. Зенкин, А.А. Обобщенная проблема Варинга: об одном
новом свойстве натуральных чисел / А.А. Зенкин // Математические
заметки. – М., 1995. – Т. 58. – Вып. 3. – С. 372-378.
270
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
148. Зенкин, А.А. Супериндукция: новый метод доказательства
общих математических утверждений с помощью компьютера / А.А.
Зенкин // Доклады РАН. – М., 1997. – Т. 354. – №5. – С. 587 – 589.
149. Зенкин, А.А. Интеллектуальные системы, основанные на
концепции когнитивной компьютерной графики / А.А. Зенкин, А.А.
Зенкин // Международная конференция «Анализ систем на пороге
XXI века»: труды конференции, 27 – 29 февраля 1996 г. – М. : Интеллект, 1997. – Т. 3. – С. 357-371.
150. Зенкин, А.А. Когнитивная компьютерная графика: некоторые вопросы методологии применения в интеллектуальных системах / А.А. Зенкин // Национальная конф. с междун. участием «Искусственный интеллект-94» : сб. научн. тр. – Киев : КИИ, 1994.
151. Вельтмандер, П.В. Вводный курс компьютерной графики:
учеб. пособие: в 3-х кн. / П.В. Вельтмандер. – Новосибирск : НГУ,
1997. – ISBN 5-230-13583-2.
152. Зенкин, А.А. Интерактивная компьютерная графика и
проблемы интенсификации научного творчества: автореф. дис. д.ф.м.н.: 05.13.11 / А.А. Зенкин. – М., 1987. – 49 с.
153. Донской, М. Пользовательский интерфейс. http://www.usability.ru/toader/articles/user_interface.htm.
154. Жарков, С. Shareware: профессиональная разработка и
продвижение программ / С. Жаров. –СПб.: БХВ Санкт-Петербург,
2002. – 320 с.
155. Myers, B. Creating dynamics interaction techniques by
demonstration. ACM CHI 87-GI Conference, 1987.
156. Доценко, Е.Л. Манипулятивные технологии: учеб. пособие
/ Е.Л. Доценко. – Самара: Бахрах-М, 2001. – 637 с.
157. Доценко, Е.Л. Механизмы манипулятивного воздействия:
учеб. пособие / Е.Л. Доценко. – Самара: Бахрах-М, 2001. – 669 с.
158. Зееман, И. Познание и информация / И. Зееман. – М.: Прогресс, 1966. – 254 с.
159. Кальоти, Дж. От восприятия к мысли. О динамике неоднозначного и нарушениях симметрии в науке и искусстве; пер. с нем:
В.А. Копцика / Дж. Кальоти. – М.:Мир, 1998. – 221 с.
160. Кара-Мурза, С.Г. Манипуляция сознанием / С.Г. Кара-Мурза –
М.: Синтег, 2001. – 864 с.
161. Харрис, Р. Психология массовых коммуникаций / Р. Харрис.
– СПб.: Нева, М.:Оптима–Пресс, 2001. – 448 с.
162. Менегетти, А. Кино, театр, бессознательное. Т. 1 / А. Менегетти. – М.: ННБФ «Онтопсихология», 2004. – 411 с.
163. Григорьев, Э.А. Когнитивная роль интуитивных гипотез
и визуального образа моделируемой реальности /Э.А. Григорьев // Ма-
271
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
териалы первой Международной конференции «Когнитивный анализ и
управление развитием ситуаций» (CASC’2001.), 2001. – С. 5–16.
164. Ошивалов, А.В. Синтез информационных технологий обработки когнитивной информации в системах поддержки принятия
решений / А.В. Ошивалов. – Воронеж, 1999. – 140 с.
165. Козлов, Л.А. Когнитивное моделирование на ранних стадиях проектной деятельности: учеб. пособие / Л.А. Козлов. – Барнаул:
Алт. гос. техн. ун-т, 1998. – 166 с.
166. Баксанский, О.Е. Образ мира: когнитивный подход / О.Е.
Баксанский. – М.: Альтекс, 2000. – 107 с.
167. Еременко, В.Т. Информационная безопасность (конспект
лекций) / В.Т. Еременко – Орел. – ОрелГТУ, 2007 – 207 c.
168. Еременко, В.Т. Методологические, технологические и социокультурные аспекты информатики: монография / В.Т. Еременко,
С.Ю. Лачинов, О.В. Третьяков. – Орел: Изд-во ОРАГС, 2007 – 188с.
169. Arnheim, R. Visual thinking / Rudolf Arnheim, Berkley and
Loas Angeles University of California Press, 1969. – 346 с.
170. Аграновский, А.В. Основы компьютерной стеганографии /
А.В. Аграновский, П.Н. Девянин, Р.А. Хади, А.В. Черемушкин. – М.:
«Радио и связь», 2003, стр. 90–131.
171. Cachin, C.: An Information-Theoretic Model for Steganography. In: Aucsmith D. (eds.): Information Hiding: 2nd International Workshop. Lecture Notes in Computer Science, Vol.1525. Springer-Verlag, Berlin Heidelberg New York, 1998, pp. 306–318.
172. Eggers, J.J., Bäuml, R., and Girod, B.: A Communications
Approach to Image Steganography. Proceedings of SPIE: Electronic Imaging 2002, Security and Watermarking of Multimedia Contents, Vol. 4675.
San Jose, California, 2002, pp. 211–240.
173. Katzenbeisser, S. and Petitcolas, F.A.P.: On Defining Security
in Steganographic Systems. Proceedings of SPIE: Electronic Imaging 2002,
Security and Watermarking of Multimedia Contents, Vol. 4675. San Jose,
California, 2002, pp. 106–119.
174. Sharp, T. An Implementation of Key-Based Digital Signal Steganography, In: LNCS vol. 2137, Springer-Verlag, New York, 2001, pp. 13–26.
175. Chandramouli, R. and Memon, N.: A Distributed Detection
Framework for Watermark Analysis. Proc. ACM Multimedia Workshop on
Multimedia and Security, Los Angeles, California, 2000, pp. 37–56.
176. Wu, M., Fridrich, J., Goljan, M. and Gou, H.: "Data Hiding in
Digital Binary Images: A Revisit". Proc. SPIE, Electronic Imaging, Security, Steganography, and Watermarking of Multimedia Contents VII. San Jose (2005) pp.194-205
177. Westfeld, A.: High Capacity Despite Better Steganalysis (F5–
A Steganographic Algorithm). In: Moskowitz, I.S. (eds.): Information Hid-
272
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ing. 4-th International Workshop. Lecture Notes in Computer Science,
Vol.2137. Springer-Verlag, Berlin Heidelberg New York, 2001, pp. 289–
302.
178. Tzschoppe, R., Bäuml, R., Huber, J.B. and Kaup, A. Steganographic System based on Higher-Order Statistics, Proc. EI SPIE Electronic Imaging, Santa Clara, January 21–24, 2003, pp. 156–166.
179. Alturki, F. and Mersereau, R. A Novel Approach for Increasing
Security and Data Embedding Capacity in Images for Data Hiding Applications, Proc. of ITCC, Las Vegas, Nevada, 2001, pp. 228–233.
180. Быков, С. Ф. Алгоритм сжатия JPEG с позиции компьютерной стеганографии. //Конфидент №3, 2000, стр. 36–39.
181. Chandramouli, R. and Memon, N. D. On sequential watermark
detection, to appear in IEEE Transactions on Signal Processing, Special Issue on Signal Processing for Data Hiding in Digital Media and Secure Content Delivery, 2003, pp. 411–420.
182. Provos, N. and Honeyman, P.: Detecting Steganographic Content on the Internet. CITI Technical Report 01-11, 2001, pp. 12–37.
273
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Учебное издание
Фисун Александр Павлович
Минаев Владимир Александрович
Константинов Игорь Сергеевич
Коськин Александр Васильевич
Еременко Владимир Тарасович
Зернов Владимир Алексеевич
Белевская Юлия Александровна
Дворянкин Сергей Владимирович
ИНФОРМАТИКА
Ча с ть 3
Ме то д ы , мо д е л и и с ре д с тва о б ра б о тки
г ра фич е с ко й инфо рм а ции
Учебник
Редактор Е.В. Рюмина
Технический редактор Д.В. Агарков
Государственное образовательное учреждение
высшего профессионального образования
Орловский государственный технический университет
Лицензия ИД №00670 от 05.01.2000 г.
Подписано к печати 31.08.2009 г. Формат 60х84 1/16.
Печать офсетная. Усл. печ. л. 39,3. Тираж 1000 экз.
Заказ № 03/11п 1
Отпечатано с готового оригинал-макета
на полиграфической базе ОрелГТУ,
302030, г. Орел, ул. Московская, 65.
274
Документ
Категория
Другое
Просмотров
1 455
Размер файла
4 460 Кб
Теги
информатика, 783
1/--страниц
Пожаловаться на содержимое документа