Компьютерная программа для парализованных
Исследовательская группа BrainGate сосредоточенная на разработке технологий взаимодействия людей с ограниченными возможностями с компьютерными интерфейсам создала систему, позволяющую управлять гаджетом, буквально силой мысли.
Система BrainGate BCI включает в себя небольшой имплантат, который вживляется в черепную коробку и интерфейса, который подключен к компьютеру через Bluetooth. Имплантат фиксирует сигналы, отвечающие за движения, после чего они расшифровываются и направляются на внешнюю систему.
Человек с ограниченными возможностями благодаря интерфейсу свободно пользуется планшетом - выбирает и слушает музыку
Участники клинических испытаний с диагнозом тетраплегией (частичная или полная парализация конечностей), благодаря интерфейсу BrainGate BCI смогли пользоваться мобильными устройствами –проверяли электронную почту, слушали музыку, смотрели видео, делали покупки в сети и общались в чатах.
Разработчики BrainGate уверяют, что подобная технология даст возможность людям управлять роботизированными протезами или восстанавливать работоспособность конечностей, моторные способности которых были потеряны в результате болезни или травмы.
Это потрясающе! Лишь бы до России добралось.
У нас жизнь суровая, даже инвалиды смогут очередным фашистам дать прикурить, накачавшихся на таких пандусах.
Есть российские разработки (про них недавно была статья тут VC). Что касается BrainGate и всех аналогов, то там очень далеко до массового продукта. Настройки все индивидуальны и сильно зависят от желания, мотивации и смирения со стороны пользователя, т.к. далеко не с первого раза что то вообще получается. В итоге публике показывают только лучшие исходы, а фейлов очень много. Я сам в бета группе тут Shenzhen по одному проекту и иногда консультирую т.к. в направление медицина веду несколько проектов. Сподвижки есть серьезные в лабораторных условиях и притом совсем разнонаправленные, но внедрение под большим вопросом, т.к. дорогую вещь покупатели не могут позволить и снова собирать смсками по всей России? Будут избранные которые будут пользоваться и всего то. Как новым шикарным Ferarri в год пользуются до 1500 единиц людей из 6 условных млрд в мире. Как то так.
из обзора видно, что разработка, хоть и кажется уникальной для тех, кто не в теме, все же не настолько уникальна, чтобы бояться, что она не доберется до какого-то района.
эксперименты с имплантами подобного типа ведутся уже давно и разными компаниями
жаль, что из статьи непонятно, есть ли у BrainGate какие-то ключевые отличия в их проекте или это просто еще одна самостоятельная попытка создать нейро-компьютерный интерфейс на базе импланта?
А видео где? Как тут без видео понять, насколько хороша реализация? Сколько времени нужно, чтобы навести условный курсор на нужную клавишу?
В связи с эпидемией коронавируса в мире многие образовательные учреждения перешли на дистанционные варианты обучения, предоставив возможность выбирать способ ведения занятий преподавателям. Но что делать, когда таких вариантов действительно много и глаза разбегаются? Попробовав самые популярные программы для ведения пар и уроков дистанционно, собрал для вас подборку из лучших, обозначив плюсы и минусы каждой. Все описанные в этой статье программы позволяют вести уроки, лекции и занятия онлайн через компьютер — иными словами, сервисы транслируют происходящее через камеру другим участникам конференции.
Skype
Преимущества:
Недостатки:
- требователен к скорости интернета;
- нет возможности настроить под себя.
Пожалуй, самый очевидный вариант, сразу всплывающий в памяти, — Skype. Действительно, программа может смело считаться самой популярной в сегодняшней подборке. Skype позволяет объединять в голосовой и видеочат группы до 50 человек. Сервис имеет веб-версию, а также приложения для Android, iOS, ПК, macOS и Linux, что делает его наиболее универсальным в плане выбора устройства вариантом. Более того, Skype уже есть у огромного количества пользователей, особенно у старшего поколения, а значит, его не придется ставить и настраивать. Из удобных для учебного процесса фишек здесь можно отметить разве что демонстрацию экрана и чат.
Простота сервиса не всегда играет на руку — в Skype нельзя отдельно настроить громкость участвующих в конференции. В приложении у микрофона есть два положения: включен или выключен, активация по голосу и нажатию не предусмотрена, что может мешать, если обстановка вокруг шумная. Ну и, пожалуй, самым главным минусом Skype является его ресурсоемкость. Причем, приложение как требует стабильное интернет-соединение, так и занимает немало ресурсов компьютера или мобильного устройства. Конференция на 20-25 человек запросто может оказаться не по силам устройствам учеников. Для менее крупных групповых занятий Skype подойдет.
Discord
Преимущества:
- требует мало ресурсов;
- имеет продвинутые настройки;
- активирует микрофон по голосу или нажатию.
Минусы:
Discord изначально создавался как сервис для геймеров, а потому и преимущества у него соответствующие. Приложение запускается быстро и требует мало ресурсов для работы в фоне. К слову, Web-версия у него также есть. В Discord пользователь может настраивать громкость каждого собеседника и отключать их звук. В отличие от Skype, здесь есть «режим рации» — удобная опция, которая позволяет активирует микрофон только при нажатии на кнопку. В настройках канала можно активировать эхо- и шумоподавление. Режим «стример» отключает все уведомления системы, при желании можно включить их озвучку.
Отличается от Skype и сама организация конференций. В Discord это не групповые чаты, а более удобные каналы — текстовые или голосовые. Каналы могут быть как публичными, так и приватными (доступны только по ссылке). Благодаря такой системе можно удобно ораганизовать учебный процесс, поделив студентов на курсы, группы и подгруппы. В Discord есть видеочаты и возможность демонстрировать экран. С недавних пор в видеоконференции Go Live может участвовать до 50 человек вместо 10 — эти меры были предприняты руководством из-за эпидемии коронавируса, дабы превратить сервис в площадку для занятий. Из явных минусов Discord можно отметить разве что ограничение в объеме отправляемых файлов. В чат нельзя прикрепить вложения весом больше 8 МБ без приобретения премиум-подписки. Это может быть неудобно при отправке учебников или других пособий.
Преимущества:
- удобная организация участников конференции на экране;
- можно демонстрировать отдельные приложения;
- есть виртуальная доска.
Недостатки:
- ограничение по времени в 40 минут в бесплатной версии.
Zoom — сервис, нацеленный на более серьезную аудиторию, чем обозначенные выше решения. Проект изначально создавался с оглядкой на бизнес-аудиторию, оттого и некоторые «фишки» здесь соответствующие. Например, в Zoom можно активировать виртуальную доску, на которой можно писать, рисовать и строить схемы. Также, в отличие от предыдущих вариантов, в Zoom можно демонстрировать определенную область или приложение, а не весь экран. К слову, сервис предусматривает возможность рисования и выделения поверх демонстрации экрана. Этот инструмент доступен как создателю конференции, так и ее участникам. Так, например, можно открыть учебник и дать возможность студентам делать пометки. В Zoom во время конференции можно поменять фон на любое изображение. Главный минус сервиса — ограничение по времени. Имея бесплатный профиль, можно проводить конференции лишь до 40 минут, после чего придется завершить сеанс. Варианта выхода из ситуации два: пересоздавать конференцию после 40 минут или купить премиум-подписку за 15 долларов.
Google Hangouts
Преимущества:
- простой и понятный интерфейс;
- интегрирован с сервисами Google.
Недостатки:
- нет возможности настроить под себя;
- ограничение в 15 человек в бесплатной версии.
Google Hangouts на ряду со Skype — один из самых простых сервисов в подборке. По сути, кроме видеочата и демонстрации экрана здесь ничего нет, но для некоторых пользователей это может стать плюсом. Google Hangouts имеет предельно простой интерфейс, в котором несложно разобраться. Для создания конференции достаточно иметь аккаунт Google и открыть страницу сервиса, если вы используете компьютер. Пользователям устройств на iOS и Android придется установить приложение. К слову, на устройства с Android Hangouts нередко предустановлен прямо «из коробки».
К сожалению, при наличии обычного аккаунта сервис позволяет объединять лишь 15 человек, чтобы организовать конференцию на 25 человек, придется приобрести Gmail for Business за 12 долларов в месяц. Hangouts — отличный вариант для разговорных занятий, не требующих дополнительных ресурсов в виде виртуальной доски.
Microsoft Teams
Преимущества:
- есть виртуальная доска;
- пакет офисных программ интегрирован прямо в чаты;
- можно объединять в конференцию до 250 человек.
Недостатки:
Также, как и Zoom, Microsoft Teams нацелен в первую очередь на ведение бизнес-проектов, тем не менее ничего не мешает использовать его для занятий. Главным преимуществом Microsoft Teams является интеграция сервисов компании: Office, Powerpoint, Excel. Прямо в чате можно применять форматирование, менять шрифт и строить таблицы. В видеоконференции можно объединять до 250 человек, что позволяет вести потоковые лекции. В приложении можно только настроить взаимодействие участников, а также активировать виртуальную доску. Из минусов можно отметить запутанность сервиса — в нем не так просто разобраться, и перед первой конференцией стоит провести пару десятков минут, разбираясь в том, как все работает.
Сравнительная таблица возможностей сервисов при наличии бесплатного профиля:
Если вас интересует, как помочь обездвиженному человеку управлять компьютером для общения с внешним миром – вам сюда. Если вам интересно, какое отношение к этому имеют мел-частотные кепстральные коэффициенты и нейронные сети – вам тоже сюда.
Часть I. Программа для управления компьютером при помощи голоса
Ко мне обратился человек с просьбой написать программу, которая позволила бы управлять компьютерной мышью при помощи голоса. Тогда я и представить себе не мог, что, практически полностью парализованный человек, который даже не может сам повернуть голову, а может лишь разговаривать, способен развить бурную деятельность, помогая себе и другим жить активной жизнью, получать новые знания и навыки, работать и зарабатывать, общаться с другими людьми по всему свету, участвовать в конкурсе социальных проектов.
Позволю себе привести здесь пару ссылок на сайты, автором и/или идейным вдохновителем которых является этот человек – Александр Макарчук из города Борисов, Беларусь:
Это одному мне режет глаз?
Программа была сделана в 2005-2009 годах и хорошо работала на Windows XP. В более свежих версиях Windows программа может зависнуть, что неприемлемо для человека, который не может встать со стула и её перезапустить. Поэтому программу нужно было переделать.
Исходных текстов нет, есть только отдельные публикации, приоткрывающие технологии, на которых она основана (MFCC, MLP – читайте об этом во второй части).
По образу и подобию была написана новая программа (месяца за три).
Собственно, посмотреть, как она работает, можно здесь:
Никаких особенных действий для установки программы выполнять не надо, просто щёлкаете на ней, да запускаете. Единственное, в некоторых случаях требуется, чтобы она была запущена от имени администратора (например, при работе с виртуальной клавиатурой “Comfort Keys Pro”):
Пожалуй, стоит упомянуть здесь и о других вещах, которые я ранее делал для того, чтобы можно было управлять компьютером без рук.
Если у вас есть возможность поворачивать голову, то хорошей альтернативой eViacam может послужить гироскоп, крепящийся к голове. Вы получите быстрое и точное позиционирование курсора и независимость от освещения.
Если вы можете двигать только зрачками глаз, то можно использовать трекер направления взгляда и программу к нему (могут быть сложности, если вы носите очки).
Часть II. Как это устроено?
Из опубликованных материалов о программе «Vocal Joystick» было известно, что работает она следующим образом:
- Нарезка звукового потока на кадры по 25 миллисекунд с перехлёстом по 10 миллисекунд
- Получение 13 кепстральных коэффициентов (MFCC) для каждого кадра
- Проверка того, что произносится один из 6 запомненных звуков (4 гласных и 2 согласных) при помощи многослойного персептрона (MLP)
- Воплощение найденных звуков в движение/щелчки мыши
Последняя задача просто реализуется при помощи функции SendInput.
Наибольший же интерес, мне кажется, представляют вторая и третья задачи. Итак.
Задача №2. Получение 13 кепстральных коэффициентов
Если кто не в теме – основная проблема узнавания звуков компьютером заключается в следующем: трудно сравнить два звука, так как две непохожие по очертанию звуковые волны могут звучать похоже с точки зрения человеческого восприятия.
И среди тех, кто занимается распознаванием речи, идёт поиск «философского камня» — набора признаков, которые бы однозначно классифицировали звуковую волну.
Из тех признаков, что доступны широкой публике и описаны в учебниках, наибольшее распространение получили так называемые мел-частотные кепстральные коэффициенты (MFCC).
Но человек устроен так, что он склонен использовать то, что ему лучше знакомо. И тем, кто занимался речевыми сигналами, пришло в голову использовать уже готовое компактное представление сигнала в виде MFCC. Оказалось, что, в общем, работает. (Один мой знакомый, специалист по вентиляционным системам, когда я его спросил, как бы сделать дачную беседку, предложил использовать вентиляционные короба. Просто потому, что их он знал лучше других строительных материалов).
Являются ли MFCC хорошим классификатором для звуков? Я бы не сказал. Один и тот же звук, произнесённый мною в разные микрофоны, попадает в разные области пространства MFCC-коэффициентов, а идеальный классификатор нарисовал бы их рядом. Поэтому, в частности, при смене микрофона вы должны заново обучать программу.
Это всего лишь одна из проекций 13-мерного пространства MFCC в 3-мерное, но и на ней видно, что я имею в виду – красные, фиолетовые и синие точки получены от разных микрофонов: (Plantronix, встроенный массив микрофонов, Jabra), но звук произносился один.
Однако, поскольку ничего лучшего я предложить не могу, также воспользуюсь стандартной методикой – вычислением MFCC-коэффициентов.
Чтобы не ошибиться в реализации, в первых версиях программы в качестве основы был использован код из хорошо известной программы CMU Sphinx, точнее, её реализации на языке C, именующейся pocketsphinx, разработанной в Университете Карнеги-Меллона (мир с ними обоими! (с) Хоттабыч).
Исходные коды pocketsphinx открыты, да вот незадача – если вы их используете, то должны в своей программе (как в исходниках, так и в исполняемом модуле) прописать текст, содержащий, в том числе, следующее:
Мне это показалось неприемлемым, и пришлось код переписать. Это сказалось на быстродействии программы (в лучшую сторону, кстати, хотя «читабельность» кода несколько пострадала). Во многом благодаря использованию библиотек “Intel Performance Primitives”, но и сам кое-что оптимизировал, вроде MEL-фильтра. Тем не менее, проверка на тестовых данных показала, что получаемые MFCC-коэффициенты полностью аналогичны тем, что получаются при помощи, например, утилиты sphinx_fe.
В программах sphinxbase вычисление MFCC-коэффициентов производится следующими шагами:
Шаг | Функция sphinxbase | Суть операции |
---|---|---|
1 | fe_pre_emphasis | Из текущего отсчёта вычитается большая часть предыдущего отсчета (например, 0.97 от его значения). Примитивный фильтр, отбрасывающий нижние частоты. |
2 | fe_hamming_window | Окно Хемминга – вносит затухание в начале и конце кадра |
3 | fe_fft_real | Быстрое преобразование Фурье |
4 | fe_spec2magnitude | Из обычного спектра получаем спектр мощности, теряя фазу |
5 | fe_mel_spec | Группируем частоты спектра [например, 256 штук] в 40 кучек, используя MEL-шкалу и весовые коэффициенты |
6 | fe_mel_cep | Берём логарифм и применяем DCT2-преобразование к 40 значениям из предыдущего шага. Оставляем первые 13 значений результата. Есть несколько вариантов DCT2 (HTK, legacy, классический), отличающихся константой, на которую мы делим полученные коэффициенты, и особой константой для нулевого коэффициента. Можно выбрать любой вариант, сути это не изменит. |
В эти шаги ещё вклиниваются функции, которые позволяют отделить сигнал от шума и от тишины, типа fe_track_snr, fe_vad_hangover, но нам они не нужны, и отвлекаться на них не будем.
Были выполнены следующие замены для шагов по получению MFCC-коэффициентов:
Шаг | Функция sphinxbase | Переделка |
---|---|---|
1 | fe_pre_emphasis | cas_pre_emphasis (через frame[i] -= frame[i — 1] * pre_emphasis_alpha;) |
2 | fe_hamming_window | for(i=0;i |
3 | fe_fft_real | ippsDFTFwd_RToCCS_32f |
4 | fe_spec2magnitude | for(i=0;i buf_ipp[i]=buf_ipp[i*2]*buf_ipp[i*2]+buf_ipp[i*2+1]*buf_ipp[i*2+1]; |
5 | fe_mel_spec | cas_mel_spec (через предрасчитанную таблицу) |
6 | fe_mel_cep | CS_mel_cep (через логарифм + ippsDCTFwd_32f_I) |
Что же дальше? У нас есть вектор 13-мерного пространства. Как определить, к какому звуку он относится?
Задача №3. Проверка того, что произносится один из 6 запомненных звуков
В программе-оригинале «Vocal Joystick» для классификации использовался многослойный персептрон (MLP) – нейронная сеть без новомодных наворотов.
Давайте посмотрим, насколько оправдано применение нейронной сети здесь.
Вспомним, что делают нейроны в искусственных нейронных сетях.
Если у нейрона N входов, то нейрон делит N-мерное пространство пополам. Рубит гиперплоскостью наотмашь. При этом в одной половине пространства он срабатывает (выдаёт положительный ответ), а в другой – не срабатывает.
Давайте посмотрим на [практически] самый простой вариант – нейрон с двумя входами. Он, естественно, будет делить пополам двумерное пространство.
Пусть на вход подаются значения X1 и X2, которые нейрон умножает на весовые коэффициенты W1 и W2, и добавляет свободный член C.
Итого, на выходе нейрона (обозначим его за Y) получаем:
(опустим пока тонкости про сигмоидальные функции)
Считаем, что нейрон срабатывает, когда Y>0. Прямая, заданная уравнением 0=X1*W1+X2*W2+C как раз и делит пространство на часть, где Y>0, и часть, где Y
Проиллюстрируем сказанное конкретными числами.
Пусть W1=1, W2=1, C=-5;
Теперь посмотрим, как нам организовать нейронную сеть, которая бы срабатывала на некоторой области пространства, условно говоря – пятне, и не срабатывала во всех остальных местах.
Из рисунка видно, что для того, чтобы очертить область в двумерном пространстве, нам потребуется по меньшей мере 3 прямых, то есть 3 связанных с ними нейрона.
Эти три нейрона мы объединим вместе при помощи ещё одного слоя, получив многослойную нейронную сеть (MLP).
А если нам нужно, чтобы нейронная сеть срабатывала в двух областях пространства, то потребуется ещё минимум три нейрона (4,5,6 на рисунках):
И тут уж без третьего слоя не обойтись:
А третий слой – это уже почти Deep Learning…
Теперь обратимся за помощью к ещё одному примеру. Пусть наша нейронная сеть должна выдавать положительный ответ на красных точках, и отрицательный – на синих точках.
Если бы меня попросили отрезать прямыми красное от синего, то я бы сделал это как-то так:
Но нейронная сеть априори не знает, сколько прямых (нейронов) ей понадобится. Этот параметр надо задать перед обучением сети. И делает это человек на основе… интуиции или проб и ошибок.
Если мы выберем слишком мало нейронов в первом слое (три, например), то можем получить вот такую нарезку, которая будет давать много ошибок (ошибочная область заштрихована):
Но даже если число нейронов достаточно, в результате тренировки сеть может «не сойтись», то есть достигнуть некоторого стабильного состояния, далёкого от оптимального, когда процент ошибок будет высок. Как вот здесь, верхняя перекладина улеглась на два горба и никуда с них не уйдёт. А под ней большая область, порождающая ошибки:
Снова, возможность таких случаев зависит от начальных условий обучения и последовательности обучения, то есть от случайных факторов:
— Что ты думаешь, доедет то колесо, если б случилось, в Москву или не доедет?
— А ты как думаешь, сойдётся ента нейронная сеть или не сойдётся?
Есть ещё один неприятный момент, связанный с нейронными сетями. Их «забывчивость».
Если начать скармливать сети только синие точки, и перестать скармливать красные, то она может спокойно отхватить себе кусок красной области, переместив туда свои границы:
Если у нейронных сетей столько недостатков, и человек может провести границы гораздо эффективнее нейронной сети, зачем же их тогда вообще использовать?
А есть одна маленькая, но очень существенная деталь.
Я очень хорошо могу отделить красное сердечко от синего фона отрезками прямых в двумерном пространстве.
Я неплохо смогу отделить плоскостями статую Венеры от окружающего её трёхмерного пространства.
Но в четырёхмерном пространстве я не смогу ничего, извините. А в 13-мерном — тем более.
А вот для нейронной сети размерность пространства препятствием не является. Я посмеивался над ней в пространствах малой размерности, но стоило выйти за пределы обыденного, как она меня легко уделала.
Тем не менее вопрос пока открыт – насколько оправдано применение нейронной сети в данной конкретной задаче, учитывая перечисленные выше недостатки нейронных сетей.
Забудем на секунду, что наши MFCC-коэффициенты находятся в 13-мерном пространстве, и представим, что они двумерные, то есть точки на плоскости. Как в этом случае можно было бы отделить один звук от другого?
Пусть MFCC-точки звука 1 имеют среднеквадратическое отклонение R1, что [грубо] означает, что точки, не слишком далеко отклоняющиеся от среднего, наиболее характерные точки, находятся внутри круга с радиусом R1. Точно так же точки, которым мы доверяем у звука 2 находятся внутри круга с радиусом R2.
Внимание, вопрос: где провести прямую, которая лучше всего отделяла бы звук 1 от звука 2?
Напрашивается ответ: посередине между границами кругов. Возражения есть? Возражений нет.
Исправление: В программе эта граница делит отрезок, соединяющий центры кругов в соотношении R1:R2, так правильнее.
Далее, представим, что звука три. В этом случае проведём границы между каждой парой звуков.
И, наконец, не забудем, что где-то в пространстве есть точка, которая является представлением полной тишины в MFCC-пространстве. Нет, это не 13 нулей, как могло бы показаться. Это одна точка, у которой не может быть среднеквадратического отклонения. И прямые, которыми мы отрежем её от наших трёх звуков, можно провести прямо по границам окружностей:
На рисунке ниже каждому звуку соответствует кусок пространства своего цвета, и мы можем всегда сказать, к какому звуку относится та или иная точка пространства (или не относится ни к какому):
Ну, хорошо, а теперь вспомним, что пространство 13-мерное, и то, что было хорошо рисовать на бумаге, теперь оказывается тем, что не укладывается в человеческом мозгу.
Так, да не так. К счастью, в пространстве любой размерности остаются такие понятия, как точка, прямая, [гипер]плоскость, [гипер]сфера.
Мы повторяем все те же действия и в 13-мерном пространстве: находим дисперсию, определяем радиусы [гипер]сфер, соединяем их центры прямой, рубим её [гипер]плоскостью в точке, равно отдалённой от границ [гипер]сфер.
Никакая нейронная сеть не сможет более правильно отделить один звук от другого.
Здесь, правда, следует сделать оговорку. Всё это справедливо, если информация о звуке – это облако точек, отклоняющихся от среднего одинаково во всех направлениях, то есть хорошо вписывающееся в гиперсферу. Если бы это облако было фигурой сложной формы, например, 13-мерной изогнутой сосиской, то все приведённые выше рассуждения были бы не верны. И возможно, при правильном обучении, нейронная сеть смогла бы показать здесь свои сильные стороны.
Но я бы не рисковал. А применил бы, например, наборы нормальных распределений (GMM), (что, кстати и сделано в CMU Sphinx). Всегда приятнее, когда ты понимаешь, какой конкретно алгоритм привёл к получению результата. А не как в нейронной сети: Оракул, на основе своего многочасового варения бульона из данных для тренировки, повелевает вам принять решение, что запрашиваемый звук – это звук №3. (Меня особенно напрягает, когда нейронной сети пытаются доверить управление автомобилем. Как потом в нестандартной ситуации понять, из-за чего машина повернула влево, а не вправо? Всемогущий Нейрон повелел?).
Но наборы нормальных распределений – это уже отдельная большая тема, которая выходит за рамки этой статьи.
Надеюсь, что статья была полезной, и/или заставила ваши мозговые извилины поскрипеть.
Люди привыкли к тому, что для общения с компьютером им нужна лишь клавиатура и манипулятор «мышь». Но если речь идёт о тех, кто страдает боковым амиотрофическим склерозом или заболеванием двигательных нейронов, то здесь нужен совершенно иной подход. 32-летний британский программист Джулиус Свитлэнд из Лондона опубликовал бесплатную open-source-систему OptiKey, при помощи которой любой парализованный человек сможет полноценно использовать компьютер.
Джулиус потратил три с половиной года своей жизни на то, чтобы разработать OptiKey. Для работы этой системы вам понадобится компьютер под управлением операционной системы Windows, а также относительно недорогое устройство для отслеживания ваших зрачков. До сегодняшнего дня подобные комплексы стоили порядка 20 000 долларов, но Джулиус решил поделиться своей разработкой со всеми желающими абсолютно бесплатно. Он даже опубликовал исходный код OpiKey на портале GitHub.
В качестве отслеживающего устройства подойдёт, к примеру, Tobii EyeX, которое стоит на рынке около 160 долларов, что, согласитесь, куда дешевле, чем 20 000. OptiKey предлагает пользователю методику набора текстов, отдалённо напоминающую столь популярный на современных смартфонах метод Swype. Чтобы ввести какое-либо слово, человеку нужно будет задержать взгляд на первой его букве, затем бегло переместить взгляд по последующим буквам и вновь задержать взгляд на последней букве. Предиктивный ввод также присутствует. Всё это в комплексе позволяет парализованному человеку достаточно быстро печатать различные тексты.
Разработчик надеется, что его бесплатная система немного встряхнёт застоявшийся рынок программного обеспечения для людей, страдающих подобными тяжёлыми заболеваниями. Он также убеждён в том, что крупные корпорации должны снизить стоимость своего оборудования и софта, так как больные люди попросту не могут себе позволить тратить такие суммы. Что ж, Джулиус делает доброе дело, и ему можно пожелать только удачи.
Разбитые вдребезги мечты
Пробуждение было ужасным. Кен пытался кричать, но голосовые связки не слушались. Хотел подняться с больничной койки, но не мог пошевелить ни рукой, ни ногой. Так он и лежал — беспомощный сгусток сознания, заточённый в парализованном теле. Общаться с медперсоналом удавалось только при помощи морганий глазами: один раз — "да", два раза — "нет".
Семейное фото Уоррелов
Диагноз врачей не оставлял надежды: у Кена квадриплегия. То есть полная утрата контроля над телом и конечностями, вызванная травмой позвоночника. Ему суждено оставаться парализованным ниже шеи до конца своих дней. Но Кен не хотел такой участи: лучше умереть… Когда неделю спустя к нему вернулась речь, он попросил отца отключить аппараты искусственного жизнеобеспечения. Отец отговорил Кена от самоубийства: "Давай подождём две недели. Если ты не переменишь решения, я подумаю, как выполнить твою просьбу".
Отсрочка оказалась спасительной. Уоррела навестили жена и дети. Когда он увидел родных, его планы изменились. "Я ни за что не отключу себя от аппаратов, — решил Кен. — Я хочу увидеть, как мои дети вырастут, создадут семью, заведут внуков". Так начались долгие годы его реабилитации. И пускай он отказался от мыслей о суициде, депрессия по-прежнему держала канадца мёртвой хваткой.
Лекарство от беспомощности
С каждым днём Кен отдалялся. Искры прежней жизни ещё теплились в нём, но постепенно превращались в пепел воспоминаний. Он никогда больше не сыграет воскресным днём с сыновьями в хоккей. Никогда не наденет костюм Санта-Клауса, чтобы поздравить семью на Рождество. Никогда не выберется с друзьями в спорт-бар на просмотр матча любимой команды "Филадельфия Флайерз". Никогда. Страшное слово "никогда".
Беспомощность давила сильнее стотонной плиты. Кен заперт в четырёх стенах больницы, его переворачивают, вытирают и пеленают, как грудного младенца. Когда чешется лицо, он не в силах самостоятельно унять зуд. Кормят с ложечки, словно ребёнка. Как не впасть в глубокое уныние? Как доказать себе и другим, что он ещё на что-то способен?
Ответы Уоррелу удалось получить в 1996-м, спустя два года после госпитализации. Средство от депрессии принесла сотрудница ванкуверского реабилитационного центра. "Кен, вот сюрприз, который, возможно, улучшит вашу жизнь. Это новая компьютерная игра — Diablo". Новость Уоррела обрадовала и озадачила: "Классно. Я люблю мечи, магию и всё такое. Но как я буду играть без рук?"
Убивая монстров одним дыханием
Руки и не понадобились. Революционный манипулятор Jouse, с которым познакомился Кен, предназначался для рта и работал по принципу всасывания и выдувания воздуха. Вместо стандартного компьютерного грызуна — мундштук, который нужно перемещать языком и зубами. Вместо клацаний по левой и правой кнопкам мыши — вдох и выдох через тот же мундштук.
Устройство создала в 1995 году канадская компания Compusult, чтобы парализованные люди (квадриплегия, церебральный паралич, мышечная атрофия) могли пользоваться компьютерными благами наравне со всеми. Как выяснилось, Jouse годился не только для работы, но и для развлечений.
Затратив на освоение манипулятора месяц, Кен, до трагедии притрагивавшийся к геймпадам всего-то пару раз, стал заядлым игроманом. Пока обездвиженный Уоррел лежал на кровати, его виртуальный двойник лихо рубил мечом чертей и скелеты в подземельях ролевого экшена Diablo.
"Эта игра вселила в меня уверенность и придала силы, необходимые для борьбы с недугом", — Кен Уоррел.
Утихомирив Сатану в Diablo, Уоррел во второй половине 90-х принялся за другие хиты компании Blizzard. Вёл в бой отряды альянса, освобождая мир Warcraft II от нашествия орков. Колонизировал планеты и сражался с инопланетными тварями в StarCraft. Улаживал распри между ангелами и демонами в Diablo II.
В двухтысячных, с появлением широкополосного интернета и развитием MMORPG, жизнь Уоррела заблистала новыми красками. Странствия по бескрайним землям Азерота и битвы с монстрами в World of Warcraft наполнили его существование смыслом на многие месяцы и годы. Взаимодействуя с пользователями со всего мира, он больше не чувствовал себя больничным узником. В онлайне Кен мог покорять виртуальные вселенные плечом к плечу с сыновьями и друзьями.
Волшебники из Оксфордшира
К сожалению, не всем людям с ограниченными возможностями удаётся, подобно Кену Уоррелу, расцветить будни электронными развлечениями. Чем сложнее нарушение у человека, тем труднее подбор манипулятора и игровой платформы. Скажем, тот же Jouse (последняя версия, между прочим, стоит 1495 долларов) подходит не для всех парализованных. В отдельных случаях положение спасают маленькие компании, выпускающие модифицированные устройства. Так, контроллер Xbox One, адаптированный для левой руки, можно приобрести за $139,99, а геймпад для рта QuadStick обойдётся в $399.
Голосовое управление, отслеживание движений глаз, педали для ног, джойстики для подбородка — инженерам и врачам SpecialEffect любая задача по плечу (страница с историями помощи не даст соврать). Они, например, помогли девятилетней девочке Сейде с ДЦП, давно мечтавшей о видеоиграх, но имеющей проблемы с подвижностью пальцев. Решение? Геймпад увеличенного размера с особым расположением кнопок.
Теперь Сейда весело проводит время в Disney Infinity, перевоплощаясь в героев любимых мультфильмов. В реальном мире она не может встать с инвалидной коляски. В виртуальном — бегает, прыгает, летает! И полноценно взаимодействует с друзьями, забыв о физических ограничениях. "Я теперь тоже геймер!" — произносит Сейда в трогательном видеоролике.
"Дело не только в том, что игры ускоряют реабилитацию, возвращая давно утраченное веселье, — рассказывает представитель SpecialEffect Марк Сэвил. — Гораздо важнее, что они способствуют интеграции человека с нарушениями в социум. Взяв в руки геймпад, он перестаёт чувствовать изоляцию. Сегодня слово "геймер" означает принадлежность к многомиллионному сообществу".
Единение с миром
Силу многомиллионного сообщества Кен Уоррел в полной мере ощутил в 2014 году, начав транслировать игровые сессии при помощи сервиса Twitch. Правда, в первый день стриминга канадцу было страшно: он не знал, как отреагирует аудитория на его приключения в Diablo III.
"Благодаря стримингу Кен всегда окружён вниманием сообщества. Не выходя из гостиной. Это как если бы мир заглянул к нему домой", — Роб Эванс, друг Кена Уоррела.
Уоррел обрёл новое призвание, став стримером. Сейчас на его канале в Twitch 38 тысяч подписчиков. Для кого-то игры вроде Diablo III, World of Warcraft и Path Of Exile — лишь способ убить время. Кену же они помогают с оптимизмом смотреть в будущее. Впрочем, не только ему, но и другим людям с ограничениями: трансляции Кена вдохновляют на борьбу с собственными недугами. В этом канадец убедился уже на второй день новообретённой карьеры, поговорив по видеосвязи с таким же квадриплегиком, как и он сам. Собеседник не мог поверить, что без рук можно играть.
Вот как Уоррел вспоминает об этом событии: "Я поделился с ним опытом. И он сказал, что тоже закажет себе манипулятор Joust. Так было положено начало долгой дружбе. Это был важный момент — осознание того, что я кому-то помог. Моя жизнь обрела цель".
Побеждая вопреки обстоятельствам
Разумеется, Кен Уоррел не единственный особенный стример. Таков, например, и 27-летний американец Мэтью Финк. Хотя у парня ампутированы руки и ноги (результат перенесённой в младенчестве инфекции), ему удаётся побеждать соперников в сетевых баталиях StarCraft II. Мэтью играет столь хорошо, что выступает в киберспорте. Невероятно, но он пользуется стандартной мышкой и клавиатурой. Демонстрация талантов — в этом видео. "Благодаря StarCraft II впервые в жизни у меня появилась возможность состязаться с обычными людьми на равных", — написал он на своей странице в сети Facebook.
29-летний американец Карлос Васкес — тоже профессиональный геймер. Он с детства влюблён в серию файтингов Mortal Kombat. Потеряв в десятилетнем возрасте зрение из-за глаукомы, Карлос не отказался от любимого увлечения. За годы тренировок невидящий американец так искусно освоил франчайз "Смертельная битва", что в 2014-м пробился на чемпионат EVO — самый крупный в мире турнир по файтингам. И даже выиграл два первых поединка в Mortal Kombat 9.
Как незрячему удаётся побеждать зрячих? За счёт развитого слуха. Васкес обнаружил, что в играх Mortal Kombat каждый персонаж, нанося удар, звучит по-особому. Чудеса боя вслепую — на канале Карлоса в YouTube.
Есть и русскоязычные особенные геймеры. 30-летний минчанин Александр Зенько, родившийся с ДЦП, проходит игры без рук. Только если у Кена Уоррела есть Jouse, белорусу приходится довольствоваться обычным компьютерным грызуном. Передвигая его подбородком.
Заботами неравнодушных программистов в 2014 году Александр обзавёлся утилитой, позволившей ему проходить с помощью мышки игры, рассчитанные на клавиатуру. Теперь Саша делится своим хобби с миром, выкладывая стримы по DOOM, Limbo, Super Meat Boy и другим хитам.
Играть, чтобы спасать жизни
Александру Зенько и другим невоспетым геймерам, надеемся, ещё предстоит познать исцеляющую силу поддержки сообщества. А Кену Уоррелу она уже дала многое. Подписчики помогли собрать ему необходимую сумму для поездки на BlizzCon — геймерский фестиваль, который компания Blizzard ежегодно проводит в Калифорнии. Заветная мечта Кена — если, конечно, не помешает здоровье — скоро станет реальностью.
"Я хочу встретить Криса Метцена и поблагодарить его за создание Diablo, игры, спасшей мою жизнь. Я был одинок и беспомощен, но она изменила меня", — Кен Уоррел.
Изменившись сам, Кен помогает меняться другим. Недавно он получил письмо благодарности со словами: "Став инвалидом, я хотел застрелиться, но ваши героические стримы убедили меня не делать этого". А ведь Кен просто играл в Diablo III.
Кен Уоррел. Человек, который когда-то помышлял о самоубийстве, теперь сам спасает людские жизни.
Читайте также: