HMIrddr32

advertisement
Организация Человеко-машинного интерфейса
1. Человеко-машинный интерфейс - (Human machine interface, HMI) —понятие, охватывающее инженерные
решения, для взаимодействие человека (оператора) с управляемыми им машинами. Создание систем
человеко-машинного интерфейса увязано с понятиями эргономика и юзабилити (удобству пользования).
Проектирование системы HMI включает в себя:
1.1 Создание рабочего места: стола, или пульта управления, кресла, размещение приборов и органов
управления, устройства ввода данных, освещение рабочего места. Соответствием этого физиологии человека
занимается эргономика).
Пример реализации рабочего места в человеко машинном интерфейсе на хим водоочистке VKG.
Важен микроклимат, т.е. температура, движение воздуха, солнечный свет, комфорт для чеовека.
1.2 Организацию взаимодействие оператора со всеми органами управления: доступность, необходимые
усилия, скорость доступа непротиворечивость управляющих воздействий, исключенние неправильных
действий (в том числе т. н. «защита от дурака»). Нужно учитывать расположение дисплеев, размеры
надписей на них, привлечение и отвлечение внимания оператора и другие особенности. Всё это входит в
сферу юзабилити. Сложной задачей является создание эффективного интерфеса рабочих мест систем и
машин с множеством органов контроля и управления,
В настоящее время Человеко-машинный интерфейс чаще всего реализуется с использованием типовых
средств: операторских панелей, компьютеров и типового программного обеспечения, заложеного в SCADA
системы. Реализация SCADA HMI (человеко-машинного интерфейса) выполняется
с отображением
информации на ПК или операторских панелях. Там же проводится взаимодействие оператора со всеми
органами управления. Несмотря на появление вчичлитедьной техники с их устройствами представления
информации, локальные приборы и панели сигнализации и блокировки по прежнему остаются на щитах и
пультах. Обработка ииформации с этих локальных устройств входит в область Человеко-машинный
интерфейса в комплексе с информацией на ПК или операторских панелях.
2. Инжене́рная психоло́ гия
Инжене́рная психоло́гия — отрасль психологии, исследующая процессы и средства информационного
взаимодействия между человеком и машиной, а также со средствами автоматизации. Важнейшими
составляющими исследованиями стали процессы восприятия и переработки оперативной информации, и
принятия решений в условиях ограниченного времени.
2.1 Шаги психологических исследований приразработке интефейса:
1. Анализ задач человека в системах управления и распределения функций между человеком и
автоматическими системами.
2. Исследование совместной деятельности операторов, общения и взаимодействия между ними.
3. Исследование факторов, влияющих на качество, точность, скорость, надежность действий операторов.
4. Исследование процессов приема человеком информации.
5. Исследование формирования команд управляющих действий человеком.
6. Разработка методов диагностики и отбора специалистов операторского профиля.
7. Разработка методов защиты операторов от эмоционального выгорания, оптимизация процессов
обучения операторов.
2.2 Эргоно́мика — в традиционном понимании — наука о приспособлении рабочих мест, предметов и
объектов труда, а также компьютерных программ для наиболее безопасного и эффективного труда работника,
исходя из физических и психических особенностей человеческого организма.
Эргономика изучает действия человека в процессе работы, скорость
освоения им новой техники, затраты его энергии, производительность при конкретных видах деятельности.
Современная эргономика подразделяется на микроэргономику, мидиэргономику и макроэргономику.
Ми́кроэргономика занимается исследованием и проектированием систем «человек — машина». В частности,
проектирование интерфейсов программных продуктов находится в ведении микроэргономики.
Ми́диэргономика занимается изучением и проектированием систем «человек — коллектив», «коллектив —
машина», «человек — сеть». Именно мидиэргономика исследует производственные взаимодействия на
уровне рабочих мест и производственных задач. К ведению мидиэргономики, в частности, относится
проектирование структуры организации и помещений; планирование и установление расписания работ;
гигиена и безопасность труда.
При организации рабочих мест необходимо учитывать положения работающего, размеры рабочей зоны и
необходимость передвижения в ней работающего в процессе выполнения работ, особенности процесса
выполнения работ, время пребывания.
Конструкция рабочего места должна обеспечивать выполнение трудовых операций в зонах моторного поля в
зависимости от требуемой точности и частоты действия: ыполнение трудовых операций «очень часто» (2 и
более операций в минуту) и часто (менее 1 операции в минуту) должно производиться в пределах зоны
легкой досягаемости; выполнение редких трудовых операций допускается в пределах зоны досягаемости
моторного поля.
Конструкция и обустройство рабочего места должны обеспечивать оптимальную рабочую позу работника, не
препятствующую естественным физиологическим процессам работника и обеспечивающую оптимальную
возможность выполнения работы: В современном мире значительная часть работы делается в положении
сидя, организуя сидячее рабочее место необходимо обращать внимание на следующие факторы: Высоту
рабочей поверхности и размеры рабочей зоны, возможности регулировать эти параметры под
индивидуальные особенности организма работающего; высоты и строения опорной поверхности (плоская
опорная поверхность, наклонные распределенные опорные поверхности); пространства для ног.
На рабочем месте не должно быть ничего лишнего, все необходимое для работы должно находиться в
непосредственной близости от работающего, размещение оснастки должно исключать неудобные позы
работника. Те предметы, которыми пользуются чаще, располагаются ближе тех предметов, которыми
пользуются редко. Те предметы, которые берутся левой рукой, должны находиться слева, а те предметы, что
берутся правой рукой, — справа; Рабочее место не должно загромождаться заготовками и готовыми
деталями.
Конструкция и расположение средств отображения информации, предупреждающих о возникновении
опасных ситуаций, должны обеспечивать безошибочное, достоверное и быстрое восприятие информации.
Л 2. 3.1 Интерфе́йс по́льзователя ( user interface) — разновидность Человк машинных интерфейсов. Это
совокупность средств, методов, графических элементов и программ при помощи которых пользователь
взаимодействует с конкретными машинами, устройствами и аппаратами. Понятие более узкокое чем ЧМИ.
Несколько широко распространённых примеров: меню на экране телевизора + пульт дистанционного
управления;
дисплей электронного аппарата + набор кнопок и переключателей для настройки;
Интерфейс двунаправленный (интерактивный) — когда устройство, получив команды от пользователя и
исполнив их, выдаёт информацию пользователю разными средствами — визуальными, звуковыми, и т. п.
Интерфейс состоит из элементов, которые, также могут состоять из элементов (экран дисплея может
содержать в себе другие окна, которые, могут содержать панели, кнопки и прочие интерфейсные элементы).
Особое внимание в интерфейсе пользователя традиционно уделяется его эффективности и удобству
пользования (юзабельности). Понятный, удобный, дружественный — его основные характеристики.Лучший
интефейс – интуитивнй интерфейс, когда без дополнителных подсказок понятно куда нажимать или что
набирать на следующем шаге.
Разновидности интерфейса пользователя:
Текстовый интерфейс пользователя (в частности, интерфейс командной строки)
Графический интерфейс пользователя в частности Оконный интерфейс
Web-ориентированный интерфейс,
Масштабируемый интерфейс пользователя
Голосовой интерфейс, Сенситивные интерфейсы
Удобство пользования интерфейсом
3.2 Удобство использования, Юзаби́лити ( usability — дословно «возможность использования»,
«полезность») — понятие степени пользователями при достижении определённых целей. Термин имеет
связь с понятием «эргономичность», но в отличие от последнего меньше ассоциируется с технической
эстетикой, с внешним видом и более привязан к удобству и простоте применения.
При разработке пользовательских интерфейсов словом юзабилити обозначают общую концепцию их
удобства при использовании программного обеспечения, логичность и простоту в расположении элементов
управления. При этом нередко происходит смешение понятий — утилитарных и эстетических. Тогда
полезность конкретного решения для пользователя считается вытекающей из оригинальности внешнего вида.
Но по сути это суммарная степень удобства, и мера интеллектуального усилия, необходимого для получения
полезных качеств этой вещи, совместно со скоростью достижения положительного результата.
В широком значении термин «юзабельность» употребляется как удобство пользования приспособлений и
инструментов для повышения «удобства применения», «дружественности и простоты при пользовании».
Верхом удобства для пользователя является интуитивность интерфейса.
Люди могут работать с различными формами информации, некоторые из них компьютерные, многие — нет (к
примеру доски, блокноты, стикеры (этикетки, наклейки), стикеры с магнитами). Им так проще понимать и
эффективно воздействовать для изменения мира. В области совместной работы акцент делается на
использование связанных вычислительных систем для работы группы людей. Например, в системе
управления установкой дистилляции генераторных смол (VKG), можно одновременно вызывать одни и те же
графические формы на черырех мониторах и операторы понимают что делает один из них своем объекте, не
отвлекая его от работы.
3.3 Человеко-компьютерное взаимодействие ( human-computer interaction) —научное направление,
существующее в целях совершенствования методов разработки, оценки и внедрения компьютерных систем,
предназначенных для использования человеком.
Взаимодействие между пользователями и компьютерами происходит через пользовательский интерфейс,
который включает в себя программное и аппаратное обеспечение, например, через образы, отображаемые
на экранах дисплеев, через данные, полученные от пользователя посредством аппаратных устройств ввода (в
том числе таких как клавиатуры и мыши) и другие элементы
взаимодействия пользователя с
автоматизированными системами, например для воздушных суден или электростанций.
Манипулятор «мышь» — одно из средств человеко-компьютерного
взаимодействия.
Человеко-компьютерное взаимодействие изучается как с человеческой стороны, так и с компьютерной.
Нужно учитявать как человеческий фактор, так и компьютерный. С компьютерной стороны важны технологии
компьютерной графики, среды разработки и операционных систем. С человеческой стороны, важна
реализация коммуникации, графическое проектирование, психология и такой человеческий фактор как
удовлетворение пользователей. Люди с разным уровнем подготовки вносят свой вклад в его успех. Плохо
разработанные интерфейсы могут стать причиной многих проблем. Классическим примером этого является
авария на АЭС Три-Майл-Айленд, где в ходе расследования было выявлено, что, частичную ответственность за
катастрофу нес в себе непродуманный интерфейс. Аварии в авиации возникали вследствие решения
производителей использовать нестандартные приборы и расположение штурвала. Хотя предполагалось, что
новые конструкции были более совершенны по человеко-компьютерного взаимодействию, пилотам было
понятние «стандартное» расположение, и хорошая идея повлекла нежелаемые результаты.
Человеко-компьютерное взаимодействие имеет различия с человеческим фактором (учитываемым в
эргономике и юзабилити) в том, что нем взаимодействие акцентирует своё внимание больше на
пользователях, работающих с компьютерами, чем с другими видами техники или артефактами. Также
человеко-компьютерное взаимодействие основано на реализации программного обеспечения и
оборудования для этого взаимодействия. Проектировщик определяет те «манипуляторы» (мышь,
клвиатутуры, touch-объекты, мониторы, экраны) с помощью которых идет взаимодействие с программными
продуктами.
4.1 При разработке нового интерфейса следует иметь в виду следующие принципы:
Интерфейс разрабатывается для человека который будет с ним реально работать. С самого начала
необходимо установить количество. пользователей, необходимых для выполнения поставленной задачи и
определить реальное число пользователей. Эти количества могут не совпадать. Уже в начале разработки
требуется разрешить это противоречие и определить и утвердить подходящих пользователей. Желающих
примазаться будет много, но они только навредят. Кто-либо никогда не использовавший интерфейс, либо
тот, кто никогда не будет его использовать в будущем является неподходящим пользователем. Кроме того,
необходимо определить какие задачи и как часто будут выполнять реальные пользователи.
На ранней стадии требуется проводить тесты интерфейса с реальными пользователями, которые в жизни
проводят эти операции каждый день. Имейте в виду, что результаты могут быть отрицательными, если
последовательногсти операций поуправллению и конторолю пользователя не будут точно отображаться в
человеко-компьютерном взаимодействии. По тестам следует установить количественные особенности, такие
как: количество пользователей, выполняющих задачи, время выполнения задачи, и количество ошибок,
сделанных в ходе выполнения задачи.
После определения и постановки задач, определения пользователей, измерений особенностей, несколько
раз выполните следующие шаги итеративной разработки:
1. Скорректируйте пользовательский интерфейс,
2. Снова проведите тестирование,
3. проанализируйте результаты,
4. Повторите предыдущие шаги.
Повторяйте итеративную разработку до тех пор, пока не создадите практичный, удобный для пользователя
интерфейс.
Это описание методики «Ориентированного на пользователя проектирования». Разработка, ориентированная
на пользователя в данный момент является современной, широко практикующейся философией, суть которой
заключается в том, что пользователи должны занимать центральное место в разработке любой компьютерной
системы. Пользователи, разработчики и технические специалисты работают вместе чтобы чётко выразить
желания, потребности и границы, и создать систему, отвечающую этим требованиям.
Семь принципов разработки ползовательского интерфейса могут рассматриваться в любое время, в любом
порядке в течение всего времени разработки, это: 1. привычность, 2. простота, 3. Очевидность
(интуитивность), 4. допустимость, 5. последовательность, 5. Структура, 6. обратная связь. Часть случаев
аварий самолета была связана с привычкой к другому интерфейсу, например, куда тянуть рычаг вверх или
вниз. Так разбился самолет с командой «Локомотива» из за другого типа летательного аппарата. Реализаия
другого принципа – при увеличении значения зпдания с помощью бегунка следует программировать го
подъем вверх.
Л3 4.2 Операторская панель обычно представляет собой конструкцию, имеющую плоскую переднюю часть с
дисплеем и органами управления, с высоким IP, защищённую от негативного воздействия окружающей
(агрессивной) среды и механического воздействия. Как правило, панель имеет небольшую глубину, что
позволяет удобно разместить её на панели управления, пульте оператора, или на дверце шкафа,
содержащего устройства автоматизации. Внутреннее устройство панели в общих чертах аналогично
устройству промышленного компьютера, с поправкой на особенности эксплуатации, применяемых в
промышленности.
Типовая операторская панель имеет:
средства отображения информации: в виде текстового дисплея или графического экрана, ЖК-дисплеи, табло,
группы светодиодов; Технические средства , обеспечивающие манипуляции оператора: клавиатура, кнопки,
сенсорный экран, встроенный или подключаемый джойстик или трекбол. Трекбол функционально
представляет собой перевернутую механическую (шариковую) мышь. Пользователь может вращать его
ладонью или пальцами для информации о перемещении.
Типичный трекбол ноутбука.
Для осуществления связи с объектом управления (обычно посредством промышленной сети), имеются
интерфейсы связи, для хранения операционной системы, программ управления объектом и поддержки
проекта, имеется память, энергозависимая (ОЗУ) и энергонезависимая (например флеш-память).
Панель: SIMATIC MP370.
В системах автоматизации операторская панель работает во взаимодействии с промышленным
контроллером. Операторские панели, могут взаимодействовать с контроллерами различных производителей,
однако использование панели и контроллера от одного производителя обеспечивает наиболее простое и
надежное решение задачи.
Операторская панель служит для запуска и останова оборудования, выбора режимов работы, введения новых
рецептур, наблюдения за ходом процесса, отображения сообщений о неполадках и авариях, архивации и
протоколирования данных технологического процесса. Уровень безопасности SIL (Safety Integrity Level) 3
согласно IEC 61508, не позволяет иметь в составе средств перепрограммирования панели.
Операторские панели могут быть интегрированы в системы управления высокого уровня (АСУ ТП или АСУП),
предоставляя им необходимые данные и получая от них данные для управления технологическим процессом.
Часто эта связь производится через интерфейс Industrial Ethernet и локальную сеть предприятия.
Панельный промышленный компьютер (Панельный ПК) — операторская панель, по своему внутреннему
устройству и производительности максимально приближенная к современным персональным компьютерам,
может программироваться с использованием любых инструментальных средств программирования,
применимых для ПК. В одном корпусе диспей ( в том числе сенсорный) и оборудование мощного
персонального компьютера. Широко используется в управлении котлами на VKG Energia ( панель диагональ
22 мм.). Такие панели работают с определёнными операционными системами, обычно мягкого реального
времени. Программное обеспечение пользователя, в случае применения открытой ОС, обычно создается на
отдельном компьютере. Затем программа пользователя, загружается в операторскую панель. Недостаток –
время жизни определяется временем нормальной работы экрана.
4.3 Кристофер Викенс выделил 13 принципов разработки дисплея в своей книге «An Introduction to Human
Factors Engineering».
Эти принципы восприятия и обработки информации могут быть использованы для создания эффективного
проекта дисплея. Сокращение количества ошибок, требуемого времени, повышение результативности и
увеличение уровня удовлетворённости пользователей — это те из многих потенциальных выгод, которые
могут быть достигнуты путём применения данных принципов. Некоторые принципы не могут быть
применимы к некоторым дисплеям или ситуациям.
Некоторые принципы могут показаться противоречащими друг другу, и не существует доказательства, что
один принцип является более важным, чем другой. Принципы могут быть адаптированы к конкретной
разработке или ситуации. Функциональный баланс между принципами имеет важное значение для
эффективной разработки.
Принципы, относящиеся к восприятию
1. Сделайте дисплей чётким. Читаемость дисплея является важным критерием в проектировании дисплея.
Если символы или объекты отображаются нечётко, то пользователь не может эффективно их использовать.
2. Избегайте однозначного значения париметра. Не просите пользователя связывать вид представления
переменной (например цвет, размер, громкость) на основе лишь единственного значения сенсорной
(датчикой) переменной. Эти сенсорные переменные постоянно меняются и могут содержать множество
различных уровней. Например, аварийное область технологического параметра находится в широком
диапзоне значений, и любое из них аварийное. Поэтому для указания состояния переменной (нормальное,
предаварийное, аварийное) используйте попадание в соответствующий диапазон зачений (через границы
диапазона).
3. Обработка сверху-вниз. Сигналы воспринимаются и толкуются в соответствии с ожиданиями,
сформированными на основе более раннего опыта пользователя. Например, оператор знает порядок измения
параметров во времени. Эти параметры в такой же последовательности дожны быть представлены на экране
(справа налево или сверху вниз) Если сигнал представлен, вопреки ожиданиям пользователя, в другой
последовательности, то оператору потребуется больше времени, чтобы понять суть сигнала. Нужно больще
интектуальных усилий сообразить что сигнал был понят верно и, например, произошло нарушение режима
процесса.
Если обработка предмета труда Вашего технологического процесса происходит последовательно по
различным аппаратам или зонам аппарата, то и технологические параметры должны должны быть
расположнгы друг за другом в этой же последовательности.
4. Избыточность представления- это выгодно. Если сигнал представлен в нескольких видах (более одного
раза), больше шансов, что он будет быстро понят верно. Это возможно сделать с помощью представления
сигнала в альтернативных физических формах (например, цвета, форма, голос и т. д.), так как избыточность не
не означает глупого повторения. Светофор является прекрасным примером избыточности, так цвет и
положение являются нормальным использованием избыточности.
5. Сходства приводят к путанице. Используйте резко отличающиеся элементы. Похожее обозначение
сигналов будет приводить к путанице. Соотношение схожих признаков в различных обозначениях
параметров является причиной ошибок при определении значений несхожих сигналов. Обозначейте
параметры так, чтобы их было трудно спутать. Например, А423В9 больше похоже на А423В8, чем 92 на 93.
Ненужные похожие признаки должны быть удалены, а непохожие признаки должны быть выделены.
Здесь
отображаются в реальном времени более 100 разнообразных технологических параметров.
Принципы умозрительной модели
6. Принцип изобразительного реализма. Графический элемент должен выглядеть как переменная, которую
он представляет (например, высокая температура на термометре показана высоким вертикальным уровнем
и/или красным цветом). Если есть множество составляющих, тожелательно их отобразить так, как они будут
выглядеть в среде, где они будут представлены. Схема процесса должна соотвествовать рельному
располжению и связям аппаратов и устройств. Пример: 8 газогенераторов ГГС-5
7. Принцип движущейся части. Движущиеся элементы должны двигаться по той схеме и в том направлении в
как оно движется в системе. В результате это движение также происходит в мысленном представлении
пользователя. Например, движущийся в верх элемент на схеме должен двигаться вверх с набиранием высоты.
На экране генераторов ГГС 5 газовая фаза уходит в ввевх, в барильеты, а газ и воздух подаются в топку снизу.
Желтые трубопроводы – газ, синие – воздух.
Принципы, основанные на внимании
8. Минимизация времени доступа к информации. Когда внимание пользователя перемещается из одного
места в другое в целях доступа к необходимой информации, то затрачивается много времени и усилий.
Конструкция дисплея и графические формы на мониторе должны уменьшить интелектуальные затраты. Часто
используемые источники информации должны находиться в ближайших позициях к пользователю и
недалеко друг от друга. Однако при этом не должна быть утеряна связность и понятность схемы. На экране
генераторов ГГС 5 все параметры конкретного газогенератоа на графическом элементе этого генератора в
соответствие с их расположением по высоте на корпусе газогенератора.
9. Принцип совместимости. Разделённое внимание между двумя источниками может быть необходимо для
выполнения одной задачи. Эти источники должны быть мысленно взаимосвязаны и иметь мысленную
близость. Смотри как сконцентрированы параметры относящиеся к одному газогенератору. Время доступа к
информации должно быть небольшим и это может быть достигнуто различными способами (например,
близкое расположение, одинаковый цвет, узоры, формы и т. д.). Однако, близость отображения может
привести к путанице и следует применять принцип по резкому разделения обозначений различных
параметров.
Л4 10. Принцип большого количества ресурсов. Пользователь более просто и быстро обрабатывает
совпадающую информацию с разных ресурсов представления. Например, зрительная и слуховая информацию
о изменении параметра желательно представлять одновременно. Всегда нужно использовать все
возможности по паралельному представлению зрительной и аудио информацию для информирования
оператора. Но и здесь не следует переуседствовать и вгонять оператора в ступор (пугать его).
Принципы памяти
11. Замените электронную память наглядной информацией. Пользователь не должен сохранять важную
информацию (например, различные инструкции) исключительно в рабочей памяти или хранить и извлекать её
из долговременной памяти. Меню/подменю могут помочь пользователю упростить использование памяти. В
подменю прячем реже используемые данные. Имеются бумажные и плакатные руководства/инструкции. Они
наглядны и просты в использовании. Это в ряде ситуаций основной источник руководства к дейстаию,
особенно при не стандартных ситуациях. Однако, и использование компьютерной справки в памяти иногда
может помочь пользователю, (например, компьютерный специалист скорее использовал бы прямые команды
из памяти, чем обращался к бумажному руководству). Для эффективной работы должны быть
сбалансированы методы получения знаний из головы пользователя, памяти компьютера и знаний бумажных.
12. Принцип предиктивной (прогнозировании будущего поведения) помощи. Предиктивные действия, как
правило, более эффективны, чем реактивные действия. Дисплей должен исключить ресурсоёмкие задачи и
заменить их более простыми задачами, чтобы сократить использование умственных ресурсов пользователя.
Это позволит пользователю сконцентрироваться не только на текущей ситуации, но и также подумать о
возможных ситуациях в будущем. Пример предиктивной помощи — дорожный знак, который информирует о
расстоянии до пункта назначения. В системе управления ГГС 3 я выводил на эран дисплея не только текущее
значение температуры газослива ,но и её прогоз на время через три минуты. Прогноз рассчитывался исходя из
текущей скорости и ускорения температуры. Оператор был морально готов действовать при реалзации
негативного прогноза.
13. Принцип совместимости. Особенности разработки старых других проектов легко перенести в разработку
новых проектов. Желательно добиваться совместимости разработк . Долговременная память пользователя
будет срабатывать на выполнение понятных опробованных действий. В ходе разработки должен быть принят
во внимание данный факт и учитываться совместимость между разными графическими и текстовыми
элементами.
5 Этапы проектирование
5.1 Определение цели разработки и исходных требований.
Анализ пользователей: определение потребностей
соответствия сценариев ожиданиям пользователей.
пользователей, разработка
Моделирование процесса, для которого разрабатывается приложение.
потоков в приложении.
сценариев,
оценка
Определение информационных
Выбор платформы, на которой будет реализован проект и средств разработки.
Прототипирование: разработка бумажных и/или интерактивных макетов экранных форм.
Конструирование: создание приложения с учетом возможности изменения его дизайна.
Создание пользовательского интерфейса для него — процесс итеративный. Маловероятно, что такие этапы,
как прототипирование, конструирование и тестирование интерфейса могут быть завершены за один проход.
Если в результате юзабилити-тестирования выявлены недоработки, то ониустраняются путем повторного
конструирования, либо разрабатывается новый прототип интерфейса.
Л5 5.2 Первый этап прототипирования - пользовательские сценарии
Сценарии взаимодействия – это описание того, как должны работать функции системы. Они могут
рассказывать о сути и особенностях работы функций, как в общем виде, так и в подробном, алгоритмическом.
Первый вариант нужен для того, чтобы понять, зачем нужна и что делает функциональность. Второй по шагам
расписывает все возможные сценарии использования продукта что может сделать пользователь и как должна
отреагировать на его действия система. Диаграммы вариантов использования описывают функциональное
назначение системы или то, что система должна делать. Разработка диаграммы преследует следующие цели:
определить общие границы и контекст моделируемой предметной области; сформулировать общие
требования к функциональному поведению проектируемой системы; разработать исходную концептуальную
модель системы для ее последующей детализации в форме логических и физических моделей; подготовить
исходную документацию для взаимодействия разработчиков системы с ее заказчиками и пользователями.
Суть диаграммы вариантов использования состоит в следующем. Проектируемая система представляется в
виде множества аппаратов и актеров, взаимодействующих с системой с по разным вариантам использования.
При этом актером или действующим лицом называется любая объект , взаимодействующий с системой
извне. Это может быть человек, техническое устройство, программа или любая другая система, которая может
служить источником воздействия на моделируемую систему так, как определит сам разработчик. Вариант
использования служит для описания сервисов, которые система предоставляет актеру. Диаграмма вариантов
использования может дополняться пояснительным текстом, который раскрывает смысл или семантику
Примером пользовательского сценария может быть подробное описание последовательности действий,
которые совершает пользователь для достижения определенных целей.
При таком подходе возникает множество разветвлений для действий оператора. Например, оператор
прикрыл поток воды, но выросла температура – требуется одно действие, Если при этом упал уровень –другое
дейсвие (ответвление), а если еще сработала блокировка – третье действие оператора.
Для каждого
действия должен быть свой набор объектов воздействия на систему, которые должны быть представлены в
пользовательском интерфейсе.
Дальнейшее разрисовка /развитие этой начальной диаграмммы вариантов – это разрисовка действий
оператора /пользователя в каждой из трех аварийных ситуаций, отображеных в кружках. Диаграмма
вариантов подсказывает и структуру вашего графического экрана.
Диаграмма вариантов технологического процесса варки стекла. Здесь определено для каких действий
разработчик пользовательского интерфейса должен предусмотреть набор графических элементов,
позволяющих реализуюих это действие. Результат переработки диаграммы виден на форме газогенераторов
ГГС 5. Разработчик определил графические формы и элементы, ссылки и кнопки, каждая из которых
позволяет реализовать нужную функцию, описанную в диаграмме вариантов. Например, для поддержания
температурного режима предусмотренны ссылки на графическую форму панели регуляторов температуры
данного газогенератоа, где можно детально контролировать процессы регулирования изменять задагия
регуляторам, вносить новые значения коэффициентов регулирования. (см рис 13 стр. 64 пособия)
В прцессе итерационного проектирования интерфейса пользователя определяется на каких графических
формах/экранах размещаются элементы управления и дополнительного контроля конкретной задачи.
Например, задача «поддержания материального баланса» для газозенераторов решается на графическмх
экранах регуляторов загрузок газогенератора и на следующих формах «выбора режима управления АП»,
вызываемых с помощью соответствующих кнопок на этом экране. Эти формы не называется таким звучным
именем как «поддержания материального баланса», а указывают оператору его действия. Такой подход
полезен при реализации ЧМИ. (см рис 12 стр. 62 пособия)
Мы видим что, целью составления пользовательского сценария и диаграммы вариантов является сбор
функциональных требований для ведения технологического процесса. Сценарии взаимодействия позволяют
не только перечислить функции системы, но и во всех подробностях рассказать о том, как они работают,
определить свойства проектируемого интерфейса, составляющих его компонентов.
Л.6 При разработке сценария и диаграммы взаимодействий окончательно определяется основной
перечень задач, решаемых человекомашинным интерфейсом и определяется каким «актером»
(человеком, актером, комбинацией актёров) решается каждая конкретная задача. На этом этапе
разработчик составляет список всевозможных сочетаний «задача – актер». В пользовательском
интерфейсе нужно реализавать этот список с максимальным удобством для для пользователя.
Итерактивное тестирование позволяет оценивать его качество
Существует четыре основных критерия качества любого интерфейса, а именно: 1. Скорость работы
пользователей. 2. Количество человеческих ошибок. 3. Скорость обучения. 4. Субъективное
удовлетворение пользователей.
5.1.1 Скорость выполнения работы является важным критерием эффективности интерфейса. В чистом виде
этот критерий ценят довольно редко, но почти всегда он является крайне желательной составляющей целого.
Любая попытка как-то увеличить производительность труда всегда встречается положительно.
Длительность выполнения работы пользователем состоит из следующих составных частей: длительности
восприятия исходной информации; длительности интеллектуальной работы (время осмысления
пользователем, что он должен сделать); длительности физических действий пользователя; длительности
реакции системы.
Длительность восприятия исходной информации особых комментариях не нуждается, пользователь должен
представить себе, какая информация о выполняемой задаче у него существует, и в каком состоянии находятся
средства, с помощью которых он будет решать данную задачу. Основное время здесь пойдет на считывание
показаний системы.
Длительность интеллектуальной работы оценивается в ощем случае исходя из того, что взаимодействие
пользователя с системой (не только компьютерной) состоит из семи шагов:
1. Формирование цели действий. 2. Определение общей направленности действий. 3. Определение
конкретных действий. 4. Выполнение действий. 5. Восприятие нового состояния системы. 6. Интерпретация
состояния системы. 7. Оценка результата.
Из этого списка становится видно, что процесс размышления (пункты 1-3, 4-7) занимает почти все время, в
течение которого пользователь работает с компьютером, во всяком случае, шесть из семи этапов полностью
заняты умственной деятельностью. Соответственно, повышение скорости этих размышлений приводит к
существенному улучше-нию скорости работы. Существенно повысить скорость мышления пользователей
невозможно. Тем не менее, уменьшить влияние факторов, усложняющих и, соответственно, замедляющих
процесс мышления, вполне возможно. Например, применением метода непосредственного
манипулирования - пользователь управляет объектами на экране посредством устройств манипулирования
(типа мыши), например, выставляет задание регулятору передвигая бегунок задания на приборе задания.
Поэтому операции с регулятором производятся на отдельной графической форме регулятора, на которой
представлено (также и в виде столбика) текущее значение переменной и положение бегунка, по высоте
соответсвующее величине задания. Бегунок можно перемещать мышью по сответствующей колонке
вверх/вниз. Величина задания индицируется в столбике рядом с бегунком. Пример ниже.
Другой вариант мешающих снижению скорости интелектуальной работы - применения в интерфейсе
специальных методов при потере фокуса внимания. Фокус внимания — высокая степень концентрации на
ограниченной сфере внимания. Самое важное в применении фокуса состоит в том, что его нельзя добиться по
принуждению. Потеря фокуса внимания приводит к потере пользователей, необходимо проектировать
интерфейс так, чтобы пользователи возможно меньше о нем думали. Здесь согласно теории больше
визуализации. Смотри на примере, рядом с изображеннием регуляторов ( взятых с реальных приборов
ПР3.21) располагается полотно на котором рисуются графики изменения параметра, задания, сигнала на
исполнительный механизм. Оператор смотрит за картиной поцесса с интересом и вниманием. Для
сохранения внимания и продолжения работы пользователь должен знать, на каком шаге он остановился;
какие команды и параметры он уже дал системе; что именно он должен сделать на текущем шаге; куда было
обращено его внимание на момент отвлечения.
Любое физическое действие, совершаемое с помощью мускулатуры, может быть или точным, или быстрым.
Вместе точность и быстрота встречаются исключительно редко, поскольку для этого нужно выработать
существенную степень автоматизма. Объясняется это физиологическими факторами: при резком движении
невозможно быстро остановиться, соответственно, точное движение должно быть плавным и замедленным.
Таким образом, чтобы физическое действие пользователя было быстрым, оно не должно быть точным.
Л.6 Графический пользовательский интерфейс (GUI — graphical user interface) предлагает человеку более
дружественный способ общения, чем голая командная строка, но он порождает множество проблем
совершенно иного рода.
Пример увеличения длительности работы пользователя в интерфейсе ТМ. Процедура создания «ссылки на
Экран». Аргумент «экран» окна свойств этого ГЭ он подчеркнут. Это должно означать, что у него есть
подменю, вызываемое ЛК. Но в реальности подменю вызывается ПК (котекстное меню). Кроме того в
аргументе «экран» ПК вызываем подменю «экран». Два разных параметра названы очень схожими
именами, что противоречит принципу ЧМИ -«Сходство приводит к путанице». Для понимания ситуации ушло
(потеряно) около 10 минут. Далее в правом поле возникшей контестной строки выбираем из списка нужный
экран и привязываем к нему.
Из всех областей технологии медленнее всего развивается та, что связана со способами взаимодействия
человека и компьютера. Пользователь, как правило, управляет компьютером двумя способами, а именно
мышью и клавиатурой. Клавиатура не требует особой точности движений – неважно, быстро нажали клавишу
или медленно, равно как сильно или слабо.
Мышь, напротив, инерционна – есть разница между медленным её перемещением и быстрым, сильным
приложенным усилием и слабым. Именно поэтому оптимизация использования мыши в системе может
существенно повысить общую скорость работ. Возможные ошибки: ошибка определения действия; потеря
цели; модальная ошибка (модальная форма, которую вы пытаетесь закрыть или скрыть, находится не на
самой верхней позиции и вы закрываете нужную вам форму).
Активизация функций с помощью голосовых команд также играет важную роль в создании систем
повсеместных вычислений (pervasive computing). Подобные системы создают среду, в которой
взаимодействие человека и компьютера больше не связано исключительно с одним устройством, например с
клавиатурой. Такие системы достаточно хорошо работают в тех ситуациях, когда требуется распознавание
коротких выражений, например, команд управления, эти технологии не позволяют эффективно передавать
данные большого объема.
Джефф Раскин, однин из создателей компьютера Apple Macintosh. В своей
последней книге The Humane Interface: New Directions for Designing Interactive Systems («Человеко-машинный
интерфейс: новые направления проектирования интерактивных систем»), Раскин подчеркивает
внеличностную природу большинства интерфейсов и приводит доводы в пользу создания более
совершенных способов общения с машинами.
Он говорит: Прежде всего поиск новых интерфейсов не имеет отношения к качеству существующих
независимо от технологии — будь то Mac, Wintel и Linux. Этот вопрос затрагивает пользователей — людей.
Мне еще не довелось встретить человека, который, работая на компьютере, был бы абсолютно доволен. И
основные претензии пользователи имеют к качеству интерфейса. Любой прогресс в том, что касается
ускорения работы с системой, упрощения обучения и снижения раздражения, идет на благо конечному
пользователю и, в свою очередь, выливается в повышение эффективности работы всего предприятия. Есть
также прямые физические преимущества — сокращается число нажатий на клавиши и ненужных движений
рукой.
Существующие интерфейсы в большинстве своем чрезмерно широко используют мышь и пиктограммы,
кроме того, они опираются на методы, которые, как теперь известно, способствуют совершению
пользователем ошибок. В том проекте, над которым я сейчас работаю, все, что необходимо пользователю,
оказывается у него под руками. Надо просто выполнить увеличение, и как только вы сможете читать текст или
различать графические детали, над ними можно будет работать. В нем не будет окон, которые приходится
постоянно закрывать, открывать или передвигать. Опыт показывает, что люди обучаются работе с моим
интерфейсом за считанные минуты, и столь же быстро проникаются к нему симпатией.
6.1 Очевидно, что пользовательский интерфейс напрямую зависит от решаемых программным обеспечением
задач, входных и выходных данных; однако при этом существуют значительная свобода в том, в каком виде
все эти данные будут представлены пользователю. От того, насколько пользовательский интерфейс будет
функционален, понятен и удобен конечному пользователю, во многом зависит успешность решения
поставленной при проектировании ПО.
На процесс проектирования пользовательского интерфейса немалое влияние оказывают субъективные
представления проектировщика о понятности, удобстве и красоте. Поэтому, большое значение имеет
проблема оценки качества пользовательского интерфейса. Проводя такие оценки на ранних этапах процесса
проектирования, можно избежать большого числа ошибок, просчетов, неприятия ПО конечными
пользователями. Понятие «дружественности» - это не одномерная величина, а вектор, содержащий согласно
международной классификации семь компонент: соответствие задачам, решаемым пользователем; легкость
применения;
управляемость;
соответствие ожиданиям пользователя;
устойчивость к ошибкам;
адаптируемость/индивидуализируемость; легкость изучения.
Хотя оценка качества пользовательского интерфейса процесс достаточно субъективный и трудно
формализуемый, можно с уверенностью утверждать, что хороший интерфейс должен обеспечивать
эффективную и производительную работу пользователя. Существует также и ряд критериев, которым должен
удовлетворять качественный интерфейс: лучше тот интерфейс, при котором время выполнения задачи
меньше; лучше тот интерфейс, в котором число непроизвольных ошибок пользователя меньше,
неоднозначность в понимании интерфейса должна быть минимальна. Необходима стандартизация
интерфейса (она облегчает обучение пользователей); объем вводимой пользователем информации должен
стремиться к минимуму (одни и те же данные не должны вводиться несколько раз), простота и визуальная
привлекательность (удобство использования не менее важно, чем функциональность).
В файле «критерии НМI» на основе принципов разработки пользовательского интерфейса представлена
форма определения оценок по критериям
НМI. По ним будет выставлятся оценка выполненых
пользоватеьских интерфейсов.
6.2 Второй этап прототипирования – макетирование.
Прототипирование заключается в создании широкого набора макетов (прототипов) будущего
пользовательского интерфейса, которые подвергаются сопоставительному анализу. Как правило, прототип
содержит реализацию лишь самого интерфейса, без его функционального наполнения. Цель
прототипирования заключается в определении, насколько то или иное решение перспективно, и
последующей реализации лучшего из возможного. Этот подход позволяет сэкономить время и ресурсы,
затрачиваемые на проектирование и разработку. Этот подход на ранних этапах проектирования помогает
выбрать правильное направление разработки. Возможно и создание “локальных” прототипов для отдельных
элементов пользовательского интерфейса.
Для создания прототипов привлекают не толькоразработчиков, но и конечных пользователей, при этом
полезны любые мнения, предложения и графические наброски. Задача – создать 5 – 7 вариантов интерфейса.
При создании прототипов нужно исходить из того, что объем ресурсов (времени) на создание прототипа не
дожен превышать ресурсы
на создании самой системы. Созданные прототипы подвергаются
сопоставительному анализу.
Проектирование интерфейсов на бумаге в 21 веке – самый быстрый, дешевый, кроссплатформенный и
общедоступный метод. Значительная часть проектировщиков не использует бумажные прототипы по причине
недоверия. Жизнь вне монитора научила нас думать, что эффективные инструменты должны быть дорогими и
расходовать много ресурсов. Для проектирования интерфейсов появилось множество инструментов
прототипирования. С их помощью можно получить хороший результат, но он не сопоставим со временем,
потраченным на проработку и тестирование макетов. Бумажные прототипы экономят бюджет. На этапе
бумажных набросков все еще можно, делать фундаментальные изменения.
6.3 Типы диалогов и управляющих свойств интерфейса.
Основа взаимодействия пользовательского интерфейса – диалоги. Диалог – обмен информацией между
человеком и компьютером в реальном масштабе времени и направленный на совместное решение
конкретной задачи по обмену информацией и координации действий. Каждый диалог состоит из отдельных
процессов ввода-вывода, которые физически обеспечивают связь пользователя и компьютера.
При проектировании пользовательского интерфейса применяют следующие виды диалога:
1. вопрос-ответный диалог, в котором пользователь отвечает на вопросы системы. Предназначен для
неподготовленного пользователя и наиболее свободен от ошибок.
2. диалог, основанный на заполнении шаблонов
3. диалог, основанный на выборе из меню, где система предъявляет список альтернатив и пользователь
выбирает одну из них
4. диалог, основанный на применении команд, при котором пользователь вводит команду с использованием
мнемоники и аббревиатур. Используется для системных проектировщиков и программистов
5. диалог на основе вопросного языка (языка запросов SQL) – пользователь задает вопросы БД системы
6. диалог на естественном языке
7. диалог, использующий командный язык, реализованный на базе функциональной клавиатуры. Пример, для
ТрейсМоде Ctrl+Z)– отменить последнее действие; (Ctrl+Y) – вернуть последнее отмененное действие;
Выделение объекта. Для выделения объекта (рисунка, таблицы, графического элемента и т.п.) нужно нажать
на нем ЛК. Как правило, при выделении на экране отображается прямоугольник, ограничивающий объект.
(Ctrl+A) – выделить все; Backspace или Del)– удалить выделенные объекты. Удаление объекта, открытого в
соответствующем редакторе, запрещено; (Ctrl+X) – вырезать выделенные объекты в буфер обмена; (Ctrl+C) –
копировать выделенные объекты в буфер обмена; (Ctrl+V) – вставить содержимое буфера обмена в
указанную позицию; (Ctrl+F) – открыть диалог задания параметров поиска:
8. диалог с использованием интерактивной графики. Графический элемент изменяется после выполнения
действия, заданного чловеком. Изменения могут быть разного вида, в зависимости от того какой результат
реализовался в результате выполнения команды.
Для ввода сообщений используются: клавиатура – текстовый ввод; планшеты – графический ввод; сканеры –
графический ввод; манипуляторы - мыши, трекбол, световое перо, сенсорный экран – позиционирование и
выбор информации на экране.
Интефейс реализуется не только в системах контроля и управления. В системах разработки (ТрейсМоде,
Word, Excel, Acad) обязательно существует развитый инферфейс с пользователём-разработчимом. Мы
специально рассмотрим инферфейс с пользователем у программы ТрейсМоде в разделе «разработка
Интерфейса с помощью ТМ».
Особенности восприятия цвета. Цвет в сознании человека ассоциируется с эмоциональным фоном. Теплые
цвета: красный, оранжевый, желтый человека возбуждают, а холодные: синий, фиолетовый, серый –
успокаивают. Причем цвет является очень сильным раздражителем, поэтому применять цвета в интерфейсе
необходимо крайне осторожно. Обилие оттенков привлекает внимание, но быстро утомляет. Поэтому не
стоит ярко раскрашивать окна, с которыми пользователь будет долго работать. Необходимо учитывать и
индивидуальные особенности восприятия цветов человеком, например, каждый десятый человек плохо
различает какие-то цвета, поэтому в ответственных случаях необходимо предоставить пользователю
возможность настройки цветов.
Занятие 12 Особенности восприятия звука. В интерфейсах звук обычно используют с разными целями: для
привлечения внимания, как фон, обеспечивающий некоторое состояние пользователя, как источник
дополнительной информации. Следует учитывать, что большинство людей очень чувствительны к звуковым
сигналам, особенно, если последние указывают на наличие ошибки. Поэтому при создании звукового
сопровождения целесообразно предусматривать возможность его отключения.
Субъективное восприятие времени. Человеку свойственно субъективное восприятие времени. Занятый
человек обычно времени не замечает. Зато в состоянии ожидания время тянется бесконечно, что связано с
тем, что в это время мозг оказывается в состоянии информационного вакуума. К аналогичному состоянию
приводит усталость: информация поступает, но больше обрабатывается, а потому и ход времени замедляется.
При ожидании более 2 сек пользователь может отвлечься, «потерять мысль», что неблагоприятно сказывается
на результатах работы и увеличивает усталость, так как каждый раз после ожидания много сил тратится на
включение в работу.
Сократить время ожидания можно, заняв пользователя, но не отвлекая его от работы. Например, можно
предоставить ему какую-либо информацию для обдумывания. По возможности целесообразно выводить
пользователю промежуточные результаты: во-первых, он будет занят их обдумыванием, во-вторых, по ним он
сможет оценить будущие результаты, и отменит операцию, если они его не удовлетворяют.
Для «развлечения» пользователя используется анимация. Например, в Windows при копировании файлов
демонстрируется «ролик» с летающими листочками. Следует иметь в виду, что, когда какую-либо
анимацию смотришь первый раз, то это интересно, а когда в течение получаса наблюдаешь, как
«летают» листочки при получении информации из Интернета,, то это начинает раздражать.
Чтобы уменьшить раздражение, возникающее при ожидании, необходимо соблюдать основное правило:
информировать пользователя, что заказанные им операции потребуют некоторого времени выполнения. Для
этого используют индикаторы оставшегося времени, анимированные объекты, как в Интернете, и изменение
формы курсора мыши на песочные часы. Очень важно точно обозначить момент, когда система готова
продолжать работу. Обычно для этого используют значительные изменения внешнего вида экрана.
Занятие 14 В 1992 году международная организация по стандартизации (International Organization for
Standardization, ISO) представила группу стандартов ISO 9241 «Эргономические требования для офисной
работы с видеодисплейными терминалами» (Ergonomic requirements for office work with visual display
terminals (VDTs)). В 2006 году они получили более общее название «Эргономика взаимодействия «человексистема»» (Ergonomics of Human System Interaction).
Перечислим некоторые стандарты ISO 9241:








ISO/TR 9241-100:2010 Эргономика взаимодействия человек-система. Часть 100. Введение в стандарты
на эргономику программного обеспечения
ISO 9241-110:2006 Эргономические требования, связанные с использованием видеотерминалов для
учрежденческих работ. Часть 110. Принципы диалога
ISO 9241-129:2010 Эргономика взаимодействия человек-система. Часть 129. Руководство по
программному обеспечению
ISO 9241-143:2012 Эргономика взаимодействия человек-система. Часть 143. Формы
ISO 9241-151:2008 Эргономика взаимодействия человек-система. Часть 151. Руководство по
пользовательскому интерфейсу Всемирной паутины
ISO 9241-154:2013 Эргономика взаимодействия человек-система. Часть 154. Применение
интерактивного речевого взаимодействия (IVR)
ISO 9241-171:2008 Эргономика взаимодействия человека и системы. Часть 171. Руководство по
доступности программного обеспечения
ISO 9241-210:2010 Эргономика взаимодействия человек-система. Часть 210. Сконцентрированное на
человеке конструирование интерактивных систем
Эти и прочие стандарты, связанные с эргономикой, антропометрией и биомеханикой находятся под
управлением Технического Комитета 159 (Тechnical Committee 159) ISO и доступны на официальном сайте
www.iso.org.
В понятие пользовательского интерфейса (ПИ) входит не только, и  не столько, картинка на экране трехмерная, анимированная или просто выполненная в модном дизайне, а способы взаимодействия
пользователя с системой. На время работы с системой пользователь погружается в среду интерфейса. Эта
идея принадлежит психологу Гибсону, который утверждает, что наше восприятие основано на мотивации
в том смысле, что если мы хотим есть, то видим только съедобные вещи, а если устали - то только предметы
мебели для отдыха. То есть, человек не просто видит, а опрашивает среду, руководствуясь различными
мотивами. В свою очередь, среда подает человеку разные сигналы. Наряду с ответами на его запросы, есть
сигналы первоочередные, связанные с физической опасностью. Опираясь на полученные сигналы, человек
осуществляет различные действия.
8 «золотых» правил Шнейдермана
Бен Шнейдерман, американский исследователь в области человеко-машинного взаимодействия, в своей
книге «Designing the User Interface» сформулировал 8 «золотых» правил, которые кратко можно представить в
следующем виде:
1. Будьте последовательны: используйте одинаковые действия, названия, элементы управления в
идентичных или похожих ситуациях.
2. Учитывайте возможности опытных пользователей: представьте им альтернативные способы
управления программой с помощью «горячих» клавиши, макросов и т.п.
3. Используйте обратную связь: программа должна реагировать на каждое действие оператора.
4. Создавайте законченные диалоги: сформируйте последовательные действия оператора в логические
группы с началом, серединой и концом. На каждом этапе поддерживайте обратную связь.
5. Используйте простые процедуры обработки ошибок: насколько возможно, спроектируйте систему так,
чтобы пользователь не мог допустить серьезных ошибок, а при обнаружении ошибки предложите
простые и понятные механизмы ее обработки.
6. Обеспечьте простой механизм отмены действий: такая возможность уменьшает беспокойство
пользователей, т.к. они знают, что ошибочные действия могут быть отменены.
7. Создайте впечатление, что пользователь управляет всеми процессами: спроектируйте систему так,
чтобы оператор был инициатором действий, а не ведомым.
8. Уменьшите загрузку кратковременной памяти: особенности человеческой памяти накладывают
ограничения на количество, размеры и скорость чередования элементов управления.
9 эвристических правил Якоба Нильсона
В 1994 году Якоб Нильсен, датский консультант по юзабилити, занимавшийся этим в фирмах IBM и Sun
Microsystems, по результатам факторного анализа 249 ранее выявленных проблем юзабилити представил
набор эвристик, которые стоит учитывать при проектировании пользовательских интерфейсов.
Эвристика — совокупность приемов и методов, облегчающих решение практических задач.
1. Видимость состояния системы
Система должна всегда и за приемлемое время должна реагировать на действия пользователя и
информировать его о текущем состоянии работы.
2. Равенство между системой и реальным миром
Система должна разговаривать с пользователем на его языке, используя слова, фразы и концепции,
3.
4.
5.
6.
7.
8.
9.
которые уже известны пользователю. Представление информации должно быть организовано в
естественном и логичном порядке.
Свобода действий пользователя
Пользователь должен иметь контроль над системой и возможность изменить текущее состояние
программы путем отмены или повтора операций (Undo & Redo).
Последовательность и стандарты
Принцип последовательности означает использование одних и тех же понятий и средств для
отражения схожих образов и выполнения однотипных действий. Легче всего это достигается путем
использования типовых для конкретной платформы рекомендаций и соглашений.
Предупреждение ошибок
Система должна быть разработана так, чтобы минимизировать число ситуаций, в которых
пользователь может совершить ошибку. Это лучше, чем самое информативное сообщение о
возникшей проблеме. Как известно, болезнь легче предупредить, чем лечить.
Понимание лучше, чем запоминание
Все объекты, функции, действия должны быть видны пользователю. Он не должен запоминать и
удерживать в памяти информацию из одной части диалога, чтобы применить ее в другой. В любой
момент пользователю должно быть ясно, что нужно делать в данный момент. В случае
необходимости, пользователь должен иметь простой доступ к контекстной справке.
Эстетичный и минималистичный дизайн
Диалоги не должны содержать неясную или редко используемую информацию. Каждый
дополнительный элемент интерфейса конкурирует с другими и отвлекает часть внимания
пользователя, тем самым уменьшая относительную видимость действительно необходимой
информации.
Распознавание и исправление ошибок
«Помогайте пользователю распознавать, диагностировать и исправлять ошибки» — говорит Якоб
Нильсен и поясняет, что сообщения об ошибках должны быть выражены простым языком (без кодов),
точно описывать проблему и предлагать конструктивное решение для нее.
Справка и документация
Лучшая система та, которая может быть использована без какой-либо документации. Это идеал, но в
реальности программа должна содержать необходимую справочную информацию и документацию.
Любая (справочная) информация должна быть доступна для поиска, сфокусирована на задачах
пользователя, последовательна в описании его действий и, при этом, должна быть не слишком
громоздкой
7. Меню - пользователь обеспечен рядом опций и управляет системой, выбирая необходимые пункты;
Подменю созданы для логической группировки различных задач. Пользователи привыкли, что пункт главного
меню в программах содержит подменю. Так значительно удовней находить и использовать нужную фукцию.
Другая причина возникновения подменю заключается в повышении надежности системы. Помещение
в главное меню пункта, который срабатывает сразу при нажатии на него, делает программу непредсказуемой.
Представьте, пользователь исследует меню программы и неожиданно программа исчезает. Чаще всего таким
пунктом действительно является пункт «Выход». Пункт «Выход» из программы лучше располагать самым
нижним пунктом самого левого подменю, независимо от того, подходит он туда по смыслу, или нет.
Ещё более облегчающим работу пользователя является контекстное меню. Возникает обычно при нажатии
ПК мыши на выбранном объекте. Оно вызывает группу функций которые связаны или могут быть
использованы для контретного объекта или конретной точки, выбранной с помощью мыши. Все эти функции
находятся в разных подменю, но ими можно воспользоваться в данный момент времени и в данном месте.
Кажется логичным, что рисунок на кнопке должен соответствовать смыслу действия, однако многие про это
забывают. Некоторые разработчики просто не умеют рисовать картинки, некоторые просто не хотят, и берут
готовые (из других программ). В результате трудно без подсказки определить, что означает та или иная
кнопка. Рисунки иногда получаются абсолютно не связанными с содержанием. Четкий и понятный рисунок
способствует повышению эффективности работы. Если рисунок соответствует действию, эта ассоциация легко
запоминается пользователем, и в дальнейшем один только взгляд на кнопку позволяет мгновенно вспомнить
ее назначение.
Занятие 15. Зако́н Фи́ттса — общий закон, связывающий время движения с точностью движения и с
расстоянием перемещения: чем дальше или точнее выполняется движение, тем больше коррекции действий
необходимо для его выполнения, и соответственно, больше времени требуется для внесения этой коррекции.
Он определяет скорость взаимодействия пользователя с элементами интерфейса. Например, насколько
быстро он подведет курсор мыши к кнопке «закрыть» и нажмет на неё.
Опубликованный в 1954 году закон Фиттса — это метод моделирования очень распространённой ситуации,
возникающей при разработке интерфейсов. Эта ситуация включает в себя объект, управляемый человеком
(например, палец, или курсор мыши) и цели, расположенной где-то ещё.
Математически закон Фиттса можно записать так: T = a + b log2(D/W + 1),
где T — среднее время, затрачиваемое на совершение действия, a — время запуска/остановки устройства, b
— величина, зависящая от типичной скорости устройства, D — дистанция от точки старта до центра объекта,
W — ширина объекта, измеренная вдоль оси движения. Главным образом это означает, что время,
затрачиваемое на достижение цели, является функцией расстояния и размера цели. На первый взгляд это
кажется очевидным: чем дальше мы от цели и чем меньше она по размеру, тем больше времени потребуется
для позиционирования.
Закон - Время достижения цели прямо пропорционально дистанции до цели и обратно пропорционально
размеру цели.
Переходя к реальному миру, можно сказать, что гораздо легче указать на монету, чем на веснушку, а вот
показать на дом или на жилой комплекс — уже практически без разницы. Таким образом, когда вы в
очередной раз будете оптимизировать свой веб сайт по закону Фиттса, запомните, что если ссылка уже
немаленькая, то дальнейшее её увеличение скорость доступа к ней не увеличит. Вместе с тем, даже
небольшое увеличение размера маленьких ссылок уже имеет значение.
Желая извлечь практический урок из уравнения Фиттса, дизайнеры интерфейсов вывели несколько правил
практического применения одного из немногих законов взаимодействия человека и компьютера. Одно из
правил называется Правило размера цели.
Оно сочетает в себе идеи, законов Фиттса и Хика (о котором речь пойдёт в другой раз) к утверждению, что
размер кнопки должен быть пропорционален частоте её использования. Брюс Тогнаццини, гуру интерфейсов
из Apple, разработал викторину, чтобы объяснить, как закон Фиттса может быть использован для разработки
правил, радикально улучшающих интерфейсы операционных систем. Нужно напомнить, что закон Фиттса
описывает специфическую ситуацию. Он отталкивается от предположения, что движение из стартовой точки
является направленным, а это подразумевает строго заданную и прямую траекторию ( вы точно знали, куда
вам нужно). Многие люди, думают, что закон Фиттса описывает ситуацию учёта высоты цели.
Однако в вышеприведённом уравнении нет величины, соответствующей высоте цели, в него входит лишь
ширина! Таким образом, раз уж мы завели речь об ограничениях закона Фиттса применительно к
интерфейсам, можно сказать, что он описывает одномерную ситуацию. В оригинальных экспериментах Фиттса
изучалась производительность человека при выполнении горизонтальных движений к цели.
Чем больше будет ширина объекта, тем меньше будет затрачено времени для щелчка на нем!
Закон Фитса позволяет объяснить, например, почему переместить курсор к меню в стиле Apple Macintosh,
располагающемуся на границе экрана (рис. 4.7), намного быстрее, чем переместить курсор к меню в стиле
Microsoft Windows, которое всплывает из-за границы экрана (рис. вверху). Размер S меню в Windows на моем
экране составляет 5 мм. Эффективный размер меню в Macintosh является довольно большим, потому что
пользователю не требуется останавливаться в пределах полосы меню; он может просто передвинуть ГУВ на
любое расстояние превышающее расстояние, необходимое для размещения курсора в пределах меню, –
курсор в любом случае остановится на границе экрана.
Ряд выполненных тестов помог установить, что пользователи Macintosh обычно останавливаются в пределах
50 мм от границы экрана, поэтому для Macintosh мы можем принять 50 мм как S. При использовании 14дюймового плоского монитора среднее расстояние, на которое требуется переместить курсор, чтобы достичь
панели меню, составляет 80 мм. Константы a и b устанавливаются опытным путем по параметрам
производительности человека. Таким образом, время перемещения курсора к какому-либо из элементов
меню в Macintosh будет:
50 + 150 *log_2(80/50+1) = 256 мс
Это время является намного меньшим, чем то, которое требуется на перемещение курсора к необходимому
элементу меню в Windows:
50 + 150 *log_2(80/5+1) = 663 мс
Закон Хика — закон психологии, который применим в вебе и проектировании интерфейсов.
Закон говорит о том, что чем меньше элементов меню, тем меньше времени занимает выбор одного из
них. А также что одно меню лучше чем два.
Перед тем как переместить курсор к цели или совершить любое другое действие из набора множества
вариантов, пользователь должен выбрать этот объект или действие. В законе Хика утверждается, что когда
необходимо сделать выбор из n вариантов, время на выбор одного из них будет пропорционально логарифму
по основанию 2 от числа вариантов плюс 1, при условии, что все варианты являются равновероятными. В этом
виде закон Хика очень похож на закон Фитса:
Время (мс) = a + b log2(n+1)
а и b - постоянные величины но в разных случаях различные. Здесь n - число вариантов, например числа
элементов в меню. Если варианты представлены непонятным образом, значения a и b возрастают. Наличие
навыков и привычек в использовании системы снижает значение b.
Значит это то, что для принятия того или иного решения требуется время; что для принятия сложных
решений требуется больше времени, чем для принятия простых решений; и что взаимосвязь является
логарифмической.
При использовании любых положительных и ненулевых значений a и b из закона Хика следует, что
предоставление пользователю сразу нескольких вариантов одновременно обычно является более
эффективным, чем организация тех же вариантов в иерархические группы. Выбор из одного меню, состоящего
из 8 элементов, производится быстрее, чем из двух меню, состоящих их 4 элементов каждое. Если все
элементы могут быть выбраны с равной вероятностью, то сравнение времени для выбора одного элемента из
восьми (a + b log2 8) с удвоенным временем для выбора одного элемента из четырех 2 (a + b log2 4) покажет,
что а + 3b < 2(а + 2b) поскольку log2 8 = 3, a log2 4 = 2, а также поскольку a<2a и 3b<4b
Когнитивное сопротивление — одно из ключевых понятий в создании взаимодействия человека и
компьютера. Это понятие мы ощущаем когда имеем дело с плохо спроектированными интерфейсами.
Когнитивное сопротивление — несоответствие между внешней
информацией и внутренними знаниями. Например, я подхожу к кофейному автомату. нажимаю на кнопку
«кофе + шоколад», но мне вместо этого напитка готовится чисто «кофе». Поскольку емкость с шоколадом
пуста, то автомат готовит напиток из ингредиентов которые остались. При этом всем я остаюсь в неведении до
того момента пока автомат не закончит работу.
Этот кофейный автомат обладает большим когнитивным сопротивлением нежели куллер с питьевой водой.
Емкость с водой прозрачна и я вижу есть вода или нет, и тем самым либо я утолю жажду, либо нет .
На самом деле, кнопки у кофейного автомата удобны, на них удобно нажимать, даже понятно за что какая
кнопка отвечает, но заставить автомат выполнять нужные функции не так -то просто. На экране компьютера
все переполнено когнитивным сопротивлением. Даже такие простые интерфейсы как в веб, заставляют
пользователей напрягать мозги больше чем с любым механизмом. Дело в том что каждая ссылка является
дорожкой к другому месту в сети. Вы можете только щелкать по ссылке, а конечная точка маршрута способна
меняется в зависимости от указателя безо всяких предупреждений. Когнитивное сопротивление существует
именно благодаря гиперсвойствам.
Некоторые рекомендации. Кнопка «сигнал действия»— элемент навигации в экранной форме, служащий
для активации некоторого процесса.
Она изначально создавалась так, что быть похожей на реальную клавишу. У кнопки есть 2 основных
состояния: Когда она ожидает нажатия и состояние «уже нажата».
Нажатая кнопка
То есть, нажимая пользователь выполняет действие, которое приведет к каким-то результатам (поиска,
печати, сохранения и т.д.). Как дать название кнопке? Название у кнопок должно содержать глагол,
отвечающий на вопрос «Что сделать?» Например: «Найти», «Зарегистрироваться», «Сохранить».
Кнопка «Ссылка» (Link) — запись, связывающая между собой части документа, объекта. В интернете ссылка
используется для создания связи между страницами, то есть по переходу содержимое окна браузера
изменяеться. Как дать название ссылке?
Ссылки необходимо называться так, чтобы было понятно, что будет на новой странице. Например: «Погода в
Киеве», «Фотографии пирамид», «Цены на товар» Пример с выводом: Необходимо создать форму
редактировани данных в конце которой будет 2 действия «Сохранить» и «Отмена»
Как видно «Сохранить» будет кнопкой т.к. приведет к получению результата, а «Отмена» ссылкой т.к. просто
переходит на другую страницу
Пример простого понятного интерфейса «диалоговое окна с использованием группы переключателей»
После ввода числа в левое окошко и нажатия клавиши «Enter» (что не очевидно) произойдет перевод числа.
Результат перевода появится в правом окошке.
Занятие 18 Новые направления
Появились идеи естественно-интуитивного взаимодействия человека с компьютером (perceptual computing),
предполагающие способность вычислительных устройств понимать человека через физический контакт,
словесные команды и жесты. Разработчикам программного обеспечения использование новых идей позволит
создавать приложения, вносящие ощущение присутствия и погружения. Такого эффекта можно добиться
реализацией возможностей отслеживания жестов рук и пальцев, анализа лица (мимики), распознавания
голоса (речи), отслеживания перемещений 2D/3D объектов. Умение разрабатывать такие приложения в
ближайшем будущем будет востребовано.
В этом направлении желательно изучить инструмент Intel Perceptual Computing SDK и научиться с его
помощью добавлять элементы естественно-интуитивного взаимодействия в свои приложения. В дополнение
к бесплатному комплекту средств разработки Intel разработчикам понадобится интерактивная камера
Interactive Gesture Camera производства компании Creative. Эта камера очень похожа на бесконтактный
игровой контроллер Kinect от Microsoft, только меньше по размеру. Но главная разница между этими
устройствами состоит в том, что интерактивная камера от Creative разработана для работы на более близких
дистанциях и поэтому может распознавать движения пальцев. Корпорация Intel использовала возможности
этой камеры в своем SDK, позволяющем разработчикам создавать следующее поколение естественного,
современного ПО с элементами (эффектом) присутствия.
Что такое естественно-интуитивное взаимодействие
Естественно-интуитивное взаимодействие это развитие взаимодействии с компьютером через естественные
для человека способы и интерфейсы. На сегодняшний момент у нас есть достаточно вычислительных
мощностей для того, чтобы объяснить компьютеру то, что хочет от него пользователь, заставить его
предугадывать намерения пользователя. Все, что вы пытаетесь решить с помощью компьютера, будет
выполнено через распознавание вашего лица, голоса, жестов. Естественно-интуитивное взаимодействие
подразумевает использование различных технологий, превращающих взаимодействие с компьютером в
насыщенный и интересный процесс.
Представьте себе поиск информации в интернете или обновление статуса в социальной сети без набора
текста. Мы просто можем попросить компьютер сделать это за нас. Речь здесь идет не просто о замене ввода
с клавиатуры или тачскрина, а о новом опыте во взаимодействии с вычислительной техникой.
Объединив возможности сенсоров, позволяющих компьютеру видеть мир в трехмерном пространстве, как
привыкли его видеть мы, добавив функции распознавания голоса и эмоции, разработчики получат абсолютно
новый инструмент разработки интерактивных приложений.
Техническое обеспечение
Для реализации целей естественно-интуитивного взаимодействия устройства должны быть оснащены
следующим уровнем "интеллекта" и "способностями". Камеры, способные оценить глубину, микрофоны,
определяющие направленность звука и тачпады, чувствительные к давлению должны быть
стандартизированы и миниатюризированы. Одним из примеров удачного технического решения является
камера от компании Creative ( рис. 1.4), которую сложно назвать просто камерой. Скорее это набор сенсоров.
В ее состав входят два микрофона, позволяющих значительно улучшить качество распознавания речи,
встроенная RGB и инфракрасная камеры (датчик глубины) для распознавания жестов на небольшом
расстоянии.
RGB (от слов Red, Green, Blue ) — аддитивная цветовая модель, описывающая способ синтеза цвета для
цветовоспроизведения. Изображение в данной цветовой модели состоит из трёх каналов. При смешении
основных цветов (основными цветами считаются красный, зелёный и синий) — например, синего (B) и
красного (R), мы получаем пурпурный (M magenta), при смешении зелёного (G) и красного (R) — жёлтый (Y
yellow), при смешении зелёного (G) и синего (B) — циановый (С cyan). При смешении всех трёх цветовых
компонентов мы получаем белый цвет (W).
Камера от компании Creative
Характеристики камеры CREATIVE Interactive Gesture Camera™

Разрешение RGB сенсора: 720p (1280 x 720)





Разрешение IR Depth сенсора: QVGA (320 x 240)
Угол обзора (градусы): 73
Частота работы (кадров в секунду): 30
Расстояние: от 15 см до 1 метра
Питание: USB 2.0 (< 2.5 Ватт)
Другой пример это бесконтактный контроллер Kinect, разработанный фирмой Microsoft. Kinect позволяет
пользователю взаимодействовать с приставкой Xbox или ПК под ОС Windows без помощи контактного
игрового контроллера через устные команды, позы тела и показываемые объекты или рисунки. Данное
устройство состоит из двух сенсоров глубины, цветной видеокамеры и микрофонной решетки.
Характеристики камеры Kinect:


3 камеры:
o 1 - цветная MT9M112, разрешение 1280x1024, 15 кадров в секунду (30 кадров при 640x512);
o 2 - цветная MT9v112, разрешение 640x480, 30 кадров в секунду;
o 3 - ИК сенсор глубины MT9M001, инфракрасный черно-белый 1280x1024, 30 кадров в секунду;
Расстояние от 1,8 метра до 1 метра
Вторым существенным различием этих двух камер является разница в дистанциях. Функционал камеры Kinect
направлен на работу на больших дистанциях (от 1,2 до 3 м). В свою очередь CREATIVE Interactive Gesture
Camera работает на близких расстояниях (от 15 см до 1 м). Отсюда различается основное применение камер.
CREATIVE Interactive Gesture Camera больше подходит для распознавания жестов, идентификации и трэкинга
объектов, рук, лица, их синтеза, распознавания голоса. Функционал Kinect направлен на идентификацию и
распознавание жестов и тела человека, чтобы выделять его в окружающей среде дома. Система слежения за
скелетом может одновременно наблюдать за 6 людьми, но лишь за двумя активными игроками. Kinect следит
за 20 точками каждого активного игрока и может применять к ним образы пользователей (Live-аватары).
Сравнение углов обзора камеры от компании Creative и камеры Kinect
Технические характеристики этих камер также различны, не смотря на то, что CREATIVE Interactive Gesture
Camera рассчитана на короткие дистанции, вертикальный и горизонтальный углы обзора больше, чем у
камеры Kinect.
Характеристики
CREATIVE Interactive Gesture Camera Kinect
Минимальная дистанция (см) 15
120
Максимальная дистанция (см) 100
300
Горизонтальный угол обзора 72°
57°
Вертикальный угол обзора
43°
54°
Так же следует отметить разницу в источниках электропитания. Для работы с камерой Kinect требуется USB
подключение и дополнительный источник энергии от сети. CREATIVE Interactive Gesture Camera требуется
меньше мощности (< 2.5 Ватт) и она работает только от USB 2.0.
В октябре 2012 года компания Intel представила SDK (software development kit) – комплект разработки для
написания программных средств. Полное название комплекта Intel Perceptual Computing SDK. SDK
фокусируется на нескольких аспектах естественно-интуитивного взаимодействия человека с компьютером, а
именно распознавание лиц, голосовых команд и жестов. Помимо этого, SDK включает в себя учебные
пособия, примеры кода, алгоритмы и примеры приложений, что позволяет разработчикам реализовывать
функции естественно-интуитивного взаимодействия настолько просто, насколько это возможно.
Области применения и примеры приложений
Это использование функций естественно-интуитивного взаимодействия в видео играх. К примеру,
разработчики могут взять функции, предоставляемые SDK и в сфере видео игр для взаимодействия игрока с
трехмерным миром, использовать голос или жесты для манипуляций в игре. Многопользовательские режимы
игры получат совершенно другой облик, позволяя участникам игры по-новому взаимодействовать друг с
другом.
Функции распознавания лица и контрольных точек на лице позволят определить, где расположены глаза, нос
или рот. Присутствует функция распознания моргания, улыбки, распознавания пола и возрастной группы.
Сегодня уже существуют решения простой идентификации личности такие как, например, фейс-логин. Однако
комбинация параметров лица, голоса и жестов может быть использована для более точной идентификации.
Помимо этого, использование параметров лица позволит реализовать приложения, к примеру,
осуществляющие оценку поведения представителей разных возрастных групп (молодежи, взрослых или
пожилых людей) или распознать эмоциональные состояний человека (грусть, радость и т.д.).
Реализация функций естественно-интуитивного взаимодействия в интерактивных приложениях позволит:


Отражать реальность. Разработка приложений, использующих функции естественно-интуитивного
взаимодействия должна вдохновляться реальным миром. Естественно-интуитивное взаимодействие
основано на наших природных навыках, используемых в повседневной жизни. Каждый день мы
используем наши руки для манипуляции объектами, голос, чтобы общаться. В виртуальной среде все
эти естественные человеческие возможности позволят сделать взаимодействие легче.
Буквально, а не абстрактно отображать объекты реального мира, то есть отображать более
привычные элементы управления (переключатели и регуляторы) для манипуляций вместо
абстрактных текстово-символьных альтернатив.



Создавать приложения интуитивно понятными, то есть пользователю не придется долго осваивать
функции интерактивного приложения.
Создавать надежные приложения, не реагирующие на случайные или ложные действия.
Расширять функционал интерактивных приложений. Функционал Intel Perceptual Computing SDK
стремительно расширяется, пополняясь новыми движениями, позами, языками. Уже существующие
функции также улучшаются.
С развитием технологий обработки речи, изображений и видео, взаимодействие человека с компьютером
выходит на новый этап. В последние годы человеко-компьютерное взаимодействие было расширено и
конечной целью является то, что связь между людьми и машинами должна стать похожа на коммуникацию
человека с человеком.
Intel Perceptual Computing SDK предназначен в первую очередь для того, чтобы снизить стоимость разработки
программных продуктов, в которых в качестве средств взаимодействия с пользователем необходимо
использовать что-то, отличное от клавиатуры или мышки. Другими словами те, кто в дальнейшем будут
использовать SDK для разработки, смогут потратить свои силы и время на то, чтобы реализовать именно
логику программы, а не на реализацию алгоритма, который будет взаимодействовать с пользователем.
Системные требования
Перечислим системные требования для установки комплекта.
Аппаратные требования:



32-х битная архитектура процессора Intel второго или третьего поколения или процессор Intel 64 Intel
Core;
1Гб свободного места на жестком диске;
Creative interactive gesture camera.
Программные требования:







Microsoft Windows 7 with service pack 1 (или более поздний), или Microsoft Windows 8;
Microsoft Visual Studio C++ 2008-2012 с service pack 1 (или более поздний);
Microsoft .NET 4.0 Framework (для работы с C#);
SoftKinetic DepthSense SDK runtime 1.0.4 (или более поздний с возможностью отслеживания пальцев
рук);
Unity PRO 3.5.1f2 (или более поздний)- игровой движок;
Processing 1.5.1 (или более поздний) - игровой движок;
openFrameworks v0071 (или более поздний) – для использования в игровых движках.
На рисунке представлена архитектура SDK.
Структура SDK модульная. Здесь имеется набор модулей для ввода/вывода, а также набор модулей для
реализации тех или иных алгоритмов. Например, алгоритмов распознавания лиц, распознавания речи или
синтеза речи.
SDK стандартизирует интерфейсы модулей ввода/вывода и алгоритмы модулей таким образом, что
приложения могут получить доступ к функциональности напрямую. Приложение, использующее SDK, не
работает напрямую с камерой, этим занимается модуль ввода-вывода, благодаря чему достигается
одновременная работа сразу нескольких приложений, использующих SDK, что, например, невозможно при
работе с web камерой, когда приложение получает эксклюзивный доступ, ограничивающий работу с камерой
для других приложений. Также SDK предоставляет механизм для поиска конкретной реализации из
множества доступных модулей, а также другие важные функции, такие как синхронизация выполнения и
взаимодействие с другими библиотеками и фреймворками. Кроме того SDK предоставляет набор
вспомогательных кодов для общих случаев использования (исходный код или библиотеки форм), таким
образом разработчику остается только настроить их для конкретного использования. SDK включает в себя
несколько популярных платформ и врапперов (языковых оберток) для расширения сферы применения.
Модули алогитмов обработки
Модуль распознавания жестов
Рассмотрим модуль отслеживания позиций пальцев на руке. Нам доступны 7 точек: кончики пальцев, центр
ладони и максимально видимая точка, которая находится у локтя. Если не требуется знать о местоположении
каждого пальца, то можно запросить специальные параметры, например, самую верхнюю точку, самую
правую точку или центр масс руки. На последнее не стоит сильно полагаться, так как это изменяемая
величина. Поэтому если нужно отслеживать руку, то для точных взаимодействий рекомендуется использовать
кончик пальца.
Кроме этого существует возможность распознать несколько стандартных жестов. Такие как большой палец
вверх, большой палец вниз, символ V (победа). В новой версии SDK доступен жест ладони (раскрытая ладонь).
Кроме статических жестов камера позволяет возвращать события о том, что произошли какие-то
динамические жесты. Например, взмахи руки влево, вправо, вверх, вниз, круговое движение, помахивание.
Кроме всего прочего, данный модуль позволяет возвращать карту значений. Это специальный набор, где
каждому пикселю будет присвоено значение именно того объекта, которому он принадлежит. Это может
быть полезно для сегментации объектов, то есть отделение одних объектов от других.
Модуль распознавания лиц
Наверное, всем известно как работает функция обнаружения лиц в фотоаппаратах, когда в окне
предварительного просмотра появляется квадратик на распознанном лице и в зависимости от его положения
выставляется фокусное расстояние или другие настройки. Данный модуль SDK позволяет получить большое
количество информации о распознанном лице. В итоге может быть возвращено 7 точек на лице: уголки глаз,
уголки рта, кончик носа. Кроме этого можно получить некоторую аналитическую информацию о
распознанном лице. Например, мы можем получить возрастную группу лица присутствующего на картинке
(ребенок, пожилой человек), можно определить пол, распознать подмигивание, распознать улыбку. Еще одна
полезная особенность этого модуля заключается в том, что он может находить похожие лица.
Модуль голосового управления
Модуль голосового управления предлагает две основных функциональности по распознаванию речи: первая –
это использование функций модуля для реализации голосовых меню. Вторая – это надиктовывание. Данная
функция предназначена для реализации надиктовывания коротких фраз продолжительностью до 30 секунд.
На текущий момент доступны немецкий, британский английский, американский английский, французский,
итальянский, японский, португальский, испанский, китайский словари. Другие языки будут добавляться по
мере сотрудничества с разработчиками голосового движка. Сейчас для реализации голосового управления
используется голосовой движок Nuance Dragon Assistant. Русский язык также скоро будет доступен.
Кроме того, в SDK доступен модуль синтеза речи. С помощью этой функции компьютер сможет отвечать
пользователю. Отличительной особенностью здесь является то, что не требуется заносить в программу какието предзаписанные фразы, а аудио поток формируется на лету и результат воспроизводится через аудио
систему компьютера.
Модуль отслеживания двумерных и трехмерных объектов
Функционал данного модуля позволяет отслеживать плоские двумерные объекты. Достаточно просто создать
модель этого объекта на компьютере и отслеживать его. В результате мы можем получать параметры
позиции объекта, угол наклона и т.д. Также поддерживается отслеживание трехмерных объектов, которые
задаются в виде модели (.obj файла). По умолчанию доступна модель маски лица, при помощи которой
можно отслеживать наклоны и изменения позиции лица как трехмерного объекта.
Стоит дополнить, что SDK реализует несколько уровней интерфейсов, которые позволяют сразу же
использовать игровые движки. На текущий момент поддерживаются следующие игровые движки: Unity,
Processing, использующий Java и openFrameworks.
Основой SDK являются набор блоков C++ интерфейсов, модули ввода/вывода и модули алгоритмов. Эти
интерфейсы обеспечивают грубую функциональность. Например, PXCCapture интерфейс возвращает аудио
семплы (PXCAudio) или изображения (PXCImage) с сенсора устройства. Интерфейс PXCGesture выполняет
отслеживание пальцев и распознавания жестов. Приложения, использующие данные уровни интерфейсов,
достигают максимальной гибкости и умеренно сложны в реализации.
DK предоставляет набор вспомогательных кодов для упрощения разработки приложений: UtilCapture является
расширением интерфейса PXCCapture, помогает объединить модули алгоритмов с устройствами ввода и
синхронизировать поток данных между ними. UtilPipeline предоставляет простой интерфейс общего
назначения, ограничивается распознаванием жестов, лица и голоса.
В своем приложении вы можете использовать любой из этих интерфейсов и настраивать их под конкретные
случаи. Для максимальной простоты, вы можете начать с кодов UtilPipeline. Для большей гибкости, вы можете
использовать коды UtilCapture. Большинство приложений должны использовать определенные комбинации.
Например, UtilPipeline определит, как направить поток данных с устройства ввода в модули алгоритмов, а
также использовать интерфейс PXCGesture для управления деталями алгоритма.






Интерфейс PXCCapture предоставляет функции-члены для опроса устройства видео захвата и создает
экземпляр устройства захвата.
Интерфейс PXCAudio обеспечивает последовательный способ доступа к аудио буферу.
Интерфейс PXCImage обеспечивает последовательный способ доступа к буферу изображения.
PXCGesture интерфейс позволяет функции-члену выполнять распознавание жестов.
Вспомогательный кодов UtilPipeline предоставляет простой интерфейс для ограниченной
функциональности отслеживания пальцев, распознавания голоса и лицам с камеры или из файла.
Интерфейс UtilCapture является вспомогательным интерфейсом (для интерфейса PXCCapture) для
создания сложного конвейера.
Обычно модули не работают сами по себе. Приложение должно определить источник данных и модуль
обработки данных. Приложения передают данные между этими двумя модулями. Приложению получает
входные данные от алгоритма конфигурации, а затем исчет соответствующее устройство ввода. Коды
UtilCapture выполняет именно это. Функция LocateStreams перечисляет доступные устройства ввода и
сравнивает источник с алгоритмом конфигурации. Это есть конвейер.
Такая передача данных происходит во время выполнения и формируется конвейером. Например, для
обнаружения позиции лица, как показано на рисунке приложение создает конвейер, состоящий из потока с
камеры, а также модуля распознавания лица и который явно передает изображения с камеры в модуль
распознавания лиц.
При наличии нескольких модулей обработки, каждый модуль определяет его входные требования. На рис. 2
такими требованиями являются DataDesc1 и DataDesc2. Например, Модуль 1 требует цветной поток, и Модуль
2 требует как цветной поток, так и поток данных с датчика глубины. Функции LocateStreams интерфейса
UtilCapture объединяет эти требования и находит устройства ввода, которые могут предоставить данные для
обоих модулей.
Следует заметить, что на текущий момент не все компоненты Intel Perceptual Computing SDK могут быть
использованы в коммерческих целях. К примеру, модуль распознавания голоса использует функциональность
разработанную компанией Nuance и должен быть использован только для тестирования и разработки
прототипов под соответствующей лицензией. Данный функционал работает только на машинах с
предустановленным движком Dragon Assistant, который по умолчанию установлен на современных
ультрабуках.
Источники
http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk
http://software.intel.com/sites/default/files/sdkmanual-module.pdf
Основные распознаваемые позы и жесты
Позы и жесты это две совершенно разные вещи. Поза это устойчивое, долговременное положение тела, в то
время как жесты это движения между позами. Далее рассмотрим позы, которые в настоящее время
распознаются в SDK модуле.
1 Открытость
С помощью просмотра атрибутов LABEL_OPEN и LABEL_CLOSE можно распознать, открыта или закрыта ладонь.
2 "Большой палец вверх" или "Большой палец вниз"
Позы "Большой палец вверх" или "Большой палец вниз" могут быть распознаны просмотром атрибутов
LABEL_POSE_THUMB_UP и LABEL_POSE_THUMB_DOWN соответственно. Например, это может быть
использовано для подтверждения или отмены голосовых команд
Знак победы
Знак победы может быть распознан по атрибуту LABEL_POSE_PEACE. Этот знак, например, может быть
использован в качестве пускового сигнала.
Большая пятерка
Большая пятерка может быть распознана на основе атрибута LABEL_POSE_BIG5. В зависимости от назначения
приложения этот знак может быть использован, например, как в качестве стоп-сигнала, или отмены голосовой
команды, или как пусковой жест.
В Intel Perceptual Computing SDK существует ряд жестов, действия на которые уже предопределены. В свою
очередь, когда в вашем приложении происходят некоторые действия, они могут быть выполнены с
использованием этих жестов.
"Захват" и "Сброс"
Для начала рассмотрим жест захвата объекта с экрана. Перед началом выполнения этого жеста пользователь
должен принять позу, в которой его большой палец и другие пальцы разъединены, как показано на рисунке
4а, следующим жестом все пальцы соединяются вместе в позу захвата (рисунок 4б). Обратные действия разъединение пальцев отпускают объект. Жесты захвата и сброса могут быть реализованы через параметр
"открытости" ладони (значения от 0 до 100 указывают уровень открытости ладони) и нахождение кончиков
пальцев.
Движение
После захвата объекта пользователь передвигает руку для перемещения объекта.
При проектировании приложений с функциями захвата и перемещения объектов, могут быть полезны
следующие рекомендации:

Пользователь должен понимать, какой объект следует, а какой не следует перемещать.




Если приложение основано, на функциях захвата и передвижения, то пользователь должен четко
понимать, где захваченный объект можно отпустить.
Объекты должны быть достаточно большими, чтобы учесть небольшое дрожание рук.
Объекты должны быть на таком расстоянии друг от друга, чтобы пользователи случайно не захватили
неправильный объект.
Если рука пользователя становится не отслеживаемой, в то время, как пользователь перемещает
объект, то перемещение объекта должны быть сброшены и до пользователя должна быть доведена
информация об этом.
Функция перемещения может быть реализована через отслеживание руки со значением открытости,
указывающее на ее закрытость
Панорамирование
Если приложение поддерживает панорамирование, то это должно быть сделано с помощью плоской ладони.
Панорамирование выполняется только полностью прямой ладонью. Движение прямой ладонью
панорамирует объект, но как только ладонь принимает расслабленную, слегка скрученную позу, что может
быть определено параметром открытость ладони, панорамирование останавливается. Если панорамирование
было выполнено не достаточно хорошо, ладонь можно обратно вернуть в позу и повторить панорамирование
снова.
Масштабирование
Если приложение поддерживает масштабирование, то это может быть сделано с помощью двух плоских
ладоней. Масштабирование выполняется за счет изменения расстояния между двумя ладонями (по аналогии
с масштабирование кончиками пальцев на сенсорных экранах), как показано на рис. 4.7. Масштабирование
требует действия, которое завершит масштабирование, в противном случае пользователь не сможет его
завершить без изменения масштаба.
Круг
Жест круг LABEL_HAND_CIRCLE выполняется следующим образом, пользователь соединяет все пальцы и
двигает рукой по кругу. Жест может быть использован для выбора или сброса, например.
Глубинное изображение показывает результаты отслеживания пальцев ( рис. 4.12):


Позиции пяти кончиков пальцев, центр ладони центр и предплечье.
Зелёная полоса с правой стороны показывает уровень открытость ладони.
В пакете Intel Perceptual Computing SDK есть приложение gesture_viewer, которое является примером
приложения с пользовательским интерфейсом. Приложение направлено на отслеживание кончиков
пальцев.
Основы распознавания лиц
Способность различать лица присуща человеку с его появления, и является самым естественным
способом идентификации. При встрече с новым человеком мы сначала смотрим на лицо и лишь,
потом анализируем его походку, голос, манеру одеваться. Компьютеры сравнительно недавно
приблизились к этой возможности, не смотря на то, что проблема отслеживания и распознавания лиц
рассматривалась еще на ранних стадиях компьютерного зрения. Первыми заказчиками на разработку
систем основанных на распознавании образов были правоохранительные органы. Задача, которая
ставилась, – захват из толпы отдельных лиц и определение находится ли данный человек в розыске.
Но на начало развития компьютерных технологий, это была непосильная задача. Современные
технологии отслеживания и распознавания лиц позволяют производить автоматический поиск и
распознавание лиц в графических файлах и видеопотоке. В настоящее время данная технология
широко распространена и применяется в следующих областях
Обеспечение безопасности: Транспортные узлы: аэропорты, вокзалы, автостанции, метро. Места массового
пребывания людей: стадионы, развлекательные центры, бизнес-центры, кинотеатры. Пограничные
паспортно-визовые контрольные пункты. Проходные и КПП на режимных, стратегических и коммерческих
объектах
Бесконтактный контроль состояния человека: Диспетчеров и охранников, Пилотов, машинистов,
водителей.
Реклама и маркетинговые исследования.
Индустрия развлечений: Создание 3D-фильмов, Моделирование виртуальной реальности
Метод Виолы-Джонса. В настоящее время метод Виолы–Джонса является самым популярным методом для
поиска области лица на изображении в силу своей высокой скорости и эффективности. Пол Виола и Майкл
Джонс разработали и представили этот метод в 2001. В основе метода Виолы–Джонса по поиску лица лежат
идеи: представление изображения по признакам Хаара, построения классификатора на основе алгоритма
адаптивного бустинга, и метод комбинирования классификаторов в каскадную структуру. Эти идеи позволяют
осуществлять поиск лица в режиме реального времени.
Признак Хаара состоит из смежных прямоугольных областей. Эти области позиционируются на изображении,
далее происходит суммирование интенсивности пикселей в областях, затем между суммами вычисляется
разность. Значение полученной разности и является значением признака для определенного размера,
специальным образом расположенного на изображении. Рисунок ниже демонстрирует пример
использования признаков Хаара. Например, для всех изображений, область в районе глаз темнее, чем
область в районе щек. Следовательно, общим признаком Хаара для лиц является 2 смежных прямоугольных
региона, лежащих на глазах и щеках.
На обнаружении методом Виолы—Джонса используется окно, определенного размера, которое движется по
изображению. Признак Хаара рассчитывается для каждой области изображения, над которой проходит окно.
Наличие или отсутствие предмета в окне определяется разницей между значением признака и обучаемым
порогом. Необходимо большее число признаков.
Методу Виолы–Джонса присуща высокая вероятность точного обнаружения лица, при наблюдении объекта
под небольшим углом, примерно до 30°. Но при большем угле наклона вероятность обнаружения лица резко
падает.В стандартной реализации метода эта особенность не позволяет обнаруживать лицо человека,
повернутое под произвольным углом, что в значительной мере затрудняет использование данного метода в
современных системах
Следующий пример программы созданной с помощью Intel(R) Perceptual Computing SDK с Unity* - GlassBall.
Приложение создает 8 шариков которым позволено двигаться только в плоскости XY. Каждый шарик из
твердого вещества и его движение подчиняется физическому взаимодействию с окружением.
Дополнительный скрипт BallScript.cs привязанный к каждому шарику прикладывает постоянную силу
вынуждая его двигаться к центру формы. Приложение также создает 10 образов кончиков пальцев
являющихся кинематически твердыми сферами, чьи положения и размеры назначаются из определения
параметров Ваших пальцев. Пользователь взаимодействует с шариками посредством твердых сфер на
кончиках пальцев. Скрипт ShadowHand.cs запускает конвейер отслеживания пальцев SDK и отображает тень
рук на экране. Каждый кадр скрипта получает определеный образ рук, удаляя весь фон и отображая тень рук.
Вы движениями пальцев не допускаете шарики к их цели.
Download