Распознавание транспортных средств и их атрибутов
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/car.gustav_accurate.006.gpu.fnk options: min_object_size: 32 resolutions: - 256x256 - 384x384 - 512x512 - 768x768 - 1024x1024 - 1536x1536 - 2048x2048 ...
CPU
detectors: ... models: ... gustav: aliases: - car - efreitor model: detector/car.gustav_accurate.006.cpu.fnk options: min_object_size: 32 resolutions: - 256x256 - 384x384 - 512x512 - 768x768 - 1024x1024 - 1536x1536 - 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/briacon.v0.gpu.fnk
carnorm/briacon.v0.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_types11
,car_categories
,car_orientation
,car_weight_types7
GPU
normalizers: ... models: ... carlicplate: model: carnorm/briacon.v0.gpu.fnk ... cropbbox: model: facenorm/cropbbox.v2.gpu.fnk ...
CPU
normalizers: ... models: ... carlicplate: model: carnorm/briacon.v0.cpu.fnk ... cropbbox: model: facenorm/cropbbox.v2.cpu.fnk ...
Укажите модели необходимых экстракторов в разделе
extractors -> models
:GPU
extractors: ... models: car_categories: carattr/carattr.categories.v0.gpu.fnk car_color: '' car_container_number: '' car_description: carattr/description.v0.gpu.fnk car_emben: carrec/bottas.gpu.fnk car_license_plate: carattr/carattr.license_plate.v7.gpu.fnk car_license_plate_quality: carattr/carattr.license_plate_quality.v1.gpu.fnk car_license_plate_visibility: '' car_make: '' car_orientation: carattr/carattr.orientation.v0.gpu.fnk car_quality: carattr/carattr.quality.v0.gpu.fnk car_special_types: '' car_special_types11: carattr/carattr.special_types11.v1.gpu.fnk car_trash: '' car_weight_types7: carattr/carattr.weight_types7.v0.gpu.fnk
CPU
extractors: ... models: car_categories: carattr/carattr.categories.v0.cpu.fnk car_color: '' car_container_number: '' car_description: carattr/description.v0.cpu.fnk car_emben: carrec/bottas.cpu.fnk car_license_plate: carattr/carattr.license_plate.v7.cpu.fnk car_license_plate_quality: carattr/carattr.license_plate_quality.v1.cpu.fnk car_license_plate_visibility: '' car_make: '' car_orientation: carattr/carattr.orientation.v0.cpu.fnk car_quality: carattr/carattr.quality.v0.cpu.fnk car_special_types: '' car_special_types11: carattr/carattr.special_types11.v1.cpu.fnk car_trash: '' car_weight_types7: 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.v7.cpu.fnk
car_license_plate_quality: carattr/carattr.license_plate_quality.v1.cpu.fnk
car_license_plate: carattr/carattr.license_plate.v7.gpu.fnk
car_license_plate_quality: carattr/carattr.license_plate_quality.v1.gpu.fnk
набор атрибутов: марка / цвет / модель / тип кузова
car_description: carattr/description.v0.cpu.fnk
car_description: carattr/description.v0.gpu.fnk
качество изображения ТС
car_quality: carattr/carattr.quality.v0.cpu.fnk
car_quality: carattr/carattr.quality.v0.gpu.fnk
спецтранспорт
car_special_types: carattr/carattr.special_types11.v1.cpu.fnk
car_special_types: carattr/carattr.special_types11.v1.gpu.fnk
категория ТС
car_categories: carattr/carattr.categories.v0.cpu.fnk
car_categories: carattr/carattr.categories.v0.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
Совет
Для того чтобы отключить модель, передайте в соответствующий параметр пустое значение. Не удаляйте сам параметр, поскольку в этом случае будет выполняться поиск модели по умолчанию.
extractors: ... models: car_categories: '' car_color: '' car_container_number: '' car_description: '' car_emben: '' car_license_plate: '' car_license_plate_quality: '' car_license_plate_visibility: '' car_make: '' car_orientation: '' car_quality: '' car_special_types: '' car_special_types11: '' car_trash: '' car_weight_types7: ''
Перезапустите контейнер
findface-multi-findface-extraction-api-1
.sudo docker container restart findface-multi-findface-extraction-api-1
Внесите изменения в конфигурационный файл
/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.004.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.v0.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.004.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.v0.cpu.fnk normalizer: car_norm_quality
Убедитесь, что добавлен раздел
objects -> car
:objects: ... car: normalizer: car_norm quality: car_quality track_features: ''
Перезапустите контейнер
findface-multi-findface-video-worker-1
.sudo docker container restart findface-multi-findface-video-worker-1
Откройте файл конфигурации
/opt/findface-multi/configs/findface-video-manager/findface-video-manager.yaml
и убедитесь, что он содержит разделcar
вdetectors
, аналогичный приведенному ниже. Обратите внимание, что для параметраfilter_min_quality
по умолчанию установлено значение0.65
. Для получения более точных результатов с камер и других источников видео его можно увеличить. Рекомендованный порог равен0.73
.sudo vi /opt/findface-multi/configs/findface-video-manager/findface-video-manager.yaml detectors: ... car: filter_min_quality: 0.65 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_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.65
, что является рекомендуемым минимальным порогом качества изображения автомобиля, достаточным для создания карточки или для подсчета.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.65, # model: [carattr.quality.v0] ...
Если нужны более точные результаты подсчета или карточки автомобилей с изображениями лучшего качества, порог
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
В веб-интерфейсе перейдите на вкладку Источники видео. Выберите камеру на вкладке Камеры (либо загруженный файл на вкладке Загрузки, либо внешний детектор на соответствующей вкладке). Перейдите на вкладку Основные. Поставьте флажок ТС в разделе Детекторы.