cfzd
cfzd
@lalumayang - calc_k函数就是用来计算车道线的方向的,我们会根据这个方向对车道线给定顺序并且学习 - row anchor和col anchor的设置方式在这个地方: https://github.com/cfzd/Ultra-Fast-Lane-Detection-v2/blob/c903880678454dfd9b55a63022368db05c00bc6d/utils/common.py#L88-L96
@lalumayang 你应该不需要手动生成车道线在row和col上的坐标表示,在训练时,我们会使用`my_interp`来对车道线进行插值,得到在row和col上的表示。 https://github.com/cfzd/Ultra-Fast-Lane-Detection-v2/blob/c903880678454dfd9b55a63022368db05c00bc6d/data/dali_data.py#L246 https://github.com/cfzd/Ultra-Fast-Lane-Detection-v2/blob/c903880678454dfd9b55a63022368db05c00bc6d/data/dali_data.py#L254 在`convert_curvelanes`这个脚本中生成的表示方法实际上是通过row的方式表示的,目的是为了使得所有车道线都可以用一个定长的矩阵表示(毕竟标注中的车道线有的点多,有的点少,很难以batch的形式送进网络进行训练)。 图上的各种问题我觉得是标注质量的问题,看起来似乎标注结果本来就是不准的?
@lalumayang 抱歉回复的晚了,看起来gt是很准的,我想知道图上歪歪扭扭的点是怎么画出来的呢?是通过这个地方的`all_points`画出来的吗? https://github.com/cfzd/Ultra-Fast-Lane-Detection-v2/blob/c903880678454dfd9b55a63022368db05c00bc6d/scripts/convert_curvelanes.py#L148-L150 可以尝试一下以下的方法: - 看看生成的分割图是不是正确的 可以通过`draw(label,lines[which_lane],5-idx, show=True)`来生成分割图,上面会标注线的编号及颜色 - 看看是不是分辨率对得上 `ratio_height = rh, ratio_width = rw` - 看看生成的点集 通过`all_points`得到点集
@crossover10 这个应该是分割GT不对,分割GT应该维度是1,也就是应该是`32, 320, 800`,但上述错误提示大小为`32, 3, 320, 800`,是不是通过cv2读取的时候没有取单通道。或者你也可以用类似以下的方式只取一个通道: ``` seg_label = seg_label[:,0] ```
@umie0128 我们其实在tusimple上时没有加入分割的,culane上也没有加入分割。 如果你想做分割的实验的话,可以把target的尺寸缩小,报错中是`4x320x1600`,如果降采样8倍,那么就是`4x40x200`,正好和输入大小对上
@umie0128 我注意到这么几个问题: - 你的车道线数目好像是8条,这个是正确的吗?因为CULane上一般只有4条车道线(但其实这个应该不影响,你分割map的后几个channel应该永远不会被激活) - 用于统计训练时miou的类别数是不是没有设置正确,默认是4条车道线(4+1背景类5个分割类别) https://github.com/cfzd/Ultra-Fast-Lane-Detection-v2/blob/849fa7b90c189b646d12adc1d807bec54e982031/utils/factory.py#L74
@umie0128 我知道了,一个很简单的问题,input在送入之前要做一遍argmax把类别那个维度消掉。你要不在这个地方试试加上`predict = predict.argmax(1)` https://github.com/cfzd/Ultra-Fast-Lane-Detection-v2/blob/f666202d39aedcc624248e65dd9c0604b1c6ac8c/utils/metrics.py#L19-L20
@jackychancjcjcj 可以的,目前的网络是通过二分类器的方式判断有没有车道线,完全可以把这个二分类器扩展为多分类器来代表车道线类别。
@chenjunwen0123 batch和epoch不需要更改,学习率除以多卡倍数。比如原来是8卡0.1学习率,那么单卡就是0.1/8=0.0125
@IvyGongoogle 安卓cpu上估计速度太慢了吧,我知道有一些移植到安卓上用NPU跑的,你可以看看这个。 https://www.bilibili.com/video/BV1fy4y1h721/?spm_id_from=333.337.search-card.all.click&vd_source=bf5ed6ddd2009a04ce20a7689daa79e8