Computer Generates Human Faces

Поделиться
HTML-код
  • Опубликовано: 1 окт 2017
  • 5:51 To skip to the results.
    Try It Online: codeparade.net/faces/
    Download App (Windows 64-bit): github.com/HackerPoet/FaceEdi...
    Source Code: github.com/HackerPoet/FaceEditor
    This is another fun project I came up with using the same data set as my other video. This time, I experiment with unsupervised learning to see what the computer can learn about faces, and try to generate some new ones.
  • НаукаНаука

Комментарии • 1,6 тыс.

  • @TheOfficialCzex
    @TheOfficialCzex 5 лет назад +5934

    The most important aspect of a face: shirt color.

    • @serenityrahn5656
      @serenityrahn5656 5 лет назад +119

      there is actually some truth to that

    • @jaykay4137
      @jaykay4137 5 лет назад +161

      I don't feel so bad about being ugly anymore

    • @jacobschweiger5897
      @jacobschweiger5897 5 лет назад +112

      @XodiakGangrene but where could we get 1700 naked highschoolers...

    • @excinerus
      @excinerus 5 лет назад +48

      @@jacobschweiger5897 even if we did, we'd only replace the shirt slider with a collarbone and chest hair / boobage sliders ... of said 1700 highschoolers

    • @iancampion6979
      @iancampion6979 5 лет назад +11

      ـ Excinerus wtf

  • @bjorndoescubesnstuff4572
    @bjorndoescubesnstuff4572 5 лет назад +5324

    is this the yearbook of Chernobyl High?

    • @ZonkoKongo
      @ZonkoKongo 5 лет назад +82

      decoder games fucking keked

    • @reallybadmeme2838
      @reallybadmeme2838 5 лет назад +38

      there is no school in Chernobyl you dumbface!

    • @holdenew
      @holdenew 5 лет назад +170

      really bad meme thatsthejoke.jpg

    • @Krong
      @Krong 5 лет назад +89

      @@reallybadmeme2838 r/woooosh
      Edit: TL;DR I don't woooosh anymore and you are free to laugh at Sir "really bad meme"
      From what I can tell, my man "really bad meme" here essentially ruined the joke in a sarcastic tone. It shows that he did get the joke, but chose to say something that someone who didn't get the joke would say. Therefore, it still stands that he ruined the joke. You could say the joke is that he pretended to want to ruin it even though he got it.
      If you think he was funny, I get it. Sarcasm can be funny. In my opinion it wasn't used in the *most* comedic way here, but whatever.
      I apologise if I have made anybody uncomfortable with my opinion, but please understand that not everybody will agree with you. Which is why you are still free to hate on me now. Peace.

    • @owengrimm1370
      @owengrimm1370 5 лет назад +35

      @@Krong did you even look at his profile name? Also, r/ihavereddit

  • @codinginflow
    @codinginflow 5 лет назад +405

    I will have horrible nightmares from this

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

      Yes you will :)

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

      @@gulpgo aBSolutely

    • @kennarajora6532
      @kennarajora6532 3 года назад +2

      Hopefully they've gone by know. If not, my comment will always be here to remind you of what you saw.

    • @codinginflow
      @codinginflow 3 года назад +2

      @@kennarajora6532 😭

  • @ishpeeedy
    @ishpeeedy 5 лет назад +1736

    *_Nightmare Generator_*

  • @kaioxys
    @kaioxys 5 лет назад +316

    I think it’s interesting that slider 2, male/female, also controls smile/frown so that males frown and females smile.

    • @prabhathakula2481
      @prabhathakula2481 2 года назад +18

      That indicates that the features are still correlated and not yet completely interpretable .

    • @sploofmcsterra4786
      @sploofmcsterra4786 2 года назад +6

      If there was a slider for frowning or smiling it was left in the middle, so all we can deduce is that males are correlated with frowning.
      OR it was actually a frown/smile slider and the gender was just the correlated element.

    • @cara-setun
      @cara-setun Год назад +3

      Probably an artifact from the data set, males tend to adopt a more serious/neutral expression and females smile in pictures

  • @asmrcraft2117
    @asmrcraft2117 5 лет назад +368

    7:33
    "Let her head be Large...."
    **Eye pops out**
    "...or actually just give her a smaller head"

  • @dembonez19
    @dembonez19 5 лет назад +56

    8:38 - That ended up being super clear!

  • @isaacrubinstein300
    @isaacrubinstein300 5 лет назад +1064

    They
    Have
    No
    Eyes

  • @BS-bd5uq
    @BS-bd5uq 5 лет назад +1627

    5:54 If you want an average person you get nothing

    • @dibbidydoo4318
      @dibbidydoo4318 5 лет назад +142

      Tells something about the human nature...

    • @dhiahassen9414
      @dhiahassen9414 5 лет назад +27

      it is just because of the data set , that area is empty in the data set , the machine can guess it , because the closest point in the data set is already far , in other teams , it is either that the high school students are on average far from their average ( not similar , which is true ) , or means that the data set is not big enough , which is also true

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

      @Gromm: its called apache helicopter, you bigot /s

    • @imaginerus
      @imaginerus 5 лет назад +14

      I think it's just because there is no data with a shirt color between white and black. As soon as he defines it with the first slider, you get your average person

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

      @@imaginerus You seem to be the only one in this section who really learnt from the video. ;-)

  • @carykh
    @carykh 6 лет назад +2791

    FIRST!!! It's amazing how each slider is so logical and describable, when you're sliding them around it almost feels like you're customizing your player in The Sims. But it was all chosen by a computer? Whhhhaaaaatttt
    8:06

    • @JasperPeters
      @JasperPeters 6 лет назад +53

      Thanks for bringing me here! This is awesome!

    • @TheSyborgue
      @TheSyborgue 5 лет назад +7

      Mind-blowing, thanks for the adress!

    • @grivar
      @grivar 5 лет назад +10

      Amazing. Unfortunately I can't try this kind of thing myself, German privacy laws would get me rekt.

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

      RE Is echt so :P

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

      fearlessTobi iss doch voll komi das der einfach so Fotos zeigt ne?

  • @amoghskulkarni
    @amoghskulkarni 5 лет назад +946

    5:55
    Moral from the video: An *average* person is nobody.
    Be someone.

    • @wontcreep
      @wontcreep 5 лет назад +80

      be special.
      eat poop.

    • @Subakak
      @Subakak 5 лет назад +30

      @@wontcreep you forgot to say the creator of the quote you mentioned:it's Albert Einstein

    • @wontcreep
      @wontcreep 5 лет назад +6

      @@Subakak yes

    • @wontcreep
      @wontcreep 5 лет назад +5

      @@Subakak yes uwu

    • @pogodanaprzygode
      @pogodanaprzygode 5 лет назад +7

      or... is a monster. And the monster is something!

  • @user-fn3py8hv9p
    @user-fn3py8hv9p 4 года назад +143

    “Well I’m not sure, I can’t tell what this is doing, but it’s doing something”
    Basically every invention/discovery ever
    And also a quote from my uncle describing his dog

  • @grivar
    @grivar 5 лет назад +1468

    The next step is is get a bunch of people to rate the attractiveness of each face and see how attractiveness correlates to each of those sliders. Maybe we don't realise but a slider that changes very little has a large effect on how we perceive that face!

    • @oskarkrogsgard3014
      @oskarkrogsgard3014 5 лет назад +49

      Yeah that would actually be really interesting

    • @grivar
      @grivar 5 лет назад +34

      Oskar Krogsgård yeah... If somewhat unethical :p

    • @CodeParade
      @CodeParade  5 лет назад +147

      Haha, if someone can make me a labeled dataset like that, I would try it out ;)

    • @devrim-oguz
      @devrim-oguz 5 лет назад +38

      We can set up a website for voting who is more beautiful like the mark zuckerberg did to create a labeled database. All we need is a lot of woman pictures and people to rate. You can achieve the people side if you tell people to vote to a website from your channel.

    • @grivar
      @grivar 5 лет назад +55

      Ali Devrim OĞUZ I'm pretty sure men can be attractive too haha

  • @aaronwarwick9966
    @aaronwarwick9966 3 года назад +35

    6:55 was lateral facial symmetry. As the slider went more to one side that side of the face became larger in features compared to the other side. Maybe a shortened name would be something like 'facial slant' or something like that.

  • @jonathanxdoe
    @jonathanxdoe 5 лет назад +339

    Computer Generates Human Faces... 10 years after car crash

  • @samuelpalfreyman9143
    @samuelpalfreyman9143 5 лет назад +103

    this is actually kind of creepy looking at those faces

    • @Grigor421
      @Grigor421 4 года назад +1

      Uncanny valley

  • @vgames1543
    @vgames1543 5 лет назад +119

    The Sims: Pripyat edition.

    • @lev7509
      @lev7509 3 года назад +2

      I can see you are more educated than an average memer.

  • @kittadyne
    @kittadyne 5 лет назад +652

    This video gives me a reason to learn more math.

    • @cleverstation623
      @cleverstation623 5 лет назад +4

      same

    • @kebman
      @kebman 5 лет назад +4

      Bitcoin made me want to learn more math, and boy oh boy was that a rabbit hole!

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

      @@kebman was it worth the effort?

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

      Mostly linear algebra, if you're still curious. The relevant stuff for PCA has to do with eigenvectors and eigenvalues.

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

      Don't its not worth it

  • @dougthedonkey1805
    @dougthedonkey1805 4 года назад +209

    6:10
    “Obviously, hair length is highly correlated to gender”
    Me, a long haired guy: Damn

    • @nutzpflanze6088
      @nutzpflanze6088 3 года назад +11

      Well, it's corraleted to it, it's not a causality and long hair is mostly more associated with the female gender/more girls and women have long hair.

    • @dougthedonkey1805
      @dougthedonkey1805 3 года назад +25

      @Nutzpflanze it was a joke chief, I am aware that they are correlated

    • @nutzpflanze6088
      @nutzpflanze6088 3 года назад +1

      @@dougthedonkey1805 I know... my comment was also just a joke.

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

      @@nutzpflanze6088 I don't get it.

    • @Soulvale88
      @Soulvale88 3 года назад +2

      Same

  • @digitalartist779
    @digitalartist779 5 лет назад +26

    I didn't understand a single thing, but still watched it till the end.

  • @henryzhang3961
    @henryzhang3961 5 лет назад +409

    Try using mugshots instead and you actually could make a police sketching thing. Though I suppose the head position of the suspect wont matter too much

    • @jakelyon914
      @jakelyon914 5 лет назад +7

      Where the original photos are from wouldn't matter, you still end up with a face that looks right anyway.

    • @watamidoing8131
      @watamidoing8131 5 лет назад +42

      Jake Lyon The point of usingmugshots would be to weed out features such as shirt colour, height, and face orientation as they all have a standard arrangement.

    • @VeryProfessionalGamer
      @VeryProfessionalGamer 5 лет назад +22

      but then it would only range from brown to black skin colors...

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

      @@VeryProfessionalGamer lol good one=)))

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

      Not Not
      In a way, that would become an issue, but essentially by having less features to analyse it might as well be that the neural network ends up with more finesse.
      But it also could start over fitting

  • @CodeParade
    @CodeParade  5 лет назад +225

    Several of you have asked for a way to play with the sliders yourselves.
    I'd love to provide that, but its a little tricky. First of all, the data set is not public and there are privacy concerns with releasing it. Second this demo currently has dependencies with python and other ML libraries that require a GPU that take a lot of machine-specific setup, definitely something too difficult for the average person. Another idea is to provide a web interface, but I don't have any experience with designing interactive web GUIs, I'm not much of a web guy.
    If someone out there IS a web developer and is willing to remake a GUI and host this on their site, then I could provide the backend and make this accessible to everyone.

    • @luisfonseca2086
      @luisfonseca2086 5 лет назад +18

      Is there a way we could see the code on GitHub tho?
      I'm not really sure how to do a web interface for this but I'm sure a day on stack overflow would enlighten me :p

    • @robmckennie4203
      @robmckennie4203 5 лет назад +19

      IMO, the cardinal sin of sharing programming projects online is not uploading the code to github.

    • @CodeParade
      @CodeParade  5 лет назад +48

      True. Normally I like to clean my code so others can use it easily (bug-free, documentation, examples, etc.) but that takes a LOT of time. However I could create a 'scratch work' repo on GitHub with 'unpolished' projects like this. It may be difficult to setup and run, but at least someone technical could read through the source if they want to build something similar on their own... Is that something you'd find useful?

    • @robmckennie4203
      @robmckennie4203 5 лет назад +5

      It's probably not something i'd work on, i'm time poor and have other projects on the go, but I think it would be better than nothing for anyone who wants to work on it

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

      Also if you mean you have a single repo with multiple projects in it, I would recommend against that, repos are cheap

  • @UltimatePiccolo
    @UltimatePiccolo 5 лет назад +80

    This would be great for a horror game, good project though.

  • @MotobugGaming
    @MotobugGaming 3 года назад +11

    It's amazing how it's been only 3 years but we've already advanced AI to the point where generated faces are near perfect!

    • @Imotbro
      @Imotbro 3 месяца назад +1

      And another three years, AI can generated a next to impossible dectect, Hyper-realistic videos with 80% plus accuracy with faces with environmental factors and expressions with that. (No sound)
      In 2027, I bet it does the same as 2024, but better, with sound, 1.5 minutes of video / seconds production, 99.97% accuracy, voice editor, and generates faces of any age that match the voice, sound, brains, and action.

  • @namelessnick9791
    @namelessnick9791 5 лет назад +489

    8:55 wtf is that

    • @CaptainAlien132
      @CaptainAlien132 5 лет назад +39

      My nightmares

    • @patrikbartos8236
      @patrikbartos8236 5 лет назад +79

      Dude cmon thats my daughter...

    • @Tom21369
      @Tom21369 5 лет назад +27

      Its ma‘am!

    • @crugger2582
      @crugger2582 5 лет назад +16

      Ur mom

    • @l3p3
      @l3p3 5 лет назад +14

      That is your new girlfriend that will lie right next to you when you wake up this night.

  • @kreendurron
    @kreendurron 5 лет назад +192

    Would love to see a higher resolution version of this

  • @LehySnek
    @LehySnek 5 лет назад +31

    This is just a video of Oblivion's character editor...

  • @KeinNiemand
    @KeinNiemand Год назад +4

    In just a few years we went from this to stable diffusion/dalle 2/midjourney.

  • @jademonass2954
    @jademonass2954 4 года назад +13

    7:47 that is so freaking creepy

  • @ToastingInEpicBread
    @ToastingInEpicBread 6 месяцев назад +4

    Yesterday was nostalgic. The future is unprecedented.

  • @vanz681
    @vanz681 3 года назад +13

    The weird moment when you see your own face in the video

  • @JackLe1127
    @JackLe1127 5 лет назад +149

    Is there a way to train a model to score how realistic a face is and use it to tweak the sliders using genetic algorithm?

    • @evennot
      @evennot 5 лет назад +49

      Yes, that one is called adversarial learning. Basically, you have two competing systems and a set of real photos. System A generates faces from random noise, B is presented with A's output and real photos to be trained to distinguish them. Then A is improved (using B's correct answers as a loss function), then B is improved, etc
      No need for GA there too. It can be performed using simple gradient learning, etc

    • @eliasniemann7998
      @eliasniemann7998 5 лет назад +3

      @@evennot you'd have to label the images

    • @carlosfernandez5833
      @carlosfernandez5833 5 лет назад +6

      To expand in what the first commenter said, model B would be what we call a discriminator because it's trained to discriminate between real and fake images. This is also how deepfake videos are made.

    • @TavartDukod
      @TavartDukod 3 года назад +2

      @@eliasniemann7998 No you do not.
      You actually do two things: you generate images using NN A from random noise and you feed those images as well as images from the dataset into the NN B. NN B learns to distinguish images from the dataset and images that were generated by NN A. NN A learns to trick NN B into believing images it generates are from the dataset. No labeling involved.
      Of course you wouldn't get sliders neatly corresponding to describable features of the dataset, but you can get really realistic images as long as your datasets are big enough. For example thispersondoesnotexist.com/ uses GANs to generate faces.

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

      @@TavartDukod I just typed "face" into Google image search and the 6th result wasn't a real face. So you don't need to label, but you need to manually check the input

  • @enmanniska
    @enmanniska 6 лет назад +29

    I definitely think that you should continue making videos like this one.

  • @micahgilbertcubing5911
    @micahgilbertcubing5911 5 лет назад +89

    Here from carykh! You totally deserve more subs!

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

    I absolutely loved this video. Thank you. I only just found your channel today for the first time, I’m now binging all of your videos! Love you dude!

  • @gymprofessor329
    @gymprofessor329 3 года назад +1

    I love that you went into the statistics a bit. Really cool concepts hiding in there.

  • @shrimpfry880
    @shrimpfry880 10 месяцев назад +6

    meanwhile in 2023: you can animate donald trump catching an octopus and innviting his president friends to dinner

  • @danielvillegas6273
    @danielvillegas6273 5 лет назад +4

    This could improve a lot how police sketches are created. Not only that, this provides an interface that could be used with NLP to automatically generate a seed sketch and then refined. Congratulations, really cool.

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

    This video is so cool. The explanation about PCA and what the most important features are using the slides is really educational. Thanks for putting this together.

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

    Just found your channel, and I love the technical videos like this! You have a knack for explaining things in a really intuitive and understandable manner. I've been wanting to get into Machine Learning, and I really appreciate these videos
    Thanks man, keep up the good work!

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

    Number 8 is (a)symmetry y. It's easier to recognize if you don't think of these as faces but as images.

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

    I for one definitely enjoy the more technical videos, keep up the good work!

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

    "I'm not sure what the format of this channel will be.": You're doing great. You keep it theoretically sound and practical so we can learn ourselves with your code.

  • @Micha-Hil
    @Micha-Hil 3 месяца назад +3

    About half a decade later and modern AI has completely trivialized this process

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

    8:22
    Zucc shedding his skin

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

    Very intuitive presentation of ideas. The combination of Auto encoder with PCA to make them interpretable was new to me, even though I have read about VAE etc etc. Also your ability to interpret and label the first 8 or 10 features was mind blowing. Nice work!

  • @cara-setun
    @cara-setun Год назад +2

    Incredible how far we’ve come since this

  • @garbageyoutubechannel310
    @garbageyoutubechannel310 5 лет назад +98

    I want an online face generator for the world to use

    • @herbiehusker1889
      @herbiehusker1889 5 лет назад +7

      Go to thispersondoesnotexist . com

    • @sergeboisse
      @sergeboisse 5 лет назад +3

      There is one. faceresearch.org/demos/average

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

      @@sergeboisse holy shit, thank you. I haven't laughed that much in a while.

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

      @@herbiehusker1889 Are those computer generated? They're so perfect, look like real pictures. Wish there was a similar site but that generated only good looking people.

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

      @@herbiehusker1889 Also, isn't there one where we can adjust the knobs to obtain a custom face?

  • @memnarch108
    @memnarch108 5 лет назад +3

    Great video. I'd love to see more similar technical videos, with unsupervised learning. Seems like supervised learning dominates almost everything, but those things seem quite powerful.
    I'd love to see e.g. some variational eutoencoder or similar things.

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

    These all faces are absolutely beautiful! I'm definitely in love with them)) Thanks alot for your great job!

  • @RGPankO
    @RGPankO 4 года назад +1

    These faces were truly horrific.
    Just stumbled upon your channel.
    Please dont dissapoint me by becoming inactive but instead you have lots of new amazing content like this one! :)

  • @mjde9532
    @mjde9532 4 года назад +6

    Imagine being a hypercube with all the generated faces

  • @piereligiodisante
    @piereligiodisante 6 месяцев назад +5

    I miss the times when this was a breakthrough

  • @AjitSharma-km6ev
    @AjitSharma-km6ev 5 лет назад

    So well explained! It was amazing to see how the algorithm picked up certain features so well. I would surely play with the code.

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

    This is so amazing. As an artist who loves drawing faces and creating faces, it could be so helpful in character creating.

  • @xPROxSNIPExMW2xPOWER
    @xPROxSNIPExMW2xPOWER 5 лет назад +74

    Can you post the code on git I want to test this on my own dataset. Want to see where I stand in the customization of the sliders lol

    • @XxRiseagainstfanxX
      @XxRiseagainstfanxX 5 лет назад +42

      ProSurviver admit it, xou just want to feed it pornstars..

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

      @@XxRiseagainstfanxX 🤫🤫

  • @TasmanianTigerGrrr
    @TasmanianTigerGrrr Год назад +4

    I generate a human face everytime i look in the mirror

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

    You need to continue making videos like this, this is awesome

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

    I know nothing of coding, but found this thoroughly entertaining. You're extremely promising.

  • @Lemonatic
    @Lemonatic 5 лет назад +11

    cool tech.. but don't get me wrong.. every picture says: PLEASE KILL MEEEEEEE!

  • @arendmandelings4499
    @arendmandelings4499 5 лет назад +22

    This is one of the coolest, most inspiring videos I've seen in a long time. I really like what you do and what your interests are and seriously hope you're putting your skills and talent to good use in a challenging job.
    P.S. Where did you learn all this stuff? I learned about PCA just last year and was amazed at what it could do, but I'm referring to the programming skills.

    • @CodeParade
      @CodeParade  5 лет назад +6

      Programming is something I've been doing for so long, I've learned from so many sources. My own tinkering, game making, school, the internet, university, etc. Machine learning stuff was mostly self-taught though.

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

      Well, I hope you enjoy it as much as I like watching the results

  • @ineedhelp1016
    @ineedhelp1016 3 года назад +2

    7:27 "Lets say we want someone with a dark shirt..." The next slide proceeds to make it a light pink.

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

    Cool video! This stuff is so interesting to me. It’s amazing what can be done with some math and a computer. I took an introductory data science course during my CS degree, but videos like this make me wish I understood all this stuff better.

  • @I77AGIC
    @I77AGIC 4 года назад +4

    at 2:49 what do you mean by "instead we just imbed all training samples randomly"? I understand what the latent space is. But if it's only 80 dimensions, how do you get an entire image down to those 80 dimensions without an encoder? Are you feeding a random vector into the latent space and training it to produce a face from just random inputs?

    • @I77AGIC
      @I77AGIC 4 года назад +1

      Just realized the source is in the description. apparently keras actually has an "embedding" layer. the description they give of what it does is vague and i still don't get it, but it's a start

  • @misaalanshori
    @misaalanshori 5 лет назад +64

    Me: *watches technical part*
    Brain: "oh, I totally understand this..."
    Me: "what did I just watch?"
    Brain: "ummmmmmmmmmmm what?"

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

      its simple
      he is not doing it the first way but choses to take the easier way

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

    I had absolutely no idea what you were speaking about, but i still found this very interesting lol.

  • @WhojaVu
    @WhojaVu 4 года назад +1

    I am studying media technology and this is really a nice way to explain everything.

  • @Mic_Glow
    @Mic_Glow 5 лет назад +5

    8:38 OH GOD
    OH GOD
    hey, that one is pretty
    OH GOD

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

    I have absolutely no clue what the hell is going on in this video but I'm hooked anyway

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

    Totally awesome video! Based on your insights, you could preprocess images to make largely redundant some of the biggest PCA components. Eg alighn all faces to the centre of the image, adjust for size differences of the face and maybe rotate faces so to be not tilted. Maybe also add 2 faces to the dataset which you generate yourself by averaging the faces of all girls and all guys. Those are likely to be used as major parts of the PCA axis for gender. Then rerun the training process. With a bit of iterative tweaking like that, my goodness, you really could have an amazing tool for modeling faces with all sorts of real world commercial applications. Well done mate! Brilliant work.

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

    Really looking forward to a future case with this sort of thing (or the similar one by carykh) in higher quality, i.e. with higher quality resulting images. It's already really cool of course, but that would make it even nicer to see.

  • @rv706
    @rv706 5 лет назад +6

    Somewhere among the 80 parameters there must be the Francis Bacon portrait effect

  • @grease92
    @grease92 4 года назад +4

    6:37
    Wouldn’t you like to know, weatherboy!

  • @jyotishkaraychoudhury4762
    @jyotishkaraychoudhury4762 3 года назад +2

    @CodeParade Can you tell me how you made the side-by-side picture output and slider input (For adjusting the principal components) thing ?

  • @TheCymbalProject
    @TheCymbalProject 2 года назад +2

    The demo is crazy fun to play with....

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

    This is more horrifying than "this person does not exist" so congrats.

  • @estebann
    @estebann 5 лет назад +7

    I was able to kindda replicate the concept your project. A rather poor man's version of it.
    My version is built with Tensorflow and Python, but I have a AMD GPU, so I had to make some sacrifices to be able to have interesting results with my CPU. Ended up scaling things down to 60x60 grayscale image.
    I don't know much academic level math, took me a while, but managed to grasp an intuitive understanding of PCA (and most importantly, implement it in python). As in your video, it made everything better.
    One thing I added to your concept was a couple randomizer buttons that switch all component values to +/-1 standard deviation, +/-2 standard deviation or +/-3 standard deviation it was really fun to see the generation of faces.
    I am afraid that in my search of scaling things down I might have overfitted the NN.
    My NN has an input of 3600 grayscale pixels (60x60 image), only one hidden layer of around 1000, and 40 dimensions in latent space.
    For training I used just 256 pictures , in batches of 16 pictures.
    For each epoch of training, I shuffled the training set, so that no 16 pictures batches the same, so to not have the same batches. I noticed this made a huge impact in quality of face generation.
    For optimizer I used a RMSPropOptimizer, learning step of 0.001 ,and for loss calculation, I tryied a few.
    I made several runs but all of them ended up simmilar. They didn't reduce loss over time. I also notice that some knob configurations produce really detailed images that I think are the same as one in the dataset.
    I am in doubt about it being overfitted, since I ran through the autoencoder images that I didn't use for training, and it did a really good job. Does this discard overfitting?
    What would be your choise about the method of loss calculation and choise of optimizer?
    I really learned a lot thanks to this video. It pushed me to learn something new.

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

      Wow, that's awesome!
      Having only 256 images for training would definitely make me nervous about over-fitting, especially if your loss isn't going down. Did you include horizontal-mirror images? That can double your dataset size if you didn't include them already, I used that trick in this project to double the total. You can also add random translations, rotations and scales of the dataset if you still need more.
      I like the Adam optimizer the best, I basically always use it unless its having convergence issues. MSE is fine for loss assuming you have a sigmoid activation as your last layer to clamp pixel brightness to 0-to-1.

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

    Arrived here from your music generation video. Amazing stuff.

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

    Man that was really nice. A very enjoyable way to learn something!

  • @LamanodeManolo
    @LamanodeManolo 5 лет назад +3

    Crazy project man. Would be insane to create an AI trained to make the most human and clearest faces!

  • @ChrissyoSpace
    @ChrissyoSpace 6 лет назад +15

    Really cool! I guess my main question would be something like: how well can you recognise (parts of?) your high school classmates in the generated faces? Do they look like total strangers to you, or are most of them like "oh, that generated face is mostly just Peter, but with some variations" or maybe "that face is part Peter, part George"? The sliders seem to show a pretty smooth transition between faces, so I assume the former ... but at the same time, it's hard to judge how random they are without having known any of the people in the training set. Once again, really cool video! :)

    • @CodeParade
      @CodeParade  6 лет назад +5

      As far as I can tell they all look 'new'. The school was pretty big though, and this combines all grades, I don't know most of the people either. I didn't show any of the originals since I don't have their permission.

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

      @@CodeParade jesus i've been trying to remember your name for two days. all i want to do is extend the bin data of fourier audio frames to make low sample rate audio high sample rate audio with similar precision to this face app. today people publish papers about this, i don't want perfection, just something to mess around with. that's why i am thinking of you, because you understand art. i can't believe humanity is so selfish there's not even a free web platform offering any kind of "spectral improvisation" but i'd guess a simple GAN would make the 10kHz files at riffusion much more pleasing since it would be so easy to train for. any tips on ML algorithm? (i gotta watch this one again..) i'm gonig to have to make a windows app becaus ei'm sick of humanity, horribly greedy horribles.

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

    All that time in linear algebra and I literally couldn't visualize the shit we did when dicking around with bases or linear independence. It took this video to even get me a foothold two years later.

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

    I want this to improve further. This is dope.

  • @boyos
    @boyos 5 лет назад +12

    0:14 is that ksi

  • @OrangeC7
    @OrangeC7 5 лет назад +16

    It would be really nice to see this done with perhaps a much larger data set but maybe with 100 parameters, then hide all but about 20-30 of the less important parameters and have all of the others being randomly shifted constantly to see if it makes any kind of aesthetic. However, it would be amazing if there was some kind of download link to play around with this ourselves. I hope one becomes available sometime!

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

      Yeah I'd love to play around with this

  • @MoonlightMirage
    @MoonlightMirage 3 года назад +1

    7:33 / 7:34 Honestly, that right there looks really solid in comparison to most of the other faces in the video

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

    Crazy cool stuff. I like your jpg analogy. I think of this sort of like the mp3 encoding that it knows the aural characteristics and compresses based on that advantage.

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

    I feel like the complications were just due to taking a shortcut you assumed would work, but didn't. And I suspect you'd get better results by simplifying your algorithm to actually encode first rather than use two out-of-the-box dimensionality reduction algorithms before finally applying the dimensionality reduction algorithm that this video is actually about.

  • @bredstic9836
    @bredstic9836 5 лет назад +3

    Those faces are some real nightmare fuel jesus

  • @drakeaske9784
    @drakeaske9784 3 года назад +1

    I love that moat of these are just nightmare fuel

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

    Amazing demonstration. A larger dataset would be very interesting to see.

  • @flyingsquirrel3271
    @flyingsquirrel3271 5 лет назад +6

    This is amazing and very creepy!

  • @als_pals
    @als_pals 5 лет назад +18

    Is there some way I can play with the sliders?

  • @motbus3
    @motbus3 4 года назад +1

    This is awesome. Best latent ans autoencoder explanation in very few sentencea.
    Please do more videos like this!

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

    Wow, in the latent space representation, the activations are correlated. Who knew? Not me. Please keep doing this.

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

    8:55 sleep paralysis demon

  • @audiohacker5298
    @audiohacker5298 5 лет назад +14

    I accidentally click the random button then a beautiful girl shows up. I clicked it again
    its lost

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

    This was highly enjoyable. Thanks!

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

    Even though I didn't fully understand, this was still really REALLY interesting

  • @krupt5995
    @krupt5995 5 лет назад +5

    these are so spooky