Ultra-Fast-Lane-Detection
Ultra-Fast-Lane-Detection copied to clipboard
一些关于demo 的疑问
您好,非常感谢您的及时回复,在demo的文件中,有几处特别有意思的地方想向您请教一下:
idx = np.arange(cfg.griding_num) + 1
idx = idx.reshape(-1, 1, 1)
loc = np.sum(prob * idx, axis=0)
out_j = np.argmax(out_j, axis=0)
loc[out_j == cfg.griding_num] = 0
out_j = loc
# import pdb; pdb.set_trace()
vis = cv2.imread(os.path.join(cfg.data_root,names[0]))
for i in range(out_j.shape[1]):
if np.sum(out_j[:, i] != 0) > 2:
for k in range(out_j.shape[0]):
if out_j[k, i] > 0:
ppp = (int(out_j[k, i] * col_sample_w * img_w / 800) - 1, int(img_h * (row_anchor[cls_num_per_lane-1-k]/288)) - 1 )
cv2.circle(vis,ppp,5,(0,255,0),-1)
vout.write(vis)
1.在这里的idx是从1开始的,这里+1是为了后续的尺度变换避开0值吗? 2.在ppp的坐标这里,最后都会-1, 这里-1的操作是为了什么呢 非常感谢您的解答,提前谢谢啦
@ccblublu 抱歉没有及时回复,其实idx从0开始还是从1开始区别都不大,这个只是说0开始的话就相当于以每个分类格子的左边缘作为这个格子的位置,1开始相当于每个分类格子的右边缘作为格子的位置。最好的话应该是0.5比较合适,相对于在分类格子的中心。
第二个+1和-1是坐标从0开始还是从1开始的区别,如果从0开始,那么范围就是[0, n-1], n是宽或高。如果从1开始,那就是[1,n].
第二个问题中,怎么判断是从0开始还是从1开始呢?