컨볼 루션 신경망이 다른 크기의 입력 이미지로 사용할 수 있습니까?


10

이미지 인식을 위해 컨볼 루션 네트워크를 만들고 있는데 크기가 다른 이미지를 입력 할 수 있는지 궁금합니다.

이 프로젝트에서 : https://github.com/harvardnlp/im2markup

그들은 말합니다 :

and group images of similar sizes to facilitate batching

따라서 전처리 후에도 이미지의 크기는 여전히 다르므로 수식의 일부를 잘라 내지 않기 때문에 의미가 있습니다.

다른 크기를 사용하는 데 문제가 있습니까? 있다면,이 문제에 어떻게 접근해야합니까 (공식이 모두 동일한 이미지 크기에 맞지 않기 때문에)?

모든 의견을 부탁드립니다

답변:


2

다른 크기를 사용하는 데 문제가 있습니까? 있다면,이 문제에 어떻게 접근해야합니까 (공식이 모두 동일한 이미지 크기에 맞지 않기 때문에)?

그것은 신경망의 구조에 달려 있습니다. 일부 아키텍처에서는 모든 이미지의 치수가 동일하다고 가정하고 다른 이미지 (예 : im2markup)는 이러한 가정을하지 않습니다. im2markup은 다른 너비의 이미지를 허용한다는 사실은 컨볼 루션 레이어의 출력을 스캔하는 RNN을 사용하기 때문에 내가 믿는 문제를 일으키지 않습니다.

여기에 이미지 설명을 입력하십시오

일괄 처리를 용이하게하기 위해 비슷한 크기의 이미지 그룹화

그것은 일반적으로 너무 많은 패딩을 추가하지 않음으로써 속도를 높이는 것입니다.


2

전처리 단계에서 단순히 이미지 크기를 조정하는 것을 고려 했습니까? 직관적으로, 스케일링 된 이미지에 직면 한 사람은 여전히 ​​동일한 기능과 객체를 인식 할 수 있으며 CNN이 스케일링 된 이미지에서 동일한 작업을 수행 할 수없는 명백한 이유는 없습니다.

이미지를 같은 크기로 조정하는 것이 컨볼 루션 네트워크가 다른 크기의 이미지를 처리하도록 만드는 것보다 쉬울 수 있다고 생각합니다. convnet의 conv 레이어는 재교육없이 어떤 크기의 이미지도 처리 할 수 ​​있습니다. 그러나 convnet의 출력은 일반적으로 일종의 분류 기준이 될 것이며, 아마도 다른 크기의 입력을 공급하면 아마도 잘 작동하지 않을 것이라고 생각합니다.

또 다른 방법은 이미지를 0으로 채우는 것입니다. 그러나 직관적으로 당신이 작은 사진을 보거나 검은 색 테두리로 채워져 있거나 확대 할 수 있다고 상상해보십시오. 당신은 무엇을 하시겠습니까? 어느 것이 더보기 쉬운가?


스케일링은 이미지 도입 오류를 유발하고 기능을 변형시키는 이미지의 품질을 저하시키지 않습니다. 이미 이미지의 해상도가 낮은 경우, 스케일링은 사람도 쉽게 인식 할 수 없지만 스케일링되지 않은 이미지는 인식 할 수있는 지점까지 이미지 품질을 떨어 뜨립니다.
Vikram Bhat

1
스케일링을 적용한 다음 인식 할 수없는 경우를 제외하고 사람이 인식 할 수있는 이미지의 예가 있습니까?
휴 퍼킨스

나도 이것 궁금해. keras의 기존 훈련 모델을 사용하려고 할 때 InceptionV3 인터페이스 (32x32에서 299x299-> CIFAR10)에 맞게 이미지를 확장 할 수 있다고 생각합니다. 스케일링의 품질이 떨어집니다. 그러나 적절한 방법은 출력 FC를 제외하고 입력 모양을 32x32로 지정하는 것입니다. 입력 레이어 가중치가 무작위이므로 재교육이 필요하다고 생각합니다.
Joey Carson

스케일링은 품질을 떨어 뜨리지 만 일반화를 도와줍니다 . 교육 전에 가우스 블러를 적용했을 때 눈에 띄게 향상되는 논문이 많이 있습니다. 직관적으로 단일 "흐리게"이미지와 유사한 입력 샘플이 더 다양하므로 분류가 더욱 강력 해집니다.
Matthieu 2016 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.