본문 바로가기

Industry 4.0/IT Convergence

컴퓨터의 눈, Open CV 란?

728x90
반응형

OpenCV : http://opencv.org/

 

OpenCV (Open Source Computer Vision Library)

실시간 컴퓨터 비전을 목적으로 한 프로그래밍 Library 이다. 
실시간 이미지 프로세싱에 중점을 둔 라이브러리이다. 인텔 CPU에서 사용되는 경우 속도의 향상으 볼 수 있는 IPP ( Intel Performance Primitives ) 를 지원한다.
이 라이브러리는 윈도우, 리눅스 등에서 사용 가능한 크로스 플랫폼이며 오픈소스 BSD 허가서 하에서 무료로 사용할 수 있다. OpneCV 는 TensorFlow , Torch / PyTorch 및 Caffe 의 딥러닝 프레임워크를 지원한다


컴퓨터 비전 분야는 사람이 시각 정보를 입력값으로 하여 행동하기 이전에 생각하고 판단하는 부분을 컴퓨터가 대신하도록 하는 인공지능 관련 학문이며 다만, 시각적인 입력 데이터, 즉 영상을 주로 다룬다는 것이 차이점이다.


OpenCV는 Computer Vision 관련 프로그래밍을 쉽게 할 수 있도록 도와주는 Open Library이다. OpenCV는 영상처리, 3D 구성, 추적, 기계학습, 인식 그리고 딥러닝까지 유용한 기능이 아주 많으며 상업적인 용도로도 무료이다

OpenCV는 C / C++ 프로그래밍 언어로 개발 되었으며 Python , Java , mathlab / OCTAVE 에 바인딩 되어 프로그래머에게 개발 환경을 지원한다
( ex : OpenCV / C++ 사용하여 영상개발 등 )
Low level , High level API 지원 등

 

1. OpenCV는 line detection, object detection 과 같은 기본 기술부터 부터 시작해서
최신 기술인 자율주행, 딥러닝에도 많이 사용된다 주로 컴퓨터의 눈을 담당하는 기술이며,
사용하는 법은 라이브러리에 있는 자료들을 꺼내서 사용하고 수정도 가능하다

2. 자율주행에도 관심이 많아 자주 코딩을 연습해보는데, 도로선을 확인하는 line detection, 사람, 차 등 아래 사진처럼 object들을 확인하는 object detection은 물론 돌발상황 감지와 주행 스킬도 모두 OpenCV를 통하여 이루어진다.
자율주행기술이 상용화 되려면 필수

3. 이미지 딥러닝에도 OpenCV는 활용된다. CPU를 사용하다 GPU를 사용한 프로세스 처리가 가능해지면서, 이미지 딥러닝 또한 가능해지고 러닝 속도 또한 비약하다.
주로 특징을 잡아 확인하고 인식하는데 도움을 주고, AlphaGo와 같은 기술도 바둑판을 이미지로 생각하여 러닝한 결과

 

 

 

 

위 장점들처럼, OpenCV는 현대 컴퓨터 기술의 정수라고 할 수 있습니다. 

[ OpenCV 튜토리얼https://docs.opencv.org/master/d9/df8/tutorial_root.html ] 에서 연습해보시는 것도 추천드립니다.

 

또한 OpenCV, 이미지 딥러닝을 사용한 알파고 기술에 관심있는 분을 위해 Nature의

알파고 논문은 [https://www.nature.com/articles/nature16961.pdf] 여기서 확인하실 수 있습니다. 

 

 

 

 

참조 : 위키 , Mi-Ryang Kim's Cyber Lab , 인프런

728x90
반응형