Распознавание автомобилей и их атрибутов
FindFace Multi позволяет распознавать отдельные автомобили и их атрибуты.
Атрибуты автомобилей следующие:
номерной знак (для отдельных стран),
цвет,
марка,
модель,
тип кузова,
принадлежность к специальному транспорту (полиция, скорая помощь, спасательные службы, такси).
Важно
Распознавание отдельных автомобилей является экспериментальной функцией. Поэтому для того чтобы улучшить качество распознавания, мы настоятельно рекомендуем вам включить дополнительный анализ атрибутов. В этом случае система будет сравнивать не только векторы признаков двух автомобилей, но также их атрибуты, такие как цвет, тип кузова, марка, модель, принадлежность к специальному транспорту. Вывод о совпадении автомобилей будет делаться только в том случае, если совпадают как векторы признаков, так и атрибуты автомобилей.
Подробное описание того, как включить дополнительный анализ атрибутов, вы найдете в пошаговой инструкции ниже.
Для включения распознавания автомобилей и их атрибутов выполните следующие действия:
В файле конфигурации
/etc/findface-extraction-api.iniукажите модели нейронных сетей для распознавания объектов типа автомобиль и их атрибутов. Выполните следующие действия:Важно
Удостоверьтесь, что для каждой модели вы указали правильный тип ускорения CPU или GPU: он должен совпадать с типом ускорения
findface-extraction-api. Обратите внимание, чтоfindface-extraction-apiна CPU может работать только с CPU-моделями, в то время какfindface-extraction-apiна GPU поддерживает как GPU-, так и CPU-модели.Откройте файл конфигурации
/etc/findface-extraction-api.ini.sudo vi /etc/findface-extraction-api.ini
Укажите модель детектора автомобилей в разделе
detectors -> models, вставив следующий код:GPU
detectors: ... models: ... efreitor: aliases: - car model: cadet/efreitor.gpu.fnk options: min_object_size: 32 resolutions: [256x256, 384x384, 512x512, 768x768, 1024x1024, 1536x1536, 2048x2048] ...
CPU
detectors: ... models: ... efreitor: aliases: - car model: cadet/efreitor.cpu.fnk options: min_object_size: 32 resolutions: [256x256, 384x384, 512x512, 768x768, 1024x1024, 1536x1536, 2048x2048] ...
Укажите модели для экстракции векторов признаков в разделе
extractors -> models, в зависимости от необходимых экстракторов:GPU
extractors: ... models: car_color: '' car_description: carattr/description.v0.gpu.fnk car_emben: carrec/alonso.gpu.fnk car_license_plate: carattr/carattr.license_plate.v4.gpu.fnk car_license_plate_quality: carattr/carattr.license_plate_quality.v0.gpu.fnk car_make: '' car_quality: carattr/carattr.quality.v0.gpu.fnk car_special_types: carattr/carattr.special_types.v0.gpu.fnk
CPU
extractors: ... models: car_color: '' car_description: carattr/description.v0.cpu.fnk car_emben: carrec/alonso.cpu.fnk car_license_plate: carattr/carattr.license_plate.v4.cpu.fnk car_license_plate_quality: carattr/carattr.license_plate_quality.v0.cpu.fnk car_make: '' car_quality: carattr/carattr.quality.v0.cpu.fnk car_special_types: carattr/carattr.special_types.v0.cpu.fnk
Доступны следующие экстракторы:
Экстрактор
Настройка
отдельный объект типа автомобиль
car_emben: carrec/alonso.cpu.fnkcar_emben: carrec/alonso.gpu.fnkномерной знак
car_license_plate: carattr/carattr.license_plate.v4.cpu.fnkcar_license_plate_quality: carattr/carattr.license_plate_quality.v0.cpu.fnkcar_license_plate: carattr/carattr.license_plate.v4.gpu.fnkcar_license_plate_quality: carattr/carattr.license_plate_quality.v0.gpu.fnkнабор атрибутов: марка / цвет / модель / тип кузова
car_description: carattr/description.v0.cpu.fnkcar_description: carattr/description.v0.gpu.fnkкачество изображения автомобиля
car_quality: carattr/carattr.quality.v0.cpu.fnkcar_quality: carattr/carattr.quality.v0.gpu.fnkспецтранспорт
car_special_types: carattr/carattr.special_types.v0.cpu.fnkcar_special_types: carattr/carattr.special_types.v0.gpu.fnkСовет
Для того чтобы отключить модель, передайте в соответствующий параметр пустое значение. Не удаляйте сам параметр, поскольку в этом случае будет выполняться поиск модели по умолчанию.
extractors: ... models: car_color: "" car_description: "" car_emben: "" car_license_plate: "" car_license_plate_quality: "" car_make: "" car_quality: "" car_special_types: ""
Укажите нормализаторы, необходимые для работы экстракторов, заданных на предыдущем шаге. Например, если вам требуется настроить распознавание автомобильных номеров, укажите нормализатор
carlicplate.Нормализатор
Модель нормализатора
Используется для экстракторов
carlicplate
carnorm/anaferon.v3.gpu.fnkcarnorm/anaferon.v3.cpu.fnkcar_license_platecropbbox
facenorm/cropbbox.v2.gpu.fnkfacenorm/cropbbox.v2.cpu.fnkcar_license_plate_quality,car_description,car_quality,car_special_typesGPU
normalizers: ... models: carlicplate: model: carnorm/anaferon.v3.gpu.fnk ... cropbbox: model: facenorm/cropbbox.v2.gpu.fnk
CPU
normalizers: ... models: carlicplate: model: carnorm/anaferon.v3.cpu.fnk ... cropbbox: model: facenorm/cropbbox.v2.cpu.fnk
Убедитесь, что раздел
objects -> carсодержитquality_attribute: car_quality: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
Перезапустите
findface-extraction-api.sudo systemctl restart findface-extraction-api
Внесите изменения в файл конфигурации
/etc/findface-video-worker-gpu.ini(/etc/findface-video-worker-cpu.ini). В разделеcarукажите модели нейронных сетей по аналогии с примером ниже. Перезапуститеfindface-video-worker-gpu(findface-video-worker-cpu).GPU
sudo vi /etc/findface-video-worker-gpu.ini #------------------------------ [car] #------------------------------ ## detector param ## type:number env:CFG_CAR_MIN_SIZE longopt:--car-min-size min_size = 60 ## path to car detector ## type:string env:CFG_CAR_DETECTOR longopt:--car-detector detector = /usr/share/findface-data/models/cadet/efreitor.gpu.fnk ## path to normalizer (usually crop2x) ## type:string env:CFG_CAR_NORM longopt:--car-norm norm = /usr/share/findface-data/models/facenorm/cropbbox.v2.gpu.fnk ## path to car quality extractor ## type:string env:CFG_CAR_QUALITY longopt:--car-quality quality = /usr/share/findface-data/models/carattr/carattr.quality.v0.gpu.fnk ## path to car quality normalizer ## type:string env:CFG_CAR_NORM_QUALITY longopt:--car-norm-quality norm_quality = /usr/share/findface-data/models/facenorm/cropbbox.v2.gpu.fnk ## path to car track features extractor ## type:string env:CFG_CAR_TRACK_FEATURES longopt:--car-track-features track_features = ## path to car track features normalizer ## type:string env:CFG_CAR_TRACK_FEATURES_NORM longopt:--car-track-features-norm track_features_norm =
sudo systemctl restart findface-video-worker-gpu.service
CPU
sudo vi /etc/findface-video-worker-cpu.ini #------------------------------ [car] #------------------------------ ## detector param ## type:number env:CFG_CAR_MIN_SIZE longopt:--car-min-size min_size = 60 ## path to car detector ## type:string env:CFG_CAR_DETECTOR longopt:--car-detector detector = /usr/share/findface-data/models/cadet/efreitor.cpu.fnk ## path to normalizer (usually crop2x) ## type:string env:CFG_CAR_NORM longopt:--car-norm norm = /usr/share/findface-data/models/facenorm/cropbbox.v2.cpu.fnk ## path to car quality extractor ## type:string env:CFG_CAR_QUALITY longopt:--car-quality quality = /usr/share/findface-data/models/carattr/carattr.quality.v0.cpu.fnk ## path to car quality normalizer ## type:string env:CFG_CAR_NORM_QUALITY longopt:--car-norm-quality norm_quality = /usr/share/findface-data/models/facenorm/cropbbox.v2.cpu.fnk
sudo systemctl restart findface-video-worker-cpu.service
Откройте файл конфигурации
/etc/findface-video-manager.confи убедитесь, что он содержит разделcarвdetectors, аналогичный приведенному ниже.Совет
В качестве эталонного значения параметра
filter_min_qualityможно взять значение параметраMINIMUM_CAR_QUALITYиз файла конфигурации/etc/findface-security/config.py.sudo vi /etc/findface-video-manager.conf detectors: ... car: filter_min_quality: 0.65 filter_min_size: 1 filter_max_size: 8192 roi: "" fullframe_crop_rot: false fullframe_use_png: false jpeg_quality: 95 overall_only: false 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
Включите распознавание автомобилей и атрибутов автомобилей в файле конфигурации
/etc/findface-security/config.py. Выполните следующие действия:В разделе
FFSECURITYустановите'ENABLE_CARS': True.sudo vi /etc/findface-security/config.py FFSECURITY = { ... # optional objects to detect 'ENABLE_CARS': True, ...
В том же разделе укажите атрибуты автомобилей, которые требуется отображать в событиях распознавания.
# available features are: description, license_plate, special_vehicle_type 'CAR_EVENTS_FEATURES': ['description', 'license_plate', 'special_vehicle_type'],
Для того чтобы улучшить качество распознавания отдельных автомобилей, мы настоятельно рекомендуем вам включить дополнительный анализ атрибутов. В этом случае система будет сравнивать не только векторы признаков двух автомобилей, но и атрибуты автомобилей. Вывод о совпадении автомобилей будет делаться только в том случае, если совпадают как векторы признаков, так и атрибуты.
Для дополнительного анализа вы можете использовать следующие атрибуты:
color: цвет автомобиля,body: тип кузова,make: марка,model: модель,special_vehicle_type: принадлежность к специальному транспорту.
Для того чтобы включить дополнительный анализ атрибутов, установите
Trueв разделеFFSECURITY->EXTRA_CAR_MATCHINGдля атрибутов, которые вы хотите сравнивать.FFSECURITY = { # use additional features for extra confidence when matching cars by emben 'EXTRA_CAR_MATCHING': { 'color': {'enabled': False, 'min_confidence': 0}, 'body': {'enabled': False, 'min_confidence': 0}, 'make': {'enabled': False, 'min_confidence': 0}, 'model': {'enabled': False, 'min_confidence': 0}, 'special_vehicle_type': {'enabled': False, 'min_confidence': 0} },
Важно
Для того чтобы анализ атрибутов работал, в файлах конфигурации
/etc/findface-extraction-api.iniи/etc/findface-security/config.pyдолжна быть включена модельdescription(см. выше).Примечание
Включение дополнительного анализа атрибутов уменьшает количество ложноположительных срабатываний, однако могут быть пропущены также некоторые реальные совпадения.
Предупреждение
Не меняйте значения по умолчанию, установленные для
min_confidence, без предварительной консультации с нашими техническими специалистами (support@ntechlab.com).Перезапустите сервис
findface-security.sudo systemctl restart findface-security.service