Распознавание транспортных средств и их атрибутов
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.v3.gpu.fnkcarnorm/carnorm.briacon.v3.cpu.fnkcar_license_platecropbbox
facenorm/cropbbox.v2.gpu.fnkfacenorm/cropbbox.v2.cpu.fnkcar_license_plate_quality,car_description,car_quality,car_special_types12,car_categories,car_orientation,car_weight_types7GPU
normalizers: ... models: ... carlicplate: model: carnorm/carnorm.briacon.v3.gpu.fnk ... cropbbox: model: facenorm/cropbbox.v2.gpu.fnk ...
CPU
normalizers: ... models: ... carlicplate: model: carnorm/carnorm.briacon.v3.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.v10.gpu.fnk car_license_plate_quality: default: model: carattr/carattr.license_plate_quality.v4.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.v10.cpu.fnk car_license_plate_quality: default: model: carattr/carattr.license_plate_quality.v4.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.fnkcar_emben: carrec/bottas.gpu.fnkномерной знак
car_license_plate: carattr/carattr.license_plate.v10.cpu.fnkcar_license_plate_quality: carattr/carattr.license_plate_quality.v4.cpu.fnkcar_license_plate: carattr/carattr.license_plate.v10.gpu.fnkcar_license_plate_quality: carattr/carattr.license_plate_quality.v4.gpu.fnkнабор атрибутов: марка / цвет / модель / тип кузова
car_description: carattr/carattr.description.v1.cpu.fnkcar_description: carattr/carattr.description.v1.gpu.fnkкачество изображения ТС
car_quality: carattr/carattr.quality.v1.cpu.fnkcar_quality: carattr/carattr.quality.v1.gpu.fnkспецтранспорт
car_special_types: carattr/carattr.special_types12.v0.cpu.fnkcar_special_types: carattr/carattr.special_types12.v0.gpu.fnkкатегория ТС
car_categories: carattr/carattr.categories.v1.cpu.fnkcar_categories: carattr/carattr.categories.v1.gpu.fnkтип ТС по весу и размеру кузова
car_weight_types7: carattr/carattr.weight_types7.v0.cpu.fnkcar_weight_types7: carattr/carattr.weight_types7.v0.gpu.fnkракурс ТС
car_orientation: carattr/carattr.orientation.v0.cpu.fnkcar_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
В веб-интерфейсе перейдите на вкладку Источники видео. Выберите камеру на вкладке Камеры (либо загруженный файл на вкладке Загрузки, либо внешний детектор на соответствующей вкладке). Перейдите на вкладку Основные. Поставьте флажок ТС в разделе Детекторы.