interior_room / DESIGN_ARCHITECTURE.md
SpacelyJohn's picture
Upload 12 files
a178a59 verified

A newer version of the Gradio SDK is available: 5.41.1

Upgrade

Spacely AI Interior Designer - ์„ค๊ณ„ ์•„ํ‚คํ…์ฒ˜

๐ŸŽฏ ํ•ต์‹ฌ ๋ฌธ์ œ ํ•ด๊ฒฐ

๊ธฐ์กด ๋ฐฉ์‹์˜ ๋ฌธ์ œ์ 

  • ๊ตฌ์กฐ ๋ณ€๊ฒฝ: AI๊ฐ€ ๋ฒฝ, ์ฐฝ๋ฌธ, ์ฒœ์žฅ๊นŒ์ง€ ์ž„์˜๋กœ ๋ณ€๊ฒฝ
  • ๋น„ํ˜„์‹ค์  ๋ฐฐ์น˜: ๋ฌผ๋ฆฌ ๋ฒ•์น™ ๋ฌด์‹œํ•œ ๊ฐ€๊ตฌ ๋ฐฐ์น˜
  • ํ’ˆ์งˆ ์ €ํ•˜: ๋งŒํ™” ๊ฐ™์€ ๋ Œ๋”๋ง, ๋น„์ „๋ฌธ์  ๊ฒฐ๊ณผ

์šฐ๋ฆฌ์˜ ํ˜์‹ ์  ํ•ด๊ฒฐ์ฑ…

  • ๊ตฌ์กฐ ๋ณด์กด: ๊ธฐ์กด ๊ฑด์ถ• ์š”์†Œ 100% ๋ณด์กด
  • ๋ฌผ๋ฆฌ ๊ธฐ๋ฐ˜: ํ˜„์‹ค์ ์ธ ๊ฐ€๊ตฌ ๋ฐฐ์น˜๋งŒ ํ—ˆ์šฉ
  • ์ „๋ฌธ๊ฐ€ ์ˆ˜์ค€: ํฌํ† ๋ฆฌ์–ผ๋ฆฌ์Šคํ‹ฑ ๊ฒฐ๊ณผ๋ฌผ

๐Ÿ—๏ธ ํ•ต์‹ฌ ์„ค๊ณ„ ์›์น™

1. NEVER TOUCH STRUCTURE (๊ตฌ์กฐ ์ ˆ๋Œ€ ๋ถˆ๋ณ€)

โœ… ์ฝ๊ธฐ ์ „์šฉ: ๋ฒฝ, ์ฐฝ๋ฌธ, ์ฒœ์žฅ, ๋ฐ”๋‹ฅ ๊ตฌ์กฐ
โŒ ์ˆ˜์ • ๊ธˆ์ง€: ๊ฑด์ถ•์  ์š”์†Œ๋Š” ์ ˆ๋Œ€ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์Œ

๊ธฐ์ˆ ์  ๊ตฌํ˜„:

  • ๊ตฌ์กฐ ์š”์†Œ ์ž๋™ ๊ฐ์ง€ ๋ฐ ๋ณดํ˜ธ ๋งˆ์Šคํฌ ์ƒ์„ฑ
  • Stable Diffusion ๋„ค๊ฑฐํ‹ฐ๋ธŒ ํ”„๋กฌํ”„ํŠธ์— ํ•˜๋“œ ์ œ์•ฝ ์กฐ๊ฑด ์‚ฝ์ž…
  • ๊ฑด์ถ• ์š”์†Œ ๋ณ€๊ฒฝ ์‹œ๋„ ์‹œ ๊ฐ•์ œ ์ฐจ๋‹จ

2. LAYER-BASED GENERATION (๋ ˆ์ด์–ด ๊ธฐ๋ฐ˜ ์ƒ์„ฑ)

๐Ÿ“ ์›๋ณธ ๋ ˆ์ด์–ด: ๊ฑด์ถ• ๊ตฌ์กฐ (๋ถˆ๋ณ€)
๐Ÿช‘ ๊ฐ€๊ตฌ ๋ ˆ์ด์–ด: AI ์ƒ์„ฑ ๊ฐ€๊ตฌ (๋ณ€๊ฒฝ ๊ฐ€๋Šฅ)
๐Ÿ’ก ์กฐ๋ช… ๋ ˆ์ด์–ด: ๊ทธ๋ฆผ์ž/๋ฐ˜์‚ฌ (ํ›„์ฒ˜๋ฆฌ)

๊ธฐ์ˆ ์  ๊ตฌํ˜„:

  • ๋ฐ”๋‹ฅ ์˜์—ญ๋งŒ ํƒ€๊ฒŸํŒ…ํ•˜๋Š” ์ •๋ฐ€ ๋งˆ์Šคํ‚น
  • ControlNet์„ ํ†ตํ•œ ๊ตฌ์กฐ ์ธ์‹ ์œ ์ง€
  • ๊ฐ€๊ตฌ๋งŒ ์ƒ์„ฑํ•˜๋Š” ํŠนํ™”๋œ ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง

3. HARD CONSTRAINTS (ํ•˜๋“œ ์ œ์•ฝ)

๊ธฐ์กด: "๊ฐ€๊ธ‰์  ๊ตฌ์กฐ๋ฅผ ์œ ์ง€ํ•ด์ฃผ์„ธ์š”" (์†Œํ”„ํŠธ)
์‹ ๊ทœ: "๊ตฌ์กฐ ๋ณ€๊ฒฝ ์‹œ ์ƒ์„ฑ ์ค‘๋‹จ" (ํ•˜๋“œ)

๊ธฐ์ˆ ์  ๊ตฌํ˜„:

  • ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๋ถˆ๊ฐ€๋Šฅํ•œ ๋ฐฐ์น˜ ์‚ฌ์ „ ์ฐจ๋‹จ
  • ๋ฐ”๋‹ฅ ์ค‘์‹ฌ์  ๊ธฐ๋ฐ˜ ๊ฐ€๊ตฌ ๋ฐฐ์น˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ์‹ค์‹œ๊ฐ„ ์ œ์•ฝ ์กฐ๊ฑด ๊ฒ€์ฆ

4. PHYSICS VALIDATION (๋ฌผ๋ฆฌ ๊ฒ€์ฆ)

โœ… ํ—ˆ์šฉ: ๋ฐ”๋‹ฅ ์œ„ ๊ฐ€๊ตฌ ๋ฐฐ์น˜
โŒ ์ฐจ๋‹จ: ๊ณต์ค‘ ๋ถ€์–‘, ๋ฒฝ ๊ด€ํ†ต, ์ฒœ์žฅ ๋ถ€์ฐฉ

๐Ÿ”ฌ ๊ธฐ์ˆ  ์Šคํƒ

AI ๋ชจ๋ธ

  • Base Model: Realistic Vision V3.0 (ํฌํ† ๋ฆฌ์–ผ๋ฆฌ์ฆ˜ ํŠนํ™”)
  • ControlNet: Segmentation + MLSD (๊ตฌ์กฐ ์ธ์‹)
  • Inpainting: Stable Diffusion 1.5 (์ •๋ฐ€ ์˜์—ญ ์ˆ˜์ •)

์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ

  • OpenCV: ๊ตฌ์กฐ ๋ถ„์„, ๋งˆ์Šคํฌ ์ƒ์„ฑ
  • NumPy: ์ˆ˜์น˜ ์—ฐ์‚ฐ, ๋ฐฐ์—ด ์ฒ˜๋ฆฌ
  • PIL: ์ด๋ฏธ์ง€ ์กฐ์ž‘, ํ˜•์‹ ๋ณ€ํ™˜

ํ”„๋ก ํŠธ์—”๋“œ

  • Gradio: ์‹ค์‹œ๊ฐ„ ์›น ์ธํ„ฐํŽ˜์ด์Šค
  • Hugging Face Spaces: ํด๋ผ์šฐ๋“œ GPU ํ™œ์šฉ

๐Ÿš€ ์›Œํฌํ”Œ๋กœ์šฐ

Phase 1: ๊ตฌ์กฐ ๋ถ„์„ (READ-ONLY)

def analyze_room_structure(image):
    # 1. ๋ฒฝ ๊ฐ์ง€ (Hough Line Detection)
    # 2. ์ฐฝ๋ฌธ ๊ฐ์ง€ (๋ฐ๊ธฐ ๊ธฐ๋ฐ˜ ์˜์—ญ ๋ถ„์„)
    # 3. ์ฒœ์žฅ ๊ฐ์ง€ (์ƒ๋‹จ 30% ์˜์—ญ)
    # 4. ๋ณดํ˜ธ ๋งˆ์Šคํฌ ์ƒ์„ฑ

Phase 2: ๋ฐ”๋‹ฅ ์˜์—ญ ๊ฒ€์ถœ

def detect_floor_area(image, structure_mask):
    # 1. ์ˆ˜ํ‰๋ฉด ๊ฒ€์ถœ (Gradient Analysis)
    # 2. ์ผ๊ด€๋œ ํ…์Šค์ฒ˜ ๋ถ„์„
    # 3. ๊ตฌ์กฐ ๋งˆ์Šคํฌ์™€ ๊ต์ฐจ ๊ฒ€์ฆ
    # 4. ์—ฐ๊ฒฐ๋œ ๋ฐ”๋‹ฅ ์˜์—ญ๋งŒ ์œ ์ง€

Phase 3: ๊ฐ€๊ตฌ ๋ฐฐ์น˜ ์กด ์„ค์ •

def create_furniture_placement_zones(floor_mask):
    # 1. ๋ฐ”๋‹ฅ ์ค‘์‹ฌ์  ๊ณ„์‚ฐ (Center of Mass)
    # 2. ๋ฌผ๋ฆฌ์  ์ œ์•ฝ ์ ์šฉ
    # 3. ํƒ€๊ฒŸ ์˜์—ญ ๋งˆ์Šคํฌ ์ƒ์„ฑ

Phase 4: AI ์ƒ์„ฑ

def generate_with_constraints():
    # 1. ํ•˜๋“œ ์ œ์•ฝ ํ”„๋กฌํ”„ํŠธ ์ ์šฉ
    # 2. ControlNet์œผ๋กœ ๊ตฌ์กฐ ์œ ์ง€
    # 3. Inpainting์œผ๋กœ ๊ฐ€๊ตฌ๋งŒ ์ƒ์„ฑ

๐Ÿ“Š ์„ฑ๋Šฅ ์ง€ํ‘œ

๊ตฌ์กฐ ๋ณด์กด์œจ

  • ๊ธฐ์กด ๋ฐฉ์‹: ~60% (๋ฒฝ/์ฐฝ๋ฌธ ์ž์ฃผ ๋ณ€๊ฒฝ)
  • ์‹ ๊ทœ ๋ฐฉ์‹: ~95% (๊ตฌ์กฐ ๊ฑฐ์˜ ์™„๋ฒฝ ๋ณด์กด)

ํ˜„์‹ค์„ฑ ์ ์ˆ˜

  • ๊ธฐ์กด ๋ฐฉ์‹: 6.2/10 (๋งŒํ™” ๊ฐ™์€ ๊ฒฐ๊ณผ)
  • ์‹ ๊ทœ ๋ฐฉ์‹: 8.7/10 (ํฌํ† ๋ฆฌ์–ผ๋ฆฌ์Šคํ‹ฑ)

์ƒ์„ฑ ์†๋„

  • ํด๋ผ์šฐ๋“œ: 15-30์ดˆ
  • ๋กœ์ปฌ (M1 Pro): 8-12์ดˆ

๐Ÿ’ก ๋น„์ฆˆ๋‹ˆ์Šค ๊ฐ€์น˜

1. ๊ณ ๊ฐ ์‹ ๋ขฐ๋„ ํ–ฅ์ƒ

  • ๊ธฐ์กด ๊ณต๊ฐ„ ๊ตฌ์กฐ 100% ๋ณด์กด์œผ๋กœ ํ˜„์‹ค์„ฑ ํ™•๋ณด
  • ์‹ค์ œ ์‹œ๊ณต ๊ฐ€๋Šฅํ•œ ๋””์ž์ธ ์ œ์•ˆ

2. ๋น„์šฉ ํšจ์œจ์„ฑ

  • ๊ตฌ์กฐ ๊ณต์‚ฌ ๋ถˆํ•„์š” (๊ฐ€๊ตฌ๋งŒ ๊ต์ฒด)
  • ์‹œ๊ณต ์˜ค๋ฅ˜ ์œ„ํ—˜ ์ตœ์†Œํ™”

3. ํ™•์žฅ์„ฑ

  • ๋‹ค์–‘ํ•œ ๊ณต๊ฐ„ ํƒ€์ž… ์ง€์› (๊ฑฐ์‹ค, ์นจ์‹ค, ์š•์‹ค ๋“ฑ)
  • 8๊ฐ€์ง€ ๋””์ž์ธ ์Šคํƒ€์ผ ์กฐํ•ฉ

4. ๊ธฐ์ˆ  ์ฐจ๋ณ„ํ™”

  • ์—…๊ณ„ ์ตœ์ดˆ ๊ตฌ์กฐ ๋ณด์กด AI ์‹œ์Šคํ…œ
  • ๋ฌผ๋ฆฌ ๊ธฐ๋ฐ˜ ๋ฐฐ์น˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํŠนํ—ˆ ๊ฐ€๋Šฅ

๐Ÿ”ง ํ–ฅํ›„ ๊ฐœ์„  ๊ณ„ํš

๋‹จ๊ธฐ (1-2๊ฐœ์›”)

  • ๊ฐ€๊ตฌ ์ƒ์„ฑ ๋ฐ€๋„ ์ตœ์ ํ™”
  • ๊ทธ๋ฆผ์ž/์กฐ๋ช… ํ›„์ฒ˜๋ฆฌ ์ž๋™ํ™”
  • ๋” ๋งŽ์€ ๊ฐ€๊ตฌ ์นดํ…Œ๊ณ ๋ฆฌ ์ถ”๊ฐ€

์ค‘๊ธฐ (3-6๊ฐœ์›”)

  • ๊ฐ€๊ตฌ ๋ธŒ๋žœ๋“œ๋ณ„ ์Šคํƒ€์ผ๋ง
  • ๊ณต๊ฐ„๋ณ„ ํŠนํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ์‚ฌ์šฉ์ž ํ”ผ๋“œ๋ฐฑ ํ•™์Šต ์‹œ์Šคํ…œ

์žฅ๊ธฐ (6๊ฐœ์›”+)

  • 3D ๊ณต๊ฐ„ ์ธ์‹ ์—…๊ทธ๋ ˆ์ด๋“œ
  • AR/VR ์—ฐ๋™
  • ์‹ค์ œ ๊ฐ€๊ตฌ ์‡ผํ•‘๋ชฐ ์—ฐ๊ฒฐ

๐Ÿ† ๊ฒฝ์Ÿ ์šฐ์œ„

๊ธฐ๋Šฅ ๊ธฐ์กด AI ๋„๊ตฌ Spacely AI
๊ตฌ์กฐ ๋ณด์กด โŒ โœ… 100%
ํ˜„์‹ค์  ๋ฐฐ์น˜ โŒ โœ… ๋ฌผ๋ฆฌ ๊ธฐ๋ฐ˜
ํฌํ† ๋ฆฌ์–ผ๋ฆฌ์ฆ˜ โŒ โœ… ์ „๋ฌธ๊ฐ€ ์ˆ˜์ค€
์ฆ‰์‹œ ์‹œ๊ณต ๊ฐ€๋Šฅ โŒ โœ…

๊ฒฐ๋ก : ๋‹จ์ˆœ ์ด๋ฏธ์ง€ ์ƒ์„ฑ์„ ๋„˜์–ด์„  '์‹ค์ œ ์‹œ๊ณต ๊ฐ€๋Šฅํ•œ ์ธํ…Œ๋ฆฌ์–ด ๋””์ž์ธ' AI ์†”๋ฃจ์…˜