[Computer Vision] 영상처리 라이브러리 소개

이정연·2023년 5월 1일
0

Project

목록 보기
2/11

Python 기반 영상처리

scikit-image

Scipy와 Numpy기반의 이미지 처리 라이브러리이다. ffmpeg또는 LibAV 기반으로 동영상을 처리한다.

OpenCV

Open source Computer Vision

인텔이 개발한 최고 인기 컴퓨터 비전 라이브러리이다. 컴퓨터 비전 기능 일반화와 대중화에 크게 기여하였다. read함수를 통해 numpy array로 변환해 저장한다. RGB형태가 아닌 BGR형태로 로딩한다. OpenCV는 간편하게 비디오 영상처리를 할 수 있는 API를 제공한다. VideoCapture 객체는 Video를 Frame별로 Capture하여 처리할 수 있는 기능을 제공한다.

  • CV: 기본 이미지 처리와 고급 컴퓨터 비전 알고리즘을 포함한다.
  • ML: 머신러닝을 활용할 수 있는 기본적인 통계 분류기와 클러스터링 도구를 포함하고 있는 라이브러리이다.
  • HighGUI: 비디오와 이미지 저장 그리고 로드를 위한 I/O 루틴을 포함하고 있다. 사용자의 입력을 받고 그에 따른 출력을 하는 유저 인터페이스 기능을 하고 있다.
  • CXCORE: 기본 데이터 구조와 여러 content가 구성되어 있다.

scikit-image vs OpenCV

OpenCV는 real-time 어플리케이션에 관점이 맞춰져 연산 효율을 위해 설계되었다. 따라서 멀티코어 연산에 있어서 이점이 있다. 반면, scikit-Image의 경우 이미지 처리에 있어서 좀 더 세부적으로 가능하다.

캡스톤 프로젝트 솔루션 1에서 OpenCV를 사용했다.

YOLO

You Only Look Once

Object detection을 위한 최첨단 알고리즘이다.
이전에는 슬라이딩 윈도우 객체 감지, R CNN, Fast R CNN 및 Faster R CNN과 같은 기술을 사용했으나 2015년 이후부터는 YOLO의 속도와 정확성으로 인해 Object detection의 산업 표준이 되었다.

전통적인 모델 및 파이프라인에서 사용되던 복잡한 Object detection process를 하나의 회귀 문제로 개선했다.
그래서 기존의 복잡한 파이프라인에서 벗어나 연산량이 상당히 많이 줄었다.
그래서 단순히 영상 이미지만 입력한다면 쉽게 Object detection이 가능하다.
기본적으로 45fps까지 처리가 가능하며 Fast YOLO의 경우 150fps까지 처리가 가능하기 때문에 영상을 실시간으로 처리하는 것도 가능하다.

MediaPipe

  • Google에서 모바일, 클라우드, 웹 등에서 실행할 수 있도록 개발한 영상처리 머신러닝 알고리즘이다.
  • 모바일 GPU 가속을 지원한다.
  • Mediapipe는 object localization 및 face landmark와 같은 정보 등을 추출하여 출력한다.

현재까지 개발된 솔루션은 Face detection, Face Mesh, Hand detection, Hand tracking, Multi-hand tracking, Hair segmentation, Object detection, Object detection and tracking, 3D Object Detection and Tracking, Intelligent Video Reframing, Template Matching with Neural Image Features가 있다.

캡스톤 프로젝트 솔루션 2에서 Hand detection 모듈을 사용했다.

profile
0x68656C6C6F21

0개의 댓글