Система автоматичної анонімізації облич із використанням глибинного навчання.
FaceAnonymizer — це Web API для:
- виявлення облич на зображеннях;
- анонімізації облич (розмиття, пікселізація, заливка кольором);
- пакетної обробки наборів зображень;
- оцінювання якості анонімізації та формування звітів (CSV/PDF).
Проєкт побудовано за шаровим підходом:
FaceAnonymizer.Api— HTTP API, Swagger UI, валідація запитів, робота з файлами/результатами;FaceAnonymizer.Application— прикладна логіка детекції, анонімізації та batch-процесингу;FaceAnonymizer.Core— доменні моделі та абстракції;FaceAnonymizer.Infrastructure— реалізації детекторів, анонімізаторів, ONNX/OpenCV, генерація звітів.
- Підтримка детекторів облич:
Haar CascadeтаYuNet (ONNX). - Підтримка anti-spoof класифікації (
MiniFASNetV2.onnx). - Методи анонімізації:
GaussianBlurPixelationSolidColor
- Batch-режим із формуванням артефактів та звітів.
.NET 10(ASP.NET Core Web API)OpenCvSharpONNX RuntimeQuestPDFScottPlotDocker/Docker Compose
- Моделі детекції:
FaceAnonymizer.Api/assets/ - Модель anti-spoof:
FaceAnonymizer.Api/Models/MiniFASNetV2.onnx - Вхід/вихід batch-обробки:
FaceAnonymizer.Api/storage/
- Встановлений
.NET SDK 10 - Встановлений Docker (опційно, для контейнерного запуску)
dotnet restore
dotnet build
dotnet run --project FaceAnonymizer.Api/FaceAnonymizer.Api.csprojПісля запуску Swagger доступний за адресою:
http://localhost:5296/swagger(типовий порт локального запуску може відрізнятись)
docker compose up --buildСервіс буде доступний за адресою:
http://localhost:8080/swagger
Якщо бачите помилку на кшталт:
failed to connect to the docker API ... /Users/<user>/.docker/run/docker.sock
Перевірте:
- Docker Desktop запущений.
- Контекст Docker коректний:
docker context ls docker context use default
- Демон відповідає:
docker info
Базовий маршрут: api/faces
GET /api/faces/health— перевірка стану сервісуGET /api/faces/capabilities— доступні детектори/методиPOST /api/faces/detect— детекція обличPOST /api/faces/anonymize— анонімізація зображенняPOST /api/faces/batch/upload— завантаження набору файлівPOST /api/faces/batch— запуск пакетної обробкиGET /api/faces/batch/report.csv?runId=...— CSV-звітGET /api/faces/batch/report.pdf?runId=...— PDF-звіт
У межах бакалаврської роботи проєкт демонструє практичне застосування методів комп'ютерного зору та глибинного навчання для захисту приватності у фото- та відеоданих.
- Додавання нових моделей детекції/сегментації облич
- Підтримка потокового відео (real-time)
- Деплой у хмарну інфраструктуру
- Розширення метрик оцінки якості анонімізації
Студент Вінницького Національного Технічного Університету Іщенко Олексій Русланович, бакалаврської кваліфікаційної роботи на тему: «СИСТЕМА АВТОМАТИЧНОЇ АНОНІМІЗАЦІЇ ОБЛИЧ ІЗ ВИКОРИСТАННЯМ ГЛИБИННОГО НАВЧАННЯ»