BackgroundRemover는 nadermx가 https://BackgroundRemoverAI.com을 지원하기 위해 만든 AI를 사용하여 이미지와 비디오에서 배경을 제거하는 명령줄 도구입니다. 왜 만들어졌는지 궁금하다면 이 짧은 블로그 게시물을 읽어보세요.
파이썬 >= 3.6
python3.6-dev #또는 사용하는 Python 버전
토치 및 torchvision 안정 버전(https://pytorch.org)
ffmpeg 4.4+
명확히 하려면 Python과 설치한 Python의 개발 버전을 모두 설치해야 합니다. 즉; python3.10이 포함된 python3.10-dev 또는 python3.8이 포함된 python3.8-dev
https://pytorch.org로 이동하여 INSTALL PYTORCH
섹션까지 아래로 스크롤하고 지침을 따릅니다.
예를 들어:
PyTorch Build: Stable (1.7.1) Your OS: Windows Package: Pip Language: Python CUDA: None
ffmpeg 및 python-dev를 설치하려면
sudo apt install ffmpeg python3.6-dev
backgroundremover를 설치하려면 pypi에서 설치하세요.
pip 설치 - pip 업그레이드 pip 설치 배경 제거기
프로그램을 처음 실행하면 u2net 모델이 있는지 확인하고, 없으면 이 저장소에서 해당 모델을 가져옵니다.
pip를 통해 설치하지 않고 이를 실행할 수도 있습니다. git을 복제하여 로컬에서 가상 환경을 시작하고 요구 사항을 설치하고 실행하면 됩니다.
python -m backgroundremover.cmd.cli -i "video.mp4" -mk -o "output.mov"
그리고 창문의 경우
python.exe -m backgroundremover.cmd.cli -i "video.mp4" -mk -o "output.mov"
자식 클론 https://github.com/nadermx/Backgroundremover.gitcd backgroundremover docker build -t bgremover .alias backgroundremover='docker run -it --rm -v "$(pwd):/tmp" bgremover:latest'
로컬 파일 이미지에서 배경 제거
backgroundremover -i "/path/to/image.jpeg" -o "output.png"
때로는 알파 매트를 켜서 더 나은 결과를 얻을 수도 있습니다. 예:
backgroundremover -i "/path/to/image.jpeg" -a -ae 15 -o "output.png"
u2netp
, u2net
또는 u2net_human_seg
간의 다양한 배경 제거 방법에 대한 모델 변경
backgroundremover -i "/path/to/image.jpeg" -m "u2net_human_seg" -o "output.png"
backgroundremover -i "/path/to/video.mp4" -tv -o "output.mov"
backgroundremover -i "/path/to/video.mp4" -tov "/path/to/videotobeoverlayed.mp4" -o "output.mov"
backgroundremover -i "/path/to/video.mp4" -toi "/path/to/videotobeoverlayed.mp4" -o "output.mov"
backgroundremover -i "/path/to/video.mp4" -tg -o "output.gif"
프리미어용 매트 파일 만들기
backgroundremover -i "/path/to/video.mp4" -mk -o "output.matte.mp4"
비디오의 프레임 속도 변경(기본값은 30으로 설정됨)
backgroundremover -i "/path/to/video.mp4" -fr 30 -tv -o "output.mov"
비디오의 총 프레임 수 설정(기본값은 -1로 설정, 즉 전체 비디오에서 배경 제거)
backgroundremover -i "/path/to/video.mp4" -fl 150 -tv -o "output.mov"
비디오의 GPU 배치 크기 변경(기본값은 1로 설정됨)
backgroundremover -i "/path/to/video.mp4" -gb 4 -tv -o "output.mov"
영상 작업 작업자 수 변경 (기본값은 1로 설정되어 있음)
backgroundremover -i "/path/to/video.mp4" -wn 4 -tv -o "output.mov"
u2netp
, u2net
또는 u2net_human_seg
사이의 다양한 배경 제거 방법에 대한 모델을 변경하고 프레임을 150으로 제한합니다.
backgroundremover -i "/path/to/video.mp4" -m "u2net_human_seg" -fl 150 -tv -o "output.mov"
from backgroundremover.bg import remove def remove_bg(src_img_path, out_img_path): model_choices = ["u2net", "u2net_human_seg", "u2netp"] f = open(src_img_path, "rb") data = f.read() img = remove(data, model_name=model_choices[0], alpha_matting=True, alpha_matting_foreground_threshold=240, alpha_matting_background_threshold=10, alpha_matting_erode_structure_size=10, alpha_matting_base_size=1000) f.close() f = open(out_img_path, "wb") f.write(img) f.close()
이미지 제거 시 더 많은 GPU를 활용하기 위해 논리를 비디오에서 이미지로 변환
문서를 좀 더 정리하세요
데이터 세트에 이미지나 비디오를 조정하고 피드백을 제공하는 기능을 추가합니다.
스트리밍을 위해 비디오에 대한 실시간 배경 제거 기능 추가
플라스크 서버 API 완료
u2net이 아닌 다른 모델, 즉 자신의 모델을 사용할 수 있는 기능 추가
다른
수락됨
우리 프로젝트 BackgroundRemoverAI.com 또는 이 git에 대한 링크를 제공하여 사람들에게 당신이 그것을 좋아하거나 사용한다고 말하십시오.
우리는 다른 부분을 병합한 후 자체 패키지를 만들었고, 부분을 슈퍼유저에 현상금 질문으로 게시하는 등 몇 가지 기능을 추가했습니다. 또한 이전에 hackernews에서 이미지 부분을 오픈 소스로 요청했기 때문에 추가하기로 결정했습니다. 비디오, 그리고 조금 더.
https://arxiv.org/pdf/2005.09007.pdf
https://github.com/NathanUA/U-2-Net
https://github.com/pymatting/pymatting
https://github.com/danielgatis/rembg
https://github.com/ecsplendid/rembg-greenscreen
https://superuser.com/questions/1647590/have-ffmpeg-merge-a-matte-key-file-over-the-normal-video-file-removing-the-backg
https://superuser.com/questions/1648680/ffmpeg-alphamerge-two-videos-into-a-gif-with-transparent-Background/1649339?noredirect=1#comment2522687_1649339
https://superuser.com/questions/1649817/ffmpeg-overlay-a-video-after-alphamerging-two-others/1649856#1649856
저작권 (c) 2021-현재 Johnathan Nader
저작권 (c) 2020-현재 Lucas Nestler
저작권 (c) 2020-현재 Tim Scarfe 박사
저작권 (c) 2020-현재 Daniel Gatis
MIT 라이선스에 따라 라이선스가 부여된 코드 Apache 라이선스 2.0에 따라 라이선스가 부여된 모델