СПб.: БХВ-Петербург, 2021. — 450 c.: ил. — (Самоучитель). — ISBN 978-5-9775-6765-7.
Описаны инструментальные средства для разработки приложений искусственного интеллекта. Даны основы языка программирования Python. Раскрыты основные понятия и определения искусственного интеллекта. Рассмотрены вопросы программной реализации элементов нейронной сети и построения многослойных нейронных сетей. Большое внимание уделено применению специализированных библиотек PyBrain, Scikit-learn, Keras, TensorFlow для формирования структуры нейронных сетей и их обучения и библиотек ImageAI и OpenCV для обработки изображений. Материал иллюстрирован простыми и понятными примерами, демонстрирующими использование предварительно обученных нейронных сетей для распознавания объектов на изображениях, создания собственных наборов данных, формирования структуры сети, ее обучения и практического применения.
Электронное приложение-архив, доступное на сайте издательства, содержит листинги описанных в книге примеров.
Введение.
Инструментальные средства для разработки приложений искусственного интеллекта.Интерпретатор Python.
Установка Python в Windows.
Установка Python в Linux.
Проверка интерпретатора Python.
Интерактивная среда разработки программного кода PyCharm.
Установка PyCharm в Windows.
Установка PyCharm в Linux.
Проверка PyCharm.
Установка пакетов в Python с использованием менеджера пакетов pip.
Где взять отсутствующий пакет?
Менеджер пакетов pip в Python.
Использование pip.
Установка пакета.
Удаление пакета.
Обновление пакетов.
Просмотр установленных пакетов.
Поиск пакета в репозитории.
Интерактивная среда разработки интерфейса PyQt.
Краткие итоги главы.
Основы языка программирования Python.Первая программа в среде интерпретатора Python.
Оконная форма как основа интерфейса.
Подключение Windows-формы к программе на Python.
Сборка исполняемого файла на Python под Windows.
Базовые конструкции языка Python.
Переменные.
Функции.
Массивы.
Условия и циклы.
Условия.
Циклы.
Классы и объекты.
Классы.
Объекты.
Создание классов и объектов на примере автомобиля.
Программные модули.
Установка модуля.
Подключение и использование модуля.
Краткие итоги главы.
Элементы искусственного интеллекта.Основные понятия и определения искусственного интеллекта.
Искусственный нейрон как основа нейронных сетей.
Функция единичного скачка.
Сигмоидальная функция активации.
Гиперболический тангенс.
Нейронные сети.
Однослойные нейронные сети.
Многослойные нейронные сети.
Обучение нейронных сетей.
Что такое обучение сети?
Обучающая выборка Ц.
Тестовая выборка.
Обучение с учителем.
Обучение без учителя.
Краткие итоги главы.
Программная реализация элементов нейронной сети.Персептроны.
Классификация персептронов.
Персептрон с одним скрытым слоем.
Однослойный персептрон.
Виды персептронов.
Роль персептронов в нейронных сетях.
Линейная разделимость объектов.
Решение задач классификации объектов на основе логических функций.
Урок 1. Учим персептрон понимать изображения.
Распознавание цифр.
Урок 2. Учим персептрон подбирать веса связей.
Дельта-правило.
Линейная аппроксимация.
Учим персептрон классифицировать объекты. Обучение без учителя.
4Адаптивные линейные нейроны.
Краткие итоги главы.
Построение многослойных нейронных сетей.Исследуем простейший искусственный нейрон.
Программируем простейший искусственный нейрон.
Строим сеть из нейронов.
Обучаем нейронную сеть.
Последовательность шагов проектирования нейронных сетей.
Краткие итоги главы.
Полезные библиотеки для создания нейронных сетей на Python.Виды специализированных библиотек.
NumPy.
Pandas.
matplotlib.
Theano.
TensorFlow.
Keras.
PyBrian.
Библиотека для построения нейронных сетей PyBrain.
Общие сведения о библиотеке PyBrain.
Термины и определения в библиотеке PyBrain.
Установка (подключение) библиотеки PyBrain.
Основы работы с библиотекой PyBrain.
Работа с наборами данных в библиотеке PyBrain.
Пример создания нейронной сети с библиотекой PyBrain.
Библиотека scikit-leam для создания и обучения нейронных сетей.
Наборы данных в библиотеке scikit-leam.
Обучающие и тестовые наборы данных в библиотеке scikit-leam.
Предварительный анализ наборов данных.
Обучение нейронной сети с библиотекой scikit-leam.
Оценка качества обучения моделей в библиотеке scikit-leam.
Персептрон и библиотека scikit-leam.
Классификаторы на основе логистической регрессии в библиотеке scikit-leam.
Библиотека Keras и сверточные нейронные сети.
Общие сведения о библиотеке Keras.
Сверточные нейронные сети.
Строим сверточную нейронную сеть с библиотекой Keras.
Нейронные сети с библиотекой TensorFlow.
Строим простую нейронную сеть с библиотекой TensorFlow.
Строим нейронную сеть для классификации изображений с библиотекой TensorFlow.
Краткие итоги главы.
Библиотека ImageAI для создания нейронных сетей обработки изображений.Классы распознавания и обнаружения объектов на изображениях.
Класс ImagePrediction для распознавания объектов в изображениях.
.setModelTypeAsSqueezeNet().
.setModelTypeAsResNet().
.setModelTypeAsInceptionV3Q.
.setModelTypeAsDenseNetQ.
.setModelPathQ.
.loadModelQ.
.predictlmageQ.
.predictMultipleImages().
Класс ObjectDetection для обнаружения и извлечения объектов из изображений.
.setModelTypeAsRetinaNet().
.setModelTypeAsYOLOv3().
.setModelTypeAsTinyYOLOv3().
.setModelPath().
.loadModel().
.detectObjectsFromImage().
.CustomObjects().
.detectCustomObjectsFromImage() 3.
Классы распознавания объектов в видеофайлах и видеопотоках.
Класс VideoObjectDetection для обнаружения объектов в видеофайлах и видеопотоках с видеокамер.
.setModelTypeAsRetinaNet().
.setModelTypeAsYOLOv3().
.setModelTypeAsTinyYOLOv3().
.setModelPath().
.loadModel().
.detectObjectsFromVideo().
Примеры программы распознавания объектов в видеофайлах.
Пример программы распознавания объектов в видеопотоках с видеокамер.
Пример программы с пользовательскими функциями для распознавания.
объектов в видеофайлах.
Обучение нейронных сетей на пользовательских наборах данных.
Класс ModelTraining для обучения нейронной сети на пользовательском.
наборе данных.
.setModelTypeAsSqueezeNet().
.setModelTypeAsResNet().
.setModelTypeAsInceptionV3().
.setModelTypeAsDenseNet().
.setDataDirectory().
.trainModel().
Пример программы обучения нейронной сети на пользовательском наборе данных.
Применение пользовательских нейронных сетей с библиотекой ImageAI.
Класс CustomlmagePrediction для поиска пользовательских объектов в.
изображениях.
.setModelTypeAsSqueezeNet().
.setModelTypeAsResNet().
.setModelTypeAsInceptionV3().
.setModelTypeAsDenseNet().
.setModelPath().
.setJsonPath().
.loadModel().
.loadFullModel().
.save_model_to_tensorflow().
.save_model_for_deepstack().
.predictlmage().
.predictMultipleImages().
Пример программы поиска пользовательских объектов в изображениях.
Нейронные сети для обнаружения объектов в изображениях с архитектурой YOLOv3.
Класс Custom.DetectionModelTrainer для обучения пользовательской модели.
.setModel TypeAs YOLOv3().
.trainer.setDataDirectory().
.trainer.setTrainConfig().
.trainer.evaluateModel().
Класс CustomObjectDetection для обнаружения и извлечения пользовательских.
объектов из изображений.
.setModelTypeAsYOLOv3().
.setModelPath().
.setJsonPath().
.loadModel().
.detectObjectsFromImage().
Класс CustomVideoObjectDetection для обнаружения и извлечения пользовательских объектов из видеопотоков с видеокамер.
.setModelTypeAsYOLOv3().
.setModelPath().
.setJsonPath().
.loadModel().
.detectObjectsFromVideo().
Формирование пользовательского обучающего набора данных с приложением Labelling.
Пример программы обучения модели YOLOv3 на пользовательском наборе данных.
Пример программы распознавания с помощью пользовательской модели YOLOv3.
Краткие итоги главы.
Библиотека OpenCV для создания приложений обработки изображений.Обученные классификаторы Хаара для распознавания объектов в изображениях.
Пример программы поиска лиц на фотографиях.
Пример программы поиска лиц в видеопотоках с видеокамер.
Пример программы распознавания глаз на фотографиях.
Пример программы распознавания эмоций на изображениях.
Пример программы распознавания автомобильных номеров на изображениях.
Пример программы распознавания автомобильных номеров в видеопотоке.
Пример программы распознавания движущихся автомобилей в транспортном потоке.
Пример программы распознавания различных объектов из одного программного кода.
Пример программы распознавания пешеходов на изображениях с использованием OpenCV и HOG-детекторов.
Пример программы распознавания пешеходов на видео с использованием OpenCV и HOG-детекторов.
Распознавание конкретных людей на фотографиях в OpenCV.
Пример программы для обучения модели распознавания лиц по фотографиям.
Пример программы распознавания лиц конкретных людей на фотографиях.
Создание пользовательской модели распознавания людей в видеопотоке с видеокамеры в OpenCV.
Пример программы формирования обучающей выборки пользователя для тренировки модели распознавания конкретных людей.
Пример программы обучения модели на основе обучающей выборки пользователя.
Программа распознавания лиц людей на основе обучающей выборки пользователя.
Краткие итоги главы.
Послесловие.
Приложение. Описание электронного архива.
Список литературы.
Книги.
Электронные ресурсы.
Предметный указатель.