widerface.py中的数据清洗代码没看懂
来源:6-17 数据清洗与数据打包-实操(2)

慕无忌7596857
2021-05-19
##保留resize到640×640 尺寸在8×8以上的人脸
if infos[2] * 80 < im_data.shape[1] or infos[3] * 80 < im_data.shape[0]:
continue
bbox = (infos[0] + off_w, infos[1] + off_h, infos[2], infos[3])
老师,这一段widerface中数据清洗代码视频中没有讲解,就是为什么能到640,为什么又是8×8了,没看懂代码。
##需要注意的一点是,图片直接经过resize之后,会存在更多的长宽比例,所以我们直接加pad
sc = max(im_data.shape)
im_data_tmp = numpy.zeros([sc, sc, 3], dtype=numpy.uint8)
off_w = (sc - im_data.shape[1]) // 2
off_h = (sc - im_data.shape[0]) // 2
##对图片进行周围填充,填充为正方形
im_data_tmp[off_h:im_data.shape[0]+off_h, off_w:im_data.shape[1]+off_w, ...] = im_data
im_data = im_data_tmp
老师,这两小段widerface.py里的代码我也没看懂
写回答
1回答
-
会写代码的好厨师
2021-05-22
第一代码的意思就是把图片放大到640×640以后,图片中的人脸框也会发生相应的变化,然后,我们只取8×8以上尺寸的框来训练,太小的人脸就不要了。
第二段,选择长边来作为输出正方形的尺寸,然后,短边进行pad,把矩形pad为正方形,防止拉伸。00
相似问题