Python Face Recognition (Beginner Tutorial)

Поділитися
Вставка
  • Опубліковано 28 лис 2024
  • Let's walk through building facial recognition from completely scratch! We will learn about Python facial recognition libraries, embeddings and vectors, and more! All the code is in Google Colab so it'll be easy for you to recreate.
    Aiven is the trusted open-source data platform.
    Get $400 in free credits for Aiven using this link: bit.ly/48jMVZ6
    Enjoy :)
    Join My Newsletter for Regular AI Updates 👇🏼
    forwardfuture.ai/
    My Links 🔗
    👉🏻 Subscribe: / @matthew_berman
    👉🏻 Twitter: / matthewberman
    👉🏻 Discord: / discord
    👉🏻 Patreon: / matthewberman
    Media/Sponsorship Inquiries 📈
    bit.ly/44TC45V
    Links:
    Google Colab Code - colab.research...
    Aiven Tutorial - bit.ly/428UyQ8
    Face Recognition Dataset - github.com/kip...

КОМЕНТАРІ • 58

  • @salehmir9205
    @salehmir9205 10 місяців тому +13

    I love that instead of making news about AI or other exciting things, you're actually putting time to create useful tutorials. I find this refreshing.

  • @RicusNortje
    @RicusNortje 10 місяців тому +11

    I still want to hook up a camera to an actuator on my sliding door that will open and close it for my 2 dalmatians, but I want it to regocnise them and not just any dog etc. This is a good step in that direction

    • @IntentStore
      @IntentStore 10 місяців тому +3

      Have you thought about just putting an rfid tag or something on their collars?
      It looks like every band above a few MHz should have a good detection distance for a raspberry pi inside your house to sense and not super power demanding.

    • @RicusNortje
      @RicusNortje 10 місяців тому

      @IntentStore that's a good idea but they don't wear collars when they are in the house. (Don't worry, they are chipped).

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

      you can do it... just say something like if "dogs_name" == "your_dogs_name" then call the open door function

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

    Ngl your probably one of the best coding youtubers I have ever seen. Very specific, but you put it in very easy words and short sentences.

  • @chrisbraeuer9476
    @chrisbraeuer9476 10 місяців тому +14

    "Easy" they said... 😅

  • @hqcart1
    @hqcart1 10 місяців тому +3

    well, it would be interristing if you do the search for the same dude, but without a beard, with hat, etc... i don't think by just simply creating embeddings this could be done anyways.
    Actully this app has been around for decades, but with facial recognition technology (this is how the FBI and governments finds people), but their app works by measuring distances on the face and doing face recognitions techniques, it could find the person even if he has a different look.

  • @osborn-rj4qg
    @osborn-rj4qg 3 місяці тому

    Thank you i just practiced python for the first time in years

  • @RonLWilson
    @RonLWilson 10 місяців тому +1

    It would seem that one could employ more complex metric for computing those distances where the distance is a function of tree node distance of some sort of ontology tree.
    Thus if one has a tree with two branches, say Sam (1.1) and John (1.2)
    and another tree that has food and under that pizza (2.1) and pie (2.2)
    and then another tree that has food (3.) and movies (3.2) and another tree loves(4.1.1), likes (4.1.2) , eats (4.2.1), and cooks (4.2.2)
    then we compare the sentences
    1. Sam (1.1) loves (4.1.1) movies (4. 2.1),
    2. Sam (1.1) loves (4.1.1) pizza (2.1)
    3. John (1.2) likes (4.1.2) pie (2.2)
    4. John (1.2) eats (4.2.1) pie (2.2)
    5. John (1.2) cooks (4.2.2) pizza (2.1)
    where the distances are the number of nodes between two nodes such that 1.1 is one away from 1.2 where 1.1 would be two away from 2.1 (1.0 to 2.1) etc.
    One then can compute distances based on these and get more nuanced matches.
    I imagine there is name for this type of distance metric but am not sure what that name might be. Also, that might be sort of what neural nets do with their weights is model such metrics.

    • @mshonle
      @mshonle 10 місяців тому

      I think this is a good demonstration for how these 700-1000 dimensional vectors are small and relatively *low* dimensional. A naive word co-occurrence matrix would have 200,000 squared entries (and 200,000 element vectors) for a 200,000 word vocabulary. Expanding that notion to sentences or tweets makes the combinations explode to intractable levels. Embeddings are lower dimensional approximations of these kinds of representations and it’s quite impressive how well they perform

  • @build.aiagents
    @build.aiagents 10 місяців тому

    Really loving the latest content (in my best Matthew Berman voice) “Bravo” 👏 😁 this is phenomenal thank you 🙏🏽

  • @DeonBands
    @DeonBands 10 місяців тому +4

    In previous video you asked what we would like to see with autogenstudio. How about adding this as a skill to the agents.

  • @AI_Robotics
    @AI_Robotics 10 місяців тому +1

    Matthew, can you make a video or point me to one you made on the conversion of image to embeddings? What does the data structure look like, what is algorithm.

  • @themax2go
    @themax2go 10 місяців тому +3

    what's the benefit of using postgreSql vectorDb vs chromadb?

  • @StephenRayner
    @StephenRayner 10 місяців тому

    Gratz on sponsor

  • @KakaniKhasyap
    @KakaniKhasyap 3 місяці тому +3

    At 09:01 I'm not gettin default db instead it's showing psql is not recognised can somebody help

  • @g.s.3389
    @g.s.3389 10 місяців тому

    imgbeddings has been trained on squared images only, I do not see in your code anything that create a square image from the face recognition output from cascade.
    it is a nice idea to use imagebeddings with a vectorial DB.
    nice job!

  • @יהלידרימר
    @יהלידרימר Місяць тому

    Thank you so so much this is incredible

  • @MohammadHassanKarimi-i9q
    @MohammadHassanKarimi-i9q Місяць тому

    It was really fabulous.

  • @renierdelacruz4652
    @renierdelacruz4652 10 місяців тому +1

    Great Video

  • @Arfath-h2o
    @Arfath-h2o 3 місяці тому

    Can you please make a real time live detection facial recognition with webcam?

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

    import of imgbeddings fails with an error: Method cached_download was removed from huggingface_hub since version 0.26 (downgrade to huggingface-hub==0.23.2)
    Step3: "SELECT * FROM pictures ORDER BY embeddings" instead "... embedding"

  • @mirek190
    @mirek190 10 місяців тому +1

    ...again the code which is not working offline.
    Works until provider close or change server . No thanks ...

    • @themax2go
      @themax2go 10 місяців тому +2

      that, plus it's a hook to get you spending money eventually. is fairly easily to adapt locally w/ almost the same code, or change to another db implementation such as chromadb. thing is, doesn't really matter cuz it's highly narrow application scenario (searched face / head can't be tilted, turned to the side, has to have same facial characteristics ie beard, glasses, ..., and the list goes on). this vid was just made to get the YTer a paycheck.

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

    kinda stuck. Whenever I run the first block of code, it only detects one face in the image. Not multiple.

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

    The way croissant was pronounced triggered me a bit. But interesting tutorial, keep it up

  • @nicolaswebful
    @nicolaswebful 8 місяців тому +1

    hi, instead of vector in postgres what datatype to use in mysql ?

  • @abidansari-qq4wd
    @abidansari-qq4wd 8 місяців тому

    Hello!
    If it's possible, could you explain how to extract faces to identify from a webcam in the final phase, instead of a given photo? Please reply

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

    Super ! Thx

  • @themax2go
    @themax2go 10 місяців тому

    yeah i rather just have my db locally... not a big deal if it's public faces, but for an actual application it's risky if i don't know where that data ends up at (which data center, which service there, who maintains it, ...) because data breaches are a thing - if that's customer faces (data) and that is associated with names and correlated demographics data, if the db(s) get hacked... can you say "lawsuit" and "jail time" possibly. i know i'm not taking the risk.

  • @mohammedbamousa9654
    @mohammedbamousa9654 11 днів тому

    Could we link to life footage to a facial recognition application

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

    This code will also identify side face

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

    how do i deploy it and integrate with a website/mobile app?

  • @___x__x_r___xa__x_____f______
    @___x__x_r___xa__x_____f______ 10 місяців тому

    Hey I’m just wondering if i could get a rating of match probability, you know, to understand how much they look alike a face to another face?

  • @trezero
    @trezero 10 місяців тому

    How would I run this locally? I have postgres installed on ubuntu 22 but I can not find any postgres extension named vector.

    • @trezero
      @trezero 10 місяців тому

      I got it all working locally on Ubuntu 22 with postgres. Only extra step was that I needed to install the pgvector plugin for postgres first. I'd love to see how you would extend this to work with video

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

    is it possible to do this for fish

  • @jpmottin
    @jpmottin 10 місяців тому

    You Forget to test with a wrong face (an unknown person)

  • @kyubijoninify
    @kyubijoninify 7 місяців тому +1

    File "c:\Users\kyubi\Programming\embedding.py", line 15, in
    img = Image.open("stored-faces/" + filename)
    ^^^^^^^^^^
    AttributeError: type object 'Image' has no attribute 'open'
    Does anyone know how to fix this error?

  • @wijayaeka9638
    @wijayaeka9638 10 місяців тому

    Most problem is lagging video in webcam, rtmp when face recognition running in opencv. u got idea?

  • @Legi0n13
    @Legi0n13 8 місяців тому +1

    Да и каскады хаар очень старая и неточная

  • @synchro-dentally1965
    @synchro-dentally1965 10 місяців тому

    It may have trouble recognizing faces that are not mostly vertical.

  • @BlayneOliver
    @BlayneOliver 10 місяців тому +1

    Do you know about ways to plug this in to CCTV cameras? I’d like to use it to create logs of arrivals and departures of my staff

    • @noneofyourbusiness8625
      @noneofyourbusiness8625 10 місяців тому +2

      Is that legal? 😂

    • @MetaphoricMinds
      @MetaphoricMinds 10 місяців тому +1

      Many CCTV systems have this built in now. But yes, you could write some python that connects to your stream and catalogs faces. Same can be done for lic. plate logging.

    • @fullcrum2089
      @fullcrum2089 10 місяців тому

      try frigate

    • @fullcrum2089
      @fullcrum2089 10 місяців тому

      i also want build something like this, including with multimodal LLMs.

  • @PietroSperonidiFenizio
    @PietroSperonidiFenizio 10 місяців тому

    But if I program facial recognition software and put it in the countryside, will it recognize the wild boars one by one? 🐗🤔

  • @MetaphoricMinds
    @MetaphoricMinds 10 місяців тому +1

    Society is taking a huge step into the future. AGI and people with "ANY SOFTWARE" capabilities. AGI will be here this year.

    • @mooonatyeah5308
      @mooonatyeah5308 10 місяців тому +1

      Not close. AGI is way beyond anything we have currently. Maybe in 5 years.

    • @MetaphoricMinds
      @MetaphoricMinds 10 місяців тому

      @mooonatyeah5308 chain / tree of thought, mixed with multiple agents, gets us pretty close already.
      What do you see as a hindrance to achieving it sooner as opposed to later?

    • @themax2go
      @themax2go 10 місяців тому

      not according to meta and the immense (600k+) Nvidia H100 (includes equivalent) by end of this year 2024 for approx US$ 18b (at least)... 5 years, no way, at most 1 year from now: by end of this year cloud infrastructure completed, training model in 6 months or less completed, perfecting the transformer tech aka "the engine" 6 months or less = gen 1 AGI@@mooonatyeah5308