由于实验的图片是黑白相机拍摄,是灰度图,在训练的时候看到第一层默认的输入通道是三,想着把三通道改成一通道会更好一些。实际效果减少了2000多参数,不过性能没什么变化。
第一步,首先在train.py 创建模型的地方,将ch改为1
在utils/datasets.py中读入图片使用cv2.imread(f),此处默认将图片以bgr格式打开,一开始在这里加入IMREAD_GRAYSCALE可以改灰度图,但是后续的转hsv空间就无法进行了,因此这里不改动。
第二步,思路是bgr格式读入图片,转hsv空间后,再转为灰度图,此处该格式,同时由于灰度图维度默认是h,w,因此扩充维度至h,w,c
第三步,返回值torch.from_numpy(img)会报错有负索引,在img后加入.copy()即可,训练是可以开始了,后续跑一跑看看有没有问题。