复制上的演示和 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}
}