ยินดีต้อนรับสู่เอกสารโครงการสำหรับการแบ่งส่วนวัตถุและการเลื่อนตำแหน่ง พื้นที่เก็บข้อมูลนี้มีรหัสสำหรับการแบ่งส่วนวัตถุในรูปภาพที่กำหนดตามข้อความแจ้ง จากนั้นย้ายวัตถุไปยังตำแหน่งใหม่ภายในฉากเดียวกัน มันใช้ประโยชน์จากโมเดล AI เจนเนอเรชั่นที่ล้ำสมัยเพื่อทำงานนี้ให้สำเร็จด้วยวิธีที่เป็นมิตรต่อผู้ใช้
โปรเจ็กต์นี้เกี่ยวข้องกับงานหลักสองงานที่มุ่งเป้าไปที่การแก้ไขภาพผลิตภัณฑ์หลังการผลิต โดยเฉพาะอย่างยิ่งสำหรับจุดประสงค์ด้านอีคอมเมิร์ซ
ภารกิจที่ 1: แบ่งกลุ่มวัตถุในภาพตามข้อความแจ้ง (เช่น "ชั้นวาง") และไฮไลต์ด้วยมาสก์สีแดง
ภารกิจที่ 2: ย้ายวัตถุภายในฉากโดยเลื่อนไปในทิศทาง x และ y ตามที่ผู้ใช้ระบุ
ตัวอย่างเช่น คุณอาจมีรูปภาพที่มี "ชั้นวาง" คุณสามารถเรียกใช้การแบ่งส่วนเพื่อเน้นชั้นวางทั้งหมดในรูปภาพได้ จากนั้น คุณสามารถย้ายชั้นวางที่ระบุภายในฉากได้โดยใช้การชดเชยพิกเซล
การแบ่งส่วนวัตถุตามข้อความ: ระบุวัตถุโดยใช้คำสั่งคลาส เช่น "ชั้นวาง" และไฮไลต์วัตถุเหล่านั้น
การเปลี่ยนตำแหน่ง: ย้ายวัตถุตามค่าพิกเซลในทิศทาง x (แนวนอน) และ y (แนวตั้ง)
โมเดลที่สร้างไว้ล่วงหน้า: ใช้ประโยชน์จากโมเดลที่มีอยู่ เช่น SAM (Segment Anything Model) และ Stable Diffusion Inpainting สำหรับการจัดการวัตถุโดยไม่ต้องมีการฝึกอบรมใหม่
หากต้องการตั้งค่าโครงการในเครื่อง ให้ทำตามขั้นตอนเหล่านี้:
โคลนพื้นที่เก็บข้อมูล:
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
แบ่งส่วนอินสแตนซ์ทั้งหมดของวัตถุที่ระบุในพรอมต์คลาส (เช่น "ชั้นวาง") และส่งออกรูปภาพที่มีมาสก์สีแดงบนวัตถุเหล่านั้น
หากต้องการเลื่อนวัตถุที่แบ่งส่วนในภาพ:
python run.py --image ./example.jpg --class shelf --x 80 --y 0
การดำเนินการนี้จะย้ายชั้นวางที่ระบุไปทางขวา 80 พิกเซลและ 0 พิกเซลไปในแนวตั้ง
นี่คือผลลัพธ์จากการใช้อัลกอริธึมกับภาพตัวอย่าง:
ป้อนรูปภาพ | การแบ่งส่วน (ภารกิจที่ 1) | วัตถุที่ถูกเลื่อน (ภารกิจที่ 2) |
---|---|---|
ข้อมูล | ความละเอียด1 | ความละเอียด2 |
ภารกิจที่ 1: วัตถุถูกเน้นด้วยสีแดง
ก่อนการแบ่งส่วน
หลังจากการแบ่งส่วน
ภารกิจที่ 2: วัตถุถูกเลื่อนตามค่า x และ y ที่ผู้ใช้กำหนด
ขอบเขตวัตถุที่ซับซ้อน: ในกรณีที่วัตถุมีขอบเขตที่ซับซ้อนหรือถูกบดบังบางส่วน การแบ่งส่วนอาจไม่สมบูรณ์แบบ
สิ่งประดิษฐ์ที่เลื่อน: เมื่อเคลื่อนย้ายวัตถุที่มีพื้นหลังที่ซับซ้อน การตรวจสอบให้แน่ใจว่าพื้นหลังนั้นสร้างขึ้นใหม่ตามธรรมชาติจะทำให้เกิดความท้าทาย
แบบจำลองการปรับแต่งอย่างละเอียด: การทดลองด้วยเทคนิคการปรับแต่งอย่างละเอียดเพื่อปรับปรุงความแม่นยำในการแบ่งส่วน
การลงสีพื้นหลังแบบไม่มีรอยต่อ: การใช้เทคนิคการลงสีขั้นสูงเพื่อจัดการการสร้างพื้นหลังใหม่หลังการเคลื่อนไหวของวัตถุ
หากคุณต้องการมีส่วนร่วมในโครงการนี้ โปรดทำตามขั้นตอนเหล่านี้:
โครงการนี้ได้รับอนุญาตภายใต้ใบอนุญาต MIT ดูไฟล์ใบอนุญาตสำหรับรายละเอียด