컨볼 루션 뉴럴 네트워크 스케일 감도


11

예를 들어, 사람의 사진을 기반으로 연령 추정기를 구축한다고 가정 해 봅시다. 아래에는 정장을 입은 두 사람이 있지만 첫 번째 사람은 두 번째 사람보다 젊습니다.


(출처 : tinytux.com )

이것을 의미하는 많은 특징, 예를 들어면 구조가 있습니다. 그러나 가장 눈에 띄는 특징은 머리 크기와 신체 크기비율입니다 .


(출처 : wikimedia.org )

따라서 사람의 나이를 예측하기 위해 CNN 회귀를 훈련했다고 가정합니다. 내가 시도한 많은 연령 예측기에서, 아이의 위 이미지는 소송 때문에 주로 얼굴에 의존하기 때문에 그가 나이가 많다고 생각하는 것에 대한 예측을 속이는 것 같습니다.

바닐라 CNN 아키텍처가 머리와 몸통의 비율을 얼마나 잘 추론 할 수 있을지 궁금합니다.

몸과 머리에 바운딩 박스를 얻을 수있는 지역 RCNN과 비교할 때 바닐라 CNN이 항상 더 나빠질까요?

바닐라 CNN에서 전체 평탄화 직전 (즉, 모든 컨볼 루션 직후) 각 출력에는 해당하는 수용 필드가 있으며 이는 스케일 감각을 가져야합니다. RCNN이 빠르면이 단계에서 바운딩 박스 제안을 정확하게하여이를 활용함으로써 모든 이전 컨볼 루션 필터가 자동으로 모든 스케일로 학습합니다.

그래서 바닐라 CNN이 머리 대 몸통 크기의 비율을 추론 할 수 있어야한다고 생각합니까? 이게 옳은 거니? 그렇다면 더 빠른 RCNN 프레임 워크를 사용하여 사람을 탐지하는 데 사전 훈련을 받았을 수있는 사실을 악용하는 유일한 이점은 무엇입니까?


1
나이 인식기를 정확히 어디에 사용하는지 알고 있습니까? 왜 머리 크기 비율이라고 생각합니까? 중간 레이어의 출력을 보았습니까?
Aksakal

@ Aksakal 나는 그가 CNN 훈련을 실험했다고 생각하지 않습니다. 내가 이해 한 바에 따르면, 그는 기존의 웹 서비스를 사용하여 테스트를 해왔다.
DeltaIV

답변:


8

먼저, 매우 흥미로운 질문을 게시 해 주셔서 감사합니다.

간단히 대답 하자면 바닐라 convnet은 2 세부터 끝까지 사진에서 나이를 예측하도록 훈련 된 것이 일반적으로 게시 한 이미지와 같은 이미지를 잘못 분류하는 경향이 있습니다 . 둘째, 사람의 나이정확하게 추정하는 것은 거의 불가능한 입니다 1 .

RCNN, Faster RCNN, YOLO 또는 SSD와 같은 일부 물체 탐지기를 사용하여 제안 된 접근 방식과의 주요 차이점은 다른 정보를 사용하여 모델을 학습한다는 것입니다. CNN은 이미지에 대해서만 교육을받으며 필요한 모든 기능 자체를 찾아야합니다. 다양한 얼굴 특징을 찾을 가능성이 높지만 의류 및 장면 특징에 의존 할 것입니다 (어린이는 종종 장난감으로 사진에있을 수 있으며 성인은 사무실 환경에있을 가능성이 높습니다). 이러한 기능은 반례에 맞지 않습니다.

반면, "토르소"및 "헤드"로 오브젝트를 명시 적으로 감지하도록 네트워크를 훈련시키는 경우, 해당 오브젝트가 태스크에 중요하다는 추가 정보 를 제공 하여 문제점을 단순화합니다 2 .

머리와 몸통을 감지 한 다음 경계 상자의 크기 비율을 평가하는 접근법이 흥미롭게 들리지만 몇 가지 장애물을 볼 수 있습니다.

  1. 데이터 얻기 : 연령 상자와 경계 상자가 모두 존재하는 큰 데이터 집합의 가용성을 알지 못합니다.
  2. 불완전한 FOV : 대부분의 이미지 (예 : 두 예제 모두)에서 사람들은 전체적으로 표시되지 않습니다. 몸통 경계 상자가 단순히 사람의 일부가 이미지에 있지 않고 그물이 얼마나 큰 부분이 누락되었는지 추측해야하기 때문에 몸통 경계 상자가 항상 완벽하지는 않다는 사실을 다루어야합니다. 이 정보를 캡처하지 못할 수도 있습니다). 또한, 전술 한 물체 검출기가 부분 물체의 예측을 항상 올바르게 처리하는 것은 아니다. 모델에 노이즈가 너무 많이 발생할 수 있습니다.
  3. 다양한 포즈 : 정면과 측면에서 보는 사람들의 몸통 비율은 매우 다릅니다.
  4. 성인 :이 비율은 0-21 세 사이의 연령을 예측하는 데 효과가있는 것으로 보이지만 성인의 나이를 예측하는 데 어떻게 도움이되는지 모르겠습니다 (비율이 나이가 들지 않는다고 가정).

이러한 모든 문제는 헤드 대 몸통 비율 접근 방식이 완벽하게 작동하지는 않지만 특정 반례에 더 강력 할 수 있음을 시사합니다.

이 작업을 수행하는 가장 좋은 방법은 1) 얼굴을 감지하고 2) 얼굴 작물에서만 나이를 예측하는 것입니다 (오해의 소지가있는 정보 제거). ROI- 풀링을 사용하는 일부 R-CNN 유사 아키텍처는이 엔드 투 엔드를 수행하도록 훈련 될 수 있습니다.


1 매우 정교한 의료 방법 (사람의 사진보다 훨씬 유익한 정보)을 사용하더라도 정확하게 할 수는 없습니다. 자세한 내용은 이 Quora 스레드를 참조하십시오 .

2 과제에 대한 중간 지식을 제공하는 것이 학습을 크게 단순화 할 수있는 방법에 대한 예 는 기술 자료 : 최적화를 위한 사전 정보의 중요성 기사를 확인하십시오 .


8

CNN은이 질문에 대답하기에는 너무 큰 모델 클래스입니다. LeNet, AlexNet, ZFNet 및 VGG16은 CNN 아키텍처를 사용하여 R-CNN이 수행하는 대부분의 작업을 수행하도록 특별히 설계된 GoogLeNet과 매우 다르게 작동합니다 (Inception이라는 이름으로 GoogLeNet을 알고있을 수 있습니다. GoogLeNet이 구축되는 기본 단위 (서브 네트워크). 마지막으로 ResNets는 다르게 동작합니다. 그리고이 모든 아키텍처는 연령대를 분류하기 위해 구축 된 것이 아니라 인간을위한 연령대를 포함하지 않는 1000 개의 ImageNet 클래스입니다. 하나는 전이 학습을 사용할 수 있습니다(교육 이미지가 충분한 경우) 위에서 널리 사용되는 훈련 된 모델 중 하나를 훈련하고 성능을 확인하십시오. 그러나 일반적으로 오래된 아키텍처 (VGG16까지)는 "head"(이미 복잡한 기능), "torso"(또 다른 복잡한 기능) 및 해당 기능에 대해 학습해야하는 "글로벌 기능"을 배우는 데 어려움을 겪고 있습니다. 비율 (또한 두 특징이 특정 공간 관계에 있어야 함). 이런 종류의 것들이 Capsule Networks가 할 수 있었던 것입니다.

Convnets는 정반대 역할을하기 위해 탄생했습니다. 로컬 기능에 민감하고 상대적 위치 / 규모에 상대적으로 민감하지 않습니다. 좋은 Convnet은 사진이 클로즈업이든 미국식이든 "백색 고양이"를 인식해야합니다. 컨볼 루션 레이어 (로컬 기능에 민감한)와 풀링 레이어 (스케일 또는 이미지의 변형에 대한 감도의 일부를 제거)를 결합하면 가장 기본적인 형태로는 공간의 종류를 배우는 데 큰 도움이되지 않는 아키텍처가 제공됩니다. 찾고있는 개체 간의 관계. 고양이 사각형 이미지를 다양한 직사각형 겹치지 않는 타일로 분할하고 무작위 순서로 묶은 후에 CNN은 이미지를 다음과 같이 식별하는 어딘가에 대한 예가 있었지만 더 이상 찾을 수는 없습니다.cat. 이는 CNN이 고급 기능 간의 공간 관계보다 로컬 기능 (텍스처 또는 이와 유사한 것)에 더 민감 함을 나타냅니다. 이에 대한 자세한 내용은 캡슐 네트워크 문서를 참조하십시오 . Hinton은 또한 convnets의 한계에 관한 비디오 에서 이것의 예를 보여주었습니다 .

필자의 최근 추측은 최근의 아키텍처 중 하나가 어린이의 안목있는 남성을 완벽하게 지원할 수 있지만 (데이터가 충분 함) "머리"및 "몸통"과 같은 고급 기능 간의 메트릭 관계에 대한 "임계 값"때문이 아니라는 것입니다. . 훈련 세트의 성인 이미지와 어린이 이미지를 구분하는 통계적 규칙 성을 배우게 될 것입니다.


답변 해 주셔서 감사하지만 동의하지 않습니다. RCNN 아키텍처는 기본적으로 VGG 및 Resnet과 같은 객체 컨 버넷과 필터 구조가 동일합니다. RCNN은 스케일과 상대 위치를 감지 할 수 있으므로 VGG와 Resnet도 스케일을 감지 할 수 있어야합니다. 그러나 RCNN 아키텍처는 박스 제안을 사용하며,이 제안은 이미지 당 수천 개를 생성 한 후 각 박스 제안이 평가됩니다. 따라서 상자 제안 중 적어도 일부를 통합하면 바닐라 CNN이 스케일을 더 잘 감지해야합니다. 필요한지 잘 모르겠습니다.
Alex R.

RCNN은 CNN이 아닙니다. 바운딩 박스에 대한 선택적 검색을 놓칠뿐만 아니라 선형 SVM 및 바운딩 박스 회귀 기 스테이지도 놓칩니다. 또한 AlexNet (원래 RCNN 논문에서 사용 된 CNN)의 규모를 감지하는 기능과 VGG 사이에는 큰 차이가 있습니다. GoogLeNet 또는 ResNet : GoogLeNet은 RCNN이하는 일을 정확하게 수행하기 위해 개발되었습니다. 나는 모두가 GoogLeNet 및 ResNet이 분류 나이 수있을 것이라고 생각하지만, 그들은 (몸통 비율 헤드) 우리에게 의미가 기능을 사용하거나 일부 통계 1 / 찾아 그것을 할 것인지 알 수있는 방법이 없다
DeltaIV

2 / 인간이 절대 알아 채지 못할 규칙 성. 나는 당신이 실험하고 시도해 보라고 제안하지만, 불행히도 이미지 데이터베이스를 구축하는 것 자체가 연구 프로젝트 일 것입니다 (패션 회사에서 일하지 않는 한).
DeltaIV

1
혼란에 대한 사과드립니다. 나는 20 개의 서로 다른 RCNN 아키텍처가 있으며, 각각 다른 아키텍처는 더 이상 사용되지 않는다고 주장합니다.
Alex R.

1
blog.piekniewski.info/2016/12/29/can-a-deep-net-see-a-cat 또한 다른 문제이지만 여전히 텍스처 매칭과 관련이 있으며 더 존경받는 연구원 인 arxiv.org/pdf/ 1703.06857
DeltaIV

0

글쎄, 그것은 모두 데이터 세트가 구성되는 방식에 달려 있습니다. 내 경험으로는 신경망이 가장 간단한 설명을하는 경향이 있습니다. 그리고 의상에서 나이를 추론하는 것은 실제로 머리 대 몸 비율을 사용하는 것보다 간단합니다. 이를 염두에두고 데이터 세트를 확장 할 수 있으면 CNN이 예상대로 작동해야합니다.

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