Scarabyte / SSW690-Project

Repository for SSW690 Project
Other
1 stars 0 forks source link

Identify region of interest in a picture #18

Closed Scarabyte closed 6 years ago

Scarabyte commented 6 years ago

From an image of a road, identify the area and features of interest (i.e. locate the lane markings)

Scarabyte commented 6 years ago

I think the objective of this task is to crop the image so we don't get 'distracted' by unimportant features like trees on the side of the road or clouds in the sky. However, will this be handled by the image filtering routines? Do we need a separate issue? (From the filtered image, we still have to focus on the parts that we're interested in.)

bsapana commented 6 years ago

Yes, this will be covered in image filtering and edge detection stories.

kroseberry13SIT commented 6 years ago

This may require calibration to determine the extent of the image to crop. Initially, we can make an assumption based on empirical evidence. But a full product, due to the different geometries in camera lenses, will need to be user-adjustable.

Another aspect to consider is whether the cropped area needs to be adjusted to "look into" the direction the vehicle is turning while driving around a bend in a road.

Scarabyte commented 6 years ago

Seems like this is part of converting the image to 'sky view' #46

Scarabyte commented 6 years ago

There are two ways of doing this: either a fixed portion of the image, or dynamically determined from the road horizon. To start, we should use the fixed portion which would be simpler to implement, and then consider using the dynamic approach later on.

rakshithv commented 6 years ago

Initial research shows the following options: 1) Take only the bottom part of the image as the area of interest, or try and find horizontal horizon line and crop everything above that 2) Create a polygon of some sort (encompassing line starts at the bottom of the image and ending at a single point beyond the horizon 3) Instead of cropping the image to areas of interest, filter the image for only colors that matter (in this case, yellow and white)

Scarabyte commented 6 years ago

See the Bird’s-Eye-View Transform Example in the textbook. Also, this example uses fixed points for the transformation area https://www.programcreek.com/java-api-examples/?code=hgs1217/Paper-Melody/Paper-Melody-master/app/src/main/java/com/papermelody/core/calibration/Calibration.java (See the "public static TransformResult" section of the file.)

rakshithv commented 6 years ago

I have been trying to use this as a context to implement this story https://medium.com/@gruby/opencv-for-lane-detection-carnd-f9d58d077ee2

The steps seem to be: 1) Create a mask with an empty image 2) Create the polygon (area of interest) 3) And the mask with the image This will create only the lane highlighted, and all other objects in the image are removed.

Scarabyte commented 6 years ago

I think perhaps for our first attempt we could consider this resolved with commit 7ad1bb31eed084569ea1fdaa09341ee8148232e5 which was based on some articles @rakshithv gave me

https://medium.com/@ldesegur/a-lane-detection-approach-for-self-driving-vehicles-c5ae1679f7ee

https://towardsdatascience.com/advanced-lane-finding-using-computer-vision-techniques-7f3230b6c6f2

We might try to improve it later, but the Fit Curves task in Issue #47 will modify it anyway.

rakshithv commented 6 years ago

Closing this because area of interest has been incorporated by commit 7ad1bb3 as part of sky/view