컴퓨터 비전은 인공지능(AI)의 한 분야로, 컴퓨터와 시스템을 통해 디지털 이미지, 비디오 및 기타 시각적 입력에서 의미 있는 정보를 추출한 다음 이러한 정보를 바탕으로 작업을 실행하고 추천할 수 있도록 합니다. AI를 통해 컴퓨터가 생각을 할 수 있다면 컴퓨터 비전을 통해서는 컴퓨터가 보고, 관찰하고 이해할 수 있습니다.
컴퓨터 비전은 인간이 앞서 출발했다는 점을 제외하면 인간의 시각과 메커니즘이 거의 동일합니다. 인간의 시력은 사물이 얼마나 멀리 떨어져 있는지, 사물이 움직이는지 여부, 이미지에 문제가 있는지 여부 등으로 사물을 구분하고, 이러한 구분 방법을 평생 학습합니다.
컴퓨터 비전은 이러한 구분을 수행하도록 머신을 훈련하지만 망막, 시신경, 시각 피질이 아닌 카메라, 데이터 및 알고리즘을 사용하여 훨씬 더 짧은 시간에 수행해야 합니다. 제품을 검사하거나 생산 자산을 관찰하도록 훈련된 시스템은 수천 개의 제품 또는 프로세스를 짧은 시간 동안 분석하여 감지할 수 없는 결함이나 문제를 찾아낼 수 있기 때문에 인간의 능력을 금방 앞지를 수 있습니다.
컴퓨터 비전은 에너지 및 유틸리티부터 제조, 자동차에 이르기까지 다양한 산업에서 사용되며, 시장은 계속 성장하여 2022년이면 그 규모가 486억 달러에 이를 것으로 예상됩니다.1
컴퓨터 비전에는 많은 데이터가 필요하며, 차이를 구분하고 궁극적으로 이미지를 인식할 때까지 데이터 분석을 반복적으로 실행합니다. 예를 들어 자동차 타이어를 인식하도록 컴퓨터를 훈련시키려면 특히 결함이 없는 타이어를 인식하고 차이점을 학습하기 위해 방대한 양의 타이어 이미지와 타이어 관련 데이터를 공급해야 합니다.
이를 위해 두 가지 필수 기술이 사용되는데, 하나는 딥 러닝이라고 하는 일종의 머신 러닝이고 다른 하나는 컨볼루션 신경망(CNN)입니다.
머신 러닝은 컴퓨터가 시각적 데이터의 컨텍스트에 따라 스스로 학습할 수 있도록 하는 알고리즘 모델을 사용합니다. 이 모델을 통해 충분한 데이터가 공급되면 컴퓨터가 데이터를 "보고", 이미지를 서로 구별할 수 있도록 스스로 학습합니다. 알고리즘을 사용하면 누군가가 이미지를 인식하도록 프로그래밍하는 대신 컴퓨터가 스스로 학습할 수 있습니다.
CNN은 이미지를 태그 또는 레이블이 지정된 픽셀로 분해하여 머신 러닝 또는 딥 러닝 모델이 "볼 수 있는" 형태로 만듭니다. 그런 다음 레이블을 사용하여 컨볼루션(세 번째 함수를 생성하는 두 함수에 대한 수학적 연산)을 수행하고 "보고 있는" 것에 대해 예측을 수행합니다. 신경망은 컨볼루션을 실행하는데, 예측이 실현되기 전까지 일련의 반복을 통해 예측의 정확성을 확인합니다. 그런 다음 인간과 유사한 방식으로 이미지를 인식하거나 보게 됩니다.
인간이 적당한 거리를 두고 이미지를 만드는 것처럼 CNN은 먼저 명확한 가장자리(hard edge)와 단순한 도형을 구분한 다음 예측을 반복하면서 정보를 채웁니다. CNN은 단일 이미지를 구분하는 데 사용됩니다. 순환 신경망(RNN)은 비디오 애플리케이션에서 이와 유사한 방식으로 사용되는데, 컴퓨터가 여러 프레임으로 구성된 그림이 서로 어떻게 관련되어 있는지 이해하는 데 도움이 됩니다.
과학자와 엔지니어들은 약 60년 동안 컴퓨터가 시각적 데이터를 보고 이해할 수 있는 방법을 개발하기 위해 노력해 왔습니다. 실험은 1959년에 시작되었는데, 당시 신경 생리학자들은 고양이에게 일련의 이미지를 보여주고 뇌의 반응을 상관분석하려고 시도했습니다. 이들은 고양이가 명확한 가장자리 또는 명확한 선에 먼저 반응한다는 것을 발견했습니다. 과학적으로 해석하면, 이미지 처리가 직선 가장자리와 같은 단순한 도형에서 시작됨을 의미합니다.(2)
이와 거의 동시에 최초의 컴퓨터 이미지 스캐닝 기술이 개발되었는데, 이 기술을 통해 컴퓨터가 이미지를 디지털화하고 획득할 수 있게 되었습니다. 컴퓨터 비전은 1963년 또 다른 마일스톤에 도달했는데, 컴퓨터가 2차원 이미지를 3차원 형태로 변환할 수 있게 된 것입니다. AI는 1960년대에 하나의 학술 분야로 등장했고, 이는 인간의 시각 문제를 해결하기 위한 AI 탐구의 시작이기도 했습니다.
1974년에는 어떤 글꼴이나 서체로 인쇄된 텍스트든 인식할 수 있는 광학 문자 인식(OCR) 기술이 도입되었습니다.(3) 이와 유사하게 지능형 문자 인식(ICR)은 신경망을 사용하여 손으로 쓴 텍스트를 해독할 수 있습니다.(4) 그 이후 OCR과 ICR은 문서 및 송장 처리, 차량 번호판 인식, 모바일 결제, 기계 번역 및 기타 일반 애플리케이션에 적용되었습니다.
1982년 신경과학자 David Marr는 시각이 계층적으로 작용한다는 개념을 확립하고 컴퓨터가 가장자리, 모서리, 곡선 및 유사한 기본 도형을 감지하는 알고리즘을 도입했습니다. 동시에 컴퓨터 과학자 Kunihiko Fukushima는 패턴을 인식할 수 있는 세포망을 개발했습니다. 네오코그니트론(Neocognitron)이라고 하는 이 네트워크의 신경망에는 컨볼루션 레이어가 포함되어 있습니다.
2000년까지 연구의 초점은 객체 인식에 맞춰져 있었고, 2001년에는 최초의 실시간 얼굴 인식 애플리케이션이 등장했습니다. 시각적 데이터 세트에 태그를 지정하고 어노테이션을 추가하는 방법의 표준은 2000년대에 나타났습니다. 2010년 ImageNet 데이터 세트를 사용할 수 있게 되었습니다. 여기에는 수천 개의 객체 클래스를 포괄하는 수백만 개의 태그가 지정된 이미지가 포함되어 있으며, 이는 오늘날 사용되는 CNN 및 딥 러닝의 토대가 되었습니다. 2012년 토론토 대학교의 한 팀은 CNN으로 이미지 인식 컨테스트에 출전했습니다. AlexNet이라는 모델은 이미지 인식 오류율을 크게 줄였습니다. 이 혁신 이후 오류율은 불과 몇 퍼센트로 떨어졌습니다.(5)
컴퓨터 비전 분야에서 많은 연구가 이루어지고 있지만, 이러한 연구는 단순한 연구에 그치지 않습니다. 실제 애플리케이션은 비즈니스, 엔터테인먼트, 운송, 의료 및 일상 생활에서 컴퓨터 비전이 얼마나 중요한 역할을 하는지 보여줍니다. 이러한 애플리케이션 성장의 핵심 동인은 스마트폰, 보안 시스템, 교통 카메라 및 기타 시각적 계측 디바이스에서 쏟아지는 시각 정보입니다. 이 데이터는 산업 전반의 운영에서 중요한 역할을 할 수 있지만 오늘날에는 대부분 사용되지 않습니다. 이 정보는 컴퓨터 비전 애플리케이션을 훈련시키기 위한 테스트 베드를 생성하거나 다양한 인간 활동의 일부가 되도록 런치패드를 만듭니다.
컴퓨터 비전 연구실에 자금을 지원하고 딥 러닝 모델과 신경망을 구축할 리소스를 보유한 조직은 많지 않습니다. 그리고 조직에는 방대한 양의 시각적 데이터를 처리하는 데 필요한 컴퓨팅 성능이 부족할 수 있습니다. IBM과 같은 기업들이 컴퓨터 비전 소프트웨어 개발 서비스를 제공하여 도움을 주고 있습니다. 이러한 서비스는 클라우드에서 사용할 수 있는 사전 구축된 학습 모델을 제공하는 것은 물론 컴퓨팅 리소스에 대한 요구를 줄여줍니다. 사용자는 API(애플리케이션 프로그래밍 인터페이스)를 통해 서비스에 연결하고 이를 사용하여 컴퓨터 비전 애플리케이션을 개발합니다.
또한 IBM은 개발 및 컴퓨팅 리소스 문제를 모두 해결하는 컴퓨터 비전 플랫폼을 도입했습니다. IBM Maximo Visual Inspection에는 주제 전문가(SME)가 코딩이나 딥 러닝 전문 지식 없이도 딥 러닝 비전 모델에 레이블을 지정하고 훈련 및 배치할 수 있는 도구가 포함되어 있습니다. 비전 모델은 로컬 데이터 센터, 클라우드 및 에지 디바이스에 배치할 수 있습니다.
컴퓨터 비전 애플리케이션을 개발하기 위한 리소스를 확보하는 것이 점점 더 쉬워지면서 초반에 이러한 애플리케이션이 정확히 무엇을 하는지 이해하는 것이 중요해졌습니다. 특정 컴퓨터 비전 작업을 이해하고 정의하면 프로젝트와 애플리케이션에 집중하고 검증할 수 있으며 보다 쉽게 시작할 수 있습니다.
다음은 확고히 자리 잡은 컴퓨터 비전 사용 작업의 몇 가지 예입니다.
1. https://www.forbes.com/sites/bernardmarr/2019/04/08/7-amazing-examples-of-computer-and-machine-vision-in-practice/#3dbb3f751018 (ibm.com 외부 링크)
2. https://hackernoon.com/a-brief-history-of-computer-vision-and-convolutional-neural-networks-8fe8aacc79f3 (ibm.com 외부 링크)
3. 광학 문자 인식, 위키백과 (ibm.com 외부 링크)
4. 지능형 문자 인식, 위키백과 (ibm.com 외부 링크)
5. A Brief History of Computer Vision (and Convolutional Neural Networks), Rostyslav Demush, Hacker Noon, 2019년 2월 27일 (ibm.com 외부 링크)
6. 7 Amazing Examples of Computer And Machine Vision In Practice, Bernard Marr, Forbes, 2019년 4월 8일 (ibm.com 외부 링크)
7. The 5 Computer Vision Techniques That Will Change How You See The World, James Le, Heartbeat, 2018년 4월 12일 (ibm.com 외부 링크)