Перейти к основному содержимому
Версия: 3.28 (последняя)

Flutter сэмплы

В Face SDK реализовано несколько демо-проектов, демонстрирующих использование Flutter API. Ниже приведена информация о том, как запустить демо-проект, после чего подробно рассматривается функциональность каждого из них.

Требования

  • Flutter 3.27.0 ≤ версии ≤ 3.35.7
  • Dart 3.6.0 ≤ версии ≤ 3.9.2
  • Физическое Android или iOS устройство для запуска приложений

  • Установлен Face SDK

  • В директории Face SDK присутствуют следущие папки:

    • lib
    • conf
    • share
    • flutter
    • license (внутри находится валидный файл лицензии)

Запуск сэмпла

  1. Для запуска сэмпла установите компонент "flutter" с помощью инсталлятора Face SDK или утилиты maintenancetool:

    • Если Face SDK не установлен, следуйте инструкции по установке в разделе Начало работы. Необходимо выбрать компонент "flutter" в разделе "Выбор компонентов".

    • Если Face SDK установлен без компонента "flutter" (директория flutter отсутствует в корневой директории Face SDK), воспользуйтесь утилитой maintenancetool и установите компонент "flutter", выбрав его в разделе "Выбор компонентов".

  2. Подключите Android или iOS-устройство к компьютеру.

  3. Выполните сборку и запуск сэмпла с помощью консоли или через Android Studio (См. ниже).

Запуск из консоли

Для запуска сэмпла из консоли необходимо перейти в директорию проекта (examples/flutter/isolates_demo, examples/flutter/processing_block_demo или examples/flutter/demo) и выполнить команды:

flutter pub get
flutter pub upgrade
flutter run
Устранение неполадок
  • Используйте stable-версию Flutter не ниже 3.3.0. Выбрать и скачать дистрибутив Flutter для своей операционной системы можно по ссылке.

  • Добавьте путь до директории bin дистрибутива Flutter в переменную окружения PATH. Инструкция по добавлению переменной окружения для Linux и MacOS доступна по ссылке, для Windows — по ссылке.

Запуск через Android Studio

  • Откройте папку проекта (examples/flutter/isolates_demo, examples/flutter/processing_block_demo или examples/flutter/demo) в Android Studio
  • В Android Studio:
    • Откройте файл demo/pubspec.yaml и нажмите кнопку "Pub get".
    • Нажмите кнопку "Run".
Устранение неполадок
  • Используйте stable-версию Flutter не ниже 3.3.0. Выбрать и скачать дистрибутив Flutter для своей операционной системы можно по ссылке.

  • Укажите путь к дистрибутиву Flutter в настройках Android Studio: "File" > "Settings" > "Languages & Frameworks" > "Flutter".

  • Установите плагины Flutter и Dart в Android Studio. Список установленных плагинов и Marketplace для их установки доступны в настройках Android Studio: "File" > "Settings" > "Plugins".

Демо проекты

Сейчас доступно 3 демо проекта:

  • Flutter Isolates Demo (examples/flutter/isolates_demo). Наиболее актуальный проект, использующий Processing Block API и асинхронные модули, построенные на Flutter Isolates. Мы рекомендуем начинать своё знакомство с Flutter API именно с него!
  • Простое демо, демонстрирующее использование Processing Blocks (examples/flutter/processing_block_demo).
  • Исторически первое Flutter demo (examples/flutter/demo), на данный момент слегка устарело, поскольку использует модули из Legacy API. Рекомендуем запускать его только если вам интересен функционал Active Liveness.

Isolates Demo

После запуска сэмпла на экране устройства отображается стартовый экран и кнопка "Start". Необходимо нажать на кнопку "Start" для перехода в режим "Detect face on photo".

Detecting Faces On Photo

В режиме "Detecting Faces On Photo" на экране устройства отображается превью с камеры устройства.

В верхней части экрана отображается инструкция "Take a photo of the document".

В нижней части экрана отображаются кнопки "Take a photo" (внизу слева) и "Change Camera" (внизу справа).

Для продолжения работы необходимо сфотографировать документ с изображением лица. Нажмите кнопку "Take a photo" (внизу слева), чтобы сделать снимок. При этом автоматически выполняется проверка качества изображения.

После этого на экране устройства отобразится фото в разделе "Detected faces". Задетектированное лицо будет выделено ограничительной рамкой (bounding box).

После детекции лица и успешной проверки качества фотографии, отобразится кнопка "Next" (справа внизу) для перехода в режим проверки Liveness.

Liveness

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

При прохождении проверки Liveness отображается ограничительная рамка, под рамкой отображается текущее состояние проверки Liveness и качество изображения.

После прохождения проверки текущее состояние Liveness изменится на "Real" или "Fake", и появится кнопка "Next" (справа внизу) для перехода к результатам оценки лица.

После нажатия кнопки "Next" на экране устройства отобразятся следующие результаты:

  • Match score — Оценка совпадения лица на фото и лица, прошедшего проверку Liveness. Максимальное значение 1 означает, что лица принадлежат одному человеку.
  • Is same person — Вердикт о принадлежности лица одному человеку, принимает значения "true" или "false".
  • Liveness passed — Вердикт о прохождении проверки Liveness, принимает значение "true" или "false".

Ниже результатов отображается кнопка "Next", при нажатии на которую вы перейдете на стартовый экран.

Processing Block Demo

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

Выбор изображения

Откроется галерея, где можно выбрать изображение для анализа.

Оценка качества изображения

После выбора изображения выполняется детекция лиц и оценка качества для каждого обнаруженного лица.

Demo

После запуска сэмпла на экране устройства отображается стартовый экран и кнопка "Start". Необходимо нажать на кнопку "Start" для перехода в режим "Detect face on photo".

Detecting Faces On Photo

В режиме "Detecting Faces On Photo" на экране устройства отображается превью с камеры устройства. В верхней части экрана отображается инструкция "Take a photo of the document". В нижней части экрана отображаются кнопки "Take a photo" (внизу слева) и "Change Camera" (внизу справа).

Для продолжения работы необходимо сфотографировать документ с изображением лица. Нажмите кнопку "Take a photo" (внизу слева), для того чтобы сделать снимок. После этого на экране устройства отобразится фото "Detected faces", задетектированное лицо будет выделено ограничительной рамкой (bounding box).

После успешной детекции лица на фотографии отобразится кнопка "Next" (справа внизу) для перехода в режим проверки Active Liveness.

Active Liveness

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

Действия, которые необходимо выполнить для прохождения проверки Active Liveness, отображаются в виде сообщений в верхней части экрана.

Индикатор прогресса прохождения текущей проверки отображается на экране устройства внизу.

Если на экране отображается сообщение "Please, look at the camera", то необходимо выровнять расположение лица относительно камеры (углы наклона головы от вертикальной оси не должны превышать 15 градусов).

После прохождения проверки Active Liveness в верхней части экрана устройства отобразятся вердикт проверки "PASSED" или "FAILED" и кнопка "Next" (справа внизу) для перехода к результатам оценки лица.

После нажатия кнопки "Next" на экране устройства отобразятся следующие результаты:

  • Match score - Оценка совпадения лица на фото и лица, прошедшего проверку Active Liveness. Максимальное значение 1 означает, что лица принадлежат одному человеку.
  • Is same person - Вердикт о принадлежности лица одному человеку, принимает значения "true" или "false".
  • Liveness passed - Вердикт о прохождении проверки Active Liveness, принимает значение "true" или "false".

Ниже результатов отображается кнопка "Next", при нажатии на которую произойдет переход на стартовый экран.