Распознавание автомобилей и их атрибутов
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.fnk
car_emben: carrec/alonso.gpu.fnk
номерной знак
car_license_plate: carattr/carattr.license_plate.v4.cpu.fnk
car_license_plate_quality: carattr/carattr.license_plate_quality.v0.cpu.fnk
car_license_plate: carattr/carattr.license_plate.v4.gpu.fnk
car_license_plate_quality: carattr/carattr.license_plate_quality.v0.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_types.v0.cpu.fnk
car_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.fnk
carnorm/anaferon.v3.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_types
GPU
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