SafeGuard — это система для поиска смысловых копий изображений в интернете, нацеленная на предотвращение распространения неприемлемого контента. Наша система ориентирована на распознавание изображений, представляющих аналогичный сюжет, вне зависимости от фона и типа изображения (фото или рисунок). Проект разработан в рамках хакатона и предлагает готовое решение для эффективного мониторинга и фильтрации контента.
Многие современные платформы сталкиваются с необходимостью контроля визуального контента. Текущие системы фильтрации чаще всего ориентированы только на текст. Мы предлагаем расширить возможности, внедрив фильтрацию изображений через поиск смысловых копий, что позволит точнее отслеживать и блокировать недопустимые материалы. SafeGuard позволяет находить изображения с аналогичным смыслом, даже если они представлены в разных стилях или фонах.
Наш стек технологий включает:
- ML:
- 🤖 DeepFace
- 🎯 OpenAI CLIP
- 🗃️ ChromaDB
- 🖼️ OpenCV2
- 🔥 PyTorch
- 🦾 YOLOv10x
- 🤗 Hugging Face
- Backend:
- ☁️ VK Cloud S3
- 🧩 FastAPI
- 💾 SQLalchemy
- 🐳 Docker, Docker Compose
- Frontend:
- ⚛️ React
- 📝 TypeScript
- 🐻 Zustand
- ⚡ Vite
- 🛠️ Yarn
- 💅 Chakra UI
Для развертывания проекта требуется Docker. Убедитесь, что у вас установлены Docker и Docker Compose.
-
Склонируйте репозиторий:
git clone https://github.com/KORALLLL/SafeGuard.git cd SafeGuard -
Создайте файл
.envи укажите следующие настройки:DB_ADDR=db DB_PORT=5432 DB_USERNAME=postgres DB_PASSWORD=postgres DB_NAME=safeguard AWS_HOST=http://minio:9000 AWS_ACCESS_KEY_ID=minio AWS_SECRET_ACCESS_KEY=minio123 AWS_BUCKET=app-data AWS_REGION=ru-msk
-
Запустите проект с помощью Docker Compose:
docker-compose up --build -d
-
Перейдите по ссылке для тестирования Демо-версия (ссылка будет позже).
Для оценки качества работы системы используется метрика mAP@10, которая отслеживалась в лидерборде. Наш результат вот здесь будет результат
-
Распознавание одинаковых людей на разных изображениях.
-
Поиск похожих изображений вне зависимости от типа изображения (фото или рисунок).
-
Готовность к интеграции с системами мониторинга и фильтрации контента.
| Участник | Роль | GitHub | Telegram |
|---|---|---|---|
| Бородин Кирилл | Project manager, devops, ML, backend | KORALLLL | @KORALLLLLL |
| Кудрявцев Василий | ML | SLENSER0 | @slenser0 |
| Юношева Катерина | UI/UX | KaterinaYunosheva | @kar_o_man |
| Кожемякина Елизавета | Frontend | KozhemyakinaElizaveta | @romashka_ls |
| Разумовский Игорь | backend | IgorRazumvskii | @igor_raz |
Полная документация доступна по ссылке: Документация (ссылка будет позже).
Если у вас есть вопросы или предложения, свяжитесь с нами через GitHub Issues или напишите Кириллу и Telegram.
Спасибо, что заглянули в наш репозиторий! Мы будем рады вашему фидбеку и предложениям по улучшению проекта SafeGuard.