Meta SAM3D 인테리어 시스템 개발 기록 (6) — UV 텍스처 베이킹 vs 버텍스 컬러, 사용자 평가, 논문 제출
·
프로젝트
📌 이번 글에서 다룬 것가구 복원이랑 방 구성까지 다 잡고 나서 마지막으로 해결해야 했던 게 색상 재현 방식이었다. UV 텍스처 베이킹이랑 버텍스 컬러 중 뭘 쓸지 결정해야 했는데, 막상 실험해 보니까 결과가 생각과 달랐다. 그리고 논문 제출까지 마무리한 내용을 정리한다.🎨 UV 텍스처 베이킹 vs 버텍스 컬러뭔 차이일까?UV 텍스처 베이킹은 3D Gaussian Splatting을 100개 시점에서 렌더링 한 다음 그 결과를 UV 텍스처에 합산하는 방식이다. 메쉬 추출 이후에 별도의 렌더링 파이프라인이 돌아간다. 버텍스 컬러는 SAM3D의 메쉬 디코더(SLatMeshDecoder)가 색상을 직접 회귀하는 방식이다. 추가 렌더링 없이 네트워크 출력이 곧 색상이다. 코드를 파고들어보니 SAM3D 내부에..
Meta SAM3D 인테리어 시스템 개발 기록 (5) — SAM3D로 3D 방 만들기 도전!?
·
프로젝트
📌 이번 글에서 다룬 것 가구 복원은 어느 정도 잡혔으니까 이제 방을 3D로 만들 차례였다. 근데 이게 진짜 오래 걸렸고 결국 포기했다. 그 과정을 솔직하게 기록한다. 🤔 왜 SAM3D로 방을 만들려 했냐 SAM3D를 방 전체에 적용해보면 어떨까 생각했다. 가구를 3D로 만드는 모델이니까 방도 하나의 객체로 보고 넣으면 실제 방 구조를 반영한 3D가 나오지 않을까 하는 기대였다. 그리고 아무도 시도한 사람이 없었다. SAM3D는 단일 객체용으로 설계된 거라 실내 씬에 적용한 사례 자체가 없었다. 하지만 시도해서 어떤 결과를 내는 지 궁금했고, 논문 기여가 될 수도 있겠다 싶었다. 🔨 뭘 시도했냐 1단계: 그냥 넣어봤다 빈방 이미지를 SAM3D에 통째로 넣었다. ..
Meta SAM3D 인테리어 시스템 개발 기록 (4) — SAM3D 가구 복원 최적화
·
프로젝트
📌 이번 글에서 다룬 것지난 글에서 SAM3D로 가구를 3D로 변환하고 Three.js 방에 배치하는 기능까지 구현했다. 근데 막상 여러 가구로 테스트해보니까 문제가 한두 가지가 아니었다.화분은 테이블로 복원되고, 조명은 납작한 판때기가 되고, 같은 소파인데 실행할 때마다 형태가 달라지고... SAM3D를 실내 사진에 그냥 들이밀면 안 된다는 걸 몸으로 배웠다.이번 글에서는 이 문제들을 어떻게 해결했는지 정리한다.🌱 문제 1: 얇은 가구에서 depth 추정 실패뭐가 문제였냐화분, 조명, 시계 같은 얇고 작은 가구를 SAM3D에 넣으면 직육면체 덩어리가 나왔다. 아무리 봐도 화분이 아닌...원인을 파고들어보니 SAM3D 내부에서 MoGe-v2가 depth를 추정할 때 마스크 영역 안에 유효한 depth..
Meta SAM3D 인테리어 시스템 개발 기록 (3)
·
프로젝트
📌 이번 글에서 구현한 것지난 글에서 2D 빈 방 사진으로 3D 방을 구현하는 것 까지 했다. 그리고 SAM3D로 가구를 3D 메시로 변환하고 Three.js 방에 드래그해서 배치하는 기능까지 구현했었다. 좀 늦게 글 쓴 이유가 학회 논문 포스터 발표 준비 때문에 할 게 너무 많고 정신이 없었다........ㅎㅎ.... 먼저 방 구현 퀄리티를 높여보았다.🏠 빈방 사진 한 장으로 3D 방이 만들어지는 원리를 다시 구체적으로 설명해보겠다.사진을 올리면 어떻게 3D 방이 뚝딱 생기는 걸까? AI가 방 구조를 이해하는 게 아니라, 생각보다 단순한 원리로 동작한다. ① 가구를 지워서 빈방 만들기먼저 업로드한 방 사진에서 SAM2가 가구를 인식하고 마스크를 만든다. 그 마스크 영역을 LaMa(딥러닝 인페인팅..
Meta SAM3D 인테리어 시스템 개발 기록 (2)
·
프로젝트
📌 이번 글에서 구현한 것지난 글에서 예고했던 "단일 사진으로 3D 방 자동 생성" 기능을 구현했다. 기존에는 가로 5m, 세로 4m 이런 식으로 사용자가 방 크기를 직접 입력하면 그냥 단색 박스 방이 만들어지는 수준이었다. 근데 생각해보면 사진을 이미 올렸는데 굳이 숫자를 또 입력받는 게 불편하기도 하고, 색상도 실제 방이랑 전혀 달라서 인테리어 시뮬레이션으로 쓰기엔 아쉬움이 있었다. 그래서 이번에는 방 사진에서 가구를 제거해 빈방을 만들고, 그 빈방 사진에서 벽 색상과 바닥 색상을 자동으로 뽑아서 3D 방에 그대로 적용하는 방식으로 개선했다. 덕분에 실제 방이랑 훨씬 비슷한 느낌의 3D 공간이 만들어졌다. 방 사진 업로드 ↓ SAM2 + LaMa로 가구 제거 → 빈방 생성 ..
Meta SAM3D 인테리어 시스템 개발 기록 (1)
·
프로젝트
📌 프로젝트 개요실제 생활 공간은 이미 다양한 가구로 구성되어 있는 경우가 대부분이다. 그런데 IKEA Place, 오늘의집 등 기존 인테리어 앱들은 모두 빈 방에 새 가구를 배치하는 방향으로만 동작한다. 이미 보유한 가구를 활용해 레이아웃을 바꿔보는 기능은 지원하지 않는다. 그리고 기존의 인테리어 프로그램들은 빈 도면에서 시작하여 카탈로그 내 수많은 모델 중 자신의 가구와 가장 유사한 것을 일일이 찾아 배치해야 하는 번거로움으로 인하여 전문가가 아닌 일반 사용자가 사용하기에는 큰 어려움이 있다. 2D 가구 제거 웹앱에 이어, 이번에는 Meta SAM3D를 활용해 방 사진에서 가구를 추출하고 3D 메쉬로 변환하는 인테리어 시뮬레이션 시스템을 구축했다. 기존 2D 웹앱의 한계를 넘어, 실제 인테리어 디..
SAM2 · LaMa · SD ControlNet으로 구현한 AI 인테리어 역방향 편집 시스템
·
프로젝트
📌 프로젝트 개요실제 생활 공간은 이미 다양한 가구로 구성되어 있는 경우가 대부분이다. 그런데 IKEA Place, 오늘의집 등 기존 인테리어 앱들은 모두 빈 방에 새 가구를 배치하는 방향으로만 동작한다. 이미 보유한 가구를 활용해 레이아웃을 바꿔보는 기능은 지원하지 않는다. 그리고 기존의 인테리어 프로그램들은 빈 도면에서 시작하여 카탈로그 내 수많은 모델 중 자신의 가구와 가장 유사한 것을 일일이 찾아 배치해야 하는 번거로움으로 인하여 전문가가 아닌 일반 사용자가 사용하기에는 큰 어려움이 있다.본 프로젝트는 이 어려움을 해결하기 위해 사진 한 장만으로 가구를 제거하고 재배치할 수 있는 2D 역방향 공간 편집 시스템을 개발하였다. 이사, 청소, 리모델링 전에 공간 변화를 미리 시뮬레이션할 수 있다. ..