Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
3.8k views
in Technique[技术] by (71.8m points)

tensorflow模型输入要求图片是正方形的问题

我正在使用一个开源的tensorflow模型,他的输入节点是[1,256,256,3]的三通道正方形图片,如果输入图片不是正方形,应该如何调整呢?
我能想到的几种方式:
1.将图片拉伸到正方形尺寸
2.将图片放在一个正方形中,正方形留白部分设置纯色,黑色或者白色,这也是我不理解的地方,纯色设置什么颜色对结果影响较小?
3.和2差不多,但是不居中,将图片上对齐

我在使用的模型demo中,官方好像使用了1(因为我只是尝试使用,也不具备对模型内原理的理解,所以这里是好像),他在输入前执行了这段:
img_resized = tf.image.resize(img, [width, height], method='bicubic', preserve_aspect_ratio=False)
其中width,height都是256,输入图片img是个非正方形图片。

我想问下,对于模型输入要求是正方形的,应该采用哪种方式?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

1的话,有可能改变原来的空间特征。比如你一张人脸图,拉伸后鼻子可能更眼睛水平。
2,3感觉安全点,纯色尽量选和原图片差异大的。比如原图是黑的,补齐就用白的。
直觉是这个样,具体你可以不同方法试试看效果有啥差异。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...