Hany Farid, Professor at UC Berkeley
Hany Farid, Professor at UC Berkeley
  • 220
  • 102 491
Deepfakes
The technology that can distort and manipulate digital media is developing at break-neck speeds, and it is imperative that the technology that can detect such alterations develop just as quickly. The field of photo forensics seeks to restore some trust to photography.
At their foundation, photo forensic techniques rely on understanding and modeling the imaging pipeline, from the interaction of light with the physical 3-D world, the refraction of light as it passes through the camera lenses, the transformation of light to electrical signals in the camera sensor, and, finally, the conversion of electrical signals into a digital image file. This set of lectures focuses on the first part of the imaging pipeline, so-called physics-based techniques.
Переглядів: 805

Відео

Ballistic Motion
Переглядів 17111 місяців тому
The technology that can distort and manipulate digital media is developing at break-neck speeds, and it is imperative that the technology that can detect such alterations develop just as quickly. The field of photo forensics seeks to restore some trust to photography. At their foundation, photo forensic techniques rely on understanding and modeling the imaging pipeline, from the interaction of ...
3D Modelling
Переглядів 16311 місяців тому
The technology that can distort and manipulate digital media is developing at break-neck speeds, and it is imperative that the technology that can detect such alterations develop just as quickly. The field of photo forensics seeks to restore some trust to photography. At their foundation, photo forensic techniques rely on understanding and modeling the imaging pipeline, from the interaction of ...
Specularities
Переглядів 8511 місяців тому
The technology that can distort and manipulate digital media is developing at break-neck speeds, and it is imperative that the technology that can detect such alterations develop just as quickly. The field of photo forensics seeks to restore some trust to photography. At their foundation, photo forensic techniques rely on understanding and modeling the imaging pipeline, from the interaction of ...
Lighting
Переглядів 10911 місяців тому
The technology that can distort and manipulate digital media is developing at break-neck speeds, and it is imperative that the technology that can detect such alterations develop just as quickly. The field of photo forensics seeks to restore some trust to photography. At their foundation, photo forensic techniques rely on understanding and modeling the imaging pipeline, from the interaction of ...
Human Abilities and Limits
Переглядів 10711 місяців тому
The technology that can distort and manipulate digital media is developing at break-neck speeds, and it is imperative that the technology that can detect such alterations develop just as quickly. The field of photo forensics seeks to restore some trust to photography. At their foundation, photo forensic techniques rely on understanding and modeling the imaging pipeline, from the interaction of ...
Lens Flare
Переглядів 10811 місяців тому
The technology that can distort and manipulate digital media is developing at break-neck speeds, and it is imperative that the technology that can detect such alterations develop just as quickly. The field of photo forensics seeks to restore some trust to photography. At their foundation, photo forensic techniques rely on understanding and modeling the imaging pipeline, from the interaction of ...
Shadows
Переглядів 15411 місяців тому
The technology that can distort and manipulate digital media is developing at break-neck speeds, and it is imperative that the technology that can detect such alterations develop just as quickly. The field of photo forensics seeks to restore some trust to photography. At their foundation, photo forensic techniques rely on understanding and modeling the imaging pipeline, from the interaction of ...
Vanishing Points and Lines
Переглядів 35511 місяців тому
The technology that can distort and manipulate digital media is developing at break-neck speeds, and it is imperative that the technology that can detect such alterations develop just as quickly. The field of photo forensics seeks to restore some trust to photography. At their foundation, photo forensic techniques rely on understanding and modeling the imaging pipeline, from the interaction of ...
Reflections
Переглядів 14911 місяців тому
The technology that can distort and manipulate digital media is developing at break-neck speeds, and it is imperative that the technology that can detect such alterations develop just as quickly. The field of photo forensics seeks to restore some trust to photography. At their foundation, photo forensic techniques rely on understanding and modeling the imaging pipeline, from the interaction of ...
Introduction
Переглядів 1,3 тис.11 місяців тому
The technology that can distort and manipulate digital media is developing at break-neck speeds, and it is imperative that the technology that can detect such alterations develop just as quickly. The field of photo forensics seeks to restore some trust to photography. At their foundation, photo forensic techniques rely on understanding and modeling the imaging pipeline, from the interaction of ...
Closing: parting thoughts
Переглядів 182Рік тому
Learn Computer Vision: These lectures introduce the theoretical and practical aspects of computer vision from the basics of the image formation process in digital cameras, through basic image processing, space/frequency representations, and techniques for image analysis, recognition, and understanding.
Image understanding: unsupervised learning: tSNE: implementation
Переглядів 232Рік тому
Learn Computer Vision: These lectures introduce the theoretical and practical aspects of computer vision from the basics of the image formation process in digital cameras, through basic image processing, space/frequency representations, and techniques for image analysis, recognition, and understanding.
Image understanding: unsupervised learning: t-distributed stochastic neighbor embedding (tSNE)
Переглядів 203Рік тому
Learn Computer Vision: These lectures introduce the theoretical and practical aspects of computer vision from the basics of the image formation process in digital cameras, through basic image processing, space/frequency representations, and techniques for image analysis, recognition, and understanding.
Image understanding: unsupervised learning: principal component analysis (PCA): eigenfaces
Переглядів 187Рік тому
Learn Computer Vision: These lectures introduce the theoretical and practical aspects of computer vision from the basics of the image formation process in digital cameras, through basic image processing, space/frequency representations, and techniques for image analysis, recognition, and understanding.
Image understanding: unsupervised learning: principal component analysis (PCA): computation
Переглядів 131Рік тому
Image understanding: unsupervised learning: principal component analysis (PCA): computation
Image understanding: unsupervised learning: principal component analysis (PCA): implementation
Переглядів 153Рік тому
Image understanding: unsupervised learning: principal component analysis (PCA): implementation
Image understanding: unsupervised learning: principal component analysis (PCA): eigenvectors
Переглядів 173Рік тому
Image understanding: unsupervised learning: principal component analysis (PCA): eigenvectors
Image understanding: unsupervised learning: principal component analysis (PCA): covariance matrix
Переглядів 260Рік тому
Image understanding: unsupervised learning: principal component analysis (PCA): covariance matrix
Image understanding: unsupervised learning: principal component analysis (PCA): canonical basis
Переглядів 176Рік тому
Image understanding: unsupervised learning: principal component analysis (PCA): canonical basis
Image understanding: unsupervised learning: expectation/maximization: EM implementation
Переглядів 94Рік тому
Image understanding: unsupervised learning: expectation/maximization: EM implementation
Image understanding: unsupervised learning: expectation/maximization: M-step
Переглядів 87Рік тому
Image understanding: unsupervised learning: expectation/maximization: M-step
Image understanding: unsupervised learning: expectation/maximization: E-step
Переглядів 95Рік тому
Image understanding: unsupervised learning: expectation/maximization: E-step
Image understanding: unsupervised learning: expectation/maximization: EM
Переглядів 105Рік тому
Image understanding: unsupervised learning: expectation/maximization: EM
Image understanding: unsupervised learning: clustering: k-means implementation
Переглядів 115Рік тому
Image understanding: unsupervised learning: clustering: k-means implementation
Image understanding: unsupervised learning: clustering: k-means
Переглядів 165Рік тому
Image understanding: unsupervised learning: clustering: k-means
Image understanding: supervised learning: classification: ANN: convolutional
Переглядів 128Рік тому
Image understanding: supervised learning: classification: ANN: convolutional
Image understanding: supervised learning: classification: ANN: backpropagation
Переглядів 112Рік тому
Image understanding: supervised learning: classification: ANN: backpropagation
Image understanding: supervised learning: classification: ANN: universal approximation theorem
Переглядів 91Рік тому
Image understanding: supervised learning: classification: ANN: universal approximation theorem
Image understanding: supervised learning: classification: artificial neural networks: xor + hidden
Переглядів 89Рік тому
Image understanding: supervised learning: classification: artificial neural networks: xor hidden

КОМЕНТАРІ

  • @cliq7513
    @cliq7513 День тому

    This is such a clear and thorough explanation, thank you very much!

  • @DipRoy-wx7ft
    @DipRoy-wx7ft 3 дні тому

    I have not seen a better explanation of Computer Vision than this. Thank you Hany sir

  • @GulzarAhmad-sw1kh
    @GulzarAhmad-sw1kh 5 днів тому

    so each pixel has three layers of filters [may be one composite layer prepared from three?] each sensitive to R, G & B respectively. When photons hit the pixel, then pixel is read thrice to get information....?

    • @hanyfarid5019
      @hanyfarid5019 3 дні тому

      Each sensor cell records only one color (red, green, or blue). For each color channel, the remaining pixels are interpolated from surrounding pixels that were recorded by the sensor.

  • @amrshamsel-deen7928
    @amrshamsel-deen7928 8 днів тому

    I know it your an Egyptian for sure I can't believe this class is for free thanks a million

  • @hebronsonlun6326
    @hebronsonlun6326 13 днів тому

    Very detailed explanation, really appreciate that 🙏🏻 Helped a loooooot

  • @elunsgrace
    @elunsgrace Місяць тому

    Thank You for your Hard Work sir!!

  • @MSKim-df2hb
    @MSKim-df2hb Місяць тому

    I feel so grateful to learn from you sir!! Thank you✨

  • @elunsgrace
    @elunsgrace Місяць тому

    Thank You Sir!!

  • @elunsgrace
    @elunsgrace Місяць тому

    Thank You sir!!

  • @giuseppedauria8038
    @giuseppedauria8038 Місяць тому

    very clear explanation, thank you!

  • @vimalrajayyappan2023
    @vimalrajayyappan2023 Місяць тому

    Excellent Rendering. Great Video man :) <3

  • @reidainutilidade8743
    @reidainutilidade8743 Місяць тому

    Thanks for the video

  • @KelseyEggimann
    @KelseyEggimann Місяць тому

    This is a very interesting lecture, but I would like to point out that the first example being used is not showing Jennifer Garner, its showing Jennifer Lawrence.

  • @ocamlmail
    @ocamlmail 2 місяці тому

    Thank you, very clear and interesting explanation.

  • @Jia-Tan
    @Jia-Tan 3 місяці тому

    This was awesome. Thank you from a Computer Vision student in the UK!

  • @ocamlmail
    @ocamlmail 3 місяці тому

    1:54 -- what last section?

    • @hanyfarid5019
      @hanyfarid5019 3 місяці тому

      See here for the full syllabus: farid.berkeley.edu/learnComputerVision/

  • @ocamlmail
    @ocamlmail 3 місяці тому

    Fantastic, thank you!!!

  • @lel3923
    @lel3923 3 місяці тому

    Holy shit why doesnt this have more views

  • @afrinsultana703
    @afrinsultana703 3 місяці тому

    can anyone give me the correct step for the laplacian pyramid?? 1. Take the image fi from stage i. 2. filter the image fi with a low pass filter and thus create the image Li 3. Downsample the image li and thus create the image fi+1 4. Calculate the difference image hi=fi-li 5. cache hi 6. Consolidate all images hi 7. Repeat the above step n times.

    • @hanyfarid5019
      @hanyfarid5019 3 місяці тому

      Here is some Python code for computing a Laplacian pyramid: # Laplacian pyramid import matplotlib.pyplot as plt import numpy as np import cv2 from scipy.signal import sepfir2d im = plt.imread( 'mandrill.png' ) # load image h = [1/16,4/16,6/16,4/16,1/16]; # blur filter N = 4 # number of pyramid levels # Gaussian pyramid G = [] G.append(im) # first pyramid level for k in range(1,N): # pyramid levels im2 = np.zeros( im.shape ) for z in range(3): im2[:,:,z] = sepfir2d( im[:,:,z], h, h ) # blur each color channel im2 = im2[0:-1:2, 0:-1:2,:] # down-sample im = im2 G.append(im2) # Laplacian pyramid L = [] for k in range(0,N-1): # pyramid levels l1 = G[k] l2 = G[k+1] l2 = cv2.resize(l2, (0,0), fx=2, fy=2) # up-sample D = l1 - l2 D = D - np.min(D) # scale in [0,1] D = D / np.max(D) # for display purposes L.append(D) L.append(G[N-1]) # display pyramid fig, ax = plt.subplots(nrows=1, ncols=N, figsize=(15, 7), dpi=72, sharex=True, sharey=True) for k in range(N-1,-1,-1): ax[k].imshow(L[k])

    • @afrinsultana703
      @afrinsultana703 3 місяці тому

      @@hanyfarid5019 Thank you so much for the reply would you please give me the correct algorithm step for this one?

  • @adarshkaran6611
    @adarshkaran6611 3 місяці тому

    such a wonderful explanation! thank you!

  • @sucess7841
    @sucess7841 3 місяці тому

    Can I get a lecture on SIFT?

    • @hanyfarid5019
      @hanyfarid5019 3 місяці тому

      I don't have lecture on SIFT, but this is a lecture on the related HOG features: ua-cam.com/video/RaaGoB8XnxM/v-deo.html

  • @jharris4854
    @jharris4854 3 місяці тому

    I love how easy this is to understand. I guess there are multiple ways to accomplish a CE. In my text, its explained using XOR with NOR circuits to accomplish the same thing. Or, am I misunderstanding?

    • @hanyfarid5019
      @hanyfarid5019 3 місяці тому

      You are correct. There are several different ways to create a CE circuit. The way I show is perhaps the most straight-forward, but definitely not the most efficient.

  • @UnforsakenXII
    @UnforsakenXII 4 місяці тому

    P=NP : ^ )

  • @naturebless
    @naturebless 4 місяці тому

    Much much better than the channels with millions of subscribers. I love it...❤❤

  • @robertwilson4117
    @robertwilson4117 4 місяці тому

    Why didnt I find this channel earlier...

  • @dariomaddaloni8220
    @dariomaddaloni8220 5 місяців тому

    Dear Professor Hany Farid, Thank you for sharing this fantastic course on image filtering! I find your explanations to be extremely clear and engaging. I have a quick question regarding linear time-invariant functions at around the 3:29 and 3:57 minute marks. The formulas shown use h[-3-k] and h[-4-k]. I was wondering if this might be a typo, as I would have expected h[-1-k] and h[0-k] to be used instead, or if I am missing something.

    • @aria4870
      @aria4870 2 місяці тому

      I thought the same thing

  • @hanyfarid5019
    @hanyfarid5019 5 місяців тому

    A viewer noticed that there is a bug at the 03:43 mark (nice catch) but I accidentally deleted their comment (sorry viewer). The code at this mark should read: M1z@M1z.T (not M1z@M2z.T)

  • @HelloWorlds__JTS
    @HelloWorlds__JTS 5 місяців тому

    Obvious typo on line 9 at 3:43: should be M1z@M1z.T + ...

    • @hanyfarid5019
      @hanyfarid5019 5 місяців тому

      Good catch. The code at this mark should read: M1z@M1z.T (not M1z@M2z.T)

  • @tomlee3454
    @tomlee3454 5 місяців тому

    Thanks Professor for your knowledge

  • @MatinRafiei
    @MatinRafiei 5 місяців тому

    Very clear explanation, thank you

  • @SoheilLotfi
    @SoheilLotfi 5 місяців тому

    This is the most comprehensive CV course I have ever seen. I was always looking for something like this but I always found general datascience courses. Thank you so much.

  • @elnaghy
    @elnaghy 5 місяців тому

    you is a legend

  • @ghazal_ggfornow
    @ghazal_ggfornow 5 місяців тому

    amazing point of view for explaining number of the features we want for a model won't change the cost function.

  • @gianlucanordio7200
    @gianlucanordio7200 5 місяців тому

    Wonderful lesson! Thank you

  • @shukkkursabzaliev1730
    @shukkkursabzaliev1730 5 місяців тому

    Amazing! Thank you

  • @thefirstspartan1
    @thefirstspartan1 6 місяців тому

    thank you for these lecture series, they are interesting

  • @bhuvanmangalore4483
    @bhuvanmangalore4483 6 місяців тому

    Can't be simpler. Best explanation

  • @mariaperaltaramos379
    @mariaperaltaramos379 7 місяців тому

    Thank you

  • @symphonyh4655
    @symphonyh4655 7 місяців тому

    Wow the legend that you are. Thank you!!!

  • @mrtom-a-hawk6732
    @mrtom-a-hawk6732 7 місяців тому

    Wow such a clear and concise video! And you make sure to review material that student should know! Amazing

  • @gregoriofreidin4683
    @gregoriofreidin4683 7 місяців тому

    Awesome explanation!! As on all the videos. Thanks for the uploads! 🙌🙌

  • @PriyankaVenkatachalam-h9h
    @PriyankaVenkatachalam-h9h 7 місяців тому

    Thank professor its really helpful

  • @VauRDeC
    @VauRDeC 7 місяців тому

    Thank you for this real world problem exercise ! I guess any rigid motion may be explained as a "combination" that ?

  • @BigB00Bs
    @BigB00Bs 7 місяців тому

    Why didn't anyone comment on a really good explanation?

  • @sandrocavallari4640
    @sandrocavallari4640 8 місяців тому

    how do you generalize this model to a dataset that "don't pass through the origin" ? Do we need to "center" the data before using it ?

    • @hanyfarid5019
      @hanyfarid5019 8 місяців тому

      Yes, the data can be centered (i.e., zero meaned) by subtracting the mean of each component.

    • @sandrocavallari4640
      @sandrocavallari4640 8 місяців тому

      @@hanyfarid5019 thanks, really appreciated. your video are really cool !!

  • @arunjoseph9818
    @arunjoseph9818 8 місяців тому

    Loved it!!

  • @sujithkumara8252
    @sujithkumara8252 8 місяців тому

    Great work sir. I never see any one in you tube covers in this much depth❤😊your students will be lucky to have you

  • @MM-qt5dy
    @MM-qt5dy 8 місяців тому

    Thank you professor for your effort this was really well explained, looking forward to learn more from this playlist

  • @gageshmadaan6819
    @gageshmadaan6819 9 місяців тому

    at 6:21, may be the summation of impulses representation is not right if the unit impulse signal is considered to be centered.

    • @hanyfarid5019
      @hanyfarid5019 8 місяців тому

      In this formulation, we assume the unit impulse falls on an integer sampling lattice.

  • @rma1563
    @rma1563 9 місяців тому

    You are great at teaching. ❤