Commit
·
0ac4eff
1
Parent(s):
3112ed0
Refactor background removal in app.py to utilize dis_bg_remover for improved image processing. Removed rembg dependency and updated related logic in remove_background function. Updated requirements.txt to reflect the change in background removal library.
Browse files- app.py +5 -14
- requirements.txt +2 -1
app.py
CHANGED
|
@@ -9,7 +9,6 @@ import PIL
|
|
| 9 |
from pipelines import TwoStagePipeline
|
| 10 |
from huggingface_hub import hf_hub_download
|
| 11 |
import os
|
| 12 |
-
import rembg
|
| 13 |
from typing import Any
|
| 14 |
import json
|
| 15 |
import os
|
|
@@ -18,9 +17,9 @@ import argparse
|
|
| 18 |
|
| 19 |
from model import CRM
|
| 20 |
from inference import generate3d
|
|
|
|
| 21 |
|
| 22 |
pipeline = None
|
| 23 |
-
rembg_session = rembg.new_session()
|
| 24 |
|
| 25 |
|
| 26 |
def expand_to_square(image, bg_color=(0, 0, 0, 0)):
|
|
@@ -45,17 +44,9 @@ def remove_background(
|
|
| 45 |
force: bool = False,
|
| 46 |
**rembg_kwargs,
|
| 47 |
) -> PIL.Image.Image:
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
|
| 51 |
-
print("alhpa channl not enpty, skip remove background, using alpha channel as mask")
|
| 52 |
-
background = Image.new("RGBA", image.size, (0, 0, 0, 0))
|
| 53 |
-
image = Image.alpha_composite(background, image)
|
| 54 |
-
do_remove = False
|
| 55 |
-
do_remove = do_remove or force
|
| 56 |
-
if do_remove:
|
| 57 |
-
image = rembg.remove(image, session=rembg_session, **rembg_kwargs)
|
| 58 |
-
return image
|
| 59 |
|
| 60 |
def do_resize_content(original_image: Image, scale_rate):
|
| 61 |
# resize image content wile retain the original image size
|
|
@@ -87,7 +78,7 @@ def preprocess_image(image, background_choice, foreground_ratio, backgroud_color
|
|
| 87 |
background = Image.new("RGBA", image.size, (0, 0, 0, 0))
|
| 88 |
image = Image.alpha_composite(background, image)
|
| 89 |
else:
|
| 90 |
-
image = remove_background(image,
|
| 91 |
image = do_resize_content(image, foreground_ratio)
|
| 92 |
image = expand_to_square(image)
|
| 93 |
image = add_background(image, backgroud_color)
|
|
|
|
| 9 |
from pipelines import TwoStagePipeline
|
| 10 |
from huggingface_hub import hf_hub_download
|
| 11 |
import os
|
|
|
|
| 12 |
from typing import Any
|
| 13 |
import json
|
| 14 |
import os
|
|
|
|
| 17 |
|
| 18 |
from model import CRM
|
| 19 |
from inference import generate3d
|
| 20 |
+
from dis_bg_remover import remove_background as dis_remove_background
|
| 21 |
|
| 22 |
pipeline = None
|
|
|
|
| 23 |
|
| 24 |
|
| 25 |
def expand_to_square(image, bg_color=(0, 0, 0, 0)):
|
|
|
|
| 44 |
force: bool = False,
|
| 45 |
**rembg_kwargs,
|
| 46 |
) -> PIL.Image.Image:
|
| 47 |
+
model_path = "isnet_dis.onnx" # Update with the correct path to the ONNX model
|
| 48 |
+
extracted_img, mask = dis_remove_background(model_path, image)
|
| 49 |
+
return extracted_img
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 50 |
|
| 51 |
def do_resize_content(original_image: Image, scale_rate):
|
| 52 |
# resize image content wile retain the original image size
|
|
|
|
| 78 |
background = Image.new("RGBA", image.size, (0, 0, 0, 0))
|
| 79 |
image = Image.alpha_composite(background, image)
|
| 80 |
else:
|
| 81 |
+
image = remove_background(image, force=True)
|
| 82 |
image = do_resize_content(image, foreground_ratio)
|
| 83 |
image = expand_to_square(image)
|
| 84 |
image = add_background(image, backgroud_color)
|
requirements.txt
CHANGED
|
@@ -9,7 +9,8 @@ opencv-contrib-python-headless==4.9.0.80
|
|
| 9 |
opencv-python-headless==4.9.0.80
|
| 10 |
xformers
|
| 11 |
omegaconf
|
| 12 |
-
rembg
|
|
|
|
| 13 |
git+https://github.com/NVlabs/nvdiffrast
|
| 14 |
pygltflib
|
| 15 |
kiui
|
|
|
|
| 9 |
opencv-python-headless==4.9.0.80
|
| 10 |
xformers
|
| 11 |
omegaconf
|
| 12 |
+
# rembg
|
| 13 |
+
dis_bg_remover
|
| 14 |
git+https://github.com/NVlabs/nvdiffrast
|
| 15 |
pygltflib
|
| 16 |
kiui
|