23.06.15
DEVOTEE를 활성화 시키면
지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.
버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.
| 컨텐츠 유형 | 제목 | 저장일 | 삭제 |
|---|
본인인증 로그인에 실패하였습니다.
회원이 아니시거나 본인인증 등록이
완료되지 않은 사용자입니다.
안녕하세요!!
SKT AI Fellowship 6기에서 Virtual Try-On 기술 개발연구과제를 수행하고있는 루이VTON팀의 이민우입니다.
오늘은 저희 연구의 시작을 알렸던 지난 연구계획(1) 포스팅에 이어서 연구과정(2)라는 제목으로 중간 발표까지의 여정과 결과에 대해서 말씀드리려 합니다.
저희의 변하지 않는 목표는 다음과 같습니다.
이전 연구계획(1) 포스팅에서는
메인 목표인 Virtual Try-On 기술 상용화를 이루기 위한 세부 목표는 다음과 같이 정하고 시작하였습니다.
Logo 보존
자연스러운 Pose based model 구축
Fine-tuning
다양한 backbone model 실험 및 평가
저희는 이 4가지 세부 목표를 잡고 그동안 연구를 하였고 이후에 연구에 대해서 이번 포스팅에서 말씀드리도록 하겠습니다.
Virtual Try-On
데이터셋 수집
IDM-VTON fine-tuning 결과
Edge Filtering Solution
ViViD fine-tuning 결과
Facial Preserving Algorithm+ sr
"Virtual Try-On" 은 사용자에게 원하는 옷, 메이크업, 안경, 신발, 액세서리 등을 가상으로 입혀보는 기술입니다.
저희는 이 기술을 이용하여 다양한 서비스로 상용화되는 것을 목표로 하고 있으며,
그 중에서 상용화 가능성이 높은 골프웨어 도메인에 최적화를 하기 위해 데이터셋을 마련하고 도메인에 따른 다양한 Task들에 대해 연구를 하고 있습니다.
Academic한 Trend에서 Virtual Try-On은 현재 가장 중요한 토픽이 한마디로 "디테일 보존" 이라고 말할 수 있겠습니다.
그 이유는 GAN기반에서는 fitting에 대해 많은 연구가 있었다면 Diffusion 기반으로 연구가 이루어지는 현재는 고품질 / 디테일 복원에 초점을 두는 연구가 중요한 상황이기 때문입니다.
여기에서 성공적인 Virtual Try-On을 이루었을 때 다양한 서비스에 적용 될 수 있는 전망이 기대가 됩니다.
1. 체형 및 피부색 불일치
2. 배경과 객체 인식 오류
3. 역동적인 움직임 커버 부족
4. 인접 물체 고려 미흡
5. 자연스럽지 않은 warping과 형태 보존 문제
6. 의류 정보 불일치
7. 옷의 로고 보존의 어려움
8. 옷의 패턴의 위치 보존 어려움
9. 열화 현상
이에 따른 수많은 Chellenge가 있습니다. 그 중 5, 7번이 상용화를 위해 중요한 Chellenge라고 판단하여 우선순위를 두고있고 이를 해결하기 위한 솔루션을 개발하고 있습니다.
위 사진은 어려운 골프 스윙포즈에서 inference 한 것이며 포즈가 역동적으로 변하는 경우 이러한 챌린지가 추가적으로 있다로 봐주시면 감사하겠습니다.
저희는 소비자 경험을 향상 시키기 위해 크게 두 가지 방향으로 개발하고자 합니다.
Image Virtual Try-On
Video Virtual Try-On
Input과 Output이 서로 다를 때 발생하는 다양한 소비자 경험을 고려하여 여러 측면에서 개발을 진행하고 있습니다.
다양한 모델들을 Inference하고 검증한 결과, 저희가 SOTA(State-of-the-Art)라고 평가하는 두 가지 모델에서 아직 해결되지 않은 문제들을 발견했습니다.
이에 대해 저희는 이러한 문제들의 일부를 해결하고자 합니다.
※IDM-VTON Inference 결과 밑단과 목쪽의 잘못된 아티팩트, 생성되지않은 로고
fine-tuning을 하기 위해 저희는 옷의 앞면과 모델 정면 사진이 필요했습니다.
따라서, 옷들이 많은 쇼핑몰에서 이러한 옷들을 가져오기로 하였습니다.
쇼핑몰 특성 상 한 페이지에 다양한 사진들이 무작위로 존재
쇼핑몰마다 웹 구조와 콘텐츠 형태 차이 존재
여러 이미지가 한 이미지로 병합되어 있는 경우
Fine Tuning을 하기 위해 필요한 데이터셋 구조는 옷 앞면 이미지와 그 옷을 입은 모델의 정면 이미지입니다.
하지만 보시다시피 쇼핑몰에는 필요하지 않은 다양한 구도의 옷과 모델 이미지들이 무작위로 나열되어있거나,
여러 이미지가 한 이미지로 병합되어있는 등의 이유로, 크롤링한 이미지들을 분류하는 작업에 상당히 큰 시간적 자원이 든다는 문제가 있습니다.
이는 앞으로 상용화를 하는데 큰 제약 사항이죠.
따라서 저희는 구조화된 데이터로 수집하는 자동화 시스템이 필요했으며, 이에 대해 2가지 솔루션을 통해 성공적으로 데이터를 수집할 수 있었습니다.
첫 번째는 각각의 이미지를 라벨링하면서 가져올 수 있도록 하는 img url 분석 알고리즘이고,
두 번째는 병합된 이미지로부터 LLM을 활용하여 이를 분할하도록 하는 알고리즘입니다.
쇼핑몰 사이트를 살펴본 결과, 사이트 자체는 어느정도 구조화가 되어있다고 말씀 드릴 수 있으며, 이를 저희 task인 virtual try-on에 적용할 수 있도록 추가적인 작업을 진행하였습니 다.
예를 들면 url의 마지막 경로에 RMBG_FRONT 가 존재하면 옷의 앞면 이미지와 대응된다는 패턴이 존재하였고,
이러한 정보를 통해 라벨링을 자동화하여 저희가 원하는 이미지만 추출하고 그에 따른 라벨링을 자동으로 진행하였습니다.
두 번째 문제였던 병합된 이미지 같은 경우 GPT-4o를 사용하여 각각의 프레임의 좌표를 추출한 후 여러 장의 이미지로 분할할 수 있도록 알고리즘을 제작하였습니다.
그 결과, 3개의 브랜드에서 7000장의 구조화된 이미지를 성공적으로 수집할 수 있었습니다.
우선 700장으로 fine-tuning을 시도해본 결과
Input garment의 특징인 줄무늬 2개 그리고 지퍼와 옷 아래 라인 디테일이 살아나는 효과를 보였습니다.
앞서 보여드린 IDM-VTON의 fine-tuning 결과를 보시면 pre-train 결과에 비해 성능이 크게 향상된 것을 확인할 수 있습니다.
하지만 여전히 옷의 디테일한 특징을 보존하는 것에 한계가 존재합니다.
화면을 보시면 옷 하단부에 검은색 줄이 한 줄씩 존재하는 반면 생성된 이미지 의 경우 검은색 줄이 두 줄씩 생성된 것을 확인할 수 있죠.
해당 문제를 해결하기 위해 의류 이미지의 low feature 정보를 추가적으로 전달하고자 하였습니다.
Edge filtering 을 통해 의류 이미지의 low feature 정보를 추출하였으며, sobel filter, canny filter, Laplacian filter 3개의 필터링 결과를 비교하였습니다.
저희는 의류의 패턴을 간단하면서도 명확하게 추출하는 것이 필요합니다.
3개의 필터링 결과 를 비교한 결과, 저희는 의류의 low feature를 비교적 정확히 추출하는 Sobel filter를 채택 하였습니다.
해당 이미지는 기존 IDM-VTON Architecture 입니다. 저희는 의류의 low feature 정보를 추가하기 위해 sobel filter의 결과를
GarmentNet의 input인 의류 이미지 텐서와 concat을 수행하여 입력으로 사용될 수 있도록 모델 구조를 변형시켰습니다.
또한 옷 특징 보존에 집중 시키기 위해 TryonNet과 IP-Adapter 를 Frozen시킨 후 GarmentNet 모델만 학습을 진행하였습니다.
Edge filtering을 적용한 결과, garment에서 지퍼, 소매, 옷의 밑단 2줄 -> 1줄 그리고 팔의 줄무늬 색상과 같은 다양한 디테일들이 보존되었습니다.
이는 Edge Filtering을 condition으로 넣었을 때 Virtual Try-On 결과 생성에 더욱 도움이 된다는 사실을 입증합니다.
이제 Video to Video 연구 진행 사항에 대해서 공유하겠습니다.먼저 V2V main model인 ViViD의 finetuning 후 inference 결과가 Video이지만 본 포스팅에서는 image로 대체되었습니다.
보여드린 ViViD의 finetuning 결과를 보시면 pre-train 결과에 비해 성능이 크게 향상된 것을 확인할 수 있습니다.잘못된 아티팩트가 줄어들었으며 색감 그리고 Temporal consistency 또한 향상된 것을 볼 수 있습니다.
다만 전체적으로 화질이 많이 깨지고, 안개가 끼는 듯한 문제가 존재했습니다. 해당 문제는 이미지보다 메모리가 큰 비디오를 처리하다 보니,
학습 시 VRAM 메모리 용량 부족 문제로 원본 해상도인 1920x1080 사이즈에서 512x384 사이즈로 resize하 여 학습을 진행하는 데 발생하는 것을 확인하였습니다.
원본에 비해 학습에 사용된 픽셀은 이 미 다량의 픽셀 정보가 유실된 상태로 학습되었기 때문에 output을 가지고 원본 해상도로 복 원 했을 때, 열화 및 얼굴이 뭉개지는 현상이 발생합니다.
해당 문제를 SR 기법으로 해결하고 자 시도하였으며, 사용한 모델은 Real-ESRGAN입니다.
보이시는 이미지는 원본 비디오와 fine-tuning 비디오에서 첫 번째 frame을 가져온 것입니다.
원본 프레임에 비해 fine-tuning 프레임의 열화 현상이 심한 것을 확인할 수 있습니다.
SRGAN을 적용하였을 때, 열화 현상은 잡아내었지만, 얼굴의 뭉개짐 현상은 여전합니다.
저희는 이 얼굴 뭉개짐 현상을 해결하고자 Facial preserving Algorithm을 적용하였습니다
각각의 원본 프레임에 대해서 dense pose를 사용하여 얼굴 부분의 mask 영역을 추출해낸 후,
이를 이용해 try-on한 프레임의 얼굴 부분을 바꾸는 방식으로 모델의 얼굴 뭉개짐 현상을 해결하고자 하였습니다.
그 결과, 열화현상과 얼굴 뭉개짐 현상을 잡아내는 결과를 보실 수 있습니다.이미지가 잘 안보일 수 있기 때문에 아래 이미지를 통해 결과를 확인해주세요
다양한 backbone model 실험 및 평가를 하였고 그 결과 나온 SOTA I2I VTON model 과 pose based V2V model 대해서 fine-tuning을 하였습니다.
그리고 이 모든 결과를 비교하며 현재 SOTA에서 Chellenge Task를 정한 후 그 Task를 해결하기 위한 여러 기법들을 개발하고 평가하였습니다.
앞으로는 이러한 기법들을 더욱 발전시키고 끊임없이 개발하고 있습니다.
그리고 소중한 중간 발표 피드백을 바탕으로 새롭게 목표를 설정하고자 합니다.
추론 시간 감소
다양한 케이스에 대한 결과 실험
비디오의 temporal consistency(시간적 일관성)와 try-on fidelity(착용 정확성)를 해결할 수 있는 좋은 아이디어 필요
로고를 살리는 것이 가장 어렵고, 상용화를 위해 매우 중요한 부분이므로 여러 가지 접근 방식을 시도하고 다양한 형태와 색상의 로고를 테스트하여 결과를 검증했으면 좋겠습니다.
주신 피드백을 바탕으로, 모델의 생성 품질을 향상시키는 것을 최우선 목표로 삼고, 동시에 속도, 검증, temporal consistency를 고려한 연구를 지속적으로 진행하겠습니다.
지금까지 SKT Fellowship 6기 Virtual Try-On 기술 개발 연구 과제를 수행하고 있는 루이VTON이었습니다.
감사합니다.
DEVOTEE를 활성화 시키면
지금 작성한 댓글에 AI가 댓글을 달아줍니다.