ENDURANCER
Новый пользователь
Полностью роботизированная платформа Endurance open-source.
Год назад мы начали работу над платформой, которая могла бы лечь в основу элементарного робототехнического интерфейса. Мы поставили перед собой задачи: объединить распознавание голоса и образов с синтезом голоса.
Начали мы с наиболее простой задачи – синтеза голоса, поскольку задача эта уже давно решена многими вендорами. Еще в 1984 году Стив Джобс, анонсируя свой Макнтош, удивил всех на презентации, когда первый Мак заговорил.
С выбором модулей по синтезу речи проблем не было. Они все довольно хорошо работают и имеют большой выбор голосов.
В результате мы использовали стандартный SAPI от Microsoft. Данный функционал с различными языковыми наборами распространяется бесплатно.
Что касается распознавания образов, то здесь задача более сложная, т.к. необходимо не просто распознавание картинки или лица, а распознавание образа в потоковом видео, идущем от камеры. Здесь важен выбор используемых программой ресурсов. Если для компьютера это не имеет значения, то для планшета это принципиально, так как программа должна работать эффективно и не «подвешивать» систему.
Для данного решения мы использовали открытую библиотеку OpenCV. Для ускорения работы сначала ведется поиск любого лица определенного размера в области видимости. Поиск идет с помощью каскадов Хаара и готового обученного шаблона, входящего в состав библиотеки OpenCV.
Затем найденное лицо вырезается, нормализуется (приводится к единому стандарту) по размеру и по освещенности и приводится к черно-белому варианту.
После чего используется распознавание конкретного человека с помощью готового алгоритма FaceRecognizer, обученного на нескольких изображениях одного и того же лица, снятого с разных ракурсов.
Теперь перейдем к наиболее сложной части - распознаванию голоса.
Здесь мы потратили 90% всех усилий. И признаемся, что только сейчас полностью удовлетворены качеством работы. Мы старались использовать готовые решения Open Source.
К сожалению, 99% этих решений либо платные, либо плохо работают. Т.е. вы говорите «Манчестер», а система слышит «Ливерпуль». Пришлось долго выбирать и пробовать различные слова и комбинации.
Например, широко известное Open Source решение Sphinx работает локально, представлены все инструменты, но требует много времени для обучения и получения минимально приемлемого уровня распознавания.
В результате мы остановились на Google Speech API, поддерживающий не более 50 запросов в сутки (около 15 минут распознавания). Для демо это вполне подходит.
У Google хорошее качество распознавания. Даже с расстояния нескольких метров распознавание происходит вполне прилично.
Итак, в чем же суть программы?
При включении программы она первым делом находит лицо в зоне видимости камеры. Если видит это лицо впервые (его нет еще в базе данных), просит написать и сохранить имя. После чего она это лицо всегда распознает.
Потом программа переходит в режим распознавания речи: слов, предложений или команд. Распознав произнесенную человеком фразу, команду, программа ищет в базе данных ответ и произносит его. Чтобы программа знала, что ответить, необходимо заранее прописать ответы в базу данных. Пока это выглядит как обычный текстовый файл.
( Tim = Добрый день, Тим. Мы приветствуем Вас на нашей конференции.
Steve = Спасибо, что пришли, Стив, вас сейчас встретят. Хорошего дня!
35310204 = Срок погашения Вашего кредита до 30 числа следующего месяца. )
Здесь идет речь не об искусственном интеллекте, а о простом интерфейсе распознавания образов и речи и синтеза речи.
Итак, какие же возможности открывает данная программа и подобный интерфейс? Их можно использовать для создания некой полноценной роботизированной платформы, которые существуют сейчас в виде электронных киосков.
На наш взгляд, эта программа будет выглядеть более элегантно, если использовать ее совместно с DIY SelfieBot.
Рассмотрим теоретические варианты использования платформы
1. Стойка регистрация на конференции СелфиБот
Решаемая проблема: снизить расходы на обслуживающий персонал для конференций.
Задача: Обеспечить посетителей и гостей конференции удобным пользовательским интерфейсом для автоматической регистрации онлайн.
Решение: Гость подходит к стойке. Произносит свое имя и фамилию. Система распознает его, проверяет в базе и производит онлайн регистрацию гостя.
Пример:
- Представьтесь, пожалуйста.
- Тим Кук.
- Добрый день, Тим. Мы приветствуем Вас на нашей конференции.
2. Виртуальный секретарь СелфиБот
Решаемая проблема: Снизить расходы на секретаря в офисном центре.
Задача: Предоставить посетителям удобный интерфейс для регистрации при посещении того или иного офисного центра.
Решение: Гость подходит к СелфиБоту, называет свое имя и фамилию, после чего данная информация посредством смс, мэйла или голосового сообщения передается принимающей стороне.
Пример:
- Представьтесь, пожалуйста.
- Стив Возняк.
- Спасибо что пришли, Стив, вас сейчас встретят. Хорошего дня!
3. Терминал самообслуживания СелфиБот
Решаемая проблема: Снизить расходы на самообслуживание клиентов и повысить качество предоставляемых услуг.
Задача: Обеспечить клиента удобным, простым интерфейсом для взаимодействия и терминалом самообслуживания. Голосовое общение с терминалом.
Решение: Клиент подходит к терминалу и говорит, какие операции хочет совершить. Нет необходимости набирать что-то на экране.
Пример:
- Добрый день! Какую операцию вы хотели бы совершить?
- Я хотел бы узнать срок погашения кредита. Номер счета 35310204.
- До 30-го числа следующего месяца.
4. Помощник в магазине или торговом зале СелфиБот
Решаемая проблема: Снизить расходы на персонал и предоставить клиентам возможность виртуального получения информации.
Задача: Обеспечить клиента удобным и простым интерфейсом для взаимодействия с электронным помощником/продавцом.
Решение: Клиент подходит к помощнику, задает те или иные вопросы и получает желаемую информацию.
Пример:
- Добрый день! Рады видеть вас у нас в магазине.
- Какие у вас специальные скидки?
- Для постоянных гостей у нас действуют 10% скидки на все товары.
- Есть ли у вас новые коллекции?
- Да в правом дальнем ряду есть все новые коллекции.
5. Робот-официант СелфиБот в кафе/ресторане
Решаемая проблема: Снизить расходы на персонал, уменьшить время ожидания клиента.
Задача: Обеспечить клиента удобным и простым интерфейсом для взаимодействия с электронным официантом.
Решение: Робот-официант подъезжает к клиенту, осведомляется о его выборе и принимает заказ.
Пример:
- Добрый день! Рады видеть вас у нас в кафе. Вы уже выбрали что-нибудь?
- Да, мне капучино и круассан.
- Спасибо за заказ. Он будет доставлен вам в течение 5 минут.
Мы приглашаем школы, колледжи к сотрудничеству, готовы полностью поделиться нашим проектом для некоммерческих целей и проведения дальнейших исследований.
Напоминаем, что проект open-source и распространяется среди образовательных учреждений бесплатно.
Пишите нам gf@EnduranceRobots.com
Skype: George.fomitchev
Моб тел: +7 916 225 4302 (в т.ч. Воцап и Вайбер)
http://EnduranceRobots.com
Год назад мы начали работу над платформой, которая могла бы лечь в основу элементарного робототехнического интерфейса. Мы поставили перед собой задачи: объединить распознавание голоса и образов с синтезом голоса.
Начали мы с наиболее простой задачи – синтеза голоса, поскольку задача эта уже давно решена многими вендорами. Еще в 1984 году Стив Джобс, анонсируя свой Макнтош, удивил всех на презентации, когда первый Мак заговорил.
С выбором модулей по синтезу речи проблем не было. Они все довольно хорошо работают и имеют большой выбор голосов.
В результате мы использовали стандартный SAPI от Microsoft. Данный функционал с различными языковыми наборами распространяется бесплатно.
Что касается распознавания образов, то здесь задача более сложная, т.к. необходимо не просто распознавание картинки или лица, а распознавание образа в потоковом видео, идущем от камеры. Здесь важен выбор используемых программой ресурсов. Если для компьютера это не имеет значения, то для планшета это принципиально, так как программа должна работать эффективно и не «подвешивать» систему.
Для данного решения мы использовали открытую библиотеку OpenCV. Для ускорения работы сначала ведется поиск любого лица определенного размера в области видимости. Поиск идет с помощью каскадов Хаара и готового обученного шаблона, входящего в состав библиотеки OpenCV.
Затем найденное лицо вырезается, нормализуется (приводится к единому стандарту) по размеру и по освещенности и приводится к черно-белому варианту.
После чего используется распознавание конкретного человека с помощью готового алгоритма FaceRecognizer, обученного на нескольких изображениях одного и того же лица, снятого с разных ракурсов.
Теперь перейдем к наиболее сложной части - распознаванию голоса.
Здесь мы потратили 90% всех усилий. И признаемся, что только сейчас полностью удовлетворены качеством работы. Мы старались использовать готовые решения Open Source.
К сожалению, 99% этих решений либо платные, либо плохо работают. Т.е. вы говорите «Манчестер», а система слышит «Ливерпуль». Пришлось долго выбирать и пробовать различные слова и комбинации.
Например, широко известное Open Source решение Sphinx работает локально, представлены все инструменты, но требует много времени для обучения и получения минимально приемлемого уровня распознавания.
В результате мы остановились на Google Speech API, поддерживающий не более 50 запросов в сутки (около 15 минут распознавания). Для демо это вполне подходит.
У Google хорошее качество распознавания. Даже с расстояния нескольких метров распознавание происходит вполне прилично.
Итак, в чем же суть программы?
При включении программы она первым делом находит лицо в зоне видимости камеры. Если видит это лицо впервые (его нет еще в базе данных), просит написать и сохранить имя. После чего она это лицо всегда распознает.
Потом программа переходит в режим распознавания речи: слов, предложений или команд. Распознав произнесенную человеком фразу, команду, программа ищет в базе данных ответ и произносит его. Чтобы программа знала, что ответить, необходимо заранее прописать ответы в базу данных. Пока это выглядит как обычный текстовый файл.
( Tim = Добрый день, Тим. Мы приветствуем Вас на нашей конференции.
Steve = Спасибо, что пришли, Стив, вас сейчас встретят. Хорошего дня!
35310204 = Срок погашения Вашего кредита до 30 числа следующего месяца. )
Здесь идет речь не об искусственном интеллекте, а о простом интерфейсе распознавания образов и речи и синтеза речи.
Итак, какие же возможности открывает данная программа и подобный интерфейс? Их можно использовать для создания некой полноценной роботизированной платформы, которые существуют сейчас в виде электронных киосков.
На наш взгляд, эта программа будет выглядеть более элегантно, если использовать ее совместно с DIY SelfieBot.
Рассмотрим теоретические варианты использования платформы
1. Стойка регистрация на конференции СелфиБот
Решаемая проблема: снизить расходы на обслуживающий персонал для конференций.
Задача: Обеспечить посетителей и гостей конференции удобным пользовательским интерфейсом для автоматической регистрации онлайн.
Решение: Гость подходит к стойке. Произносит свое имя и фамилию. Система распознает его, проверяет в базе и производит онлайн регистрацию гостя.
Пример:
- Представьтесь, пожалуйста.
- Тим Кук.
- Добрый день, Тим. Мы приветствуем Вас на нашей конференции.
2. Виртуальный секретарь СелфиБот
Решаемая проблема: Снизить расходы на секретаря в офисном центре.
Задача: Предоставить посетителям удобный интерфейс для регистрации при посещении того или иного офисного центра.
Решение: Гость подходит к СелфиБоту, называет свое имя и фамилию, после чего данная информация посредством смс, мэйла или голосового сообщения передается принимающей стороне.
Пример:
- Представьтесь, пожалуйста.
- Стив Возняк.
- Спасибо что пришли, Стив, вас сейчас встретят. Хорошего дня!
3. Терминал самообслуживания СелфиБот
Решаемая проблема: Снизить расходы на самообслуживание клиентов и повысить качество предоставляемых услуг.
Задача: Обеспечить клиента удобным, простым интерфейсом для взаимодействия и терминалом самообслуживания. Голосовое общение с терминалом.
Решение: Клиент подходит к терминалу и говорит, какие операции хочет совершить. Нет необходимости набирать что-то на экране.
Пример:
- Добрый день! Какую операцию вы хотели бы совершить?
- Я хотел бы узнать срок погашения кредита. Номер счета 35310204.
- До 30-го числа следующего месяца.
4. Помощник в магазине или торговом зале СелфиБот
Решаемая проблема: Снизить расходы на персонал и предоставить клиентам возможность виртуального получения информации.
Задача: Обеспечить клиента удобным и простым интерфейсом для взаимодействия с электронным помощником/продавцом.
Решение: Клиент подходит к помощнику, задает те или иные вопросы и получает желаемую информацию.
Пример:
- Добрый день! Рады видеть вас у нас в магазине.
- Какие у вас специальные скидки?
- Для постоянных гостей у нас действуют 10% скидки на все товары.
- Есть ли у вас новые коллекции?
- Да в правом дальнем ряду есть все новые коллекции.
5. Робот-официант СелфиБот в кафе/ресторане
Решаемая проблема: Снизить расходы на персонал, уменьшить время ожидания клиента.
Задача: Обеспечить клиента удобным и простым интерфейсом для взаимодействия с электронным официантом.
Решение: Робот-официант подъезжает к клиенту, осведомляется о его выборе и принимает заказ.
Пример:
- Добрый день! Рады видеть вас у нас в кафе. Вы уже выбрали что-нибудь?
- Да, мне капучино и круассан.
- Спасибо за заказ. Он будет доставлен вам в течение 5 минут.
Мы приглашаем школы, колледжи к сотрудничеству, готовы полностью поделиться нашим проектом для некоммерческих целей и проведения дальнейших исследований.
Напоминаем, что проект open-source и распространяется среди образовательных учреждений бесплатно.
Пишите нам gf@EnduranceRobots.com
Skype: George.fomitchev
Моб тел: +7 916 225 4302 (в т.ч. Воцап и Вайбер)
http://EnduranceRobots.com