DLib: train_shape_predictor_ex.cpp
Я пытаюсь обучить предиктору формы Dlib, выполнив http://dlib.net/train_shape_predictor_ex.cpp.html для набора данных helen, как описано в коде. Я помещаю тестовые изображения в папку лица в текущем каталоге предиктора формы. Но когда я запускаю код, он выдает следующее исключение:
C:\train_shape_predictor_ex\Release>train_shape_predictor_ex test
exception thrown!
ERROR: unable to open test/training_with_face_landmarks.xml for reading.
как нет training_with_face_landmarks.xml
а также testing_with_face_landmarks.xml
файлы доступны в наборе данных helen на следующей странице: ссылка
Существует папка с именем annotation, которая содержит один текстовый файл, содержащий местоположение 194 точек ориентира для каждого изображения в наборе данных. Как конвертировать этот файл в training_with_face_landmarks.xml
,
2 ответа
Откройте файл training_with_face_landmarks.xml и просмотрите его структуру.
Теперь спросите себя:
- Что меняется между файлами? (подсказка: данные точки)
- Что остается прежним? (подсказка: общая "верхняя часть и хвост котла")
Откройте данные HELEN - спросите то же самое снова...
Теперь ваша задача - проанализировать данные из набора HELEN во временную структуру данных / переменную, а затем записать их в файл со всеми необходимыми параметрами top и tail. Это будет клудж и, вероятно, раздражает писать с помощью циклов внутри циклов внутри циклов и т. Д., Но вы получите это.
'C++ I / O Streams' в качестве строки поиска поможет вам начать.
Я создал training_with_face_landmarks.xml для тренировочных образов Елены (часть 1, 2, 3 и 4) из 2000 изображений.
Ссылка для скачивания: https://www.dropbox.com/s/jk98moqm8vopp5b/training_with_face_landmarks_2000.zip?dl=0
шаги:
- Загрузить Изображения поездов - часть 1, Изображения поездов - часть 2, Изображения поездов - часть 3 и Изображения поездов - часть 4 с http://www.ifp.illinois.edu/~vuongle2/helen/. (каждая часть имеет 500 изображений, итого 2000 изображений)
- Поместите все изображения и training_with_face_landmarks.xml в общую папку (например, имя папки "train").
В проекте train_shape_predictor_ex.cpp закомментируйте эти разделы / строки
а. Ссылка на testing_with_face_landmarks.xml и его использование b. тренер set_oversampling_amount(100) в. тренер set_nu(0,05) d. тренер set_tree_depth(3)
- Установить аргумент командной строки как./train
- Запустить проект
- Он будет генерировать sp.dat размером около 178 МБ (примерно 2 часа на моем ноутбуке)
- Используйте этот файл sp.dat в проекте face_landmark_detection_ex Командная строка Пример: sp.dat Example_image.jpg
- В face_landmark_detection_ex.cpp, a. В цикле из 194 вызовите функцию draw_solid_circle b. используя функцию save_png, сохраните вывод ориентира в виде файла.
Наслаждаться:)
С уважением Гопи. J