2024-12-31 11:51:14 +03:00
2024-12-31 11:44:27 +03:00
2024-12-31 10:28:02 +03:00
2024-12-31 11:39:51 +03:00

FaceSaver

Добро пожаловать в FaceSaver — гибкое решение на базе Python для детектирования лиц с веб-камеры, хранения уникальных изображений лиц и предотвращения дублирования за счет использования механизмов хэширования изображений.

Оглавление


Описание

FaceSaver использует возможности библиотеки OpenCV для обнаружения лиц в режиме реального времени и сохраняет каждое уникальное лицо в папку faces. Для определения уникальности лица используется библиотека ImageHash и алгоритм усредненного хэша (average hash).
Если обнаруженное лицо уже похоже на ранее сохраненное (с учетом заданного порога сходства), оно не будет сохранено повторно. Таким образом, вы получаете упорядоченную коллекцию изображений лиц без избыточных дубликатов.


Особенности

  1. Реальное время: обработка видеопотока в режиме реального времени.
  2. Уникальность: предотвращение дублирования благодаря сравнению хэшей изображений.
  3. Гибкость: настройка уровня чувствительности (tolerance) для учета небольших изменений (ракурсов, освещения и т.д.).
  4. Простота использования: удобный запуск из бат-файла или напрямую из Python.

Требования

Для работы проекта необходим Python 3.7+ и следующие пакеты:

  1. OpenCV (установить можно через pip: pip install opencv-python)
  2. Pillow (установить: pip install pillow)
  3. ImageHash (установить: pip install imagehash)

Также потребуется веб-камера, физическая или виртуальная.


Установка

  1. Склонируйте или загрузите репозиторий:
    git clone https://github.com/ваш-аккаунт/FaceSaver.git
    cd FaceSaver
    
  2. Установите зависимости:
    pip install -r requirements.txt
    

    При отсутствии файла requirements.txt установите пакеты вручную:

    pip install opencv-python pillow imagehash
    

Запуск

Доступны два основных способа запуска:

  1. Через Python:
    python main.py
    
  2. Через бат-файл (Windows):
    • Дважды кликните по файлу start.bat, или
    • Запустите командой:
      start.bat
      

После запуска откроется окно видеопотока с веб-камеры, где вокруг обнаруженных лиц будут отображаться прямоугольники.


Структура проекта

FaceSaver/
│   main.py          # Основной скрипт детектирования лиц
│   start.bat        # Файл для быстрого запуска
│   README.md         # Документация (то, что вы сейчас читаете)
│
└── faces/           # Папка для сохраненных уникальных лиц

Применение

  1. При запуске FaceSaver в реальном времени обрабатывает поток с вашей веб-камеры.
  2. При обнаружении нового лица программа сохраняет его в папку faces с меткой времени, если его хэш не совпадает с уже сохранёнными.
  3. Если лицо уже встречалось ранее (определяется через функцию is_similar_hash()), оно не сохраняется повторно, что экономит место и упрощает поиск нужных изображений.

Пример использования:

  • Создание базы лиц для системы безопасности или учёта.
  • Сбор уникальных фотографий одной и той же персоны под разными углами и освещением.
  • Разработка проектов в области компьютерного зрения, где требуется де-дубликация изображений.

Поддержка и вклад

Приветствуются все виды вклада в проект:

  • Сообщения об ошибках (issue) в репозитории (добавьте свою ссылку).
  • Предложения новых возможностей через pull-request.
  • Связь с автором по электронной почте или любым удобным способом.

Лицензия

FaceSaver распространяется на условиях MIT License (при необходимости добавьте файл LICENSE). Это означает, что вы можете свободно использовать, изменять и распространять проект в любых целях при условии сохранения оригинальных уведомлений об авторстве.


Спасибо, что используете FaceSaver! Мы будем рады вашей обратной связи и участию в развитии проекта.

Languages
Python 93.8%
Dockerfile 5.7%
Batchfile 0.5%