C4W1L02 Edge Detection Examples

Поделиться
HTML-код
  • Опубликовано: 21 авг 2024
  • Take the Deep Learning Specialization: bit.ly/2IpF5Dk
    Check out all our courses: www.deeplearni...
    Subscribe to The Batch, our weekly newsletter: www.deeplearni...
    Follow us:
    Twitter: / deeplearningai_
    Facebook: / deeplearninghq
    Linkedin: / deeplearningai

Комментарии • 82

  • @salmesfer52
    @salmesfer52 3 года назад +15

    Finally,a deep-learning session with no coding!
    Thank you, as usual clear and very easy to understand and very informative!

  • @MuhannadGhazal
    @MuhannadGhazal 3 года назад +4

    edge detection was a subject that we studied multiple times during my years in college and never understood what it is about, i now fully understand in just few minutes... many thanks

  • @m0tivati0n71
    @m0tivati0n71 Год назад +2

    5 years later and this video is super helpful. Thank you.

  • @FarizDarari
    @FarizDarari 4 года назад +14

    Now I get why Andrew Ng is such a great teacher!

  • @Daniel_Yap
    @Daniel_Yap 5 лет назад +8

    THANK YOU SO MUCH!!!! You are a lifesaver... exam in 1.5 hr time

  • @Canda-fh4xc
    @Canda-fh4xc 5 лет назад +5

    Thank you for the amazing tutorial. You made it really simple.
    I have few questions:
    1- Based on what you decide the size of the filter(Kernels)?
    2- Based of what you decide the matrix indices for the filter.
    4- How did you find out the output matrix(image) size is 4x4 before the calculation?
    5 - What if the size of the matrix(image) is 2x2 OR 5x5, How can we use the filter?

    Thank you,

    • @ihebbibani7122
      @ihebbibani7122 4 года назад +3

      Your questions show that you are a good thinker ;) :
      1- There is no basics in my humble experience but we usually use (3,3) because actually you can use the filter multiple times..
      2-As you said , it is a filter , the goal is to detect vertical edges , horizental edges ect and the indices (=pixels) are specific for each task
      4-As you see in his calculation , he's shifting by one each time he finished a calculation (it's the default step but you can change it which is called "stride") and you'll notice that we made all the calculations horizentally and vertically only 4 steps each (but if you know how directly notice the output matrix , there is a formula : dim(output) = [dim(input) - dim(filter)] + 1 = 6-3+1 = 4
      5-if the size of the matrix is 2X2 or 5X5 , we use padding , you add columns and you fill them by zeros.I have a doubt for 2X2 but I'm quite sure that it is not interesting to have a size of a filter which is greater than the size of the matrix.
      Hope it helps...

    • @Canda-fh4xc
      @Canda-fh4xc 4 года назад

      @@ihebbibani7122
      Thank you for your reply.
      Man😑 i just saw my typo. Sorry

  • @manuelkarner8746
    @manuelkarner8746 4 года назад +10

    haha after the first 6 seconds i recogniced the voice from the stanford ML coursera course and immideatly subcribed :)

  • @66saly
    @66saly 6 лет назад +1

    This is just the best explanation for Prewitt operator, big THANKS

  • @siddharthsvnit
    @siddharthsvnit 5 лет назад +9

    This becomes convolution because filter is symmetric, techncally speaking the way it is explained here it is actually describing cross correlation

  • @biargeamauri
    @biargeamauri 4 года назад +3

    Big lecture!
    Thank you so much Professor Andrew NG

  • @prafulkulkarni1758
    @prafulkulkarni1758 3 года назад +3

    Wonderful & highly informative session ! 🙏

  • @ruozhuli2170
    @ruozhuli2170 4 года назад +2

    Nice lecture, thanks! saved my life!

  • @ayushsingh562
    @ayushsingh562 6 лет назад

    Prof.Andrew Ng is great.
    Thanks a lot!!

  • @user-vl4vo2vz4f
    @user-vl4vo2vz4f 5 лет назад +12

    I was recognizing the voice but at the end... AHA! the Stanford guy! 😃

  • @ChahrazedJouri
    @ChahrazedJouri 6 лет назад +1

    Thank you, your explanation is very clear and useful.

  • @alper2287
    @alper2287 5 лет назад +2

    Very informatively explained! Thank you

  • @ChFernandezRios
    @ChFernandezRios 6 лет назад +26

    Andrew

  • @ewwitsantonio
    @ewwitsantonio 2 года назад +1

    Excellent explanation. Thank you so much!

  • @WahranRai
    @WahranRai 6 лет назад +2

    4:14 Dot product of the 2 (3x3) matrices / vectors (unlisted matrices)

    • @user-my2zq6td8z
      @user-my2zq6td8z 5 месяцев назад

      can you provide more explaintion for this unlisted matrices kinda thing

  • @hiramrayotorres2030
    @hiramrayotorres2030 4 года назад

    Andrew saves the day...again!

  • @GhostkillerPlaysMC
    @GhostkillerPlaysMC 4 года назад

    Very straightforward video.. thank you!

  • @ahmetkarakartal9563
    @ahmetkarakartal9563 Год назад

    That's what I need. Thank you so much

  • @sandipansarkar9211
    @sandipansarkar9211 3 года назад

    great explanation

  • @kajabanthanavas1516
    @kajabanthanavas1516 5 лет назад +1

    nice explanation

  • @jinyang4796
    @jinyang4796 4 года назад

    Thank you! This really helped!

  • @_Mandal_
    @_Mandal_ 4 года назад

    east and west Andrew is the best

  • @riseabovehate9476
    @riseabovehate9476 5 лет назад

    Excellent

  • @breakdancerQ
    @breakdancerQ 4 года назад

    This is very good stuff

  • @SidharthRajaram
    @SidharthRajaram 5 лет назад

    God bless Andrew! the best, always!

  • @letslearnjava1753
    @letslearnjava1753 3 года назад

    If you want to understand the application of this powerful edge detection techniques , you can refer this video--
    ruclips.net/video/cToG83MLkqw/видео.html
    Happy Learning 😊✌🏻

  • @muhtriffx
    @muhtriffx 5 лет назад

    Thanks🌷

  • @dexlee7277
    @dexlee7277 6 лет назад

    --------------Question---------------->>>> Does the sum of each number in the filter needs to be 0?

    • @ameyparanjape904
      @ameyparanjape904 6 лет назад +1

      An edge kernel is a highpass filter. Low frequencies shall be supressed, high frequencies shall pass such a filter. Edges are parts of an image with a high change of signal (gray value) and so high frequencies.
      If you design such a filter in frequency domain, it will have zeros at low frequencies and bigger values at higher frequencies. When transforming this into spatial domain (to get a kernel like you described), this will always result in a kernel, where the sum is zero.

  • @chicme6435
    @chicme6435 3 года назад

    This guy andrew is greatn

  • @99ansh
    @99ansh 4 года назад

    why are we not rotating the filter by 180 degrees? for convolution, it is the first step.

  • @kld0093
    @kld0093 5 лет назад

    This is awesome

  • @user-oj4hr5rh6i
    @user-oj4hr5rh6i 2 года назад

    similar to run-length encoding.

  • @singhaldhruvgmail
    @singhaldhruvgmail 5 лет назад +1

    How can we divide the image into 6*6 matrix

  • @jonesbbq307
    @jonesbbq307 4 года назад +5

    He can do AI by pen and paper. Who need GPU

    • @noorameera26
      @noorameera26 3 года назад

      hahahah agree!

    • @harshitpant4864
      @harshitpant4864 3 года назад

      This is basic image processing.
      IMHO nothing to do with AI.

  • @garyan1788
    @garyan1788 6 лет назад +3

    I'm always confused that this operation is actually " Correlation", why we name it "Convolution"?

    • @nustiann999
      @nustiann999 6 лет назад

      because we convolve kernels here with input.

    • @huynhat50
      @huynhat50 5 лет назад

      @@nustiann999 convolution is turning the kernel upside down?

    • @roros2512
      @roros2512 5 лет назад +1

      I think he forgot to turn the kernel

    • @TheKivifreak
      @TheKivifreak 5 лет назад

      Yes it's very annoying. In the context of convolutional neural networks the term convolution is used for what is known as correlation in signal processing.

    • @muhammadharris4470
      @muhammadharris4470 5 лет назад +2

      here is the answer: ruclips.net/video/tQYZaDn_kSg/видео.html

  • @1UniverseGames
    @1UniverseGames 3 года назад

    How do you guys code to find vertical and horizontal edges of an image. Any resources you would like to share

  • @yejijang2152
    @yejijang2152 5 лет назад

    감사합니다 :)

  • @ashishjohnsonburself
    @ashishjohnsonburself 5 лет назад

    can the filter [[-1,0,1],[-1,0,1],[-1,0,1]] be the vertical edge detector instead of [[1,0,-1],[1,0,-1],[1,0,-1]] (as shown in the intuition) ?

    • @annim2226
      @annim2226 5 лет назад +1

      yes, as I understood it it would be fine either way.

  • @thongnguyen2852
    @thongnguyen2852 5 лет назад

    Do I have to take your courses in a strict order? I don't have much time and I want to focus only on CNN.

  • @foroughsodaei8067
    @foroughsodaei8067 5 лет назад

    Thanksssssss

  • @AffanSamad
    @AffanSamad 5 лет назад

    Why we use filters? or why we need filters?

  • @minagabriel5556
    @minagabriel5556 4 года назад

    I think you are wrong about conv in 7:47, isn't this supposed to be correlation or correlate2d, your signs are all flipped?

  • @toyotomihideyoshi8
    @toyotomihideyoshi8 3 года назад

    it is a good video,, ;)

  • @balamurugang5508
    @balamurugang5508 6 лет назад

    How to select the filter matrix value? in our case [1,0,-1 1,0,-1 1,0,-1]

    • @MegaKasi1
      @MegaKasi1 6 лет назад +2

      image = cv2.imread('clock.jpg', cv2.IMREAD_GRAYSCALE).astype(float) / 255.0
      kernel = np.array([[1, 0, -1],
      [1, 0, -1],
      [1, 0, -1]])
      filtered = cv2.filter2D(src=image, kernel=kernel, ddepth=-1)
      cv2.imshow('horizontal edges', filtered)

  • @ruhelieber
    @ruhelieber 4 года назад

    3:22 Why don't the filter matrix be flipped before calculate?

    • @user-my2zq6td8z
      @user-my2zq6td8z 5 месяцев назад

      why even being it's a square matrix

  • @theasian3546
    @theasian3546 5 лет назад

    BEST

  • @nathan3804
    @nathan3804 4 года назад

    Would you still use a 3x3 filter when you work with higher resolution images like 1000x1000 or maybe a 1920x1080 px image. wouldn't that increase the computational time? If not what filter would be best for edge detection?

    • @kerolosemad8326
      @kerolosemad8326 4 года назад

      maybe resizing ur images to a smaller size avoiding using bigger filters that would add more computational power

    • @harshitpant4864
      @harshitpant4864 3 года назад

      @Nathan Nunes Most image processing software like openCV and matlab use fast Fourier transform (fft) for convolution and related operations, which produces results with an error in the range of 10^(-14), when compared to actual convolution, which can be counted as infinitesimally small.
      Or if they HAVE TO use actual convolution they use multiple cores (parallel computations) of your computer to produce the output, which is still significantly slower than using fft.
      I don't think what @@kerolosemad8326 suggests is correct, as resizing will induce loss of detail.

  • @igorsrajer982
    @igorsrajer982 5 лет назад +1

    wp man, thanks

  • @snackbob100
    @snackbob100 4 года назад

    can someone please explain this to me, i cant find it anywhere. does the person create the filter? or does the network do it. As in is the filter acting like a neuron, where it gets updated in back propogation? WHere is this filter coming from?

    • @khushboovyas5932
      @khushboovyas5932 4 года назад

      First we have to assume one filter based on our requirement and we can tune the filter parameter while fine tuning the model..

  • @rishavpaudel8325
    @rishavpaudel8325 5 лет назад

    sir why is the sum of filters always zero?????????

  • @1-minutetips109
    @1-minutetips109 5 лет назад

    How 4x4??

    • @roros2512
      @roros2512 5 лет назад +1

      because the size of the kernel, the image result is smaller, if the kernel applied over the edge of the image, the kernel would be out the image, so in order to apply the kernel on the image, you have to apply it from the second element in the row and the column, then, the final image will be smaller in one row and one column (if the kernel is 3x3) if the kernel is nxn, the final image will be
      (n-1)/2 x (n-1)/2 smaller than the original image

  • @aga5839
    @aga5839 10 месяцев назад

    gokil

  • @mayursonowal
    @mayursonowal 3 года назад

    bhagwaan