반응형

기존에 쓰던 OpenCV2.1과 OpenCV 3.1의 속도 차이를 비교해 보려 한다.

OpenCV2.1은 기본 빌드였고, OpenCV3.1은 TBB, CUDA 등의 옵션을 추가하였다.

테스트는, 원본 동영상의 처음부터 200번째 프레임까지 

해당 영상 처리를 적용하면서 얼마나 시간이 소요되는지를 측정하여

FPS를 구하였다.

원본 동영상의 사이즈는 640 * 360, Resize는 1280 * 720으로 하였다.

참고로, PC 사양은 다음과 같다.

  • 프로세서 : Intel(R) Core(TM)2 Duo CPU E4600 @ 2.40GHz  2.40 GHz
  • RAM     : 2.00GB
  • 시스템   : 32비트 운영체제, x64 기반 프로세서


결과는 다음과 같다.

비교항목 

OpenCV2.1 

OpenCV3.1(TBB) 

OpenCV3.1(TBB+CUDA) 

기본 

 62.75 FPS

 63.37 FPS

 

Resize 

 15.70 FPS

 18.03 FPS

 

떨림보정 

 8.01 FPS

 28.26 FPS

 

객체추적

 42.66 FPS

 59.26 FPS

 

안개보정

 28.01 FPS

 29.22 FPS

 

윤곽선 강조

 15.84 FPS

 31.45 FPS

 

떨림+객체+안개+윤곽

 5.53 FPS

 15.08 FPS

 

Resize+떨림+객체+안개+윤곽

 1.58 FPS

 4.39 FPS

 


이로써, OpenCV3.1(with TBB)로 전환함으로써 속도 향상이 가능함을 확인하였다고 할 수 있다.

한편 CUDA에 대해서는, 별도의 그래픽카드를 장착하지 않았기 때문에 테스트하지 못했다.

반응형

'영상처리 프로젝트' 카테고리의 다른 글

OpenCV속도비교2  (1) 2016.02.29
OpenCV 3.x에서의 OpenCL  (0) 2016.02.25
OpenCV 3.0 빌드 체험기2  (0) 2015.12.15
OpenCV 3.0 빌드 체험기  (0) 2015.12.10
HD 및 HDR의 이해  (0) 2015.12.04
반응형

OpenCV 3.0 빌드 체험기

기존에 쓰던 OpenCV 버전이 2.1인데,

속도 개선도 좀 하고, 혹시 새로운 알고리즘도 활용할 수 있지 않을까 해서

이참에 3.0으로 업데이트해 보려고 한다.

OpenCV 3.0의 Pre-Built 버전은 VC11과 12용으로밖에 안나와 있어서,

사정상 VC2008을 써야 하는 나로써는

소스로부터 직접 빌드를 해야 한다.

그런데, 빌드 과정이 내게도 익숙하지 않은지라,

다음 사이트를 참고해서 한단계씩 진행해 나가고,

그 과정을 기록해 보려 한다.

* 참고 사이트 : http://docs.opencv.org/3.0-beta/doc/tutorials/introduction/windows_install/windows_install.html


  • 다음 사이트로부터, 윈도우즈용 OpenCV를 다운로드한다.
    • http://opencv.org/downloads.html
  • 참고 사이트 내용대로, OpenCV를 빌드한다.
    1. 사전 준비 사항 
      • TBB : 병렬 처리를 통해 속도 향상 가능. Intel은 물론 AMD CPU에서도 사용 가능
      • IPP : 멀티 코어 시스템상에서 멀티미디어, 데이터 처리, 통신 등을 빠르게 처리할 수 있도록 최적화해서 제공되는 라이브러리. OpenCV에 이미 포함되어 있으므로, 따로 신경 쓰지 않아도 됨
      • Intel ⓒ IPP Asynchronous C/C++는, 아직 IPP에 포함되지 않는 것 같으므로 건너뜀
      • Eigen : 선형대수를 위한 C++ 라이브러리
      • CUDA는, AMD에 적용할 수 없으므로 건너뜀
      • OpenEXR은, HDR(High Dynamic Range)를 위한 작업에 사용되므로, 건너뜀
      • OpenNI Framework는, Kinect와 같은 장치를 쓸 때 필요하므로, 건너뜀
    2. 빌드를 위해, CMake를 Install한다.(CMake는, 크로스-플랫폼 빌드 도구이다.)
    3. Git 툴을 인스톨한다.(예:msysgit + TurtoiseGit)
    4. 어느 폴더에 다운로드 받을지를 정한 다음(예 : D:\OpenCV), 다음 주소의 내용을 Clone한다
    5. TBB를 다운로드한 다음, 압축 해제 후 특정 폴더(예 : D:\OpenCV/dep)에 넣어둔다.
    6. CMake(cmake-gui) 실행 후, OpenCV 소스폴더를 지정(예 : D:\OpenCV/Source)해 주고, 빌드용 파일이 저장될 폴더를 지정(예 : D:\OpenCV/Builds)해 준다.
    7. Configure 버튼을 누른다. 그러면, 컴파일러를 지정하라는 대화상자가 뜨는데, 적절한 컴파일러(내 경우는 Visual Studio 9 2008)을 선택해 준다.
    8. 빌드 가능한 패키지들이 기본적으로 선택되어진 화면이 나타난다. 여기에 추가할 패키지를 선택하고, 다시 Configure 버튼을 누른다.
    9. 빌드 정보가 부족한 경우, 추가적인 정보를 입력할 수 있게 해당 필드가 빨갛게 하이라이트 되어서 나타난다(내 경우는, TBB의 INCLUDE폴더 경로). 해당 필드를 수동으로 입력해 준 다음, 다시 Configure버튼을 누른다. 이 과정을 빨간색 하이라이트가 나오지 않을 때까지 반복한다.
    10. Generate 버튼을 누르면, 빌드용 파일이 지정된 폴더에 저장된다.
    11. 해당 폴더로 가서, OpenCV.sln파일을 열면 VisualStudio에서 솔루션이 열린다. 이후로는, VisualStudio를 통해 빌드를 진행하면 된다.


반응형

+ Recent posts