인프런 커뮤니티 질문&답변

이창준님의 프로필 이미지

작성한 질문수

딥러닝 CNN 완벽 가이드 - Fundamental 편

이미지 크기 변경 후 Xception 모델 학습 및 성능 평가

Model Input Size 관련

24.07.26 12:48 작성

·

67

0

먼저, 비전공자도 이해할 수 있도록 섬세하게 강의해주셔서 감사합니다.강의에서 efficientnet, xception 등 좋은 딥러닝 모델들을 소개해주셨는데요 실제 어떤 모델이 좋을지 테스트하다 보니 Input size 관련해서 아래와 같은 궁금증이 생깁니다.
  1. 모델마다 권장 사이즈가 다 다르던데 여러 모델을 테스트 할 때 모델별 권장 Input size로 resize 하는게 좋을까요? 아니면 특정 사이즈로 고정해서 테스트 하는 것이 좋을까요?
  2. 이미지를 축소하는 경우보다 확대해서 모델에 넣는 경우 성능이 더 안 좋을까요?

답변 1

1

권 철민님의 프로필 이미지
권 철민
지식공유자

2024. 07. 27. 10:24

안녕하십니까,

좋은 질문이군요.

먼저, 작은 이미지 보다 큰 이미지가 좀 더 모델 성능이 좋게 나옵니다. 하지만 원본 이미지가 가지고 있는 선명도에 따라서 큰 차이가 없을 수도 있습니다. 또한 이미지가 클 수록 학습 시간과 메모리 소모가 커집니다. 선명도가 높지 않은 원본 이미지 32x32를 224x224로 높이면 약간의 모델 성능이 좋아질 수 있습니다. 하지만 의미있는 성능 향상이 되는지의 여부는 여러 유형으로 테스트해봐야 됩니다. 전반적으로는 크게 성능 향상이 안되는 경우가 더 많은것 같지만, 개인적으로 의미있는 성능향상이 된 적도 있었던것 같습니다. 더불어 학습 시간이 훨씬 오래 걸립니다.

선명도가 매우 높은 이미지 예를 들어 1024x1024 를 224x224로 줄이면 좀 성능이 떨어질 수 있습니다. 하지만 1024x1024 이미지는 학습 시간이 오래 걸릴 뿐만 아니라, 메모리 문제로 H/W사양에 따라 아예 학습이 안될 수도 있습니다. 따라서 적절한 사이즈(224나 512)를 테스트를 통해서 설정해줄 필요가 있습니다.

  1. 모델마다 권장 사이즈가 다 다르던데 여러 모델을 테스트 할 때 모델별 권장 Input size로 resize 하는게 좋을까요? 아니면 특정 사이즈로 고정해서 테스트 하는 것이 좋을까요?

=> 가능하면 모델별 권장 Input size로 해주면 좋습니다. 다만 앞에서도 말씀드렸듯이 원래 선명도가 안좋은 이미지를 키워서 학습시켜도 성능이 크게 향상되지 않을 수 있습니다. 원래 선명도가 높아서 이미지 사이즈가 큰 경우는 줄이면 학습 성능이 나빠질 수는 있습니다. 학습 수행 시간과 H/W 제약등을 감안해서 여러번 테스트 해보고, 최적치를 찾아 보는 것이 좋은 방법입니다.

  1. 이미지를 축소하는 경우보다 확대해서 모델에 넣는 경우 성능이 더 안 좋을까요?

=> 확대하는게 조금이라도 더 성능에 좋을 수는 있습니다. 다만 원래 모델의 pretrained값이 224X224로 학습이 되어서 이미지 사이즈를 키우면 제대로 pretrained 값을 활용하지 못할 수도 있지만, 전반적으로는 확대가 성능에 더 좋으며, 특히나 이미지가 선명하다면 더욱 그런것 같습니다. 하지만 학습 시간이나 H/W제약이 있으므로 유의미한 결과치는 상황마다 테스트를 해봐야 됩니다.

 

감사합니다.

 

이창준님의 프로필 이미지
이창준
질문자

2024. 07. 29. 12:20

답변 감사합니다! 도움이 되었습니다.