歡迎使用物件分割和位置移動的項目文件。該儲存庫包含用於根據文字提示分割給定圖像中的對象,然後將對象移動到同一場景中的新位置的程式碼。它利用尖端的生成人工智慧模型以用戶友好的方式完成這項任務。
該專案涉及兩項關鍵任務,旨在產品影像的後製編輯,特別是用於電子商務目的。
任務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 許可證的許可。有關詳細信息,請參閱許可證文件。