2024-03-30 08:00:40 +03:00
2024-03-30 06:48:51 +03:00
2024-03-28 19:34:11 +03:00
2024-03-29 09:53:31 +03:00
2024-03-30 09:22:47 +05:00
2024-03-30 08:00:40 +03:00
2024-03-29 09:53:31 +03:00

UfaHack2024

Face Hackaton UfaHack2024 in UFA

Реализация модели

f

Программный продукт создан с помощью фреймворка для Python Socket, CatBoost, CustomTkinter, а также приложение написанное на Kotin для клиента на Android

  • Реализация с CUDA технологиями
  • Андройд приложение
  • Классифкатор на основе градиентного бустинга
  • Очищенный и подготовленный датасет
  • Возможность работать удаленно
  • Возможность обработки в реальном времени

Gold features

  • Алгоритм определения "замыленных" фотографий opencv методами
  • Очистка датасета от фотографий, где присутствует более 2 человек
  • Пакетная обработка видео, ускоряющее обнаружениие лица на одном кадре за 5ms
  • Выделение face embeddings моделью facenet, которые используются для классификации человека алгоритмом градиентного бустинга "catboost"
  • Обучение нескольких моделей для разных категорий

Установка зависимостей

pip install catboost, customtkinter, deepface, socket, opencv-python, opencv-contrib-python, pandas, imutils, mtcnn

Quick start

cd UfaHack2024 
cd notebooks/apps
python main.py

Код реализации сервера

import socket

s = socket.socket()
host = "192.168.120.244"
port = 12345
s.bind((host, port))
s.listen(5)

while True:
    con, addr = s.accept()
    with open('FDJ.jpg', 'wb') as f:
        while True:
            print(1)
            data = con.recv(4096)
            if not data:
                break
            f.write(data)
    con.close()

Код реализации клиента

import socket

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

s.connect(('192.168.120.244', 12345)) # Подключаемся к серверу.
s.sendall('Hello, Habr!'.encode('utf-8')) # Отправляем фразу.
data = s.recv(1024) # Получаем данные из сокета.
print(data.decode())
while True:
    data = s.recv(4096)
    if not data:
        break
    print("Received response: " + data.decode())

s.close()

Для обучения модели исползовали CatBoost

Description
Face recognition system for UfaHack 2024 (MTCNN + FaceNet + CatBoost)
Readme 19 MiB
Languages
Jupyter Notebook 95.7%
Python 4.2%