DIS Auto Background Removal

The project to remove over 35,000 products backgrounds came to me as job request. The project sounded simple at the start, but as I found with all projects it just doesn’t go that way. I found that to complete this project within the timeline I would have to “use” a trained model to remove the background. In the end I ended up having to further train a built model to understand what would need to be done. This required me to learn machine learning concepts, AI training algorithms, and PyTorch.

Project Hardware Scope

Before I could even train a model I either needed to use a high priced EC2 server or build my own…… and as a tech enthusiast I can say I picked the best time efficient route. So, I built my own! *cough cough*

All In House Work

When building the in house system to train and run the background removing program I had to find out what kind of hardware was needed. For starters I found PyTorch had a very powerful library that used CUDA, which meant I’d need to acquire a Nvidia graphics card. One part of the in house build I didn’t account for was how much storage was needed. I started with 2 TB ssd and 8 TB hdd totaling to 10 TB of usable storage, but as I started removing backgrounds and converting these images to PNGs I ended up having to increase my storage to 60 TB to hold it all.

Programming Language

Python was the main language used for his build for the ease of use and large libraries such as PyTorch.

Hardware Used

I used a headless machine with a Tesla K80 as the GPU to run dual programs at the same time and a Ryzen 1700x as the CPU.

Storage Used

I ended up keeping the 10TB on the main server and having a 50TB NAS server running alongside for holding backups and complete images.

Before / After

Process that goes through to extract the image from the background

Left ImageRight Image
Left ImageRight Image

GitHub Page

Check Out the Program

The used code can be found on the git page provided bellow.