Skip to content

DarkGenius/yolobot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YOLO Telegram Bot

Telegram бот для распознавания объектов на изображениях с использованием YOLOv8.

Возможности

  • Распознавание объектов на фотографиях
  • Распознавание объектов на изображениях из стикеров:
    • Статические стикеры
    • Анимированные стикеры (TGS)
    • Видео стикеры (WebM) - опционально
  • Вывод координат найденных объектов
  • Поддержка 80 классов объектов (люди, машины, животные и т.д.)

Требования

  • Node.js 18 или выше
  • npm или yarn
  • Модель YOLOv8 (yolov8m.onnx)
  • FFmpeg (для поддержки видео стикеров)

Установка

  1. Клонируйте репозиторий:
git clone https://github.com/darkgenius/yolobot.git
cd yolobot
  1. Установите зависимости:
npm install
  1. Скачайте модель YOLOv8:

    • Скачайте yolov8m.onnx
    • Создайте папку model в корне проекта
    • Поместите скачанный файл в папку model
  2. Создайте файл .env в корне проекта:

BOT_TOKEN=your_telegram_bot_token
USE_FFMPEG=true  # Опционально, для поддержки видео стикеров

Установка FFmpeg

Для поддержки видео стикеров необходимо установить FFmpeg:

Windows

  1. Скачайте FFmpeg с официального сайта
  2. Распакуйте архив
  3. Добавьте путь к папке bin в переменную PATH

Альтернативный способ для Windows 10 (версия 1809 и выше):

winget install ffmpeg

Linux

sudo apt update
sudo apt install ffmpeg

macOS

brew install ffmpeg

Запуск

Режим разработки

npm run dev

Продакшн режим

npm run build
npm start

Использование

  1. Отправьте боту фотографию или стикер (статический, анимированный или видео)
  2. Бот обработает изображение и вернет список найденных объектов в формате:
person (95%): [100, 200, 300, 400]
car (85%): [150, 250, 350, 450]

где:

  • Первое число - процент уверенности
  • В квадратных скобках - координаты объекта [x1, y1, x2, y2]

Поддержка видео стикеров

Для включения поддержки видео стикеров:

  1. Установите FFmpeg в системе
  2. Добавьте USE_FFMPEG=true в файл .env

Если поддержка видео стикеров отключена, бот будет отвечать сообщением "Стикеры в формате видео не поддерживаются".

Технологии

  • TypeScript
  • Telegraf.js
  • ONNX Runtime
  • YOLOv8
  • Sharp (обработка изображений)
  • FFmpeg (обработка видео стикеров)

Лицензия

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages