cv2 style-transfer model 사용하기-2

be1le·2022년 3월 8일
8

Open-CV

목록 보기
6/11
post-thumbnail

오늘은 지난시간에 이어 cv2를 이용하여 style-transfer model을 사용해 볼 것이다!
지난 시간에 말했던 대로

오늘은 정말 net이라는 변수에 다른 모델을 할당시켜서 그대로 진행해 보도록 하겠다.

임포트 해오기!

지난시간과 마찬가지로 cv2, np만 사용할 것이다!

이번 실습에서 사용할 사진, 모델 할당하기!

전처리

지난시간에 말했듯이 model에 input이 img라면 우리는 꼭! 전처리를 해야한다!

그전에 model 적용 flow 다시한번 상기하기!

전처리를 시작해 보자!

이제 조금씩 이숙해 지기 시작하는 과정이다! h,w,c에 사진의 shape을 할당하구
우리는 방정식을 사용해 resizing을 해주었다!

지난번에 말했듯이 MEAN_VALUE(라면 조리법!)에 맞게 조리를 해준다.

그리고 blobFromImage를 사용하여 차원변형!을 진행해준다! 차원변형이 무엇이더라! 생각이 안날 수 있기에 관련자료를 준비해 봤다.


출처-정말 괜찮은 블로그

추론


사실 거의모든 모델이 그러하지만 추론부가 가장 짧은것 같다. 하지만 동시에 가장 직관적인 파트라고 생각한다. 우리는 setInput함수로 blob을 모델에(net)넣어 주었고, forward()함수로 추론을 마무리 했다!

후처리

아름다운 사람은 머문 후처리도 아름답다.

tensor4차원구조를 다시 3차원으로 차원을 줄여주고. MEAN_VALUE를 다시 더해준다.
앞선 블로깅에서 말했듯이 clip함수로 최소,최댓값을 제한해 주고난후

출력


출력부는 사실 간단하게 생각하면 컴퓨터만 이해하고 있는 자료형을 사람이 인지 할 수 있는 자료형으로 바꿔주는 작업이다.

글을 마치며

지난시간과 비교를 해보았을때 우리는 정말 처음의 net에 어떤 모델이 할당되고, img에 어떤사진이 들어가는지만 바꿔주어도 우리는 방대한 흥미로운 자료를 얼마든지 만들어 낼 수 있다. 다음 시간에는 더 유익한 자료로 돌아올 수 있기를 바라며 글을 마치겠다!

profile
그저 그런 개발자가 되지 않겠습니다.

0개의 댓글