ZHKKKe / MODNet

A Trimap-Free Portrait Matting Solution in Real Time [AAAI 2022]
Apache License 2.0
3.85k stars 636 forks source link

How to Train our own Model? ❤ NOT ISSUE - This could be interesting and helpful, please read! #194

Open AlonDan opened 2 years ago

AlonDan commented 2 years ago

Hello Everyone, First of all this project is inspiring, I would like to thank the amazing developers YOU ROCKS! 💙

Just to be clear, English is not my native language but I hope you'll understand this love letter to to the community.

I'm writing down points that we (newbies and beginner) are curious about and would like to learn from advanced programmers and users, hopefully to make things more "user friendly" so we can try ourselves and make MODNet more interesting and more community evolved by sharing results and sharing tips & tricks.

If I had the knowledge and experience to make a Step-by-Step GUIDE or Video Tutorial I would donate my spare time to share it with the community, but since I'm clueless as many others I've created this "Suggestion Guide" for others to answer the confusion of how to get started with training a MODNet model.

Probably the original developers (which are awesome!) don't have the time to help in here, I wish they could help so maybe others who already know the area will be kind to share their knowledge:


🔷 INTRODUCTION: I'm not a programmer so I can probably follow simple tasks to see results, that's how me and probably other newbies installed MODNet locally on Windows and Anaconda.

Using the pre-trained model was successfully working SMOOTH and have no issues! But like many others, I'm more curious about making higher quality models and trying to learn and experiment training different dedicated models. 👍

The Problem is that I have no idea how to TRAIN my own model... it is probably much more complex than the simple parameters to use the DEMO Pre-Trained locally on windows (Unless I'm wrong it's not that complicated... hopefully?) 🤔


LET'S START: Can somebody please be kind and consider to make a short guide, step-by-step explanation or even visual Video Tutorial and show all the steps on how to start training our own model?

For example:

  1. How to start training?
    • What commands to use on Anaconda ? For Windows and Anaconda users, I noticed it looks different on Linux so it may be hard to follow.

  1. Is there a big DATASET available we can download for trying to Train ? If so...

  1. Once our MODEL is trained (even not for a long time) How to:

  1. Can we AIM the training TARGET for something specific? For example:

HOW do you prepare it so the TRAINING will KNOW what is the TARGET? DOGS ONLY for example in dataset that contain many things beside the dogs?

Do we have some way to "DRAW" around it to prepare the target? do we need to manually prepare the dataset in PHOTOSHOP to bring to focus ONLY the targets? or it works totally different?

How do we TARGET our SUBJECT per image on a big amount of images for our dataset, I've Created an example of 1 single DATASET image should we CROP? Dataset SPECIFIC Target Example

✔ Please don't spare the details of how it works exactly.


  1. General Questions about Training / Dataset:

GREAT Tutorial-Idea to make could be a step-by-step guide that shows how to collect a specific dataset of "SOMETHING" for example: A dedicated dataset of only HUMAN FULL BODY or specific OBJECT, ANIMAL, etc.. 👍

If training different models based on "SPECIFIC" dataset of image, this could be VERY interesting to test and experiment MODNet and share results with others!


CONCLUSION: If someone will be kind to take the time and make such step-by-step guide (for newbies as well) consider some people are not programmers, it will be very helpful for the whole community.

I hope to see this, and maybe even more people will be able to share different results of their own models.

Thanks ahead to ANYONE who consider to follow the points above and making some sort of guide or video tutorial. Much Love and appreciation ❤