본문 바로가기

Deep Learning/Fine Tuning

(12)
그동안 만든거 일단 이 두 개의 모델을 만들었는데 https://huggingface.co/spaces/Reeve/Furry_Maker https://ostin.tistory.com/50?category=948193 (포스팅) Anime to Furry https://huggingface.co/spaces/Reeve/Furry_Maker Furry_Maker - a Hugging Face Space by Reeve Hardware Scale with dedicated hardware huggingface.co ostin.tistory.com https://huggingface.co/spaces/Reeve/Ohayou_Face https://ostin.tistory.com/51?category=948193 (포스팅) 진..
진짜진짜 볼짤콘 https://huggingface.co/spaces/Reeve/Ohayou_Face Ohayou_Face - a Hugging Face Space by Reeve huggingface.co 이제 볼짤콘 시리즈는 끝~ 만족할 만한 퀄리티가 나왔다. pix2pix는 영원히 꺼낼일 없을 듯 하다... 기본적으로 애니메이션 이미지에 작동, 사람이라도 애니메이션스러운 이미지에는 작동한다. 좀 흐물하게 나오는 이미지도 있는데 볼짤콘이 얼굴밖에 없다보니 얼굴쪽으로 좀 확대하면 귀엽게 나온다.
Anime to Furry https://huggingface.co/spaces/Reeve/Furry_Maker Furry_Maker - a Hugging Face Space by Reeve Hardware Scale with dedicated hardware huggingface.co psp가 진짜 신기한게 이상한 이미지에도 잘 작동함..
Pix2pix furry dataset furry 데이터셋으로 finetuning 하고 pix2pix 모델 훈련 해봤는데 이미지의 변형이 많은 데이터셋이었다 그래서 그런가 모델이 학습을 잘 하지 못했다. 특히 어떤 구도에서는 학습을 계속해도 그럴듯한 모양새가 안만들어짐 그 후 모델을 좀 더 기본형을 잘 유지하게 변경하고 이어서 학습을 진행 해 보았는데 확실히 이전보다 좋아지긴 했는데... 뭔가 마음에 들지 않는... 그 마음... 이전 볼짤콘도 그렇고 이것도 그렇고 pix2pix는 형태에 변화가 생기면 흐물흐물 해지는 것 때문에 참 그렇단 말이지
PSP Tutorial https://www.youtube.com/watch?v=x5oYjBqq-zw psp모델을 다뤄보기 전에 내가 평소에 자주 보는 분의 논문 정리 한번 봄 inversion에 사용되는 latent space로 W+ space를 사용하는데, stylegan의 구조를 보면 W vector가 9개의 모듈, 18개의 레이어에 입력으로 사용되는데 목표 이미지와 가장 비슷한 출력을 만드는 W를 찾는게 아니라 W를 x18한 18x512 크기의 벡터를 찾는다는 뜻인듯. psp의 스타일 추출 방식. bottom-up 후 top-down 방식으로 스타일을 추출한다. 트랜스포머에서도 그렇고 인공신경망에서 데이터끼리의 연관이나 피쳐맵끼리의 연관, 입력텐서와 출력텐서의 연관 등 서로 다른 값들의 관계를 어떻게 연관시키느냐가 중요..
진짜 볼짤콘을 향하여 사실 이전 볼짤콘 모델들은 스타일만 볼짤콘 스타일이지 전혀 볼빵빵하지 않아서 다시 만들어봄 괜찮게 잘 나오는 것도 몇 개 있긴 한데 대부분의 이미지가 너무 흐물흐물하게 나온다. 나쁘지 않긴 한데 내가 약간 완벽주의 스타일이라 약간 마음에 안듬... 배포 할려면 좀 더 손을 봐야 할 것 같다. 그리고 훈련 데이터셋에서 흔하지 않은 몇몇 구도에 대해서는 많이 부족하다. 그래서 생각해본 바로는 1. 훈련 데이터셋의 부족 (이건 바로 해결 가능) 2. 훈련 시간의 부족 3. stylegan2 모델 훈련의 부족 (fine tuning을 오래 하지 않았기 때문에 몇몇 구도의 데이터에 대해 훈련이 완벽하지 못했을 수도. 이전 모델에서는 원본 이미지에서 많이 변형되지 않았기 때문에 fine tuning을 많이 할 필요..
FineTuning Parameter Test 레이어 각각의 기능 비교 freezeD = 1 kimg = 32 8 16 32 64 128 256 원본 색은 뒤의 레이어 일수록 더 많은 정보를 가지고 있고, 128이하의 레이어는 색에 영향을 거의 미치지 않는다. 512는 밝기, 색 256은 색, 질감 x 256 512 256 + 512 (추가 실험 결과, 색에 대한 정보는 256레이어에서 더 많이 가지고 있는 것으로 보인다. 512레이어만 적용하면 밝기만 올라가서 이미지가 쨍해보임.) 128은 세부묘사 - 테두리가 거의 바뀌지 않는다 낮은 레이어 일수록 큼지막한 형태가 바뀐다. 64에서 이목구비, 표정 32에서 얼굴형, 이목구비 16에서 구도, 각도, 위치등 전체적인 배치를 좌우하는 느낌 freeze한 레이어 갯수 비교 freezeD = 0, 1, 3..
Pix2pixHD로 볼짤콘 모델 업데이트 이전 모델은 정면샷이 아니면 이미지가 뭉개지는 문제가 있어서 바운더리 맵으로 이미지를 더 선명하게 출력하는 pix2pixHD를 사용했다. https://huggingface.co/spaces/Reeve/ohayo_face2 (현재 폐쇄) 확실히 입력값의 모양이 확실히 더 보존된다.
볼짤콘 스타일 Pix2pix 모델 업로드 Huggingface에 모델을 업로드 했다. (현재 폐쇄) 이미지를 입력하면 볼짤콘 스타일로 변환 해준다. Huggingface에 있는 다른 모델들이 연산 시간이 다 오래 걸리길래 인스턴스 cpu가 느린줄 알았는데 모델을 만들어놓고 입력값을 통과시키기만 하니 esrgan + pix2pix 까지 해도 연산시간이 3초가 안걸린다. 결과물도 생각보다 만족스러운 수준이다.
anime-face to 볼짤콘 FreezeD = 3으로 훈련 볼짤콘에는 텍스트가 없어서 더 잘 훈련이 되는 모습. anime-face network에서 생성된 이미지에는 엄청 잘 적용되는데, 실제 이미지에 적용하려고 해보니까 프로젝션이 잘 안된다. 새로운 기술을 실제로 사용하는 게 쉬운 것이 아니라는 것을 많이 느낌. 실제 이미지로도 잘 작동하려면 어떻게 해야될까...
anime-face to 쭐어콘 2 여러가지 피라미터들을 시험 해봤는데 D의 레이어 중 초반 2개만 freezing 하고 레이어 스와핑은 32부터 하는게 좋은듯하다. (쭐어콘이 질감이 없어서 낮은 단계에서 스와핑함) 그리고 훈련도 많이 시킬 필요가 없는 것 같다. 기존 이미지의 특징이 많이 옅어진다. Projection 이미지에도 잘 적용된다. 훈련을 조금 더 시켜야 하긴 할듯. 조금 더 쭐어콘 스러웠으면 좋겠다.
Layer Swapping Justin Pinkey의 블로그에서 흥미로운 글을 발견했는데, 레이어 스와핑이라는 것이다. https://www.justinpinkney.com/ukiyoe-yourself/ https://www.justinpinkney.com/stylegan-network-blending/ 이 사람이 딥러닝 관련 직장에 근무하면서 취미나 토이 프로젝트 같은 느낌으로 GAN을 자주 다루는 것으로 보인다. Github - https://github.com/justinpinkney 여튼 그래서 나도 Pretrain된 Anime-image 모델을 가져와서 쭐어콘 이미지로 훈련해 보았다. (같은 자리에 있으면 같은 시드) 첫번째가 훈련 전 모델의 출력이고, 아래로 내려올수록 훈련이 더 진행된 상태이다. 쭐어콘 데이터셋의 컬러..