더북(TheBook)

2.1.1 OpenCV 개요

OpenCV는 오픈 소스로 개발되고 있는 컴퓨터 비전 및 머신 러닝 라이브러리입니다. OpenCV는 Open Source Computer Vision Library의 약어 형태로 이름이 지어졌으며, ‘오픈씨브이’라고 읽습니다. OpenCV는 2500개가 넘는 최신 컴퓨터 비전 알고리즘과 머신 러닝 알고리즘을 포함하고 있습니다. 기본적인 영상 파일 입출력, 영상의 화질 향상, 객체 검출과 인식, 추적, 3차원 비전 문제 해결 등 기능을 제공하고, k 최근접 이웃(kNN, k-Nearest Neighbor) 알고리즘과 서포트 벡터 머신(SVM, Support Vector Machine) 같은 머신 러닝 알고리즘도 제공합니다. 최근에는 딥러닝(deep learning)으로 알려져 있는 심층 신경망(DNN, Deep Neural Network) 모델을 실행하는 기능도 제공되어 OpenCV 라이브러리의 활용도가 더욱 높아지고 있습니다. OpenCV의 공식 웹 사이트 주소는 https://opencv.org/이고, 이곳에서 OpenCV 라이브러리 설치 파일 및 소스 파일을 내려받을 수 있습니다. OpenCV는 현재 1900만 이상의 다운로드 횟수를 기록하고 있고, 전 세계에 5만 명 이상의 사용자를 보유하고 있습니다.

OpenCV는 그 태생부터 실시간 처리를 고려하여 만들어졌기 때문에 다양한 하드웨어 플랫폼에서 매우 빠르게 동작합니다. OpenCV는 기본적으로 C/C++ 언어로 작성되었지만, 현재 널리 사용되고 있는 Python, Java, Matlab, JavaScript 등 인터페이스도 제공합니다. OpenCV는 Windows, Linux, MacOS 등 운영 체제를 지원하고, 안드로이드와 iOS 같은 모바일 환경도 지원합니다. OpenCV 기능은 대부분 병렬 처리로 동작하며 MMX, SSE, AVX, NEON 등 CPU 특화 명령어도 지원합니다. 또한 오래전부터 CUDA와 OpenCL을 통한 GPU 활용을 지원하고 있습니다.

OpenCV 라이브러리는 BSD 라이선스를 따르고 있기 때문에 학계 연구용이나 상업적인 용도로 자유롭게 사용할 수 있습니다. OpenCV 라이브러리를 이용하여 상용 프로그램을 만들 수도 있고, OpenCV 소스 코드의 일부를 사용하여 프로그램을 개발하는 것도 허용됩니다. 실제로 구글, 야후, 마이크로소프트, 인텔, IBM, 소니, 혼다, 토요타와 같은 대기업과 많은 스타트업 회사에서도 OpenCV를 사용하고 있습니다. 구글 스트리트 뷰에서 영상을 이어 붙이는 용도로 사용되기도 하였고, 감시 카메라, 검사 장비, 로봇 또는 자율 주행 자동차에서도 사용되기도 했습니다. 유럽에서는 수영장에서 익사 사고 감시 시스템으로 사용되기도 하였고, 인터렉티브 아트(interactive art)에서도 OpenCV가 사용된 사례가 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.