Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Внести вклад в разработку кода
Синхронизировать код
README.md
С умным змеем в ритме танца
Описание работы
Работа для конкурса по модификации игры «Пожиратель змей». На основе примера программы snake из pgzero 1.2, с использованием анализа ключевых точек тела человека на платформе искусственного интеллекта Baidu AI, маленькая змея ест яблоки, а я двигаюсь и танцую с ней. Я управляю направлением движения змеи, вращая руками вокруг своего тела.
Скриншот работы

Эффект работы
Видео работы на Bilibili: https://www.bilibili.com/video/BV1iK4y1e7d1/
Архитектура программного обеспечения
-
Программа «Пожиратель змей» использует пример программы snake из pgzero 1.2.
-
Анализ ключевых точек тела человека от Baidu AI используется с дополнительной обёрткой, созданной на основе книги «Искусственный интеллект для школьников», написанной Ши Ранфэй (то есть мной).
- Ссылка: https://gitee.com/shiranfei/open_course_for_AI.git
- «Искусственный интеллект для школьников» — это экспериментальный курс по искусственному интеллекту, разработанный Ши Ранфэем (мной) для использования на Raspberry Pi и платформе искусственного интеллекта Baidu. Курс позволяет школьникам испытать возможности глубокого обучения и его эффекты. Он основан на API платформы разработки и упрощает процесс построения модели и настройки параметров, позволяя быстро создавать интеллектуальные продукты и улучшать нашу жизнь.
-
Программа состоит из трёх основных блоков: анализ позы с помощью камеры, стандартная программа «Пожиратель змей», и программа воспроизведения музыки.
- (1) Блок анализа позы с помощью камеры считывает изображение с камеры и отправляет его на анализ Baidu AI. Затем он получает информацию о позе тела, включая положение рук, головы и плеч, и преобразует её в управляющие клавиши: вверх, вниз, влево и вправо. Эти данные затем отправляются через сокет на стандартную программу «Пожиратель змей»: socket:127.0.0.1:20163. Тестирование показало, что анализ на Raspberry Pi и ПК занимает примерно 2 кадра в секунду.
- (2) Стандартная программа «Пожиратель змей» основана на примере программы snake в pgzero 1.2. В ней был создан новый процесс, который считывает информацию о направлении движения из сокета 127.0.0.1:20163 и обновляет направление движения маленькой змеи.
- (3) Программа воспроизведения музыки была добавлена позже. Было обнаружено, что при вызове модуля music для воспроизведения музыки в стандартной программе «Пожиратель змей» возникают проблемы. Пока не удалось найти решение, поэтому была создана отдельная программа для воспроизведения музыки.
-
Текущая версия программы, выпущенная в 2020-07-19, может захватывать позу тела с помощью камеры и управлять движением маленькой змеи, а также воспроизводить музыку.
Дальнейшие планы развития включают:
- (1) Решение проблемы с длительным воспроизведением музыки в pgzero.
- (2) Добавление скольжения рук для изменения эффекта воспроизведения музыки.
- (3) Управление игрой с помощью голоса.
- (4) Проблема с выходом из программы: текущая версия работает в фоновом режиме, и для выхода необходимо вручную завершить соответствующие процессы. Поэтому для завершения работы программы необходимо перезапустить Raspberry Pi.
Инструкция по установке
-
Установка на Raspberry Pi 4B
- (1) Установите образ системы:
- (2) Форкните этот проект, откройте терминал на рабочем столе, перейдите в каталог /home/pi и введите команду:
-
Установка на ПК с Ubuntu
- (1) Моя машина с Ubuntu 20.04 (64-разрядная) имеет следующие установленные пакеты: Anaconda3-2020.02-Linux-x86_64.sh.
- В среде Anaconda установлены OpenCV, Pygame Zero, Thonny и Baidu AIP.
- На компьютере с Ubuntu установлен инструмент mplayer.
- (2) Форкните проект, откройте терминал, перейдите в свой каталог и введите:
Руководство по использованию
-
Создайте приложение для анализа ключевых точек тела на платформе Baidu AI и получите три важных параметра: AppID, API Key и Secret Key. Измените соответствующие параметры в camera_get_direct.py, например:
"" Для анализа ключевых точек тела в проекте «С умным змеем в ритме танца» необходимо изменить параметры на свои собственные. Это позволит повысить скорость анализа. Если многие люди одновременно используют мой API, скорость анализа Baidu API может снизиться. """
pic_APP_ID = '21414508'
pic_API_KEY = 'l5XEnXQePmookhlAM9ORkD8O'
pic_SECRET_KEY = 'hwEuXHLja7U03Zfj1FkI08sNkLiy56QY'
-
Запустите программу, введите sh run_snake.sh на Raspberry Pi или ПК с Ubuntu, чтобы начать работу с проектом.
-
Управляйте направлением движения маленькой змеи:
- (1) Маленькая змея движется вверх: сложите руки над головой.
- (2) Маленькая змея движется влево: сложите руки перед левым плечом.
- (3) Маленькая змея движется вправо: сложите руки перед правым плечом.
- (4) Маленькая змея движется вниз: сложите руки под плечами.
Вклад в проект
- Форкните репозиторий.
- Создайте ветку develop.
- Отправьте код.
- Создайте Pull Request.
Особенности Gitee
- Использование Readme_XXX.md для поддержки разных языков, таких как Readme_en.md и Readme_zh.md.
- Официальный блог Gitee: blog.gitee.com.
- Вы можете посетить адрес https://gitee.com/explore, чтобы узнать о выдающихся проектах с открытым исходным кодом на Gitee.
- GVP (Gitee Value Project) — это список наиболее ценных проектов с открытым исходным кодом, отобранных Gitee.
- Официальное руководство по использованию Gitee: https://gitee.com/help.
- Лица Gitee — это серия, демонстрирующая стиль и достижения участников Gitee: https://gitee.com/gitee-stars/.
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )