Объятие демонстрационного приложения для лица?
Google Colab Notebook Demo
Руководство пользователя, документация, Руководство по аспектам CHATGPT
Docker Hub (GPU)
Facetorch - это библиотека Python, разработанная для обнаружения и анализа лица, используя силу глубоких нейронных сетей. Его основная цель-курировать модели анализа лиц с открытым исходным кодом от сообщества, оптимизировать их для высокой производительности с использованием TorchScript и интегрировать их в универсальный инструментарий анализа лица. Библиотека предлагает следующие ключевые функции:
Настраиваемая конфигурация: легко настроить вашу настройку с помощью HYDRA и ее мощных возможностей Omegaconf.
Воспроизводимые среды: обеспечить воспроизводимость с помощью таких инструментов, как Conda-Lock для управления зависимостями и докера для контейнеризации.
Ускоренная производительность: наслаждайтесь повышенной производительностью как на процессоре, так и на графическом процессоре с оптимизацией TorchScript.
Простая расширяемость: расширить библиотеку, загрузив файл модели в Google Drive и добавив соответствующий файл YAML конфигурации в репозиторий.
Facetorch предоставляет эффективное, масштабируемое и удобное решение для задач анализа лица, обслуживания разработчиков и исследователей, ищущих гибкость и производительность.
Пожалуйста, используйте эту библиотеку ответственно и с осторожностью. Придерживаться руководства по этике Европейской комиссии для заслуживающего доверия ИИ, чтобы обеспечить этическое и справедливое использование. Имейте в виду, что модели могут иметь ограничения и потенциальные смещения, поэтому крайне важно критически оценить их результаты и рассмотреть их влияние.
Пипи
pip install facetorchКонда
conda install -c conda-forge facetorchDocker Compose предоставляет простой способ создания рабочей среды аспекта с одной командой.
docker compose run facetorch python ./scripts/example.pydocker compose run facetorch-gpu python ./scripts/example.py analyzer.device=cudaПроверьте данные/вывод для полученных изображений с ограничительными коробками и 3D -ориентирами лица.
(Apple Mac M1) Используйте эмулятор Rosetta 2 в Docker Desktop для запуска версии процессора.
Проект настроен файлами, расположенными в Conf с основным файлом: conf/config.yaml . Можно легко добавить или удалить модули из конфигурации.
FaceAnalyzer является основным классом Facetorch, поскольку это оркестратор, ответственный за инициализацию и запуск следующих компонентов:
analyzer
├── reader
├── detector
├── unifier
└── predictor
├── embed
├── verify
├── fer
├── au
├── va
├── deepfake
└── align
└── utilizer
├── align
├── draw
└── save
| model | source | params | license | version |
| ------------- | --------- | --------- | ----------- | ------- |
| RetinaFace | biubug6 | 27.3M | MIT license | 1 |
| model | source | params | license | version |
| ----------------- | ---------- | ------- | ----------- | ------- |
| ResNet-50 VGG 1M | 1adrianb | 28.4M | MIT license | 1 |
include_tensors , чтобы быть правдой, чтобы включить прогноз модели в прогноз. | model | source | params | license | version |
| ---------------- | ----------- | -------- | ------------------ | ------- |
| MagFace+UNPG | Jung-Jun-Uk | 65.2M | Apache License 2.0 | 1 |
| AdaFaceR100W12M | mk-minchul | - | MIT License | 2 |
include_tensors , чтобы быть правдой, чтобы включить прогноз модели в прогноз.include_tensors , чтобы быть правдой, чтобы включить прогноз модели в прогноз. | model | source | params | license | version |
| ----------------- | -------------- | -------- | ------------------ | ------- |
| EfficientNet B0 7 | HSE-asavchenko | 4M | Apache License 2.0 | 1 |
| EfficientNet B2 8 | HSE-asavchenko | 7.7M | Apache License 2.0 | 2 |
| model | source | params | license | version |
| ------------------- | --------- | ------- | ------------------ | ------- |
| OpenGraph Swin Base | CVI-SZU | 94M | MIT License | 1 |
| model | source | params | license | version |
| ----------------- | ---------- | ------- | ----------- | ------- |
| ELIM AL AlexNet | kdhht2334 | 2.3M | MIT license | 1 |
| model | source | params | license | version |
| -------------------- | ---------------- | -------- | ----------- | ------- |
| EfficientNet B7 | selimsef | 66.4M | MIT license | 1 |
| model | source | params | license | version |
| ----------------- | ---------------- | -------- | ----------- | ------- |
| MobileNet v2 | choyingw | 4.1M | MIT license | 1 |
include_tensors , чтобы быть правдой, чтобы включить прогноз модели в прогноз.Модели автоматически загружаются во время выполнения в каталог моделей . Вы также можете загрузить модели вручную из общедоступной папки Google Drive.
Image Test.jpg (4 лица) анализируется (включая рисование и достопримечательности, но не сохранение) примерно через 486 мс и тест . Можно отслеживать время выполнения в журналах, используя уровень отладки.
Подробный Test.jpg Время выполнения:
analyzer
├── reader: 27 ms
├── detector: 193 ms
├── unifier: 1 ms
└── predictor
├── embed: 8 ms
├── verify: 58 ms
├── fer: 28 ms
├── au: 57 ms
├── va: 1 ms
├── deepfake: 117 ms
└── align: 5 ms
└── utilizer
├── align: 8 ms
├── draw_boxes: 22 ms
├── draw_landmarks: 7 ms
└── save: 298 ms
Запустите контейнер Docker:
docker compose -f docker-compose.dev.yml run facetorch-devdocker compose -f docker-compose.dev.yml run facetorch-dev-gpuFacetorch работает с моделями, которые были экспортированы от Pytorch в TorchScript. Вы можете применить функцию Torch.jit.trace для составления модели Pytorch в качестве модуля TorchScript. Пожалуйста, убедитесь, что вывод прослеженной модели равна выходу исходной модели.
Первые модели размещены в моей общедоступной папке Google Drive. Вы можете либо отправить новую модель для загрузки мне, разместить модель на своем Google Drive, либо провести ее где -то еще и добавить свой собственный объект загрузки в Codebase.
/conf/analyzer/predictor/ Следуя примеру FER в /conf/analyzer/predictor/fer//conf/analyzer/predictor/fer/efficientnet_b2_8.yaml в новую папку /conf/analyzer/predictor/<predictor_name>//conf/analyzer/predictor/<predictor_name>/<model_name>.yaml /tests/conftest.py ./tests/test_<predictor_name>.py black facetorchПРОЦЕССОР:
environment.ymlconda lock -p linux-64 -f environment.yml --lockfile conda-lock.ymldocker compose -f docker-compose.dev.yml run facetorch-lockconda-lock install --name env conda-lock.ymlГрафический процессор:
gpu.environment.ymlconda lock -p linux-64 -f gpu.environment.yml --lockfile gpu.conda-lock.ymldocker compose -f docker-compose.dev.yml run facetorch-lock-gpuconda-lock install --name env gpu.conda-lock.ymlpytest tests --verbose --cov-report html:coverage --cov facetorchpdoc --html facetorch --output-dir docs --force --template-dir pdoc/templates/python -m cProfile -o profiling/example.prof scripts/example.pysnakeviz profiling/example.prof Шарма, Паритош, Камилла Чалланд и Майкл Филхол. «Выражения лица для синтеза языка жестов с использованием Facshuman и Azee». Материалы 11-го семинара LREC-Coling 2024 года о представлении и обработке языков знаков , с. 354–360, 2024.
Лян, Конг, Цзяхе Ван, Хаофан Чжан, Бинг Тан, Джуншан Хуанг, Шангфей Ван и Сяопинг Чен. «Unifarn: Unified Transformer для генерации реакции лица». Материалы 31 -й Международной конференции ACM по мультимедиа , с. 9506–9510, 2023.
Гю, Цзя Сюань, Чун Йонг Чонг и Мей Куан Лим. «Распознавание выражения лица как маркеры депрессии». 2023 Азиатско -Тихоокеанская ассоциация по обработке информации Годовой саммит и конференция (APSIPA ASC) , с. 674–680, 2023.
Я хотел бы поблагодарить сообщество с открытым исходным кодом и исследователей, которые поделились своей работой и опубликовали модели. Этот проект был бы невозможным без их вклада.
Если вы используете Facetorch в своей работе, пожалуйста, обязательно причитайте первоначальных авторов моделей, которые он использует. Кроме того, вы можете рассмотреть вопрос о ссылке на саму библиотеку Facetorch. Ниже приведен пример цитата для Facetorch:
@misc{facetorch,
author = {Gajarsky, Tomas},
title = {Facetorch: A Python Library for Analyzing Faces Using PyTorch},
year = {2024},
publisher = {GitHub},
journal = {GitHub Repository},
howpublished = {url{https://github.com/tomas-gajarsky/facetorch}}
}