01. 컴퓨터 비전, 그게 뭔데요?
셀카 찍는 것 좋아하시는 분들, 뷰티 효과가 들어간 어플 많이 이용하시죠? 또 영상에 얼굴을 자연스럽게 합성해준다는 딥페이크 기술 관련 이야기도 매체에서 한번쯤 들어보셨을텐데요. 사진에 합성을 하는 것도 아니고, 움직이는 영상을 따라다니며 자동으로 어떤 효과가 적용되는 원리가 신기하지 않으셨나요? 이렇게 영상이나 이미지에서 시각적 세계를 해석하고 이해하도록 컴퓨터를 학습시키는 인공지능 분야를 ‘컴퓨터 비전(Computer Vision)’이라고 합니다.
컴퓨터 비전 기술은 딥러닝의 등장으로 더욱 그 활용 범위가 확장되고 있는데요. 딥러닝이 컴퓨터의 시각적 인지 능력을 학습시켜서 이미지 분석이나 안면 인식 등도 가능해진 것입니다. 동영상, 사진, 3D 기술을 통해 분석할 이미지를 실시간으로 수집하고, 자동화된 딥러닝의 이미지 수집 프로세스로 이미지 처리 단계를 거친 후, 마지막으로 객체를 식별하거나 분류하는 이미지 파악 단계까지 진행되어 시너지 효과를 내는 것이죠.
컴퓨터 비전 분야에서 활용되는 대표적인 세부 기술들은 아래와 같습니다.
– 영상 분할 (Image segmentation)
영상 분할은 디지털 영상을 여러 개의 픽셀 집합으로 나누는 과정을 말합니다. 분할의 목적은 영상의 표현을 좀 더 의미있고 해석하기 쉬운 것으로 단순화하거나 변환하는 것인데요. 영상 분할은 특히 영상에서 물체와 경계를 찾는데 주로 사용됩니다.
– 데이터 증강 (Data augmentation)
과대표집과 관련하여 수를 늘리는 기술이며, 또한 데이터의 다양성을 증가시켜 모델의 일반화 성능 향상에 효과적인 기법이기도 합니다.
– 메타러닝 (meta-learning / few-shot learning)
메타러닝은 데이터의 패턴을 정해진 프로세스로 학습하는 것이 아니라, 데이터의 특성에 맞춰서 모델 네트워크의 구조를 변화시키면서 학습하는 기술입니다. 즉 배우는 방법을 배우는 것이죠. 하나의 네트워크가 다양한 과업에 잘 적응할 수 있도록 하는 것이 바로 메타러닝의 기본입니다.
– 3D 객체 탐지 (3d object detection)
다시점 영상 혹은 Depth 카메라 등을 이용하여 3D 객체에 대해 인식하는 기술을 3D 객체 탐지라고 합니다. 머신러닝은 이미지에 대한 모델 교육만으로 많은 컴퓨터 비전 기술에서 탁월한 정확도를 달성한답니다.
– 인간 자세 추정 기술 (HPE – human pose estimation)
집에서 AI코칭을 받을 수 있는 스마트 홈트 기술 혹시 들어보셨나요? 이미지/영상으로부터 사람의 관절 위치를 자동으로 측정해주는 기술입니다. 한 명의 사람으로부터 여러 개의 관절 키포인트를 추출하여 그 좌표를 획득하는 방식으로 진행되지요.
이러한 컴퓨터 비전 세부 기술들을 활용하여, 자율주행 자동차를 구현할 수 있게 되었고, 발자국 추적 등을 통해 특정 동물 이동 경로를 자동 분석하여 야생 동물을 보호하고 있습니다. 사진 속 인물을 인식하여 고객의 신원을 정확하게 파악할 수 있기 때문에, 은행이나 카지노 등 보안이 중시되는 산업군에서도 활용하고 있고요. 영화에서나 보던 미래 기술들이 하나 둘 씩 지금 이루어지고 있는 것은, 컴퓨터 비전 딥러닝 기술 덕분이라는 거죠.
02. 컴퓨터 비전 X 딥러닝 프로젝트, 그리고 OpenCV
컴퓨터 비전이 어떤 기술에 쓰이는 분야인지 감이 오셨나요? 컴퓨터 비전 기술을 배우는 데 관심이 있는 분들이라면 이제 시스템 설계 과정도 궁금하실텐데요. 컴퓨터 비전 시스템 설계 과정은 [문제 이해] – [데이터셋 구축] – [알고리즘 설계와 구현] – [성능평가] 이렇게 크게 네 가지 단계로 진행됩니다.
1) 문제 이해
우선 주어진 문제에 대해 직관적이고 철저하게 이해하는 것이 중요해요. 문제의 합리적인 제약 조건을 수립해야 하는 단계인데요. 예를 들어 자동 얼굴 인식기를 구현하고 싶다면, 일정한 크기의 정면 얼굴이라든가 자연광, 어두운 조명 속 얼굴 등 어떠한 조건에서도 얼굴을 추출할 수 있도록 제약조건을 수립하고 결정해야 하는 것입니다.
2) 데이터셋 구축
데이터 베이스는 학습집합과 테스트집합을 합쳐서 이르는 말입니다. 알고리즘을 설계하고 구현하는데 필요한 데이터들을 수집하는 단계이지요.
3) 알고리즘 설계와 구현
주어진 문제에 적합한 알고리즘을 선택합니다. 예를 들어 손의 제스처를 인식해야 하는 상황이라면 ‘Hand gesture recognition (손 제스처 인식)’ 알고리즘을 선택하고, 테두리(edge), 지역/국가(region), 국소부위의 모양(local shape) 중 주된 특징을 고르는 것이지요. 혹은 사람의 움직이는 동작을 트래킹해야 하는 상황이라면, ‘Human tracking’ 추적 알고리즘을 선택하면 되고요. 기존 성능 비교 분석 논문을 참조하거나, 경험 혹은 직관에 의해 선택할 수도 있겠죠?
4) 성능평가
위의 단계에서 설계하고 구현한 알고리즘의 성능이 실제로 잘 이루어지는지 평가하는 단계입니다. 샘플들로 실험해 본 다음, 맞는 샘플 수, 기각한 샘플 수, 틀린 샘플 수 개수를 세어 정인식률(correct recognition rate), 기각률(rejection rate), 오류율(error rate)을 계산하면 됩니다.
컴퓨터 비전에 대해 어느 정도 관심을 갖고 계셨던 분들은 ‘OpenCV’에 대해서도 들어 보셨을텐데요. 쉽게 말하자면 위와 같이 컴퓨터 비전 시스템 설계 과정에 있어 프로그래밍으로 사용하는 무료 라이브러리가 바로 ‘OpenCV (open source Computer Vision)’입니다.
우선 OpenCV는 일반인들도 접근할 수 있는 오픈 소스이기 때문에 쉽게 강력한 인프라를 다룰 수 있게 되었고요.
덕분에 전세계적으로 누구나 사람의 얼굴을 인식하는 소프트웨어를 제작하여 활용하고 있습니다. 위에서 언급한 자율주행 자동차 말고도 의료, 농업, 은행, 자영업 등 다양한 분야에서 사용이 되고 있지요. 게다가 많은 유저들이 이용하기 때문에 그만큼 알고리즘과 다양한 프로젝트들이 공유되고 있어 활용이 점점 쉬워지고 있다는 장점이 있습니다. 하지만 수많은 사진과 영상, 정보를 학습하게 되면서 누구든지 자유롭게 볼 수 있다 보니 사생활 침해 문제가 항상 존재하겠지요. 기술의 이면은 늘 존재하기 마련이니, 옳은 방향으로만 활용한다면 최고의 미래 기술을 사용하는 딥러너가 될 수 있겠습니다.
03. 세상이 이렇게 컴퓨터 비전에 주목하는 이유는 무엇일까?
그렇다면 세상이 이렇게 컴퓨터 비전에 주목하는 이유는 무엇일까요? 답은 간단합니다. 미래 산업으로 활용될 기술 중 대부분은 컴퓨터 비전 기술을 필요로 하기 때문이지요. 자율주행, 의학 분야, 딥페이크, 신원 확인 등 미래의 산업 대부분은 컴퓨터 비전을 다양하게 활용하는 것들이 많습니다. 어떠한 것들에 쓰이게 될지 그 전망을 예시와 함께 보도록 할게요.
1) 머신 비전
머신 비전은 제조업에서 많이 쓰이는 기술입니다. 컴퓨터 비전을 활용하여 제품의 결함 여부를 실시간으로 확인할 수 있는 기술이지요. 생산 라인에 전용 카메라를 설치하여 완성된 부품의 이미지를 촬영하여 양품 이미지와 비교하는 방식으로 결함을 확인합니다. 일일이 사람이 확인하는 것에는 한계가 있기 마련이기에, 생산 품질이나 생산 속도에 큰 혁신을 가져온 기술이었지요.
2) 쇼핑, 마트 분야 고객 분석
마트나 백화점 등 고객이 쇼핑하러 오는 리테일 분야에서도 컴퓨터 비전이 사용됩니다. 쇼핑객들의 움직임을 분석하여 유통 업체가 제품을 어디다 적절히 배치해야 할지 파악해주고, 재고를 보충할 시기도 예측해 주며, 고객 통계 자료를 더 잘 파악할 수 있게 해줍니다. 매출 증대와 효율적 매장 관리 모두에 도움이 되겠죠.
3) 자율 주행 자동차
자동차의 자율 주행 기술은 컴퓨터 비전 기술의 가장 광범위한 데이터를 활용한 기술 중 하나입니다. 차량 운행 중 앞에 있는 객체를 감지하여 입력 받은 시각 정보를 처리하는 방식이지요. 장애물 회피와 각종 돌발 상황에의 대처를 위해 카메라 외에도 다양한 센서들을 활용하여 필요한 정보를 융합, 분석을 합니다.
4) 얼굴 인식
아마 가장 익숙하게 많이 봤을 기술 중 하나일 겁니다. 셀카 전용 어플에서 활용을 많이 하고 있지요. 얼굴을 자동으로 아름답게 보정해주는 뷰티 기능에 쓰이는데요. 카카오페이 얼굴 인증도 이 기술을 활용하여 가능한 것입니다. 본인 인증 보안을 강화하는데 얼굴만큼 본인 인증을 쉽고 빠르면서도 정확하게 해 줄 수 있는 것이 없으니까요.
이 외에도 차량의 파손 상태를 보다 정확하고 빠르게 인식할 수 있는 보험 업계에서의 활용, 환자의 몸 속을 촬영하여 이상 징후를 발견하는 의료계에서의 활용 등 컴퓨터 비전은 이미 우리 사회에 깊숙이 자리잡고 있는 기술입니다. 앞으로도 계속 성장할 매력적인 시장이기도 하고요. 글로벌 컴퓨터 비전 시장 규모 역시 지속적으로 성장될 것으로 전문가들은 예상합니다. 그러니 딥러닝을 접해 본 적이 있는 분들이라면, 이 미래 기술의 핵심인 컴퓨터 비전에 도전해 보는 것을 추천 드려요. (컴퓨터 비전 사업 성장 전망 관련 참고 기사 : https://bit.ly/37IUgYo )