CNN의 이미지 크기 조정 및 패딩


14

이미지 인식을 위해 CNN을 훈련시키고 싶습니다. 훈련 용 이미지의 크기가 고정되어 있지 않습니다. 예를 들어 CNN의 입력 크기를 50x100 (높이 x 너비)으로 만들고 싶습니다. 작은 크기의 이미지 (예 : 32x32)의 크기를 입력 크기로 조정하면 이미지의 내용이 가로로 너무 많이 늘어나지 만 일부 중간 크기 이미지의 경우 괜찮습니다.

콘텐츠가 손상되는 것을 피하면서 이미지 크기를 조정하는 올바른 방법은 무엇입니까?

(폭과 높이의 비율을 어느 정도 유지하여 크기를 조정 한 후 크기가 0이되도록 이미지를 채우는 것을 생각하고 있습니다.이 방법으로 괜찮을까요?)

답변:


10

stackoverflow에 대한이 질문 이 도움이 될 수 있습니다. 요약하면, 일부 딥 러닝 연구자들은 이미지의 큰 부분을 채우는 것은 좋은 습관이 아니라고 생각합니다. 신경망은 패딩 된 영역이 분류와 관련이 없다는 것을 알아야하기 때문입니다. 예를 들어 보간법을 사용하십시오.


5

몇 가지 옵션이 있습니다.

작은 이미지의 경우 :

  • 보간을 통한 업 샘플
  • 0을 사용하여 이미지를 채우십시오

업 샘플링을 통해 종횡비를 유지할 수없는 경우 최대 샘플링에서 초과 픽셀을 업 샘플링하고자를 수도 있습니다. 물론 이로 인해 데이터가 손실 될 수 있지만 작물의 중심을 반복해서 이동할 수 있습니다. 이렇게하면 모델이 더욱 강력 해집니다.


큰 이미지의 경우 :

  • 다운 샘플
  • 입력 크기로 자르십시오

마지막으로 FCN (Full Convolutional Network)을 사용하는 경우 이미지 크기를 조정할 필요가 없습니다.

TL; DR :

예, 0으로 채워지는 것은 유효한 옵션입니다.


연결된 3 개의 비디오 프레임을 허용하는 완전 컨볼 루션 네트워크에 대한 가중치를 훈련 한 경우 입력 크기가 11 프레임으로 늘어난 것을 제외하고 동일한 아키텍처의 네트워크에이 가중치를 사용하려면 어떻게해야합니까? 나는 더 훈련하지 않고 예측 만하고 있습니다. 내 질문은 여기에 있습니다 : datascience.stackexchange.com/questions/55737/…
mLstudent33

3

다음을 수행 할 수 있습니다. 먼저 이미지를 어느 정도 크기 조정 한 다음 모든면에서 이미지를 패딩하여 이미지의 기능을 유지하는 데 도움이 될 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.