Replicate의 데모 및 Docker 이미지
자동 개체 제거기 Inpainter는 사진에서 지정된 개체를 제거하기 위해 Semantic Segmentation과 EdgeConnect 아키텍처를 약간의 변경 사항과 결합한 프로젝트입니다. 의미론적 분할의 경우 pytorch의 코드가 적용되었으며 EdgeConnect의 경우 코드는 https://github.com/knazeri/edge-connect에서 적용되었습니다.
이 프로젝트는 20개의 서로 다른 개체 목록에서 개체를 제거할 수 있습니다. 사진 편집 도구 및 데이터 확대용으로 사용할 수 있습니다.
이 프로젝트에는 Python 3.8.5 및 pytorch 1.5.1이 사용되었습니다.
deeplabv3/fcn resnet 101의 의미론적 분할기 모델이 EdgeConnect와 결합되었습니다. 사전 훈련된 분할 네트워크는 객체 분할(감지된 객체 주위에 마스크 생성)에 사용되었으며 해당 출력은 마스크 일부가 제거된 입력 이미지와 함께 EdgeConnect 네트워크에 공급됩니다. EdgeConnect는 첫 번째 단계가 에지 생성기이고 그 다음이 이미지 완성 네트워크인 2단계 적대적 아키텍처를 사용합니다. EdgeConnect 문서는 여기에서 찾을 수 있으며 코드는 이 저장소에서 찾을 수 있습니다.
git clone https://github.com/sujaykhandekar/Automated-objects-removal-inpainter.git
cd Automated-objects-removal-inpainter
또는 zip 파일을 다운로드하십시오.
conda install pytorch==1.5.1 torchvision==0.6.1 -c pytorch
pip install -r requirements.txt
또는 다음 명령을 사용할 수도 있습니다.
bash ./scripts/download_model.sh
빠른 예측을 위해 이 명령을 실행할 수 있습니다. cuda/gpu가 없으면 두 번째 명령을 실행하세요.
python test.py --input ./examples/my_small_data --output ./checkpoints/resultsfinal --remove 3 15
./examples/my_small_data 디렉터리에서 샘플 이미지를 가져와 ./checkpoints/resultsfinal 디렉터리에 결과를 생성하고 생성합니다. 이러한 입력/출력 디렉터리를 원하는 디렉터리로 바꿀 수 있습니다. --remo 뒤의 숫자는 이미지에서 제거할 개체를 지정합니다. 위의 명령은 이미지에서 3(새)와 15(사람)을 제거합니다. 모든 제거 옵션은 해당 번호와 함께 Segmentation-classes.txt를 확인하세요.
출력 이미지는 모두 256x256입니다. NVIDIA GeForce GTX 1650에서 1000개의 이미지를 만드는 데 약 10분이 소요됩니다.
더 나은 품질을 원하지만 런타임을 느리게 하려면 이 명령을 사용할 수 있습니다.
python test.py --input ./examples/my_small_data --output ./checkpoints/resultsfinal --remove 3 15 --cpu yes
CPU에서 분할 모델을 실행합니다. GPU보다 5배 느립니다(기본값). 다른 분할 모델 및 EdgeConnect 매개변수를 포함한 다른 옵션을 변경하려면 .checkpoints/config.yml 파일에서 해당 수정을 수행하십시오.
자신만의 세분화 모델을 학습하려면 이 저장소를 참조하고 .src/segmentor_fcn.py를 해당 모델로 바꿀 수 있습니다.
Edgeconnect 모델을 훈련하려면 훈련 후 원래 EdgeConnect 저장소를 참조하세요. 모델 가중치를 .checkpoints/에 복사할 수 있습니다.
Creative Commons Attribution-NonCommercial 4.0 International에 따라 라이선스가 부여됩니다.
달리 명시하지 않는 한 이 콘텐츠는 CC BY-NC 라이선스에 따라 게시됩니다. 즉, 해당 자료를 상업적 목적으로 사용하지 않고 적절한 출처를 표시하고 제공하지 않는 한 해당 콘텐츠를 복사, 리믹스, 변형 및 구축할 수 있습니다. 라이센스에 대한 링크.
@inproceedings{nazeri2019edgeconnect,
title={EdgeConnect: Generative Image Inpainting with Adversarial Edge Learning},
author={Nazeri, Kamyar and Ng, Eric and Joseph, Tony and Qureshi, Faisal and Ebrahimi, Mehran},
journal={arXiv preprint},
year={2019},
}
@InProceedings{Nazeri_2019_ICCV,
title = {EdgeConnect: Structure Guided Image Inpainting using Edge Prediction},
author = {Nazeri, Kamyar and Ng, Eric and Joseph, Tony and Qureshi, Faisal and Ebrahimi, Mehran},
booktitle = {The IEEE International Conference on Computer Vision (ICCV) Workshops},
month = {Oct},
year = {2019}
}