deepfakes / faceswap-playground

User dedicated repo for the faceswap project
303 stars 194 forks source link

My improved original model. #120

Closed iperov closed 6 years ago

iperov commented 6 years ago

Before:

out00168 2018-03-27_10-28-15

2018-03-27_10-29-18

After:

out00168 ^ also this is 2GB low mem model, where reduced bottleneck dim and code dim.

What I changed: embedded local landmarks to png files feeding network evenly with 18k sorted files by yaw added non convex hull face mask to model ( 4th dimension input and output ) Fixed converter, there are two bugs in it. Now blur and erosion working properly, also histogram matches only masked face, so background color doesnt affect face color matching.

of course it works only in my DeepFaceSwapper global refactoring fork.

nvidia share_2018-04-01_19-47-30 (also there are many improvements versus original faceswap, such as multigpu extractor, automatic gpu and batch size manager in trainer, and other) I did this in 5 days, while bryanlyon can only criticize my work and I was wasting time making prs So no more criticism! Because I will not PR this. HAHAHAHAHHA

bryanlyon commented 6 years ago

@iperov nobody has ever said you aren't a skilled coder. Obviously you are quite capable of coding and fixing bugs. No one has ever said otherwise. The only thing anyone has ever said about you is that your attitude is inappropriate. We're all volunteers on this project and trying to make it better. I am one of just 4 people I've seen ask you to be nicer to others. You have attacked and denigrated anyone who disagrees with you or touches any of your code.

We understand that English isn't your first language, and we make every effort to work with you, but we ask that you respect others's opinions and differences. You've PRd some great code, most of which we've implemented, some of which we've asked for small changes and you've refused and pulled the PR. This was never an attack on you, we've only sought to work with you and have everyone's voices heard.

I am sorry that you've decided to stop working with us and sending PRs, and I'm especially sorry if you think that I've been targeting you, that was not my intention. I have supported all of your ideas and even merged at least one of your PRs myself. I hope that you'll change your mind and decide to help us again, you're an excellent coder and we'd be happy to have you back, so long as you can treat other people with dignity and respect.

Thank you for your bug report, we'll look into the bugs you've mentioned and fix them.

iperov commented 6 years ago

and again tons of words

Kirin-kun commented 6 years ago

Well, it looks cool. But coming here to taunt is a bit immature. Nobody stops you from making your own fork. Shaoanlu has his own work, dfaker has is own work, deepfakes has its own work. You have your own work. It's up to you to share it on github and lord over it. Or not.

Just curious, your masking uses face segmentation to exclude occlusions from conversion? If part of the face is missing.

iperov commented 6 years ago

you are wrong, nothing missing in ORIGINAL model.

Kirin-kun commented 6 years ago

You didn't understand my question. But whatever.

iperov commented 6 years ago

You didnt understand how original model works. But whatever.

iperov commented 6 years ago

Kirin-kun - is second reason why I will not share my work.

iperov commented 6 years ago

There are too many trolls in this community.

gessyoo commented 6 years ago

If you've created a better model, would you be willing share the code with those of us who don't code very well, maybe as a plugin model, of course with full credit to yourself as the author?

iperov commented 6 years ago

implemented adaptive blur+erosion size to perfect erode/blur mask on various face sizes so user no more need to adjust this values fsviewer_2018-04-02_23-55-54 fsviewer_2018-04-02_23-57-02

iperov commented 6 years ago

implemented loss history python_2018-04-02_23-59-41

iperov commented 6 years ago

@gessyoo I planning to release for windows here https://rutracker.org/forum/viewtopic.php?t=5519086

Kirin-kun commented 6 years ago

At this point, it's a new project and I think you're better off doing your own thing, because you're not suited for collaborative work with the people here.

Good luck in your endeavor!

iperov commented 6 years ago

im going to port DF to my architecture. It has better training data generator algorithm - warping src face to dst face by landmarks and randomizing them.

iperov commented 6 years ago

lol why close in playground ?

deepfakesclub commented 6 years ago

I haven't commented before about this because I'm a mere end user, but come on. There are unhelpful and inactive old issues currently still open, but this one is closed?

I don't agree with his antisocial attitude, and I don't understand all of the technical details because I'm not a programmer. However, for the technical and non-technical parts that I do understand, I have mostly agreed with @iperov. People have been constantly jumping all over his PRs since day 1 - are you surprised that he is annoyed after all the work he put in? And these days inferior PRs are committed with barely a discussion? He has every right to be upset, although no excuse for how he dealt with it. Voices from people who contribute more should be given more leeway and weight - I mean before the insults, not after. I've specifically refrained from commenting on other PRs for this reason.

Let's be clear. There are inept programmers contributing bad code. There are inept managers misdirecting the whole affair. There are inept users wasting people's time. And there are socially inept people tangled in the mix. But who cares. We're not saving lives here. We're pursuing a leisure hobby. Plus, all of you are a pretty cool group. I'll be more explicit. I think @bryanlyon has made illogical statements, but I don't care, because I still think @bryanlyon is a good guy to have around.

My only major difference of opinion with @iperov is that I think all sides are doing work that can provide value and education. Yes, the repo is growing like a cancer, but that just means more ideas and code snippets to learn from. I think it's great to cultivate all the programmers that want to contribute, and that includes @iperov. He is taking ideas from here (please note, licensed by GNU GPL3) to write his own code. People can take ideas from him as well. @Clorr had the embedded png idea and @iperov implemented it. Good things happen by sharing ideas, not just code.

And no, there is zero need to kiss up to him. The advances these days are incremental, and if he quits, it's not a major blow to the world or anything. None of what has been proposed or done is a game-changing advance, and definitely not going to bring about world peace. I'm pretty sure he called me dumb in the past as well. I'm just calling it as I see it.

It seems like @iperov is willing to tone down his antics and go back to focusing on the technical side. I get that people are emotional humans, but @iperov deserves some credit for what he has contributed. I make no excuses for him, but I have also seen him genuinely try to help people before, too. So I'll at least chime in my two cents on his sort-of behalf. I actually think splitting up into community and solo forks is a good idea and will make for a stronger ecosystem, especially if there is crosstalk and communication.

Kirin-kun commented 6 years ago

Like @iperov would say: too many words.

Everyone is free. He intends to develop his own fork and I approve. If it's better, people interested will migrate toward his project and eventually contribute. It will help everyone.

deepfakesclub commented 6 years ago

Then, he has a right to discuss his related work here.

Kirin-kun commented 6 years ago

Discussing his improvements here is taken as gloating by some people. I think he just wants validation/acknowledgement of his work. But at this point it's a clash of egos and this is too far removed from programming to be interesting.

iperov commented 6 years ago

@Kirin-kun you are envy ?

Kirin-kun commented 6 years ago

I just wish I had more time to delve into deep learning and help, but my job & family life doesn't allow it :(

iperov commented 6 years ago

I dont need acknowledgement of my work from bunch of noobs like you. My goal make better program for end users and better platform for programmers.

deepfakesclub commented 6 years ago

@Kirin-kun Understood. Similar boat on the time issue for most of us...

Okay, I'm done. Yes, this is likely a waste of time. But I beg to differ on your previous point. Programmers will always be more important than programming. Worth one, and only one, try.

@iperov You don't owe anyone a damn thing. But, please?

iperov commented 6 years ago

there are only 3 three people annoying me in this repo: bryanlon, kirinkun and apollo122

iperov commented 6 years ago

deepfakesclub thx for promoting deepfakes

Jack29913 commented 6 years ago

@iperov now that you are no longer doing PRs, and using your own code base what's your reason posting stuff here?

bryanlyon commented 6 years ago

My reason for closing this was that this was just gloating and attacking. He refused to share anything he's done and there was no real discussion. I'm fine with it reopening since it's now encouraging actual discussion.

iperov commented 6 years ago

I will share it anyway, because code anyway will be exist in windows release, so why hide it.

iperov commented 6 years ago

currently I testing MTCNN vs DLIBCNN. In first look MTCNN better, but it finds too many false faces, which not problem for my sorttool.

iperov commented 6 years ago

Result of 18 hours of training automatic LowMem modification of this model trained on laptop gtx850m 2GB https://www.youtube.com/watch?v=EVG13JU31d8

and compare with old fakeapp https://www.youtube.com/watch?v=Va9JLpkCUBs