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...
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.
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
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.
@IntentStore that's a good idea but they don't wear collars when they are in the house. (Don't worry, they are chipped).
you can do it... just say something like if "dogs_name" == "your_dogs_name" then call the open door function
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.
"Easy" they said... 😅
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.
Thank you i just practiced python for the first time in years
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.
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
Really loving the latest content (in my best Matthew Berman voice) “Bravo” 👏 😁 this is phenomenal thank you 🙏🏽
In previous video you asked what we would like to see with autogenstudio. How about adding this as a skill to the agents.
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.
what's the benefit of using postgreSql vectorDb vs chromadb?
Gratz on sponsor
At 09:01 I'm not gettin default db instead it's showing psql is not recognised can somebody help
same here
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
It was really fabulous.
Great Video
Can you please make a real time live detection facial recognition with webcam?
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"
...again the code which is not working offline.
Works until provider close or change server . No thanks ...
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.
kinda stuck. Whenever I run the first block of code, it only detects one face in the image. Not multiple.
The way croissant was pronounced triggered me a bit. But interesting tutorial, keep it up
hi, instead of vector in postgres what datatype to use in mysql ?
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
Super ! Thx
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.
Could we link to life footage to a facial recognition application
This code will also identify side face
how do i deploy it and integrate with a website/mobile app?
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?
How would I run this locally? I have postgres installed on ubuntu 22 but I can not find any postgres extension named vector.
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
is it possible to do this for fish
You Forget to test with a wrong face (an unknown person)
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?
Most problem is lagging video in webcam, rtmp when face recognition running in opencv. u got idea?
use NDI it's almost real time
@@redfoothedude can u elaborate man?
Да и каскады хаар очень старая и неточная
It may have trouble recognizing faces that are not mostly vertical.
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
Is that legal? 😂
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.
try frigate
i also want build something like this, including with multimodal LLMs.
But if I program facial recognition software and put it in the countryside, will it recognize the wild boars one by one? 🐗🤔
Society is taking a huge step into the future. AGI and people with "ANY SOFTWARE" capabilities. AGI will be here this year.
Not close. AGI is way beyond anything we have currently. Maybe in 5 years.
@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?
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