欢迎使用对象分割和位置移动的项目文档。该存储库包含用于根据文本提示分割给定图像中的对象,然后将对象移动到同一场景中的新位置的代码。它利用尖端的生成人工智能模型以用户友好的方式完成这项任务。
该项目涉及两项关键任务,旨在产品图像的后期制作编辑,特别是用于电子商务目的。
任务1:根据文本提示(例如“架子”)分割图像中的对象,并用红色遮罩突出显示它。
任务 2:按照用户的指定,通过在 x 和 y 方向上移动对象来移动场景中的对象。
例如,您可能有一个包含“架子”的图像。您可以运行分割来突出显示图像中的所有货架。然后,您可以使用像素偏移在场景中移动已识别的架子。
基于文本的对象分割:使用“架子”等类提示来识别对象并突出显示它们。
位置移动:在 x(水平)和 y(垂直)方向上按像素值移动对象。
预构建模型:利用 SAM(分段任意模型)和稳定扩散修复等现有模型进行对象操作,无需重新训练。
要在本地设置项目,请按照下列步骤操作:
克隆存储库:
git clone https://github.com/your-repo/object-segmentation-shift.git
cd object-segmentation-shift
创建并激活虚拟环境:
python -m venv venv
source venv/bin/activate # On Windows, use `venvScriptsactivate`
安装依赖项:
pip install -r requirements.txt
根据类提示分割图像中的对象:
python run.py --image ./example.jpg --class shelf --output ./generated.png
该命令将采用example.jpg
,分割类提示中指定的对象的所有实例(例如,“shelf”),并在这些对象上输出带有红色遮罩的图像。
要移动图像中的分割对象:
python run.py --image ./example.jpg --class shelf --x 80 --y 0
这会将识别的架子向右移动 80 像素,在垂直方向移动 0 像素。
以下是将算法应用于样本图像的结果:
输入图像 | 细分(任务 1) | 移动对象(任务 2) |
---|---|---|
数据 | 资源1 | 资源2 |
任务 1:该对象以红色突出显示。
分割前
分割后
任务 2:根据用户定义的 x 和 y 值移动对象。
复杂的对象边界:如果对象具有复杂的边界或部分被遮挡,则分割可能不完美。
移动伪影:当移动具有复杂背景的对象时,确保背景自然地重新生成会带来挑战。
微调模型:尝试微调技术以提高分割精度。
无缝背景修复:使用先进的修复技术来处理对象移动后的背景重建。
如果您想为此项目做出贡献,请按照以下步骤操作:
该项目已获得 MIT 许可证的许可。有关详细信息,请参阅许可证文件。