Перейти к основному содержимому
Версия: 3.13.0

C# сэмплы

Каталог bin/csharp_demo содержит следующие папки с исполняемыми файлами сэмплов:

  • demo – пример трекинга лиц и оценки лица
  • video_recognition_demo – пример идентификации/верификации лиц на видеопотоке с камеры

Для сборки и запуска C# сэмплов требуются следующие зависимости:

Для сборки демо-проекта в VisualStudio:

  1. Создайте пустое консольное приложение C#
  2. Добавьте исходные файлы сэмпла в проект
  3. Добавьте ссылки на библиотеку 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/facerec
  • capturer_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. Создайте базу, которая будет использоваться при поиске лиц (см. п.1 подраздела C++ Video Recognition Demo).
  2. Для запуска сэмпла перейдите в папку bin/csharp_demo/video_recognition_demo и двойным левым щелчком мыши запустите файл run.bat

Расположение C# video_recognition_demo

  1. Результаты трекинга и идентификации отображаются в окнах (по одному на каждый источник). Найденные лица выделяются зеленым кругом. В правой верхней части окна отображаются результаты распознавания: слева – найденное лицо на видео, справа – лицо из базы и имя.

Для запуска приложения на 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_far_threshold=<recognition_distance_threshold>] [--frame_fps_limit=<frame_fps_limit>] (<camera_id> | <rtsp_url>)...

Где:

  • config_dir – путь до каталога conf/facerec
  • license_dir – путь до каталога с лицензией (укажите, если нужно изменить каталог по умолчанию license)
  • database_dir – путь до каталога с базой лиц
  • method_config – имя конфигурационного файла распознавателя
  • recognition_far_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_far_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_far_threshold=7000 --frame_fps_limit=25 0

В консоли отображается статус загрузки базы и сообщения об ошибках при их возникновении.

Исходный код: