관리 메뉴

클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지

합성곱 신경망 16 - Style Transfer 2 : 스타일 변환으로 출력된 다양한 이미지 확인하기 본문

인공지능/딥러닝

합성곱 신경망 16 - Style Transfer 2 : 스타일 변환으로 출력된 다양한 이미지 확인하기

huenuri 2024. 11. 3. 21:16

이어서 스타일 변환에 대한 학습을 이어가볼 것이다.


 

 

 


스타일 변환 실습해보기

 

 

Style Loss의 Ground True 값을 미리 구하고, 출력 값의 형태를 확인한다.

 

 

 

 

 

추출된 스타일 특성맵을 시각화한다.

 

 

 

 

Content Loss의 Ground True 값을 구한다.

 

 

 

 

추출된 콘텐츠 특성맵을 시각화한다.

 

 

 

Gram Matrix 함수를 정의한다.

 

 

 

 

스타일 변환을 적용할 남산타워 이미지를 입력값으로 지정한다.

 

 

 

 

옵티마이저를 Adam으로 사용하고 스타일 변환 모델을 학습한다. 주의할 점은 입력 이미지로 콘텐츠 이미지를 사용하지만, 반드시 텐서로 변환해야 한다. 이렇게 하면 Gradient 값을 구해 입력 이미지를 변경하여 새로운 스타일로 변환할 수 있다.

 

책에 있는 코드가 잘못되어서 이처럼 수정하고 주석도 달아보았다. 이 변환 결과 중에서 3번이 가장 좋아서 이걸로 변환한 것이다.


 

 

 

실습 결과 확인하기

에포크 0
에포크 9

 

에포크 19

 

 

에포크 49

 

 

 

에포크 79

 

 

 

에포크 99

 

 

 

에포크 129

 

 

 

에포크 169

 

 

 

에포크 189

 

 

 

에포크 199

 


 

 

 

학습을 마치고

이렇게 에포크별로 다르게 출력되고 있다. 원래는 이것보다 훨씬 더 많았는데 일부만 추출해보았다. 이미지 분석 실습을 할 때 이런 것을 확인해보는 것이 가장 재미있는 것 같다. 이제 Grad CAM에 대해서 공부를 마치면 RNN 공부는 나중으로 미루고 컴퓨터 비전에 대해서 공부해보려고 한다.