Ultra-Fast-Lane-Detection-v2 icon indicating copy to clipboard operation
Ultra-Fast-Lane-Detection-v2 copied to clipboard

请问改变输入输入网络图片大小都需要改变什么

Open Handaphoser opened this issue 1 year ago • 6 comments

我现在在做车道线检测和目标检测联合部署,但是发现两个模型的输入需要的图片大小不一致,所以要做两次resize,图片预处理耗时比较严重,我现在希望模型检测的时候可以统一做一个resize,所以想在训练图片的时候就统一大小,比如我现在train_h等于360,train_w等于640,我发现改变train_h参数的时候模型可以训练,但是改变train_w就会报错,我想问一下我需要改什么参数才不报错。非常希望能回复我

Handaphoser avatar Mar 14 '23 12:03 Handaphoser

@Handaphoser 会报什么错呢?

cfzd avatar Mar 15 '23 08:03 cfzd

我设置了以下参数 train_width= 640#800 train_height=360 #320
train_w改变不报错,改了train_h报错 File "/media/huangzd5/handaphoser/projects/Ultra-Fast-Lane-Detection-v2-master/model/model_culane.py", line 54, in forward fea = fea.view(-1, self.input_dim) RuntimeError: shape '[-1, 1760]' is invalid for input of size 15360

Handaphoser avatar Mar 17 '23 01:03 Handaphoser

@Handaphoser 因为设置的train_height不是32的倍数,网络在下采样32倍时不是规整的网格,你可以将train_height设置为352。或者如果你就是想让train_height变为360,那么相应的计算输入维度的时候,你就需要改一下这个部分的代码:

https://github.com/cfzd/Ultra-Fast-Lane-Detection-v2/blob/849fa7b90c189b646d12adc1d807bec54e982031/model/model_culane.py#L24

cfzd avatar Mar 17 '23 03:03 cfzd

好的,非常感谢。另外还有一个问题, demo.py if valid_row[0,:,i].sum() > num_cls_row / 2: if valid_col[0,:,i].sum() > num_cls_col / 4: 为什么一个除以4.一个除以2

Handaphoser avatar Mar 17 '23 03:03 Handaphoser

@Handaphoser 这个就是一个超参,代表你想过滤掉多短的车道线,一般来说,车道线从竖直方向上来看,会占图像的一半,从水平方向来看,会占图像的1/4左右。所以就设置为了对于长度小于半个高度的车道线,或者长度小于1/4宽度的车道线,直接过滤掉。

cfzd avatar Mar 17 '23 06:03 cfzd

嗯嗯,刚才看了一下确实是这样的。谢谢答疑

Handaphoser avatar Mar 17 '23 07:03 Handaphoser