Facet: локальный анализ и сортировка фотографий с распознаванием лиц

Facet: локальный анализ и сортировка фотографий с распознаванием лиц

Facet — это локальный инструмент для анализа и сортировки фотографий, который использует распознавание лиц и семантический поиск. Он помогает оценить и организовать изображения без необходимости в облачных сервисах или подписках.

Проект позволяет анализировать качества фотографий по девяти параметрам, включая эстетическую привлекательность и резкость лиц. Ты просто указываешь папку с фотографиями, и Facet быстро оценит их, группируя аналогичные снимки и выявляя лучшие. Веб-интерфейс позволяет удобно просматривать и фильтровать библиотеку. Особенно полезно будет тем, кто работает с большим объемом фото и хочет сэкономить время на отборе.

Facet написан на Python, использует FastAPI и Angular для фронтенда. Запустить его можно на Windows, macOS и Linux (в том числе и в Docker). Проект достаточно универсален, но не забудь — сейчас он требует GPU для полной функциональности.

Обзор проекта

Facet — это локальный движок для анализа и отсева фотографий. Он оценивает каждое изображение по девяти параметрам, включая эстетическое качество и резкость лиц, а затем позволяет просматривать, отбирать и организовывать фотографии через веб-галерею. Все работает на твоем компьютере, без облачных сервисов, учетных записей и API ключей.

Как это работает

  • Сканирование — Укажи Facet папку с фотографиями. Каждое изображение анализируется на качество, композицию и наличие лиц. Поддерживаются форматы JPG, HEIF/HEIC и 10 форматов RAW (CR2, CR3, NEF, ARW, RAF, RW2, DNG, ORF, SRW, PEF).
  • Просмотр — Открой веб-галерею для исследования своей библиотеки с фильтрами, поиском и несколькими режимами просмотра.
  • Отсев — Facet определяет серийные съемки, отмечает закрытые глаза, группирует похожие фотографии и показывает лучшие варианты. Этапы экспозиции и панорамные HDR-сеты распознаются и остаются целыми.

Поддерживается автоматическое определение GPU, он является необязательным. Facet может работать как только на ЦП, так и с использованием до 24 ГБ видеопамяти.

Особенности

Оценка

Каждая фотография оценивается по девяти параметрам: эстетическое качество, композиция, качество лиц, резкость глаз, техническая резкость, цвет, экспозиция, заметность объекта и динамический диапазон. Фотографии классифицируются по содержанию (портрет, пейзаж, макро и т.д. — более 30 категорий) и оцениваются с учетом специфических весов для каждой категории.

Отсев

  • Обнаружение серий — группирует последовательные съемки и автоматически выбирает лучшее на основе резкости и качества.
  • Защита последовательности — распознает и сохраняет многокадровые наборы.
  • Группы схожести — находит визуально похожие фотографии.
  • Авто-отсев — одной кнопкой удаляет группу кадров с предварительным просмотром.
  • Генерирование отчетов — статистика по использованию оборудования и категориям.

Просмотр

  • Режимы галереи — мозаика и сетка.
  • Фильтры — по диапазону дат, тегам, камерам и другим параметрам.
  • Семантический поиск — поиск фотографий по естественным языковым запросам.

Организация

  • Распознавание лиц — автоматическое выявление и группировка по лицам.
  • Альбомы — ручные и "умные" альбомы, которые заполняются автоматически.
  • Теги — автоматически генерируемые теги контента.

Что нужно для работы

Большинство возможностей Facet работают на любом компьютере (ЦП). Для более продвинутых моделей (TOPIQ и др.) требуется GPU от NVIDIA с 16 ГБ или 24 ГБ видеопамяти. Если локальный GPU отсутствует, можно использовать удаленный сервер для некоторых функций (требуется соответствующий конфиг).

Быстрый старт

Docker (рекомендуется)

git clone https://github.com/ncoevoet/facet.git && cd facet
cp .env.example .env      # открой .env и укажи PHOTOS_DIR для папки с фотографиями
docker compose up -d      # затем открой http://localhost:5000

Без Docker (Linux, macOS)

git clone https://github.com/ncoevoet/facet.git && cd facet
bash install.sh                        # определит твое оборудование и установит всё необходимое
source venv/bin/activate
python facet.py /path/to/your/photos   # оценка фотографий
python viewer.py                       # галерея → http://localhost:5000

Лицензия

Проект лицензирован под MIT.

Радар проекта: 73 из 100 — крепкий проект

ИмпульсТемпЗрелостьСообществоСвежестьСтартПродакшенДовериеДокументацияЭкосистема73
  • Импульс 23 ≈ 2 звезды в день
  • Темп разработки 100 1253 коммита за 12 недель
  • Зрелость 82 проекту 9 месяцев, 56 релизов
  • Сообщество 47 14 участников, 38 форков
  • Свежесть 97 последний коммит — 5 дней назад
  • Быстрый старт 90 есть: команда установки, Docker, сайт/демо
  • Готовность к продакшену 100 релиз v1.28.0, автосборка, тесты
  • Безопасность и доверие 40 своя лицензия (не из открытых)
  • Документация 97 README 17.7 тыс. знаков, 17 разделов, папка docs
  • Экосистема 54 3 подписчика на обновления, 20 тем
Как считаем

Только открытые данные GitHub на 07.11.2026, без оценок нейросети. Каждая ось — от 0 до 100, итог — среднее.

  • Импульс — звёзд в день: за время наших замеров, а пока их нет — за всю жизнь проекта; 200 в день — максимум.
  • Темп разработки — коммитов за последние 12 недель; 300 — максимум. Пока GitHub не досчитал статистику, ось не учитывается.
  • Зрелость — возраст проекта (3 года — максимум) и число релизов (30 — максимум), поровну.
  • Сообщество — участников с коммитами (200 — максимум) и форков (5000 — максимум), поровну.
  • Свежесть — дней с последнего коммита: сегодня — 100, полгода и больше или архив — 0.
  • Быстрый старт — в README есть команда установки, раздел «быстрый старт» или примеры использования, в репозитории — Docker и папка примеров, у проекта есть сайт или демо.
  • Готовность к продакшену — релизы, версия 1.0 и выше, автосборка (GitHub Actions), тесты, лицензия, журнал изменений.
  • Безопасность и доверие — открытая лицензия (своя — половина балла), политика безопасности (SECURITY.md), проект организации, правила для участников, не в архиве.
  • Документация — объём и структура README, папка docs или сайт, оценка «здоровья сообщества» GitHub.
  • Экосистема — звёзды (50 тыс. — максимум), подписчики на обновления (1000 — максимум), темы репозитория.

Открыть на GitHub: ncoevoet/facet →

Что нового на GitHub — короткие обзоры на русском Новые обзоры приходят в Telegram. Без спама, по делу.
Подписаться

Похожие статьи

Популярные темы на сайте