Пакетная загрузка фотографий через консоль

Помимо веб-интерфейса, для пакетной загрузки фотографий в базу данных досье можно использовать поставляемую вместе с FindFace Security утилиту findface-security-uploader. Используйте утилиту, когда требуется загрузить большое количество фотографий (более 10000).

Выполните следующие действия:

  1. Подготовьте CSV- или TSV-файл со списком фотографий и метаданными.

    Важно

    В качестве источника метаданных файл должен иметь следующий формат: путь к фотографии | метаданные.

    Для подготовки TSV-файла можно использовать скрипт, аналогичный данному или команду find.

    Примечание

    Как скрипт, так и команда в примерах создают файл images.tsv с данными в формате полный путь к файлу с фотографией | метаданные. В качестве метаданных будет создана строка с именем файла.

    Для запуска скрипта на создание TSV-файла со списком фотографий из указанного каталога (/home/user/25_celeb/ в примере) выполните следующую команду:

    python3 tsv_builder.py /home/user/25_celeb/
    

    Пример использования команды find:

    find photos/ -type f -iname '*g' | while read x; do y="${x%.*}"; printf "%s\t%s\n" "$x" "${y##*/}"; done
    
  2. Создайте файл задания (job-файл) из CSV- или TSV-файла, используя метод add утилиты.

    findface-security-uploader add images.tsv
    

    Опции add:

    • --format: формат файла, по умолчанию tsv,
    • --delimiter: используемый разделитель, по умолчанию "\t" для TSV-файла, "," для формата CSV.

    Примечание

    Файл job представляет собой sqlite-базу, которая может быть открыта в консоли sqlite3.

  3. Выполните задание job, используя метод run утилиты.

    findface-security-uploader run --dossier-lists 2 --api http://127.0.0.1:80 --user admin --password password
    

    Опции run:

    • --parallel: количество потоков загрузки фотографий, по умолчанию 10. Чем больше потоков, тем быстрее будет завершена загрузка, однако также потребуется и большее количество ресурсов.
    • --api: URL API компонента findface-security, по умолчанию http://127.0.0.1:80/.
    • --user: имя пользователя.
    • --password: пароль.
    • --dossier-lists: перечень разделенных запятой id списков наблюдения, в которые нужно добавить фотографии.
    • --failed: в случае неудачи при обработке job-файла исправьте ошибку и повторите попытку с данной опцией.