Spaces:
Running
Running
A newer version of the Gradio SDK is available:
5.41.1
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 ์๋ฃจ์