Пользовательские метаданные в 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.
См.также
Для создания пользовательских вкладов, полей и фильтров в карточках см. Пользовательские вкладки, поля и фильтры в карточке.