• 카테고리

    질문 & 답변
  • 세부 분야

    컴퓨터 비전

  • 해결 여부

    해결됨

target_size 인수에 대한 질문

22.01.16 10:30 작성 조회수 449

0

안녕하세요? 항상 좋은 강의 감사드립니다.

CNN 을 여러가지 소스로 공부하고 있었지만 중간중간 막히는 부분이 많았었는데, 본 강의를 들으며 하나씩 뚫리는 기분이 듭니다.

ImageDataGenerator 인스턴스의 flow_from_directory 메소드 에서 사용되는 target_size 인수에 대한 질문입니다.

 

본 기능을 통해 variety 한 이미지 손쉽게 사이즈들을  단일 사이즈로 통일시켜서 모델에 input 시킬 수 있을 듯 한데요,

예를 들어 input 이미지가 256 X 1024 등과 같이 세로로 wide 하게 찍은 사진인 경우도 224 X224 로 짜부해서 강제로 맞추는 방법인 것으로 이해하면 되는지.. 문의드립니다.

만약 그렇다면 그 방법 자체가 agumentation 이 적용된 것과 같은 효과가 되는 것은 아닌지요..? 이미지가 왜곡되어 학습을 어렵게 한다는 측면에서는 over fit 에 유리한 부분도 있겠지만 사진의 특징을 잡아내는데 어려움을 주게 되고, 모델 성능에 한계를 주는 요인이 될 수 있지 않을까 싶어서요

아직은 잘은 모르고... 개념적으로만 들은 keyword 이지만,  segmentation 과 같은 방법으로 전체 이미지 중에서도 관심을 가지는 특정 부분을 잡아낸 이후에 target_size=(224, 224) 와 같이 설정하는 방법이 예측성능 측면에서는 더 좋을 것 같기는 한데요... 제가 이해한 것이 맞을지 문의드립니다. 

답변 2

·

답변을 작성해보세요.

0

강사님, 명확한 답변 감사드립니다. 많은 도움이 되었습니다.

segmentation 에 관련한 한가지 이어지는 질문인데요, 이미지 분류 모델의 성능을 높이기 위해서 segmentation 기법은 굳이 적용하지 않는 경우가 대세 인지...도 궁금합니다. 아직 해당 기법에 대해서 잘 모르지만... 알고리즘의 복잡성이나 학습 속도 증가량 대비해서 segmentation 을 추가했을 때의 성능향상도가 만약 그리 높지 않다면.. 적용하지는 않을 듯 해서요~

예를 들어서 가족사진을 자동 분류해주는 모델을 만든다고 가정했을 때, 한 사진에 여러명이 같이 나온다거나(하지만 주인공은 있는), 풍경사진 속에 인물이 나와 있는 사진, 가로 wide  로 찍은사진, 세로 wide 로 찍은 사진 ... 등의 variety 한 해상도 조건들이 랜덤하게 들어가 있는 상황에서도  segmentation 없이도 augumentation 만으로도 충분히 좋은 성능을 나타낼 수 있는 이미지 분류 모델을 만들어 낼 수 있을지... 에 대한 궁금함에 추가 질문 드립니다.

감사합니다!

0

안녕하십니까, 

1. 예를 들어 input 이미지가 256 X 1024 등과 같이 세로로 wide 하게 찍은 사진인 경우도 224 X224 로 짜부해서 강제로 맞추는 방법인 것으로 이해하면 되는지.. 문의드립니다.

=> 네, 맞습니다. 강제로 target_size로 맞춥니다. 

2. 만약 그렇다면 그 방법 자체가 agumentation 이 적용된 것과 같은 효과가 되는 것은 아닌지요..? 이미지가 왜곡되어 학습을 어렵게 한다는 측면에서는 over fit 에 유리한 부분도 있겠지만 사진의 특징을 잡아내는데 어려움을 주게 되고, 모델 성능에 한계를 주는 요인이 될 수 있지 않을까 싶어서요

=> target_size와 같이 이미지의 사이즈를 변경하는 resize는 augmentation으로 보지는 않습니다.  augmentation는 이미지의 특징적인 변형을 주는데, resize 역시 매우 넓은 의미에서 이미지의 변형이긴 하지만 이를 augmentation으로 보지는 않습니다. 

 

3. 아직은 잘은 모르고... 개념적으로만 들은 keyword 이지만,  segmentation 과 같은 방법으로 전체 이미지 중에서도 관심을 가지는 특정 부분을 잡아낸 이후에 target_size=(224, 224) 와 같이 설정하는 방법이 예측성능 측면에서는 더 좋을 것 같기는 한데요... 제가 이해한 것이 맞을지 문의드립니다. 

=> 네, 모델 성능을 약간 높이기 위해서 segmentation을 사전에 적용하는 방법도 고려해 볼수 있습니다. 그런데, 이후에 target_size=(224, 224) 설정과 이 segmentation의 연관은 없을 것 같습니다. 그리고 target_size가 작은것 보다는 큰게 모델 성능이 더 좋습니다. 단 inference 시간은 느려 집니다. 

 

감사합니다.