Question about the Edge Detection

Dear Instructors!

I’m bit confused about something and I would like to clarify in me. In the previous course in the Deep Learning Spec (Structuring Machine Learning Projects) we learned about the Multi-task learning, in the video Andrew draw us a problem where Multi-task learning can help: detecting traffic light, car, stop sign and pedestrian in the images. Andrew said we don’t need to create separate neural networks for each object detection, we can do it in one neural network by setting the output layer properly. In this case Andrew didn’t mention any Edge Detection method. Is it because in the example we didn’t want to know where are these objects? So if we only would like to know can the objects be seen in the image (car, pedestrian, stop sign, etc…) or cannot, we don’t need to use Edge Detection, but if we would like to know WHERE are these object in the image, the Edge Detection can help. Is the right?

Thank you,

1 Like

Edge detection is a more primitive form of discrimination than trying to localize objects within a scene, categorizing them and drawing bounding boxes around them. You can think of ConvNets and deep nets in general as performing simpler detections in the earlier layers (looking for primitive features like edges) and then as you go deeper into the network, the layers are putting together the output of the simpler layers to recognize more complex objects like a cat’s ear or a dog’s tail or a bicycle. There is a lecture in Week 4 of Course 4 titled “What are Deep ConvNets Learning” which goes into these ideas in more depth and explains some really interesting work that tries to actually show what is happening in the internal layers of a networks.

So my take on this is that you can think of Edge Detection as being part of the more complex task that Prof Ng was describing in that example. It’s there and it’s happening, but it’s only one piece of the whole system and perhaps not the most interesting piece.

1 Like

By itself, Edge Detection is more of an image processing tool than a machine learning method.

If the NN can minimize the cost by learning a layer that detects edges, then that’s a different story.

Thanks, Tom! That’s a really important point: the example Prof Ng gives early in Week 1 of ConvNets of how an Edge Detection filter works is just an example to show how Convolutional Filters are applied and why they can be useful. Nobody uses hand-coded filters like that any more: we just run the training and let the cost function plus back propagation figure out what the network needs to detect.

Thank you for the answers! I’ve finished the first week of the Convolutional Neural Networks course and now everything is clear. I’ve made a mistake by opening this thread after the first video.