ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [cs231n] 1강 시각 인식을 위한 합성곱 소개 (2/3, 컴퓨터 비전 역사)
    AI 2021. 1. 1. 15:33

    1강의 내용은 앞의 도입부를 제외하곤 2개의 주제로 되어 있습니다. 먼저 컴퓨터 비전이 오늘날까지 오게 된 역사를 알아봅시다.

    예전에 동물들은 눈이 없었고, 음식이 지나가면 잡아 먹었습니다. 음식이 없으면 그냥 떠 다녔는데, 543백만년전 1천만년 동안 짧은 시간에 동물이 종이 많아 졌습니다몇개에서 수십만개로 늘었습니다. 왜그랬는지 몰랐습니다. 그러다 몇 년전 앤드류 파커라는 호주 동물학자가 자신이 발견한 화석 연구를 통해 믿을 만한 이론을 제시합니다.

    54천만년전에 처음으로눈을 가진 동물이 나타납니다. 눈을 가지면서  활발한 삶을 살게 된 것입니다포식자가 먹이를 쫒아다니고, 먹이는 포식자를 피해다니면서 진화가 빨라진것입니다. 종으로서 살아남기 위해서요. 시각은 이후에 가장 큰 감각기관으로 발전합니다. 특히 지능이 높은 동물들에서 그렇죠. 우리의 대뇌 피질은 50%에 해당하는 뉴런이 시각과 연관되어 있습니다. 우리는 시각의 도움으로 일하고, 돌아다니고, 조작하고 소통하고 오락합니다.

     

    사람이 기계적인 시각을 만드는 것의 역사는 어땠을까요? 카메라는 1600년대 르네상스때부터 시작됐습니다카메라 옵스큐라 (암상자)죠. 핀홀카메라 이론에 따른 카메랍니다. 구멍으로 빛을 받아들이는 초기 동물이 발전시킨 눈과 같은 것이었습니다.

     

    생물학자들 중 1950년대 휴벨과 위즐의 연구가 동물이나 인간의 시각뿐만아니라 컴퓨터 비전에도 영향을 주었습니다. 전기물리학을 이용했구요. 포유류의 시각 처리가 어떤지 연구하기 위해 고양이의 뇌를 선택했습니다. 인간과 시각 처리가 비슷하다고 알려져서인데요. 고양이 뇌 뒤에 전극을 꽂고, 주요한 시각 대뇌 피질이었기 때문이죠. 어떤 자극이 그 지점의 뉴런을 흥분하게 하는지 지켜 봤습니다. 발견한 것은 비주얼 프로세싱이 단순한 구조로 부터 출발한다는 겁니다. 방향이 있는 선으로부터 정보가 뇌로 올라갈 수록 점점 복잡한 내용이 시각정보로부터 만들어 진다는 겁니다. 그렇게 해서 결국은 복잡한 시각적 세계를 인식하게 된다는 겁니다.

    컴퓨터 비전도 60년대 초에 시작합니다. 래리 로버트의 논문에 나오는 연구입니다. 컴퓨터비전에 관한 첫 논문이죠. 세상이 간단한 기하 도형으로 단순화 될 수 있다는 주장이었습니다. 도형들을 인식하고 이 도형들을 재구성하는 것이 목표였습니다.

    1966년 엠아이티 여름 프로젝트인 여름 시각 프로젝트인데요. 여름동안 비주얼 시스템을 만드는 것이 목표였습니다. 야망찬 목표였죠. 50년이 지나면 전세계에 수천명의 연구원이 여전히 컴퓨터 비전에 관한 근본적인 문제들을 푸는 분야가 됩니다. 아직 못 푼 문제들이 많지만 빠르게 성장하는 인공지능의 중요한 분야가 되었습니다.

    데이빗 마는  MIT의 비전 과학자였는데요. 70년대 후반 영향력있는 책을 씁니다. 시각이 무엇인지 컴퓨터 비전은 어떻게 나가야 하는지, 알고리즘은 어떻게 디자인해야 하는지였죠. 세상을 인식하는 컴퓨터 비전을 만들수 있는지에 대한 책이었습니다.

    이미지를 받아들여서 비주얼 세상의 전체적인 3차원 모델 표현에 이르기 위해서는 여러 단계를 거쳐야 하는데요. 초기 스케치에서는 외곽선, 막대,, 가상라인, 곡선, 경계가 표현됩니다이것은 신경 과학자에서 영감을 받았습니다휴벨과 위젤은 초기 단계 시각 처리는 엣지와 같은 단순 구조와 관련이 많다고 합니다그 다음으로 그 조각들을 표면과 깊이 정보 (원근), 레이어, 혹은 비주얼 장면의 불연속성으로 만듭니다. 그 다음 이 모든 것을 합쳐서 3차원 모델을 만듭니다. 계층적으로 구성된, 표면과 부피 초기값 등에 관해서 말이죠. 시각이 무엇인지에 대한매우 이상적인 사고 과정입니다. 그리고 이런 사고 과정이 컴퓨터 비전을 수세기 동안 지배했습니다그리고 이것이 학생들이 시각 분야에 입문하는데 매우 직관적인 방법이고 우리가 시각 정보를 어떻게 분해할 수 있는지에 대해서도 그렇습니다.

    1970년대에 매우 중요한 세마나 그룹이 있엇는데, 그들은 어떻게 우리가 단순한 블록뿐만 아니라 그것을 넘어서 실제 세상의 물체를 인식할 수 있을까?에 대해 질문했습니다그땐 데이타가 별로 없던 시절입니다컴퓨터도 느리고 PC도 없습니다그때 컴퓨터 과학자들은 어떻게 물체를 인식하고 표현할 수 있을 지 고민했습니다팔로알토의 스탠포드와 SRI의 두 그룹의 과학자들은 비슷한 아이디어를 제안합니다.

    하나는 일반화된 실린더 (generalized cylider)이고다른 하나는 그림 구조 (pictorial structure)죠. 기본 아이디어는 모든 물체가 단순한 기하학적 초기값으로 구성되어 있다는 것입니다. 예를 들면, 사람이 실린더 모양으로 표현될 수 있다거나 혹은 사람이 크리티컬 부품을 가변적인 거리로 연결해서 만들어 질 수 있다는 것입니다둘 다 복잡한 구조의 물체가 단순한 모양의 집합과 기하학적 구성으로 단순화 될 수 있다는 겁니다이 연구는 수년동안 꽤 영향력이 있었습니다.

    데이빗 로의 연구는 어떻게 시각적 세상을 인식하고 재구성할 수 있는지에 대한 단순한 세상의 구조로부터의 예입니다. 그는 라인과 엣지를 구성해서 면도기를 인식하려고 했는데, 대게 직선과 그들의 조합이었죠6, 7, 80년대 컴퓨터 비전 작업이 무엇인지 고민하는데 많은 노력이 있었지만 문제 해결은 쉽지 않았습니다이런 물체 인식은 쉽지 않았습니다. 그것들은 매우 대담하고 야망적인 시도였지만 장난감 수준에 그쳤거나 몇가지 경우에만 가능했습니다.

    그래서 물체 인식이 그렇게 어렵다면 물체 세그멘테이션을 먼저 해야하는 것 아닌가?란 질문이 나왔습니다.

    그것은 이미지를 불러들여서 픽셀을 의미 있는 영역의 그룹으로 모으는 것이었습니다. 우리는 모인 픽셀이 사람인지는 모르지만 사람에 속한 픽셀을 배경으로부터 분리할 수 있었습니다. 그것이 이미지 세그멘테이션이죠버클리의 Jitendra Malik 과 그의 학생 Jianbo Shi가 세미나에서 보여줬습니다. 이미지 세그멘테이션 문제에 그래프 이론 알고리즘을 사용했죠.

    여기 다른 컴퓨터 비전 문제에 앞서 진전을 이룬 문제가 있습니다. 얼굴 탐지입니다1999년에서 2000년 머신 러닝 기법, 확률적 머신기법이 모멘텀을 얻기 시작합니다서포트 벡터 머신, 부스팅, 그래피컬 모델 그리고 신경망의 첫번째 웨이브도 있었죠. 큰 공헌을 한 모델은 바로 에이다 부스트 알고리즘을 이용한 것이었죠. 폴라 비올라와 마이클 존스에 의해 리얼타임 탐지가 가능했습니다존경할 만한 사실이 많은 연구입니다. 

    2001년, 즉 컴퓨터 칩이 매우 느릴 때 했고, 이 논문이 발표된지 5년만에, 후지필름은 실시간 얼굴 탐지가 가능한 디지탈 카메라를 내놓습니다기초적인 과학 연구가 현실 세계 제품에 적용되기 까지 매우 빨랐습니다.

    물체 인식을 어떻게 더 잘 해야하는지 연구하는 분야에서, 90년대말에서 2000년대까지 10년동안 매우 영향력 있는 아이디어가 나옵니다그건 피쳐 (feature) 기반 물체 인식 입니다데이빗 로의 세미나 연구인 시프트 (SIFT) 피쳐인데요, 물체 전체를 매칭해 보는 것입니다. 예를 들면, 정지 표지판을 다른 정지 표지판과 비교해 보는 것입니다매우 어려운 일이죠 . 카메라 앵글, 가림, 찍는 위치, 조명, 물체에 내제된 변형이 모두 영향을 줍니다. 그러나 물체에 찾아낼 만한 피쳐가 있고 변화에도 영향을 받지 않는 것이 있었습니다물체 인식은 이런 물체의 중요한 피쳐를 찾아내는 것으로부터 시작했습니다그리고 그것을 비슷한 물체의 것과 비교했습니다전체 물체의 패턴을 매칭하는 것보다 쉬웠죠. 위 그림은 그의 논문에서 나온 그림인데 수십개의 시프트 피처가 하나의 정지 표지판에서 다른 표지판의 것과 매칭되는 것을 보여줍니다.

    피쳐라는 같은 빌딩 블록으로 또 하나의 진전을 이룹니다그 결과 전체 장면을 인식할 수 있게 됩니다. 공간 피라미드 매칭 (Spatial Pyramid Matching)이라는 알고리즘인데, 이미지에 피쳐가 있으면, 어떤 장면인지 알려주는 단서들이 있게 되고, 풍경인지, 주방인지, 고속도로인지 알게 됩니다. 이미지에서 여러 부분에서 피쳐를 뽑아내고 피쳐 디스크립터 (feature descriptor)에서 합칩니다. 서포트 벡터 머신 (SVM)알고리즘을 그 위에서 수행하는 방식이었습니다.

    비슷한 작업이 사람 인식에 있어서도 모멘텀을 얻습니다이런 피쳐를 합쳐서 어떻게 인간의 신체를 더 실제적인 이미지로 구성하고 그것을 인식하는 지를 연구한 논문들이 있었습니다하나는 경사 히스토그램 (historgram of gradients)이었고, 다른하나는 변형 가능 부분 모델 (deformable part model)이었죠.

    6, 7, 80년대를 거쳐 2000년대에 이르는 동안 바뀐 것이 있는데 그건 이미지의 품질입니다. 인터넷과 디지털 카메라 성장으로 컴퓨터 비전연구를 위한 더 나은 데이타가 생겼죠.

    2000년대 초반에 얻은 결과는 컴퓨터 비전 분야가 풀어야할  매우 중요한 빌딩 블록 문제를 정의했습니다. 문제일 뿐아니라 인식차원에서도 매우 중요한 문제인데, 물체 인식입니다계속해서 물체 인식을 얘기하고 있지만, 2000년대 초반 우리는 벤치마크 데이타 셋을 갖게 됩니다물체 인식이 얼마나 잘 되는지 진전을 측정할 수 있는거죠 가장 영향력있는 데이타셋이 파스칼 비주얼 오브젝트 챌린지 (Pascal Visual Object Challenge)였습니다20개의 물체 클래스로 되어 있고, 기차, 비행기, 사람 외에 소, 병, 고양이 등등 영역별로 수천에서 수만장의 이미지가 있었습니다. 이 분야에서 여러 그룹이 테스팅 셋에 대해서 테스트할 알고리즘을 개발했고 얼마나 진전했는지를 확인했습니다. 오른쪽은 2007년부터 12년까지 숫자입니다.

    그때쯤에 프린스턴과 스탠포드 사람이 포함된 한 그룹이 더 어려운 질문을 햇습니다. 우리는 모든 물체를 아니면 혹은 세상의 대부분의 물체를 인식할 준비가 됐는가?’ 그건 머신러닝에 기반한 관찰을 통해 동기 부여되었는데, 대부분의 머신러닝 모델은 그래피컬 모델이든, 서포트 벡터 머신이든, 에이다 부스트든 과적합 (overfit, 테스트 셋에만 잘 동작하고 다른 데이타에 잘 동작하지 않는 것)되기 쉬웠습니다.

    비주얼 데이타가 매우 복잡한 것이 문제였습니다복잡한 고차원 인풋이 들어오고 파라미터가 많고 충분한 데이타가 없고, 과적합이 매우 빨리 일어나며 일반화 할 수가 없었습니다. 이 이중 문제 즉, 1) 세상의 모든 물체를 인식하고 싶다와 2) 머신러닝의 과적합 보틀넥 (bottle neck)을 극복하고 싶다는 것으로 우리는 이미지넷 (Imagenet)프로젝트를 시작합니다.

    우리는 가능한 한 가장 큰 데이타 셋을 모으고 싶었습니다. 우리가 찾을 수 있는 모든 사진, 모든 물체에 대해서요. 그리고 그것들을 학습과 벤치마킹을 위해 사용했습니다. 3년이 걸렸고 많이 힘든 일이었는데, 수십억 이미지를 인터넷에서 다운로드하는 것으로 시작했습니다. 워드넷이라는 딕셔너리로 조직된 수만 오브젝트 클래스에 따라서요.

    그리고 어떤 똑똑한 크라우드 엔지니어링 트릭 방법을 써야 했는데, 바로 아마존 머케티컬 턱 (Amazon Mechanical Turk) 플랫폼이었습니다. 모든 이미지를 정렬하고 정제하고 레이블 달기 위해서 말입니다. 1천5백만에서 4천만 이미지가 2만2천 카테고리의 물체와 장면으로 분류되었습니다. 엄청났고 아마도 그당시 인공지능 분야에서 가장 큰 데이타 셋이었습니다.

    물체 인식 알고리즘을 또 다른 국면으로 전환하게 했습니다. 특히, 중요한 것은 우리의 진전을 어떻게 벤치마킹할거냐인데 2009년 부터 이미지넷 팀은 국제 챌린지를 열었고 이미지 넷 라지 스케일 비주얼 레코그니션 챌린지 (Imagenet Large Scale Visual Recognition Challenge)라고 불리는 경진대회를 위해 우리는 보다 적은 140만 물체와 1천 클래스 데이타를 만들었습니다. 컴퓨터 비전 알고리즘에 대해 이미지 분류 결과를 테스트하기 위한 것이었죠. 

    여기 예시 사진이 있고 만약 알고리즘이 다섯개의 레이블을 출력할 수 있고, 그 다섯개 레이블이 사진에 있다면 성공이라고 합니다.

    이것은 2010년부터 15년까지 결과 요약입니다. 와이축은 에러율인데요. 에러율은 지속적으로 낮아져서 2012년 사람 수준과 비슷해집니다. 사람 (Human)은 한 명의 박사학위 스탠포드 학생으로, 수 주를 여기에 투자했습니다. 마치 대회에 참여한 컴퓨터처럼요. 이 과정에서 배울 모든 물체 인식 문제를 풀 수 있었던 것은 아니지만 엄청난 진전입니다현실 응용프로그램에서 받아들일 수 없을 정도의 에러율에서 이미지넷의 인간과 동일한 수준까지는 이분야는 몇년만에 도달했습니다이 그래프에서 주목할 시점은 2012인데 전년보다 거의 10퍼센트 포인트가 낮아집니다지금은 더 정확하지만 그 낙폭은 매우 중요합니다그 해 우승 알고리즘은  합성곱 알고리즘인데, 이 코스는 그 알고리즘에 초점을 맞추고 있습니다CNN (Convolutional Neural Network)이 뭔지 깊이 파게 됩니다. 다른 유명한 이름은 딥러닝 (Deep Learning)이죠. 원리가 무엇인지, 좋은 프랙틱스가 뭔지 이 모델의 최근 진전은 뭔지 등등요. 여기가 바로 그 역사가 만들어진 곳입니다. 2012년에 딥러닝은 컴퓨터 비전과 또한 자매 영역인 자연어 처리와 음성인식 영역에서 좋은 진전을 이룰 수 있도록 엄청난 능력을 보여줬습니다.

    댓글

Designed by Tistory.