общем вопрос такой: у меня есть датасет с фотографиями и координатами ключевых точек. Что-то вроде выборки для обучения детектора лицевых landmark'ов.
Я перевел все координаты в диапазон [0, 1] с помощью MinMax Scaler из sklearn. Пытаюсь дообучить vgg16 на своем датасете. На валидации даёт неплохую точность (~75%). И все бы хорошо, но я не понимаю как из выхода, который мне даёт сетка, восстановить координаты. То есть я подгружаю веса в модель, делаю предикт, и сетка выдает вектор длины 4 (2 координаты) из чисел от 0 до 1 (функция активации — сигмоида).
Как мне восстановить из этих значений координаты? Я пробовал умножать координаты на ширину картинки (картинка квадратная), но выходит что-то не то. Я не очень понимаю как интерпретировать выход сети.
В чем дело? Что я неправильно делаю?
- ты уверен что минмакс скейлинг и умножение (0..1) координат на ширину/высоту - это взаимно обратные операции? - Сигмоида всегда будет давать плохие значения по краям - можно выход батчнорма подавать на сигмоиду - так оно немного отскалированнее выходит - Выкинь активацию и подавай на dense слой в конце
Обсуждают сегодня