1.36M
Категория: ИнформатикаИнформатика

Разработка искусственного интеллекта для решения рутинных задач

1.

Разработка искусственного
интеллекта для решения
рутинных задач
Выполнили:
Машинников Алексей
Каракулова Екатерина
Руководитель:
Исупов Сергей

2.

Актуальность
Глобальная проблема
Глобальная цель

3.

Цели и задачи
Цель: разработка робота справляющегося с простейшей человеческой задачей
Проблема: для решения человеческих задач необходимо обладать чувствами, интеллектом и
средствами воздействия на физические объекты, соответственно локально встают проблемы:
компьютерного зрения, компьютерного интеллекта, механических манипуляторов
Задачи:
1. Выбор предмета разработки
2. Изучение теории программирования, искусственного интеллекта, машиностроения
3. Разработка алгоритмической базы для решаемой проблемы
4. Разработка модели робота, решающего поставленную задачу при помощи алгоритмической базы

4.

Выбор объекта
разработки
Выбор объекта разработки был обусловлен следующими критериями:
1.
Возможность применить компьютерное зрение
2.
Возможность применить искусственный интеллект
3.
Возможность применения манипуляторов
Руководствуясь критериями в качестве объекта разработки мы выбрали робота,
самостоятельно играющего в игру «Word of wonders», где нам понадобится:
1.
Компьютерное зрение, чтобы определять текущее состояние игры
2.
Искусственный интеллект, чтобы определять слова для ввода
3.
Манипулятор для ввода действий игрока

5.

Структура проекта
Нейросети
Генераторы
Алгоритмы
Робот

6.

Главный алгоритм работы
Загрузка справочника слов
Пока не закончатся уровни:
Выбор следующего уровня
Решение уровня:
Снимок экрана
Распознавание доступных букв
Распознавание структуры кроссворда
Получение списка возможных слов
Умный алгоритм перебора слов:
Выбор наиболее привлекательного слова
Ввод выбранного слова
Исключение лишний слов из списка согласно новому состоянию
Если умный алгоритм не справился:
Простой алгоритм перебора слов:
Ввод очередного слова из списка
Если простой алгоритм не справился:
Перебор всех возможных комбинаций:
Ввод очередной комбинации

7.

Главный алгоритм работы
Загрузка справочника слов
Пока не закончатся уровни:
Выбор следующего уровня
Решение уровня:
Снимок экрана
Распознавание доступных букв
Распознавание структуры кроссворда
Получение списка возможных слов
Умный алгоритм перебора слов:
Выбор наиболее привлекательного слова
Ввод выбранного слова
Исключение лишний слов из списка согласно новому состоянию
Если умный алгоритм не справился:
Простой алгоритм перебора слов:
Ввод очередного слова из списка

8.

Сверточные нейросети

9.

Нейросети проекта
Нейросеть, классифицирующая круг – элемент компьютерного зрения, распознающий количество букв в круге
ввода, служит для определения координат точного расположения букв, для последующего их распознавания
Нейросеть, распознающая букву – элемент компьютерного зрения, определяющий букву по изображению.
Используется для распознавания букв в круге ввода и для распознавания угаданных букв в кроссворде
Нейросеть, определяющая границы кроссворда – элемент компьютерного зрения, определяет наличие кроссворда
в узкой полоске изображения, наряду с алгоритмами может дать точные координаты кроссворда в исходном
изображении
Нейросеть, распознающая размер кроссворда – элемент компьютерного зрения, определяющий ширину и высоту
кроссворда для разбиения изображения на ячейки
Нейросеть, распознающая тип ячейки – элемент компьютерного зрения, классифицирующий изображения по типам:
пустая ячейка кроссворда, ячейка с буквой, ячейка с иным предметом, ячейка не являющаяся кроссвордом; помогает в
построении цифровой версии кроссворда

10.

Генераторы проекта
Для обучения нейросетей необходим большой объем информации, ручной сбор такой информации малоэффективен,
поэтому были разработаны специализированные генераторы изображений, моделирующие изображения,
максимально приближенные к фактическим
Генератор фонов – все изучаемые элементы находятся на некоторой фоновой подложке, представляющей собой
изображение какой-либо достопримечательности с полупрозрачным маска–слоем поверх; данный алгоритм
генерирует необходимый для элемента кусок фона из стоковых изображений
Генератор букв – генерирует случайную букву со случайным шрифтом и случайным фоном
Генератор кругов с буквами – генерирует случайный круг ввода букв со случайным фоном
Генератор ячеек – формирует случайную ячейку (просто фон, ячейка кроссворда, ячейка с буквой, ячейка с иным
предметом) на случайном фоне
Генератор кроссвордов – генерирует полноценный случайный кроссворд для целей обучения определению его
размерности и границ

11.

Алгоритмы проекта
В качестве искусственного интеллекта используется набор алгоритмов, определяющих поведение робота в зависимости от
результатов работы компьютерного зрения
Алгоритм поиска возможных слов – используя справочник выбирает слова, которые возможно собрать из выданного набора
букв
Алгоритм определяющий структуру кроссворда – используя компьютерное зрение преобразует изображение в матрицу
данных, с которой после будут работать более сложные алгоритмы
Алгоритм определяющий наполнение кроссворда – обновляет уже существующую матрицу, заполняя ее элементы
угаданными буквами
Алгоритм поиска наиболее привлекательного слова – выявляет наиболее релевантное для ввода слово на основе текущих
данных матрицы
Алгоритм фильтрации относительно наполнения кроссворда – исключает незаможные для ввода слова из изначального
списка на основе текущего состояния матрицы
Алгоритм аварийного перебора слов – составляет все возможные комбинации букв на случай, если остались не угаданные
слова

12.

Матрица
Картинка
цифровой вид

13.

Псевдо робот
На текущий момент физическая модель робота не разрабатывалась. Алгоритмическая база разрабатывается на
«псевдо-роботе» - программой, управляющей компьютерной мышкой, а телефон с игрой заменен на эмулятор.
Такое решение позволяет отладить алгоритмическую часть проекта не сталкиваясь проблем с механикой, которые так
же являются частью проекта, но которыми на данном этапе можно пренебречь.
На текущий момент робот умеет управлять мышью:
1.
Передвигать
2.
Зажимать клавишу
3.
Отпускать клавишу
С использованием таких простых команд реализована более сложная функция – выбор слова на круге ввода
Программно робот реализован таким образом, чтобы в будущем достаточно было заменить 3 простых команды с
управления мышью на управление манипулятором

14.

Текущее состояние разработки
На данный момент алгоритм умеет:
1.
Проходить уровень перебором возможных
комбинаций
2.
Проходить уровень перебором подходящих слов
3.
Проходить уровень умным алгоритмом
Прохождение производится на эмуляторе при помощи
мыши
Гифка

15.

Показатели проекта в цифрах
Алгоритм проходи один уровень в среднем за ** попыток
При этом в среднем у алгоритма уходит ** секунд на решение уровня
Прохождение игры при идеальной работе алгоритма займет: **** дней, при условии, что алгоритм
будет работать непрерывно
Средний человек решает средний уровень за ** минут и проходит ** уровней за день
В среднем, алгоритм может решить столько же уровней, сколько и ** человек

16.

Трудности при разработке
Улучшение справочника: расширение допустимых слов, исключение некорректных слов, ввод
системы рейтинга слов
Отладка основного алгоритма: устранение неточностей, дообучение сетей
Разработка компьютерного зрения для определения служебных экранов: необходимая функция
для зацикливания работы программы
Разработка физической модели робота: игра будет запущена на телефоне, а управлять ей будет
рука-манипулятор при помощи стилуса
Запуск стрима: перманентная съемка процесса работы робота и ее трансляция на популярные
платформы, с целью популяризации нашей работы

17.

Дорожная карта
Проект еще находится в стадии разработки, имеет промежуточные результаты, но не обладает
своей конечной формой. Для его завершения мы запланировали следующие работы:
Улучшение справочника: расширение допустимых слов, исключение некорректных слов, ввод
системы рейтинга слов
Отладка основного алгоритма: устранение неточностей, дообучение сетей
Разработка компьютерного зрения для определения служебных экранов: необходимая функция для
зацикливания работы программы
Разработка физической модели робота: игра будет запущена на телефоне, а управлять ей будет
рука-манипулятор при помощи стилуса
Запуск стрима: перманентная съемка процесса работы робота и ее трансляция на популярные
платформы, с целью популяризации нашей работы

18.

Применение нашего проекта
Наш проект затрагивает такие моменты как искусственный интеллект, компьютерное зрение и
робототехника . Нашу небольшую разработку далее можно масштабировать на все
возможные сферы, где присутствуют рутинные работы. Например:
Компьютерное зрение, которое мы используем в проекте можно использовать для
распознавания текстов, предметов или объектов, классифицировать объекты по различным
признакам
Алгоритмическую базу проекта можно использовать для различных других программ и
нейросетей, изучающих или прогнозирующих тексты, например таких как ChatGPT
Руку-манипулятор можно использовать практически в любой сфере – от машиностроения до
нейрохирургии или от игры в пинг-понг до 3d печати

19.

Заключение
В ходе работы мы написали множество алгоритмов на языке Python, обучили ряд нейросетей, разработали
прототип робота, который способен самостоятельно играть в простую логическую игру.
Цели проекта частично достигнуты, однако сам проект еще находится в стадии разработки.
На основе разработанного нами искусственного интеллекта могут быть разработаны ИИ для других сфер, в
которых требуется распознать текст и неким образом проанализировать его или выполнить операции с ним.
Но самой большой ценностью данного проекта является опыт, который мы получаем в процессе работы над
ним. Создав текущее решение, перед нами откроются двери в мир серьезных разработок и технологий.
English     Русский Правила