3DiVi Face SDK  3.21.0
 Указатель Классы Пространства имен Файлы Функции Переменные Определения типов Перечисления Элементы перечислений Свойства Группы
Класс com.vdt.face_recognition.sdk.VideoWorker

VideoWorker - интерфейсный объект для трекинга, обработки и распознавания лиц на нескольких видеопотоках. Рекомендуется использовать VideoWorker вместо Capturer для детекции лиц на видеопотоках. Если при создании VideoWorker указаны параметры matching_thread=0 и processing_thread=0, то потребляется обычная лицензия Capturer. Подробнее...

Классы

class  DatabaseElement
 Элемент базы. Если имеется несколько шаблонов для одного человека, нужно создать по одному элементу для каждого шаблона с одинаковыми person_id, но разными element_id. Подробнее...
 
interface  MatchFoundCallback
 Тип функции коллбэка распознавания (MatchFound). Подробнее...
 
interface  MatchFoundCallbackU
 Тип функции коллбэка распознавания (MatchFound). Подробнее...
 
class  Params
 Параметры конструктора VideoWorker. Подробнее...
 
class  SearchResult
 Результат поиска (для VideoWorker.MatchFoundCallback). Подробнее...
 
interface  StiPersonOutdatedCallbackU
 Тип функции коллбэка StiPersonOutdated. Подробнее...
 
interface  TemplateCreatedCallback
 Callback function type for a TemplateCreated event. Подробнее...
 
interface  TemplateCreatedCallbackU
 Тип функции коллбэка создания шаблона (TemplateCreated). Подробнее...
 
interface  TrackingCallback
 Тип функции коллбэка трекинга (Tracking). Подробнее...
 
interface  TrackingCallbackU
 Тип функции коллбэка трекинга (Tracking). Этот коллбэк вызывается каждый раз, когда кадр был обработан трекером. Tracking коллбэк будет вызван с frame_id = X не раньше, чем VideoWorker.addVideoFrame вернет значение X + N - 1, где N - значение, которое вернул VideoWorker.getTrackingConveyorSize. Подробнее...
 
interface  TrackingLostCallback
 Тип функции коллбэка потери трекинга лица (TrackingLost) (например, когда человек вышел из кадра). Подробнее...
 
interface  TrackingLostCallbackU
 Тип функции коллбэка потери трекинга лица (TrackingLost) (например, когда человек вышел из кадра). Подробнее...
 

Открытые члены

void dispose ()
 Освободить внутренний объект.
 
boolean isDisposed ()
 Проверить освобожден ли объект. Подробнее...
 
String getMethodName ()
 Получить имя метода используемого распознавателя. Потокобезопасный. Подробнее...
 
int getStreamsCount ()
 Получить количество видеопотоков. Потокобезопасный. Подробнее...
 
int getTrackingConveyorSize (final int stream_id)
 Получить размер N конвейера трекинга. Tracking коллбэк будет вызван с frame_id = X не раньше, чем VideoWorker.addVideoFrame вернет значение X + N - 1, где N - значение, которое вернул VideoWorker.getTrackingConveyorSize. Потокобезопасный. Подробнее...
 
void setDatabase (final Vector< DatabaseElement > elements, final Recognizer.SearchAccelerationType acceleration)
 Задать / заменить базу (можно вызывать в любое время). Доступно только при ненулевом количестве потоков сравнения (matching_threads_count). Потокобезопасный. Подробнее...
 
int addVideoFrame (final RawImage frame, final int stream_id)
 Подать новый кадр определенного видеопотока. Результаты трекинга и распознавания будут возвращаться асинхронно в коллбэках Tracking, MatchFound и TrackingLost. Потокобезопасный. Подробнее...
 
int addVideoFrame (final RawImage frame, final int stream_id, final long timestamp_microsec)
 
void addDepthFrame (final DepthMapRaw depth_frame, final int stream_id, final long timestamp_microsec)
 
void addIRFrame (final IRFrameRaw ir_frame, final int stream_id, final long timestamp_microsec)
 
void resetTrackerOnStream (final int stream_id)
 Сбросить состояние трекера для указанного видеопотока. Потокобезопасный. Подробнее...
 
int resetStream (final int stream_id)
 Сбросить состояние работы для указанного видеопотока. В процессе происходит ожидание выполняющихся в данный момент коллбэков, поэтому не синхронизируйте вызов resetStream с кодом внутри коллбэков, иначе возможен deadlock. После возврата управления от resetStream не будет вызвано ни одного коллбэка, относящегося к предыдущим кадрам или трекам. Необходимо освободить память, выделенную для треков, track_id которых меньше возвращенного значения, так как для треков, удаленных в процессе этого сброса, TrackingLost коллбэк вызван не будет. Потокобезопасный. Подробнее...
 
void checkExceptions ()
 Исключения, выброшенные в коллбэках и внутренних потоках, будут выброшены повторно при вызове данного метода. Потокобезопасный.
 
synchronized int addTrackingCallbackU (final TrackingCallbackU callback)
 Добавить обработчик события трекинга (Tracking). Потокобезопасный. Подробнее...
 
synchronized int addTrackingCallback (final TrackingCallback callback)
 Добавить обработчик события трекинга (Tracking). Потокобезопасный. Подробнее...
 
synchronized int addTemplateCreatedCallbackU (final TemplateCreatedCallbackU callback)
 Добавить обработчик события создания шаблона (TemplateCreated). Потокобезопасный. Подробнее...
 
synchronized int addTemplateCreatedCallback (final TemplateCreatedCallback callback)
 Добавить обработчик события создания шаблона (TemplateCreated). Потокобезопасный. Подробнее...
 
synchronized int addMatchFoundCallbackU (final MatchFoundCallbackU callback)
 Добавить обработчик события распознавания (MatchFound). Потокобезопасный. Подробнее...
 
synchronized int addMatchFoundCallback (final MatchFoundCallback callback)
 Добавить обработчик события распознавания (MatchFound). Потокобезопасный. Подробнее...
 
synchronized int addTrackingLostCallbackU (final TrackingLostCallbackU callback)
 Добавить обработчик события потери трекинга лица (TrackingLost). Потокобезопасный. Подробнее...
 
synchronized int addTrackingLostCallback (final TrackingLostCallback callback)
 Добавить обработчик события потери трекинга лица (TrackingLost). Потокобезопасный. Подробнее...
 
synchronized int addStiPersonOutdatedCallbackU (final StiPersonOutdatedCallbackU callback)
 Добавить обработчик события StiPersonOutdated. Потокобезопасный. Подробнее...
 
synchronized void removeTrackingCallback (final int callback_id)
 Удалить обработчик события трекинга (Tracking). Потокобезопасный. Подробнее...
 
synchronized void removeTemplateCreatedCallback (final int callback_id)
 Удалить обработчик события создания шаблона (TemplateCreated). Потокобезопасный. Подробнее...
 
synchronized void removeMatchFoundCallback (final int callback_id)
 Удалить обработчик события распознавания (MatchFound). Потокобезопасный. Подробнее...
 
synchronized void removeTrackingLostCallback (final int callback_id)
 Удалить обработчик события потери трекинга лица (TrackingLost). Потокобезопасный. Подробнее...
 
synchronized void removeStiPersonOutdatedCallback (final int callback_id)
 Удалить обработчик события StiPersonOutdated. Потокобезопасный. Подробнее...
 
void disableProcessingOnStream (final int stream_id)
 Отключить генерацию шаблонов для данного потока. Соответственно, сравнения также остановятся. Потокобезопасный. Подробнее...
 
void enableProcessingOnStream (final int stream_id)
 Включить генерацию шаблонов для данного потока. Соответственно, сравнения также возобновятся. Потокобезопасный. Подробнее...
 
void disableAgeGenderEstimationOnStream (final int stream_id)
 Отключить определение пола и возраста для данного потока. Потокобезопасный. Подробнее...
 
void enableAgeGenderEstimationOnStream (final int stream_id)
 Включить определение пола и возраста для данного потока. Потокобезопасный. Подробнее...
 
void disableEmotionsEstimationOnStream (final int stream_id)
 Отключить определение эмоций для данного потока. Потокобезопасный. Подробнее...
 
void enableEmotionsEstimationOnStream (final int stream_id)
 Включить определение эмоций для данного потока. Потокобезопасный. Подробнее...
 

Статические открытые данные

static final long MATCH_NOT_FOUND_ID = Long.MAX_VALUE
 Специальное значение для параметров person_id и element_id в MatchFoundCallback.
 

Подробное описание

VideoWorker - интерфейсный объект для трекинга, обработки и распознавания лиц на нескольких видеопотоках. Рекомендуется использовать VideoWorker вместо Capturer для детекции лиц на видеопотоках. Если при создании VideoWorker указаны параметры matching_thread=0 и processing_thread=0, то потребляется обычная лицензия Capturer.

Методы

synchronized int com.vdt.face_recognition.sdk.VideoWorker.addMatchFoundCallback ( final MatchFoundCallback  callback)
inline

Добавить обработчик события распознавания (MatchFound). Потокобезопасный.

Предупреждения
Это устаревшая версия (см. новую VideoWorker.addMatchFoundCallbackU)
Аргументы
[in]callbackФункция коллбэка.
Возвращает
Целочисленный идентификатор коллбэка. Используйте его для передачи в VideoWorker.removeMatchFoundCallback, чтобы отписаться.
synchronized int com.vdt.face_recognition.sdk.VideoWorker.addMatchFoundCallbackU ( final MatchFoundCallbackU  callback)
inline

Добавить обработчик события распознавания (MatchFound). Потокобезопасный.

Аргументы
[in]callbackФункция коллбэка.
Возвращает
Целочисленный идентификатор коллбэка. Используйте его для передачи в VideoWorker.removeMatchFoundCallback, чтобы отписаться.
synchronized int com.vdt.face_recognition.sdk.VideoWorker.addStiPersonOutdatedCallbackU ( final StiPersonOutdatedCallbackU  callback)
inline

Добавить обработчик события StiPersonOutdated. Потокобезопасный.

Аргументы
[in]callbackФункция коллбэка.
Возвращает
Целочисленный идентификатор коллбэка. Чтобы отписаться, передайте его в VideoWorker.removeStiPersonOutdatedCallback.
synchronized int com.vdt.face_recognition.sdk.VideoWorker.addTemplateCreatedCallback ( final TemplateCreatedCallback  callback)
inline

Добавить обработчик события создания шаблона (TemplateCreated). Потокобезопасный.

Предупреждения
Это устаревшая версия (см. новую VideoWorker.addTemplateCreatedCallbackU)
Аргументы
[in]callbackФункция коллбэка.
Возвращает
Целочисленный идентификатор коллбэка. Используйте его для передачи в VideoWorker.removeTemplateCreatedCallback, чтобы отписаться.
synchronized int com.vdt.face_recognition.sdk.VideoWorker.addTemplateCreatedCallbackU ( final TemplateCreatedCallbackU  callback)
inline

Добавить обработчик события создания шаблона (TemplateCreated). Потокобезопасный.

Аргументы
[in]callbackФункция коллбэка.
Возвращает
Целочисленный идентификатор коллбэка. Используйте его для передачи в VideoWorker.removeTemplateCreatedCallback, чтобы отписаться.
synchronized int com.vdt.face_recognition.sdk.VideoWorker.addTrackingCallback ( final TrackingCallback  callback)
inline

Добавить обработчик события трекинга (Tracking). Потокобезопасный.

Предупреждения
Это устаревшая версия (см. новую VideoWorker.addTrackingCallbackU)
Аргументы
[in]callbackФункция коллбэка.
Возвращает
Целочисленный идентификатор коллбэка. Используйте его для передачи в VideoWorker.removeTrackingCallback, чтобы отписаться.
synchronized int com.vdt.face_recognition.sdk.VideoWorker.addTrackingCallbackU ( final TrackingCallbackU  callback)
inline

Добавить обработчик события трекинга (Tracking). Потокобезопасный.

Аргументы
[in]callbackФункция коллбэка.
Возвращает
Целочисленный идентификатор коллбэка. Используйте его для передачи в VideoWorker.removeTrackingCallback, чтобы отписаться.
synchronized int com.vdt.face_recognition.sdk.VideoWorker.addTrackingLostCallback ( final TrackingLostCallback  callback)
inline

Добавить обработчик события потери трекинга лица (TrackingLost). Потокобезопасный.

Предупреждения
Это устаревшая версия (см. новую VideoWorker.addTrackingLostCallbackU)
Аргументы
[in]callbackФункция коллбэка.
Возвращает
Целочисленный идентификатор коллбэка. Используйте его для передачи в VideoWorker.removeTrackingLostCallback, чтобы отписаться.
synchronized int com.vdt.face_recognition.sdk.VideoWorker.addTrackingLostCallbackU ( final TrackingLostCallbackU  callback)
inline

Добавить обработчик события потери трекинга лица (TrackingLost). Потокобезопасный.

Аргументы
[in]callbackФункция коллбэка.
Возвращает
Целочисленный идентификатор коллбэка. Используйте его для передачи в VideoWorker.removeTrackingLostCallback, чтобы отписаться.
int com.vdt.face_recognition.sdk.VideoWorker.addVideoFrame ( final RawImage  frame,
final int  stream_id 
)
inline

Подать новый кадр определенного видеопотока. Результаты трекинга и распознавания будут возвращаться асинхронно в коллбэках Tracking, MatchFound и TrackingLost. Потокобезопасный.

Аргументы
[in]frameИзображение кадра. Допустимы только цветные изображения (т.е. RawImage.Format.FORMAT_RGB, RawImage.Format.FORMAT_BGR, RawImage.Format.FORMAT_YUV_NV21 и RawImage.Format.FORMAT_YUV_NV12).
[in]stream_idЦелочисленный идентификатор видеопотока (0 <= stream_id < streams_count).
Возвращает
Целочисленный идентификатор кадра, уникальный для этого видеопотока, который будет использоваться в коллбэках для обозначения этого кадра.
void com.vdt.face_recognition.sdk.VideoWorker.disableAgeGenderEstimationOnStream ( final int  stream_id)
inline

Отключить определение пола и возраста для данного потока. Потокобезопасный.

Аргументы
[in]stream_idЦелочисленный идентификатор видеопотока (0 <= stream_id < streams_count).
void com.vdt.face_recognition.sdk.VideoWorker.disableEmotionsEstimationOnStream ( final int  stream_id)
inline

Отключить определение эмоций для данного потока. Потокобезопасный.

Аргументы
[in]stream_idЦелочисленный идентификатор видеопотока (0 <= stream_id < streams_count).
void com.vdt.face_recognition.sdk.VideoWorker.disableProcessingOnStream ( final int  stream_id)
inline

Отключить генерацию шаблонов для данного потока. Соответственно, сравнения также остановятся. Потокобезопасный.

Аргументы
[in]stream_idЦелочисленный идентификатор видеопотока (0 <= stream_id < streams_count).
void com.vdt.face_recognition.sdk.VideoWorker.enableAgeGenderEstimationOnStream ( final int  stream_id)
inline

Включить определение пола и возраста для данного потока. Потокобезопасный.

Аргументы
[in]stream_idЦелочисленный идентификатор видеопотока (0 <= stream_id < streams_count).
void com.vdt.face_recognition.sdk.VideoWorker.enableEmotionsEstimationOnStream ( final int  stream_id)
inline

Включить определение эмоций для данного потока. Потокобезопасный.

Аргументы
[in]stream_idЦелочисленный идентификатор видеопотока (0 <= stream_id < streams_count).
void com.vdt.face_recognition.sdk.VideoWorker.enableProcessingOnStream ( final int  stream_id)
inline

Включить генерацию шаблонов для данного потока. Соответственно, сравнения также возобновятся. Потокобезопасный.

Аргументы
[in]stream_idЦелочисленный идентификатор видеопотока (0 <= stream_id < streams_count).
String com.vdt.face_recognition.sdk.VideoWorker.getMethodName ( )
inline

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

Возвращает
Имя метода.
int com.vdt.face_recognition.sdk.VideoWorker.getStreamsCount ( )
inline

Получить количество видеопотоков. Потокобезопасный.

Возвращает
Количество видеопотоков.
int com.vdt.face_recognition.sdk.VideoWorker.getTrackingConveyorSize ( final int  stream_id)
inline

Получить размер N конвейера трекинга. Tracking коллбэк будет вызван с frame_id = X не раньше, чем VideoWorker.addVideoFrame вернет значение X + N - 1, где N - значение, которое вернул VideoWorker.getTrackingConveyorSize. Потокобезопасный.

Аргументы
[in]stream_idЦелочисленный идентификатор видеопотока (0 <= stream_id < streams_count).
Возвращает
Размер конвейера трекинга.
boolean com.vdt.face_recognition.sdk.VideoWorker.isDisposed ( )
inline

Проверить освобожден ли объект.

Возвращает
true если объект освобожден, иначе false
synchronized void com.vdt.face_recognition.sdk.VideoWorker.removeMatchFoundCallback ( final int  callback_id)
inline

Удалить обработчик события распознавания (MatchFound). Потокобезопасный.

Аргументы
[in]callback_idИдентификатор коллбэка, полученный от VideoWorker.addMatchFoundCallback или VideoWorker.addMatchFoundCallbackExt.
synchronized void com.vdt.face_recognition.sdk.VideoWorker.removeStiPersonOutdatedCallback ( final int  callback_id)
inline

Удалить обработчик события StiPersonOutdated. Потокобезопасный.

Аргументы
[in]callback_idЦелочисленный идентификатор коллбэка, полученный от VideoWorker.addStiPersonOutdatedCallbackU.
synchronized void com.vdt.face_recognition.sdk.VideoWorker.removeTemplateCreatedCallback ( final int  callback_id)
inline

Удалить обработчик события создания шаблона (TemplateCreated). Потокобезопасный.

Аргументы
[in]callback_idИдентификатор коллбэка, полученный от VideoWorker.addTemplateCreatedCallback.
synchronized void com.vdt.face_recognition.sdk.VideoWorker.removeTrackingCallback ( final int  callback_id)
inline

Удалить обработчик события трекинга (Tracking). Потокобезопасный.

Аргументы
[in]callback_idИдентификатор коллбэка, полученный от VideoWorker.addTrackingCallback.
synchronized void com.vdt.face_recognition.sdk.VideoWorker.removeTrackingLostCallback ( final int  callback_id)
inline

Удалить обработчик события потери трекинга лица (TrackingLost). Потокобезопасный.

Аргументы
[in]callback_idИдентификатор коллбэка, полученный от VideoWorker.addTrackingLostCallback.
int com.vdt.face_recognition.sdk.VideoWorker.resetStream ( final int  stream_id)
inline

Сбросить состояние работы для указанного видеопотока. В процессе происходит ожидание выполняющихся в данный момент коллбэков, поэтому не синхронизируйте вызов resetStream с кодом внутри коллбэков, иначе возможен deadlock. После возврата управления от resetStream не будет вызвано ни одного коллбэка, относящегося к предыдущим кадрам или трекам. Необходимо освободить память, выделенную для треков, track_id которых меньше возвращенного значения, так как для треков, удаленных в процессе этого сброса, TrackingLost коллбэк вызван не будет. Потокобезопасный.

Аргументы
[in]stream_idЦелочисленный идентификатор видеопотока (0 <= stream_id < streams_count).
Возвращает
Целое число track_id_threshold, означающее, что все удаленные в ходе resetStream треки имели track_id < track_id_threshold, а все новые треки будут иметь track_id >= track_id_threshold.
void com.vdt.face_recognition.sdk.VideoWorker.resetTrackerOnStream ( final int  stream_id)
inline

Сбросить состояние трекера для указанного видеопотока. Потокобезопасный.

Аргументы
[in]stream_idЦелочисленный идентификатор видеопотока (0 <= stream_id < streams_count).
void com.vdt.face_recognition.sdk.VideoWorker.setDatabase ( final Vector< DatabaseElement elements,
final Recognizer.SearchAccelerationType  acceleration 
)
inline

Задать / заменить базу (можно вызывать в любое время). Доступно только при ненулевом количестве потоков сравнения (matching_threads_count). Потокобезопасный.

Аргументы
[in]elementsВектор элементов базы.
[in]accelerationТип ускорения поиска.