C# сэмплы
Каталог bin/csharp_demo содержит следующие папки с исполняемыми файлами сэмплов:
- demo – пример трекинга лиц и оценки лица
- video_recognition_demo – пример идентификации/верификации лиц на видеопотоке с камеры
Для сборки и запуска C# сэмплов требуются следующие зависимости:
- Платформа .NET Core (рекомендуемая версия: 2.1)
- Обертка .NET для OpenCV (рекомендуемая версия: 3.4.1)
- Для Linux требуется ручная сборка OpenCvSharp.
Для сборки демо-проекта в VisualStudio:
- Создайте пустое консольное приложение C#
- Добавьте исходные файлы сэмпла в проект
- Добавьте ссылки на библиотеку
FacerecCSharpWrapper.dll
и OpenCvSharp3-AnyCPU
demo
Программа демонстрирует трекинг, детекцию и обрезку лиц, определение антропометрических точек и углов, а также оценку качества лица, определение пола и возраста, эмоций, принадлежности лица живому человеку (анализ цветного изображения с камеры).
Для быстрого запуска сэмпла с параметрами по умолчанию на Windows перейдите в папку bin/csharp_demo/demo и двойным левым щелчком мыши запустите файл run.bat
.
Расположение C# demo
Результаты трекинга и информация о каждом лице отображаются в окне. В левой части окна программы перечислены компоненты Face SDK, которые можно включать/выключать левым щелчком мыши. Сэмпл аналогичен C++ demo, более подробное описание компонентов см. в пункте C++ demo.
Для запуска приложения на Linux перейдите в директорию bin/csharp_demos/demo и выполните команду run.sh <path_to_opencv_csharp>
, где <path_to_opencv_csharp>
– путь до директории с библиотекой OpenCvSharp.
Также Вы можете запустить сэмпл C# demo, указав определенные параметры (например, путь до онлайн лицензии).
Для сборки сэмпла выполните следующие команды:
cd examples/csharp_demos/demo
dotnet publish -o publish
Параметры запуска:
[--config_dir=<config_dir>] [--license_dir=<license_dir>] [--capturer_config=<capturer_config>]
Где:
config_dir
– путь до каталога conf/facereccapturer_config
– путь до конфигурационного файла детектора (подробнее о типах конфигурационных файлов см. Класс Capturer)license_dir
– путь до каталога с лицензией (укажите, если нужно изменить каталог по умолчаниюlicense
)
Для запуска демо на Windows:
Добавьте путь до директории, содержащей facerec.dll
, в преременную окружения PATH
.
set PATH=%PATH%; ..\...\..\bin
dotnet publish\csharp_demo.dll --config_dir=../../../conf/facerec --capturer_config=common_video_capturer_lbf.xml
Для запуска демо на Linux:
Добавьте путь до директории, содержащей libfacerec.so
, и путь до директории с собранной для linux библиотекой OpenCVSharp в переменную окружения LD_LIBRARY_PATH
.
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:../../../lib:/path/to/opencvsharp/native/libs dotnet publish/csharp_demo.dll --config_dir=../../../conf/facerec --capturer_config=common_video_capturer_lbf.xml
В консоли отображаются сообщения об ошибках при их возникновении.
Исходный код: demo.cs
video_recognition_demo
Программа демонстрирует трекинг, детекцию и идентификацию/верификацию лиц из базы на видеопотоке с камеры.
Примечание: если Вы используете сенсор RealSense, мы рекомендуем Вам использовать сэмпл video_recognition_demo_realsense. В данном сэмпле объект DepthLivenessEstimator
используется посредством RealSense SDK. См. более подробную информацию об определении принадлежности лица реальному человеку с использованием карты глубины в пункте Класс DepthLivenessEstimator.
Для быстрого запуска сэмпла с параметрами по умолчанию и проверки распознавания лиц на Windows:
- Создайте базу, которая будет использоваться при поиске лиц (см. п.1 подраздела C++ Video Recognition Demo).
- Для запуска сэмпла перейдите в папку bin/csharp_demo/video_recognition_demo и двойным левым щелчком мыши запустите файл
run.bat
Расположение C# video_recognition_demo
- Результаты трекинга и идентификации отображаются в окнах (по одному на каждый источник). Найденные лица выделяются зеленым кругом. В правой верхней части окна отображаются результаты распознавания: слева – найденное лицо на видео, справа – лицо из базы и имя.
Для запуска приложения на Linux перейдите в директорию bin/csharp_demos/video_recognition_demo и выполните команду run.sh <path_to_opencv_csharp>
, где <path_to_opencv_csharp>
– путь до директории с библиотекой OpenCvSharp.
Также Вы можете запустить сэмпл C# video_recognition_demo, указав определенные параметры.
Для сборки сэмпла выполните следующие команды:
cd examples/csharp_demos/video_recognition_demo
dotnet publish -o publish
Для запуска сэмпла укажите путь до библиотеки csharp_video_recognition_demo.dll
, параметры запуска (необязательно) и видео-источник:
dotnet csharp_video_recognition_demo.dll [OPTIONS] <video_source>...
Примеры запуска:
- Веб-камера:
dotnet csharp_video_recognition_demo.dll –config_dir ../../../conf/facerec 0
- RTSP-поток:
dotnet csharp_video_recognition_demo.dll –config_dir ../../../conf/facerec rtsp://localhost:8554/
Параметры запуска:
[--config_dir=<config_dir>] [--license_dir=<license_dir>] [--database_dir=<database_dir>] [--method_config=<method_config>] [--recognition_distance_threshold=<recognition_distance_threshold>] [--frame_fps_limit=<frame_fps_limit>] (<camera_id> | <rtsp_url>)...
Где:
config_dir
– путь до каталога conf/facereclicense_dir
– путь до каталога с лицензией (укажите, если нужно изменить каталог по умолчаниюlicense
)database_dir
– путь до каталога с базой лицmethod_config
– имя конфигурационного файла распознавателяrecognition_distance_threshold
– порог распознавания (вещественное число)camera_id | rtsp_url
– один или несколько источников, каждый источник – это число (номер вебкамеры) либо строка (URL видеопотока либо путь до видеофайла)frame_fps_limit
– ограничение FPS
Для запуска демо на Windows:
Добавьте путь до директории, содержащей facerec.dll
, в преременную окружения PATH
.
set PATH=%PATH%;..\...\..\bin
dotnet publish/csharp_video_recognition_demo.dll --config_dir=../../../conf/facerec --database_dir=../../../bin/base --method_config=method6v7_recognizer.xml --recognition_distance_threshold=7000 --frame_fps_limit=25 0
Для запуска демо на Linux:
Добавьте путь до директории, содержащей libfacerec.so
, и путь до директории с собранной для linux библиотекой OpenCVSharp в переменную окружения LD_LIBRARY_PATH
.
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}: ../../../lib:~/opencv/lib/x86_64-linux-gnu dotnet publish/csharp_demo.dll --config_dir=../../../conf/facerec --database_dir=../../../bin/base --method_config=method6v7_recognizer.xml --recognition_distance_threshold=7000 --frame_fps_limit=25 0
В консоли отображается статус загрузки базы и сообщения об ошибках при их возникновении.
Исходный код: