"컴퓨터 비전"의 두 판 사이의 차이
2번째 줄: | 2번째 줄: | ||
== 개요 == | == 개요 == | ||
− | 컴퓨터 비전(Computer vision)은 컴퓨터가 디지털 이미지나 비디오로부터 높은 수준의 이해를 얻을 수 있는 방법을 다루는 학제간 과학 분야다. 공학적인 관점에서 인간의 시각 시스템이 할 수 있는 일을 이해하고 자동화하는 것을 추구한다. 컴퓨터 비전 과제에는 디지털 이미지를 획득, 처리, 분석 및 이해, 결정 형태와 같은 수치적 또는 상징적 정보를 생산하기 위해 실제 세계에서 고차원 데이터를 추출하는 방법이 포함된다. 이러한 맥락에서 이해한다는 것은 시각적 영상(망막의 입력)을 사고 과정을 이치에 맞는 세계 서술로 변환하여 적절한 작용을 이끌어 낼 수 있다는 것을 의미한다. 이러한 이미지 이해는 기하학, 물리학, 통계학, 학습 이론의 도움을 받아 구성된 모델을 사용하여 이미지 데이터로부터 상징적인 정보를 분리하는 것으로 볼 수 있다. 컴퓨터 시력의 과학적인 훈련은 이미지로부터 정보를 추출하는 인공 시스템 이면에 있는 이론과 관련이 있다. 영상 데이터는 비디오 시퀀스, 다중 카메라의 보기, 3D 스캐너 또는 의료 스캔 장치의 다차원 데이터 등 다양한 형태를 취할 수 있다. 컴퓨터 비전의 기술적 규율은 그것의 이론과 모델을 컴퓨터 비전 시스템 구축에 적용하려고 한다. 컴퓨터 비전의 하위 영역에는 장면 재구성, 사건 감지, 비디오 추적, 객체 인식, 3D 포즈 추정, 학습, 색인화, 동작 추정, 시각 서보화, 3D 장면 모델링, 영상 복원 등이 있다.<ref name="위키피디아"> Computer vision Wikipedia - https://en.wikipedia.org/wiki/Computer_vision </ref> | + | 컴퓨터 비전(Computer vision)은 컴퓨터가 디지털 이미지나 비디오로부터 높은 수준의 이해를 얻을 수 있는 방법을 다루는 학제간 과학 분야다. 공학적인 관점에서 인간의 시각 시스템이 할 수 있는 일을 이해하고 자동화하는 것을 추구한다. 컴퓨터 비전 과제에는 디지털 이미지를 획득, 처리, 분석 및 이해, 결정 형태와 같은 수치적 또는 상징적 정보를 생산하기 위해 실제 세계에서 고차원 데이터를 추출하는 방법이 포함된다. 이러한 맥락에서 이해한다는 것은 시각적 영상(망막의 입력)을 사고 과정을 이치에 맞는 세계 서술로 변환하여 적절한 작용을 이끌어 낼 수 있다는 것을 의미한다. 이러한 이미지 이해는 기하학, 물리학, 통계학, 학습 이론의 도움을 받아 구성된 모델을 사용하여 이미지 데이터로부터 상징적인 정보를 분리하는 것으로 볼 수 있다. 컴퓨터 시력의 과학적인 훈련은 이미지로부터 정보를 추출하는 인공 시스템 이면에 있는 이론과 관련이 있다. 영상 데이터는 비디오 시퀀스, 다중 카메라의 보기, 3D 스캐너 또는 의료 스캔 장치의 다차원 데이터 등 다양한 형태를 취할 수 있다. 컴퓨터 비전의 기술적 규율은 그것의 이론과 모델을 컴퓨터 비전 시스템 구축에 적용하려고 한다. 컴퓨터 비전의 하위 영역에는 장면 재구성, 사건 감지, 비디오 추적, 객체 인식, 3D 포즈 추정, 학습, 색인화, 동작 추정, 시각 서보화, 3D 장면 모델링, 영상 복원 등이 있다.<ref name="위키피디아"> Computer vision Wikipedia - https://en.wikipedia.org/wiki/Computer_vision </ref> 또한 컴퓨터 비전은 딥 러닝을 사용하여 이미지 처리 및 분석 시스템을 안내하는 신경망을 형성한다. 충분한 교육을 받은 컴퓨터 비전 모델은 사물을 인식하고 사람을 감지하거나 인식하며 움직임까지도 추적할 수 있다. |
== 역사 == | == 역사 == | ||
11번째 줄: | 11번째 줄: | ||
최근 연구를 통해 기계 학습 기법 및 복잡한 최적화 [[프레임워크]]와 함께 사용되는 특징 기반 방법의 부활을 목격했다. [[딥러닝]] 기법의 발전은 컴퓨터 비전 분야에 더 많은 생명을 불어넣었다. 분류, 세분화, 광학 흐름에 이르는 작업에 대한 몇 가지 벤치마크 컴퓨터 비전 데이터 세트의 딥러닝 알고리즘의 정확도가 이전보다 대폭 상승하게 되었다.<ref name="위키피디아"></ref> | 최근 연구를 통해 기계 학습 기법 및 복잡한 최적화 [[프레임워크]]와 함께 사용되는 특징 기반 방법의 부활을 목격했다. [[딥러닝]] 기법의 발전은 컴퓨터 비전 분야에 더 많은 생명을 불어넣었다. 분류, 세분화, 광학 흐름에 이르는 작업에 대한 몇 가지 벤치마크 컴퓨터 비전 데이터 세트의 딥러닝 알고리즘의 정확도가 이전보다 대폭 상승하게 되었다.<ref name="위키피디아"></ref> | ||
+ | == 관련 분야 == | ||
+ | ;인공지능 | ||
+ | [[인공지능]] 분야는 [[로봇]] 시스템이 환경을 탐색할 수 있도록 자율적인 계획이나 심의를 다룬다. 이러한 환경을 탐색하려면 이에 대한 자세한 이해가 필요하다. 환경에 대한 정보는 컴퓨터 비전 시스템에 의해 제공되어 비전 센서의 역할을 하고, 환경과 로봇에 대한 높은 수준의 정보를 제공할 수 있다. 인공지능과 컴퓨터 비전은 패턴 인식과 학습 기법 등 다른 주제를 공유한다. 결과적으로, 컴퓨터 비전은 인공지능 분야나 일반적으로 컴퓨터 과학 분야의 한 부분으로 보여진다. | ||
+ | |||
+ | ;고체물리학 | ||
+ | 고체 상태의 물리학은 컴퓨터 시각과 밀접한 관련이 있는 또 다른 분야이다. 대부분의 컴퓨터 비전 시스템은 전자기 방사선을 감지하는 이미지 센서에 의존하는데, 이는 일반적으로 가시광선이나 적외선 광선의 형태이다. 이 센서는 [[양자물리학]]을 사용하여 설계되었다. 빛이 표면과 상호작용하는 과정은 물리학을 사용하여 설명된다. 물리학은 대부분의 영상 시스템의 핵심 부분인 광학의 행동을 설명한다. 정교한 이미지 센서는 이미지 형성 과정을 완전히 이해하기 위해 양자역학까지 필요로 한다. 또한 물리학의 다양한 측정 문제를 컴퓨터 비전을 이용하여 해결할 수 있다. | ||
+ | |||
+ | ;신경생물학 | ||
+ | 중요한 역할을 하는 세 번째 분야는 신경생물학, 특히 생물학적 시력 시스템의 연구다. 지난 세기 동안, 인간과 다양한 동물 모두의 시각적 자극의 처리에 헌신한 눈과 뉴런, 그리고 뇌 구조에 대한 광범위한 연구가 있었다. 이로 인해 특정 시각 관련 업무를 해결하기 위해 실제 비전 시스템이 어떻게 작동하는지 복잡하게 기술하게 되었다. 이러한 결과는 인공 시스템이 서로 다른 수준의 복잡도에서 생물학적 시스템의 처리와 행동을 모방하도록 설계되는 컴퓨터 비전 내의 하위 영역으로 이어졌다. 또한 컴퓨터 비전 내에서 개발된 학습 기반 방법들인 신경망과 딥러닝 기반 이미지 및 특징 분석과 분류 중 일부는 생물학에서 그 배경을 가지고 있다. | ||
+ | |||
+ | 컴퓨터 비전 연구의 일부는 생물학적 비전의 연구와 밀접하게 연관되어 있는데, 실제로 인공지능 연구의 많은 부분이 인간의 의식에 대한 연구와 밀접하게 연관되어 있으며, 시각 정보를 해석, 통합, 활용하기 위해 저장된 지식을 사용하는 것과 같이 컴퓨터 비전 연구의 일부는 생물학적 시각의 연구와 밀접하게 관련되어 있다. 생물학적 비전 분야는 인간과 다른 동물에서 시각적 지각 이면의 생리학적 과정을 연구하고 모델링한다. 반면에 컴퓨터 비전은 인공적인 비전 시스템 뒤에 있는 [[소프트웨어]]와 [[하드웨어]]에서 구현되는 프로세스를 연구하고 설명한다. 생물학적 시각과 컴퓨터 시각 사이의 학제간 교류는 두 분야에서 모두 성과가 있는 것으로 입증되었다. | ||
+ | |||
+ | ;신호처리 | ||
+ | 컴퓨터 비전과 관련된 또 다른 분야는 신호 처리다. 일반적으로 시간적 신호인 변수 1 신호의 처리 방법은 컴퓨터 시야에서 변수 2 신호나 다변수 신호를 처리하는 자연적인 방법으로 확장될 수 있다. 그러나, 이미지의 특수성 때문에 컴퓨터 비전 내에서 개발된 많은 방법들이 있으며, 단변수 신호 처리에는 그 대안이 없다. 신호의 다중차원성과 함께, 이것은 신호 처리의 하위 영역을 컴퓨터 비전의 일부로 정의한다. | ||
+ | |||
+ | ;기타 | ||
+ | 위에서 언급한 컴퓨터 비전에 관한 견해 외에도, 관련 연구 주제들 중 많은 것들이 순전히 수학적인 관점에서 연구될 수 있다. 예를 들어, 컴퓨터 시력의 많은 방법들은 통계, 최적화 또는 기하학에 기초한다. 마지막으로, 이 분야의 상당 부분은 컴퓨터 비전의 구현 측면, 즉 소프트웨어와 하드웨어의 다양한 조합에서 기존의 방법을 실현할 수 있는 방법, 또는 이러한 방법을 수정하여 성능을 너무 잃지 않고 처리 속도를 높일 수 있는 방법 등에 전념한다. 컴퓨터 비전은 패션 전자상거래, 재고 관리, 특허 검색, 가구, 미용 산업에도 사용된다. | ||
+ | |||
+ | 컴퓨터 비전과 가장 밀접한 관련이 있는 분야는 이미지 처리, 이미지 분석, [[머신 비전]]이다. 이것들이 다루는 기술과 응용의 범위에는 상당한 중복이 있다. 이는 이들 분야에서 사용·개발되는 기초기술이 유사하다는 것을 시사하는 것으로, 이름이 다른 분야가 하나뿐이라는 해석도 가능하다.<ref name="위키피디아"></ref> | ||
+ | |||
+ | == 주요 기술 == | ||
+ | === 휴먼 포즈 에스티메이션 === | ||
+ | 컴퓨터 비전은 컴퓨터를 사용하여 인간의 시각적인 인식 능력을 구현하는 것을 목표로 한다. 카메라로 촬영된 이미지나 영상을 분석하여 정보를 추출하는 것이 핵심이다 보니 객체의 위치와 방향을 탐지하는 것은 컴퓨터 비전에서 자주 등장하는 문제이다. 이 중 사람이 취한 자세를 인식하는 기술을 '휴먼 포즈 에스티메이션'(Human Pose Estimation)이라고 합니다. 말 그대로 사진이나 영상 속에서 사람의 신체 관절이 어떻게 구성되어 있는지 위치를 추정하는 문제로 볼 수 있다. 그런데 사진 속에 담긴 사람의 모습은 모든 관절이 보이는 것은 아니다. 같은 자세라도 촬영된 방향에 따라 다르고, 때로는 다른 물체에 가려져 있기도 하며, 다양한 옷을 입고 있기도 하다. 빛의 세기나 강도에 따라서도 추정하기 어려워질 수 있다. 그래서 전체적인 추론(Holistic Reasoning)이 필요하다. 이처럼 휴먼 포즈 에스티메이션 기술은 컴퓨터 비전에서 오랫동안 다루어져 왔음에도 불구하고 여전히 어려운 분야에 속한다. | ||
+ | |||
+ | 전통적인 자세 인식 방법은 사람에게 센서와 같은 다양한 장비를 부착하는 것이다. 움직임을 실시간으로 정교하게 파악할 수 있지만 높은 비용이 들어가기도 하고 실생활에서 항상 장비를 착용하는 것이 아니어서 연구실 또는 한정된 영역에서만 가능한 방법이다. 그래서 몸에 부착하는 장비 없이, 사진에서 자세를 추정하는 휴먼 포즈 에스티메이션 연구가 진행되었다. 자세를 추정하기 위해서는 사진에서 인체의 윤곽이나 특정 신체 부위를 추론할만한 외곽선 등의 특징을 추출해야 한다. 이 특징의 패턴을 사람이 직접 분석하고 응용하여 신체 부위를 예측할 수 있게 되었고, 효율성과 정확성이 날로 높아지고 있다. | ||
+ | |||
+ | 최근 딥러닝은 컴퓨터 비전의 여러 분야에서 눈부신 성능 향상을 보이며 휴먼 포즈 에스티메이션 연구 패러다임을 바꾸고 있다. 딥러닝은 다층 인공신경망을 이용하며, 유용한 특징들을 데이터로부터 직접 학습하는 방식을 취한다. 이러한 학습 기반의 방법은 사람이 미처 인지하지 못하는 유용한 특징들을 데이터를 통해 직접 찾아낼 수 있다는 장점이 있다. 휴먼 포즈 에스티메이션 분야에서도 딥러닝을 활용한 연구가 활발히 진행 중이고 문제 해결에 큰 성과를 거두고 있다. 자세 추정이 점점 정확해지면서 그 응용 분야도 자세 교정, 행동 인식, 이상 행동 감지, 안전 예방 시스템, 증강현실 등으로 확대되고 있다. 최근에는 2차원 자세를 넘어서 3차원 자세 추출에서도 많은 연구가 진행 중이다. | ||
+ | |||
+ | === 오픈포즈 === | ||
+ | 오픈포즈(OpenPose)는 세계 최대 '컴퓨터 비전 및 패턴 인식' 컨퍼런스인 CVPR(IEEE Conference on Computer Vision and Pattern Recognition) 2017에서 발표된 프로젝트로 미국 [[카네기멜론대학교]]에서 개발하였다. 딥러닝의 합성곱 신경망(CNN)을 기반으로 하며, 사진에서 실시간으로 여러 사람의 몸, 손, 그리고 얼굴의 특장점을 추출할 수 있는 라이브러리다. 이 프로젝트의 특징은 여러 사람의 자세를 빠르게 찾을 수 있다는 것이다. 오픈포즈가 발표되기 전에는 여러 사람의 자세를 추정하기 위해 사진에서 각각의 사람을 검출하고 검출된 사람에 대해 자세를 찾도록 반복 수행하는 탑-다운(Top-Down, 하향식) 방식을 주로 사용했다. 오픈포즈는 바텀-업(Bottom-Up, 상향식) 방식으로 반복적인 처리 없이 성능을 향상시켰다. 바텀-업 방식은 모든 사람의 관절을 추정하고, 각 관절의 위치를 이은 다음, 각각에 해당하는 사람의 관절 위치로 재생성하는 방식이다. 대게 바텀-업 방식은 관절이 어느 사람에게 속하는가의 문제로 정확도가 떨어지는 상황이었다. 오픈포즈는 이를 보완하기 위해서 신체 부위가 어느 사람에게 속하는지 유추할 수 있는 특징(Part Affinity Fields)을 이용하여 접근했다. | ||
+ | ;주요 기능 | ||
+ | 오픈포즈의 주요 기능은 사진이나 동영상 또는 카메라 입력을 통해서 여러 사람의 신체 부위 특징점의 위치를 실시간으로 추적해 주는 것이다. 여기에서 특징점은 어깨, 손목 등 몸의 관절뿐만 아니라 손과 얼굴도 포함된다. | ||
+ | ;딥러닝 네트워크 구조 | ||
+ | [[파일:오픈포즈 네트워크 구조.png|썸네일|500픽셀|오픈포즈 네트워크 구조]] | ||
+ | 네트워크의 입력은 높이(h) x 폭(w) 크기의 컬러 이미지이고 VGG-19 네트워크의 일부를 통과하게 된다. VGG 네트워크는 옥스포드대학교의 비주얼 지오메트리 그룹(Visual Geometry Group)에서 개발했다. 세계 최대 이미지 인식 경연대회인 ILSVRC 2014년 행사에서 구글넷(GoogleNet)과 함께 주목을 받으며 근소한 차이로 2위를 차지했지만, 구조가 간단하여 이해하기 쉽고 변형을 시켜가면서 테스트하기 용이한 장점이 있다. | ||
+ | |||
+ | 이미지가 VGG-19 네트워크의 입력으로 들어가면, 합성곱 신경망의 C와 P를 거쳐서 특징맵(F)을 생성하게 된다. 특징맵(F)은 처음에는 큰 의미 없는 내용이 담겨 있지만, 그 내용을 학습 데이터와 비교하며 차이점을 점점 줄여나가는 방향으로 최적화를 하면 학습 데이터에 맞는 특징을 갖게 될 것이다. 그리고 이 특징맵(F)은 스테이지(Stage) 1의 입력으로 들어간다. | ||
+ | |||
+ | 스테이지 1은 2개의 브랜치로 나누어진다. 첫 번째 브랜치의 합성곱 신경망(p1)은 모든 사람의 관절 위치를 결정하는 컨피던스 맵(Confidence Map(S))을 생성한다. 컨피던스 맵은 특정 신체부위가 위치할 가능성에 따라 높은 값(최저 0 ~ 최고 1)을 갖는 흑백 이미지라고 할 수 있다. 관절이 위치한 픽셀을 중심(중심 값은 1.0)으로 퍼지면서 값이 감소하는 히트맵(Heatmap)을 만든다.<ref>송철호, 〈[https://www.samsungsds.com/global/ko/support/insights/human_pose.html 주목받는 컴퓨터비전 기술: 딥러닝 기반의 휴먼 포즈 에스티메이션]〉, 《삼성 SDS》, 2020-03-20 </ref> | ||
{{각주}} | {{각주}} | ||
16번째 줄: | 55번째 줄: | ||
== 참고자료 == | == 참고자료 == | ||
*Computer vision Wikipedia - https://en.wikipedia.org/wiki/Computer_vision | *Computer vision Wikipedia - https://en.wikipedia.org/wiki/Computer_vision | ||
+ | *송철호, 〈[https://www.samsungsds.com/global/ko/support/insights/human_pose.html 주목받는 컴퓨터비전 기술: 딥러닝 기반의 휴먼 포즈 에스티메이션]〉, 《삼성 SDS》, 2020-03-20 </ref> | ||
== 같이 보기 == | == 같이 보기 == |
2020년 8월 5일 (수) 14:24 판
컴퓨터 비전(Computer Vision)은 기계의 시각에 해당하는 부분을 연구하는 컴퓨터 과학의 최신 연구 분야 중 하나이다. 공학적인 관점에서, 컴퓨터 비전은 인간의 시각이 할 수 있는 몇 가지 일을 수행하는 자율적인 시스템을 만드는 것을 목표로 한다. 그리고 과학적 관점에서 이미지에서 정보를 추출하는 인공 시스템 관련 이론에 관여한다.
개요
컴퓨터 비전(Computer vision)은 컴퓨터가 디지털 이미지나 비디오로부터 높은 수준의 이해를 얻을 수 있는 방법을 다루는 학제간 과학 분야다. 공학적인 관점에서 인간의 시각 시스템이 할 수 있는 일을 이해하고 자동화하는 것을 추구한다. 컴퓨터 비전 과제에는 디지털 이미지를 획득, 처리, 분석 및 이해, 결정 형태와 같은 수치적 또는 상징적 정보를 생산하기 위해 실제 세계에서 고차원 데이터를 추출하는 방법이 포함된다. 이러한 맥락에서 이해한다는 것은 시각적 영상(망막의 입력)을 사고 과정을 이치에 맞는 세계 서술로 변환하여 적절한 작용을 이끌어 낼 수 있다는 것을 의미한다. 이러한 이미지 이해는 기하학, 물리학, 통계학, 학습 이론의 도움을 받아 구성된 모델을 사용하여 이미지 데이터로부터 상징적인 정보를 분리하는 것으로 볼 수 있다. 컴퓨터 시력의 과학적인 훈련은 이미지로부터 정보를 추출하는 인공 시스템 이면에 있는 이론과 관련이 있다. 영상 데이터는 비디오 시퀀스, 다중 카메라의 보기, 3D 스캐너 또는 의료 스캔 장치의 다차원 데이터 등 다양한 형태를 취할 수 있다. 컴퓨터 비전의 기술적 규율은 그것의 이론과 모델을 컴퓨터 비전 시스템 구축에 적용하려고 한다. 컴퓨터 비전의 하위 영역에는 장면 재구성, 사건 감지, 비디오 추적, 객체 인식, 3D 포즈 추정, 학습, 색인화, 동작 추정, 시각 서보화, 3D 장면 모델링, 영상 복원 등이 있다.[1] 또한 컴퓨터 비전은 딥 러닝을 사용하여 이미지 처리 및 분석 시스템을 안내하는 신경망을 형성한다. 충분한 교육을 받은 컴퓨터 비전 모델은 사물을 인식하고 사람을 감지하거나 인식하며 움직임까지도 추적할 수 있다.
역사
1960년대 후반, 인공지능을 개척하던 대학에서 컴퓨터 비전이 시작되었다. 이는 지능적인 행동을 가진 로봇을 기증하는 디딤돌로서 인간의 시각 시스템을 모방하기 위해서였다. 1966년에는 여름 프로젝트를 통해 컴퓨터에 카메라를 부착하고 '보이는 것을 묘사'하도록 함으로써 이것이 달성될 수 있다고 믿었다. 당시 컴퓨터 비전을 디지털 이미지 처리의 보편적인 분야와 구별한 것은 완전한 장면 이해를 달성하기 위한 목적으로, 이미지로부터 3차원 구조를 추출해내고자 하는 목표였다. 1970년대의 연구는 이미지에서 가장자리 추출, 선 표시, 비다면 및 다면 모델링, 작은 구조물의 상호연결로 물체 표현, 광학 흐름 및 움직임 추정을 포함하여 오늘날 존재하는 많은 컴퓨터 비전 알고리즘의 초기 기초를 형성했다.
그 후 10년 동안 컴퓨터 시력의 보다 엄격한 수학적 분석과 양적 측면에 기초한 연구가 진행되었다. 여기에는 스케일 스페이스의 개념, 음영, 질감, 초점 등 다양한 단서로부터의 형상의 추론, 스네이크로 알려진 등고선 모델이 포함된다. 연구자들은 또한 이러한 수학적 개념들 중 많은 것들이 정규화 및 마르코프(Markov) 무작위 분야와 동일한 최적화 프레임워크 내에서 처리될 수 있다는 것을 깨달았다. 1990년대에 이르러 이전의 연구 주제들 중 일부는 다른 주제들보다 더 활발해졌다. 3D 재구성에 대한 투영적 연구는 카메라 보정에 대한 더 나은 이해를 이끌어냈다. 또한 카메라 교정을 위한 최적화 방법의 출현과 함께, 이미 포토그램 측정의 분야에서 번들 조정 이론에 많은 아이디어가 탐구되고 있음을 실감하게 되었다. 이는 여러 영상에서 씬(scene)을 희박하게 3D 재구성하는 방법으로 이어졌다. 뿐만 아니라 촘촘한 스테레오 통신 문제와 더 나아가서는 멀티 뷰 스테레오 기법에 대한 진전이 이루어졌다. 동시에, 이미지 분할을 해결하기 위해 그래프 자르기 변형이 사용되었다. 또한 이 10년은 이미지에서 얼굴을 인식하기 위해 실제로 통계 학습 기법이 사용된 최초의 시기에 해당된다. 1990년대 말, 컴퓨터 그래픽과 컴퓨터 비전 사이의 상호작용이 증가하면서 중요한 변화가 일어났다. 여기에는 이미지 기반 렌더링, 이미지 모핑, 뷰 보간, 파노라마 이미지 스티칭 및 초기 광장 렌더링이 포함되었다.
최근 연구를 통해 기계 학습 기법 및 복잡한 최적화 프레임워크와 함께 사용되는 특징 기반 방법의 부활을 목격했다. 딥러닝 기법의 발전은 컴퓨터 비전 분야에 더 많은 생명을 불어넣었다. 분류, 세분화, 광학 흐름에 이르는 작업에 대한 몇 가지 벤치마크 컴퓨터 비전 데이터 세트의 딥러닝 알고리즘의 정확도가 이전보다 대폭 상승하게 되었다.[1]
관련 분야
- 인공지능
인공지능 분야는 로봇 시스템이 환경을 탐색할 수 있도록 자율적인 계획이나 심의를 다룬다. 이러한 환경을 탐색하려면 이에 대한 자세한 이해가 필요하다. 환경에 대한 정보는 컴퓨터 비전 시스템에 의해 제공되어 비전 센서의 역할을 하고, 환경과 로봇에 대한 높은 수준의 정보를 제공할 수 있다. 인공지능과 컴퓨터 비전은 패턴 인식과 학습 기법 등 다른 주제를 공유한다. 결과적으로, 컴퓨터 비전은 인공지능 분야나 일반적으로 컴퓨터 과학 분야의 한 부분으로 보여진다.
- 고체물리학
고체 상태의 물리학은 컴퓨터 시각과 밀접한 관련이 있는 또 다른 분야이다. 대부분의 컴퓨터 비전 시스템은 전자기 방사선을 감지하는 이미지 센서에 의존하는데, 이는 일반적으로 가시광선이나 적외선 광선의 형태이다. 이 센서는 양자물리학을 사용하여 설계되었다. 빛이 표면과 상호작용하는 과정은 물리학을 사용하여 설명된다. 물리학은 대부분의 영상 시스템의 핵심 부분인 광학의 행동을 설명한다. 정교한 이미지 센서는 이미지 형성 과정을 완전히 이해하기 위해 양자역학까지 필요로 한다. 또한 물리학의 다양한 측정 문제를 컴퓨터 비전을 이용하여 해결할 수 있다.
- 신경생물학
중요한 역할을 하는 세 번째 분야는 신경생물학, 특히 생물학적 시력 시스템의 연구다. 지난 세기 동안, 인간과 다양한 동물 모두의 시각적 자극의 처리에 헌신한 눈과 뉴런, 그리고 뇌 구조에 대한 광범위한 연구가 있었다. 이로 인해 특정 시각 관련 업무를 해결하기 위해 실제 비전 시스템이 어떻게 작동하는지 복잡하게 기술하게 되었다. 이러한 결과는 인공 시스템이 서로 다른 수준의 복잡도에서 생물학적 시스템의 처리와 행동을 모방하도록 설계되는 컴퓨터 비전 내의 하위 영역으로 이어졌다. 또한 컴퓨터 비전 내에서 개발된 학습 기반 방법들인 신경망과 딥러닝 기반 이미지 및 특징 분석과 분류 중 일부는 생물학에서 그 배경을 가지고 있다.
컴퓨터 비전 연구의 일부는 생물학적 비전의 연구와 밀접하게 연관되어 있는데, 실제로 인공지능 연구의 많은 부분이 인간의 의식에 대한 연구와 밀접하게 연관되어 있으며, 시각 정보를 해석, 통합, 활용하기 위해 저장된 지식을 사용하는 것과 같이 컴퓨터 비전 연구의 일부는 생물학적 시각의 연구와 밀접하게 관련되어 있다. 생물학적 비전 분야는 인간과 다른 동물에서 시각적 지각 이면의 생리학적 과정을 연구하고 모델링한다. 반면에 컴퓨터 비전은 인공적인 비전 시스템 뒤에 있는 소프트웨어와 하드웨어에서 구현되는 프로세스를 연구하고 설명한다. 생물학적 시각과 컴퓨터 시각 사이의 학제간 교류는 두 분야에서 모두 성과가 있는 것으로 입증되었다.
- 신호처리
컴퓨터 비전과 관련된 또 다른 분야는 신호 처리다. 일반적으로 시간적 신호인 변수 1 신호의 처리 방법은 컴퓨터 시야에서 변수 2 신호나 다변수 신호를 처리하는 자연적인 방법으로 확장될 수 있다. 그러나, 이미지의 특수성 때문에 컴퓨터 비전 내에서 개발된 많은 방법들이 있으며, 단변수 신호 처리에는 그 대안이 없다. 신호의 다중차원성과 함께, 이것은 신호 처리의 하위 영역을 컴퓨터 비전의 일부로 정의한다.
- 기타
위에서 언급한 컴퓨터 비전에 관한 견해 외에도, 관련 연구 주제들 중 많은 것들이 순전히 수학적인 관점에서 연구될 수 있다. 예를 들어, 컴퓨터 시력의 많은 방법들은 통계, 최적화 또는 기하학에 기초한다. 마지막으로, 이 분야의 상당 부분은 컴퓨터 비전의 구현 측면, 즉 소프트웨어와 하드웨어의 다양한 조합에서 기존의 방법을 실현할 수 있는 방법, 또는 이러한 방법을 수정하여 성능을 너무 잃지 않고 처리 속도를 높일 수 있는 방법 등에 전념한다. 컴퓨터 비전은 패션 전자상거래, 재고 관리, 특허 검색, 가구, 미용 산업에도 사용된다.
컴퓨터 비전과 가장 밀접한 관련이 있는 분야는 이미지 처리, 이미지 분석, 머신 비전이다. 이것들이 다루는 기술과 응용의 범위에는 상당한 중복이 있다. 이는 이들 분야에서 사용·개발되는 기초기술이 유사하다는 것을 시사하는 것으로, 이름이 다른 분야가 하나뿐이라는 해석도 가능하다.[1]
주요 기술
휴먼 포즈 에스티메이션
컴퓨터 비전은 컴퓨터를 사용하여 인간의 시각적인 인식 능력을 구현하는 것을 목표로 한다. 카메라로 촬영된 이미지나 영상을 분석하여 정보를 추출하는 것이 핵심이다 보니 객체의 위치와 방향을 탐지하는 것은 컴퓨터 비전에서 자주 등장하는 문제이다. 이 중 사람이 취한 자세를 인식하는 기술을 '휴먼 포즈 에스티메이션'(Human Pose Estimation)이라고 합니다. 말 그대로 사진이나 영상 속에서 사람의 신체 관절이 어떻게 구성되어 있는지 위치를 추정하는 문제로 볼 수 있다. 그런데 사진 속에 담긴 사람의 모습은 모든 관절이 보이는 것은 아니다. 같은 자세라도 촬영된 방향에 따라 다르고, 때로는 다른 물체에 가려져 있기도 하며, 다양한 옷을 입고 있기도 하다. 빛의 세기나 강도에 따라서도 추정하기 어려워질 수 있다. 그래서 전체적인 추론(Holistic Reasoning)이 필요하다. 이처럼 휴먼 포즈 에스티메이션 기술은 컴퓨터 비전에서 오랫동안 다루어져 왔음에도 불구하고 여전히 어려운 분야에 속한다.
전통적인 자세 인식 방법은 사람에게 센서와 같은 다양한 장비를 부착하는 것이다. 움직임을 실시간으로 정교하게 파악할 수 있지만 높은 비용이 들어가기도 하고 실생활에서 항상 장비를 착용하는 것이 아니어서 연구실 또는 한정된 영역에서만 가능한 방법이다. 그래서 몸에 부착하는 장비 없이, 사진에서 자세를 추정하는 휴먼 포즈 에스티메이션 연구가 진행되었다. 자세를 추정하기 위해서는 사진에서 인체의 윤곽이나 특정 신체 부위를 추론할만한 외곽선 등의 특징을 추출해야 한다. 이 특징의 패턴을 사람이 직접 분석하고 응용하여 신체 부위를 예측할 수 있게 되었고, 효율성과 정확성이 날로 높아지고 있다.
최근 딥러닝은 컴퓨터 비전의 여러 분야에서 눈부신 성능 향상을 보이며 휴먼 포즈 에스티메이션 연구 패러다임을 바꾸고 있다. 딥러닝은 다층 인공신경망을 이용하며, 유용한 특징들을 데이터로부터 직접 학습하는 방식을 취한다. 이러한 학습 기반의 방법은 사람이 미처 인지하지 못하는 유용한 특징들을 데이터를 통해 직접 찾아낼 수 있다는 장점이 있다. 휴먼 포즈 에스티메이션 분야에서도 딥러닝을 활용한 연구가 활발히 진행 중이고 문제 해결에 큰 성과를 거두고 있다. 자세 추정이 점점 정확해지면서 그 응용 분야도 자세 교정, 행동 인식, 이상 행동 감지, 안전 예방 시스템, 증강현실 등으로 확대되고 있다. 최근에는 2차원 자세를 넘어서 3차원 자세 추출에서도 많은 연구가 진행 중이다.
오픈포즈
오픈포즈(OpenPose)는 세계 최대 '컴퓨터 비전 및 패턴 인식' 컨퍼런스인 CVPR(IEEE Conference on Computer Vision and Pattern Recognition) 2017에서 발표된 프로젝트로 미국 카네기멜론대학교에서 개발하였다. 딥러닝의 합성곱 신경망(CNN)을 기반으로 하며, 사진에서 실시간으로 여러 사람의 몸, 손, 그리고 얼굴의 특장점을 추출할 수 있는 라이브러리다. 이 프로젝트의 특징은 여러 사람의 자세를 빠르게 찾을 수 있다는 것이다. 오픈포즈가 발표되기 전에는 여러 사람의 자세를 추정하기 위해 사진에서 각각의 사람을 검출하고 검출된 사람에 대해 자세를 찾도록 반복 수행하는 탑-다운(Top-Down, 하향식) 방식을 주로 사용했다. 오픈포즈는 바텀-업(Bottom-Up, 상향식) 방식으로 반복적인 처리 없이 성능을 향상시켰다. 바텀-업 방식은 모든 사람의 관절을 추정하고, 각 관절의 위치를 이은 다음, 각각에 해당하는 사람의 관절 위치로 재생성하는 방식이다. 대게 바텀-업 방식은 관절이 어느 사람에게 속하는가의 문제로 정확도가 떨어지는 상황이었다. 오픈포즈는 이를 보완하기 위해서 신체 부위가 어느 사람에게 속하는지 유추할 수 있는 특징(Part Affinity Fields)을 이용하여 접근했다.
- 주요 기능
오픈포즈의 주요 기능은 사진이나 동영상 또는 카메라 입력을 통해서 여러 사람의 신체 부위 특징점의 위치를 실시간으로 추적해 주는 것이다. 여기에서 특징점은 어깨, 손목 등 몸의 관절뿐만 아니라 손과 얼굴도 포함된다.
- 딥러닝 네트워크 구조
네트워크의 입력은 높이(h) x 폭(w) 크기의 컬러 이미지이고 VGG-19 네트워크의 일부를 통과하게 된다. VGG 네트워크는 옥스포드대학교의 비주얼 지오메트리 그룹(Visual Geometry Group)에서 개발했다. 세계 최대 이미지 인식 경연대회인 ILSVRC 2014년 행사에서 구글넷(GoogleNet)과 함께 주목을 받으며 근소한 차이로 2위를 차지했지만, 구조가 간단하여 이해하기 쉽고 변형을 시켜가면서 테스트하기 용이한 장점이 있다.
이미지가 VGG-19 네트워크의 입력으로 들어가면, 합성곱 신경망의 C와 P를 거쳐서 특징맵(F)을 생성하게 된다. 특징맵(F)은 처음에는 큰 의미 없는 내용이 담겨 있지만, 그 내용을 학습 데이터와 비교하며 차이점을 점점 줄여나가는 방향으로 최적화를 하면 학습 데이터에 맞는 특징을 갖게 될 것이다. 그리고 이 특징맵(F)은 스테이지(Stage) 1의 입력으로 들어간다.
스테이지 1은 2개의 브랜치로 나누어진다. 첫 번째 브랜치의 합성곱 신경망(p1)은 모든 사람의 관절 위치를 결정하는 컨피던스 맵(Confidence Map(S))을 생성한다. 컨피던스 맵은 특정 신체부위가 위치할 가능성에 따라 높은 값(최저 0 ~ 최고 1)을 갖는 흑백 이미지라고 할 수 있다. 관절이 위치한 픽셀을 중심(중심 값은 1.0)으로 퍼지면서 값이 감소하는 히트맵(Heatmap)을 만든다.[2]
각주
- ↑ 1.0 1.1 1.2 Computer vision Wikipedia - https://en.wikipedia.org/wiki/Computer_vision
- ↑ 송철호, 〈주목받는 컴퓨터비전 기술: 딥러닝 기반의 휴먼 포즈 에스티메이션〉, 《삼성 SDS》, 2020-03-20
참고자료
- Computer vision Wikipedia - https://en.wikipedia.org/wiki/Computer_vision
- 송철호, 〈주목받는 컴퓨터비전 기술: 딥러닝 기반의 휴먼 포즈 에스티메이션〉, 《삼성 SDS》, 2020-03-20 </ref>
같이 보기