Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Should improve lane detection algorithm especially at the curvy lanes #24

Open
chi3236 opened this issue Feb 21, 2017 · 6 comments
Open

Comments

@chi3236
Copy link
Collaborator

chi3236 commented Feb 21, 2017

Our lane detection code does not work properly at the very curvy lanes like highway entrance or exit.
I'm reading some papers which can improve our lane detection algorithm.
https://arxiv.org/pdf/1501.03124.pdf
http://research.ijcaonline.org/volume122/number13/pxc3905011.pdf

@chi3236
Copy link
Collaborator Author

chi3236 commented Feb 22, 2017

I changed IPM code. The IPM area changes depending on the steering amount. I think it will reduce noises on the curvy road and make the truck drives better.

@zappybiby
Copy link
Contributor

I'm confused by this change, there's a lot of repeating code that I see.

For example:

cv::resize(outputImg, outputImg, cv::Size(320, 240));

is repeated here:

cv::resize(outputImg, outputImg, cv::Size(320, 240));

You also repeated the IPM code here and then again here

I'm not saying this is incorrect, but I believe this repetition of code is the reason why I cannot implement this correctly into our Windows version. Can you explain why these are repeated?

@chi3236
Copy link
Collaborator Author

chi3236 commented Feb 25, 2017

The lane detection process consist of these stages:

  1. Set the IPM area
  2. Resize the IPMed area
  3. Convert the color from RGB to grey
  4. Sobel filtering and thresholding
    and we find the lane with the frames which are the result of those screen filtering process.

My code uses move_mouse_pixel variable to change the IPM area. To use this changed IPM area in lane detection, we should do the screen filtering process again, and find the lane with the new frame again. I know the repeating code is bad for the maintanence, so I gonna refactor it soon.

@zappybiby
Copy link
Contributor

Ok! Just adding a function that performs those steps should make the code look better.

I will try to see if I can get that to work today.

In my latest commit I tried to implement it into the replacing move_mouse_pixel with diffOld, and it doesn't seem to help stabilize the ipm... not sure what is wrong.

@chi3236
Copy link
Collaborator Author

chi3236 commented Feb 26, 2017

I have a better idea for implementing adaptive IPM. I will change the code before Tuesday or Wednesday

@chi3236
Copy link
Collaborator Author

chi3236 commented Feb 27, 2017

OK, a better adaptive IPM area is implemented
https://youtu.be/qb99czlIklA

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants