용어집

광학 흐름

컴퓨터 비전에서 광학 흐름의 힘을 알아보세요. 어떻게 움직임을 추정하고, 비디오 분석을 개선하며, AI의 혁신을 주도하는지 알아보세요.

YOLO 모델을 Ultralytics HUB로 간단히
훈련

자세히 알아보기

광학 흐름은 관찰자(카메라 등)와 장면 사이의 상대적인 움직임으로 인해 시각적 장면에서 물체, 표면 및 가장자리의 겉으로 보이는 움직임 패턴을 설명합니다. 이는 비디오 시퀀스의 연속 프레임 사이에서 개별 픽셀 또는 피처의 움직임을 추정하는 데 사용되는 컴퓨터 비전(CV) 의 기본 개념입니다. 이 기술은 장면의 역학에 대한 중요한 정보를 제공하여 기계가 생물학적 시각 시스템이 움직임을 인식하는 방식과 유사하게 움직임을 이해할 수 있게 해줍니다. 이는 비디오 데이터 분석과 관련된 다양한 인공지능(AI)머신러닝(ML) 애플리케이션의 핵심 구성 요소입니다.

광학 흐름의 작동 방식

광학 흐름 계산의 핵심 아이디어는 물체의 특정 지점에 해당하는 픽셀의 밝기가 이미지 평면을 가로질러 이동할 때 짧은 시간 간격으로 일정하게 유지되거나 예측 가능하게 변화한다는 '밝기 불변성'이라는 가정입니다. 알고리즘은 한 프레임에서 다음 프레임까지 이러한 강도 패턴을 추적하여 각 픽셀 또는 특정 관심 지점에 대한 모션 벡터를 계산합니다.

광 흐름을 계산하는 일반적인 기법은 다음과 같습니다:

  • 희소 광학 흐름: 루카스-카나데 방법과 같은 알고리즘은 프레임 전체에서 모서리와 같은 희소 특징 집합의 움직임을 추적합니다. 이 방법은 계산 효율이 높지만 선택한 지점에 대한 모션 정보만 제공합니다.
  • 고밀도 광학 흐름: 혼-슝크 방법과 같은 알고리즘은 이미지의 모든 픽셀에 대해 모션 벡터를 계산하는 것을 목표로 합니다. 이 방법은 훨씬 더 풍부한 모션 표현을 제공하지만 계산 집약적입니다.
  • 딥 러닝 접근 방식: 최신 방법에서는 대규모 데이터 세트에서 학습된 컨볼루션 신경망(CNN)을 사용하여 광학 흐름을 추정하는 경우가 많습니다. FlowNetRAFT(Recurrent All-Pairs Field Transform )와 같은 모델은 딥러닝(DL) 의 힘을 활용하여 복잡한 움직임 패턴을 학습하는 최첨단 성능을 보여주었습니다. 이러한 모델은 다음과 같은 프레임워크를 사용하여 개발할 수 있습니다. PyTorch 또는 TensorFlow.

광학적 흐름과 관련 개념

광학 흐름과 관련 작업을 구분하는 것이 중요합니다:

  • 개체 감지: 이 작업은 일반적으로 다음과 같은 모델을 사용하여 단일 이미지 프레임 내에서 경계 상자를 사용하여 객체를 식별하고 위치를 찾습니다. Ultralytics YOLO11. 이 작업은 프레임 사이의 움직임이 아니라 물체가 어디에 있는지, 무엇이 있는지에 초점을 맞춥니다. 탐지 작업을 위해 서로 다른 YOLO 모델 간의 비교를 탐색할 수 있습니다.
  • 객체 추적: 여기에는 여러 프레임에 걸쳐 감지된 특정 객체를 추적하여 시간이 지나도 그 객체의 동일성을 유지하는 작업이 포함됩니다. 광학 흐름은 추적 알고리즘(예: DeepSORT) 에서 사용되는 구성 요소일 수 있지만, 추적은 픽셀 단위의 동작 추정보다 더 높은 수준의 작업인 객체 궤적과 동일성 지속성에 중점을 둡니다. Ultralytics 모델은 객체 추적 모드를 지원합니다.
  • 모션 추정: 움직임을 결정하는 다양한 기술을 포괄하는 광범위한 용어입니다. 광학 흐름은 이미지 평면에서 픽셀의 겉으로 보이는 2D 움직임에 초점을 맞춘 특정 유형의 움직임 추정으로, 종종 월드에 있는 물체의 실제 3D 움직임을 추정하는 것과는 구별됩니다.
  • 이미지 분할: 이미지를 여러 세그먼트 또는 영역으로 분할하는 것으로, 주로 물체나 영역을 분리하기 위한 것입니다. 광학 흐름의 모션 단서가 세그먼테이션(모션 분할)에 도움이 될 수 있지만, 주요 목표는 모션 벡터 계산이 아닌 공간 묘사입니다. 인스턴스 분할 과 같은 작업은 각 오브젝트 인스턴스에 대해 픽셀 단위 마스크를 제공합니다.

실제 애플리케이션

광학적 흐름은 비디오에서 움직임을 이해해야 하는 많은 애플리케이션에서 매우 중요합니다:

  • 비디오 압축: MPEG와 같은 표준은 광학적 흐름과 유사한 모션 추정 기술을 사용하여 이전 프레임을 기반으로 후속 프레임을 예측합니다. 모션 벡터와 예측 오류(잔차)만 인코딩함으로써 상당한 데이터 압축을 달성할 수 있습니다.
  • 자율 시스템: 자율 주행 차량과 로봇은 시각적 주행 거리 측정(자체 움직임 추정), 장애물 감지, 주변 물체의 상대적 움직임 파악을 위해 광학적 흐름을 사용합니다. 예를 들어, 자율 주행 차량이 도로에 대한 속도를 추정하거나 주변 차량을 추적하는 데 도움이 됩니다. 웨이모와 같은 회사는 모션 인식에 크게 의존합니다. 자세한 내용은 자율 주행 자동차의 AI를 살펴보세요.
  • 동작 인식: 동영상에서 사람의 동작을 이해하려면 광학적 흐름에서 파생된 동작 패턴을 분석해야 하는 경우가 많습니다.
  • 동영상 안정화: 디지털 손떨림 보정 기술은 광학적 흐름을 사용하여 카메라 흔들림을 추정하고 이를 보정하여 보다 부드러운 동영상을 제작할 수 있습니다.
  • 의료 이미지 분석: 심초음파에서 심장 근육의 움직임이나 시술 중 장기 변형과 같은 조직의 움직임을 추적하는 데 사용됩니다. 방사선학과 같은 리소스를 참조하세요 : 관련 발전을 위한 인공 지능.
  • 로보틱스: 로봇이 주변 환경의 움직임에 대한 시각적 피드백을 기반으로 탐색하고, 물체와 상호 작용하며, 작업을 수행할 수 있도록 지원합니다. ROS와 같은 시스템과의 통합에는 동작 분석이 포함되는 경우가 많습니다.

도구 및 구현

OpenCV와 같은 라이브러리는 고전적인 광학 흐름 알고리즘의 구현을 제공합니다(OpenCV 광학 흐름 자습서). 딥 러닝 접근 방식의 경우, 다음과 같은 프레임워크 PyTorchTensorFlow 와 같은 프레임워크가 일반적으로 사용되며, 종종 다음과 같은 플랫폼을 통해 제공되는 사전 학습된 모델을 활용합니다. Hugging Face. 이러한 모델을 훈련하려면 FlyingThings3D 또는 Sintel 데이터 세트와 같은 실측 데이터 흐름 정보가 포함된 대규모 비디오 데이터 세트가 필요합니다. Ultralytics HUB와 같은 플랫폼은 데이터 세트와 모델 훈련 워크플로우를 관리하는 데 도움을 줄 수 있지만, 주로 광학 흐름 추정보다는 감지 및 세분화와 같은 작업에 중점을 둡니다.

모두 보기