複製上的演示和 Docker 映像
自動物件刪除器 Inpainter 是一個將語意分割和 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 使用兩階段對抗架構,其中第一階段是邊緣生成器,然後是影像補全網路。 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 中建立並產生結果。您可以將這些輸入/輸出目錄替換為您想要的目錄。 --remove 之後的數字指定在影像中要刪除的物件。上述命令將從影像中刪除 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}
}