Я запустил фрейм через передачу нейронного стиля с MobileSSD.
Вот картина проблемы, с которой я сталкиваюсь, средняя - та, которая производит странные блики:
Чтобы выполнить прямое распространение с MobileSSD, вы должны нормализовать подобные данные:
(h, w) = noise_picture.shape[:2]
blob2 = cv2.dnn.blobFromImage(noise_picture, 1.0, (w, h), (103.939, 116.779, 123.680), swapRB=False, crop=False)
NTSnet.setInput(blob2)
output = NTSnet.forward()
output = output.reshape((3, output.shape[2], output.shape[3]))
output[0] += 103.939
output[1] += 116.779
output[2] += 123.680
output /= 255.0
output = output.transpose(1,2,0)
Странная вещь в том, что если бы я показал эту выходную вещь, которая делится на 255 (и, следовательно, между [0,1], она покажет самую правую картинку на моих 3 рисунках. Но если я добавлю ее к смоляному черному изображению с:
black_background[startY:endY, startX:endX] = output
И если я покажу black_background, это не сработает, хотя диапазон значений также должен быть [0,1]. Тем не менее, когда я делаю
black_background[startY:endY, startX:endX] = output * 255
Что нормализует данные (поправьте меня, если я ошибаюсь). Это работает, но показывает среднюю картинку со странным взглядом, какие-нибудь идеи? Заранее спасибо.