cfzd / Ultra-Fast-Lane-Detection

Ultra Fast Structure-aware Deep Lane Detection (ECCV 2020)
MIT License
1.82k stars 493 forks source link

how to generate anchor on custom data? #81

Closed lucasjinreal closed 4 years ago

lucasjinreal commented 4 years ago

I found that achor really important to get a reasonable result.

So there is the question, how to generate good anchor ? I found that even changed a little bit stride the result would effect much such as :

culane_row_anchor = [121, 131, 141, 150, 160, 170, 180, 189, 199, 209, 219, 228, 238, 248, 258, 267, 277, 287]

|

my_row_anchor = [117, 127, 137, 147, 157, 167, 177, 187, 197, 207, 217, 227, 237, 247, 257, 267, 277, 287]

the result worser

cfzd commented 4 years ago

@jinfagang Did you change the row_anchors in the evaluation correspondingly? https://github.com/cfzd/Ultra-Fast-Lane-Detection/blob/7a3b9ac4297339049122012fecf8af948fe5833d/evaluation/eval_wrapper.py#L44

lucasjinreal commented 4 years ago

@cfzd this line code I have changed it dynamic fit my anchor settings. This is not the issue. but the result is slight shifted if I using more anchors and more dense stride of anchor.

For example, if I using anchor:

[124, 128, 132, 136, 140, 144, 148, 152, 156, 160, 164,
                    168, 172, 176, 180, 184, 188, 192, 196, 200, 204, 208, 212, 216,
                    220, 224, 228, 232, 236, 240, 244, 248, 252, 256, 260, 264, 268,
                    272, 276, 280, 284]

the result seems shift in some line:

image

the reason why I want make it more dense, it's because UFLD not good at fit curve, in curve lane the result more worse than straight. I suppose more dense anchors can make the polygon more better for fit curve.

Do u have any thoughts on why it's shifted? and how to make a better anchor?

cfzd commented 4 years ago

@jinfagang Sorry for the late response. Indeed, more anchors might have better results for the curve.

But I really don't know why the lane is shifted. Could it be affected by perspective effects? The results are really confusing since the right lane is shifted to the left and the left lane is shifted to the right.

Maybe I think you can debug the process in the following places: