https://github.com/hwkims/sketch2face-gan-fail
텐서플로 전이학습모델 실패
다른것도 모델들이 오래되서 잘안됨
모델은 학습된 환경도 맞춰줘야해서
파이토치 버전 맞추다가 시간 다감
https://github.com/hwkims/stylegan3-pix2pix
이거는 생성모델인데 좀 변형해봤지만
너무 다른이미지가 나온다
Pix2Pix는 주로 짝을 이룬 이미지 (paired images) 간의 변환을 위해 설계된 모델입니다. 즉, 두 이미지 도메인(예: 스케치 → 얼굴, 낮 → 밤 등) 간의 변환을 학습하는데, 각각의 이미지 쌍이 필요합니다. 이는 조건부 생성적 적대 신경망 (Conditional GAN) 의 한 종류로, 입력 이미지를 기반으로 출력 이미지를 생성합니다.
Pix2Pix가 적합한 경우와 그렇지 않은 경우를 설명드리겠습니다.
짝을 이룬 데이터셋이 있을 때
Pix2Pix는 입력 이미지와 목표 이미지가 정확하게 짝을 이루는 경우에 잘 작동합니다. 예를 들어, 스케치 이미지와 그에 대응하는 실제 얼굴 이미지가 있다면, Pix2Pix 모델은 이 데이터셋을 학습하여 스케치에서 얼굴을 생성할 수 있습니다.
조건부 GAN을 사용하기 때문에 각 입력에 대해 명확한 목표 이미지를 갖고 있어야 합니다.
정확한 변환을 원할 때
Pix2Pix는 특정 변환에 대해 매우 정확한 이미지를 생성합니다. 예를 들어, 고화질의 입력 스케치를 정확하게 얼굴 이미지로 변환하거나, 이미지의 특성을 잘 보존하는 변환을 원할 때 유용합니다.
짝을 이루지 않은 데이터셋이 있을 때
CycleGAN을 사용하는 이유는 "짝을 이루지 않은" 데이터셋에서 잘 작동하기 때문입니다. 만약 스케치 이미지와 대응하는 실제 얼굴 이미지가 없거나 부족하다면, Pix2Pix는 학습할 수 없습니다. 이 경우에는 CycleGAN이 더 적합합니다. CycleGAN은 짝을 이루지 않은 데이터 간에도 학습할 수 있기 때문에 더 유연합니다.
다양한 스타일의 변환이 필요할 때
Pix2Pix는 이미지 변환을 위해 주어진 데이터 쌍에 대해 학습합니다. 그러나 스케치 → 얼굴 변환 외에도 다양한 스타일 변환을 하고 싶다면, CycleGAN처럼 스타일이 다른 도메인 간 변환을 잘 다루는 모델이 필요합니다. Pix2Pix는 주어진 데이터의 특성을 학습하여 특정 패턴을 변환하지만, 다양한 스타일을 처리하는 데 어려움이 있을 수 있습니다.
Pix2Pix는 짝을 이루는 데이터가 충분히 있을 때 매우 유용합니다. 즉, 몽타주 같은 스케치와 그에 대응하는 얼굴 이미지가 충분히 준비되어 있다면 Pix2Pix가 좋은 선택이 될 수 있습니다. 하지만, 짝을 이루는 데이터셋이 부족하거나 변환할 스타일의 다양성이 필요하다면 CycleGAN이 더 좋은 선택이 될 것입니다.
그냥 학습시키자..
https://universe.roboflow.com/kamala/face-race/dataset/1
https://universe.roboflow.com/esha/face-7l1ta/dataset/1
위 데이터셋에서
동남아시아인 남자 2~30대 추출
해서 GAN 돌린결과
전기와 시간을 낭비했다.
데이터셋 바꿔서
https://www.kaggle.com/datasets/jangedoo/utkface-new
여기서 추출
잘못된 접근이었다.
스케치 이미지랑 사진이랑 매핑 필요.
다시 적합한데이터셋
https://www.kaggle.com/datasets/arbazkhan971/cuhk-face-sketch-database-cufs
https://www.kaggle.com/datasets/arbazkhan971/cuhk-face-sketch-database-cufs
사용
https://github.com/hwkims/cyclegan_f
하지만 실패했습니다.
스타일겐 수정중