오픈씨브이는 2010년도 석사 과정을 잠시 진행하던 시기에 흥미롭게 알아본 기억이 있다. 그 당시 돈으로 엄청나게 비쌌던 카메라도 구입해서 작은 취미였는데, 카페 활동도 하면서 즐겁게 코딩을 하던 시절이었다. 하지만 컴퓨터비전 쪽 전공이 아니라 깊이 공부하지 못해 졸업하고 회사에 입사하면서 사실상 잊고 살아온 지 벌써 10여 년이 흘렀다. 아마 그 당시와 비교하면 굉장히 많은 발전을 했을 것이고, 기본적인 수학적 지식이나 따라가지 못하는 부분도 많이 있겠지만 그 당시의 기억을 가지고 이렇게 다시 공부를 시작해보려고 한다. 아마 바쁜 회사 생활 때문에 많은 시간을 투자할 수는 없지만 하나하나 재미있게 알아가야 한다.
앞으로 OpenCV 프로그래밍에 대해서 공부하기 전에 본 포스팅에서는 기본적으로 컴퓨터 비전이 어떤 것이고 OpenCV라는 것이 어떻게 도움이 되는지 간단히 알아보도록 하겠습니다.

컴퓨터 비전이란?
<이미지 출처 : https://www.simplilearn.com/ >

컴퓨터 비전(Computer Vision)은 컴퓨터가 사진과 비디오에서 개체(사람이나 물건)을 식별하고 그 속에 담긴 정보를 추출 및 해석하여 특정 작업을 하는 분야입니다.우리가 잘 아는 얼굴 인식이나 텍스트 인식 등이 하나의 예가 될 수 있습니다.이런 컴퓨터 비전의 최종 목표는 사람이 눈으로 물건을 보면서 인식 과정과 비슷한 수준에서 정보를 인식하고 그 결과를 다양한 애플리케이션에 적용하도록 하는 거지요.그 때문에 화상이나 영상 데이터에서 특징을 추출하고 패턴을 인식하는 기술이 쓰입니다.컴퓨터 비전에는 다음과 같은 역사가 있습니다.1960~70년대에 컴퓨터 비전의 학문이 시작되었던 시기에서 이미지 처리의 기초적인 에지(Edge)검출 및 패턴 인식 같은 간단한 기술이 시작된 시기입니다.1974년에는 폰트와 서체로 인쇄된 텍스트를 인식할 수 있는 광학 문자 인식(OCR)기술이 도입된 시기이기도 합니다.1980~90년대에 컴퓨터 비전이 본격적으로 발전하기 시작한 시점에서 물체 인식(Object detection), 물체 추적(Object tracking), 특징 추출(Feature extraction)등 다양한 이미지 처리 기법과 알고리즘이 개발되기 시작했죠.2000~10년대의 이미지 패턴의 인식 방법을 향상시키기 위해서 머신 러닝 기술이 도입되기 시작한 시기입니다.서포트 벡터 머신(SVM)AdaBoost등의 알고리즘이 개발되고, 이것에 따른 이미지 분류 및 객체 검출 작업의 정확도가 예전에 비해서 크게 향상됩니다.특히 2001년 9월 11테러 이후 출입 통제를 위한 보안 기술이 발달하고 얼굴 인식 기술이 크게 주목 받기 시작했습니다.2010~현재 2012년 인공 지능 학회에서 처음 발표된 CNN(Convolutional Neural Network)알고리즘은 컴퓨터 비전의 핵심 알고리즘, 신경망에 근거한 딥 러닝 기술이 컴퓨터 비전에 접목되게 됩니다.AlexNet, VGG, ResNet등 다양한 모델이 개발되어 이미지 인식 객체 감지 등에서 상당히 높은 정밀도를 달성하기 시작했습니다.또 컴퓨터 비전 모델을 훈련하기 위해서 필요한 막대한 양의 컴퓨팅 성능과 스토리지를 위해서 클라우드 컴퓨팅이 활용되기 시작했으며 머신 러닝을 위한 다양한 라이브러리(유명한 TensorFlow, PyTorch등)이 발표되고 컴퓨터 비전의 핵심 도구로 자리 매김하고 있습니다.컴퓨터 비전의 활용 분야
컴퓨터 비전은 실생활뿐만 아니라 보안과 의료기술 등 다양한 분야에서 활용되고 있습니다. 텍스트 추출
컴퓨터 비전을 이용한 텍스트 추출은 일상생활에서도 자주 사용되는 분야입니다. 최근에는 휴대전화 사진기로도 대부분의 문자 인식이나 문서 번역이 가능하고 바코드 일련번호를 추출하거나 차량 번호판은 인식하는 등 광범위하게 사용되는 기술입니다. 가상 현실(AR)과 증강 현실(VR)
컴퓨터 비전을 활용하여 실시간으로 물체를 인식 및 추적하여 가상 개체를 현실적으로 배치하거나 사용자의 손, 눈, 얼굴의 움직임을 인식하고 이를 반영하여 가상 세계와 현실 세계를 자연스럽게 연결하는 기술이다. 요즘에는 다양한 VR 제품들이 많이 출시되고 있습니다. 자동 운전

실시간으로 개체를 식별하고 추적하여 자동차 주위에 발생하는 상황에 대한 정보를 수집하고 이에 따라 자동차를 주행하는 기술입니다
선수나 공 등의 움직임을 감지하고 이를 추적하여 기량을 분석하거나 전략을 분석하는 데 사용되고 있습니다. 얼굴인식 및 생체인증
스마트폰이나 출입 통제 시스템, 금융 서비스 등에서 얼굴이나 생체 인증 기술을 통해 개인을 식별하는 데 사용되고 있습니다. 의료 분야
의사가 문제를 식별하고 보다 신속하고 정확하게 진단할 수 있도록 의료기기에서 캡처한 사진이나 이미지를 분석해 활용하고 있습니다. OpenCV (Open Source Computer Vision) 란?<출처: https://www.aionlinecourse.com/>OpenCVはイメージ、映像などコンピュータビジョンを通じて入力される情報を基盤に多様な処理アルゴリズムを提供するライブラリです。簡単に人が目で物を見て認知する過程をコンピュータで処理できるように多様なアルゴリズムを提供していると考えればいいです。基本的にプログラミングを通じてリアルタイムイメージや映像を読み取る部分から入力された情報に基づいて、イメージ変換、コーナー/外観線検出、物体認識、ディープラーニングを通じたイメージ学習まで数千種類の最適化されたアルゴリズムを提供します。C++、Python、Java及びMATLABなどの様々な言語に対するインターフェースを提供し、Windows、Linux、Android及びMac OSをサポートしています。また、OpenCV 4.5.0バージョン以上からはApache 2ライセンス、それ以下はBSDライセンスで提供される部分であるため、教育用や商業用として製品を作る時にもこれを活用することができます。(Apache 2が特許関連保護条項がもう少しあるということ以外はBSDと同じように商業用/非商業用ともに自由だそうです。)映像処理に使われる様々な理論や数学的な知識が足りなくても、OpenCVライブラリを使えば簡単にこれを具現できるという長所も持っています。国内でもOpenCV代表フォーラムとしてネイバーカフェが運営中であり、初期よりは活動量が多く減った感がありますが、多くの意見が交わされる疎通の場として活用されています。OpenCV KOREA、韓国最高··· : ネイバーカフェ大韓民国最高のコンピュータビジョンコミュニティ、拡張現実、手の動作インターフェース、マルチタッチなどVision based Interfacecafe.naver.comOpenCV KOREA、韓国最高··· : ネイバーカフェ大韓民国最高のコンピュータビジョンコミュニティ、拡張現実、手の動作インターフェース、マルチタッチなどVision based Interfacecafe.naver.com이것으로 해당 투고는 종료하겠습니다.부족하지만 조금이라도 도움이 되었으면 좋겠습니다!그럼 오늘 하루도 잘 마무리하시고 포스팅에서 틀린 부분이나 추가로 필요한 내용, 기타 문의사항은 언제든지 댓글이나 메일([email protected] )로 의견 부탁드립니다.