Распознавание транспортных средств и их атрибутов
FindFace Multi может распознавать отдельные транспортные средства и их атрибуты.
Атрибуты ТС следующие:
номерной знак (для отдельных стран),
Примечание
Поддерживается распознавание номерных знаков для следующих стран:
Европа: Россия, Литва, Латвия, Эстония, Финляндия, Чехия, Сербия, Белоруссия, Украина, Молдавия, Грузия, Азербайджан, Армения, Турция.
Азия: ОАЭ, Казахстан, Кыргызстан, Таджикистан, Туркменистан, Узбекистан, Саудовская Аравия, Вьетнам, Индия, Пакистан, Таиланд, Китай, Япония, Монголия, Сингапур, Южная Корея, Бахрейн, Катар, Палестина.
Африка: Египет, Марокко, Тунис.
Северная Америка: Мексика.
Южная Америка: Аргентина, Бразилия, Колумбия, Перу.
цвет,
марка,
модель,
тип кузова,
категория ТС,
ракурс (вид спереди, сзади или сбоку),
принадлежность к спецтранспорту (такси, маршрутный транспорт, каршеринг, скорая помощь, полиция, спасательные службы, газоспасательные и аварийно-спасательные службы, военная техника, техника дорожных служб, автомобили службы инкассации, остальной спецтранспорт),
тип ТС по весу и размеру кузова.
Примечание
Распознавание спецтранспорта, так же как и распознавание ТС по весу и размеру кузова, работает только для некоторых стран. За дополнительной информацией обращайтесь к вашему менеджеру или в службу поддержки (support@ntechlab.com).
Распознавание транспортных средств вместе с выбором атрибутов распознавания можно настроить на уровне установки продукта. В этом разделе описывается как включить распознавание ТС и их атрибутов, если этот шаг был пропущен при установке.
Для включения распознавания транспортных средств и их атрибутов выполните следующие действия:
В файле конфигурации
/opt/findface-multi/configs/findface-extraction-api/findface-extraction-api.yaml
укажите модели нейронных сетей для распознавания транспортных средств и распознавания атрибутов транспортных средств.Важно
Удостоверьтесь, что для каждой модели вы указали правильный тип ускорения: CPU или GPU. Он должен совпадать с типом ускорения
findface-extraction-api
. Обратите внимание, чтоfindface-extraction-api
на CPU может работать только с CPU-моделями, в то время какfindface-extraction-api
на GPU поддерживает как GPU-, так и CPU-модели.Откройте файл конфигурации
findface-extraction-api.yaml
.sudo vi /opt/findface-multi/configs/findface-extraction-api/findface-extraction-api.yaml
Укажите модель детектора ТС в разделе
detectors → models
, вставив следующий код:GPU
detectors: ... models: ... gustav: aliases: - car - efreitor model: detector/cardet.kali_accurate.008.gpu.fnk options: min_object_size: 32 resolutions: - 2048x2048 ...
CPU
detectors: ... models: ... gustav: aliases: - car - efreitor model: detector/cardet.kali_accurate.008.cpu.fnk options: min_object_size: 32 resolutions: - 2048x2048 ...
Убедитесь, что раздел
objects → car
содержитquality_attribute: car_quality
и, в зависимости от вашего типа ускорения,base_normalizer: facenorm/cropbbox.v2.gpu.fnk
илиbase_normalizer: facenorm/cropbbox.v2.cpu.fnk
:GPU
objects: ... car: base_normalizer: facenorm/cropbbox.v2.gpu.fnk quality_attribute: car_quality ...
CPU
objects: ... car: base_normalizer: facenorm/cropbbox.v2.cpu.fnk quality_attribute: car_quality ...
Укажите нормализаторы, необходимые для работы экстракторов. Например, если вам требуется настроить распознавание автомобильных номеров, укажите нормализатор
carlicplate
. Для остальных экстракторов укажите нормализаторcropbbox
.Нормализатор
Модель нормализатора
Используется для экстракторов
carlicplate
carnorm/carnorm.briacon.v2.gpu.fnk
carnorm/carnorm.briacon.v2.cpu.fnk
car_license_plate
cropbbox
facenorm/cropbbox.v2.gpu.fnk
facenorm/cropbbox.v2.cpu.fnk
car_license_plate_quality
,car_description
,car_quality
,car_special_types12
,car_categories
,car_orientation
,car_weight_types7
GPU
normalizers: ... models: ... carlicplate: model: carnorm/carnorm.briacon.v2.gpu.fnk ... cropbbox: model: facenorm/cropbbox.v2.gpu.fnk ...
CPU
normalizers: ... models: ... carlicplate: model: carnorm/carnorm.briacon.v2.cpu.fnk ... cropbbox: model: facenorm/cropbbox.v2.cpu.fnk ...
Укажите модели необходимых экстракторов в разделе
extractors → models
:GPU
extractors: ... models: car_categories: default: model: carattr/carattr.categories.v1.gpu.fnk car_color: default: model: '' car_container_number: default: model: '' car_description: default: model: carattr/carattr.description.v1.gpu.fnk car_emben: default: model: carrec/bottas.gpu.fnk car_license_plate: default: model: carattr/carattr.license_plate.v9.gpu.fnk car_license_plate_quality: default: model: carattr/carattr.license_plate_quality.v3.gpu.fnk car_license_plate_visibility: default: model: '' car_make: default: model: '' car_orientation: default: model: carattr/carattr.orientation.v0.gpu.fnk car_quality: default: model: carattr/carattr.quality.v1.gpu.fnk car_special_types: default: model: '' car_special_types11: default: model: '' car_special_types12: default: model: carattr/carattr.special_types12.v0.gpu.fnk car_trash: default: model: '' car_weight_types7: default: model: carattr/carattr.weight_types7.v0.gpu.fnk
CPU
extractors: ... models: car_categories: default: model: carattr/carattr.categories.v1.cpu.fnk car_color: default: model: '' car_container_number: default: model: '' car_description: default: model: carattr/carattr.description.v1.cpu.fnk car_emben: default: model: carrec/bottas.cpu.fnk car_license_plate: default: model: carattr/carattr.license_plate.v9.cpu.fnk car_license_plate_quality: default: model: carattr/carattr.license_plate_quality.v3.cpu.fnk car_license_plate_visibility: default: model: '' car_make: default: model: '' car_orientation: default: model: carattr/carattr.orientation.v0.cpu.fnk car_quality: default: model: carattr/carattr.quality.v1.cpu.fnk car_special_types: default: model: '' car_special_types11: default: model: '' car_special_types12: default: model: carattr/carattr.special_types12.v0.cpu.fnk car_trash: default: model: '' car_weight_types7: default: model: carattr/carattr.weight_types7.v0.cpu.fnk
Доступны следующие экстракторы:
Экстрактор
Настройка
вектор признаков отдельного ТС
car_emben: carrec/bottas.cpu.fnk
car_emben: carrec/bottas.gpu.fnk
номерной знак
car_license_plate: carattr/carattr.license_plate.v9.cpu.fnk
car_license_plate_quality: carattr/carattr.license_plate_quality.v3.cpu.fnk
car_license_plate: carattr/carattr.license_plate.v9.gpu.fnk
car_license_plate_quality: carattr/carattr.license_plate_quality.v3.gpu.fnk
набор атрибутов: марка / цвет / модель / тип кузова
car_description: carattr/carattr.description.v1.cpu.fnk
car_description: carattr/carattr.description.v1.gpu.fnk
качество изображения ТС
car_quality: carattr/carattr.quality.v1.cpu.fnk
car_quality: carattr/carattr.quality.v1.gpu.fnk
спецтранспорт
car_special_types: carattr/carattr.special_types12.v0.cpu.fnk
car_special_types: carattr/carattr.special_types12.v0.gpu.fnk
категория ТС
car_categories: carattr/carattr.categories.v1.cpu.fnk
car_categories: carattr/carattr.categories.v1.gpu.fnk
тип ТС по весу и размеру кузова
car_weight_types7: carattr/carattr.weight_types7.v0.cpu.fnk
car_weight_types7: carattr/carattr.weight_types7.v0.gpu.fnk
ракурс ТС
car_orientation: carattr/carattr.orientation.v0.cpu.fnk
car_orientation: carattr/carattr.orientation.v0.gpu.fnk
Примечание
Модель распознавания специальных транспортных средств по умолчанию
carattr.special_types12
указана в параметреcar_special_types12
. Возможно, вам потребуется использовать более раннюю модель распознавания спецтранспорта. Используйте параметрcar_special_types11
для подключения моделиcarattr.special_types11.v1
или параметрcar_special_types
для подключения моделиcarattr.special_types.v0
. В файле/opt/findface-multi/configs/findface-multi-legacy/findface-multi-legacy.py
измените значение параметраCAR_SPECIAL_VEHICLE_TYPE_ATTRIBUTE
, которое по умолчанию установлено в'car_special_types12'
. Укажите включенный экстрактор распознавания специальных транспортных средств. Например, если вы включили модельcarattr.special_types11.v1
, укажите'CAR_SPECIAL_VEHICLE_TYPE_ATTRIBUTE': 'car_special_types11'
.
Внесите изменения в конфигурационный файл
/opt/findface-multi/configs/findface-video-worker/findface-video-worker.yaml
.В разделе
models
укажите модели детектора, нормализатора и экстрактора для объектаcar
, как показано в примере ниже:GPU
sudo vi /opt/findface-multi/configs/findface-video-worker/findface-video-worker.yaml models: ... detectors: ... car: fnk_path: /usr/share/findface-data/models/detector/car.gustav_normal.007.gpu.fnk min_size: 60 ... normalizers: ... car_norm: fnk_path: /usr/share/findface-data/models/facenorm/cropbbox.v2.gpu.fnk car_norm_quality: fnk_path: /usr/share/findface-data/models/facenorm/cropbbox.v2.gpu.fnk ... extractors: ... car_quality: fnk_path: /usr/share/findface-data/models/carattr/carattr.quality.v1.gpu.fnk normalizer: car_norm_quality
CPU
sudo vi /opt/findface-multi/configs/findface-video-worker/findface-video-worker.yaml models: ... detectors: ... car: fnk_path: /usr/share/findface-data/models/detector/car.gustav_normal.007.cpu.fnk min_size: 60 ... normalizers: ... car_norm: fnk_path: /usr/share/findface-data/models/facenorm/cropbbox.v2.cpu.fnk car_norm_quality: fnk_path: /usr/share/findface-data/models/facenorm/cropbbox.v2.cpu.fnk ... extractors: ... car_quality: fnk_path: /usr/share/findface-data/models/carattr/carattr.quality.v1.cpu.fnk normalizer: car_norm_quality
Убедитесь, что добавлен раздел
objects → car
:objects: ... car: normalizer: car_norm quality: car_quality track_features: ''
Откройте файл конфигурации
/opt/findface-multi/configs/findface-video-manager/findface-video-manager.yaml
и убедитесь, что он содержит разделcar
вdetectors
, аналогичный приведенному ниже. Обратите внимание, что для параметраfilter_min_quality
по умолчанию установлено значение0.6
. Для получения более точных результатов с камер и других источников видео его можно увеличить. Рекомендованный порог равен0.73
.sudo vi /opt/findface-multi/configs/findface-video-manager/findface-video-manager.yaml detectors: ... car: filter_min_quality: 0.6 filter_min_size: 100 filter_max_size: 8192 roi: '' fullframe_crop_rot: false fullframe_use_png: false jpeg_quality: 95 overall_only: true realtime_post_first_immediately: false realtime_post_interval: 1 realtime_post_every_interval: false track_interpolate_bboxes: true track_miss_interval: 1 track_overlap_threshold: 0.25 track_max_duration_frames: 0 track_send_history: false post_best_track_frame: true post_best_track_normalize: true post_first_track_frame: false post_last_track_frame: false tracker_type: simple_iou track_deep_sort_matching_threshold: 0.65 track_deep_sort_filter_unconfirmed_tracks: true track_object_is_principal: false track_history_active_track_miss_interval: 0 filter_track_min_duration_frames: 1 extractors_track_triggers: {}
Примечание
Настройка параметра
filter_min_quality
влияет только на результаты, получаемые от видеоисточников, и не влияет на результаты подсчета транспортных средств и качество изображений транспортных средств, используемых в карточках. Чтобы получить более точные результаты подсчета или карточки ТС с изображениями лучшего качества, отдельно настройте параметрMINIMUM_CAR_QUALITY
в файле конфигурацииfindface-multi-legacy.py
. Эта настройка будет описана ниже.Включите распознавание транспортных средств и атрибутов распознавания в файле конфигурации
/opt/findface-multi/configs/findface-multi-legacy/findface-multi-legacy.py
. Выполните следующие действия:В разделе
FFSECURITY
установите'ENABLE_CARS': True
.sudo vi /opt/findface-multi/configs/findface-multi-legacy/findface-multi-legacy.py FFSECURITY = { ... # optional objects to detect 'ENABLE_CARS': True, ...
В этом же разделе можно настроить параметр
MINIMUM_CAR_QUALITY
. По умолчанию для него установлено значение0.6
, что является рекомендуемым минимальным порогом качества изображения автомобиля, достаточным для создания карточки или для подсчета.FFSECURITY = { ... # minimum car quality sufficient to add it to a card and use object in counter # p.s. set this parameter equals to `0.73` for more accurate results 'MINIMUM_CAR_QUALITY': 0.6, # model: [carattr.quality.v1] ...
Если нужны более точные результаты подсчета или карточки автомобилей с изображениями лучшего качества, порог
MINIMUM_CAR_QUALITY
можно увеличить. Рекомендовано значение, равное0.73
.В разделе
FFSECURITY
укажите атрибуты ТС, которые требуется отображать в событиях распознавания.# available features are: category, description, license_plate, orientation, special_vehicle_type, weight_type 'CAR_EVENTS_FEATURES': ['license_plate', 'category', 'special_vehicle_type', 'description', 'weight_type', 'orientation'],
Выполните перезапуск контейнеров FindFace Multi.
cd /opt/findface-multi/ sudo docker-compose restart
В веб-интерфейсе перейдите на вкладку Источники видео. Выберите камеру на вкладке Камеры (либо загруженный файл на вкладке Загрузки, либо внешний детектор на соответствующей вкладке). Перейдите на вкладку Основные. Поставьте флажок ТС в разделе Детекторы.