Привет, Хабр! Весной 2019 года прошел очередной мастер-класс Think Developers Workshop, на котором каждый желающий мог собрать картонного робота TJBota под управлением IBM Watson Services. Под катом подробная инструкция, из чего и как собрать такого робота, полезные ссылки и простые рецепты, демонстрирующие некоторые когнитивные возможности сервисов Watson, а также краткий анонс двух июльских семинаров о Watson Services в московском офисе компании Watson Services. ИБМ.
Службы IBM Watson — это когнитивная система, которая может обрабатывать естественный язык, распознавать образы и обучаться.
Есть API для удобного использования этих сервисов в любом приложении.
TJBot — это проект с открытым исходным кодом, призванный помочь вам получить доступ к службам Watson. Это робот, которого каждый может сделать с помощью Raspberry Pi и готового искусственного интеллекта.
Оживить TJBot можно с помощью рецептов.
Рецепты представляют собой пошаговые инструкции, которые помогут вам подключить TJBot к службам Watson, таким как преобразование речи в текст, визуальное распознавание и языковой переводчик.
Рецепты разработаны на базе Raspberry Pi.
Что нужно для TJBot
- Raspberry Pi 3 + SD-карта с предустановленной ОС
- USB-микрофон
- Динамик Bluetooth или динамик 3,5 мм.
аудиоразъем
- Сервопривод
- NeoPixel RGB LED (8 мм)
- Публикация мама-мама и папа-мама
- Камера Raspberry Pi
- блок питания
- Корпус (можно распечатать на 3D принтере или вырезать из картона лазером.
Необходимые макеты имеются в наличии Здесь )
Инструкцию по сборке корпуса можно найти Здесь .
Схема подключения диода и сервопривода к плате представлена на картинке ниже.
Корпус собран «вокруг» платы, поэтому записать ОС на карту памяти нужно заранее.
Самый простой в установке НУБЫ , но нам подойдет любой другой линукс.
Перед установкой NOOBS отформатируйте карту памяти, скачайте архив с установочными файлами и экспортируйте их на свой компьютер.
Далее вам необходимо перенести файлы из папки NOOBS на карту памяти.
При первом запуске малины (с предустановленной картой памяти) откроется меню установки ОС.
Подробную инструкцию можно найти Здесь .
Подготовка программы
Прежде всего вам необходимо установить пакеты:Теперь скачайте готовые рецепты с Github:curl -sL http://ibm.biz/tjbot-bootstrap | sudo sh –
git clone https://github.com/ibmtjbot/tjbot.git
Перейти в каталог с рецептом:
cd tjbot / recipes / speech_to_text
Эта папка содержит файл конфигурации config.js и файл исполняемого сценария stt.js. Установите НПМ:
sudo apt-get install npm
Подключение сервисов Watson
Чтобы использовать службы Watson, вам необходимо выполнить следующие шаги.Давайте перейдем к этому Веб-сайт .
Зарегистрируйтесь и перейдите в каталог.
В каталоге ищем «речь в текст».
Речь в текст — это сервис, который используется для перевода речи в текст. Доступ к API можно найти Здесь .
Преобразование текста в речь и визуальное распознавание также понадобятся, когда мы будем работать с распознаванием изображений.
Нажимаем на речь в текст, попадаем на страницу с описанием этого компонента и планами по использованию.
Бесплатного плана нам достаточно.
Нажмите «Создать», затем в левом меню перейдите в «Учетные данные службы».
Отсюда вам нужно скопировать учетные данные и APIKEY и вставить их в файл config.js. // Create the credentials object for export
exports.credentials = {};
// Watson Speech to Text
// https://www.ibm.com/watson/services/speech-to-text/
exports.credentials.speech_to_text = {
"apikey": ".
", "iam_apikey_description": ".
", "iam_apikey_name": ".
", "iam_role_crn": ".
", "iam_serviceid_crn": ".
",
"url": " https://gateway-lon.watsonplatform.net/speech-to-text/api "
};
Теперь, если мы хотим добавить еще один сервис Watson, в файле конфигурации нам нужно будет добавить блок с API-ключом и URL-адресом для каждого сервиса, завернутый в следующую структуру: exports.credentials.[ text_to_speech/visual_recognition/speech_to_text ] = { … };
Оживление TjBota
Давайте посмотрим на файл со скриптом stt.js, выполняемым ботом.Имеет готовую функцию diskoParty() для проверки работы бота без использования сервисов Watson. Эта функция заставляет диод бота мигать разными цветами.
function discoParty() {
for (i = 0; i < 30; i++) {
setTimeout(function() {
var randIdx = Math.floor(Math.random() * tjColors.length);
var randColor = tjColors[randIdx];
tj.shine(randColor);
}, i * 250);
}
}
discoParty();
В этом же скрипте есть функция, позволяющая переключать цвет диода речью разработчика.
Запустим скрипт: sudo node stt.js
Скажите боту «включи голубой свет», чтобы переключить цвет диода на синий, «включи свет», чтобы включить диод, или «выключи свет», чтобы выключить его.
Поддерживаемые цвета для распознавания (пока поддерживается только английский): желтый, зеленый, оранжевый, фиолетовый, пурпурный, красный, синий, голубой и белый.
TjBot имеет довольно много базовых функций.
Например, чтобы протестировать сервопривод, вы можете использовать функцию tj.wave(), которая заставляет бот приветствовать вас взмахом ручки.
Эти функции с краткими описаниями можно найти Здесь .
Давайте теперь рассмотрим следующий сценарий, в котором используется как визуальное распознавание, так и преобразование текста в речь.
Преобразование текста в речь — это услуга, которая преобразует печатный текст в речь с использованием разных голосов, тонов и языков.
Его API можно найти по следующему адресу.
связь .
Сервис визуального распознавания позволяет описать то, что изображено на картинке.
Он распознает лица людей, определяя их примерный возраст и пол, еду, посуду, предметы, а также может искать похожие изображения.
API этого сервиса можно найти Здесь .
С помощью этих сервисов мы научим бота видеть и говорить.
На основе изображения, полученного с камеры, сервисы Watson (визуального распознавания) отправят нам в ответ JSON-объект с тегами изображения, а преобразование речи поможет их озвучить.
Первым делом создаем учетные данные на сайте cloud.ibm.com. Копируем их и вставляем в файл конфигурации config.js.
Далее редактируем исполняемый скрипт stt.js. В нем мы находим следующие строки: // these are the hardware capabilities that our TJ needs for this recipe
var hardware = ['led', 'microphone'];
Аппаратный массив содержит используемые устройства бота.
Если мы хотим использовать в скрипте сервопривод, нам нужно будет добавить в массив «сервопривод»; если нам нужна камера, мы добавим в массив «камеру»; чтобы использовать колонку, мы подпишем «динамик».
Итак, наш скрипт будет использовать колонку и камеру соответственно, это мы подписываем в аппаратный массив.
// these are the hardware capabilities that our TJ needs for this recipe
var hardware = ['led', 'servo', 'camera', 'speaker', 'microphone'];
// set up TJBot's configuration
var tjConfig = {
log: {
level: 'verbose'
},
speak: {
language: 'en-US', // see TJBot.prototype.languages.speak
voice: undefined, // use a specific voice; if undefined, a voice is chosen based on robot.gender and speak.language
speakerDeviceId: "plughw:0,0" // plugged-in USB card 1, device 0; see aplay -l for a list of playback devices
},
listen: {
microphoneDeviceId: "plughw:1,0", // plugged-in USB card 1, device 0; see arecord -l for a list of recording devices
inactivityTimeout: -1, // -1 to never timeout or break the connection. Set this to a value in seconds e.g 120 to end connection after 120 seconds of silence
language: 'en-US' // see TJBot.prototype.languages.listen
},
};
Из основных функций библиотеки tj нам понадобятся функции tj.see() и tj.speak().
Функция tj.see() создает фотографию (объект сохраняется в папке tmp), отправляет ее в облако с помощью сервисов Watson, анализирует изображение и создает json-объект, состоящий из тегов — слов, описывающих фотографию (можно выбрать разные описания и степени достоверности) и процент достоверности этих тегов.
Содержимое ответа сервисов выведем на консоль.
Функция tj.speak() может превратить текст с помощью сервисов Watson в аудиофайл, а затем воспроизвести его.
Также, если с помощью сервисов Watson на фотографии будет обнаружен человек, TJBot помашет ручкой.
// instantiate our TJBot!
var tj = new TJBot(hardware, tjConfig, credentials);
tj.see().
then(function(objects){
var tags = objects.map(function(object){
return object.class;
});
if (tags.includes('person')){
tj.wave();
}
console.log(tags);
for(var i=0;i<tags.length;i++){
tj.speak(tags[i]);
}
});
Этот рецепт показывает, насколько легко использовать сервисы Watson в вашем проекте.
Краткое описание этих сервисов и ссылки на них уже были в этом разделе.
статья .
Вы можете попробовать все службы Watson бесплатно.
Также совсем скоро в московском офисе IBM пройдут семинары, на которых вы сможете познакомиться с другими возможностями сервисов Watson. 9 июля 2019 года состоится практический семинар «Раскройте AI Blackbox с IBM Watson OpenScale», посвященный новому облачному продукту — Watson OpenScale. На этом мероприятии вы сможете познакомиться с принципами работы нейронных сетей, попробовать создать и обучить нейронную сеть, а также протестировать ее с помощью платформы Watson AI OpenScale. Вам необходимо предварительно зарегистрироваться на мероприятие, воспользовавшись этим связь .
10 июля 2019 года состоится семинар «Распознавание изображений и видео в IBM Cloud».
На этом семинаре вы узнаете, как использовать Watson Studio для реализации искусственного интеллекта в вашем приложении.
Подробное описание мероприятия и ссылка для регистрации Здесь .
Теги: #Машинное обучение #облачные сервисы #api #искусственный интеллект #cloud #анонсы #распознавание изображений #ibm #ibm watson #tts #stt #ibm resources #ibm watson Services #TJBot #визуальное распознавание
-
Сделайте Свой Сайт Известным!
19 Oct, 24 -
Бесконечная История: История В Mmorpg
19 Oct, 24 -
Новый Рубеж Области No
19 Oct, 24 -
Как Сделать Продукт Из Мобильного Приложения
19 Oct, 24