diff --git a/.flake8 b/.flake8 new file mode 100644 index 0000000..d92aeef --- /dev/null +++ b/.flake8 @@ -0,0 +1,5 @@ +[flake8] +ignore = E203, E266, E501, W503, F403, F401 +max-line-length = 79 +max-complexity = 50 +select = B,C,E,F,W,T4,B9 diff --git a/.gitignore b/.gitignore index 26376df..9874406 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ __pycache__ /tests/tests_temp/ /.pytest_cache/ /carvekit.egg-info/ +venv \ No newline at end of file diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..37dfec9 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,10 @@ +repos: +- repo: https://github.com/psf/black + rev: 22.10.0 + hooks: + - id: black + language_version: python3.10 +- repo: https://gitlab.com/pycqa/flake8 + rev: 3.9.2 + hooks: + - id: flake8 \ No newline at end of file diff --git a/Dockerfile.cpu b/Dockerfile.cpu index ede8c1c..975093f 100644 --- a/Dockerfile.cpu +++ b/Dockerfile.cpu @@ -5,7 +5,7 @@ WORKDIR /app RUN pip3 install --no-cache-dir tqdm==4.64.0 requests==2.27.1 RUN mkdir -p ./carvekit/utils/ RUN mkdir -p ./carvekit/ml/files -RUN touch ./carvekit/__init__.py +COPY ./carvekit/__init__.py ./carvekit/__init__.py RUN touch ./carvekit/ml/__init__.py RUN touch ./carvekit/utils/__init__.py COPY ./carvekit/utils/download_models.py ./carvekit/utils/download_models.py @@ -18,7 +18,7 @@ FROM python:3.10.4 WORKDIR /app RUN apt-get update && apt-get -y install libgl1 # Install cv2 dep. -COPY --from=builder /root/.carvekit /root/.carvekit +COPY --from=builder /root/.cache/carvekit /root/.cache/carvekit # Install requirements COPY requirements.txt ./ @@ -34,15 +34,19 @@ RUN pip3 install -e ./ ENV CARVEKIT_PORT '5000' ENV CARVEKIT_HOST '0.0.0.0' -ENV CARVEKIT_SEGMENTATION_NETWORK 'u2net' +ENV CARVEKIT_SEGMENTATION_NETWORK 'tracer_b7' ENV CARVEKIT_PREPROCESSING_METHOD 'none' ENV CARVEKIT_POSTPROCESSING_METHOD 'fba' ENV CARVEKIT_DEVICE 'cpu' ENV CARVEKIT_BATCH_SIZE_SEG '5' ENV CARVEKIT_BATCH_SIZE_MATTING '1' -ENV CARVEKIT_SEG_MASK_SIZE '320' +ENV CARVEKIT_SEG_MASK_SIZE '640' ENV CARVEKIT_MATTING_MASK_SIZE '2048' ENV CARVEKIT_AUTH_ENABLE '1' +ENV CARVEKIT_FP16 '0' +ENV CARVEKIT_TRIMAP_PROB_THRESHOLD=231 +ENV CARVEKIT_TRIMAP_DILATION=30 +ENV CARVEKIT_TRIMAP_EROSION=5 # Tokens will be generated automatically every time the container is restarted if ENV is not set. diff --git a/Dockerfile.cuda b/Dockerfile.cuda index 630744c..b5d31df 100644 --- a/Dockerfile.cuda +++ b/Dockerfile.cuda @@ -5,7 +5,7 @@ WORKDIR /app RUN pip3 install --no-cache-dir tqdm==4.64.0 requests==2.27.1 RUN mkdir -p ./carvekit/utils/ RUN mkdir -p ./carvekit/ml/files -RUN touch ./carvekit/__init__.py +COPY ./carvekit/__init__.py ./carvekit/__init__.py RUN touch ./carvekit/ml/__init__.py RUN touch ./carvekit/utils/__init__.py COPY ./carvekit/utils/download_models.py ./carvekit/utils/download_models.py @@ -18,7 +18,7 @@ FROM pytorch/pytorch:1.11.0-cuda11.3-cudnn8-runtime WORKDIR /app RUN apt-get update && apt-get -y install libgl1 libglib2.0-0 # Install cv2 dep. -COPY --from=builder /root/.carvekit /root/.carvekit +COPY --from=builder /root/.cache/carvekit /root/.cache/carvekit # Install requirements COPY requirements.txt ./ @@ -34,15 +34,19 @@ RUN pip3 install -e ./ ENV CARVEKIT_PORT '5000' ENV CARVEKIT_HOST '0.0.0.0' -ENV CARVEKIT_SEGMENTATION_NETWORK 'u2net' +ENV CARVEKIT_SEGMENTATION_NETWORK 'tracer_b7' ENV CARVEKIT_PREPROCESSING_METHOD 'none' ENV CARVEKIT_POSTPROCESSING_METHOD 'fba' ENV CARVEKIT_DEVICE 'cuda' ENV CARVEKIT_BATCH_SIZE_SEG '5' ENV CARVEKIT_BATCH_SIZE_MATTING '1' -ENV CARVEKIT_SEG_MASK_SIZE '320' +ENV CARVEKIT_SEG_MASK_SIZE '640' ENV CARVEKIT_MATTING_MASK_SIZE '2048' ENV CARVEKIT_AUTH_ENABLE '1' +ENV CARVEKIT_FP16 '0' +ENV CARVEKIT_TRIMAP_PROB_THRESHOLD=231 +ENV CARVEKIT_TRIMAP_DILATION=30 +ENV CARVEKIT_TRIMAP_EROSION=5 # Tokens will be generated automatically every time the container is restarted if ENV is not set. diff --git a/README.md b/README.md index 255c132..8f44cc7 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@

- +

@@ -24,11 +24,11 @@ ## 📄 Description: Automated high-quality background removal framework for an image using neural networks. - ## 🎆 Features: - High Quality - Batch Processing - NVIDIA CUDA and CPU processing +- FP16 inference: Fast inference with low memory usage - Easy inference - 100% remove.bg compatible FastAPI HTTP API - Removes background from hairs @@ -42,11 +42,25 @@ It can be briefly described as 3. Using machine learning technology, the background of the image is removed 4. Image post-processing to improve the quality of the processed image ## 🎓 Implemented Neural Networks: -* [U^2-net](https://github.com/NathanUA/U-2-Net) -* [BASNet](https://github.com/NathanUA/BASNet) -* [DeepLabV3](https://github.com/tensorflow/models/tree/master/research/deeplab) - - +| Networks | Target | Accuracy | +|:-----------------------:|:-------------------------------------------:|:--------------------------------:| +| **Tracer-B7** (default) | **General** (objects, animals, etc) | **90%** (mean F1-Score, DUTS-TE) | +| U^2-net | **Hairs** (hairs, people, animals, objects) | 80.4% (mean F1-Score, DUTS-TE) | +| BASNet | **General** (people, objects) | 80.3% (mean F1-Score, DUTS-TE) | +| DeepLabV3 | People, Animals, Cars, etc | 67.4% (mean IoU, COCO val2017) | + +### Recommended parameters for different models +| Networks | Segmentation mask size | Trimap parameters (dilation, erosion) | +|:-----------:|:-----------------------:|:-------------------------------------:| +| `tracer_b7` | 640 | (30, 5) | +| `u2net` | 320 | (30, 5) | +| `basnet` | 320 | (30, 5) | +| `deeplabv3` | 1024 | (40, 20) | + +> ### Notes: +> 1. The final quality may depend on the resolution of your image, the type of scene or object. +> 2. Use **U2-Net for hairs** and **Tracer-B7 for general images** and correct parameters. \ +> It is very important for final quality! Example images was taken by using U2-Net and FBA post-processing. ## 🖼️ Image pre-processing and post-processing methods: ### 🔍 Preprocessing methods: * `none` - No preprocessing methods used. @@ -69,12 +83,21 @@ It can be briefly described as import torch from carvekit.api.high import HiInterface -interface = HiInterface(batch_size_seg=5, batch_size_matting=1, - device='cuda' if torch.cuda.is_available() else 'cpu', - seg_mask_size=320, matting_mask_size=2048) -images_without_background = interface(['./tests/data/cat.jpg']) +# Check doc strings for more information +interface = HiInterface(object_type="hairs-like", # Can be "object" or "hairs-like". + batch_size_seg=5, + batch_size_matting=1, + device='cuda' if torch.cuda.is_available() else 'cpu', + seg_mask_size=640, # Use 640 for Tracer B7 and 320 for U2Net + matting_mask_size=2048, + trimap_prob_threshold=231, + trimap_dilation=30, + trimap_erosion_iters=5, + fp16=False) +images_without_background = interface(['./tests/data/cat.jpg']) cat_wo_bg = images_without_background[0] cat_wo_bg.save('2.png') + ``` @@ -84,12 +107,13 @@ import PIL.Image from carvekit.api.interface import Interface from carvekit.ml.wrap.fba_matting import FBAMatting -from carvekit.ml.wrap.u2net import U2NET +from carvekit.ml.wrap.tracer_b7 import TracerUniversalB7 from carvekit.pipelines.postprocessing import MattingMethod from carvekit.pipelines.preprocessing import PreprocessingStub from carvekit.trimap.generator import TrimapGenerator -u2net = U2NET(device='cpu', +# Check doc strings for more information +seg_net = TracerUniversalB7(device='cpu', batch_size=1) fba = FBAMatting(device='cpu', @@ -106,7 +130,7 @@ postprocessing = MattingMethod(matting_module=fba, interface = Interface(pre_pipe=preprocessing, post_pipe=postprocessing, - seg_pipe=u2net) + seg_pipe=seg_net) image = PIL.Image.open('tests/data/cat.jpg') cat_wo_bg = interface([image])[0] @@ -129,7 +153,7 @@ Options: -o ./2.png Path to output file or dir --pre none Preprocessing method --post fba Postprocessing method. - --net u2net Segmentation Network + --net tracer_b7 Segmentation Network. Check README for more info. --recursive Enables recursive search for images in a folder --batch_size 10 Batch Size for list of images to be loaded to RAM @@ -140,20 +164,34 @@ Options: --batch_size_mat 1 Batch size for list of images to be processed by matting network - --seg_mask_size 320 The size of the input image for the - segmentation neural network. + --seg_mask_size 640 The size of the input image for the + segmentation neural network. Use 640 for Tracer B7 and 320 for U2Net --matting_mask_size 2048 The size of the input image for the matting neural network. + --trimap_dilation 30 The size of the offset radius from the + object mask in pixels when forming an + unknown area + --trimap_erosion 5 The number of iterations of erosion that the + object's mask will be subjected to before + forming an unknown area + --trimap_prob_threshold 231 + Probability threshold at which the + prob_filter and prob_as_unknown_area + operations will be applied --device cpu Processing Device. + --fp16 Enables mixed precision processing. Use only with CUDA. CPU support is experimental! --help Show this message and exit. + ```` ## 📦 Running the Framework / FastAPI HTTP API server via Docker: +Using the API via docker is a **fast** and non-complex way to have a working API. +> **Our docker images are available on [Docker Hub](https://hub.docker.com/r/anodev/carvekit).** \ +> Version tags are the same as the releases of the project with suffixes `-cpu` and `-cuda` for CPU and CUDA versions respectively. + -Using the API via docker is a **fast** and non-complex way to have a working API.\ -**This HTTP API is 100% compatible with remove.bg API clients.**

@@ -188,21 +226,20 @@ See `docker-compose..yml` for more information. \ 1. Run `docker-compose -f docker-compose.cpu.yml run carvekit_api pytest` # For testing on CPU 2. Run `docker-compose -f docker-compose.cuda.yml run carvekit_api pytest` # For testing on GPU - ## 👪 Credits: [More info](docs/CREDITS.md) ## 💵 Support You can thank me for developing this project and buy me a small cup of coffee ☕ -| Blockchain | Cryptocurrency | Network | Wallet | +| Blockchain | Cryptocurrency | Network | Wallet | |:----------:|:-----------------------------------:|:-------------------------:|:-----------------------------------------------------------------------------------------------:| -| Ethereum | ETH / USDT / USDC / BNB / Dogecoin | Mainnet | 0x7Ab1B8015020242D2a9bC48F09b2F34b994bc2F8 | -| Ethereum | ETH / USDT / USDC / BNB / Dogecoin | BSC (Binance Smart Chain) | 0x7Ab1B8015020242D2a9bC48F09b2F34b994bc2F8 | -| Bitcoin | BTC | - | bc1qmf4qedujhhvcsg8kxpg5zzc2s3jvqssmu7mmhq | -| ZCash | ZEC | - | t1d7b9WxdboGFrcVVHG2ZuwWBgWEKhNUbtm | -| Tron | TRX | - | TH12CADSqSTcNZPvG77GVmYKAe4nrrJB5X | +| Ethereum | ETH / USDT / USDC / BNB / Dogecoin | Mainnet | 0x7Ab1B8015020242D2a9bC48F09b2F34b994bc2F8 | +| Ethereum | ETH / USDT / USDC / BNB / Dogecoin | BSC (Binance Smart Chain) | 0x7Ab1B8015020242D2a9bC48F09b2F34b994bc2F8 | +| Bitcoin | BTC | - | bc1qmf4qedujhhvcsg8kxpg5zzc2s3jvqssmu7mmhq | +| ZCash | ZEC | - | t1d7b9WxdboGFrcVVHG2ZuwWBgWEKhNUbtm | +| Tron | TRX | - | TH12CADSqSTcNZPvG77GVmYKAe4nrrJB5X | | Monero | XMR | Mainnet | 48w2pDYgPtPenwqgnNneEUC9Qt1EE6eD5MucLvU3FGpY3SABudDa4ce5bT1t32oBwchysRCUimCkZVsD1HQRBbxVLF9GTh3 | -| TON | TON | - | EQCznqTdfOKI3L06QX-3Q802tBL0ecSWIKfkSjU-qsoy0CWE | +| TON | TON | - | EQCznqTdfOKI3L06QX-3Q802tBL0ecSWIKfkSjU-qsoy0CWE | ## 📧 __Feedback__ I will be glad to receive feedback on the project and suggestions for integration. diff --git a/carvekit/__init__.py b/carvekit/__init__.py index c221c91..b58821b 100644 --- a/carvekit/__init__.py +++ b/carvekit/__init__.py @@ -1 +1 @@ -version = "4.0.8" +version = "4.1.0" diff --git a/carvekit/__main__.py b/carvekit/__main__.py index 183d0a1..acf901d 100644 --- a/carvekit/__main__.py +++ b/carvekit/__main__.py @@ -10,29 +10,95 @@ from carvekit.utils.fs_utils import save_file -@click.command('removebg', help="Performs background removal on specified photos using console interface.") -@click.option('-i', required=True, type=str, help='Path to input file or dir') -@click.option('-o', default="none", type=str, help="Path to output file or dir") -@click.option('--pre', default='none', type=str, help='Preprocessing method') -@click.option('--post', default='fba', type=str, help='Postprocessing method.') -@click.option('--net', default='u2net', type=str, help='Segmentation Network') -@click.option('--recursive', default=False, type=bool, help='Enables recursive search for images in a folder') -@click.option('--batch_size', default=10, type=int, help='Batch Size for list of images to be loaded to RAM') -@click.option('--batch_size_seg', default=5, type=int, - help='Batch size for list of images to be processed by segmentation ' - 'network') -@click.option('--batch_size_mat', default=1, type=int, help='Batch size for list of images to be processed by matting ' - 'network') -@click.option('--seg_mask_size', default=320, type=int, - help='The size of the input image for the segmentation neural network.') -@click.option('--matting_mask_size', default=2048, type=int, - help='The size of the input image for the matting neural network.') -@click.option('--device', default="cpu", type=str, - help='Processing Device.') -def removebg(i: str, o: str, pre: str, post: str, net: str, recursive: bool, - batch_size: int, batch_size_seg: int, batch_size_mat: int, seg_mask_size: int, - matting_mask_size: int, - device: str): +@click.command( + "removebg", + help="Performs background removal on specified photos using console interface.", +) +@click.option("-i", required=True, type=str, help="Path to input file or dir") +@click.option("-o", default="none", type=str, help="Path to output file or dir") +@click.option("--pre", default="none", type=str, help="Preprocessing method") +@click.option("--post", default="fba", type=str, help="Postprocessing method.") +@click.option("--net", default="tracer_b7", type=str, help="Segmentation Network") +@click.option( + "--recursive", + default=False, + type=bool, + help="Enables recursive search for images in a folder", +) +@click.option( + "--batch_size", + default=10, + type=int, + help="Batch Size for list of images to be loaded to RAM", +) +@click.option( + "--batch_size_seg", + default=5, + type=int, + help="Batch size for list of images to be processed by segmentation " "network", +) +@click.option( + "--batch_size_mat", + default=1, + type=int, + help="Batch size for list of images to be processed by matting " "network", +) +@click.option( + "--seg_mask_size", + default=640, + type=int, + help="The size of the input image for the segmentation neural network.", +) +@click.option( + "--matting_mask_size", + default=2048, + type=int, + help="The size of the input image for the matting neural network.", +) +@click.option( + "--trimap_dilation", + default=30, + type=int, + help="The size of the offset radius from the object mask in " + "pixels when forming an unknown area", +) +@click.option( + "--trimap_erosion", + default=5, + type=int, + help="The number of iterations of erosion that the object's " + "mask will be subjected to before forming an unknown area", +) +@click.option( + "--trimap_prob_threshold", + default=231, + type=int, + help="Probability threshold at which the prob_filter " + "and prob_as_unknown_area operations will be " + "applied", +) +@click.option("--device", default="cpu", type=str, help="Processing Device.") +@click.option( + "--fp16", default=False, type=bool, help="Enables mixed precision processing." +) +def removebg( + i: str, + o: str, + pre: str, + post: str, + net: str, + recursive: bool, + batch_size: int, + batch_size_seg: int, + batch_size_mat: int, + seg_mask_size: int, + matting_mask_size: int, + device: str, + fp16: bool, + trimap_dilation: int, + trimap_erosion: int, + trimap_prob_threshold: int, +): out_path = Path(o) input_path = Path(i) if input_path.is_dir(): @@ -40,8 +106,11 @@ def removebg(i: str, o: str, pre: str, post: str, net: str, recursive: bool, all_images = input_path.rglob("*.*") else: all_images = input_path.glob("*.*") - all_images = [i for i in all_images if i.suffix.lower() in ALLOWED_SUFFIXES - and '_bg_removed' not in i.name] + all_images = [ + i + for i in all_images + if i.suffix.lower() in ALLOWED_SUFFIXES and "_bg_removed" not in i.name + ] else: all_images = [input_path] @@ -53,18 +122,27 @@ def removebg(i: str, o: str, pre: str, post: str, net: str, recursive: bool, batch_size_seg=batch_size_seg, batch_size_matting=batch_size_mat, seg_mask_size=seg_mask_size, - matting_mask_size=matting_mask_size + matting_mask_size=matting_mask_size, + fp16=fp16, + trimap_dilation=trimap_dilation, + trimap_erosion=trimap_erosion, + trimap_prob_threshold=trimap_prob_threshold, ) interface = init_interface(interface_config) - for image_batch in tqdm.tqdm(batch_generator(all_images, n=batch_size), - total=int(len(all_images) / batch_size), - desc="Removing background", unit=" image batch", - colour="blue"): + for image_batch in tqdm.tqdm( + batch_generator(all_images, n=batch_size), + total=int(len(all_images) / batch_size), + desc="Removing background", + unit=" image batch", + colour="blue", + ): images_without_background = interface(image_batch) # Remove background - thread_pool_processing(lambda x: save_file(out_path, image_batch[x], images_without_background[x]), - range((len(image_batch)))) # Drop images to fs + thread_pool_processing( + lambda x: save_file(out_path, image_batch[x], images_without_background[x]), + range((len(image_batch))), + ) # Drop images to fs if __name__ == "__main__": diff --git a/carvekit/api/high.py b/carvekit/api/high.py index 8b0edfd..46fb9d3 100644 --- a/carvekit/api/high.py +++ b/carvekit/api/high.py @@ -3,39 +3,98 @@ Author: Nikita Selin (OPHoperHPO)[https://github.com/OPHoperHPO]. License: Apache License 2.0 """ +import warnings + from carvekit.api.interface import Interface from carvekit.ml.wrap.fba_matting import FBAMatting +from carvekit.ml.wrap.tracer_b7 import TracerUniversalB7 from carvekit.ml.wrap.u2net import U2NET from carvekit.pipelines.postprocessing import MattingMethod from carvekit.trimap.generator import TrimapGenerator class HiInterface(Interface): - def __init__(self, batch_size_seg=5, batch_size_matting=1, - device='cpu', seg_mask_size=320, matting_mask_size=2048): + def __init__( + self, + object_type: str = "object", + batch_size_seg=2, + batch_size_matting=1, + device="cpu", + seg_mask_size=640, + matting_mask_size=2048, + trimap_prob_threshold=231, + trimap_dilation=30, + trimap_erosion_iters=5, + fp16=False, + ): """ Initializes High Level interface. Args: + object_type: Interest object type. Can be "object" or "hairs-like". matting_mask_size: The size of the input image for the matting neural network. seg_mask_size: The size of the input image for the segmentation neural network. batch_size_seg: Number of images processed per one segmentation neural network call. batch_size_matting: Number of images processed per one matting neural network call. device: Processing device + fp16: Use half precision. Reduce memory usage and increase speed. Experimental support + trimap_prob_threshold: Probability threshold at which the prob_filter and prob_as_unknown_area operations will be applied + trimap_dilation: The size of the offset radius from the object mask in pixels when forming an unknown area + trimap_erosion_iters: The number of iterations of erosion that the object's mask will be subjected to before forming an unknown area Notes: - Changing seg_mask_size may cause an out-of-memory error if the value is too large, and it may also + 1. Changing seg_mask_size may cause an out-of-memory error if the value is too large, and it may also result in reduced precision. I do not recommend changing this value. You can change matting_mask_size in range from (1024 to 4096) to improve object edge refining quality, but it will cause extra large RAM and video memory consume. Also, you can change batch size to accelerate background removal, but it also causes extra large video memory consume, if value is too big. + + 2. Changing trimap_prob_threshold, trimap_kernel_size, trimap_erosion_iters may improve object edge + refining quality, """ - self.u2net = U2NET(device=device, batch_size=batch_size_seg, input_image_size=seg_mask_size) - self.fba = FBAMatting(batch_size=batch_size_matting, device=device, input_tensor_size=matting_mask_size) - self.trimap_generator = TrimapGenerator() - super(HiInterface, self).__init__(pre_pipe=None, - seg_pipe=self.u2net, - post_pipe=MattingMethod(matting_module=self.fba, - trimap_generator=self.trimap_generator, - device=device), - device=device) \ No newline at end of file + if object_type == "object": + self.u2net = TracerUniversalB7( + device=device, + batch_size=batch_size_seg, + input_image_size=seg_mask_size, + fp16=fp16, + ) + elif object_type == "hairs-like": + self.u2net = U2NET( + device=device, + batch_size=batch_size_seg, + input_image_size=seg_mask_size, + fp16=fp16, + ) + else: + warnings.warn( + f"Unknown object type: {object_type}. Using default object type: object" + ) + self.u2net = TracerUniversalB7( + device=device, + batch_size=batch_size_seg, + input_image_size=seg_mask_size, + fp16=fp16, + ) + + self.fba = FBAMatting( + batch_size=batch_size_matting, + device=device, + input_tensor_size=matting_mask_size, + fp16=fp16, + ) + self.trimap_generator = TrimapGenerator( + prob_threshold=trimap_prob_threshold, + kernel_size=trimap_dilation, + erosion_iters=trimap_erosion_iters, + ) + super(HiInterface, self).__init__( + pre_pipe=None, + seg_pipe=self.u2net, + post_pipe=MattingMethod( + matting_module=self.fba, + trimap_generator=self.trimap_generator, + device=device, + ), + device=device, + ) diff --git a/carvekit/api/interface.py b/carvekit/api/interface.py index 0ddf1f5..364d247 100644 --- a/carvekit/api/interface.py +++ b/carvekit/api/interface.py @@ -11,6 +11,7 @@ from carvekit.ml.wrap.basnet import BASNET from carvekit.ml.wrap.deeplab_v3 import DeepLabV3 from carvekit.ml.wrap.u2net import U2NET +from carvekit.ml.wrap.tracer_b7 import TracerUniversalB7 from carvekit.pipelines.preprocessing import PreprocessingStub from carvekit.pipelines.postprocessing import MattingMethod from carvekit.utils.image_utils import load_image @@ -19,11 +20,13 @@ class Interface: - def __init__(self, - seg_pipe: Union[U2NET, BASNET, DeepLabV3], - pre_pipe: Optional[Union[PreprocessingStub]] = None, - post_pipe: Optional[Union[MattingMethod]] = None, - device="cpu"): + def __init__( + self, + seg_pipe: Union[U2NET, BASNET, DeepLabV3, TracerUniversalB7], + pre_pipe: Optional[Union[PreprocessingStub]] = None, + post_pipe: Optional[Union[MattingMethod]] = None, + device="cpu", + ): """ Initializes an object for interacting with pipelines and other components of the CarveKit framework. @@ -38,7 +41,9 @@ def __init__(self, self.segmentation_pipeline = seg_pipe self.postprocessing_pipeline = post_pipe - def __call__(self, images: List[Union[str, Path, Image.Image]]) -> List[Image.Image]: + def __call__( + self, images: List[Union[str, Path, Image.Image]] + ) -> List[Image.Image]: """ Removes the background from the specified images. @@ -50,13 +55,23 @@ def __call__(self, images: List[Union[str, Path, Image.Image]]) -> List[Image.Im """ images = thread_pool_processing(load_image, images) if self.preprocessing_pipeline is not None: - masks: List[Image.Image] = self.preprocessing_pipeline(interface=self, images=images) + masks: List[Image.Image] = self.preprocessing_pipeline( + interface=self, images=images + ) else: masks: List[Image.Image] = self.segmentation_pipeline(images=images) if self.postprocessing_pipeline is not None: - images: List[Image.Image] = self.postprocessing_pipeline(images=images, masks=masks) + images: List[Image.Image] = self.postprocessing_pipeline( + images=images, masks=masks + ) else: - images = list(map(lambda x: apply_mask(image=images[x], mask=masks[x], device=self.device), - range(len(images)))) + images = list( + map( + lambda x: apply_mask( + image=images[x], mask=masks[x], device=self.device + ), + range(len(images)), + ) + ) return images diff --git a/carvekit/ml/arch/basnet/basnet.py b/carvekit/ml/arch/basnet/basnet.py index caaf648..e2ead6a 100644 --- a/carvekit/ml/arch/basnet/basnet.py +++ b/carvekit/ml/arch/basnet/basnet.py @@ -10,8 +10,9 @@ def conv3x3(in_planes, out_planes, stride=1): """3x3 convolution with padding""" - return nn.Conv2d(in_planes, out_planes, kernel_size=3, stride=stride, - padding=1, bias=False) + return nn.Conv2d( + in_planes, out_planes, kernel_size=3, stride=stride, padding=1, bias=False + ) class BasicBlock(nn.Module): @@ -92,8 +93,9 @@ def __init__(self, inplanes, planes, stride=1, downsample=None): super(Bottleneck, self).__init__() self.conv1 = nn.Conv2d(inplanes, planes, kernel_size=1, bias=False) self.bn1 = nn.BatchNorm2d(planes) - self.conv2 = nn.Conv2d(planes, planes, kernel_size=3, stride=stride, - padding=1, bias=False) + self.conv2 = nn.Conv2d( + planes, planes, kernel_size=3, stride=stride, padding=1, bias=False + ) self.bn2 = nn.BatchNorm2d(planes) self.conv3 = nn.Conv2d(planes, planes * 4, kernel_size=1, bias=False) self.bn3 = nn.BatchNorm2d(planes * 4) @@ -176,7 +178,9 @@ def __init__(self, in_ch, inc_ch): self.conv_d0 = nn.Conv2d(64, 1, 3, padding=1) - self.upscore2 = nn.Upsample(scale_factor=2, mode='bilinear', align_corners=False) + self.upscore2 = nn.Upsample( + scale_factor=2, mode="bilinear", align_corners=False + ) def forward(self, x): hx = x @@ -269,7 +273,7 @@ def __init__(self, n_channels, n_classes): self.bn6d_1 = nn.BatchNorm2d(512) self.relu6d_1 = nn.ReLU(inplace=True) - self.conv6d_m = nn.Conv2d(512, 512, 3, dilation=2, padding=2) ### + self.conv6d_m = nn.Conv2d(512, 512, 3, dilation=2, padding=2) self.bn6d_m = nn.BatchNorm2d(512) self.relu6d_m = nn.ReLU(inplace=True) @@ -282,7 +286,7 @@ def __init__(self, n_channels, n_classes): self.bn5d_1 = nn.BatchNorm2d(512) self.relu5d_1 = nn.ReLU(inplace=True) - self.conv5d_m = nn.Conv2d(512, 512, 3, padding=1) ### + self.conv5d_m = nn.Conv2d(512, 512, 3, padding=1) self.bn5d_m = nn.BatchNorm2d(512) self.relu5d_m = nn.ReLU(inplace=True) @@ -295,7 +299,7 @@ def __init__(self, n_channels, n_classes): self.bn4d_1 = nn.BatchNorm2d(512) self.relu4d_1 = nn.ReLU(inplace=True) - self.conv4d_m = nn.Conv2d(512, 512, 3, padding=1) ### + self.conv4d_m = nn.Conv2d(512, 512, 3, padding=1) self.bn4d_m = nn.BatchNorm2d(512) self.relu4d_m = nn.ReLU(inplace=True) @@ -308,7 +312,7 @@ def __init__(self, n_channels, n_classes): self.bn3d_1 = nn.BatchNorm2d(256) self.relu3d_1 = nn.ReLU(inplace=True) - self.conv3d_m = nn.Conv2d(256, 256, 3, padding=1) ### + self.conv3d_m = nn.Conv2d(256, 256, 3, padding=1) self.bn3d_m = nn.BatchNorm2d(256) self.relu3d_m = nn.ReLU(inplace=True) @@ -322,7 +326,7 @@ def __init__(self, n_channels, n_classes): self.bn2d_1 = nn.BatchNorm2d(128) self.relu2d_1 = nn.ReLU(inplace=True) - self.conv2d_m = nn.Conv2d(128, 128, 3, padding=1) ### + self.conv2d_m = nn.Conv2d(128, 128, 3, padding=1) self.bn2d_m = nn.BatchNorm2d(128) self.relu2d_m = nn.ReLU(inplace=True) @@ -335,7 +339,7 @@ def __init__(self, n_channels, n_classes): self.bn1d_1 = nn.BatchNorm2d(64) self.relu1d_1 = nn.ReLU(inplace=True) - self.conv1d_m = nn.Conv2d(64, 64, 3, padding=1) ### + self.conv1d_m = nn.Conv2d(64, 64, 3, padding=1) self.bn1d_m = nn.BatchNorm2d(64) self.relu1d_m = nn.ReLU(inplace=True) @@ -344,11 +348,21 @@ def __init__(self, n_channels, n_classes): self.relu1d_2 = nn.ReLU(inplace=True) # -------------Bilinear Upsampling-------------- - self.upscore6 = nn.Upsample(scale_factor=32, mode='bilinear', align_corners=False) ### - self.upscore5 = nn.Upsample(scale_factor=16, mode='bilinear', align_corners=False) - self.upscore4 = nn.Upsample(scale_factor=8, mode='bilinear', align_corners=False) - self.upscore3 = nn.Upsample(scale_factor=4, mode='bilinear', align_corners=False) - self.upscore2 = nn.Upsample(scale_factor=2, mode='bilinear', align_corners=False) + self.upscore6 = nn.Upsample( + scale_factor=32, mode="bilinear", align_corners=False + ) + self.upscore5 = nn.Upsample( + scale_factor=16, mode="bilinear", align_corners=False + ) + self.upscore4 = nn.Upsample( + scale_factor=8, mode="bilinear", align_corners=False + ) + self.upscore3 = nn.Upsample( + scale_factor=4, mode="bilinear", align_corners=False + ) + self.upscore2 = nn.Upsample( + scale_factor=2, mode="bilinear", align_corners=False + ) # -------------Side Output-------------- self.outconvb = nn.Conv2d(512, 1, 3, padding=1) @@ -452,6 +466,13 @@ def forward(self, x): # -------------Refine Module------------- dout = self.refunet(d1) # 256 - return torch.sigmoid(dout), torch.sigmoid(d1), torch.sigmoid(d2), torch.sigmoid(d3), torch.sigmoid( - d4), torch.sigmoid(d5), torch.sigmoid( - d6), torch.sigmoid(db) + return ( + torch.sigmoid(dout), + torch.sigmoid(d1), + torch.sigmoid(d2), + torch.sigmoid(d3), + torch.sigmoid(d4), + torch.sigmoid(d5), + torch.sigmoid(d6), + torch.sigmoid(db), + ) diff --git a/carvekit/ml/arch/fba_matting/layers_WS.py b/carvekit/ml/arch/fba_matting/layers_WS.py index d972da4..5108598 100644 --- a/carvekit/ml/arch/fba_matting/layers_WS.py +++ b/carvekit/ml/arch/fba_matting/layers_WS.py @@ -9,23 +9,48 @@ class Conv2d(nn.Conv2d): - - def __init__(self, in_channels, out_channels, kernel_size, stride=1, - padding=0, dilation=1, groups=1, bias=True): - super(Conv2d, self).__init__(in_channels, out_channels, kernel_size, stride, - padding, dilation, groups, bias) + def __init__( + self, + in_channels, + out_channels, + kernel_size, + stride=1, + padding=0, + dilation=1, + groups=1, + bias=True, + ): + super(Conv2d, self).__init__( + in_channels, + out_channels, + kernel_size, + stride, + padding, + dilation, + groups, + bias, + ) def forward(self, x): # return super(Conv2d, self).forward(x) weight = self.weight - weight_mean = weight.mean(dim=1, keepdim=True).mean(dim=2, - keepdim=True).mean(dim=3, keepdim=True) + weight_mean = ( + weight.mean(dim=1, keepdim=True) + .mean(dim=2, keepdim=True) + .mean(dim=3, keepdim=True) + ) weight = weight - weight_mean # std = (weight).view(weight.size(0), -1).std(dim=1).view(-1, 1, 1, 1) + 1e-5 - std = torch.sqrt(torch.var(weight.view(weight.size(0), -1), dim=1) + 1e-12).view(-1, 1, 1, 1) + 1e-5 + std = ( + torch.sqrt(torch.var(weight.view(weight.size(0), -1), dim=1) + 1e-12).view( + -1, 1, 1, 1 + ) + + 1e-5 + ) weight = weight / std.expand_as(weight) - return F.conv2d(x, weight, self.bias, self.stride, - self.padding, self.dilation, self.groups) + return F.conv2d( + x, weight, self.bias, self.stride, self.padding, self.dilation, self.groups + ) def BatchNorm2d(num_features): diff --git a/carvekit/ml/arch/fba_matting/models.py b/carvekit/ml/arch/fba_matting/models.py index 35fd565..dc2b0a8 100644 --- a/carvekit/ml/arch/fba_matting/models.py +++ b/carvekit/ml/arch/fba_matting/models.py @@ -15,7 +15,7 @@ class FBA(nn.Module): def __init__(self, encoder: str): super(FBA, self).__init__() self.encoder = build_encoder(arch=encoder) - self.decoder = fba_decoder(batch_norm=True if 'BN' in encoder else False) + self.decoder = fba_decoder(batch_norm=True if "BN" in encoder else False) def forward(self, image, two_chan_trimap, image_n, trimap_transformed): resnet_input = torch.cat((image_n, trimap_transformed, two_chan_trimap), 1) @@ -28,13 +28,10 @@ def __init__(self, orig_resnet, dilate_scale=8): super(ResnetDilatedBN, self).__init__() if dilate_scale == 8: - orig_resnet.layer3.apply( - partial(self._nostride_dilate, dilate=2)) - orig_resnet.layer4.apply( - partial(self._nostride_dilate, dilate=4)) + orig_resnet.layer3.apply(partial(self._nostride_dilate, dilate=2)) + orig_resnet.layer4.apply(partial(self._nostride_dilate, dilate=4)) elif dilate_scale == 16: - orig_resnet.layer4.apply( - partial(self._nostride_dilate, dilate=2)) + orig_resnet.layer4.apply(partial(self._nostride_dilate, dilate=2)) # take pretrained resnet, except AvgPool and FC self.conv1 = orig_resnet.conv1 @@ -54,7 +51,7 @@ def __init__(self, orig_resnet, dilate_scale=8): def _nostride_dilate(self, m, dilate): classname = m.__class__.__name__ - if classname.find('Conv') != -1: + if classname.find("Conv") != -1: # the convolution with stride if m.stride == (2, 2): m.stride = (1, 1) @@ -136,13 +133,10 @@ def __init__(self, orig_resnet, dilate_scale=8): super(ResnetDilated, self).__init__() if dilate_scale == 8: - orig_resnet.layer3.apply( - partial(self._nostride_dilate, dilate=2)) - orig_resnet.layer4.apply( - partial(self._nostride_dilate, dilate=4)) + orig_resnet.layer3.apply(partial(self._nostride_dilate, dilate=2)) + orig_resnet.layer4.apply(partial(self._nostride_dilate, dilate=4)) elif dilate_scale == 16: - orig_resnet.layer4.apply( - partial(self._nostride_dilate, dilate=2)) + orig_resnet.layer4.apply(partial(self._nostride_dilate, dilate=2)) # take pretrained resnet, except AvgPool and FC self.conv1 = orig_resnet.conv1 @@ -156,7 +150,7 @@ def __init__(self, orig_resnet, dilate_scale=8): def _nostride_dilate(self, m, dilate): classname = m.__class__.__name__ - if classname.find('Conv') != -1: + if classname.find("Conv") != -1: # the convolution with stride if m.stride == (2, 2): m.stride = (1, 1) @@ -196,14 +190,15 @@ def norm(dim, bn=False): def fba_fusion(alpha, img, F, B): - F = (alpha * img + (1 - alpha ** 2) * F - alpha * (1 - alpha) * B) - B = ((1 - alpha) * img + (2 * alpha - alpha ** 2) * B - alpha * (1 - alpha) * F) + F = alpha * img + (1 - alpha**2) * F - alpha * (1 - alpha) * B + B = (1 - alpha) * img + (2 * alpha - alpha**2) * B - alpha * (1 - alpha) * F F = torch.clamp(F, 0, 1) B = torch.clamp(B, 0, 1) la = 0.1 alpha = (alpha * la + torch.sum((img - B) * (F - B), 1, keepdim=True)) / ( - torch.sum((F - B) * (F - B), 1, keepdim=True) + la) + torch.sum((F - B) * (F - B), 1, keepdim=True) + la + ) alpha = torch.clamp(alpha, 0, 1) return alpha, F, B @@ -217,53 +212,50 @@ def __init__(self, batch_norm=False): self.ppm = [] for scale in pool_scales: - self.ppm.append(nn.Sequential( - nn.AdaptiveAvgPool2d(scale), - L.Conv2d(2048, 256, kernel_size=1, bias=True), - norm(256, self.batch_norm), - nn.LeakyReLU() - )) + self.ppm.append( + nn.Sequential( + nn.AdaptiveAvgPool2d(scale), + L.Conv2d(2048, 256, kernel_size=1, bias=True), + norm(256, self.batch_norm), + nn.LeakyReLU(), + ) + ) self.ppm = nn.ModuleList(self.ppm) self.conv_up1 = nn.Sequential( - L.Conv2d(2048 + len(pool_scales) * 256, 256, - kernel_size=3, padding=1, bias=True), - + L.Conv2d( + 2048 + len(pool_scales) * 256, 256, kernel_size=3, padding=1, bias=True + ), norm(256, self.batch_norm), nn.LeakyReLU(), L.Conv2d(256, 256, kernel_size=3, padding=1), norm(256, self.batch_norm), - nn.LeakyReLU() + nn.LeakyReLU(), ) self.conv_up2 = nn.Sequential( - L.Conv2d(256 + 256, 256, - kernel_size=3, padding=1, bias=True), + L.Conv2d(256 + 256, 256, kernel_size=3, padding=1, bias=True), norm(256, self.batch_norm), - nn.LeakyReLU() + nn.LeakyReLU(), ) if self.batch_norm: d_up3 = 128 else: d_up3 = 64 self.conv_up3 = nn.Sequential( - L.Conv2d(256 + d_up3, 64, - kernel_size=3, padding=1, bias=True), + L.Conv2d(256 + d_up3, 64, kernel_size=3, padding=1, bias=True), norm(64, self.batch_norm), - nn.LeakyReLU() + nn.LeakyReLU(), ) self.unpool = nn.MaxUnpool2d(2, stride=2) self.conv_up4 = nn.Sequential( - nn.Conv2d(64 + 3 + 3 + 2, 32, - kernel_size=3, padding=1, bias=True), + nn.Conv2d(64 + 3 + 3 + 2, 32, kernel_size=3, padding=1, bias=True), nn.LeakyReLU(), - nn.Conv2d(32, 16, - kernel_size=3, padding=1, bias=True), - + nn.Conv2d(32, 16, kernel_size=3, padding=1, bias=True), nn.LeakyReLU(), - nn.Conv2d(16, 7, kernel_size=1, padding=0, bias=True) + nn.Conv2d(16, 7, kernel_size=1, padding=0, bias=True), ) def forward(self, conv_out, img, indices, two_chan_trimap): @@ -272,24 +264,34 @@ def forward(self, conv_out, img, indices, two_chan_trimap): input_size = conv5.size() ppm_out = [conv5] for pool_scale in self.ppm: - ppm_out.append(nn.functional.interpolate( - pool_scale(conv5), - (input_size[2], input_size[3]), - mode='bilinear', align_corners=False)) + ppm_out.append( + nn.functional.interpolate( + pool_scale(conv5), + (input_size[2], input_size[3]), + mode="bilinear", + align_corners=False, + ) + ) ppm_out = torch.cat(ppm_out, 1) x = self.conv_up1(ppm_out) - x = torch.nn.functional.interpolate(x, scale_factor=2, mode='bilinear', align_corners=False) + x = torch.nn.functional.interpolate( + x, scale_factor=2, mode="bilinear", align_corners=False + ) x = torch.cat((x, conv_out[-4]), 1) x = self.conv_up2(x) - x = torch.nn.functional.interpolate(x, scale_factor=2, mode='bilinear', align_corners=False) + x = torch.nn.functional.interpolate( + x, scale_factor=2, mode="bilinear", align_corners=False + ) x = torch.cat((x, conv_out[-5]), 1) x = self.conv_up3(x) - x = torch.nn.functional.interpolate(x, scale_factor=2, mode='bilinear', align_corners=False) + x = torch.nn.functional.interpolate( + x, scale_factor=2, mode="bilinear", align_corners=False + ) x = torch.cat((x, conv_out[-6][:, :3], img, two_chan_trimap), 1) output = self.conv_up4(x) @@ -306,22 +308,22 @@ def forward(self, conv_out, img, indices, two_chan_trimap): return output -def build_encoder(arch='resnet50_GN'): - if arch == 'resnet50_GN_WS': - orig_resnet = resnet_GN_WS.__dict__['l_resnet50']() +def build_encoder(arch="resnet50_GN"): + if arch == "resnet50_GN_WS": + orig_resnet = resnet_GN_WS.__dict__["l_resnet50"]() net_encoder = ResnetDilated(orig_resnet, dilate_scale=8) - elif arch == 'resnet50_BN': - orig_resnet = resnet_bn.__dict__['l_resnet50']() + elif arch == "resnet50_BN": + orig_resnet = resnet_bn.__dict__["l_resnet50"]() net_encoder = ResnetDilatedBN(orig_resnet, dilate_scale=8) else: - raise ValueError('Architecture undefined!') + raise ValueError("Architecture undefined!") num_channels = 3 + 6 + 2 if num_channels > 3: net_encoder_sd = net_encoder.state_dict() - conv1_weights = net_encoder_sd['conv1.weight'] + conv1_weights = net_encoder_sd["conv1.weight"] c_out, c_in, h, w = conv1_weights.size() conv1_mod = torch.zeros(c_out, num_channels, h, w) @@ -333,7 +335,7 @@ def build_encoder(arch='resnet50_GN'): net_encoder.conv1 = conv1 - net_encoder_sd['conv1.weight'] = conv1_mod + net_encoder_sd["conv1.weight"] = conv1_mod net_encoder.load_state_dict(net_encoder_sd) return net_encoder diff --git a/carvekit/ml/arch/fba_matting/resnet_GN_WS.py b/carvekit/ml/arch/fba_matting/resnet_GN_WS.py index 2945f09..a730ed6 100644 --- a/carvekit/ml/arch/fba_matting/resnet_GN_WS.py +++ b/carvekit/ml/arch/fba_matting/resnet_GN_WS.py @@ -6,13 +6,14 @@ import torch.nn as nn import carvekit.ml.arch.fba_matting.layers_WS as L -__all__ = ['ResNet', 'l_resnet50'] +__all__ = ["ResNet", "l_resnet50"] def conv3x3(in_planes, out_planes, stride=1): """3x3 convolution with padding""" - return L.Conv2d(in_planes, out_planes, kernel_size=3, stride=stride, - padding=1, bias=False) + return L.Conv2d( + in_planes, out_planes, kernel_size=3, stride=stride, padding=1, bias=False + ) def conv1x1(in_planes, out_planes, stride=1): @@ -91,15 +92,15 @@ def forward(self, x): class ResNet(nn.Module): - def __init__(self, block, layers, num_classes=1000): super(ResNet, self).__init__() self.inplanes = 64 - self.conv1 = L.Conv2d(3, 64, kernel_size=7, stride=2, padding=3, - bias=False) + self.conv1 = L.Conv2d(3, 64, kernel_size=7, stride=2, padding=3, bias=False) self.bn1 = L.BatchNorm2d(64) self.relu = nn.ReLU(inplace=True) - self.maxpool = nn.MaxPool2d(kernel_size=3, stride=2, padding=1, return_indices=True) + self.maxpool = nn.MaxPool2d( + kernel_size=3, stride=2, padding=1, return_indices=True + ) self.layer1 = self._make_layer(block, 64, layers[0]) self.layer2 = self._make_layer(block, 128, layers[1], stride=2) self.layer3 = self._make_layer(block, 256, layers[2], stride=2) diff --git a/carvekit/ml/arch/fba_matting/resnet_bn.py b/carvekit/ml/arch/fba_matting/resnet_bn.py index 89d6cd5..9662ca8 100644 --- a/carvekit/ml/arch/fba_matting/resnet_bn.py +++ b/carvekit/ml/arch/fba_matting/resnet_bn.py @@ -7,13 +7,14 @@ import math from torch.nn import BatchNorm2d -__all__ = ['ResNet'] +__all__ = ["ResNet"] def conv3x3(in_planes, out_planes, stride=1): "3x3 convolution with padding" - return nn.Conv2d(in_planes, out_planes, kernel_size=3, stride=stride, - padding=1, bias=False) + return nn.Conv2d( + in_planes, out_planes, kernel_size=3, stride=stride, padding=1, bias=False + ) class BasicBlock(nn.Module): @@ -55,8 +56,9 @@ def __init__(self, inplanes, planes, stride=1, downsample=None): super(Bottleneck, self).__init__() self.conv1 = nn.Conv2d(inplanes, planes, kernel_size=1, bias=False) self.bn1 = BatchNorm2d(planes) - self.conv2 = nn.Conv2d(planes, planes, kernel_size=3, stride=stride, - padding=1, bias=False) + self.conv2 = nn.Conv2d( + planes, planes, kernel_size=3, stride=stride, padding=1, bias=False + ) self.bn2 = BatchNorm2d(planes, momentum=0.01) self.conv3 = nn.Conv2d(planes, planes * 4, kernel_size=1, bias=False) self.bn3 = BatchNorm2d(planes * 4) @@ -88,7 +90,6 @@ def forward(self, x): class ResNet(nn.Module): - def __init__(self, block, layers, num_classes=1000): self.inplanes = 128 super(ResNet, self).__init__() @@ -101,7 +102,9 @@ def __init__(self, block, layers, num_classes=1000): self.conv3 = conv3x3(64, 128) self.bn3 = BatchNorm2d(128) self.relu3 = nn.ReLU(inplace=True) - self.maxpool = nn.MaxPool2d(kernel_size=3, stride=2, padding=1, return_indices=True) + self.maxpool = nn.MaxPool2d( + kernel_size=3, stride=2, padding=1, return_indices=True + ) self.layer1 = self._make_layer(block, 64, layers[0]) self.layer2 = self._make_layer(block, 128, layers[1], stride=2) @@ -113,7 +116,7 @@ def __init__(self, block, layers, num_classes=1000): for m in self.modules(): if isinstance(m, nn.Conv2d): n = m.kernel_size[0] * m.kernel_size[1] * m.out_channels - m.weight.data.normal_(0, math.sqrt(2. / n)) + m.weight.data.normal_(0, math.sqrt(2.0 / n)) elif isinstance(m, BatchNorm2d): m.weight.data.fill_(1) m.bias.data.zero_() @@ -122,8 +125,13 @@ def _make_layer(self, block, planes, blocks, stride=1): downsample = None if stride != 1 or self.inplanes != planes * block.expansion: downsample = nn.Sequential( - nn.Conv2d(self.inplanes, planes * block.expansion, - kernel_size=1, stride=stride, bias=False), + nn.Conv2d( + self.inplanes, + planes * block.expansion, + kernel_size=1, + stride=stride, + bias=False, + ), BatchNorm2d(planes * block.expansion), ) diff --git a/carvekit/ml/arch/fba_matting/transforms.py b/carvekit/ml/arch/fba_matting/transforms.py index b5b792d..20251ef 100644 --- a/carvekit/ml/arch/fba_matting/transforms.py +++ b/carvekit/ml/arch/fba_matting/transforms.py @@ -19,7 +19,7 @@ def trimap_transform(trimap): clicks = np.zeros((h, w, 6)) for k in range(2): - if (np.count_nonzero(trimap[:, :, k]) > 0): + if np.count_nonzero(trimap[:, :, k]) > 0: dt_mask = -dt(1 - trimap[:, :, k]) ** 2 L = 320 clicks[:, :, 3 * k] = np.exp(dt_mask / (2 * ((0.02 * L) ** 2))) @@ -29,15 +29,17 @@ def trimap_transform(trimap): return clicks -def groupnorm_normalise_image(img, format='nhwc'): - ''' - Accept rgb in range 0,1 - ''' - if (format == 'nhwc'): +def groupnorm_normalise_image(img, format="nhwc"): + """ + Accept rgb in range 0,1 + """ + if format == "nhwc": for i in range(3): img[..., i] = (img[..., i] - group_norm_mean[i]) / group_norm_std[i] else: for i in range(3): - img[..., i, :, :] = (img[..., i, :, :] - group_norm_mean[i]) / group_norm_std[i] + img[..., i, :, :] = ( + img[..., i, :, :] - group_norm_mean[i] + ) / group_norm_std[i] return img diff --git a/carvekit/ml/arch/tracerb7/__init__.py b/carvekit/ml/arch/tracerb7/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/carvekit/ml/arch/tracerb7/att_modules.py b/carvekit/ml/arch/tracerb7/att_modules.py new file mode 100644 index 0000000..07e4740 --- /dev/null +++ b/carvekit/ml/arch/tracerb7/att_modules.py @@ -0,0 +1,290 @@ +""" +Source url: https://github.com/Karel911/TRACER +Author: Min Seok Lee and Wooseok Shin +License: Apache License 2.0 +""" +import torch +import torch.nn as nn +import torch.nn.functional as F + +from carvekit.ml.arch.tracerb7.conv_modules import BasicConv2d, DWConv, DWSConv + + +class RFB_Block(nn.Module): + def __init__(self, in_channel, out_channel): + super(RFB_Block, self).__init__() + self.relu = nn.ReLU(True) + self.branch0 = nn.Sequential( + BasicConv2d(in_channel, out_channel, 1), + ) + self.branch1 = nn.Sequential( + BasicConv2d(in_channel, out_channel, 1), + BasicConv2d(out_channel, out_channel, kernel_size=(1, 3), padding=(0, 1)), + BasicConv2d(out_channel, out_channel, kernel_size=(3, 1), padding=(1, 0)), + BasicConv2d(out_channel, out_channel, 3, padding=3, dilation=3), + ) + self.branch2 = nn.Sequential( + BasicConv2d(in_channel, out_channel, 1), + BasicConv2d(out_channel, out_channel, kernel_size=(1, 5), padding=(0, 2)), + BasicConv2d(out_channel, out_channel, kernel_size=(5, 1), padding=(2, 0)), + BasicConv2d(out_channel, out_channel, 3, padding=5, dilation=5), + ) + self.branch3 = nn.Sequential( + BasicConv2d(in_channel, out_channel, 1), + BasicConv2d(out_channel, out_channel, kernel_size=(1, 7), padding=(0, 3)), + BasicConv2d(out_channel, out_channel, kernel_size=(7, 1), padding=(3, 0)), + BasicConv2d(out_channel, out_channel, 3, padding=7, dilation=7), + ) + self.conv_cat = BasicConv2d(4 * out_channel, out_channel, 3, padding=1) + self.conv_res = BasicConv2d(in_channel, out_channel, 1) + + def forward(self, x): + x0 = self.branch0(x) + x1 = self.branch1(x) + x2 = self.branch2(x) + x3 = self.branch3(x) + x_cat = torch.cat((x0, x1, x2, x3), 1) + x_cat = self.conv_cat(x_cat) + + x = self.relu(x_cat + self.conv_res(x)) + return x + + +class GlobalAvgPool(nn.Module): + def __init__(self, flatten=False): + super(GlobalAvgPool, self).__init__() + self.flatten = flatten + + def forward(self, x): + if self.flatten: + in_size = x.size() + return x.view((in_size[0], in_size[1], -1)).mean(dim=2) + else: + return ( + x.view(x.size(0), x.size(1), -1) + .mean(-1) + .view(x.size(0), x.size(1), 1, 1) + ) + + +class UnionAttentionModule(nn.Module): + def __init__(self, n_channels, only_channel_tracing=False): + super(UnionAttentionModule, self).__init__() + self.GAP = GlobalAvgPool() + self.confidence_ratio = 0.1 + self.bn = nn.BatchNorm2d(n_channels) + self.norm = nn.Sequential( + nn.BatchNorm2d(n_channels), nn.Dropout3d(self.confidence_ratio) + ) + self.channel_q = nn.Conv2d( + in_channels=n_channels, + out_channels=n_channels, + kernel_size=1, + stride=1, + padding=0, + bias=False, + ) + self.channel_k = nn.Conv2d( + in_channels=n_channels, + out_channels=n_channels, + kernel_size=1, + stride=1, + padding=0, + bias=False, + ) + self.channel_v = nn.Conv2d( + in_channels=n_channels, + out_channels=n_channels, + kernel_size=1, + stride=1, + padding=0, + bias=False, + ) + + self.fc = nn.Conv2d( + in_channels=n_channels, + out_channels=n_channels, + kernel_size=1, + stride=1, + padding=0, + bias=False, + ) + + if only_channel_tracing is False: + self.spatial_q = nn.Conv2d( + in_channels=n_channels, + out_channels=1, + kernel_size=1, + stride=1, + padding=0, + bias=False, + ) + self.spatial_k = nn.Conv2d( + in_channels=n_channels, + out_channels=1, + kernel_size=1, + stride=1, + padding=0, + bias=False, + ) + self.spatial_v = nn.Conv2d( + in_channels=n_channels, + out_channels=1, + kernel_size=1, + stride=1, + padding=0, + bias=False, + ) + self.sigmoid = nn.Sigmoid() + + def masking(self, x, mask): + mask = mask.squeeze(3).squeeze(2) + threshold = torch.quantile( + mask.float(), self.confidence_ratio, dim=-1, keepdim=True + ) + mask[mask <= threshold] = 0.0 + mask = mask.unsqueeze(2).unsqueeze(3) + mask = mask.expand(-1, x.shape[1], x.shape[2], x.shape[3]).contiguous() + masked_x = x * mask + + return masked_x + + def Channel_Tracer(self, x): + avg_pool = self.GAP(x) + x_norm = self.norm(avg_pool) + + q = self.channel_q(x_norm).squeeze(-1) + k = self.channel_k(x_norm).squeeze(-1) + v = self.channel_v(x_norm).squeeze(-1) + + # softmax(Q*K^T) + QK_T = torch.matmul(q, k.transpose(1, 2)) + alpha = F.softmax(QK_T, dim=-1) + + # a*v + att = torch.matmul(alpha, v).unsqueeze(-1) + att = self.fc(att) + att = self.sigmoid(att) + + output = (x * att) + x + alpha_mask = att.clone() + + return output, alpha_mask + + def forward(self, x): + X_c, alpha_mask = self.Channel_Tracer(x) + X_c = self.bn(X_c) + x_drop = self.masking(X_c, alpha_mask) + + q = self.spatial_q(x_drop).squeeze(1) + k = self.spatial_k(x_drop).squeeze(1) + v = self.spatial_v(x_drop).squeeze(1) + + # softmax(Q*K^T) + QK_T = torch.matmul(q, k.transpose(1, 2)) + alpha = F.softmax(QK_T, dim=-1) + + output = torch.matmul(alpha, v).unsqueeze(1) + v.unsqueeze(1) + + return output + + +class aggregation(nn.Module): + def __init__(self, channel): + super(aggregation, self).__init__() + self.relu = nn.ReLU(True) + + self.upsample = nn.Upsample(scale_factor=2, mode="bilinear", align_corners=True) + self.conv_upsample1 = BasicConv2d(channel[2], channel[1], 3, padding=1) + self.conv_upsample2 = BasicConv2d(channel[2], channel[0], 3, padding=1) + self.conv_upsample3 = BasicConv2d(channel[1], channel[0], 3, padding=1) + self.conv_upsample4 = BasicConv2d(channel[2], channel[2], 3, padding=1) + self.conv_upsample5 = BasicConv2d( + channel[2] + channel[1], channel[2] + channel[1], 3, padding=1 + ) + + self.conv_concat2 = BasicConv2d( + (channel[2] + channel[1]), (channel[2] + channel[1]), 3, padding=1 + ) + self.conv_concat3 = BasicConv2d( + (channel[0] + channel[1] + channel[2]), + (channel[0] + channel[1] + channel[2]), + 3, + padding=1, + ) + + self.UAM = UnionAttentionModule(channel[0] + channel[1] + channel[2]) + + def forward(self, e4, e3, e2): + e4_1 = e4 + e3_1 = self.conv_upsample1(self.upsample(e4)) * e3 + e2_1 = ( + self.conv_upsample2(self.upsample(self.upsample(e4))) + * self.conv_upsample3(self.upsample(e3)) + * e2 + ) + + e3_2 = torch.cat((e3_1, self.conv_upsample4(self.upsample(e4_1))), 1) + e3_2 = self.conv_concat2(e3_2) + + e2_2 = torch.cat((e2_1, self.conv_upsample5(self.upsample(e3_2))), 1) + x = self.conv_concat3(e2_2) + + output = self.UAM(x) + + return output + + +class ObjectAttention(nn.Module): + def __init__(self, channel, kernel_size): + super(ObjectAttention, self).__init__() + self.channel = channel + self.DWSConv = DWSConv( + channel, channel // 2, kernel=kernel_size, padding=1, kernels_per_layer=1 + ) + self.DWConv1 = nn.Sequential( + DWConv(channel // 2, channel // 2, kernel=1, padding=0, dilation=1), + BasicConv2d(channel // 2, channel // 8, 1), + ) + self.DWConv2 = nn.Sequential( + DWConv(channel // 2, channel // 2, kernel=3, padding=1, dilation=1), + BasicConv2d(channel // 2, channel // 8, 1), + ) + self.DWConv3 = nn.Sequential( + DWConv(channel // 2, channel // 2, kernel=3, padding=3, dilation=3), + BasicConv2d(channel // 2, channel // 8, 1), + ) + self.DWConv4 = nn.Sequential( + DWConv(channel // 2, channel // 2, kernel=3, padding=5, dilation=5), + BasicConv2d(channel // 2, channel // 8, 1), + ) + self.conv1 = BasicConv2d(channel // 2, 1, 1) + + def forward(self, decoder_map, encoder_map): + """ + Args: + decoder_map: decoder representation (B, 1, H, W). + encoder_map: encoder block output (B, C, H, W). + Returns: + decoder representation: (B, 1, H, W) + """ + mask_bg = -1 * torch.sigmoid(decoder_map) + 1 # Sigmoid & Reverse + mask_ob = torch.sigmoid(decoder_map) # object attention + x = mask_ob.expand(-1, self.channel, -1, -1).mul(encoder_map) + + edge = mask_bg.clone() + edge[edge > 0.93] = 0 + x = x + (edge * encoder_map) + + x = self.DWSConv(x) + skip = x.clone() + x = ( + torch.cat( + [self.DWConv1(x), self.DWConv2(x), self.DWConv3(x), self.DWConv4(x)], + dim=1, + ) + + skip + ) + x = torch.relu(self.conv1(x)) + + return x + decoder_map diff --git a/carvekit/ml/arch/tracerb7/conv_modules.py b/carvekit/ml/arch/tracerb7/conv_modules.py new file mode 100644 index 0000000..90395a6 --- /dev/null +++ b/carvekit/ml/arch/tracerb7/conv_modules.py @@ -0,0 +1,88 @@ +""" +Source url: https://github.com/Karel911/TRACER +Author: Min Seok Lee and Wooseok Shin +License: Apache License 2.0 +""" +import torch.nn as nn + + +class BasicConv2d(nn.Module): + def __init__( + self, + in_channel, + out_channel, + kernel_size, + stride=(1, 1), + padding=(0, 0), + dilation=(1, 1), + ): + super(BasicConv2d, self).__init__() + self.conv = nn.Conv2d( + in_channel, + out_channel, + kernel_size=kernel_size, + stride=stride, + padding=padding, + dilation=dilation, + bias=False, + ) + self.bn = nn.BatchNorm2d(out_channel) + self.selu = nn.SELU() + + def forward(self, x): + x = self.conv(x) + x = self.bn(x) + x = self.selu(x) + + return x + + +class DWConv(nn.Module): + def __init__(self, in_channel, out_channel, kernel, dilation, padding): + super(DWConv, self).__init__() + self.out_channel = out_channel + self.DWConv = nn.Conv2d( + in_channel, + out_channel, + kernel_size=kernel, + padding=padding, + groups=in_channel, + dilation=dilation, + bias=False, + ) + self.bn = nn.BatchNorm2d(out_channel) + self.selu = nn.SELU() + + def forward(self, x): + x = self.DWConv(x) + out = self.selu(self.bn(x)) + + return out + + +class DWSConv(nn.Module): + def __init__(self, in_channel, out_channel, kernel, padding, kernels_per_layer): + super(DWSConv, self).__init__() + self.out_channel = out_channel + self.DWConv = nn.Conv2d( + in_channel, + in_channel * kernels_per_layer, + kernel_size=kernel, + padding=padding, + groups=in_channel, + bias=False, + ) + self.bn = nn.BatchNorm2d(in_channel * kernels_per_layer) + self.selu = nn.SELU() + self.PWConv = nn.Conv2d( + in_channel * kernels_per_layer, out_channel, kernel_size=1, bias=False + ) + self.bn2 = nn.BatchNorm2d(out_channel) + + def forward(self, x): + x = self.DWConv(x) + x = self.selu(self.bn(x)) + out = self.PWConv(x) + out = self.selu(self.bn2(out)) + + return out diff --git a/carvekit/ml/arch/tracerb7/effi_utils.py b/carvekit/ml/arch/tracerb7/effi_utils.py new file mode 100644 index 0000000..b578ca2 --- /dev/null +++ b/carvekit/ml/arch/tracerb7/effi_utils.py @@ -0,0 +1,579 @@ +""" +Original author: lukemelas (github username) +Github repo: https://github.com/lukemelas/EfficientNet-PyTorch +With adjustments and added comments by workingcoder (github username). +License: Apache License 2.0 +Reimplemented: Min Seok Lee and Wooseok Shin +""" + +import collections +import re +from functools import partial + +import math +import torch +from torch import nn +from torch.nn import functional as F + +# Parameters for the entire model (stem, all blocks, and head) +GlobalParams = collections.namedtuple( + "GlobalParams", + [ + "width_coefficient", + "depth_coefficient", + "image_size", + "dropout_rate", + "num_classes", + "batch_norm_momentum", + "batch_norm_epsilon", + "drop_connect_rate", + "depth_divisor", + "min_depth", + "include_top", + ], +) + +# Parameters for an individual model block +BlockArgs = collections.namedtuple( + "BlockArgs", + [ + "num_repeat", + "kernel_size", + "stride", + "expand_ratio", + "input_filters", + "output_filters", + "se_ratio", + "id_skip", + ], +) + +# Set GlobalParams and BlockArgs's defaults +GlobalParams.__new__.__defaults__ = (None,) * len(GlobalParams._fields) +BlockArgs.__new__.__defaults__ = (None,) * len(BlockArgs._fields) + + +# An ordinary implementation of Swish function +class Swish(nn.Module): + def forward(self, x): + return x * torch.sigmoid(x) + + +# A memory-efficient implementation of Swish function +class SwishImplementation(torch.autograd.Function): + @staticmethod + def forward(ctx, i): + result = i * torch.sigmoid(i) + ctx.save_for_backward(i) + return result + + @staticmethod + def backward(ctx, grad_output): + i = ctx.saved_tensors[0] + sigmoid_i = torch.sigmoid(i) + return grad_output * (sigmoid_i * (1 + i * (1 - sigmoid_i))) + + +class MemoryEfficientSwish(nn.Module): + def forward(self, x): + return SwishImplementation.apply(x) + + +def round_filters(filters, global_params): + """Calculate and round number of filters based on width multiplier. + Use width_coefficient, depth_divisor and min_depth of global_params. + + Args: + filters (int): Filters number to be calculated. + global_params (namedtuple): Global params of the model. + + Returns: + new_filters: New filters number after calculating. + """ + multiplier = global_params.width_coefficient + if not multiplier: + return filters + divisor = global_params.depth_divisor + min_depth = global_params.min_depth + filters *= multiplier + min_depth = min_depth or divisor # pay attention to this line when using min_depth + # follow the formula transferred from official TensorFlow implementation + new_filters = max(min_depth, int(filters + divisor / 2) // divisor * divisor) + if new_filters < 0.9 * filters: # prevent rounding by more than 10% + new_filters += divisor + return int(new_filters) + + +def round_repeats(repeats, global_params): + """Calculate module's repeat number of a block based on depth multiplier. + Use depth_coefficient of global_params. + + Args: + repeats (int): num_repeat to be calculated. + global_params (namedtuple): Global params of the model. + + Returns: + new repeat: New repeat number after calculating. + """ + multiplier = global_params.depth_coefficient + if not multiplier: + return repeats + # follow the formula transferred from official TensorFlow implementation + return int(math.ceil(multiplier * repeats)) + + +def drop_connect(inputs, p, training): + """Drop connect. + + Args: + input (tensor: BCWH): Input of this structure. + p (float: 0.0~1.0): Probability of drop connection. + training (bool): The running mode. + + Returns: + output: Output after drop connection. + """ + assert 0 <= p <= 1, "p must be in range of [0,1]" + + if not training: + return inputs + + batch_size = inputs.shape[0] + keep_prob = 1 - p + + # generate binary_tensor mask according to probability (p for 0, 1-p for 1) + random_tensor = keep_prob + random_tensor += torch.rand( + [batch_size, 1, 1, 1], dtype=inputs.dtype, device=inputs.device + ) + binary_tensor = torch.floor(random_tensor) + + output = inputs / keep_prob * binary_tensor + return output + + +def get_width_and_height_from_size(x): + """Obtain height and width from x. + + Args: + x (int, tuple or list): Data size. + + Returns: + size: A tuple or list (H,W). + """ + if isinstance(x, int): + return x, x + if isinstance(x, list) or isinstance(x, tuple): + return x + else: + raise TypeError() + + +def calculate_output_image_size(input_image_size, stride): + """Calculates the output image size when using Conv2dSamePadding with a stride. + Necessary for static padding. Thanks to mannatsingh for pointing this out. + + Args: + input_image_size (int, tuple or list): Size of input image. + stride (int, tuple or list): Conv2d operation's stride. + + Returns: + output_image_size: A list [H,W]. + """ + if input_image_size is None: + return None + image_height, image_width = get_width_and_height_from_size(input_image_size) + stride = stride if isinstance(stride, int) else stride[0] + image_height = int(math.ceil(image_height / stride)) + image_width = int(math.ceil(image_width / stride)) + return [image_height, image_width] + + +# Note: +# The following 'SamePadding' functions make output size equal ceil(input size/stride). +# Only when stride equals 1, can the output size be the same as input size. +# Don't be confused by their function names ! ! ! + + +def get_same_padding_conv2d(image_size=None): + """Chooses static padding if you have specified an image size, and dynamic padding otherwise. + Static padding is necessary for ONNX exporting of models. + + Args: + image_size (int or tuple): Size of the image. + + Returns: + Conv2dDynamicSamePadding or Conv2dStaticSamePadding. + """ + if image_size is None: + return Conv2dDynamicSamePadding + else: + return partial(Conv2dStaticSamePadding, image_size=image_size) + + +class Conv2dDynamicSamePadding(nn.Conv2d): + """2D Convolutions like TensorFlow, for a dynamic image size. + The padding is operated in forward function by calculating dynamically. + """ + + # Tips for 'SAME' mode padding. + # Given the following: + # i: width or height + # s: stride + # k: kernel size + # d: dilation + # p: padding + # Output after Conv2d: + # o = floor((i+p-((k-1)*d+1))/s+1) + # If o equals i, i = floor((i+p-((k-1)*d+1))/s+1), + # => p = (i-1)*s+((k-1)*d+1)-i + + def __init__( + self, + in_channels, + out_channels, + kernel_size, + stride=1, + dilation=1, + groups=1, + bias=True, + ): + super().__init__( + in_channels, out_channels, kernel_size, stride, 0, dilation, groups, bias + ) + self.stride = self.stride if len(self.stride) == 2 else [self.stride[0]] * 2 + + def forward(self, x): + ih, iw = x.size()[-2:] + kh, kw = self.weight.size()[-2:] + sh, sw = self.stride + oh, ow = math.ceil(ih / sh), math.ceil( + iw / sw + ) # change the output size according to stride ! ! ! + pad_h = max((oh - 1) * self.stride[0] + (kh - 1) * self.dilation[0] + 1 - ih, 0) + pad_w = max((ow - 1) * self.stride[1] + (kw - 1) * self.dilation[1] + 1 - iw, 0) + if pad_h > 0 or pad_w > 0: + x = F.pad( + x, [pad_w // 2, pad_w - pad_w // 2, pad_h // 2, pad_h - pad_h // 2] + ) + return F.conv2d( + x, + self.weight, + self.bias, + self.stride, + self.padding, + self.dilation, + self.groups, + ) + + +class Conv2dStaticSamePadding(nn.Conv2d): + """2D Convolutions like TensorFlow's 'SAME' mode, with the given input image size. + The padding mudule is calculated in construction function, then used in forward. + """ + + # With the same calculation as Conv2dDynamicSamePadding + + def __init__( + self, + in_channels, + out_channels, + kernel_size, + stride=1, + image_size=None, + **kwargs + ): + super().__init__(in_channels, out_channels, kernel_size, stride, **kwargs) + self.stride = self.stride if len(self.stride) == 2 else [self.stride[0]] * 2 + + # Calculate padding based on image size and save it + assert image_size is not None + ih, iw = (image_size, image_size) if isinstance(image_size, int) else image_size + kh, kw = self.weight.size()[-2:] + sh, sw = self.stride + oh, ow = math.ceil(ih / sh), math.ceil(iw / sw) + pad_h = max((oh - 1) * self.stride[0] + (kh - 1) * self.dilation[0] + 1 - ih, 0) + pad_w = max((ow - 1) * self.stride[1] + (kw - 1) * self.dilation[1] + 1 - iw, 0) + if pad_h > 0 or pad_w > 0: + self.static_padding = nn.ZeroPad2d( + (pad_w // 2, pad_w - pad_w // 2, pad_h // 2, pad_h - pad_h // 2) + ) + else: + self.static_padding = nn.Identity() + + def forward(self, x): + x = self.static_padding(x) + x = F.conv2d( + x, + self.weight, + self.bias, + self.stride, + self.padding, + self.dilation, + self.groups, + ) + return x + + +def get_same_padding_maxPool2d(image_size=None): + """Chooses static padding if you have specified an image size, and dynamic padding otherwise. + Static padding is necessary for ONNX exporting of models. + + Args: + image_size (int or tuple): Size of the image. + + Returns: + MaxPool2dDynamicSamePadding or MaxPool2dStaticSamePadding. + """ + if image_size is None: + return MaxPool2dDynamicSamePadding + else: + return partial(MaxPool2dStaticSamePadding, image_size=image_size) + + +class MaxPool2dDynamicSamePadding(nn.MaxPool2d): + """2D MaxPooling like TensorFlow's 'SAME' mode, with a dynamic image size. + The padding is operated in forward function by calculating dynamically. + """ + + def __init__( + self, + kernel_size, + stride, + padding=0, + dilation=1, + return_indices=False, + ceil_mode=False, + ): + super().__init__( + kernel_size, stride, padding, dilation, return_indices, ceil_mode + ) + self.stride = [self.stride] * 2 if isinstance(self.stride, int) else self.stride + self.kernel_size = ( + [self.kernel_size] * 2 + if isinstance(self.kernel_size, int) + else self.kernel_size + ) + self.dilation = ( + [self.dilation] * 2 if isinstance(self.dilation, int) else self.dilation + ) + + def forward(self, x): + ih, iw = x.size()[-2:] + kh, kw = self.kernel_size + sh, sw = self.stride + oh, ow = math.ceil(ih / sh), math.ceil(iw / sw) + pad_h = max((oh - 1) * self.stride[0] + (kh - 1) * self.dilation[0] + 1 - ih, 0) + pad_w = max((ow - 1) * self.stride[1] + (kw - 1) * self.dilation[1] + 1 - iw, 0) + if pad_h > 0 or pad_w > 0: + x = F.pad( + x, [pad_w // 2, pad_w - pad_w // 2, pad_h // 2, pad_h - pad_h // 2] + ) + return F.max_pool2d( + x, + self.kernel_size, + self.stride, + self.padding, + self.dilation, + self.ceil_mode, + self.return_indices, + ) + + +class MaxPool2dStaticSamePadding(nn.MaxPool2d): + """2D MaxPooling like TensorFlow's 'SAME' mode, with the given input image size. + The padding mudule is calculated in construction function, then used in forward. + """ + + def __init__(self, kernel_size, stride, image_size=None, **kwargs): + super().__init__(kernel_size, stride, **kwargs) + self.stride = [self.stride] * 2 if isinstance(self.stride, int) else self.stride + self.kernel_size = ( + [self.kernel_size] * 2 + if isinstance(self.kernel_size, int) + else self.kernel_size + ) + self.dilation = ( + [self.dilation] * 2 if isinstance(self.dilation, int) else self.dilation + ) + + # Calculate padding based on image size and save it + assert image_size is not None + ih, iw = (image_size, image_size) if isinstance(image_size, int) else image_size + kh, kw = self.kernel_size + sh, sw = self.stride + oh, ow = math.ceil(ih / sh), math.ceil(iw / sw) + pad_h = max((oh - 1) * self.stride[0] + (kh - 1) * self.dilation[0] + 1 - ih, 0) + pad_w = max((ow - 1) * self.stride[1] + (kw - 1) * self.dilation[1] + 1 - iw, 0) + if pad_h > 0 or pad_w > 0: + self.static_padding = nn.ZeroPad2d( + (pad_w // 2, pad_w - pad_w // 2, pad_h // 2, pad_h - pad_h // 2) + ) + else: + self.static_padding = nn.Identity() + + def forward(self, x): + x = self.static_padding(x) + x = F.max_pool2d( + x, + self.kernel_size, + self.stride, + self.padding, + self.dilation, + self.ceil_mode, + self.return_indices, + ) + return x + + +class BlockDecoder(object): + """Block Decoder for readability, + straight from the official TensorFlow repository. + """ + + @staticmethod + def _decode_block_string(block_string): + """Get a block through a string notation of arguments. + + Args: + block_string (str): A string notation of arguments. + Examples: 'r1_k3_s11_e1_i32_o16_se0.25_noskip'. + + Returns: + BlockArgs: The namedtuple defined at the top of this file. + """ + assert isinstance(block_string, str) + + ops = block_string.split("_") + options = {} + for op in ops: + splits = re.split(r"(\d.*)", op) + if len(splits) >= 2: + key, value = splits[:2] + options[key] = value + + # Check stride + assert ("s" in options and len(options["s"]) == 1) or ( + len(options["s"]) == 2 and options["s"][0] == options["s"][1] + ) + + return BlockArgs( + num_repeat=int(options["r"]), + kernel_size=int(options["k"]), + stride=[int(options["s"][0])], + expand_ratio=int(options["e"]), + input_filters=int(options["i"]), + output_filters=int(options["o"]), + se_ratio=float(options["se"]) if "se" in options else None, + id_skip=("noskip" not in block_string), + ) + + @staticmethod + def _encode_block_string(block): + """Encode a block to a string. + + Args: + block (namedtuple): A BlockArgs type argument. + + Returns: + block_string: A String form of BlockArgs. + """ + args = [ + "r%d" % block.num_repeat, + "k%d" % block.kernel_size, + "s%d%d" % (block.strides[0], block.strides[1]), + "e%s" % block.expand_ratio, + "i%d" % block.input_filters, + "o%d" % block.output_filters, + ] + if 0 < block.se_ratio <= 1: + args.append("se%s" % block.se_ratio) + if block.id_skip is False: + args.append("noskip") + return "_".join(args) + + @staticmethod + def decode(string_list): + """Decode a list of string notations to specify blocks inside the network. + + Args: + string_list (list[str]): A list of strings, each string is a notation of block. + + Returns: + blocks_args: A list of BlockArgs namedtuples of block args. + """ + assert isinstance(string_list, list) + blocks_args = [] + for block_string in string_list: + blocks_args.append(BlockDecoder._decode_block_string(block_string)) + return blocks_args + + @staticmethod + def encode(blocks_args): + """Encode a list of BlockArgs to a list of strings. + + Args: + blocks_args (list[namedtuples]): A list of BlockArgs namedtuples of block args. + + Returns: + block_strings: A list of strings, each string is a notation of block. + """ + block_strings = [] + for block in blocks_args: + block_strings.append(BlockDecoder._encode_block_string(block)) + return block_strings + + +def create_block_args( + width_coefficient=None, + depth_coefficient=None, + image_size=None, + dropout_rate=0.2, + drop_connect_rate=0.2, + num_classes=1000, + include_top=True, +): + """Create BlockArgs and GlobalParams for efficientnet model. + + Args: + width_coefficient (float) + depth_coefficient (float) + image_size (int) + dropout_rate (float) + drop_connect_rate (float) + num_classes (int) + + Meaning as the name suggests. + + Returns: + blocks_args, global_params. + """ + + # Blocks args for the whole model(efficientnet-b0 by default) + # It will be modified in the construction of EfficientNet Class according to model + blocks_args = [ + "r1_k3_s11_e1_i32_o16_se0.25", + "r2_k3_s22_e6_i16_o24_se0.25", + "r2_k5_s22_e6_i24_o40_se0.25", + "r3_k3_s22_e6_i40_o80_se0.25", + "r3_k5_s11_e6_i80_o112_se0.25", + "r4_k5_s22_e6_i112_o192_se0.25", + "r1_k3_s11_e6_i192_o320_se0.25", + ] + blocks_args = BlockDecoder.decode(blocks_args) + + global_params = GlobalParams( + width_coefficient=width_coefficient, + depth_coefficient=depth_coefficient, + image_size=image_size, + dropout_rate=dropout_rate, + num_classes=num_classes, + batch_norm_momentum=0.99, + batch_norm_epsilon=1e-3, + drop_connect_rate=drop_connect_rate, + depth_divisor=8, + min_depth=None, + include_top=include_top, + ) + + return blocks_args, global_params diff --git a/carvekit/ml/arch/tracerb7/efficientnet.py b/carvekit/ml/arch/tracerb7/efficientnet.py new file mode 100644 index 0000000..ea327d0 --- /dev/null +++ b/carvekit/ml/arch/tracerb7/efficientnet.py @@ -0,0 +1,325 @@ +""" +Source url: https://github.com/lukemelas/EfficientNet-PyTorch +Modified by Min Seok Lee, Wooseok Shin, Nikita Selin +License: Apache License 2.0 +Changes: + - Added support for extracting edge features + - Added support for extracting object features at different levels + - Refactored the code +""" +from typing import Any, List + +import torch +from torch import nn +from torch.nn import functional as F + +from carvekit.ml.arch.tracerb7.effi_utils import ( + get_same_padding_conv2d, + calculate_output_image_size, + MemoryEfficientSwish, + drop_connect, + round_filters, + round_repeats, + Swish, + create_block_args, +) + + +class MBConvBlock(nn.Module): + """Mobile Inverted Residual Bottleneck Block. + + Args: + block_args (namedtuple): BlockArgs, defined in utils.py. + global_params (namedtuple): GlobalParam, defined in utils.py. + image_size (tuple or list): [image_height, image_width]. + + References: + [1] https://arxiv.org/abs/1704.04861 (MobileNet v1) + [2] https://arxiv.org/abs/1801.04381 (MobileNet v2) + [3] https://arxiv.org/abs/1905.02244 (MobileNet v3) + """ + + def __init__(self, block_args, global_params, image_size=None): + super().__init__() + self._block_args = block_args + self._bn_mom = ( + 1 - global_params.batch_norm_momentum + ) # pytorch's difference from tensorflow + self._bn_eps = global_params.batch_norm_epsilon + self.has_se = (self._block_args.se_ratio is not None) and ( + 0 < self._block_args.se_ratio <= 1 + ) + self.id_skip = ( + block_args.id_skip + ) # whether to use skip connection and drop connect + + # Expansion phase (Inverted Bottleneck) + inp = self._block_args.input_filters # number of input channels + oup = ( + self._block_args.input_filters * self._block_args.expand_ratio + ) # number of output channels + if self._block_args.expand_ratio != 1: + Conv2d = get_same_padding_conv2d(image_size=image_size) + self._expand_conv = Conv2d( + in_channels=inp, out_channels=oup, kernel_size=1, bias=False + ) + self._bn0 = nn.BatchNorm2d( + num_features=oup, momentum=self._bn_mom, eps=self._bn_eps + ) + # image_size = calculate_output_image_size(image_size, 1) <-- this wouldn't modify image_size + + # Depthwise convolution phase + k = self._block_args.kernel_size + s = self._block_args.stride + Conv2d = get_same_padding_conv2d(image_size=image_size) + self._depthwise_conv = Conv2d( + in_channels=oup, + out_channels=oup, + groups=oup, # groups makes it depthwise + kernel_size=k, + stride=s, + bias=False, + ) + self._bn1 = nn.BatchNorm2d( + num_features=oup, momentum=self._bn_mom, eps=self._bn_eps + ) + image_size = calculate_output_image_size(image_size, s) + + # Squeeze and Excitation layer, if desired + if self.has_se: + Conv2d = get_same_padding_conv2d(image_size=(1, 1)) + num_squeezed_channels = max( + 1, int(self._block_args.input_filters * self._block_args.se_ratio) + ) + self._se_reduce = Conv2d( + in_channels=oup, out_channels=num_squeezed_channels, kernel_size=1 + ) + self._se_expand = Conv2d( + in_channels=num_squeezed_channels, out_channels=oup, kernel_size=1 + ) + + # Pointwise convolution phase + final_oup = self._block_args.output_filters + Conv2d = get_same_padding_conv2d(image_size=image_size) + self._project_conv = Conv2d( + in_channels=oup, out_channels=final_oup, kernel_size=1, bias=False + ) + self._bn2 = nn.BatchNorm2d( + num_features=final_oup, momentum=self._bn_mom, eps=self._bn_eps + ) + self._swish = MemoryEfficientSwish() + + def forward(self, inputs, drop_connect_rate=None): + """MBConvBlock's forward function. + + Args: + inputs (tensor): Input tensor. + drop_connect_rate (bool): Drop connect rate (float, between 0 and 1). + + Returns: + Output of this block after processing. + """ + + # Expansion and Depthwise Convolution + x = inputs + if self._block_args.expand_ratio != 1: + x = self._expand_conv(inputs) + x = self._bn0(x) + x = self._swish(x) + + x = self._depthwise_conv(x) + x = self._bn1(x) + x = self._swish(x) + + # Squeeze and Excitation + if self.has_se: + x_squeezed = F.adaptive_avg_pool2d(x, 1) + x_squeezed = self._se_reduce(x_squeezed) + x_squeezed = self._swish(x_squeezed) + x_squeezed = self._se_expand(x_squeezed) + x = torch.sigmoid(x_squeezed) * x + + # Pointwise Convolution + x = self._project_conv(x) + x = self._bn2(x) + + # Skip connection and drop connect + input_filters, output_filters = ( + self._block_args.input_filters, + self._block_args.output_filters, + ) + if ( + self.id_skip + and self._block_args.stride == 1 + and input_filters == output_filters + ): + # The combination of skip connection and drop connect brings about stochastic depth. + if drop_connect_rate: + x = drop_connect(x, p=drop_connect_rate, training=self.training) + x = x + inputs # skip connection + return x + + def set_swish(self, memory_efficient=True): + """Sets swish function as memory efficient (for training) or standard (for export). + + Args: + memory_efficient (bool): Whether to use memory-efficient version of swish. + """ + self._swish = MemoryEfficientSwish() if memory_efficient else Swish() + + +class EfficientNet(nn.Module): + def __init__(self, blocks_args=None, global_params=None): + super().__init__() + assert isinstance(blocks_args, list), "blocks_args should be a list" + assert len(blocks_args) > 0, "block args must be greater than 0" + self._global_params = global_params + self._blocks_args = blocks_args + + # Batch norm parameters + bn_mom = 1 - self._global_params.batch_norm_momentum + bn_eps = self._global_params.batch_norm_epsilon + + # Get stem static or dynamic convolution depending on image size + image_size = global_params.image_size + Conv2d = get_same_padding_conv2d(image_size=image_size) + + # Stem + in_channels = 3 # rgb + out_channels = round_filters( + 32, self._global_params + ) # number of output channels + self._conv_stem = Conv2d( + in_channels, out_channels, kernel_size=3, stride=2, bias=False + ) + self._bn0 = nn.BatchNorm2d( + num_features=out_channels, momentum=bn_mom, eps=bn_eps + ) + image_size = calculate_output_image_size(image_size, 2) + + # Build blocks + self._blocks = nn.ModuleList([]) + for block_args in self._blocks_args: + + # Update block input and output filters based on depth multiplier. + block_args = block_args._replace( + input_filters=round_filters( + block_args.input_filters, self._global_params + ), + output_filters=round_filters( + block_args.output_filters, self._global_params + ), + num_repeat=round_repeats(block_args.num_repeat, self._global_params), + ) + + # The first block needs to take care of stride and filter size increase. + self._blocks.append( + MBConvBlock(block_args, self._global_params, image_size=image_size) + ) + image_size = calculate_output_image_size(image_size, block_args.stride) + if block_args.num_repeat > 1: # modify block_args to keep same output size + block_args = block_args._replace( + input_filters=block_args.output_filters, stride=1 + ) + for _ in range(block_args.num_repeat - 1): + self._blocks.append( + MBConvBlock(block_args, self._global_params, image_size=image_size) + ) + # image_size = calculate_output_image_size(image_size, block_args.stride) # stride = 1 + + self._swish = MemoryEfficientSwish() + + def set_swish(self, memory_efficient=True): + """Sets swish function as memory efficient (for training) or standard (for export). + + Args: + memory_efficient (bool): Whether to use memory-efficient version of swish. + + """ + self._swish = MemoryEfficientSwish() if memory_efficient else Swish() + for block in self._blocks: + block.set_swish(memory_efficient) + + def extract_endpoints(self, inputs): + endpoints = dict() + + # Stem + x = self._swish(self._bn0(self._conv_stem(inputs))) + prev_x = x + + # Blocks + for idx, block in enumerate(self._blocks): + drop_connect_rate = self._global_params.drop_connect_rate + if drop_connect_rate: + drop_connect_rate *= float(idx) / len( + self._blocks + ) # scale drop connect_rate + x = block(x, drop_connect_rate=drop_connect_rate) + if prev_x.size(2) > x.size(2): + endpoints["reduction_{}".format(len(endpoints) + 1)] = prev_x + prev_x = x + + # Head + x = self._swish(self._bn1(self._conv_head(x))) + endpoints["reduction_{}".format(len(endpoints) + 1)] = x + + return endpoints + + def _change_in_channels(self, in_channels): + """Adjust model's first convolution layer to in_channels, if in_channels not equals 3. + + Args: + in_channels (int): Input data's channel number. + """ + if in_channels != 3: + Conv2d = get_same_padding_conv2d(image_size=self._global_params.image_size) + out_channels = round_filters(32, self._global_params) + self._conv_stem = Conv2d( + in_channels, out_channels, kernel_size=3, stride=2, bias=False + ) + + +class EfficientEncoderB7(EfficientNet): + def __init__(self): + super().__init__( + *create_block_args( + width_coefficient=2.0, + depth_coefficient=3.1, + dropout_rate=0.5, + image_size=600, + ) + ) + self._change_in_channels(3) + self.block_idx = [10, 17, 37, 54] + self.channels = [48, 80, 224, 640] + + def initial_conv(self, inputs): + x = self._swish(self._bn0(self._conv_stem(inputs))) + return x + + def get_blocks(self, x, H, W, block_idx): + features = [] + for idx, block in enumerate(self._blocks): + drop_connect_rate = self._global_params.drop_connect_rate + if drop_connect_rate: + drop_connect_rate *= float(idx) / len( + self._blocks + ) # scale drop connect_rate + x = block(x, drop_connect_rate=drop_connect_rate) + if idx == block_idx[0]: + features.append(x.clone()) + if idx == block_idx[1]: + features.append(x.clone()) + if idx == block_idx[2]: + features.append(x.clone()) + if idx == block_idx[3]: + features.append(x.clone()) + + return features + + def forward(self, inputs: torch.Tensor) -> List[Any]: + B, C, H, W = inputs.size() + x = self.initial_conv(inputs) # Prepare input for the backbone + return self.get_blocks( + x, H, W, block_idx=self.block_idx + ) # Get backbone features and edge maps diff --git a/carvekit/ml/arch/tracerb7/tracer.py b/carvekit/ml/arch/tracerb7/tracer.py new file mode 100644 index 0000000..70cc3f2 --- /dev/null +++ b/carvekit/ml/arch/tracerb7/tracer.py @@ -0,0 +1,97 @@ +""" +Source url: https://github.com/Karel911/TRACER +Author: Min Seok Lee and Wooseok Shin +Modified by Nikita Selin (OPHoperHPO)[https://github.com/OPHoperHPO]. +License: Apache License 2.0 +Changes: + - Refactored code + - Removed unused code + - Added comments +""" + +import torch +import torch.nn as nn +import torch.nn.functional as F +from typing import List, Optional, Tuple + +from torch import Tensor + +from carvekit.ml.arch.tracerb7.efficientnet import EfficientEncoderB7 +from carvekit.ml.arch.tracerb7.att_modules import ( + RFB_Block, + aggregation, + ObjectAttention, +) + + +class TracerDecoder(nn.Module): + """Tracer Decoder""" + + def __init__( + self, + encoder: EfficientEncoderB7, + features_channels: Optional[List[int]] = None, + rfb_channel: Optional[List[int]] = None, + ): + """ + Initialize the tracer decoder. + + Args: + encoder: The encoder to use. + features_channels: The channels of the backbone features at different stages. default: [48, 80, 224, 640] + rfb_channel: The channels of the RFB features. default: [32, 64, 128] + """ + super().__init__() + if rfb_channel is None: + rfb_channel = [32, 64, 128] + if features_channels is None: + features_channels = [48, 80, 224, 640] + self.encoder = encoder + self.features_channels = features_channels + + # Receptive Field Blocks + features_channels = rfb_channel + self.rfb2 = RFB_Block(self.features_channels[1], features_channels[0]) + self.rfb3 = RFB_Block(self.features_channels[2], features_channels[1]) + self.rfb4 = RFB_Block(self.features_channels[3], features_channels[2]) + + # Multi-level aggregation + self.agg = aggregation(features_channels) + + # Object Attention + self.ObjectAttention2 = ObjectAttention( + channel=self.features_channels[1], kernel_size=3 + ) + self.ObjectAttention1 = ObjectAttention( + channel=self.features_channels[0], kernel_size=3 + ) + + def forward(self, inputs: torch.Tensor) -> Tensor: + """ + Forward pass of the tracer decoder. + + Args: + inputs: Preprocessed images. + + Returns: + Tensors of segmentation masks and mask of object edges. + """ + features = self.encoder(inputs) + x3_rfb = self.rfb2(features[1]) + x4_rfb = self.rfb3(features[2]) + x5_rfb = self.rfb4(features[3]) + + D_0 = self.agg(x5_rfb, x4_rfb, x3_rfb) + + ds_map0 = F.interpolate(D_0, scale_factor=8, mode="bilinear") + + D_1 = self.ObjectAttention2(D_0, features[1]) + ds_map1 = F.interpolate(D_1, scale_factor=8, mode="bilinear") + + ds_map = F.interpolate(D_1, scale_factor=2, mode="bilinear") + D_2 = self.ObjectAttention1(ds_map, features[0]) + ds_map2 = F.interpolate(D_2, scale_factor=4, mode="bilinear") + + final_map = (ds_map2 + ds_map1 + ds_map0) / 3 + + return torch.sigmoid(final_map) diff --git a/carvekit/ml/arch/u2net/u2net.py b/carvekit/ml/arch/u2net/u2net.py index e951523..2225acf 100644 --- a/carvekit/ml/arch/u2net/u2net.py +++ b/carvekit/ml/arch/u2net/u2net.py @@ -10,11 +10,11 @@ import math -__all__ = ['U2NETArchitecture'] +__all__ = ["U2NETArchitecture"] def _upsample_like(x, size): - return nn.Upsample(size=size, mode='bilinear', align_corners=False)(x) + return nn.Upsample(size=size, mode="bilinear", align_corners=False)(x) def _size_map(x, height): @@ -31,7 +31,9 @@ class REBNCONV(nn.Module): def __init__(self, in_ch=3, out_ch=3, dilate=1): super(REBNCONV, self).__init__() - self.conv_s1 = nn.Conv2d(in_ch, out_ch, 3, padding=1 * dilate, dilation=1 * dilate) + self.conv_s1 = nn.Conv2d( + in_ch, out_ch, 3, padding=1 * dilate, dilation=1 * dilate + ) self.bn_s1 = nn.BatchNorm2d(out_ch) self.relu_s1 = nn.ReLU(inplace=True) @@ -54,33 +56,39 @@ def forward(self, x): # U-Net like symmetric encoder-decoder structure def unet(x, height=1): if height < self.height: - x1 = getattr(self, f'rebnconv{height}')(x) + x1 = getattr(self, f"rebnconv{height}")(x) if not self.dilated and height < self.height - 1: - x2 = unet(getattr(self, 'downsample')(x1), height + 1) + x2 = unet(getattr(self, "downsample")(x1), height + 1) else: x2 = unet(x1, height + 1) - x = getattr(self, f'rebnconv{height}d')(torch.cat((x2, x1), 1)) - return _upsample_like(x, sizes[height - 1]) if not self.dilated and height > 1 else x + x = getattr(self, f"rebnconv{height}d")(torch.cat((x2, x1), 1)) + return ( + _upsample_like(x, sizes[height - 1]) + if not self.dilated and height > 1 + else x + ) else: - return getattr(self, f'rebnconv{height}')(x) + return getattr(self, f"rebnconv{height}")(x) return x + unet(x) def _make_layers(self, height, in_ch, mid_ch, out_ch, dilated=False): - self.add_module('rebnconvin', REBNCONV(in_ch, out_ch)) - self.add_module('downsample', nn.MaxPool2d(2, stride=2, ceil_mode=True)) + self.add_module("rebnconvin", REBNCONV(in_ch, out_ch)) + self.add_module("downsample", nn.MaxPool2d(2, stride=2, ceil_mode=True)) - self.add_module(f'rebnconv1', REBNCONV(out_ch, mid_ch)) - self.add_module(f'rebnconv1d', REBNCONV(mid_ch * 2, out_ch)) + self.add_module("rebnconv1", REBNCONV(out_ch, mid_ch)) + self.add_module("rebnconv1d", REBNCONV(mid_ch * 2, out_ch)) for i in range(2, height): dilate = 1 if not dilated else 2 ** (i - 1) - self.add_module(f'rebnconv{i}', REBNCONV(mid_ch, mid_ch, dilate=dilate)) - self.add_module(f'rebnconv{i}d', REBNCONV(mid_ch * 2, mid_ch, dilate=dilate)) + self.add_module(f"rebnconv{i}", REBNCONV(mid_ch, mid_ch, dilate=dilate)) + self.add_module( + f"rebnconv{i}d", REBNCONV(mid_ch * 2, mid_ch, dilate=dilate) + ) dilate = 2 if not dilated else 2 ** (height - 1) - self.add_module(f'rebnconv{height}', REBNCONV(mid_ch, mid_ch, dilate=dilate)) + self.add_module(f"rebnconv{height}", REBNCONV(mid_ch, mid_ch, dilate=dilate)) class U2NETArchitecture(nn.Module): @@ -91,17 +99,17 @@ def __init__(self, cfg_type: Union[dict, str] = "full", out_ch: int = 1): layers_cfgs = { # cfgs for building RSUs and sides # {stage : [name, (height(L), in_ch, mid_ch, out_ch, dilated), side]} - 'stage1': ['En_1', (7, 3, 32, 64), -1], - 'stage2': ['En_2', (6, 64, 32, 128), -1], - 'stage3': ['En_3', (5, 128, 64, 256), -1], - 'stage4': ['En_4', (4, 256, 128, 512), -1], - 'stage5': ['En_5', (4, 512, 256, 512, True), -1], - 'stage6': ['En_6', (4, 512, 256, 512, True), 512], - 'stage5d': ['De_5', (4, 1024, 256, 512, True), 512], - 'stage4d': ['De_4', (4, 1024, 128, 256), 256], - 'stage3d': ['De_3', (5, 512, 64, 128), 128], - 'stage2d': ['De_2', (6, 256, 32, 64), 64], - 'stage1d': ['De_1', (7, 128, 16, 64), 64], + "stage1": ["En_1", (7, 3, 32, 64), -1], + "stage2": ["En_2", (6, 64, 32, 128), -1], + "stage3": ["En_3", (5, 128, 64, 256), -1], + "stage4": ["En_4", (4, 256, 128, 512), -1], + "stage5": ["En_5", (4, 512, 256, 512, True), -1], + "stage6": ["En_6", (4, 512, 256, 512, True), 512], + "stage5d": ["De_5", (4, 1024, 256, 512, True), 512], + "stage4d": ["De_4", (4, 1024, 128, 256), 256], + "stage3d": ["De_3", (5, 512, 64, 128), 128], + "stage2d": ["De_2", (6, 256, 32, 64), 64], + "stage1d": ["De_1", (7, 128, 16, 64), 64], } else: raise ValueError("Unknown U^2-Net architecture conf. name") @@ -119,19 +127,19 @@ def forward(self, x): # side saliency map def unet(x, height=1): if height < 6: - x1 = getattr(self, f'stage{height}')(x) - x2 = unet(getattr(self, 'downsample')(x1), height + 1) - x = getattr(self, f'stage{height}d')(torch.cat((x2, x1), 1)) + x1 = getattr(self, f"stage{height}")(x) + x2 = unet(getattr(self, "downsample")(x1), height + 1) + x = getattr(self, f"stage{height}d")(torch.cat((x2, x1), 1)) side(x, height) return _upsample_like(x, sizes[height - 1]) if height > 1 else x else: - x = getattr(self, f'stage{height}')(x) + x = getattr(self, f"stage{height}")(x) side(x, height) return _upsample_like(x, sizes[height - 1]) def side(x, h): # side output saliency map (before sigmoid) - x = getattr(self, f'side{h}')(x) + x = getattr(self, f"side{h}")(x) x = _upsample_like(x, sizes[1]) maps.append(x) @@ -139,7 +147,7 @@ def fuse(): # fuse saliency probability maps maps.reverse() x = torch.cat(maps, 1) - x = getattr(self, 'outconv')(x) + x = getattr(self, "outconv")(x) maps.insert(0, x) return [torch.sigmoid(x) for x in maps] @@ -149,12 +157,16 @@ def fuse(): def _make_layers(self, cfgs): self.height = int((len(cfgs) + 1) / 2) - self.add_module('downsample', nn.MaxPool2d(2, stride=2, ceil_mode=True)) + self.add_module("downsample", nn.MaxPool2d(2, stride=2, ceil_mode=True)) for k, v in cfgs.items(): # build rsu block self.add_module(k, RSU(v[0], *v[1])) if v[2] > 0: # build side layer - self.add_module(f'side{v[0][-1]}', nn.Conv2d(v[2], self.out_ch, 3, padding=1)) + self.add_module( + f"side{v[0][-1]}", nn.Conv2d(v[2], self.out_ch, 3, padding=1) + ) # build fuse layer - self.add_module('outconv', nn.Conv2d(int(self.height * self.out_ch), self.out_ch, 1)) + self.add_module( + "outconv", nn.Conv2d(int(self.height * self.out_ch), self.out_ch, 1) + ) diff --git a/carvekit/ml/files/__init__.py b/carvekit/ml/files/__init__.py index 563c5d6..dc535a7 100644 --- a/carvekit/ml/files/__init__.py +++ b/carvekit/ml/files/__init__.py @@ -1,4 +1,7 @@ from pathlib import Path -carvekit_dir = Path.home().joinpath('.carvekit') -checkpoints_dir = carvekit_dir.joinpath('checkpoints') +carvekit_dir = Path.home().joinpath(".cache/carvekit") + +carvekit_dir.mkdir(parents=True, exist_ok=True) + +checkpoints_dir = carvekit_dir.joinpath("checkpoints") diff --git a/carvekit/ml/files/models_loc.py b/carvekit/ml/files/models_loc.py index 4c9a464..45f9a56 100644 --- a/carvekit/ml/files/models_loc.py +++ b/carvekit/ml/files/models_loc.py @@ -5,43 +5,61 @@ """ import pathlib from carvekit.ml.files import checkpoints_dir -from carvekit.utils.download_models import check_for_exists +from carvekit.utils.download_models import downloader def u2net_full_pretrained() -> pathlib.Path: - """ Returns u2net pretrained model location + """Returns u2net pretrained model location Returns: pathlib.Path to model location """ - return check_for_exists(checkpoints_dir.joinpath('u2net/u2net.pth')) + return downloader("u2net.pth") def basnet_pretrained() -> pathlib.Path: - """ Returns basnet pretrained model location + """Returns basnet pretrained model location Returns: pathlib.Path to model location """ - return check_for_exists(checkpoints_dir.joinpath('basnet/basnet.pth')) + return downloader("basnet.pth") def deeplab_pretrained() -> pathlib.Path: - """ Returns basnet pretrained model location + """Returns basnet pretrained model location Returns: pathlib.Path to model location """ - return check_for_exists(checkpoints_dir.joinpath('deeplab/deeplab.pth')) + return downloader("deeplab.pth") def fba_pretrained() -> pathlib.Path: - """ Returns basnet pretrained model location + """Returns basnet pretrained model location Returns: pathlib.Path to model location """ - return check_for_exists(checkpoints_dir.joinpath('fba_matting/fba_matting.pth')) + return downloader("fba_matting.pth") + + +def tracer_b7_pretrained() -> pathlib.Path: + """Returns TRACER with EfficientNet v1 b7 encoder pretrained model location + + Returns: + pathlib.Path to model location + """ + return downloader("tracer_b7.pth") + + +def tracer_hair_pretrained() -> pathlib.Path: + """Returns TRACER with EfficientNet v1 b7 encoder model for hair segmentation location + + Returns: + pathlib.Path to model location + """ + return downloader("tracer_hair.pth") def download_all(): @@ -49,3 +67,4 @@ def download_all(): fba_pretrained() deeplab_pretrained() basnet_pretrained() + tracer_b7_pretrained() diff --git a/carvekit/ml/wrap/basnet.py b/carvekit/ml/wrap/basnet.py index 0ab81a0..9912e81 100644 --- a/carvekit/ml/wrap/basnet.py +++ b/carvekit/ml/wrap/basnet.py @@ -22,41 +22,48 @@ class BASNET(BASNet): """BASNet model interface""" - def __init__(self, device='cpu', - input_tensor_size: Union[List[int], int] = 320, - batch_size: int = 10, - load_pretrained: bool = True): + def __init__( + self, + device="cpu", + input_image_size: Union[List[int], int] = 320, + batch_size: int = 10, + load_pretrained: bool = True, + fp16: bool = False, + ): """ - Initialize the BASNET model + Initialize the BASNET model - Args: - device: processing device - input_tensor_size: input image size - batch_size: the number of images that the neural network processes in one run - load_pretrained: loading pretrained model + Args: + device: processing device + input_image_size: input image size + batch_size: the number of images that the neural network processes in one run + load_pretrained: loading pretrained model + fp16: use fp16 precision // not supported at this moment """ super(BASNET, self).__init__(n_channels=3, n_classes=1) self.device = device self.batch_size = batch_size - if isinstance(input_tensor_size, list): - self.input_image_size = input_tensor_size[:2] + if isinstance(input_image_size, list): + self.input_image_size = input_image_size[:2] else: - self.input_image_size = (input_tensor_size, input_tensor_size) + self.input_image_size = (input_image_size, input_image_size) self.to(device) if load_pretrained: - self.load_state_dict(torch.load(basnet_pretrained(), map_location=self.device)) + self.load_state_dict( + torch.load(basnet_pretrained(), map_location=self.device) + ) self.eval() def data_preprocessing(self, data: PIL.Image.Image) -> torch.Tensor: """ - Transform input image to suitable data format for neural network + Transform input image to suitable data format for neural network - Args: - data: input image + Args: + data: input image - Returns: - input for neural network + Returns: + input for neural network """ resized = data.resize(self.input_image_size) @@ -73,18 +80,19 @@ def data_preprocessing(self, data: PIL.Image.Image) -> torch.Tensor: return torch.from_numpy(temp_image).type(torch.FloatTensor) @staticmethod - def data_postprocessing(data: torch.tensor, - original_image: PIL.Image.Image) -> PIL.Image.Image: + def data_postprocessing( + data: torch.tensor, original_image: PIL.Image.Image + ) -> PIL.Image.Image: """ - Transforms output data from neural network to suitable data - format for using with other components of this framework. + Transforms output data from neural network to suitable data + format for using with other components of this framework. - Args: - data: output data from neural network - original_image: input image which was used for predicted data + Args: + data: output data from neural network + original_image: input image which was used for predicted data - Returns: - Segmentation mask as PIL Image instance + Returns: + Segmentation mask as PIL Image instance """ data = data.unsqueeze(0) @@ -97,27 +105,37 @@ def data_postprocessing(data: torch.tensor, mask = mask.resize(original_image.size, resample=3) return mask - def __call__(self, images: List[Union[str, pathlib.Path, PIL.Image.Image]]) -> List[PIL.Image.Image]: + def __call__( + self, images: List[Union[str, pathlib.Path, PIL.Image.Image]] + ) -> List[PIL.Image.Image]: """ - Passes input images through neural network and returns segmentation masks as PIL.Image.Image instances + Passes input images through neural network and returns segmentation masks as PIL.Image.Image instances - Args: - images: input images + Args: + images: input images - Returns: - segmentation masks as for input images, as PIL.Image.Image instances + Returns: + segmentation masks as for input images, as PIL.Image.Image instances """ collect_masks = [] for image_batch in batch_generator(images, self.batch_size): - images = thread_pool_processing(lambda x: convert_image(load_image(x)), image_batch) - batches = torch.vstack(thread_pool_processing(self.data_preprocessing, images)) + images = thread_pool_processing( + lambda x: convert_image(load_image(x)), image_batch + ) + batches = torch.vstack( + thread_pool_processing(self.data_preprocessing, images) + ) with torch.no_grad(): batches = batches.to(self.device) - masks, d2, d3, d4, d5, d6, d7, d8 = super(BASNET, self).__call__(batches) + masks, d2, d3, d4, d5, d6, d7, d8 = super(BASNET, self).__call__( + batches + ) masks_cpu = masks.cpu() del d2, d3, d4, d5, d6, d7, d8, batches, masks - masks = thread_pool_processing(lambda x: self.data_postprocessing(masks_cpu[x], images[x]), - range(len(images))) + masks = thread_pool_processing( + lambda x: self.data_postprocessing(masks_cpu[x], images[x]), + range(len(images)), + ) collect_masks += masks return collect_masks diff --git a/carvekit/ml/wrap/deeplab_v3.py b/carvekit/ml/wrap/deeplab_v3.py index 11dd517..4b19542 100644 --- a/carvekit/ml/wrap/deeplab_v3.py +++ b/carvekit/ml/wrap/deeplab_v3.py @@ -13,42 +13,56 @@ from torchvision.models.segmentation import deeplabv3_resnet101 from carvekit.ml.files.models_loc import deeplab_pretrained from carvekit.utils.image_utils import convert_image, load_image +from carvekit.utils.models_utils import get_precision_autocast, cast_network from carvekit.utils.pool_utils import batch_generator, thread_pool_processing __all__ = ["DeepLabV3"] class DeepLabV3: - def __init__(self, device='cpu', - batch_size: int = 10, - input_image_size: Union[List[int], int] = 512, - load_pretrained: bool = True): + def __init__( + self, + device="cpu", + batch_size: int = 10, + input_image_size: Union[List[int], int] = 1024, + load_pretrained: bool = True, + fp16: bool = False, + ): """ - Initialize the DeepLabV3 model + Initialize the DeepLabV3 model - Args: - device: processing device - input_tensor_size: input image size - batch_size: the number of images that the neural network processes in one run - load_pretrained: loading pretrained model + Args: + device: processing device + input_image_size: input image size + batch_size: the number of images that the neural network processes in one run + load_pretrained: loading pretrained model + fp16: use half precision """ self.device = device self.batch_size = batch_size - self.network = deeplabv3_resnet101(pretrained=False, pretrained_backbone=False, aux_loss=True) + self.network = deeplabv3_resnet101( + pretrained=False, pretrained_backbone=False, aux_loss=True + ) self.network.to(self.device) if load_pretrained: - self.network.load_state_dict(torch.load(deeplab_pretrained(), map_location=self.device)) + self.network.load_state_dict( + torch.load(deeplab_pretrained(), map_location=self.device) + ) if isinstance(input_image_size, list): self.input_image_size = input_image_size[:2] else: self.input_image_size = (input_image_size, input_image_size) self.network.eval() - self.data_preprocessing = transforms.Compose([ - transforms.ToTensor(), - transforms.Resize(self.input_image_size), - transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]), - ]) + self.fp16 = fp16 + self.transform = transforms.Compose( + [ + transforms.ToTensor(), + transforms.Normalize( + mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225] + ), + ] + ) def to(self, device: str): """ @@ -62,42 +76,75 @@ def to(self, device: str): """ self.network.to(device) + def data_preprocessing(self, data: PIL.Image.Image) -> torch.Tensor: + """ + Transform input image to suitable data format for neural network + + Args: + data: input image + + Returns: + input for neural network + + """ + copy = data.copy() + copy.thumbnail(self.input_image_size, resample=3) + return self.transform(copy) + @staticmethod - def data_postprocessing(data: torch.tensor, - original_image: PIL.Image.Image) -> PIL.Image.Image: + def data_postprocessing( + data: torch.tensor, original_image: PIL.Image.Image + ) -> PIL.Image.Image: """ - Transforms output data from neural network to suitable data - format for using with other components of this framework. + Transforms output data from neural network to suitable data + format for using with other components of this framework. - Args: - data: output data from neural network - original_image: input image which was used for predicted data + Args: + data: output data from neural network + original_image: input image which was used for predicted data - Returns: - Segmentation mask as PIL Image instance + Returns: + Segmentation mask as PIL Image instance """ - return Image.fromarray(data.numpy() * 255).convert("L").resize(original_image.size) + return ( + Image.fromarray(data.numpy() * 255).convert("L").resize(original_image.size) + ) - def __call__(self, images: List[Union[str, pathlib.Path, PIL.Image.Image]]) -> List[PIL.Image.Image]: + def __call__( + self, images: List[Union[str, pathlib.Path, PIL.Image.Image]] + ) -> List[PIL.Image.Image]: """ - Passes input images though neural network and returns segmentation masks as PIL.Image.Image instances + Passes input images though neural network and returns segmentation masks as PIL.Image.Image instances - Args: - images: input images + Args: + images: input images - Returns: - segmentation masks as for input images, as PIL.Image.Image instances + Returns: + segmentation masks as for input images, as PIL.Image.Image instances """ collect_masks = [] - for image_batch in batch_generator(images, self.batch_size): - images = thread_pool_processing(lambda x: convert_image(load_image(x)), image_batch) - batches = thread_pool_processing(self.data_preprocessing, images) - with torch.no_grad(): - masks = [self.network(i.to(self.device).unsqueeze(0))['out'][0].argmax(0).byte().cpu() for i in batches] - del batches - masks = thread_pool_processing(lambda x: self.data_postprocessing(masks[x], images[x]), - range(len(images))) - collect_masks += masks + autocast, dtype = get_precision_autocast(device=self.device, fp16=self.fp16) + with autocast: + cast_network(self.network, dtype) + for image_batch in batch_generator(images, self.batch_size): + images = thread_pool_processing( + lambda x: convert_image(load_image(x)), image_batch + ) + batches = thread_pool_processing(self.data_preprocessing, images) + with torch.no_grad(): + masks = [ + self.network(i.to(self.device).unsqueeze(0))["out"][0] + .argmax(0) + .byte() + .cpu() + for i in batches + ] + del batches + masks = thread_pool_processing( + lambda x: self.data_postprocessing(masks[x], images[x]), + range(len(images)), + ) + collect_masks += masks return collect_masks diff --git a/carvekit/ml/wrap/fba_matting.py b/carvekit/ml/wrap/fba_matting.py index efac07c..c285df0 100644 --- a/carvekit/ml/wrap/fba_matting.py +++ b/carvekit/ml/wrap/fba_matting.py @@ -13,9 +13,13 @@ from PIL import Image from carvekit.ml.arch.fba_matting.models import FBA -from carvekit.ml.arch.fba_matting.transforms import trimap_transform, groupnorm_normalise_image +from carvekit.ml.arch.fba_matting.transforms import ( + trimap_transform, + groupnorm_normalise_image, +) from carvekit.ml.files.models_loc import fba_pretrained from carvekit.utils.image_utils import convert_image, load_image +from carvekit.utils.models_utils import get_precision_autocast, cast_network from carvekit.utils.pool_utils import batch_generator, thread_pool_processing __all__ = ["FBAMatting"] @@ -26,23 +30,29 @@ class FBAMatting(FBA): FBA Matting Neural Network to improve edges on image. """ - def __init__(self, device='cpu', - input_tensor_size: Union[List[int], int] = 2048, - batch_size: int = 2, - encoder="resnet50_GN_WS", - load_pretrained: bool = True): + def __init__( + self, + device="cpu", + input_tensor_size: Union[List[int], int] = 2048, + batch_size: int = 2, + encoder="resnet50_GN_WS", + load_pretrained: bool = True, + fp16: bool = False, + ): """ - Initialize the FBAMatting model + Initialize the FBAMatting model - Args: - device: processing device - input_tensor_size: input image size - batch_size: the number of images that the neural network processes in one run - encoder: neural network encoder head - load_pretrained: loading pretrained model + Args: + device: processing device + input_tensor_size: input image size + batch_size: the number of images that the neural network processes in one run + encoder: neural network encoder head + load_pretrained: loading pretrained model + fp16: use half precision """ super(FBAMatting, self).__init__(encoder=encoder) + self.fp16 = fp16 self.device = device self.batch_size = batch_size if isinstance(input_tensor_size, list): @@ -54,16 +64,17 @@ def __init__(self, device='cpu', self.load_state_dict(torch.load(fba_pretrained(), map_location=self.device)) self.eval() - def data_preprocessing(self, data: Union[PIL.Image.Image, np.ndarray]) -> Tuple[torch.FloatTensor, - torch.FloatTensor]: + def data_preprocessing( + self, data: Union[PIL.Image.Image, np.ndarray] + ) -> Tuple[torch.FloatTensor, torch.FloatTensor]: """ - Transform input image to suitable data format for neural network + Transform input image to suitable data format for neural network - Args: - data: input image + Args: + data: input image - Returns: - input for neural network + Returns: + input for neural network """ resized = data.copy() @@ -74,7 +85,7 @@ def data_preprocessing(self, data: Union[PIL.Image.Image, np.ndarray]) -> Tuple[ # noinspection PyTypeChecker image = np.array(resized, dtype=np.float64) image = image / 255.0 # Normalize image to [0, 1] values range - if resized.mode == 'RGB': + if resized.mode == "RGB": image = image[:, :, ::-1] elif resized.mode == "L": image2 = np.copy(image) @@ -83,38 +94,44 @@ def data_preprocessing(self, data: Union[PIL.Image.Image, np.ndarray]) -> Tuple[ image[image2 == 1, 1] = 1 image[image2 == 0, 0] = 1 else: - raise ValueError('Incorrect color mode for image') + raise ValueError("Incorrect color mode for image") h, w = image.shape[:2] # Scale input mlt to 8 h1 = int(np.ceil(1.0 * h / 8) * 8) w1 = int(np.ceil(1.0 * w / 8) * 8) x_scale = cv2.resize(image, (w1, h1), interpolation=cv2.INTER_LANCZOS4) image_tensor = torch.from_numpy(x_scale).permute(2, 0, 1)[None, :, :, :].float() if resized.mode == "RGB": - return image_tensor, groupnorm_normalise_image(image_tensor.clone(), format='nchw') + return image_tensor, groupnorm_normalise_image( + image_tensor.clone(), format="nchw" + ) else: - return image_tensor, torch.from_numpy(trimap_transform(x_scale)).permute(2, 0, 1)[None, :, :, :].float() + return ( + image_tensor, + torch.from_numpy(trimap_transform(x_scale)) + .permute(2, 0, 1)[None, :, :, :] + .float(), + ) @staticmethod - def data_postprocessing(data: torch.tensor, - trimap: PIL.Image.Image) -> PIL.Image.Image: + def data_postprocessing( + data: torch.tensor, trimap: PIL.Image.Image + ) -> PIL.Image.Image: """ - Transforms output data from neural network to suitable data - format for using with other components of this framework. + Transforms output data from neural network to suitable data + format for using with other components of this framework. - Args: - data: output data from neural network - trimap: Map with the area we need to refine + Args: + data: output data from neural network + trimap: Map with the area we need to refine - Returns: - Segmentation mask as PIL Image instance + Returns: + Segmentation mask as PIL Image instance """ if trimap.mode != "L": raise ValueError("Incorrect color mode for trimap") pred = data.numpy().transpose((1, 2, 0)) - pred = cv2.resize(pred, - trimap.size, - cv2.INTER_LANCZOS4)[:, :, 0] + pred = cv2.resize(pred, trimap.size, cv2.INTER_LANCZOS4)[:, :, 0] # noinspection PyTypeChecker # Clean mask by removing all false predictions outside trimap and already known area trimap_arr = np.array(trimap.copy()) @@ -123,53 +140,85 @@ def data_postprocessing(data: torch.tensor, pred[pred < 0.3] = 0 return Image.fromarray(pred * 255).convert("L") - def __call__(self, - images: List[Union[str, pathlib.Path, PIL.Image.Image]], - trimaps: List[Union[str, pathlib.Path, PIL.Image.Image]]) -> List[PIL.Image.Image]: + def __call__( + self, + images: List[Union[str, pathlib.Path, PIL.Image.Image]], + trimaps: List[Union[str, pathlib.Path, PIL.Image.Image]], + ) -> List[PIL.Image.Image]: """ - Passes input images though neural network and returns segmentation masks as PIL.Image.Image instances + Passes input images though neural network and returns segmentation masks as PIL.Image.Image instances - Args: - images: input images - trimaps: Maps with the areas we need to refine + Args: + images: input images + trimaps: Maps with the areas we need to refine - Returns: - segmentation masks as for input images, as PIL.Image.Image instances + Returns: + segmentation masks as for input images, as PIL.Image.Image instances """ if len(images) != len(trimaps): - raise ValueError("Len of specified arrays of images and trimaps should be equal!") + raise ValueError( + "Len of specified arrays of images and trimaps should be equal!" + ) collect_masks = [] - for idx_batch in batch_generator(range(len(images)), self.batch_size): - inpt_images = thread_pool_processing(lambda x: convert_image(load_image(images[x])), - idx_batch) - - inpt_trimaps = thread_pool_processing(lambda x: convert_image(load_image(trimaps[x]), mode="L"), - idx_batch) - - inpt_img_batches = thread_pool_processing(self.data_preprocessing, inpt_images) - inpt_trimaps_batches = thread_pool_processing(self.data_preprocessing, inpt_trimaps) - - inpt_img_batches_transformed = torch.vstack([i[1] for i in inpt_img_batches]) - inpt_img_batches = torch.vstack([i[0] for i in inpt_img_batches]) - - inpt_trimaps_transformed = torch.vstack([i[1] for i in inpt_trimaps_batches]) - inpt_trimaps_batches = torch.vstack([i[0] for i in inpt_trimaps_batches]) - - with torch.no_grad(): - inpt_img_batches = inpt_img_batches.to(self.device) - inpt_trimaps_batches = inpt_trimaps_batches.to(self.device) - inpt_img_batches_transformed = inpt_img_batches_transformed.to(self.device) - inpt_trimaps_transformed = inpt_trimaps_transformed.to(self.device) - - output = super(FBAMatting, self).__call__(inpt_img_batches, inpt_trimaps_batches, - inpt_img_batches_transformed, inpt_trimaps_transformed) - output_cpu = output.cpu() - del inpt_img_batches, inpt_trimaps_batches, \ - inpt_img_batches_transformed, inpt_trimaps_transformed, output - masks = thread_pool_processing(lambda x: self.data_postprocessing(output_cpu[x], inpt_trimaps[x]), - range(len(inpt_images))) - collect_masks += masks - return collect_masks + autocast, dtype = get_precision_autocast(device=self.device, fp16=self.fp16) + with autocast: + cast_network(self, dtype) + for idx_batch in batch_generator(range(len(images)), self.batch_size): + inpt_images = thread_pool_processing( + lambda x: convert_image(load_image(images[x])), idx_batch + ) + + inpt_trimaps = thread_pool_processing( + lambda x: convert_image(load_image(trimaps[x]), mode="L"), idx_batch + ) + + inpt_img_batches = thread_pool_processing( + self.data_preprocessing, inpt_images + ) + inpt_trimaps_batches = thread_pool_processing( + self.data_preprocessing, inpt_trimaps + ) + + inpt_img_batches_transformed = torch.vstack( + [i[1] for i in inpt_img_batches] + ) + inpt_img_batches = torch.vstack([i[0] for i in inpt_img_batches]) + + inpt_trimaps_transformed = torch.vstack( + [i[1] for i in inpt_trimaps_batches] + ) + inpt_trimaps_batches = torch.vstack( + [i[0] for i in inpt_trimaps_batches] + ) + + with torch.no_grad(): + inpt_img_batches = inpt_img_batches.to(self.device) + inpt_trimaps_batches = inpt_trimaps_batches.to(self.device) + inpt_img_batches_transformed = inpt_img_batches_transformed.to( + self.device + ) + inpt_trimaps_transformed = inpt_trimaps_transformed.to(self.device) + + output = super(FBAMatting, self).__call__( + inpt_img_batches, + inpt_trimaps_batches, + inpt_img_batches_transformed, + inpt_trimaps_transformed, + ) + output_cpu = output.cpu() + del ( + inpt_img_batches, + inpt_trimaps_batches, + inpt_img_batches_transformed, + inpt_trimaps_transformed, + output, + ) + masks = thread_pool_processing( + lambda x: self.data_postprocessing(output_cpu[x], inpt_trimaps[x]), + range(len(inpt_images)), + ) + collect_masks += masks + return collect_masks diff --git a/carvekit/ml/wrap/tracer_b7.py b/carvekit/ml/wrap/tracer_b7.py new file mode 100644 index 0000000..20a8e45 --- /dev/null +++ b/carvekit/ml/wrap/tracer_b7.py @@ -0,0 +1,178 @@ +""" +Source url: https://github.com/OPHoperHPO/image-background-remove-tool +Author: Nikita Selin (OPHoperHPO)[https://github.com/OPHoperHPO]. +License: Apache License 2.0 +""" +import pathlib +import warnings +from typing import List, Union +import PIL.Image +import numpy as np +import torch +import torchvision.transforms as transforms +from PIL import Image + +from carvekit.ml.arch.tracerb7.tracer import TracerDecoder +from carvekit.ml.arch.tracerb7.efficientnet import EfficientEncoderB7 +from carvekit.ml.files.models_loc import tracer_b7_pretrained, tracer_hair_pretrained +from carvekit.utils.models_utils import get_precision_autocast, cast_network +from carvekit.utils.image_utils import load_image, convert_image +from carvekit.utils.pool_utils import thread_pool_processing, batch_generator + +__all__ = ["TracerUniversalB7"] + + +class TracerUniversalB7(TracerDecoder): + """TRACER B7 model interface""" + + def __init__( + self, + device="cpu", + input_image_size: Union[List[int], int] = 640, + batch_size: int = 4, + load_pretrained: bool = True, + fp16: bool = False, + model_path: Union[str, pathlib.Path] = None, + ): + """ + Initialize the U2NET model + + Args: + layers_cfg: neural network layers configuration + device: processing device + input_image_size: input image size + batch_size: the number of images that the neural network processes in one run + load_pretrained: loading pretrained model + fp16: use fp16 precision + + """ + if model_path is None: + model_path = tracer_b7_pretrained() + super(TracerUniversalB7, self).__init__( + encoder=EfficientEncoderB7(), + rfb_channel=[32, 64, 128], + features_channels=[48, 80, 224, 640], + ) + + self.fp16 = fp16 + self.device = device + self.batch_size = batch_size + if isinstance(input_image_size, list): + self.input_image_size = input_image_size[:2] + else: + self.input_image_size = (input_image_size, input_image_size) + + self.transform = transforms.Compose( + [ + transforms.ToTensor(), + transforms.Resize(self.input_image_size), + transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]), + ] + ) + self.to(device) + if load_pretrained: + # TODO remove edge detector from weights. It doesn't work well with this model! + self.load_state_dict( + torch.load(model_path, map_location=self.device), strict=False + ) + self.eval() + + def data_preprocessing(self, data: PIL.Image.Image) -> torch.FloatTensor: + """ + Transform input image to suitable data format for neural network + + Args: + data: input image + + Returns: + input for neural network + + """ + + return torch.unsqueeze(self.transform(data), 0).type(torch.FloatTensor) + + @staticmethod + def data_postprocessing( + data: torch.tensor, original_image: PIL.Image.Image + ) -> PIL.Image.Image: + """ + Transforms output data from neural network to suitable data + format for using with other components of this framework. + + Args: + data: output data from neural network + original_image: input image which was used for predicted data + + Returns: + Segmentation mask as PIL Image instance + + """ + output = (data.type(torch.FloatTensor).detach().cpu().numpy() * 255.0).astype( + np.uint8 + ) + output = output.squeeze(0) + mask = Image.fromarray(output).convert("L") + mask = mask.resize(original_image.size, resample=Image.BILINEAR) + return mask + + def __call__( + self, images: List[Union[str, pathlib.Path, PIL.Image.Image]] + ) -> List[PIL.Image.Image]: + """ + Passes input images though neural network and returns segmentation masks as PIL.Image.Image instances + + Args: + images: input images + + Returns: + segmentation masks as for input images, as PIL.Image.Image instances + + """ + collect_masks = [] + autocast, dtype = get_precision_autocast(device=self.device, fp16=self.fp16) + with autocast: + cast_network(self, dtype) + for image_batch in batch_generator(images, self.batch_size): + images = thread_pool_processing( + lambda x: convert_image(load_image(x)), image_batch + ) + batches = torch.vstack( + thread_pool_processing(self.data_preprocessing, images) + ) + with torch.no_grad(): + batches = batches.to(self.device) + masks = super(TracerDecoder, self).__call__(batches) + masks_cpu = masks.cpu() + del batches, masks + masks = thread_pool_processing( + lambda x: self.data_postprocessing(masks_cpu[x], images[x]), + range(len(images)), + ) + collect_masks += masks + + return collect_masks + + +class TracerHair(TracerUniversalB7): + """TRACER HAIR model interface""" + + def __init__( + self, + device="cpu", + input_image_size: Union[List[int], int] = 640, + batch_size: int = 4, + load_pretrained: bool = True, + fp16: bool = False, + model_path: Union[str, pathlib.Path] = None, + ): + if model_path is None: + model_path = tracer_hair_pretrained() + warnings.warn("TracerHair has not public model yet. Don't use it!", UserWarning) + super(TracerHair, self).__init__( + device=device, + input_image_size=input_image_size, + batch_size=batch_size, + load_pretrained=load_pretrained, + fp16=fp16, + model_path=model_path, + ) diff --git a/carvekit/ml/wrap/u2net.py b/carvekit/ml/wrap/u2net.py index 55b8f7f..7d126df 100644 --- a/carvekit/ml/wrap/u2net.py +++ b/carvekit/ml/wrap/u2net.py @@ -21,21 +21,25 @@ class U2NET(U2NETArchitecture): """U^2-Net model interface""" - def __init__(self, - layers_cfg="full", - device='cpu', - input_image_size: Union[List[int], int] = 320, - batch_size: int = 10, - load_pretrained: bool = True): + def __init__( + self, + layers_cfg="full", + device="cpu", + input_image_size: Union[List[int], int] = 320, + batch_size: int = 10, + load_pretrained: bool = True, + fp16: bool = False, + ): """ - Initialize the U2NET model + Initialize the U2NET model - Args: - layers_cfg: neural network layers configuration - device: processing device - input_image_size: input image size - batch_size: the number of images that the neural network processes in one run - load_pretrained: loading pretrained model + Args: + layers_cfg: neural network layers configuration + device: processing device + input_image_size: input image size + batch_size: the number of images that the neural network processes in one run + load_pretrained: loading pretrained model + fp16: use fp16 precision // not supported at this moment. """ super(U2NET, self).__init__(cfg_type=layers_cfg, out_ch=1) @@ -47,18 +51,20 @@ def __init__(self, self.input_image_size = (input_image_size, input_image_size) self.to(device) if load_pretrained: - self.load_state_dict(torch.load(u2net_full_pretrained(), map_location=self.device)) + self.load_state_dict( + torch.load(u2net_full_pretrained(), map_location=self.device) + ) self.eval() def data_preprocessing(self, data: PIL.Image.Image) -> torch.FloatTensor: """ - Transform input image to suitable data format for neural network + Transform input image to suitable data format for neural network - Args: - data: input image + Args: + data: input image - Returns: - input for neural network + Returns: + input for neural network """ resized = data.resize(self.input_image_size, resample=3) @@ -75,18 +81,19 @@ def data_preprocessing(self, data: PIL.Image.Image) -> torch.FloatTensor: return torch.from_numpy(temp_image).type(torch.FloatTensor) @staticmethod - def data_postprocessing(data: torch.tensor, - original_image: PIL.Image.Image) -> PIL.Image.Image: + def data_postprocessing( + data: torch.tensor, original_image: PIL.Image.Image + ) -> PIL.Image.Image: """ - Transforms output data from neural network to suitable data - format for using with other components of this framework. + Transforms output data from neural network to suitable data + format for using with other components of this framework. - Args: - data: output data from neural network - original_image: input image which was used for predicted data + Args: + data: output data from neural network + original_image: input image which was used for predicted data - Returns: - Segmentation mask as PIL Image instance + Returns: + Segmentation mask as PIL Image instance """ data = data.unsqueeze(0) @@ -99,27 +106,35 @@ def data_postprocessing(data: torch.tensor, mask = mask.resize(original_image.size, resample=3) return mask - def __call__(self, images: List[Union[str, pathlib.Path, PIL.Image.Image]]) -> List[PIL.Image.Image]: + def __call__( + self, images: List[Union[str, pathlib.Path, PIL.Image.Image]] + ) -> List[PIL.Image.Image]: """ - Passes input images though neural network and returns segmentation masks as PIL.Image.Image instances + Passes input images though neural network and returns segmentation masks as PIL.Image.Image instances - Args: - images: input images + Args: + images: input images - Returns: - segmentation masks as for input images, as PIL.Image.Image instances + Returns: + segmentation masks as for input images, as PIL.Image.Image instances """ collect_masks = [] for image_batch in batch_generator(images, self.batch_size): - images = thread_pool_processing(lambda x: convert_image(load_image(x)), image_batch) - batches = torch.vstack(thread_pool_processing(self.data_preprocessing, images)) + images = thread_pool_processing( + lambda x: convert_image(load_image(x)), image_batch + ) + batches = torch.vstack( + thread_pool_processing(self.data_preprocessing, images) + ) with torch.no_grad(): batches = batches.to(self.device) masks, d2, d3, d4, d5, d6, d7 = super(U2NET, self).__call__(batches) masks_cpu = masks.cpu() del d2, d3, d4, d5, d6, d7, batches, masks - masks = thread_pool_processing(lambda x: self.data_postprocessing(masks_cpu[x], images[x]), - range(len(images))) + masks = thread_pool_processing( + lambda x: self.data_postprocessing(masks_cpu[x], images[x]), + range(len(images)), + ) collect_masks += masks return collect_masks diff --git a/carvekit/pipelines/postprocessing.py b/carvekit/pipelines/postprocessing.py index 1623732..fc22451 100644 --- a/carvekit/pipelines/postprocessing.py +++ b/carvekit/pipelines/postprocessing.py @@ -22,9 +22,12 @@ class MattingMethod: Neural network for matting performs accurate object edge detection by using a special map called trimap, with unknown area that we scan for boundary, already known general object area and the background.""" - def __init__(self, matting_module: Union[FBAMatting], - trimap_generator: Union[TrimapGenerator, CV2TrimapGenerator], - device="cpu"): + def __init__( + self, + matting_module: Union[FBAMatting], + trimap_generator: Union[TrimapGenerator, CV2TrimapGenerator], + device="cpu", + ): """ Initializes Matting Method class. @@ -37,8 +40,11 @@ def __init__(self, matting_module: Union[FBAMatting], self.matting_module = matting_module self.trimap_generator = trimap_generator - def __call__(self, images: List[Union[str, Path, Image.Image]], - masks: List[Union[str, Path, Image.Image]]): + def __call__( + self, + images: List[Union[str, Path, Image.Image]], + masks: List[Union[str, Path, Image.Image]], + ): """ Passes data through apply_mask function @@ -52,9 +58,19 @@ def __call__(self, images: List[Union[str, Path, Image.Image]], if len(images) != len(masks): raise ValueError("Images and Masks lists should have same length!") images = thread_pool_processing(lambda x: convert_image(load_image(x)), images) - masks = thread_pool_processing(lambda x: convert_image(load_image(x), mode="L"), masks) - trimaps = thread_pool_processing(lambda x: self.trimap_generator(original_image=images[x], - mask=masks[x]), range(len(images))) + masks = thread_pool_processing( + lambda x: convert_image(load_image(x), mode="L"), masks + ) + trimaps = thread_pool_processing( + lambda x: self.trimap_generator(original_image=images[x], mask=masks[x]), + range(len(images)), + ) alpha = self.matting_module(images=images, trimaps=trimaps) - return list(map(lambda x: apply_mask(image=images[x], mask=alpha[x], device=self.device), - range(len(images)))) + return list( + map( + lambda x: apply_mask( + image=images[x], mask=alpha[x], device=self.device + ), + range(len(images)), + ) + ) diff --git a/carvekit/pipelines/preprocessing.py b/carvekit/pipelines/preprocessing.py index 678f13f..3d1e848 100644 --- a/carvekit/pipelines/preprocessing.py +++ b/carvekit/pipelines/preprocessing.py @@ -11,8 +11,6 @@ __all__ = ["PreprocessingStub"] - - class PreprocessingStub: """Stub for future preprocessing methods""" diff --git a/carvekit/trimap/add_ops.py b/carvekit/trimap/add_ops.py index 01f91d4..dfb37ca 100644 --- a/carvekit/trimap/add_ops.py +++ b/carvekit/trimap/add_ops.py @@ -3,6 +3,7 @@ Author: Nikita Selin (OPHoperHPO)[https://github.com/OPHoperHPO]. License: Apache License 2.0 """ +import cv2 import numpy as np from PIL import Image @@ -30,7 +31,9 @@ def prob_filter(mask: Image.Image, prob_threshold=231) -> Image.Image: return Image.fromarray(mask_array).convert("L") -def prob_as_unknown_area(trimap: Image.Image, mask: Image.Image, prob_threshold=255) -> Image.Image: +def prob_as_unknown_area( + trimap: Image.Image, mask: Image.Image, prob_threshold=255 +) -> Image.Image: """ Marks any uncertainty in the seg mask as an unknown region. @@ -53,3 +56,36 @@ def prob_as_unknown_area(trimap: Image.Image, mask: Image.Image, prob_threshold= trimap_array = np.array(trimap) trimap_array[np.logical_and(mask_array <= prob_threshold, mask_array > 0)] = 127 return Image.fromarray(trimap_array).convert("L") + + +def post_erosion(trimap: Image.Image, erosion_iters=1) -> Image.Image: + """ + Performs erosion on the mask and marks the resulting area as an unknown region. + + Args: + erosion_iters: The number of iterations of erosion that + the object's mask will be subjected to before forming an unknown area + trimap: Generated trimap. + mask: Predicted object mask + + Returns: + Generated trimap for image. + """ + if trimap.mode != "L": + raise ValueError("Input mask has wrong color mode.") + # noinspection PyTypeChecker + trimap_array = np.array(trimap) + if erosion_iters > 0: + without_unknown_area = trimap_array.copy() + without_unknown_area[without_unknown_area == 127] = 0 + + erosion_kernel = np.ones((3, 3), np.uint8) + erode = cv2.erode( + without_unknown_area, erosion_kernel, iterations=erosion_iters + ) + erode = np.where(erode == 0, 0, without_unknown_area) + trimap_array[np.logical_and(erode == 0, without_unknown_area > 0)] = 127 + erode = trimap_array.copy() + else: + erode = trimap_array.copy() + return Image.fromarray(erode).convert("L") diff --git a/carvekit/trimap/cv_gen.py b/carvekit/trimap/cv_gen.py index 8b049ba..fc2c229 100644 --- a/carvekit/trimap/cv_gen.py +++ b/carvekit/trimap/cv_gen.py @@ -22,7 +22,9 @@ def __init__(self, kernel_size: int = 30, erosion_iters: int = 1): self.kernel_size = kernel_size self.erosion_iters = erosion_iters - def __call__(self, original_image: PIL.Image.Image, mask: PIL.Image.Image) -> PIL.Image.Image: + def __call__( + self, original_image: PIL.Image.Image, mask: PIL.Image.Image + ) -> PIL.Image.Image: """ Generates trimap based on predicted object mask to refine object mask borders. Based on cv2 erosion algorithm. @@ -46,7 +48,7 @@ def __call__(self, original_image: PIL.Image.Image, mask: PIL.Image.Image) -> PI if self.erosion_iters > 0: erosion_kernel = np.ones((3, 3), np.uint8) erode = cv2.erode(mask_array, erosion_kernel, iterations=self.erosion_iters) - erode = np.where(erode > 0, 255, mask_array) + erode = np.where(erode == 0, 0, mask_array) else: erode = mask_array.copy() diff --git a/carvekit/trimap/generator.py b/carvekit/trimap/generator.py index 21f827d..0656f45 100644 --- a/carvekit/trimap/generator.py +++ b/carvekit/trimap/generator.py @@ -5,11 +5,13 @@ """ from PIL import Image from carvekit.trimap.cv_gen import CV2TrimapGenerator -from carvekit.trimap.add_ops import prob_filter, prob_as_unknown_area +from carvekit.trimap.add_ops import prob_filter, prob_as_unknown_area, post_erosion class TrimapGenerator(CV2TrimapGenerator): - def __init__(self, prob_threshold: float = 231, kernel_size: int = 30, erosion_iters: int = 5): + def __init__( + self, prob_threshold: int = 231, kernel_size: int = 30, erosion_iters: int = 5 + ): """ Initialize a TrimapGenerator instance @@ -21,8 +23,9 @@ def __init__(self, prob_threshold: float = 231, kernel_size: int = 30, erosion_i erosion_iters: The number of iterations of erosion that the object's mask will be subjected to before forming an unknown area """ - super().__init__(kernel_size, erosion_iters) + super().__init__(kernel_size, erosion_iters=0) self.prob_threshold = prob_threshold + self.__erosion_iters = erosion_iters def __call__(self, original_image: Image.Image, mask: Image.Image) -> Image.Image: """ @@ -37,6 +40,8 @@ def __call__(self, original_image: Image.Image, mask: Image.Image) -> Image.Imag """ filter_mask = prob_filter(mask=mask, prob_threshold=self.prob_threshold) trimap = super(TrimapGenerator, self).__call__(original_image, filter_mask) - new_trimap = prob_as_unknown_area(trimap=trimap, mask=mask, prob_threshold=self.prob_threshold) - + new_trimap = prob_as_unknown_area( + trimap=trimap, mask=mask, prob_threshold=self.prob_threshold + ) + new_trimap = post_erosion(new_trimap, self.__erosion_iters) return new_trimap diff --git a/carvekit/utils/download_models.py b/carvekit/utils/download_models.py index 1c25b32..c1d7705 100644 --- a/carvekit/utils/download_models.py +++ b/carvekit/utils/download_models.py @@ -6,72 +6,68 @@ import hashlib import os import warnings +from abc import ABCMeta, abstractmethod, ABC from pathlib import Path +from typing import Optional + +import carvekit +from carvekit.ml.files import checkpoints_dir import requests import tqdm +requests = requests.Session() +requests.headers.update({"User-Agent": f"Carvekit/{carvekit.version}"}) + MODELS_URLS = { - "basnet.pth": - "https://huggingface.co/anodev/basnet-universal/resolve/870becbdb364fda6d8fdb2c10b072542f8d08701/basnet.pth", - "deeplab.pth": - "https://huggingface.co/anodev/deeplabv3-resnet101/resolve/d504005392fc877565afdf58aad0cd524682d2b0/deeplab.pth", - "fba_matting.pth": - "https://huggingface.co/anodev/fba/resolve/a5d3457df0fb9c88ea19ed700d409756ca2069d1/fba_matting.pth", - "u2net.pth": - "https://huggingface.co/anodev/u2net-universal/resolve/10305d785481cf4b2eee1d447c39cd6e5f43d74b/full_weights" - ".pth", + "basnet.pth": { + "repository": "Carve/basnet-universal", + "revision": "870becbdb364fda6d8fdb2c10b072542f8d08701", + "filename": "basnet.pth", + }, + "deeplab.pth": { + "repository": "Carve/deeplabv3-resnet101", + "revision": "d504005392fc877565afdf58aad0cd524682d2b0", + "filename": "deeplab.pth", + }, + "fba_matting.pth": { + "repository": "Carve/fba", + "revision": "a5d3457df0fb9c88ea19ed700d409756ca2069d1", + "filename": "fba_matting.pth", + }, + "u2net.pth": { + "repository": "Carve/u2net-universal", + "revision": "10305d785481cf4b2eee1d447c39cd6e5f43d74b", + "filename": "full_weights.pth", + }, + "tracer_b7.pth": { + "repository": "Carve/tracer_b7", + "revision": "d8a8fd9e7b3fa0d2f1506fe7242966b34381e9c5", + "filename": "tracer_b7.pth", + }, + "tracer_hair.pth": { + "repository": "Carve/tracer_b7", + "revision": "d8a8fd9e7b3fa0d2f1506fe7242966b34381e9c5", + "filename": "tracer_b7.pth", # TODO don't forget change this link!! + }, } MODELS_CHECKSUMS = { "basnet.pth": "e409cb709f4abca87cb11bd44a9ad3f909044a917977ab65244b4c94dd33" - "8b1a37755c4253d7cb54526b7763622a094d7b676d34b5e6886689256754e5a5e6ad", - "deeplab.pth": - "9c5a1795bc8baa267200a44b49ac544a1ba2687d210f63777e4bd715387324469a59b072f8a28" - "9cc471c637b367932177e5b312e8ea6351c1763d9ff44b4857c", - "fba_matting.pth": - "890906ec94c1bfd2ad08707a63e4ccb0955d7f5d25e32853950c24c78" - "4cbad2e59be277999defc3754905d0f15aa75702cdead3cfe669ff72f08811c52971613", - "u2net.pth": - "16f8125e2fedd8c85db0e001ee15338b4aa2fda77bab8ba70c25e" - "bea1533fda5ee70a909b934a9bd495b432cef89d629f00a07858a517742476fa8b346de24f7", - + "8b1a37755c4253d7cb54526b7763622a094d7b676d34b5e6886689256754e5a5e6ad", + "deeplab.pth": "9c5a1795bc8baa267200a44b49ac544a1ba2687d210f63777e4bd715387324469a59b072f8a28" + "9cc471c637b367932177e5b312e8ea6351c1763d9ff44b4857c", + "fba_matting.pth": "890906ec94c1bfd2ad08707a63e4ccb0955d7f5d25e32853950c24c78" + "4cbad2e59be277999defc3754905d0f15aa75702cdead3cfe669ff72f08811c52971613", + "u2net.pth": "16f8125e2fedd8c85db0e001ee15338b4aa2fda77bab8ba70c25e" + "bea1533fda5ee70a909b934a9bd495b432cef89d629f00a07858a517742476fa8b346de24f7", + "tracer_b7.pth": "c439c5c12d4d43d5f9be9ec61e68b2e54658a541bccac2577ef5a54fb252b6e8415d41f7e" + "c2487033d0c02b4dd08367958e4e62091318111c519f93e2632be7b", + "tracer_hair.pth": "5c2fb9973fc42fa6208920ffa9ac233cc2ea9f770b24b4a96969d3449aed7ac89e6d37e" + "e486a13e63be5499f2df6ccef1109e9e8797d1326207ac89b2f39a7cf", } -def download_model(path: Path) -> Path: - """ Downloads model from repo. - - Args: - path (pathlib.Path): Path to file - - Returns: - Path if exists - - Raises: - FileNotFoundError: if model checkpoint is not exists in known checkpoints models - ConnectionError: if the model cannot be loaded from the URL. - """ - if path.name in MODELS_URLS: - model_url = MODELS_URLS[path.name] - path.parent.mkdir(parents=True, exist_ok=True) - try: - r = requests.get(model_url, stream=True) - if r.status_code == 200: - with path.absolute().open('wb') as f: - r.raw.decode_content = True - for chunk in tqdm.tqdm(r, desc="Downloading " + path.name + ' model', colour='blue'): - f.write(chunk) - except BaseException as e: - if path.exists(): - os.remove(path) - raise ConnectionError(f"Exception caused when downloading model! " - f"Model name: {path.name}. Exception: {str(e)}") - return path - else: - raise FileNotFoundError("Unknown model!") - - def sha512_checksum_calc(file: Path) -> str: """ Calculates the SHA512 hash digest of a file on fs @@ -89,45 +85,117 @@ def sha512_checksum_calc(file: Path) -> str: return dd.hexdigest() -def check_model(path: Path) -> bool: - """ Verifies model checksums and existence in the file system +class CachedDownloader: + __metaclass__ = ABCMeta - Args: - path: Path to the model + @property + @abstractmethod + def fallback_downloader(self) -> Optional["CachedDownloader"]: + pass - Returns: - True if all is okay and False if not - - Raises: - FileNotFoundError: if model checkpoint is not exists in known checkpoints models - """ - if path.exists(): - if path.name in MODELS_URLS: - if MODELS_CHECKSUMS[path.name] != sha512_checksum_calc(path): - warnings.warn(f"Invalid checksum for model {path.name}. Downloading correct model!") - os.remove(path) - return False - return True - else: + def download_model(self, file_name: str) -> Path: + try: + return self.download_model_base(file_name) + except BaseException as e: + if self.fallback_downloader is not None: + warnings.warn( + f"Failed to download model from {self.__class__.__name__} downloader." + f" Trying to download from {self.fallback_downloader.__class__.__name__} downloader." + ) + return self.fallback_downloader.download_model(file_name) + else: + warnings.warn( + f"Failed to download model from {self.__class__.__name__} downloader." + f" No fallback downloader available." + ) + raise e + + @abstractmethod + def download_model_base(self, file_name: str) -> Path: + """Download model from any source if not cached. Returns path if cached""" + + def __call__(self, file_name: str): + return self.download_model(file_name) + + +class HuggingFaceCompatibleDownloader(CachedDownloader, ABC): + def __init__( + self, + base_url: str = "https://huggingface.co", + fb_downloader: Optional["CachedDownloader"] = None, + ): + self.cache_dir = checkpoints_dir + self.base_url = base_url + self._fallback_downloader = fb_downloader + + @property + def fallback_downloader(self) -> Optional["CachedDownloader"]: + return self._fallback_downloader + + def check_for_existence(self, file_name: str) -> Optional[Path]: + if file_name not in MODELS_URLS.keys(): raise FileNotFoundError("Unknown model!") - else: - return False - - -def check_for_exists(path: Path) -> Path: - """ Checks for checkpoint path exists - - Args: - path (pathlib.Path): Path to file - - Returns: - Path if exists - - Raises: - FileNotFoundError: if model checkpoint is not exists in known checkpoints models - ConnectionError: if the model cannot be loaded from the URL. - """ - if not check_model(path): - download_model(path) + path = ( + self.cache_dir + / MODELS_URLS[file_name]["repository"].split("/")[1] + / file_name + ) + + if not path.exists(): + return None + + if MODELS_CHECKSUMS[path.name] != sha512_checksum_calc(path): + warnings.warn( + f"Invalid checksum for model {path.name}. Downloading correct model!" + ) + os.remove(path) + return None + return path - return path + def download_model_base(self, file_name: str) -> Path: + cached_path = self.check_for_existence(file_name) + if cached_path is not None: + return cached_path + else: + cached_path = ( + self.cache_dir + / MODELS_URLS[file_name]["repository"].split("/")[1] + / file_name + ) + cached_path.parent.mkdir(parents=True, exist_ok=True) + url = MODELS_URLS[file_name] + hugging_face_url = f"{self.base_url}/{url['repository']}/resolve/{url['revision']}/{url['filename']}" + + try: + r = requests.get(hugging_face_url, stream=True) + if r.status_code < 400: + with open(cached_path, "wb") as f: + r.raw.decode_content = True + for chunk in tqdm.tqdm( + r, + desc="Downloading " + cached_path.name + " model", + colour="blue", + ): + f.write(chunk) + else: + if r.status_code == 404: + raise FileNotFoundError(f"Model {file_name} not found!") + else: + raise ConnectionError( + f"Error {r.status_code} while downloading model {file_name}!" + ) + except BaseException as e: + if cached_path.exists(): + os.remove(cached_path) + raise ConnectionError( + f"Exception caught when downloading model! " + f"Model name: {cached_path.name}. Exception: {str(e)}." + ) + return cached_path + + +downloader: CachedDownloader = HuggingFaceCompatibleDownloader( + base_url="https://cdn.carve.photos" +) +fallback_downloader: CachedDownloader = HuggingFaceCompatibleDownloader() +downloader._fallback_downloader = fallback_downloader diff --git a/carvekit/utils/fs_utils.py b/carvekit/utils/fs_utils.py index 0a22c5d..bd6291e 100644 --- a/carvekit/utils/fs_utils.py +++ b/carvekit/utils/fs_utils.py @@ -20,13 +20,19 @@ def save_file(output: Optional[Path], input_path: Path, image: Image.Image): """ if isinstance(output, Path) and str(output) != "none": if output.is_dir() and output.exists(): - image.save(output.joinpath(input_path.with_suffix('.png').name)) - elif output.suffix != '': + image.save(output.joinpath(input_path.with_suffix(".png").name)) + elif output.suffix != "": if output.suffix != ".png": - warnings.warn(f"Only export with .png extension is supported! Your {output.suffix}" - f" extension will be ignored and replaced with .png!") - image.save(output.with_suffix('.png')) + warnings.warn( + f"Only export with .png extension is supported! Your {output.suffix}" + f" extension will be ignored and replaced with .png!" + ) + image.save(output.with_suffix(".png")) else: raise ValueError("Wrong output path!") elif output is None or str(output) == "none": - image.save(input_path.with_name(input_path.stem.split('.')[0] + '_bg_removed').with_suffix('.png')) + image.save( + input_path.with_name( + input_path.stem.split(".")[0] + "_bg_removed" + ).with_suffix(".png") + ) diff --git a/carvekit/utils/image_utils.py b/carvekit/utils/image_utils.py index 88bbb5e..8b939f5 100644 --- a/carvekit/utils/image_utils.py +++ b/carvekit/utils/image_utils.py @@ -28,7 +28,7 @@ def to_tensor(x: Any) -> torch.Tensor: def load_image(file: Union[str, pathlib.Path, PIL.Image.Image]) -> PIL.Image.Image: - """ Returns a PIL.Image.Image class by string path or pathlib path or PIL.Image.Image instance + """Returns a PIL.Image.Image class by string path or pathlib path or PIL.Image.Image instance Args: file: File path or PIL.Image.Image instance @@ -51,7 +51,7 @@ def load_image(file: Union[str, pathlib.Path, PIL.Image.Image]) -> PIL.Image.Ima def convert_image(image: PIL.Image.Image, mode="RGB") -> PIL.Image.Image: - """ Performs image conversion to correct color mode + """Performs image conversion to correct color mode Args: image: PIL.Image.Image instance @@ -86,18 +86,22 @@ def is_image_valid(image: Union[pathlib.Path, PIL.Image.Image]) -> bool: elif image.is_dir(): raise ValueError("File is a directory") elif image.suffix.lower() not in ALLOWED_SUFFIXES: - raise ValueError(f"Unsupported image format. Supported file formats: {', '.join(ALLOWED_SUFFIXES)}") + raise ValueError( + f"Unsupported image format. Supported file formats: {', '.join(ALLOWED_SUFFIXES)}" + ) elif isinstance(image, PIL.Image.Image): if not (image.size[0] > 32 and image.size[1] > 32): raise ValueError("Image should be bigger then (32x32) pixels.") elif image.mode not in ["RGB", "RGBA", "L"]: - raise ValueError('Wrong image color mode.') + raise ValueError("Wrong image color mode.") else: raise ValueError("Unknown input file type") return True -def transparency_paste(bg_img: PIL.Image.Image, fg_img: PIL.Image.Image, box=(0, 0)) -> PIL.Image.Image: +def transparency_paste( + bg_img: PIL.Image.Image, fg_img: PIL.Image.Image, box=(0, 0) +) -> PIL.Image.Image: """ Inserts an image into another image while maintaining transparency. @@ -115,9 +119,14 @@ def transparency_paste(bg_img: PIL.Image.Image, fg_img: PIL.Image.Image, box=(0, return new_img -def add_margin(pil_img: PIL.Image.Image, - top: int, right: int, bottom: int, left: int, - color: Tuple[int, int, int, int])->PIL.Image.Image: +def add_margin( + pil_img: PIL.Image.Image, + top: int, + right: int, + bottom: int, + left: int, + color: Tuple[int, int, int, int], +) -> PIL.Image.Image: """ Adds margin to the image. diff --git a/carvekit/utils/mask_utils.py b/carvekit/utils/mask_utils.py index 9802f6d..4402036 100644 --- a/carvekit/utils/mask_utils.py +++ b/carvekit/utils/mask_utils.py @@ -8,10 +8,12 @@ from carvekit.utils.image_utils import to_tensor -def composite(foreground: PIL.Image.Image, - background: PIL.Image.Image, - alpha: PIL.Image.Image, - device="cpu"): +def composite( + foreground: PIL.Image.Image, + background: PIL.Image.Image, + alpha: PIL.Image.Image, + device="cpu", +): """ Composites foreground with background by following https://pymatting.github.io/intro.html#alpha-matting math formula. @@ -49,7 +51,9 @@ def composite(foreground: PIL.Image.Image, return PIL.Image.fromarray(bg.cpu().numpy()).convert("RGBA") -def apply_mask(image: PIL.Image.Image, mask: PIL.Image.Image, device="cpu") -> PIL.Image.Image: +def apply_mask( + image: PIL.Image.Image, mask: PIL.Image.Image, device="cpu" +) -> PIL.Image.Image: """ Applies mask to foreground. diff --git a/carvekit/utils/models_utils.py b/carvekit/utils/models_utils.py index 16be87d..da0141d 100644 --- a/carvekit/utils/models_utils.py +++ b/carvekit/utils/models_utils.py @@ -6,7 +6,93 @@ import random import warnings +from typing import Union, Tuple, Any + import torch +from torch import autocast + + +class EmptyAutocast(object): + """ + Empty class for disable any autocasting. + """ + + def __enter__(self): + return None + + def __exit__(self, exc_type, exc_val, exc_tb): + return + + def __call__(self, func): + return + + +def get_precision_autocast( + device="cpu", fp16=True, override_dtype=None +) -> Union[ + Tuple[EmptyAutocast, Union[torch.dtype, Any]], + Tuple[autocast, Union[torch.dtype, Any]], +]: + """ + Returns precision and autocast settings for given device and fp16 settings. + Args: + device: Device to get precision and autocast settings for. + fp16: Whether to use fp16 precision. + override_dtype: Override dtype for autocast. + + Returns: + Autocast object, dtype + """ + dtype = torch.float32 + cache_enabled = None + + if device == "cpu" and fp16: + warnings.warn('FP16 is not supported on CPU. Using FP32 instead.') + dtype = torch.float32 + + # TODO: Implement BFP16 on CPU. There are unexpected slowdowns on cpu on a clean environment. + # warnings.warn( + # "Accuracy BFP16 has experimental support on the CPU. " + # "This may result in an unexpected reduction in quality." + # ) + # dtype = ( + # torch.bfloat16 + # ) # Using bfloat16 for CPU, since autocast is not supported for float16 + + + if "cuda" in device and fp16: + dtype = torch.float16 + cache_enabled = True + + if override_dtype is not None: + dtype = override_dtype + + if dtype == torch.float32 and device == "cpu": + return EmptyAutocast(), dtype + + return ( + torch.autocast( + device_type=device, dtype=dtype, enabled=True, cache_enabled=cache_enabled + ), + dtype, + ) + + +def cast_network(network: torch.nn.Module, dtype: torch.dtype): + """Cast network to given dtype + + Args: + network: Network to be casted + dtype: Dtype to cast network to + """ + if dtype == torch.float16: + network.half() + elif dtype == torch.bfloat16: + network.bfloat16() + elif dtype == torch.float32: + network.float() + else: + raise ValueError(f"Unknown dtype {dtype}") def fix_seed(seed=42): @@ -30,9 +116,11 @@ def fix_seed(seed=42): def suppress_warnings(): # Suppress PyTorch 1.11.0 warning associated with changing order of args in nn.MaxPool2d layer, # since source code is not affected by this issue and there aren't any other correct way to hide this message. - warnings.filterwarnings("ignore", - category=UserWarning, - message="Note that order of the arguments: ceil_mode and " - "return_indices will changeto match the args list " - "in nn.MaxPool2d in a future release.", - module="torch") + warnings.filterwarnings( + "ignore", + category=UserWarning, + message="Note that order of the arguments: ceil_mode and " + "return_indices will changeto match the args list " + "in nn.MaxPool2d in a future release.", + module="torch", + ) diff --git a/carvekit/utils/pool_utils.py b/carvekit/utils/pool_utils.py index f9a7d49..ae3b741 100644 --- a/carvekit/utils/pool_utils.py +++ b/carvekit/utils/pool_utils.py @@ -9,15 +9,15 @@ def thread_pool_processing(func: Any, data: Iterable, workers=18): """ - Passes all iterator data through the given function + Passes all iterator data through the given function - Args: - workers: Count of workers. - func: function to pass data through - data: input iterator + Args: + workers: Count of workers. + func: function to pass data through + data: input iterator - Returns: - function return list + Returns: + function return list """ with ThreadPoolExecutor(workers) as p: @@ -26,15 +26,15 @@ def thread_pool_processing(func: Any, data: Iterable, workers=18): def batch_generator(iterable, n=1): """ - Splits any iterable into n-size packets + Splits any iterable into n-size packets - Args: - iterable: iterator - n: size of packets + Args: + iterable: iterator + n: size of packets - Returns: - new n-size packet + Returns: + new n-size packet """ it = len(iterable) for ndx in range(0, it, n): - yield iterable[ndx:min(ndx + n, it)] + yield iterable[ndx : min(ndx + n, it)] diff --git a/carvekit/web/app.py b/carvekit/web/app.py index 24ba1df..cea3526 100644 --- a/carvekit/web/app.py +++ b/carvekit/web/app.py @@ -9,18 +9,22 @@ from carvekit.web.deps import config from carvekit.web.routers.api_router import api_router -app = FastAPI(title='CarveKit Web API', version=version) +app = FastAPI(title="CarveKit Web API", version=version) app.add_middleware( CORSMiddleware, - allow_origins=['*'], + allow_origins=["*"], allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) app.include_router(api_router, prefix="/api") -app.mount('/', StaticFiles(directory=Path(__file__).parent.joinpath('static'), html=True), name="static") +app.mount( + "/", + StaticFiles(directory=Path(__file__).parent.joinpath("static"), html=True), + name="static", +) if __name__ == "__main__": uvicorn.run(app, host=config.host, port=config.port) diff --git a/carvekit/web/deps.py b/carvekit/web/deps.py index 5802dd6..37a41ae 100644 --- a/carvekit/web/deps.py +++ b/carvekit/web/deps.py @@ -4,4 +4,3 @@ config: WebAPIConfig = init_config() ml_processor = MLProcessor(api_config=config) - diff --git a/carvekit/web/handlers/response.py b/carvekit/web/handlers/response.py index 3f35679..f359b3c 100644 --- a/carvekit/web/handlers/response.py +++ b/carvekit/web/handlers/response.py @@ -26,21 +26,31 @@ def handle_response(response, original_image) -> Response: response_object = None if isinstance(response, dict): if response["type"] == "jpg": - response_object = Response(content=response["data"][0].read(), media_type='image/jpeg') + response_object = Response( + content=response["data"][0].read(), media_type="image/jpeg" + ) elif response["type"] == "png": - response_object = Response(content=response["data"][0].read(), media_type='image/png') + response_object = Response( + content=response["data"][0].read(), media_type="image/png" + ) elif response["type"] == "zip": - response_object = Response(content=response["data"][0], media_type='application/zip') - response_object.headers['Content-Disposition'] = 'attachment; filename=\'no-bg.zip\'' + response_object = Response( + content=response["data"][0], media_type="application/zip" + ) + response_object.headers[ + "Content-Disposition" + ] = "attachment; filename='no-bg.zip'" # Add headers to output result - response_object.headers["X-Credits-Charged"] = '0' + response_object.headers["X-Credits-Charged"] = "0" response_object.headers["X-Type"] = "other" # TODO Make support for this response_object.headers["X-Max-Width"] = str(original_image.size[0]) response_object.headers["X-Max-Height"] = str(original_image.size[1]) - response_object.headers["X-Ratelimit-Limit"] = '500' # TODO Make ratelimit support - response_object.headers["X-Ratelimit-Remaining"] = '500' - response_object.headers["X-Ratelimit-Reset"] = '1' + response_object.headers[ + "X-Ratelimit-Limit" + ] = "500" # TODO Make ratelimit support + response_object.headers["X-Ratelimit-Remaining"] = "500" + response_object.headers["X-Ratelimit-Reset"] = "1" response_object.headers["X-Width"] = str(response["data"][1][0]) response_object.headers["X-Height"] = str(response["data"][1][1]) diff --git a/carvekit/web/other/removebg.py b/carvekit/web/other/removebg.py index 0270594..30dca1e 100644 --- a/carvekit/web/other/removebg.py +++ b/carvekit/web/other/removebg.py @@ -11,7 +11,9 @@ from carvekit.api.interface import Interface -def process_remove_bg(interface: Interface, params, image, bg, is_json_or_www_encoded=False): +def process_remove_bg( + interface: Interface, params, image, bg, is_json_or_www_encoded=False +): """ Handles a request to the removebg api method @@ -51,25 +53,45 @@ def process_remove_bg(interface: Interface, params, image, bg, is_json_or_www_en try: coord = int(coord) except BaseException: - return error_dict("Error converting roi coordinate string to number!"), 400 + return ( + error_dict( + "Error converting roi coordinate string to number!" + ), + 400, + ) if coord < 0: - error_dict( - "Bad roi coordinate."), 400 + error_dict("Bad roi coordinate."), 400 if (i == 0 or i == 2) and coord > image.size[0]: - return error_dict( - "The roi coordinate cannot be larger than the image size."), 400 + return ( + error_dict( + "The roi coordinate cannot be larger than the image size." + ), + 400, + ) elif (i == 1 or i == 3) and coord > image.size[1]: - return error_dict( - "The roi coordinate cannot be larger than the image size."), 400 + return ( + error_dict( + "The roi coordinate cannot be larger than the image size." + ), + 400, + ) roi_box[i] = int(coord) elif "%" in coord: coord = coord.replace("%", "") try: coord = int(coord) except BaseException: - return error_dict("Error converting roi coordinate string to number!"), 400 + return ( + error_dict( + "Error converting roi coordinate string to number!" + ), + 400, + ) if coord > 100: - return error_dict("The coordinate cannot be more than 100%"), 400 + return ( + error_dict("The coordinate cannot be more than 100%"), + 400, + ) elif coord < 0: return error_dict("Coordinate cannot be less than 0%"), 400 if i == 0 or i == 2: @@ -88,10 +110,12 @@ def process_remove_bg(interface: Interface, params, image, bg, is_json_or_www_en new_image = interface([new_image])[0] scaled = False - if "scale" in params.keys() and params['scale'] != 100: + if "scale" in params.keys() and params["scale"] != 100: value = params["scale"] - new_image.thumbnail((int(image.size[0] * value / 100), - int(image.size[1] * value / 100)), resample=3) + new_image.thumbnail( + (int(image.size[0] * value / 100), int(image.size[1] * value / 100)), + resample=3, + ) scaled = True if "crop" in params.keys(): value = params["crop"] @@ -103,28 +127,51 @@ def process_remove_bg(interface: Interface, params, image, bg, is_json_or_www_en crop_margin = crop_margin.replace("px", "") crop_margin = abs(int(crop_margin)) if crop_margin > 500: - return error_dict( - "The crop_margin cannot be larger than the original image size."), 400 - new_image = add_margin(new_image, crop_margin, - crop_margin, crop_margin, crop_margin, (0, 0, 0, 0)) + return ( + error_dict( + "The crop_margin cannot be larger than the original image size." + ), + 400, + ) + new_image = add_margin( + new_image, + crop_margin, + crop_margin, + crop_margin, + crop_margin, + (0, 0, 0, 0), + ) elif "%" in crop_margin: crop_margin = crop_margin.replace("%", "") crop_margin = int(crop_margin) - new_image = add_margin(new_image, int(new_image.size[1] * crop_margin / 100), - int(new_image.size[0] * crop_margin / 100), - int(new_image.size[1] * crop_margin / 100), - int(new_image.size[0] * crop_margin / 100), (0, 0, 0, 0)) + new_image = add_margin( + new_image, + int(new_image.size[1] * crop_margin / 100), + int(new_image.size[0] * crop_margin / 100), + int(new_image.size[1] * crop_margin / 100), + int(new_image.size[0] * crop_margin / 100), + (0, 0, 0, 0), + ) else: if "position" in params.keys() and scaled is False: value = params["position"] if len(value) == 2: - new_image = transparency_paste(Image.new("RGBA", image.size), new_image, - (int(image.size[0] * value[0] / 100), - int(image.size[1] * value[1] / 100))) + new_image = transparency_paste( + Image.new("RGBA", image.size), + new_image, + ( + int(image.size[0] * value[0] / 100), + int(image.size[1] * value[1] / 100), + ), + ) else: - new_image = transparency_paste(Image.new("RGBA", image.size), new_image, roi_box) + new_image = transparency_paste( + Image.new("RGBA", image.size), new_image, roi_box + ) elif scaled is False: - new_image = transparency_paste(Image.new("RGBA", image.size), new_image, roi_box) + new_image = transparency_paste( + Image.new("RGBA", image.size), new_image, roi_box + ) if "channels" in params.keys(): value = params["channels"] @@ -163,19 +210,19 @@ def process_remove_bg(interface: Interface, params, image, bg, is_json_or_www_en if value == "jpg": new_image = new_image.convert("RGB") img_io = io.BytesIO() - new_image.save(img_io, 'JPEG', quality=100) + new_image.save(img_io, "JPEG", quality=100) img_io.seek(0) return {"type": "jpg", "data": [img_io, new_image.size]} elif value == "zip": mask = extract_alpha_channel(new_image) mask_buff = io.BytesIO() - mask.save(mask_buff, 'PNG') + mask.save(mask_buff, "PNG") mask_buff.seek(0) image_buff = io.BytesIO() - image.save(image_buff, 'JPEG') + image.save(image_buff, "JPEG") image_buff.seek(0) fileobj = io.BytesIO() - with zipfile.ZipFile(fileobj, 'w') as zip_file: + with zipfile.ZipFile(fileobj, "w") as zip_file: zip_info = zipfile.ZipInfo(filename="color.jpg") zip_info.date_time = time.localtime(time.time())[:6] zip_info.compress_type = zipfile.ZIP_DEFLATED @@ -188,8 +235,13 @@ def process_remove_bg(interface: Interface, params, image, bg, is_json_or_www_en return {"type": "zip", "data": [fileobj.read(), new_image.size]} else: buff = io.BytesIO() - new_image.save(buff, 'PNG') + new_image.save(buff, "PNG") buff.seek(0) return {"type": "png", "data": [buff, new_image.size]} - return error_dict("Something wrong with request or http api. Please, open new issue on Github! This is error in " - "code."), 400 + return ( + error_dict( + "Something wrong with request or http api. Please, open new issue on Github! This is error in " + "code." + ), + 400, + ) diff --git a/carvekit/web/routers/api_router.py b/carvekit/web/routers/api_router.py index 359309b..c452cac 100644 --- a/carvekit/web/routers/api_router.py +++ b/carvekit/web/routers/api_router.py @@ -18,52 +18,60 @@ from carvekit.web.schemas.request import Parameters from carvekit.web.utils.net_utils import is_loopback -api_router = APIRouter(prefix='', tags=['api']) +api_router = APIRouter(prefix="", tags=["api"]) # noinspection PyBroadException -@api_router.post('/removebg') +@api_router.post("/removebg") async def removebg( - request: Request, - image_file: Optional[bytes] = File(None), - auth: bool = Depends(Authenticate), - content_type: str = Header(""), - image_file_b64: Optional[str] = Form(None), - image_url: Optional[str] = Form(None), - bg_image_file: Optional[bytes] = File(None), - size: Optional[str] = Form("full"), - type: Optional[str] = Form("auto"), - format: Optional[str] = Form("auto"), - roi: str = Form("0% 0% 100% 100%"), - crop: bool = Form(False), - crop_margin: Optional[str] = Form("0px"), - scale: Optional[str] = Form("original"), - position: Optional[str] = Form("original"), - channels: Optional[str] = Form("rgba"), - add_shadow: bool = Form(False), # Not supported at the moment - semitransparency: bool = Form(False), # Not supported at the moment - bg_color: Optional[str] = Form("") + request: Request, + image_file: Optional[bytes] = File(None), + auth: bool = Depends(Authenticate), + content_type: str = Header(""), + image_file_b64: Optional[str] = Form(None), + image_url: Optional[str] = Form(None), + bg_image_file: Optional[bytes] = File(None), + size: Optional[str] = Form("full"), + type: Optional[str] = Form("auto"), + format: Optional[str] = Form("auto"), + roi: str = Form("0% 0% 100% 100%"), + crop: bool = Form(False), + crop_margin: Optional[str] = Form("0px"), + scale: Optional[str] = Form("original"), + position: Optional[str] = Form("original"), + channels: Optional[str] = Form("rgba"), + add_shadow: bool = Form(False), # Not supported at the moment + semitransparency: bool = Form(False), # Not supported at the moment + bg_color: Optional[str] = Form(""), ): if auth is False: return JSONResponse(content=error_dict("Missing API Key"), status_code=403) - if content_type not in ["application/x-www-form-urlencoded", - "application/json"] and "multipart/form-data" not in content_type: - return JSONResponse(content=error_dict("Invalid request content type"), status_code=400) + if ( + content_type not in ["application/x-www-form-urlencoded", "application/json"] + and "multipart/form-data" not in content_type + ): + return JSONResponse( + content=error_dict("Invalid request content type"), status_code=400 + ) if image_url: - if ( - not image_url.startswith("http://") or - not image_url.startswith("https://") or - is_loopback(image_url) - ): - print(f"Possible ssrf attempt to /api/removebg endpoint with image url: {image_url}") - return JSONResponse(content=error_dict("Invalid image url."), - status_code=400) # possible ssrf attempt + if not ( + image_url.startswith("http://") or image_url.startswith("https://") + ) or is_loopback(image_url): + print( + f"Possible ssrf attempt to /api/removebg endpoint with image url: {image_url}" + ) + return JSONResponse( + content=error_dict("Invalid image url."), status_code=400 + ) # possible ssrf attempt image = None bg = None parameters = None - if content_type == "application/x-www-form-urlencoded" or "multipart/form-data" in content_type: + if ( + content_type == "application/x-www-form-urlencoded" + or "multipart/form-data" in content_type + ): if image_file_b64 is None and image_url is None and image_file is None: return JSONResponse(content=error_dict("File not found"), status_code=400) @@ -73,12 +81,16 @@ async def removebg( try: image = Image.open(io.BytesIO(base64.b64decode(image_file_b64))) except BaseException: - return JSONResponse(content=error_dict("Error decode image!"), status_code=400) + return JSONResponse( + content=error_dict("Error decode image!"), status_code=400 + ) elif image_url: try: image = Image.open(io.BytesIO(requests.get(image_url).content)) except BaseException: - return JSONResponse(content=error_dict("Error download image!"), status_code=400) + return JSONResponse( + content=error_dict("Error download image!"), status_code=400 + ) elif image_file: if len(image_file) == 0: return JSONResponse(content=error_dict("Empty image"), status_code=400) @@ -106,7 +118,9 @@ async def removebg( bg_color=bg_color, ) except ValidationError as e: - return JSONResponse(content=e.json(), status_code=400, media_type='application/json') + return JSONResponse( + content=e.json(), status_code=400, media_type="application/json" + ) else: payload = None @@ -117,7 +131,9 @@ async def removebg( try: parameters = Parameters(**payload) except ValidationError as e: - return Response(content=e.json(), status_code=400, media_type='application/json') + return Response( + content=e.json(), status_code=400, media_type="application/json" + ) if parameters.image_file_b64 is None and parameters.image_url is None: return JSONResponse(content=error_dict("File not found"), status_code=400) @@ -125,30 +141,44 @@ async def removebg( if len(parameters.image_file_b64) == 0: return JSONResponse(content=error_dict("Empty image"), status_code=400) try: - image = Image.open(io.BytesIO(base64.b64decode(parameters.image_file_b64))) + image = Image.open( + io.BytesIO(base64.b64decode(parameters.image_file_b64)) + ) except BaseException: - return JSONResponse(content=error_dict("Error decode image!"), status_code=400) + return JSONResponse( + content=error_dict("Error decode image!"), status_code=400 + ) elif parameters.image_url: - if ( - not parameters.image_url.startswith("http://") or - not parameters.image_url.startswith("https://") or - is_loopback(parameters.image_url) - ): - print(f"Possible ssrf attempt to /api/removebg endpoint with image url: {parameters.image_url}") - return JSONResponse(content=error_dict("Invalid image url."), - status_code=400) # possible ssrf attempt + if not ( + parameters.image_url.startswith("http://") + or parameters.image_url.startswith("https://") + ) or is_loopback(parameters.image_url): + print( + f"Possible ssrf attempt to /api/removebg endpoint with image url: {parameters.image_url}" + ) + return JSONResponse( + content=error_dict("Invalid image url."), status_code=400 + ) # possible ssrf attempt try: - image = Image.open(io.BytesIO(requests.get(parameters.image_url).content)) + image = Image.open( + io.BytesIO(requests.get(parameters.image_url).content) + ) except BaseException: - return JSONResponse(content=error_dict("Error download image!"), status_code=400) + return JSONResponse( + content=error_dict("Error download image!"), status_code=400 + ) if image is None: - return JSONResponse(content=error_dict("Error download image!"), status_code=400) + return JSONResponse( + content=error_dict("Error download image!"), status_code=400 + ) job_id = ml_processor.job_create([parameters.dict(), image, bg, False]) while ml_processor.job_status(job_id) != "finished": if ml_processor.job_status(job_id) == "not_found": - return JSONResponse(content=error_dict("Job ID not found!"), status_code=500) + return JSONResponse( + content=error_dict("Job ID not found!"), status_code=500 + ) time.sleep(5) result = ml_processor.job_result(job_id) @@ -160,9 +190,22 @@ def account(): """ Stub for compatibility with remove.bg api libraries """ - return JSONResponse(content={"data": {"attributes": { - "credits": {"total": 99999, "subscription": 99999, "payg": 99999, "enterprise": 99999}, - "api": {"free_calls": 99999, "sizes": "all"}}}}, status_code=200) + return JSONResponse( + content={ + "data": { + "attributes": { + "credits": { + "total": 99999, + "subscription": 99999, + "payg": 99999, + "enterprise": 99999, + }, + "api": {"free_calls": 99999, "sizes": "all"}, + } + } + }, + status_code=200, + ) @api_router.get("/admin/config") @@ -171,7 +214,9 @@ def status(auth: str = Depends(Authenticate)): Returns the current server config. """ if not auth or auth != "admin": - return JSONResponse(content=error_dict("Authentication failed"), status_code=403) + return JSONResponse( + content=error_dict("Authentication failed"), status_code=403 + ) resp = JSONResponse(content=config.json(), status_code=200) resp.headers["X-Credits-Charged"] = "0" return resp diff --git a/carvekit/web/schemas/config.py b/carvekit/web/schemas/config.py index de5d337..5d47ffc 100644 --- a/carvekit/web/schemas/config.py +++ b/carvekit/web/schemas/config.py @@ -7,7 +7,8 @@ class AuthConfig(BaseModel): - """Config for web api token authentication """ + """Config for web api token authentication""" + auth: bool = True """Enables Token Authentication for API""" admin_token: str = secrets.token_hex(32) @@ -18,7 +19,10 @@ class AuthConfig(BaseModel): class MLConfig(BaseModel): """Config for ml part of framework""" - segmentation_network: Literal["u2net", "deeplabv3", "basnet"] = "u2net" + + segmentation_network: Literal[ + "u2net", "deeplabv3", "basnet", "tracer_b7" + ] = "tracer_b7" """Segmentation Network""" preprocessing_method: Literal["none", "stub"] = "none" """Pre-processing Method""" @@ -30,50 +34,61 @@ class MLConfig(BaseModel): """Batch size for segmentation network""" batch_size_matting: int = 1 """Batch size for matting network""" - seg_mask_size: int = 320 + seg_mask_size: int = 640 """The size of the input image for the segmentation neural network.""" matting_mask_size: int = 2048 """The size of the input image for the matting neural network.""" + fp16: bool = False + """Use half precision for inference""" + trimap_dilation: int = 30 + """Dilation size for trimap""" + trimap_erosion: int = 5 + """Erosion levels for trimap""" + trimap_prob_threshold: int = 231 + """Probability threshold for trimap generation""" - @validator('seg_mask_size') + @validator("seg_mask_size") def seg_mask_size_validator(cls, value: int, values): if value > 0: return value else: raise ValueError("Incorrect seg_mask_size!") - @validator('matting_mask_size') + @validator("matting_mask_size") def matting_mask_size_validator(cls, value: int, values): if value > 0: return value else: raise ValueError("Incorrect matting_mask_size!") - @validator('batch_size_seg') + @validator("batch_size_seg") def batch_size_seg_validator(cls, value: int, values): if value > 0: return value else: raise ValueError("Incorrect batch size!") - @validator('batch_size_matting') - def batch_size_matting_validator(cls, value: int,values): + @validator("batch_size_matting") + def batch_size_matting_validator(cls, value: int, values): if value > 0: return value else: raise ValueError("Incorrect batch size!") - @validator('device') + @validator("device") def device_validator(cls, value): if torch.cuda.is_available() is False and "cuda" in value: - raise ValueError("GPU is not available, but specified as processing device!") - if 'cuda' not in value and "cpu" != value: + raise ValueError( + "GPU is not available, but specified as processing device!" + ) + if "cuda" not in value and "cpu" != value: raise ValueError("Unknown processing device! It should be cpu or cuda!") return value class WebAPIConfig(BaseModel): """FastAPI app config""" + port: int = 5000 """Web API port""" host: str = "0.0.0.0" diff --git a/carvekit/web/schemas/request.py b/carvekit/web/schemas/request.py index 16c7fc5..d7ebefc 100644 --- a/carvekit/web/schemas/request.py +++ b/carvekit/web/schemas/request.py @@ -8,57 +8,65 @@ class Parameters(BaseModel): image_file_b64: Optional[str] = "" image_url: Optional[str] = "" - size: Optional[Literal['preview', 'full', 'auto']] = "preview" - type: Optional[Literal['auto', 'product', 'person', 'car']] = "auto" # Not supported at the moment - format: Optional[Literal['auto', 'jpg', 'png', 'zip']] = "auto" + size: Optional[Literal["preview", "full", "auto"]] = "preview" + type: Optional[ + Literal["auto", "product", "person", "car"] + ] = "auto" # Not supported at the moment + format: Optional[Literal["auto", "jpg", "png", "zip"]] = "auto" roi: str = "0% 0% 100% 100%" crop: bool = False crop_margin: Optional[str] = "0px" scale: Optional[str] = "original" position: Optional[str] = "original" - channels: Optional[Literal['rgba', 'alpha']] = "rgba" + channels: Optional[Literal["rgba", "alpha"]] = "rgba" add_shadow: str = "false" # Not supported at the moment semitransparency: str = "false" # Not supported at the moment bg_color: Optional[str] = "" bg_image_url: Optional[str] = "" - @validator('crop_margin') + @validator("crop_margin") def crop_margin_validator(cls, value): - if not re.match(r'[0-9]+(px|%)$', value): - raise ValueError('crop_margin paramter is not valid') # TODO: Add support of several values - if '%' in value and (int(value[:-1]) < 0 or int(value[:-1]) > 100): - raise ValueError('crop_margin mast be in range between 0% and 100%') + if not re.match(r"[0-9]+(px|%)$", value): + raise ValueError( + "crop_margin paramter is not valid" + ) # TODO: Add support of several values + if "%" in value and (int(value[:-1]) < 0 or int(value[:-1]) > 100): + raise ValueError("crop_margin mast be in range between 0% and 100%") return value - @validator('scale') + @validator("scale") def scale_validator(cls, value): - if value != 'original' and ( - not re.match(r'[0-9]+%$', value) or not int(value[:-1]) <= 100 or not int(value[:-1]) >= 10): - raise ValueError('scale must be original or in between of 10% and 100%') + if value != "original" and ( + not re.match(r"[0-9]+%$", value) + or not int(value[:-1]) <= 100 + or not int(value[:-1]) >= 10 + ): + raise ValueError("scale must be original or in between of 10% and 100%") - if value == 'original': + if value == "original": return 100 return int(value[:-1]) - @validator('position') + @validator("position") def position_validator(cls, value, values): - if len(value.split(' ')) > 2: + if len(value.split(" ")) > 2: raise ValueError( - 'Position must be a value from 0 to 100 ' - 'for both vertical and horizontal axises or for both axises respectively') + "Position must be a value from 0 to 100 " + "for both vertical and horizontal axises or for both axises respectively" + ) - if value == 'original': - return 'original' - elif len(value.split(' ')) == 1: + if value == "original": + return "original" + elif len(value.split(" ")) == 1: return [int(value[:-1]), int(value[:-1])] else: - return [int(value.split(' ')[0][:-1]), int(value.split(' ')[1][:-1])] + return [int(value.split(" ")[0][:-1]), int(value.split(" ")[1][:-1])] - @validator('bg_color') + @validator("bg_color") def bg_color_validator(cls, value): - if not re.match(r'(#{0,1}[0-9a-f]{3}){0,2}$', value): - raise ValueError('bg_color is not in hex') - if len(value) and value[0] != '#': - value = '#' + value + if not re.match(r"(#{0,1}[0-9a-f]{3}){0,2}$", value): + raise ValueError("bg_color is not in hex") + if len(value) and value[0] != "#": + value = "#" + value return value diff --git a/carvekit/web/utils/init_utils.py b/carvekit/web/utils/init_utils.py index cb78041..f687182 100644 --- a/carvekit/web/utils/init_utils.py +++ b/carvekit/web/utils/init_utils.py @@ -9,6 +9,7 @@ from carvekit.ml.wrap.u2net import U2NET from carvekit.ml.wrap.deeplab_v3 import DeepLabV3 from carvekit.ml.wrap.basnet import BASNET +from carvekit.ml.wrap.tracer_b7 import TracerUniversalB7 from carvekit.pipelines.postprocessing import MattingMethod from carvekit.pipelines.preprocessing import PreprocessingStub @@ -18,29 +19,72 @@ def init_config() -> WebAPIConfig: default_config = WebAPIConfig() config = WebAPIConfig( - **dict(port=int(getenv('CARVEKIT_PORT', default_config.port)), - host=getenv('CARVEKIT_HOST', default_config.host), - ml=MLConfig( - segmentation_network=getenv('CARVEKIT_SEGMENTATION_NETWORK', default_config.ml.segmentation_network), - preprocessing_method=getenv('CARVEKIT_PREPROCESSING_METHOD', default_config.ml.preprocessing_method), - postprocessing_method=getenv('CARVEKIT_POSTPROCESSING_METHOD', - default_config.ml.postprocessing_method), - device=getenv('CARVEKIT_DEVICE', default_config.ml.device), - batch_size_seg=int(getenv('CARVEKIT_BATCH_SIZE_SEG', default_config.ml.batch_size_seg)), - batch_size_matting=int(getenv('CARVEKIT_BATCH_SIZE_MATTING', default_config.ml.batch_size_matting)), - seg_mask_size=int(getenv('CARVEKIT_SEG_MASK_SIZE', default_config.ml.seg_mask_size)), - matting_mask_size=int(getenv('CARVEKIT_MATTING_MASK_SIZE', default_config.ml.matting_mask_size)) - ), auth=AuthConfig( - auth=bool(int(getenv('CARVEKIT_AUTH_ENABLE', default_config.auth.auth))), - admin_token=getenv('CARVEKIT_ADMIN_TOKEN', default_config.auth.admin_token), + **dict( + port=int(getenv("CARVEKIT_PORT", default_config.port)), + host=getenv("CARVEKIT_HOST", default_config.host), + ml=MLConfig( + segmentation_network=getenv( + "CARVEKIT_SEGMENTATION_NETWORK", + default_config.ml.segmentation_network, + ), + preprocessing_method=getenv( + "CARVEKIT_PREPROCESSING_METHOD", + default_config.ml.preprocessing_method, + ), + postprocessing_method=getenv( + "CARVEKIT_POSTPROCESSING_METHOD", + default_config.ml.postprocessing_method, + ), + device=getenv("CARVEKIT_DEVICE", default_config.ml.device), + batch_size_seg=int( + getenv("CARVEKIT_BATCH_SIZE_SEG", default_config.ml.batch_size_seg) + ), + batch_size_matting=int( + getenv( + "CARVEKIT_BATCH_SIZE_MATTING", + default_config.ml.batch_size_matting, + ) + ), + seg_mask_size=int( + getenv("CARVEKIT_SEG_MASK_SIZE", default_config.ml.seg_mask_size) + ), + matting_mask_size=int( + getenv( + "CARVEKIT_MATTING_MASK_SIZE", + default_config.ml.matting_mask_size, + ) + ), + fp16=bool(int(getenv("CARVEKIT_FP16", default_config.ml.fp16))), + trimap_prob_threshold=int( + getenv( + "CARVEKIT_TRIMAP_PROB_THRESHOLD", + default_config.ml.trimap_prob_threshold, + ) + ), + trimap_dilation=int( + getenv( + "CARVEKIT_TRIMAP_DILATION", default_config.ml.trimap_dilation + ) + ), + trimap_erosion=int( + getenv("CARVEKIT_TRIMAP_EROSION", default_config.ml.trimap_erosion) + ), + ), + auth=AuthConfig( + auth=bool( + int(getenv("CARVEKIT_AUTH_ENABLE", default_config.auth.auth)) + ), + admin_token=getenv( + "CARVEKIT_ADMIN_TOKEN", default_config.auth.admin_token + ), allowed_tokens=default_config.auth.allowed_tokens - if getenv('CARVEKIT_ALLOWED_TOKENS') is None else getenv('CARVEKIT_ALLOWED_TOKENS').split(',') - - )) - + if getenv("CARVEKIT_ALLOWED_TOKENS") is None + else getenv("CARVEKIT_ALLOWED_TOKENS").split(","), + ), + ) ) - logger.info(f'Admin token for Web API is {config.auth.admin_token}') + logger.info(f"Admin token for Web API is {config.auth.admin_token}") logger.debug(f"Running Web API with this config: {config.json()}") return config @@ -49,21 +93,40 @@ def init_interface(config: Union[WebAPIConfig, MLConfig]) -> Interface: if isinstance(config, WebAPIConfig): config = config.ml if config.segmentation_network == "u2net": - seg_net = U2NET(device=config.device, - batch_size=config.batch_size_seg, - input_image_size=config.seg_mask_size) + seg_net = U2NET( + device=config.device, + batch_size=config.batch_size_seg, + input_image_size=config.seg_mask_size, + fp16=config.fp16, + ) elif config.segmentation_network == "deeplabv3": - seg_net = DeepLabV3(device=config.device, - batch_size=config.batch_size_seg, - input_image_size=config.seg_mask_size) + seg_net = DeepLabV3( + device=config.device, + batch_size=config.batch_size_seg, + input_image_size=config.seg_mask_size, + fp16=config.fp16, + ) elif config.segmentation_network == "basnet": - seg_net = BASNET(device=config.device, - batch_size=config.batch_size_seg, - input_tensor_size=config.seg_mask_size) + seg_net = BASNET( + device=config.device, + batch_size=config.batch_size_seg, + input_image_size=config.seg_mask_size, + fp16=config.fp16, + ) + elif config.segmentation_network == "tracer_b7": + seg_net = TracerUniversalB7( + device=config.device, + batch_size=config.batch_size_seg, + input_image_size=config.seg_mask_size, + fp16=config.fp16, + ) else: - seg_net = U2NET(device=config.device, - batch_size=config.batch_size_seg, - input_image_size=config.seg_mask_size) + seg_net = TracerUniversalB7( + device=config.device, + batch_size=config.batch_size_seg, + input_image_size=config.seg_mask_size, + fp16=config.fp16, + ) if config.preprocessing_method == "stub": preprocessing = PreprocessingStub() @@ -73,21 +136,30 @@ def init_interface(config: Union[WebAPIConfig, MLConfig]) -> Interface: preprocessing = None if config.postprocessing_method == "fba": - fba = FBAMatting(device=config.device, - batch_size=config.batch_size_matting, - input_tensor_size=config.matting_mask_size) - trimap_generator = TrimapGenerator() - postprocessing = MattingMethod(device=config.device, - matting_module=fba, - trimap_generator=trimap_generator) + fba = FBAMatting( + device=config.device, + batch_size=config.batch_size_matting, + input_tensor_size=config.matting_mask_size, + fp16=config.fp16, + ) + trimap_generator = TrimapGenerator( + prob_threshold=config.trimap_prob_threshold, + kernel_size=config.trimap_dilation, + erosion_iters=config.trimap_erosion, + ) + postprocessing = MattingMethod( + device=config.device, matting_module=fba, trimap_generator=trimap_generator + ) elif config.postprocessing_method == "none": postprocessing = None else: postprocessing = None - interface = Interface(pre_pipe=preprocessing, - post_pipe=postprocessing, - seg_pipe=seg_net, - device=config.device) + interface = Interface( + pre_pipe=preprocessing, + post_pipe=postprocessing, + seg_pipe=seg_net, + device=config.device, + ) return interface diff --git a/carvekit/web/utils/net_utils.py b/carvekit/web/utils/net_utils.py index 6f7a225..12a9620 100644 --- a/carvekit/web/utils/net_utils.py +++ b/carvekit/web/utils/net_utils.py @@ -10,12 +10,14 @@ def is_loopback(address): try: parsed_url = urlparse(address) host = parsed_url.hostname - except: + except ValueError: return False # url is not even a url loopback_checker = { - socket.AF_INET: lambda x: struct.unpack('!I', socket.inet_aton(x))[0] >> (32 - 8) == 127, - socket.AF_INET6: lambda x: x == '::1' + socket.AF_INET: lambda x: struct.unpack("!I", socket.inet_aton(x))[0] + >> (32 - 8) + == 127, + socket.AF_INET6: lambda x: x == "::1", } for family in (socket.AF_INET, socket.AF_INET6): try: diff --git a/carvekit/web/utils/task_queue.py b/carvekit/web/utils/task_queue.py index 2b85af8..f821434 100644 --- a/carvekit/web/utils/task_queue.py +++ b/carvekit/web/utils/task_queue.py @@ -14,6 +14,7 @@ class MLProcessor(threading.Thread): """Simple ml task queue processor""" + def __init__(self, api_config: WebAPIConfig): super().__init__() self.api_config = api_config @@ -36,7 +37,9 @@ def run(self): id = list(self.jobs.keys())[0] data = self.jobs[id] # TODO add pydantic scheme here - response = process_remove_bg(self.interface, data[0], data[1], data[2], data[3]) + response = process_remove_bg( + self.interface, data[0], data[1], data[2], data[3] + ) self.completed_jobs[id] = [response, time.time()] try: del self.jobs[id] diff --git a/conftest.py b/conftest.py index c218370..f328d35 100644 --- a/conftest.py +++ b/conftest.py @@ -22,15 +22,30 @@ from carvekit.ml.wrap.basnet import BASNET from carvekit.ml.wrap.fba_matting import FBAMatting from carvekit.ml.wrap.deeplab_v3 import DeepLabV3 +from carvekit.ml.wrap.tracer_b7 import TracerUniversalB7 @pytest.fixture() -def u2net_model() -> Callable[[], U2NET]: - return lambda: U2NET(layers_cfg="full", - device='cuda' if torch.cuda.is_available() else 'cpu', - input_image_size=320, - batch_size=10, - load_pretrained=True) +def u2net_model() -> Callable[[bool], U2NET]: + return lambda fb16: U2NET( + layers_cfg="full", + device="cuda" if torch.cuda.is_available() else "cpu", + input_image_size=320, + batch_size=10, + load_pretrained=True, + fp16=fb16, + ) + + +@pytest.fixture() +def tracer_model() -> Callable[[bool], TracerUniversalB7]: + return lambda fb16: TracerUniversalB7( + device="cuda" if torch.cuda.is_available() else "cpu", + input_image_size=320, + batch_size=10, + load_pretrained=True, + fp16=fb16, + ) @pytest.fixture() @@ -50,46 +65,66 @@ def preprocessing_stub_instance() -> Callable[[], PreprocessingStub]: @pytest.fixture() def matting_method_instance(fba_model, trimap_instance): - return lambda: MattingMethod(matting_module=fba_model(), trimap_generator=trimap_instance(), device="cpu") + return lambda: MattingMethod( + matting_module=fba_model(False), + trimap_generator=trimap_instance(), + device="cpu", + ) @pytest.fixture() def high_interface_instance() -> Callable[[], HiInterface]: - return lambda: HiInterface(batch_size_seg=5, batch_size_matting=1, - device='cuda' if torch.cuda.is_available() else 'cpu', - seg_mask_size=320, matting_mask_size=2048) + return lambda: HiInterface( + batch_size_seg=5, + batch_size_matting=1, + device="cuda" if torch.cuda.is_available() else "cpu", + seg_mask_size=320, + matting_mask_size=2048, + ) @pytest.fixture() -def interface_instance(u2net_model, preprocessing_stub_instance, - matting_method_instance) -> Callable[[], Interface]: - return lambda: Interface(u2net_model(), - pre_pipe=preprocessing_stub_instance(), - post_pipe=matting_method_instance(), - device='cuda' if torch.cuda.is_available() else 'cpu') +def interface_instance( + u2net_model, preprocessing_stub_instance, matting_method_instance +) -> Callable[[], Interface]: + return lambda: Interface( + u2net_model(False), + pre_pipe=preprocessing_stub_instance(), + post_pipe=matting_method_instance(), + device="cuda" if torch.cuda.is_available() else "cpu", + ) @pytest.fixture() -def fba_model() -> Callable[[], FBAMatting]: - return lambda: FBAMatting(device='cuda' if torch.cuda.is_available() else 'cpu', - input_tensor_size=1024, - batch_size=2, - load_pretrained=True) +def fba_model() -> Callable[[bool], FBAMatting]: + return lambda fp16: FBAMatting( + device="cuda" if torch.cuda.is_available() else "cpu", + input_tensor_size=1024, + batch_size=2, + load_pretrained=True, + fp16=fp16, + ) @pytest.fixture() -def deeplabv3_model() -> Callable[[], DeepLabV3]: - return lambda: DeepLabV3(device='cuda' if torch.cuda.is_available() else 'cpu', - batch_size=10, - load_pretrained=True) +def deeplabv3_model() -> Callable[[bool], DeepLabV3]: + return lambda fp16: DeepLabV3( + device="cuda" if torch.cuda.is_available() else "cpu", + batch_size=10, + load_pretrained=True, + fp16=fp16, + ) @pytest.fixture() -def basnet_model() -> Callable[[], BASNET]: - return lambda: BASNET(device='cuda' if torch.cuda.is_available() else 'cpu', - input_tensor_size=320, - batch_size=10, - load_pretrained=True) +def basnet_model() -> Callable[[bool], BASNET]: + return lambda fp16: BASNET( + device="cuda" if torch.cuda.is_available() else "cpu", + input_image_size=320, + batch_size=10, + load_pretrained=True, + fp16=fp16, + ) @pytest.fixture() @@ -99,17 +134,19 @@ def image_str(image_path) -> str: @pytest.fixture() def image_path() -> Path: - return Path(__file__).parent.joinpath('tests').joinpath('data', 'cat.jpg') + return Path(__file__).parent.joinpath("tests").joinpath("data", "cat.jpg") @pytest.fixture() def image_mask(image_path) -> Image.Image: - return Image.open(image_path.with_name('cat_mask').with_suffix(".png")) + return Image.open(image_path.with_name("cat_mask").with_suffix(".png")) @pytest.fixture() def image_trimap(image_path) -> Image.Image: - return Image.open(image_path.with_name('cat_trimap').with_suffix(".png")).convert("L") + return Image.open(image_path.with_name("cat_trimap").with_suffix(".png")).convert( + "L" + ) @pytest.fixture() @@ -128,10 +165,17 @@ def converted_pil_image(image_pil) -> Image.Image: @pytest.fixture() -def available_models(u2net_model, deeplabv3_model, basnet_model, - preprocessing_stub_instance, matting_method_instance) -> Tuple[ - List[Union[Callable[[], U2NET], Callable[[], DeepLabV3], Callable[[], BASNET]]], List[ - Optional[Callable[[], PreprocessingStub]]], List[Union[Optional[Callable[[], MattingMethod]], Any]]]: +def available_models( + u2net_model, + deeplabv3_model, + basnet_model, + preprocessing_stub_instance, + matting_method_instance, +) -> Tuple[ + List[Union[Callable[[], U2NET], Callable[[], DeepLabV3], Callable[[], BASNET]]], + List[Optional[Callable[[], PreprocessingStub]]], + List[Union[Optional[Callable[[], MattingMethod]], Any]], +]: models = [u2net_model, deeplabv3_model, basnet_model] pre_pipes = [None, preprocessing_stub_instance] post_pipes = [None, matting_method_instance] diff --git a/docker-compose.cpu.yml b/docker-compose.cpu.yml index 9ee8de7..1fe3f5a 100644 --- a/docker-compose.cpu.yml +++ b/docker-compose.cpu.yml @@ -1,22 +1,23 @@ services: carvekit_api: - build: - dockerfile: Dockerfile.cpu - context: . + image: anodev/carvekit:latest-cpu ports: - "5000:5000" # 5000 environment: - CARVEKIT_PORT=5000 - CARVEKIT_HOST=0.0.0.0 - - CARVEKIT_SEGMENTATION_NETWORK=u2net # can be u2net, basnet, deeplabv3 + - CARVEKIT_SEGMENTATION_NETWORK=tracer_b7 # can be u2net, tracer_b7, basnet, deeplabv3 - CARVEKIT_PREPROCESSING_METHOD=none # can be none, stub - CARVEKIT_POSTPROCESSING_METHOD=fba # can be none, fba - CARVEKIT_DEVICE=cpu # can be cuda (req. cuda docker image), cpu - CARVEKIT_BATCH_SIZE_SEG=5 # Number of images processed per one segmentation nn call. NOT USED IF WEB API IS USED - CARVEKIT_BATCH_SIZE_MATTING=1 # Number of images processed per one matting nn call. NOT USED IF WEB API IS USED - - CARVEKIT_SEG_MASK_SIZE=320 # The size of the input image for the segmentation neural network. + - CARVEKIT_SEG_MASK_SIZE=640 # The size of the input image for the segmentation neural network. - CARVEKIT_MATTING_MASK_SIZE=2048 # The size of the input image for the matting neural network. - + - CARVEKIT_FP16=0 # Enables FP16 mode (Only CUDA at the moment) + - CARVEKIT_TRIMAP_PROB_THRESHOLD=231 # Probability threshold at which the prob_filter and prob_as_unknown_area operations will be applied + - CARVEKIT_TRIMAP_DILATION=30 # The size of the offset radius from the object mask in pixels when forming an unknown area + - CARVEKIT_TRIMAP_EROSION=5 # The number of iterations of erosion that the object's mask will be subjected to before forming an unknown area - CARVEKIT_AUTH_ENABLE=1 # Enables authentication by tokens # Tokens will be generated automatically every time the container is restarted if these ENV is not set. #- CARVEKIT_ADMIN_TOKEN=admin diff --git a/docker-compose.cuda.yml b/docker-compose.cuda.yml index 71c2dc5..8308594 100644 --- a/docker-compose.cuda.yml +++ b/docker-compose.cuda.yml @@ -1,22 +1,23 @@ services: carvekit_api: - build: - dockerfile: Dockerfile.cuda - context: . + image: anodev/carvekit:latest-cuda ports: - "5000:5000" # 5000 environment: - CARVEKIT_PORT=5000 - CARVEKIT_HOST=0.0.0.0 - - CARVEKIT_SEGMENTATION_NETWORK=u2net # can be u2net, basnet, deeplabv3 + - CARVEKIT_SEGMENTATION_NETWORK=tracer_b7 # can be u2net, tracer_b7, basnet, deeplabv3 - CARVEKIT_PREPROCESSING_METHOD=none # can be none, stub - CARVEKIT_POSTPROCESSING_METHOD=fba # can be none, fba - CARVEKIT_DEVICE=cuda # can be cuda (req. cuda docker image), cpu - CARVEKIT_BATCH_SIZE_SEG=5 # Number of images processed per one segmentation nn call. NOT USED IF WEB API IS USED - CARVEKIT_BATCH_SIZE_MATTING=1 # Number of images processed per one matting nn call. NOT USED IF WEB API IS USED - - CARVEKIT_SEG_MASK_SIZE=320 # The size of the input image for the segmentation neural network. + - CARVEKIT_SEG_MASK_SIZE=640 # The size of the input image for the segmentation neural network. - CARVEKIT_MATTING_MASK_SIZE=2048 # The size of the input image for the matting neural network. - + - CARVEKIT_FP16=0 # Enables FP16 mode (Only CUDA at the moment) + - CARVEKIT_TRIMAP_PROB_THRESHOLD=231 # Probability threshold at which the prob_filter and prob_as_unknown_area operations will be applied + - CARVEKIT_TRIMAP_DILATION=30 # The size of the offset radius from the object mask in pixels when forming an unknown area + - CARVEKIT_TRIMAP_EROSION=5 # The number of iterations of erosion that the object's mask will be subjected to before forming an unknown area - CARVEKIT_AUTH_ENABLE=1 # Enables authentication by tokens # Tokens will be generated automatically every time the container is restarted if these ENV is not set. #- CARVEKIT_ADMIN_TOKEN=admin diff --git a/docs/CREDITS.md b/docs/CREDITS.md index 33f37a6..c544c65 100644 --- a/docs/CREDITS.md +++ b/docs/CREDITS.md @@ -16,10 +16,11 @@ All images are copyrighted by their authors. 2. https://github.com/NathanUA/U-2-Net 3. https://github.com/NathanUA/BASNet 4. https://github.com/MarcoForte/FBA_Matting -5. https://gluon-cv.mxnet.io/model_zoo/detection.html -6. https://arxiv.org/abs/1706.05587 -7. https://arxiv.org/pdf/2005.09007.pdf -8. http://openaccess.thecvf.com/content_CVPR_2019/html/Qin_BASNet_Boundary-Aware_Salient_Object_Detection_CVPR_2019_paper.html -9. https://arxiv.org/abs/2003.07711 -10. https://arxiv.org/abs/1506.01497 -11. https://arxiv.org/abs/1703.06870 +5. https://arxiv.org/abs/1706.05587 +6. https://arxiv.org/pdf/2005.09007.pdf +7. http://openaccess.thecvf.com/content_CVPR_2019/html/Qin_BASNet_Boundary-Aware_Salient_Object_Detection_CVPR_2019_paper.html +8. https://arxiv.org/abs/2003.07711 +9. https://arxiv.org/abs/1506.01497 +10. https://arxiv.org/abs/1703.06870 +11. https://github.com/Karel911/TRACER +12. https://arxiv.org/abs/2112.07380 diff --git a/docs/code_examples/python/http_api_lib.py b/docs/code_examples/python/http_api_lib.py index 7956efb..cef55ff 100644 --- a/docs/code_examples/python/http_api_lib.py +++ b/docs/code_examples/python/http_api_lib.py @@ -11,22 +11,25 @@ remove_bg_api.API_URL = "http://localhost:5000/api" # Change the endpoint url removebg = remove_bg_api.RemoveBg("test") -settings = \ - { # API settings. See https://www.remove.bg/api for more details. - "size": "preview", # ["preview", "full", "auto", "medium", "hd", "4k", "small", "regular"] - "type": "auto", # ["auto", "person", "product", "car"] - "format": "auto", # ["auto", "png", "jpg", "zip"] - "roi": "", # {}% {}% {}% {}% or {}px {}px {}px {}px - "crop": False, # True or False - "crop_margin": "0px", # {}% or {}px - "scale": "original", # "{}%" or "original" - "position": "original", # "original" "center", or {}% - "channels": "rgba", # "rgba" or "alpha" - "add_shadow": "false", # Not supported at the moment - "semitransparency": "false", # Not supported at the moment - "bg_color": "", # "81d4fa" or "red" or any other color - "bg_image_url": "" # URL - } +settings = { # API settings. See https://www.remove.bg/api for more details. + "size": "preview", # ["preview", "full", "auto", "medium", "hd", "4k", "small", "regular"] + "type": "auto", # ["auto", "person", "product", "car"] + "format": "auto", # ["auto", "png", "jpg", "zip"] + "roi": "", # {}% {}% {}% {}% or {}px {}px {}px {}px + "crop": False, # True or False + "crop_margin": "0px", # {}% or {}px + "scale": "original", # "{}%" or "original" + "position": "original", # "original" "center", or {}% + "channels": "rgba", # "rgba" or "alpha" + "add_shadow": "false", # Not supported at the moment + "semitransparency": "false", # Not supported at the moment + "bg_color": "", # "81d4fa" or "red" or any other color + "bg_image_url": "", # URL +} -removebg.remove_bg_file(str(Path("images/4.jpg").absolute()), raw=False, - out_path=str(Path("./4.png").absolute()), data=settings) \ No newline at end of file +removebg.remove_bg_file( + str(Path("images/4.jpg").absolute()), + raw=False, + out_path=str(Path("./4.png").absolute()), + data=settings, +) diff --git a/docs/code_examples/python/http_api_requests.py b/docs/code_examples/python/http_api_requests.py index a2f2e69..f0370a7 100644 --- a/docs/code_examples/python/http_api_requests.py +++ b/docs/code_examples/python/http_api_requests.py @@ -8,12 +8,12 @@ from pathlib import Path response = requests.post( - 'http://localhost:5000/api/removebg', - files={'image_file': Path("images/4.jpg").read_bytes()}, - data={'size': 'auto'}, - headers={'X-Api-Key': 'test'}, + "http://localhost:5000/api/removebg", + files={"image_file": Path("images/4.jpg").read_bytes()}, + data={"size": "auto"}, + headers={"X-Api-Key": "test"}, ) if response.status_code == 200: Path("image_without_bg.png").write_bytes(response.content) else: - print("Error:", response.status_code, response.text) \ No newline at end of file + print("Error:", response.status_code, response.text) diff --git a/docs/imgs/input/1_bg_removed.png b/docs/imgs/input/1_bg_removed.png index 4a05649..a1e44f6 100644 Binary files a/docs/imgs/input/1_bg_removed.png and b/docs/imgs/input/1_bg_removed.png differ diff --git a/docs/imgs/input/2_bg_removed.png b/docs/imgs/input/2_bg_removed.png index d416cf3..a30c041 100644 Binary files a/docs/imgs/input/2_bg_removed.png and b/docs/imgs/input/2_bg_removed.png differ diff --git a/docs/imgs/input/3_bg_removed.png b/docs/imgs/input/3_bg_removed.png index abfc1cc..298e17f 100644 Binary files a/docs/imgs/input/3_bg_removed.png and b/docs/imgs/input/3_bg_removed.png differ diff --git a/docs/imgs/input/4_bg_removed.png b/docs/imgs/input/4_bg_removed.png index 48b56e0..32b6a1c 100644 Binary files a/docs/imgs/input/4_bg_removed.png and b/docs/imgs/input/4_bg_removed.png differ diff --git a/docs/other/carvekit_try.ipynb b/docs/other/carvekit_try.ipynb index dcb38c6..484ee9c 100644 --- a/docs/other/carvekit_try.ipynb +++ b/docs/other/carvekit_try.ipynb @@ -1,259 +1,204 @@ { - "nbformat": 4, - "nbformat_minor": 0, - "metadata": { - "colab": { - "name": "carvekit-try.ipynb", - "provenance": [], - "collapsed_sections": [] - }, - "kernelspec": { - "name": "python3", - "display_name": "Python 3" - }, - "accelerator": "GPU", - "gpuClass": "standard" - }, - "cells": [ - { - "cell_type": "markdown", - "source": [ - "![logo.png](data:image/png;base64,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PgogIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICB4bWxuczpHSU1QPSJodHRwOi8vd3d3LmdpbXAub3JnL3htcC8iCiAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgeG1wTU06RG9jdW1lbnRJRD0iZ2ltcDpkb2NpZDpnaW1wOjcyMjdlZWUzLTQ5MTEtNDE4MS1hNjBlLWVlYmRjOWFlOWQzYiIKICAgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDphMDg1Mjk3OC1kZTdjLTQyNjAtODdiZS0zNTQzZTA1ZGIwNGEiCiAgIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoxMTJiY2Y4Yy0xMjcxLTQ4OTAtOTQ5My1kNDJhMzE3OTcwNzkiCiAgIGRjOkZvcm1hdD0iaW1hZ2UvcG5nIgogICBHSU1QOkFQST0iMi4wIgogICBHSU1QOlBsYXRmb3JtPSJMaW51eCIKICAgR0lNUDpUaW1lU3RhbXA9IjE2NTIxMjA0MzM5NzMwOTMiCiAgIEdJTVA6VmVyc2lvbj0iMi4xMC4zMCIKICAgdGlmZjpPcmllbnRhdGlvbj0iMSIKICAgeG1wOkNyZWF0b3JUb29sPSJHSU1QIDIuMTAiPgogICA8eG1wTU06SGlzdG9yeT4KICAgIDxyZGY6U2VxPgogICAgIDxyZGY6bGkKICAgICAgc3RFdnQ6YWN0aW9uPSJzYXZlZCIKICAgICAgc3RFdnQ6Y2hhbmdlZD0iLyIKICAgICAgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDphMTExYjYyNi00ODM0LTQ1OGYtYjc4Yy01ODZiMTIyYTY2MmYiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkdpbXAgMi4xMCAoTGludXgpIgogICAgICBzdEV2dDp3aGVuPSIyMDIyLTA1LTA5VDAyOjQzOjM2KzEwOjAwIi8+CiAgICAgPHJkZjpsaQogICAgICBzdEV2dDphY3Rpb249InNhdmVkIgogICAgICBzdEV2dDpjaGFuZ2VkPSIvIgogICAgICBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmExYTVlY2M2LTJlN2UtNDAxOS05ZDRlLTdjMDNiYWZmNjY3OCIKICAgICAgc3RFdnQ6c29mdHdhcmVBZ2VudD0iR2ltcCAyLjEwIChMaW51eCkiCiAgICAgIHN0RXZ0OndoZW49IjIwMjItMDUtMTBUMDQ6MjA6MzMrMTA6MDAiLz4KICAgIDwvcmRmOlNlcT4KICAgPC94bXBNTTpIaXN0b3J5PgogIDwvcmRmOkRlc2NyaXB0aW9uPgogPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+r4gMfgAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAALNgAACzYBvwjYegAAAAd0SU1FB+YFCRIUIcREItAAACAASURBVHja7J13mFTV/f/ft03bKoKCiNjosoZQVgRUVMRgQYrEQmzRxBgVkxgLFogo4ld/KpqIGCvWIIJAFBAxIqgBggi6gBCxRpDiwu6U28/vj+Uc7iwLLLBz587M5/U8+zA7O8w997R7zvt8CkAQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQ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)" - ], - "metadata": { - "id": "-BV5wSJzQ-ev", - "pycharm": { - "name": "#%% md\n" - } - } - }, - { - "cell_type": "markdown", - "source": [ - "### Automated high-quality background removal framework for an image using neural networks\n", - "\n", - "\n", - "\n", - "- 🏢 [Project at GitHub](https://github.com/OPHoperHPO/image-background-remove-tool) 🏢\n", - "- 🔗 [Author at GitHub](https://github.com/OPHoperHPO) 🔗\n", - "\n", - "> Please rate our repository with ⭐ if you like our work! Thanks! 😀" - ], - "metadata": { - "id": "Yq1sa5BbRV4c", - "pycharm": { - "name": "#%% md\n" - } - } - }, - { - "cell_type": "markdown", - "source": [ - "This notebook supports **Google Colab GPU runtime**. \n", - "\n", - "> **Enabling and testing the GPU** \\\n", - "> Navigate to `Edit → Notebook Settings`. \\\n", - "> Select `GPU` from the `Hardware Accelerator` drop-down." - ], - "metadata": { - "id": "lrGOILABYqXx", - "pycharm": { - "name": "#%% md\n" - } - } - }, - { - "cell_type": "markdown", - "metadata": { - "id": "sqwsUfoI3SnG", - "pycharm": { - "name": "#%% md\n" - } - }, - "source": [ - "# Install CarveKit" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "7C4rC_HQi1gq", - "outputId": "4b17792b-8f83-4195-be15-0a46d9f80534", + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { "colab": { - "base_uri": "https://localhost:8080/" + "name": "carvekit-try.ipynb", + "provenance": [], + "collapsed_sections": [] }, - "pycharm": { - "name": "#%%\n" - } - }, - "source": [ - "#@title Install colab-ready python package (Click the arrow on the left)\n", - "%cd /content\n", - "!pip install carvekit_colab\n" - ], - "execution_count": 1, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "/content\n", - "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", - "Collecting carvekit_colab\n", - " Downloading carvekit_colab-4.0.1-py3-none-any.whl (56 kB)\n", - "\u001B[K |████████████████████████████████| 56 kB 4.9 MB/s \n", - "\u001B[?25hCollecting loguru\n", - " Downloading loguru-0.6.0-py3-none-any.whl (58 kB)\n", - "\u001B[K |████████████████████████████████| 58 kB 6.9 MB/s \n", - "\u001B[?25hRequirement already satisfied: tqdm in /usr/local/lib/python3.7/dist-packages (from carvekit_colab) (4.64.1)\n", - "Requirement already satisfied: numpy in /usr/local/lib/python3.7/dist-packages (from carvekit_colab) (1.21.6)\n", - "Collecting uvicorn\n", - " Downloading uvicorn-0.18.3-py3-none-any.whl (57 kB)\n", - "\u001B[K |████████████████████████████████| 57 kB 6.0 MB/s \n", - "\u001B[?25hRequirement already satisfied: requests in /usr/local/lib/python3.7/dist-packages (from carvekit_colab) (2.23.0)\n", - "Requirement already satisfied: torch in /usr/local/lib/python3.7/dist-packages (from carvekit_colab) (1.12.1+cu113)\n", - "Requirement already satisfied: pydantic in /usr/local/lib/python3.7/dist-packages (from carvekit_colab) (1.9.2)\n", - "Requirement already satisfied: click in /usr/local/lib/python3.7/dist-packages (from carvekit_colab) (7.1.2)\n", - "Requirement already satisfied: opencv-python in /usr/local/lib/python3.7/dist-packages (from carvekit_colab) (4.6.0.66)\n", - "Collecting aiofiles\n", - " Downloading aiofiles-22.1.0-py3-none-any.whl (14 kB)\n", - "Requirement already satisfied: Pillow in /usr/local/lib/python3.7/dist-packages (from carvekit_colab) (7.1.2)\n", - "Collecting python-multipart\n", - " Downloading python-multipart-0.0.5.tar.gz (32 kB)\n", - "Collecting fastapi\n", - " Downloading fastapi-0.85.0-py3-none-any.whl (55 kB)\n", - "\u001B[K |████████████████████████████████| 55 kB 4.4 MB/s \n", - "\u001B[?25hCollecting starlette\n", - " Downloading starlette-0.20.4-py3-none-any.whl (63 kB)\n", - "\u001B[K |████████████████████████████████| 63 kB 2.8 MB/s \n", - "\u001B[?25hRequirement already satisfied: torchvision in /usr/local/lib/python3.7/dist-packages (from carvekit_colab) (0.13.1+cu113)\n", - "Requirement already satisfied: setuptools in /usr/local/lib/python3.7/dist-packages (from carvekit_colab) (57.4.0)\n", - "Requirement already satisfied: typing-extensions>=3.10.0 in /usr/local/lib/python3.7/dist-packages (from starlette->carvekit_colab) (4.1.1)\n", - "Collecting anyio<5,>=3.4.0\n", - " Downloading anyio-3.6.1-py3-none-any.whl (80 kB)\n", - "\u001B[K |████████████████████████████████| 80 kB 9.8 MB/s \n", - "\u001B[?25hCollecting sniffio>=1.1\n", - " Downloading sniffio-1.3.0-py3-none-any.whl (10 kB)\n", - "Requirement already satisfied: idna>=2.8 in /usr/local/lib/python3.7/dist-packages (from anyio<5,>=3.4.0->starlette->carvekit_colab) (2.10)\n", - "Requirement already satisfied: six>=1.4.0 in /usr/local/lib/python3.7/dist-packages (from python-multipart->carvekit_colab) (1.15.0)\n", - "Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.7/dist-packages (from requests->carvekit_colab) (1.24.3)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.7/dist-packages (from requests->carvekit_colab) (2022.6.15)\n", - "Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.7/dist-packages (from requests->carvekit_colab) (3.0.4)\n", - "Collecting h11>=0.8\n", - " Downloading h11-0.13.0-py3-none-any.whl (58 kB)\n", - "\u001B[K |████████████████████████████████| 58 kB 6.5 MB/s \n", - "\u001B[?25hBuilding wheels for collected packages: python-multipart\n", - " Building wheel for python-multipart (setup.py) ... \u001B[?25l\u001B[?25hdone\n", - " Created wheel for python-multipart: filename=python_multipart-0.0.5-py3-none-any.whl size=31678 sha256=07256848d4610c7b38d9d5b2d789f20eea390c0eb7a7fe8497b2858367b7ce96\n", - " Stored in directory: /root/.cache/pip/wheels/2c/41/7c/bfd1c180534ffdcc0972f78c5758f89881602175d48a8bcd2c\n", - "Successfully built python-multipart\n", - "Installing collected packages: sniffio, anyio, starlette, h11, uvicorn, python-multipart, loguru, fastapi, aiofiles, carvekit-colab\n", - "Successfully installed aiofiles-22.1.0 anyio-3.6.1 carvekit-colab-4.0.1 fastapi-0.85.0 h11-0.13.0 loguru-0.6.0 python-multipart-0.0.5 sniffio-1.3.0 starlette-0.20.4 uvicorn-0.18.3\n" - ] - } - ] + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "accelerator": "GPU", + "gpuClass": "standard" }, - { - "cell_type": "code", - "source": [ - "#@title Download all models\n", - "from carvekit.ml.files.models_loc import download_all\n", - "\n", - "download_all();" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" + "cells": [ + { + "cell_type": "markdown", + "source": [ + "![logo.png](data:image/png;base64,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PgogIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICB4bWxuczpHSU1QPSJodHRwOi8vd3d3LmdpbXAub3JnL3htcC8iCiAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgeG1wTU06RG9jdW1lbnRJRD0iZ2ltcDpkb2NpZDpnaW1wOjcyMjdlZWUzLTQ5MTEtNDE4MS1hNjBlLWVlYmRjOWFlOWQzYiIKICAgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDphMDg1Mjk3OC1kZTdjLTQyNjAtODdiZS0zNTQzZTA1ZGIwNGEiCiAgIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoxMTJiY2Y4Yy0xMjcxLTQ4OTAtOTQ5My1kNDJhMzE3OTcwNzkiCiAgIGRjOkZvcm1hdD0iaW1hZ2UvcG5nIgogICBHSU1QOkFQST0iMi4wIgogICBHSU1QOlBsYXRmb3JtPSJMaW51eCIKICAgR0lNUDpUaW1lU3RhbXA9IjE2NTIxMjA0MzM5NzMwOTMiCiAgIEdJTVA6VmVyc2lvbj0iMi4xMC4zMCIKICAgdGlmZjpPcmllbnRhdGlvbj0iMSIKICAgeG1wOkNyZWF0b3JUb29sPSJHSU1QIDIuMTAiPgogICA8eG1wTU06SGlzdG9yeT4KICAgIDxyZGY6U2VxPgogICAgIDxyZGY6bGkKICAgICAgc3RFdnQ6YWN0aW9uPSJzYXZlZCIKICAgICAgc3RFdnQ6Y2hhbmdlZD0iLyIKICAgICAgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDphMTExYjYyNi00ODM0LTQ1OGYtYjc4Yy01ODZiMTIyYTY2MmYiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkdpbXAgMi4xMCAoTGludXgpIgogICAgICBzdEV2dDp3aGVuPSIyMDIyLTA1LTA5VDAyOjQzOjM2KzEwOjAwIi8+CiAgICAgPHJkZjpsaQogICAgICBzdEV2dDphY3Rpb249InNhdmVkIgogICAgICBzdEV2dDpjaGFuZ2VkPSIvIgogICAgICBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmExYTVlY2M2LTJlN2UtNDAxOS05ZDRlLTdjMDNiYWZmNjY3OCIKICAgICAgc3RFdnQ6c29mdHdhcmVBZ2VudD0iR2ltcCAyLjEwIChMaW51eCkiCiAgICAgIHN0RXZ0OndoZW49IjIwMjItMDUtMTBUMDQ6MjA6MzMrMTA6MDAiLz4KICAgIDwvcmRmOlNlcT4KICAgPC94bXBNTTpIaXN0b3J5PgogIDwvcmRmOkRlc2NyaXB0aW9uPgogPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+r4gMfgAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAALNgAACzYBvwjYegAAAAd0SU1FB+YFCRIUIcREItAAACAASURBVHja7J13mFTV/f/ft03bKoKCiNjosoZQVgRUVMRgQYrEQmzRxBgVkxgLFogo4ld/KpqIGCvWIIJAFBAxIqgBggi6gBCxRpDiwu6U28/vj+Uc7iwLLLBz587M5/U8+zA7O8w997R7zvt8CkAQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQ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)" + ], + "metadata": { + "id": "-BV5wSJzQ-ev", + "pycharm": { + "name": "#%% md\n" + } + } }, - "cellView": "form", - "id": "EPjtRXRpQ2k7", - "outputId": "3353de30-4153-4fba-fc5d-5fe5cf60f4f8", - "pycharm": { - "name": "#%%\n" - } - }, - "execution_count": 2, - "outputs": [ { - "output_type": "stream", - "name": "stderr", - "text": [ - "Downloading u2net.pth model: 1377273it [00:18, 73486.19it/s]\n", - "Downloading fba_matting.pth model: 1084688it [00:12, 86147.52it/s]\n", - "Downloading deeplab.pth model: 1910513it [00:20, 91823.93it/s]\n", - "Downloading basnet.pth model: 2722581it [00:31, 87620.62it/s]\n" - ] - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "pF-4SVcB3gjK", - "pycharm": { - "name": "#%% md\n" - } - }, - "source": [ - "# Remove background using CarveKit" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "rgm6pR6U22a9", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 529 + "cell_type": "markdown", + "source": [ + "### Automated high-quality background removal framework for an image using neural networks\n", + "\n", + "\n", + "\n", + "- 🏢 [Project at GitHub](https://github.com/OPHoperHPO/image-background-remove-tool) 🏢\n", + "- 🔗 [Author at GitHub](https://github.com/OPHoperHPO) 🔗\n", + "\n", + "> Please rate our repository with ⭐ if you like our work! Thanks! 😀" + ], + "metadata": { + "id": "Yq1sa5BbRV4c", + "pycharm": { + "name": "#%% md\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "This notebook supports **Google Colab GPU runtime**. \n", + "\n", + "> **Enabling and testing the GPU** \\\n", + "> Navigate to `Edit → Notebook Settings`. \\\n", + "> Select `GPU` from the `Hardware Accelerator` drop-down." + ], + "metadata": { + "id": "lrGOILABYqXx", + "pycharm": { + "name": "#%% md\n" + } + } + }, + { + "cell_type": "markdown", + "metadata": { + "id": "sqwsUfoI3SnG", + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "# Install CarveKit" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "7C4rC_HQi1gq", + "pycharm": { + "name": "#%%\n" + } + }, + "source": [ + "#@title Install colab-ready python package (Click the arrow on the left)\n", + "%cd /content\n", + "!pip install carvekit_colab\n" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "#@title Download all models\n", + "from carvekit.ml.files.models_loc import download_all\n", + "\n", + "download_all();" + ], + "metadata": { + "cellView": "form", + "id": "EPjtRXRpQ2k7", + "pycharm": { + "name": "#%%\n" + } + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "pF-4SVcB3gjK", + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "# Remove background using CarveKit" + ] }, - "cellView": "form", - "outputId": "c147713d-1e5d-4eaf-a901-f345ae846ca8", - "pycharm": { - "name": "#%%\n" - } - }, - "source": [ - "#@title Upload images from your computer\n", - "import torch\n", - "from IPython import display\n", - "from google.colab import files\n", - "from carvekit.api.high import HiInterface\n", - "\n", - "SHOW_FULLSIZE = False #@param {type:\"boolean\"}\n", - "\n", - "#@markdown Description of parameters\n", - "#@markdown - `SHOW_FULLSIZE` - Shows image in full size (may take a long time to load)\n", - "\n", - "interface = HiInterface(batch_size_seg=5,\n", - " batch_size_matting=1, \n", - " device='cuda' if torch.cuda.is_available() else 'cpu',\n", - " seg_mask_size=320, matting_mask_size=2048)\n", - "\n", - "\n", - "\n", - "\n", - "uploaded = files.upload().keys()\n", - "display.clear_output()\n", - "images = interface(uploaded)\n", - "for im in enumerate(images):\n", - " if not SHOW_FULLSIZE:\n", - " im[1].thumbnail((768, 768), resample=3)\n", - " display.display(im[1])\n", - "\n" - ], - "execution_count": 4, - "outputs": [ { - "output_type": "display_data", - "data": { - "text/plain": [ - "" + "cell_type": "code", + "metadata": { + "id": "rgm6pR6U22a9", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 529 + }, + "cellView": "form", + "outputId": "a908d208-0520-42ec-dbe0-c06e6c4ee260", + "pycharm": { + "name": "#%%\n" + } + }, + "source": [ + "#@title Upload images from your computer\n", + "#@markdown Description of parameters\n", + "#@markdown - `SHOW_FULLSIZE` - Shows image in full size (may take a long time to load)\n", + "#@markdown - `PREPROCESSING_METHOD` - Preprocessing method\n", + "#@markdown - `SEGMENTATION_NETWORK` - Segmentation network. Use `u2net` for hairs-like objects and `tracer_b7` for objects\n", + "#@markdown - `POSTPROCESSING_METHOD` - Postprocessing method\n", + "#@markdown - `SEGMENTATION_MASK_SIZE` - Segmentation mask size. Use 640 for Tracer B7 and 320 for U2Net\n", + "#@markdown - `TRIMAP_DILATION` - The size of the offset radius from the object mask in pixels when forming an unknown area\n", + "#@markdown - `TRIMAP_EROSION` - The number of iterations of erosion that the object's mask will be subjected to before forming an unknown area\n", + "#@markdown > Look README.md and code for more details on networks and methods\n", + "\n", + "\n", + "import torch\n", + "from IPython import display\n", + "from google.colab import files\n", + "from carvekit.web.schemas.config import MLConfig\n", + "from carvekit.web.utils.init_utils import init_interface\n", + "\n", + "SHOW_FULLSIZE = False #@param {type:\"boolean\"}\n", + "PREPROCESSING_METHOD = \"none\" #@param [\"stub\", \"none\"]\n", + "SEGMENTATION_NETWORK = \"tracer_b7\" #@param [\"u2net\", \"deeplabv3\", \"basnet\", \"tracer_b7\"]\n", + "POSTPROCESSING_METHOD = \"fba\" #@param [\"fba\", \"none\"] \n", + "SEGMENTATION_MASK_SIZE = 640 #@param [\"640\", \"320\"] {type:\"raw\", allow-input: true}\n", + "TRIMAP_DILATION = 30 #@param {type:\"integer\"}\n", + "TRIMAP_EROSION = 5 #@param {type:\"integer\"}\n", + "DEVICE = 'cuda' if torch.cuda.is_available() else 'cpu'\n", + "\n", + "\n", + "config = MLConfig(segmentation_network=SEGMENTATION_NETWORK,\n", + " preprocessing_method=PREPROCESSING_METHOD,\n", + " postprocessing_method=POSTPROCESSING_METHOD,\n", + " seg_mask_size=SEGMENTATION_MASK_SIZE,\n", + " trimap_dilation=TRIMAP_DILATION,\n", + " trimap_erosion=TRIMAP_EROSION,\n", + " device=DEVICE)\n", + "\n", + "\n", + "interface = init_interface(config)\n", + "\n", + "\n", + "\n", + "\n", + "uploaded = files.upload().keys()\n", + "display.clear_output()\n", + "images = interface(uploaded)\n", + "for im in enumerate(images):\n", + " if not SHOW_FULLSIZE:\n", + " im[1].thumbnail((768, 768), resample=3)\n", + " display.display(im[1])\n", + "\n" ], - "image/png": "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\n" - }, - "metadata": {} + "execution_count": 5, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ] } - ] - } - ] + ] } \ No newline at end of file diff --git a/docs/readme/ru.md b/docs/readme/ru.md index f938fd0..c001adc 100644 --- a/docs/readme/ru.md +++ b/docs/readme/ru.md @@ -5,7 +5,9 @@

+ +

********************************************************************** @@ -25,6 +27,7 @@ - Высокое качество выходного изображения - Пакетная обработка изображений - Поддержка NVIDIA CUDA и процессорной обработки +- Поддержка FP16: быстрая обработка с низким потреблением памяти - Легкое взаимодействие и запуск - 100% совместимое с remove.bg API FastAPI HTTP API - Удаляет фон с волос @@ -37,12 +40,14 @@ 2. Происходит предобработка фотографии для обеспечения лучшего качества выходного изображения 3. С помощью технологии машинного обучения убирается фон у изображения 4. Происходит постобработка изображения для улучшения качества обработанного изображения -## 🎓 Интегрированные нейронные сети: -* [U^2-net](https://github.com/NathanUA/U-2-Net) -* [BASNet](https://github.com/NathanUA/BASNet) -* [DeepLabV3](https://github.com/tensorflow/models/tree/master/research/deeplab) - - +## 🎓 Implemented Neural Networks: +| Нейронные сети | Целевая область | Точность | +|:--------------:|:--------------------------------------------:|:--------------------------------:| +| **Tracer-B7** | **Общий** (objects, people, animals, etc) | **90%** (mean F1-Score, DUTS-TE) | +| U^2-net | **Волосы** (hairs, people, animals, objects) | 80% (mean F1-Score, DUTS-TE) | +| BASNet | **Общий** (people, objects) | 80% (mean F1-Score, DUTS-TE) | +| DeepLabV3 | People, Animals, Cars, etc | 67.4% (mean IoU, COCO val2017) | +> Используйте U2-Net для волос и Tracer-B7 для обычных изображений. ## 🖼️ Методы предварительной обработки и постобработки изображений: ### 🔍 Методы предобработки: * `none` - методы предобработки не используются. @@ -67,12 +72,21 @@ import torch from carvekit.api.high import HiInterface -interface = HiInterface(batch_size_seg=5, batch_size_matting=1, - device='cuda' if torch.cuda.is_available() else 'cpu', - seg_mask_size=320, matting_mask_size=2048) -images_without_background = interface(['./tests/data/cat.jpg']) +# Check doc strings for more information +interface = HiInterface(object_type="hairs-like", # Can be "object" or "hairs-like". + batch_size_seg=5, + batch_size_matting=1, + device='cuda' if torch.cuda.is_available() else 'cpu', + seg_mask_size=640, + matting_mask_size=2048, + trimap_prob_threshold=231, + trimap_dilation=30, + trimap_erosion_iters=5, + fp16=False) +images_without_background = interface(['./tests/data/cat.jpg']) cat_wo_bg = images_without_background[0] cat_wo_bg.save('2.png') + ``` @@ -82,12 +96,13 @@ import PIL.Image from carvekit.api.interface import Interface from carvekit.ml.wrap.fba_matting import FBAMatting -from carvekit.ml.wrap.u2net import U2NET +from carvekit.ml.wrap.tracer_b7 import TracerUniversalB7 from carvekit.pipelines.postprocessing import MattingMethod from carvekit.pipelines.preprocessing import PreprocessingStub from carvekit.trimap.generator import TrimapGenerator -u2net = U2NET(device='cpu', +# Check doc strings for more information +seg_net = TracerUniversalB7(device='cpu', batch_size=1) fba = FBAMatting(device='cpu', @@ -104,7 +119,7 @@ postprocessing = MattingMethod(matting_module=fba, interface = Interface(pre_pipe=preprocessing, post_pipe=postprocessing, - seg_pipe=u2net) + seg_pipe=seg_net) image = PIL.Image.open('tests/data/cat.jpg') cat_wo_bg = interface([image])[0] @@ -143,14 +158,30 @@ Options: --matting_mask_size 2048 Размер исходного изображения для матирующей нейронной сети - --device cpu Обрабатывающий девайс - --help Показывает это сообщение + --trimap_dilation 30 Размер радиуса смещения от маски объекта в пикселях при + формировании неизвестной области + + --trimap_erosion 5 Количество итераций эрозии, которым будет подвергаться маска + объекта перед формированием неизвестной области. + + --trimap_prob_threshold 231 Порог вероятности, при котором будут применяться + операции prob_filter и prob_as_unknown_area + + --device cpu Устройство обработки. + + --fp16 Включает обработку со смешанной точностью. + Используйте только с CUDA. Поддержка процессора является экспериментальной! + + --help Показать это сообщение и выйти. ```` ## 📦 Запустить фреймворк / FastAPI HTTP API сервер с помощью Docker: Использование API через Docker — это **быстрый** и эффективный способ получить работающий API.\ -**Этот HTTP API на 100% совместим с API клиентами сайта remove.bg** +> Наши образы Docker доступны на [Docker Hub](https:hub.docker.comranodevcarvekit). \ +> Теги версий совпадают с релизами проекта с суффиксами `-cpu` и `-cuda` для версий CPU и CUDA соответственно. + +

diff --git a/requirements_dev.txt b/requirements_dev.txt new file mode 100644 index 0000000..eb6a8d8 --- /dev/null +++ b/requirements_dev.txt @@ -0,0 +1,2 @@ +pre-commit==2.20.0 + diff --git a/setup.py b/setup.py index 42c6302..489e60c 100644 --- a/setup.py +++ b/setup.py @@ -15,12 +15,12 @@ def read(filename: str): filepath = os.path.join(os.path.dirname(__file__), filename) - file = open(filepath, 'r', encoding='utf-8') + file = open(filepath, "r", encoding="utf-8") return file.read() def req_file(filename: str, folder: str = "."): - with open(os.path.join(folder, filename), encoding='utf-8') as f: + with open(os.path.join(folder, filename), encoding="utf-8") as f: content = f.readlines() # you may also want to remove whitespace characters # Example: `\n` at the end of each line @@ -30,35 +30,42 @@ def req_file(filename: str, folder: str = "."): setup( - name='carvekit' if IS_COLAB_PACKAGE is None else 'carvekit_colab', + name="carvekit" if IS_COLAB_PACKAGE is None else "carvekit_colab", version=version, author="Nikita Selin (Anodev)", - author_email='farvard34@gmail.com', - description='Open-Source background removal framework', - long_description=read('README.md'), + author_email="farvard34@gmail.com", + description="Open-Source background removal framework", + long_description=read("README.md"), long_description_content_type="text/markdown", - license='Apache License v2.0', - keywords=["ml", "carvekit", "background removal", "neural networks", "machine learning", "remove bg"], - url='https://github.com/OPHoperHPO/image-background-remove-tool', + license="Apache License v2.0", + keywords=[ + "ml", + "carvekit", + "background removal", + "neural networks", + "machine learning", + "remove bg", + ], + url="https://github.com/OPHoperHPO/image-background-remove-tool", packages=find_packages(), scripts=[], install_requires=req_file("requirements.txt"), include_package_data=True, zip_safe=False, entry_points={ - 'console_scripts': [ - 'carvekit=carvekit:__main__.removebg', + "console_scripts": [ + "carvekit=carvekit:__main__.removebg", ], }, python_requires=">=3.8" if IS_COLAB_PACKAGE is None else ">=3.6", classifiers=[ - 'Development Status :: 5 - Production/Stable', - 'Environment :: Web Environment', - 'Intended Audience :: Developers', - 'License :: OSI Approved :: Apache Software License', - 'Natural Language :: English', - 'Operating System :: OS Independent', - 'Programming Language :: Python :: 3.10', - 'Topic :: Scientific/Engineering :: Artificial Intelligence' + "Development Status :: 5 - Production/Stable", + "Environment :: Web Environment", + "Intended Audience :: Developers", + "License :: OSI Approved :: Apache Software License", + "Natural Language :: English", + "Operating System :: OS Independent", + "Programming Language :: Python :: 3.10", + "Topic :: Scientific/Engineering :: Artificial Intelligence", ], ) diff --git a/tests/test_basnet.py b/tests/test_basnet.py index 5ab6667..1bf28fb 100644 --- a/tests/test_basnet.py +++ b/tests/test_basnet.py @@ -11,23 +11,41 @@ def test_init(): - BASNET(input_tensor_size=[320, 320], load_pretrained=True) + BASNET(input_image_size=[320, 320], load_pretrained=True) BASNET(load_pretrained=False) def test_preprocessing(basnet_model, converted_pil_image, black_image_pil): - basnet_model = basnet_model() - assert isinstance(basnet_model.data_preprocessing(converted_pil_image), torch.FloatTensor) is True - assert isinstance(basnet_model.data_preprocessing(black_image_pil), torch.FloatTensor) is True + basnet_model = basnet_model(False) + assert ( + isinstance( + basnet_model.data_preprocessing(converted_pil_image), torch.FloatTensor + ) + is True + ) + assert ( + isinstance(basnet_model.data_preprocessing(black_image_pil), torch.FloatTensor) + is True + ) def test_postprocessing(basnet_model, converted_pil_image, black_image_pil): - basnet_model = basnet_model() - assert isinstance(basnet_model.data_postprocessing(torch.ones((1, 320, 320), dtype=torch.float64), - converted_pil_image), Image.Image) + basnet_model = basnet_model(False) + assert isinstance( + basnet_model.data_postprocessing( + torch.ones((1, 320, 320), dtype=torch.float64), converted_pil_image + ), + Image.Image, + ) def test_seg(basnet_model, image_pil, image_str, image_path, black_image_pil): - basnet_model = basnet_model() + basnet_model = basnet_model(False) + basnet_model([image_pil]) + basnet_model([image_pil, image_str, image_path, black_image_pil]) + + +def test_seg_fp12(basnet_model, image_pil, image_str, image_path, black_image_pil): + basnet_model = basnet_model(True) basnet_model([image_pil]) basnet_model([image_pil, image_str, image_path, black_image_pil]) diff --git a/tests/test_deeplabv3.py b/tests/test_deeplabv3.py index eeff0f6..6df089e 100644 --- a/tests/test_deeplabv3.py +++ b/tests/test_deeplabv3.py @@ -12,24 +12,45 @@ def test_init(): DeepLabV3(load_pretrained=True) - DeepLabV3(load_pretrained=False).to('cpu') + DeepLabV3(load_pretrained=False).to("cpu") DeepLabV3(input_image_size=[128, 256]) - def test_preprocessing(deeplabv3_model, converted_pil_image, black_image_pil): - deeplabv3_model = deeplabv3_model() - assert isinstance(deeplabv3_model.data_preprocessing(converted_pil_image), torch.FloatTensor) is True - assert isinstance(deeplabv3_model.data_preprocessing(black_image_pil), torch.FloatTensor) is True + deeplabv3_model = deeplabv3_model(False) + assert ( + isinstance( + deeplabv3_model.data_preprocessing(converted_pil_image), torch.FloatTensor + ) + is True + ) + assert ( + isinstance( + deeplabv3_model.data_preprocessing(black_image_pil), torch.FloatTensor + ) + is True + ) def test_postprocessing(deeplabv3_model, converted_pil_image, black_image_pil): - deeplabv3_model = deeplabv3_model() - assert isinstance(deeplabv3_model.data_postprocessing(torch.ones((320, 320), dtype=torch.float64), - converted_pil_image), Image.Image) + deeplabv3_model = deeplabv3_model(False) + assert isinstance( + deeplabv3_model.data_postprocessing( + torch.ones((320, 320), dtype=torch.float64), converted_pil_image + ), + Image.Image, + ) def test_seg(deeplabv3_model, image_pil, image_str, image_path, black_image_pil): - deeplabv3_model = deeplabv3_model() + deeplabv3_model = deeplabv3_model(False) + deeplabv3_model([image_pil]) + deeplabv3_model([image_pil, image_str, image_path, black_image_pil]) + + +def test_seg_with_fp12( + deeplabv3_model, image_pil, image_str, image_path, black_image_pil +): + deeplabv3_model = deeplabv3_model(True) deeplabv3_model([image_pil]) deeplabv3_model([image_pil, image_str, image_path, black_image_pil]) diff --git a/tests/test_fba.py b/tests/test_fba.py index b212ea6..a36f69a 100644 --- a/tests/test_fba.py +++ b/tests/test_fba.py @@ -18,39 +18,104 @@ def test_init(): def test_preprocessing(fba_model, converted_pil_image, black_image_pil, image_mask): - fba_model = fba_model() - assert isinstance(fba_model.data_preprocessing(converted_pil_image)[0], torch.FloatTensor) is True - assert isinstance(fba_model.data_preprocessing(black_image_pil)[0], torch.FloatTensor) is True - assert isinstance(fba_model.data_preprocessing(image_mask)[0], torch.FloatTensor) is True + fba_model = fba_model(False) + assert ( + isinstance( + fba_model.data_preprocessing(converted_pil_image)[0], torch.FloatTensor + ) + is True + ) + assert ( + isinstance(fba_model.data_preprocessing(black_image_pil)[0], torch.FloatTensor) + is True + ) + assert ( + isinstance(fba_model.data_preprocessing(image_mask)[0], torch.FloatTensor) + is True + ) with pytest.raises(ValueError): - assert isinstance(fba_model.data_preprocessing(Image.new("P", (512, 512)))[0], torch.FloatTensor) is True - fba_model = FBAMatting(device='cuda' if torch.cuda.is_available() else 'cpu', - input_tensor_size=1024, - batch_size=1, - load_pretrained=True) - assert isinstance(fba_model.data_preprocessing(converted_pil_image)[0], torch.FloatTensor) is True - assert isinstance(fba_model.data_preprocessing(black_image_pil)[0], torch.FloatTensor) is True - assert isinstance(fba_model.data_preprocessing(image_mask)[0], torch.FloatTensor) is True + assert ( + isinstance( + fba_model.data_preprocessing(Image.new("P", (512, 512)))[0], + torch.FloatTensor, + ) + is True + ) + fba_model = FBAMatting( + device="cuda" if torch.cuda.is_available() else "cpu", + input_tensor_size=1024, + batch_size=1, + load_pretrained=True, + ) + assert ( + isinstance( + fba_model.data_preprocessing(converted_pil_image)[0], torch.FloatTensor + ) + is True + ) + assert ( + isinstance(fba_model.data_preprocessing(black_image_pil)[0], torch.FloatTensor) + is True + ) + assert ( + isinstance(fba_model.data_preprocessing(image_mask)[0], torch.FloatTensor) + is True + ) with pytest.raises(ValueError): - assert isinstance(fba_model.data_preprocessing(Image.new("P", (512, 512)))[0], torch.FloatTensor) is True + assert ( + isinstance( + fba_model.data_preprocessing(Image.new("P", (512, 512)))[0], + torch.FloatTensor, + ) + is True + ) def test_postprocessing(fba_model, converted_pil_image, black_image_pil): - fba_model = fba_model() - assert isinstance(fba_model.data_postprocessing(torch.ones((7, 320, 320), dtype=torch.float64), - black_image_pil.convert("L")), Image.Image) + fba_model = fba_model(False) + assert isinstance( + fba_model.data_postprocessing( + torch.ones((7, 320, 320), dtype=torch.float64), black_image_pil.convert("L") + ), + Image.Image, + ) with pytest.raises(ValueError): - assert isinstance(fba_model.data_postprocessing(torch.ones((7, 320, 320), dtype=torch.float64), - black_image_pil.convert("RGBA")), Image.Image) + assert isinstance( + fba_model.data_postprocessing( + torch.ones((7, 320, 320), dtype=torch.float64), + black_image_pil.convert("RGBA"), + ), + Image.Image, + ) -def test_seg(fba_model, image_pil, image_str, image_path, black_image_pil, image_trimap): - fba_model = fba_model() +def test_seg( + fba_model, image_pil, image_str, image_path, black_image_pil, image_trimap +): + fba_model = fba_model(False) fba_model([image_pil], [image_trimap]) - fba_model([image_pil, image_str, image_path], - [image_trimap, image_trimap, image_trimap]) - fba_model([Image.new('RGB', (512, 512)), - Image.new('RGB', (512, 512))], [Image.new('L', (512, 512)), - Image.new('L', (512, 512))]) + fba_model( + [image_pil, image_str, image_path], [image_trimap, image_trimap, image_trimap] + ) + fba_model( + [Image.new("RGB", (512, 512)), Image.new("RGB", (512, 512))], + [Image.new("L", (512, 512)), Image.new("L", (512, 512))], + ) + with pytest.raises(ValueError): + fba_model([image_pil], [image_trimap, image_trimap]) + + +def test_seg_with_fp12( + fba_model, image_pil, image_str, image_path, black_image_pil, image_trimap +): + fba_model = fba_model(True) + fba_model([image_pil], [image_trimap]) + fba_model( + [image_pil, image_str, image_path], [image_trimap, image_trimap, image_trimap] + ) + fba_model( + [Image.new("RGB", (512, 512)), Image.new("RGB", (512, 512))], + [Image.new("L", (512, 512)), Image.new("L", (512, 512))], + ) with pytest.raises(ValueError): fba_model([image_pil], [image_trimap, image_trimap]) diff --git a/tests/test_fs_utils.py b/tests/test_fs_utils.py index 3f55772..edca14d 100644 --- a/tests/test_fs_utils.py +++ b/tests/test_fs_utils.py @@ -13,11 +13,21 @@ def test_save_file(): save_file(Path("output.png"), Path("input.png"), PIL.Image.new("RGB", (512, 512))) os.remove(Path("output.png")) - save_file(Path(__file__).parent.joinpath("data"), Path("input.png"), PIL.Image.new("RGB", (512, 512))) - os.remove(Path(__file__).parent.joinpath("data").joinpath('input.png')) + save_file( + Path(__file__).parent.joinpath("data"), + Path("input.png"), + PIL.Image.new("RGB", (512, 512)), + ) + os.remove(Path(__file__).parent.joinpath("data").joinpath("input.png")) save_file(Path("output.jpg"), Path("input.jpg"), PIL.Image.new("RGB", (512, 512))) os.remove(Path("output.png")) with pytest.raises(ValueError): - save_file(Path("NotExistedPath"), Path("input.png"), PIL.Image.new("RGB", (512, 512))) - save_file(output=None, input_path=Path("input.png"), image=PIL.Image.new("RGB", (512, 512))) - os.remove(Path("input_bg_removed.png")) \ No newline at end of file + save_file( + Path("NotExistedPath"), Path("input.png"), PIL.Image.new("RGB", (512, 512)) + ) + save_file( + output=None, + input_path=Path("input.png"), + image=PIL.Image.new("RGB", (512, 512)), + ) + os.remove(Path("input_bg_removed.png")) diff --git a/tests/test_high.py b/tests/test_high.py index c5c0d70..2f91331 100644 --- a/tests/test_high.py +++ b/tests/test_high.py @@ -8,9 +8,25 @@ def test_init(): - HiInterface(batch_size_seg=1, batch_size_matting=4, - device='cpu', - seg_mask_size=160, matting_mask_size=1024) - HiInterface(batch_size_seg=0, batch_size_matting=0, - device='cpu', - seg_mask_size=0, matting_mask_size=0) + HiInterface( + batch_size_seg=1, + batch_size_matting=4, + device="cpu", + seg_mask_size=160, + matting_mask_size=1024, + trimap_prob_threshold=1, + trimap_dilation=2, + trimap_erosion_iters=3, + fp16=False, + ) + HiInterface( + batch_size_seg=0, + batch_size_matting=0, + device="cpu", + seg_mask_size=0, + matting_mask_size=0, + trimap_prob_threshold=0, + trimap_dilation=0, + trimap_erosion_iters=0, + fp16=True, + ) diff --git a/tests/test_image_utils.py b/tests/test_image_utils.py index d661912..f498acd 100644 --- a/tests/test_image_utils.py +++ b/tests/test_image_utils.py @@ -10,8 +10,14 @@ import pytest import torch from PIL import Image -from carvekit.utils.image_utils import load_image, convert_image, is_image_valid, \ - to_tensor, transparency_paste, add_margin +from carvekit.utils.image_utils import ( + load_image, + convert_image, + is_image_valid, + to_tensor, + transparency_paste, + add_margin, +) def test_load_image(image_path, image_pil, image_str): @@ -25,34 +31,34 @@ def test_load_image(image_path, image_pil, image_str): def test_is_image_valid(image_path, image_pil, image_str): assert is_image_valid(image_path) is True - assert is_image_valid(image_path.with_suffix('.JPG')) is True + assert is_image_valid(image_path.with_suffix(".JPG")) is True with pytest.raises(ValueError): - is_image_valid(Path(uuid.uuid1().hex).with_suffix('.jpg')) + is_image_valid(Path(uuid.uuid1().hex).with_suffix(".jpg")) with pytest.raises(ValueError): is_image_valid(Path(__file__).parent) with pytest.raises(ValueError): - is_image_valid(image_path.with_suffix('.mp3')) + is_image_valid(image_path.with_suffix(".mp3")) with pytest.raises(ValueError): - is_image_valid(image_path.with_suffix('.MP3')) + is_image_valid(image_path.with_suffix(".MP3")) with pytest.raises(ValueError): is_image_valid(23) assert is_image_valid(image_pil) is True - assert is_image_valid(Image.new('RGB', (512, 512))) is True - assert is_image_valid(Image.new('L', (512, 512))) is True - assert is_image_valid(Image.new('RGBA', (512, 512))) is True + assert is_image_valid(Image.new("RGB", (512, 512))) is True + assert is_image_valid(Image.new("L", (512, 512))) is True + assert is_image_valid(Image.new("RGBA", (512, 512))) is True with pytest.raises(ValueError): - is_image_valid(Image.new('P', (512, 512))) + is_image_valid(Image.new("P", (512, 512))) with pytest.raises(ValueError): - is_image_valid(Image.new('RGB', (32, 10))) + is_image_valid(Image.new("RGB", (32, 10))) def test_convert_image(image_pil): with pytest.raises(ValueError): - convert_image(Image.new('L', (10, 10))) - assert convert_image(image_pil.convert('RGBA')).mode == "RGB" + convert_image(Image.new("L", (10, 10))) + assert convert_image(image_pil.convert("RGBA")).mode == "RGB" def test_to_tensor(image_pil): @@ -60,12 +66,27 @@ def test_to_tensor(image_pil): def test_transparency_paste(): - assert isinstance(transparency_paste(PIL.Image.new("RGBA", (1024, 1024)), - PIL.Image.new("RGBA", (1024, 1024))), PIL.Image.Image) - assert isinstance(transparency_paste(PIL.Image.new("RGBA", (512, 512)), - PIL.Image.new("RGBA", (512, 512))), PIL.Image.Image) + assert isinstance( + transparency_paste( + PIL.Image.new("RGBA", (1024, 1024)), PIL.Image.new("RGBA", (1024, 1024)) + ), + PIL.Image.Image, + ) + assert isinstance( + transparency_paste( + PIL.Image.new("RGBA", (512, 512)), PIL.Image.new("RGBA", (512, 512)) + ), + PIL.Image.Image, + ) def test_add_margin(): - assert isinstance(add_margin(PIL.Image.new("RGB", (512, 512)), - 10, 10, 10, 10, (10, 10, 10, 10)), PIL.Image.Image) is True + assert ( + isinstance( + add_margin( + PIL.Image.new("RGB", (512, 512)), 10, 10, 10, 10, (10, 10, 10, 10) + ), + PIL.Image.Image, + ) + is True + ) diff --git a/tests/test_interface.py b/tests/test_interface.py index 22f8a64..a34ca88 100644 --- a/tests/test_interface.py +++ b/tests/test_interface.py @@ -14,16 +14,20 @@ def test_init(available_models): models, pre_pipes, post_pipes = available_models devices = ["cpu", "cuda"] for model in models: - mdl = model() + mdl = model(False) for pre_pipe in pre_pipes: pre = pre_pipe() if pre_pipe is not None else pre_pipe for post_pipe in post_pipes: post = post_pipe() if post_pipe is not None else post_pipe for device in devices: if device == "cuda" and torch.cuda.is_available() is False: - warnings.warn('Cuda GPU is not available! Testing on cuda skipped!') + warnings.warn( + "Cuda GPU is not available! Testing on cuda skipped!" + ) continue - inf = Interface(seg_pipe=mdl, post_pipe=post, pre_pipe=pre, device=device) + inf = Interface( + seg_pipe=mdl, post_pipe=post, pre_pipe=pre, device=device + ) del inf del post del pre @@ -33,13 +37,17 @@ def test_init(available_models): def test_seg(image_pil, image_str, image_path, available_models): models, pre_pipes, post_pipes = available_models for model in models: - mdl = model() + mdl = model(False) for pre_pipe in pre_pipes: pre = pre_pipe() if pre_pipe is not None else pre_pipe for post_pipe in post_pipes: post = post_pipe() if post_pipe is not None else post_pipe - interface = Interface(seg_pipe=mdl, post_pipe=post, pre_pipe=pre, - device='cuda' if torch.cuda.is_available() else 'cpu') + interface = Interface( + seg_pipe=mdl, + post_pipe=post, + pre_pipe=pre, + device="cuda" if torch.cuda.is_available() else "cpu", + ) interface([image_pil, image_str, image_path]) del post, interface del pre diff --git a/tests/test_mask_utils.py b/tests/test_mask_utils.py index 52790f7..a979874 100644 --- a/tests/test_mask_utils.py +++ b/tests/test_mask_utils.py @@ -9,15 +9,38 @@ def test_composite(): - assert isinstance(composite(PIL.Image.new("RGB", (512, 512)), PIL.Image.new("RGB", (512, 512)), - PIL.Image.new("RGB", (512, 512)), device="cpu"), PIL.Image.Image) is True + assert ( + isinstance( + composite( + PIL.Image.new("RGB", (512, 512)), + PIL.Image.new("RGB", (512, 512)), + PIL.Image.new("RGB", (512, 512)), + device="cpu", + ), + PIL.Image.Image, + ) + is True + ) def test_apply_mask(): - assert isinstance(apply_mask(image=PIL.Image.new("RGB", (512, 512)), mask=PIL.Image.new("RGB", (512, 512)), - device="cpu"), PIL.Image.Image) is True + assert ( + isinstance( + apply_mask( + image=PIL.Image.new("RGB", (512, 512)), + mask=PIL.Image.new("RGB", (512, 512)), + device="cpu", + ), + PIL.Image.Image, + ) + is True + ) def test_extract_alpha_channel(): - assert isinstance(extract_alpha_channel(PIL.Image.new("RGB", (512, 512))), PIL.Image.Image) is True - + assert ( + isinstance( + extract_alpha_channel(PIL.Image.new("RGB", (512, 512))), PIL.Image.Image + ) + is True + ) diff --git a/tests/test_models_utils.py b/tests/test_models_utils.py index fb0cb65..0f81409 100644 --- a/tests/test_models_utils.py +++ b/tests/test_models_utils.py @@ -6,9 +6,17 @@ import os import pytest from pathlib import Path -from carvekit.utils.download_models import check_for_exists, check_model, sha512_checksum_calc, download_model -from carvekit.ml.files.models_loc import u2net_full_pretrained, fba_pretrained, deeplab_pretrained, basnet_pretrained, \ - download_all +from carvekit.utils.download_models import sha512_checksum_calc +from carvekit.ml.files.models_loc import ( + u2net_full_pretrained, + fba_pretrained, + deeplab_pretrained, + basnet_pretrained, + download_all, + checkpoints_dir, + downloader, + tracer_b7_pretrained, +) from carvekit.utils.models_utils import fix_seed, suppress_warnings @@ -25,39 +33,40 @@ def test_download_all(): def test_download_model(): - hh = Path(__file__).parent.joinpath('data', 'u2net.pth') - hh.write_text('1234') - assert download_model(hh) == hh + hh = checkpoints_dir / "u2net-universal" / "u2net.pth" + hh.write_text("1234") + assert downloader("u2net.pth") == hh os.remove(hh) with pytest.raises(FileNotFoundError): - download_model(Path("NotExistedPath/2.dl")) - with pytest.raises(FileNotFoundError): - download_model(Path(__file__).parent.joinpath('data', 'cat.jpg')) + downloader("NotExistedPath/2.dl") def test_sha512(): - hh = Path(__file__).parent.joinpath('data', 'basnet.pth') - hh.write_text('1234') - assert sha512_checksum_calc(hh) == "d404559f602eab6fd602ac7680dacbfaadd13630335e951f097a" \ - "f3900e9de176b6db28512f2e000" \ - "b9d04fba5133e8b1c6e8df59db3a8ab9d60be4b97cc9e81db" + hh = checkpoints_dir / "basnet-universal" / "basnet.pth" + hh.write_text("1234") + assert ( + sha512_checksum_calc(hh) + == "d404559f602eab6fd602ac7680dacbfaadd13630335e951f097a" + "f3900e9de176b6db28512f2e000" + "b9d04fba5133e8b1c6e8df59db3a8ab9d60be4b97cc9e81db" + ) def test_check_model(): - invalid_hash_file = Path(__file__).parent.joinpath('data', 'basnet.pth') - invalid_hash_file.write_text('1234') - assert check_model(invalid_hash_file) is False - assert check_model(Path(__file__).parent.joinpath('data', 'u2net.pth')) is False - assert check_model(u2net_full_pretrained()) is True - assert check_model(Path("NotExistedPath/2.dl")) is False - with pytest.raises(FileNotFoundError): - assert check_model(Path(__file__).parent.joinpath('data', 'cat.jpg')) is False + invalid_hash_file = checkpoints_dir / "basnet-universal" / "basnet.pth" + invalid_hash_file.write_text("1234") + downloader("basnet.pth") + assert ( + sha512_checksum_calc(invalid_hash_file) + != "d404559f602eab6fd602ac7680dacbfaadd13630335e951f097a" + "f3900e9de176b6db28512f2e000" + "b9d04fba5133e8b1c6e8df59db3a8ab9d60be4b97cc9e81db" + ) def test_check_for_exists(): - assert isinstance(check_for_exists(u2net_full_pretrained()), Path) is True - assert isinstance(check_for_exists(fba_pretrained()), Path) is True - assert isinstance(check_for_exists(deeplab_pretrained()), Path) is True - assert isinstance(check_for_exists(basnet_pretrained()), Path) is True - with pytest.raises(FileNotFoundError): - check_for_exists(Path(__file__).parent.joinpath('data', 'cat.jpg')) + assert u2net_full_pretrained().exists() + assert fba_pretrained().exists() + assert deeplab_pretrained().exists() + assert basnet_pretrained().exists() + assert tracer_b7_pretrained().exists() diff --git a/tests/test_pool_utils.py b/tests/test_pool_utils.py index 07e0a8a..39cbaba 100644 --- a/tests/test_pool_utils.py +++ b/tests/test_pool_utils.py @@ -13,4 +13,4 @@ def test_thread_pool_processing(): def test_batch_generator(): assert list(batch_generator([1, 2, 3], n=1)) == [[1], [2], [3]] - assert list(batch_generator([1, 2, 3, 4], n=2)) == [[1, 2], [3, 4]] \ No newline at end of file + assert list(batch_generator([1, 2, 3, 4], n=2)) == [[1, 2], [3, 4]] diff --git a/tests/test_postprocessing.py b/tests/test_postprocessing.py index 02a201e..f2f8128 100644 --- a/tests/test_postprocessing.py +++ b/tests/test_postprocessing.py @@ -8,7 +8,7 @@ def test_init(fba_model, trimap_instance): - fba_model = fba_model() + fba_model = fba_model(False) trimap_instance = trimap_instance() MattingMethod(fba_model, trimap_instance, "cpu") MattingMethod(fba_model, trimap_instance, device="cuda") @@ -16,6 +16,8 @@ def test_init(fba_model, trimap_instance): def test_seg(matting_method_instance, image_str, image_path, image_pil): matting_method_instance = matting_method_instance() - matting_method_instance(images=[image_str, image_path], masks=[image_pil, image_path]) + matting_method_instance( + images=[image_str, image_path], masks=[image_pil, image_path] + ) with pytest.raises(ValueError): matting_method_instance(images=[image_str], masks=[image_pil, image_path]) diff --git a/tests/test_preprocessing.py b/tests/test_preprocessing.py index 434b351..b898715 100644 --- a/tests/test_preprocessing.py +++ b/tests/test_preprocessing.py @@ -5,7 +5,9 @@ """ -def test_seg(preprocessing_stub_instance, image_str, image_path, image_pil, interface_instance): +def test_seg( + preprocessing_stub_instance, image_str, image_path, image_pil, interface_instance +): preprocessing_stub_instance = preprocessing_stub_instance() interface_instance = interface_instance() preprocessing_stub_instance(interface_instance, [image_str, image_path]) diff --git a/tests/test_tracer.py b/tests/test_tracer.py new file mode 100644 index 0000000..8b5a19f --- /dev/null +++ b/tests/test_tracer.py @@ -0,0 +1,48 @@ +import pytest +import torch +from PIL import Image + +from carvekit.ml.wrap.tracer_b7 import TracerUniversalB7 + + +def test_init(): + TracerUniversalB7(input_image_size=[640, 640], load_pretrained=True) + TracerUniversalB7(input_image_size=640, load_pretrained=True) + TracerUniversalB7(load_pretrained=False) + TracerUniversalB7(fp16=True) + + +def test_preprocessing(tracer_model, converted_pil_image, black_image_pil): + tracer_model = tracer_model(False) + assert ( + isinstance( + tracer_model.data_preprocessing(converted_pil_image), torch.FloatTensor + ) + is True + ) + assert ( + isinstance(tracer_model.data_preprocessing(black_image_pil), torch.FloatTensor) + is True + ) + + +def test_postprocessing(tracer_model, converted_pil_image, black_image_pil): + tracer_model = tracer_model(False) + assert isinstance( + tracer_model.data_postprocessing( + torch.ones((1, 640, 640), dtype=torch.float64), converted_pil_image + ), + Image.Image, + ) + + +def test_seg(tracer_model, image_pil, image_str, image_path, black_image_pil): + tracer_model = tracer_model(False) + tracer_model([image_pil]) + tracer_model([image_pil, image_str, image_path, black_image_pil]) + + +def test_seg_with_fp12(tracer_model, image_pil, image_str, image_path, black_image_pil): + tracer_model = tracer_model(True) + tracer_model([image_pil]) + tracer_model([image_pil, image_str, image_path, black_image_pil]) diff --git a/tests/test_trimap.py b/tests/test_trimap.py index 66b0112..47ba728 100644 --- a/tests/test_trimap.py +++ b/tests/test_trimap.py @@ -12,9 +12,17 @@ def test_trimap_generator(trimap_instance, image_mask, image_pil): te = trimap_instance() assert isinstance(te(image_pil, image_mask), PIL.Image.Image) - assert isinstance(te(PIL.Image.new("RGB", (512, 512)), PIL.Image.new("L", (512, 512))), PIL.Image.Image) - assert isinstance(te(PIL.Image.new("RGB", (512, 512), color=(255, 255, 255)), - PIL.Image.new("L", (512, 512), color=255)), PIL.Image.Image) + assert isinstance( + te(PIL.Image.new("RGB", (512, 512)), PIL.Image.new("L", (512, 512))), + PIL.Image.Image, + ) + assert isinstance( + te( + PIL.Image.new("RGB", (512, 512), color=(255, 255, 255)), + PIL.Image.new("L", (512, 512), color=255), + ), + PIL.Image.Image, + ) with pytest.raises(ValueError): te(PIL.Image.new("RGB", (512, 512)), PIL.Image.new("RGB", (512, 512))) with pytest.raises(ValueError): diff --git a/tests/test_u2net.py b/tests/test_u2net.py index 5960497..098386b 100644 --- a/tests/test_u2net.py +++ b/tests/test_u2net.py @@ -13,20 +13,22 @@ def test_init(): U2NET(layers_cfg="full", input_image_size=[320, 320], load_pretrained=True) - U2NET(layers_cfg='full', load_pretrained=False) - U2NET(layers_cfg={ - 'stage1': ['En_1', (7, 3, 32, 64), -1], - 'stage2': ['En_2', (6, 64, 32, 128), -1], - 'stage3': ['En_3', (5, 128, 64, 256), -1], - 'stage4': ['En_4', (4, 256, 128, 512), -1], - 'stage5': ['En_5', (4, 512, 256, 512, True), -1], - 'stage6': ['En_6', (4, 512, 256, 512, True), 512], - 'stage5d': ['De_5', (4, 1024, 256, 512, True), 512], - 'stage4d': ['De_4', (4, 1024, 128, 256), 256], - 'stage3d': ['De_3', (5, 512, 64, 128), 128], - 'stage2d': ['De_2', (6, 256, 32, 64), 64], - 'stage1d': ['De_1', (7, 128, 16, 64), 64], - }) + U2NET(layers_cfg="full", load_pretrained=False) + U2NET( + layers_cfg={ + "stage1": ["En_1", (7, 3, 32, 64), -1], + "stage2": ["En_2", (6, 64, 32, 128), -1], + "stage3": ["En_3", (5, 128, 64, 256), -1], + "stage4": ["En_4", (4, 256, 128, 512), -1], + "stage5": ["En_5", (4, 512, 256, 512, True), -1], + "stage6": ["En_6", (4, 512, 256, 512, True), 512], + "stage5d": ["De_5", (4, 1024, 256, 512, True), 512], + "stage4d": ["De_4", (4, 1024, 128, 256), 256], + "stage3d": ["De_3", (5, 512, 64, 128), 128], + "stage2d": ["De_2", (6, 256, 32, 64), 64], + "stage1d": ["De_1", (7, 128, 16, 64), 64], + } + ) with pytest.raises(ValueError): U2NET(layers_cfg="nan") with pytest.raises(ValueError): @@ -34,18 +36,36 @@ def test_init(): def test_preprocessing(u2net_model, converted_pil_image, black_image_pil): - u2net_model = u2net_model() - assert isinstance(u2net_model.data_preprocessing(converted_pil_image), torch.FloatTensor) is True - assert isinstance(u2net_model.data_preprocessing(black_image_pil), torch.FloatTensor) is True + u2net_model = u2net_model(False) + assert ( + isinstance( + u2net_model.data_preprocessing(converted_pil_image), torch.FloatTensor + ) + is True + ) + assert ( + isinstance(u2net_model.data_preprocessing(black_image_pil), torch.FloatTensor) + is True + ) def test_postprocessing(u2net_model, converted_pil_image, black_image_pil): - u2net_model = u2net_model() - assert isinstance(u2net_model.data_postprocessing(torch.ones((1, 320, 320), dtype=torch.float64), - converted_pil_image), Image.Image) + u2net_model = u2net_model(False) + assert isinstance( + u2net_model.data_postprocessing( + torch.ones((1, 320, 320), dtype=torch.float64), converted_pil_image + ), + Image.Image, + ) def test_seg(u2net_model, image_pil, image_str, image_path, black_image_pil): - u2net_model = u2net_model() + u2net_model = u2net_model(False) + u2net_model([image_pil]) + u2net_model([image_pil, image_str, image_path, black_image_pil]) + + +def test_seg_with_fp12(u2net_model, image_pil, image_str, image_path, black_image_pil): + u2net_model = u2net_model(True) u2net_model([image_pil]) u2net_model([image_pil, image_str, image_path, black_image_pil])