Пользовательские метаданные в Tarantool
Часто бывает необходимо присвоить дополнительные метаданные объектам, извлеченным из загруженных в картотеку изображений и теперь хранящимся в базе данных векторов признаков.
В этом разделе:
Настройка метаполей для лиц
Для присвоения пользовательских метаданных лицам выполните следующие действия:
Подготовьте список пользовательских метаполей, которые будут присвоены лицам.
Откройте файл конфигурации
/etc/findface-security/config.py
.sudo vi /etc/findface-security/config.py
В разделе
FFSECURITY
раскомментируйте секциюCUSTOM_FIELDS
->face_object
и измените ее примерное содержимое с учетом следующих правил:field_name
: имя поля;type
: тип данных;default
: значение по умолчанию. Если значение по умолчанию больше ‘1e14 – 1’, то его следует записывать в виде строки, т. е.“123123..”
вместо123123..
.
FFSECURITY = { ... # -- Custom model fields -- ... # Edit CUSTOM_FIELDS -> `face_object` section to customize face object fields. ... # 'CUSTOM_FIELDS': { ... 'face_object': { 'items': [ { "field_name": "tag_name_1", "type": "string", "default": "change_me" }, { "field_name": "tag_name_2", "type": "uint", "default": 123 }, { "field_name": "tag_name_3", "type": "bool", "default": True }, ] } }, }
Добавьте новые метаполя в структуру базы данных векторов признаков.
Перезапустите сервис
findface-security
.sudo systemctl restart findface-security.service
Вы можете работать с новыми метаполями через HTTP API, используя методы
objects/faces/
.
Настройка метаполей для силуэтов и автомобилей
Назначение пользовательских метаполей силуэтам и автомобилям выполняется по аналогии с лицами. Единственное отличие состоит в том, что вам потребуется вручную создать разделы CUSTOM_FIELDS
-> body_object
и CUSTOM_FIELDS
-> car_object
. Рекомендуется продублировать раздел CUSTOM_FIELDS
-> face_object
и использовать дубликат в качестве отправной точки для дальнейших изменений.
FFSECURITY = {
...
# -- Custom model fields --
...
# Edit CUSTOM_FIELDS -> `face_object` section to customize face object fields.
...
# 'CUSTOM_FIELDS': {
...
'body_object': {
'items': [
{
"field_name": "tag_name_1",
"type": "string",
"default": "change_me"
},
{
"field_name": "tag_name_2",
"type": "uint",
"default": 123
},
{
"field_name": "tag_name_3",
"type": "bool",
"default": True
},
]
}
'car_object': {
'items': [
{
"field_name": "tag_name_1",
"type": "string",
"default": "change_me"
},
{
"field_name": "tag_name_2",
"type": "uint",
"default": 123
},
{
"field_name": "tag_name_3",
"type": "bool",
"default": True
},
]
}
},
}
Аналогично, вы можете работать с новыми метаполями, используя методы objects/bodies/
и objects/cars/
HTTP API.
См.также
Для создания пользовательских вкладов, полей и фильтров в карточках см. Пользовательские вкладки, поля и фильтры в карточке.