본문 바로가기
취업 준비/전기자동차

센서 퓨전과 칼만 필터

by 소요이 2024. 3. 19.
728x90

 

 

센서 퓨전의 정의

센서는 자동차, 공장 그리고 스마트폰을 포함한 거의 모든 산업에서 사용됩니다. 개별 센서는 자체적으로 유용한 데이터를 제공할 수 있고 한 번에 여러 센서의 출력을 결합하여 추출할 때는 센서 퓨전을 통해 훨씬 더 나은 모델을 제공할 수 있습니다.

센서 퓨전은 여러 센서의 데이터를 병합하여 대상 장면 또는 객체에 대한 보다 정확한 개념화를 만드는 프로세스입니다. 그 이면의 아이디어는 각각의 개별 센서가 강점과 약점을 모두 가지고 있다는 것입니다. 센서 퓨전의 목표는 각각의 장점을 활용하고 불확실성을 줄여 연구 중인 환경의 정확한 모델을 얻는 것입니다.

 

센서 퓨전 유형

센서 퓨전 프로세스에 사용되는 다양한 유형의 센서를 정의해 보겠습니다. 예를 들어, 자율주행차는 환경을 탐색하기 위해 여러 다양한 센서를 사용합니다. 다음은 가장 일반적인 센서 기술입니다.

카메라

카메라는 장면의 이미지를 캡처한 다음 그 안에 있는 객체를 식별하는 데 사용할 수 있습니다. 약점은 이미지가 어둠, 나쁜 날씨, 먼지 등에 의해 쉽게 가려질 수 있다는 것입니다.

레이더(Radar)

레이더 센서는 전파를 방출하여 객체를 탐지하고 속도를 정확하게 측정합니다. 시선 속도라는 기능을 사용해 파동 주파수의 변화를 측정하여 무언가가 가까워지거나 멀어지는지 확인합니다. 단, 카메라와 달리 어떤 객체가 감지되는지 나타내는 데 사용할 수 없습니다.

라이다(LiDAR)

빛 감지 및 거리 측정을 의미하는 라이다는 적외선 센서를 사용하여 대상 객체와 센서 사이의 거리를 측정합니다. 센서는 파동을 보내고 파동이 객체에서 반사되어 되돌아오는 데 걸리는 시간을 측정합니다. 이 데이터는 환경의 3D 포인트 클라우드를 생성하는 데 사용됩니다. 라이다의 단점은 범위가 그리 길지 않고 카메라나 레이더보다 가격이 비싸다는 것입니다.

초음파 센서

초음파 센서는 몇 미터 내에서 대상 객체의 위치를​추정할 수 있습니다.

주행 기록계 센서

주행 기록계 센서는 휠 속도가 측정되면 알려진 시작점을 기준으로 차량의 위치와 방향을 예측하는 데 도움이 될 수 있습니다.

 

센서 퓨전의 3가지 접근 방식

일반적으로 센서 퓨전에는 세 가지 다른 유형이 있습니다.

보완

이러한 유형의 센서 퓨전은 서로 의존하지 않는 독립적인 센서로 구성되지만, 출력이 결합하면 더 완벽한 장면 이미지를 만듭니다. 예를 들어, 방 주위에 여러 대의 카메라를 배치하고 방의 여러 부분에 초점을 맞추면 방이 어떻게 생겼는지 집합적으로 사진을 제공할 수 있습니다. 이 유형의 장점은 일반적으로 가장 높은 수준의 정확도를 제공한다는 것입니다.

경쟁/중복

센서 퓨전이 경쟁적인 배열로 설정되면 센서는 같은 대상 객체에 대한 독립적인 측정값을 제공합니다. 이 범주에는 두 가지 구성이 있습니다. 하나는 독립적인 센서의 데이터 융합이고 다른 하나는 개별 인스턴스에서 가져온 단일 센서의 데이터 융합입니다. 이 범주는 세 가지 유형 중 가장 높은 수준의 완성도를 제공합니다.

협동

세 번째 유형의 센서 퓨전을 협동이라고 합니다. 여기에는 두 개의 독립적인 센서가 포함되어 있으며, 단일 센서에서 사용할 수 없는 정보를 제공합니다. 예를 들어, 입체 비전의 경우 약간 다른 시점에 있는 두 대의 카메라가 대상 객체의 3D 이미지를 집합적으로 형성할 수 있는 데이터를 제공합니다. 이는 결과가 개별 센서의 오류에 특히 민감하므로 세 가지 범주 중 사용하기 가장 어렵습니다. 그러나 장점은 장면 또는 대상 객체의 고유한 모델을 제공할 수 있다는 것입니다.

센서 퓨전은 가장 정확한 결과를 생성하기 위해 세 가지 유형 중 하나 이상을 활용합니다. 또한 센서 퓨전에는 세 가지 커뮤니케이션 방식이 사용됩니다.

  • 탈중앙화: 센서 노드 간에 커뮤니케이션이 발생하지 않습니다.
  • 중앙 집중식: 센서가 중앙 노드와 통신합니다.
  • 분산형: 센서 노드가 설정된 간격으로 통신합니다.

이때 사용되는 커뮤니케이션 방식은 프로젝트의 사용 사례 및 요구 사항에 따라 달라집니다.

센서 퓨전의 알고리즘

센서 퓨전 애플리케이션에서 데이터를 병합하려면 데이터 사이언티스트가 알고리즘을 사용해야 합니다. 아마도 센서 퓨전에서 가장 인기 있는 알고리즘은 칼만 필터로 알려져 있죠. 그러나 일반적으로 데이터 사이언티스트가 탐구하는 센서 퓨전에는 세 가지 레벨이 있습니다.

센서 퓨전의 3가지 레벨

센서의 출력은 후처리가 필요하며 그 레벨은 다양합니다. 선택한 레벨은 데이터 저장 요구 사항과 모델의 정확도에 영향을 줍니다.

  • 낮은 레벨: 낮은 레벨에서 센서 퓨전은 센서의 원출력을 가져와 변환 중에 데이터에 의도치 않게 노이즈가 발생하지 않도록 합니다. 이 방법의 단점은 상당한 양의 데이터를 처리해야 한다는 것입니다.
  • 중간 레벨: 중간 레벨 센서 퓨전은 원데이터를 사용하는 대신 개별 센서 또는 별도의 프로세스에서 이미 해석된 데이터를 사용합니다. 이는 객체의 위치에 대한 가설을 활용하여 다양한 해석에 가중치를 부여하여 하나의 답을 도출합니다.
  • 높은 레벨: 중간 레벨과 유사하게, 높은 레벨의 센서 퓨전 가중치 가설은 객체의 위치에 대한 답에 도달합니다. 그러나 이 방법을 사용하여 객체의 궤적을 식별하기도 합니다.

 

칼만 필터

1960년에 발명된 칼만 필터(Kalman filter)는 스마트폰과 위성에 존재하며 일반적으로 탐색 목적으로 사용됩니다. 그 궁극적 목적은 동적 시스템의 현재 상태를 추정하는 것이며 과거 추정(스무딩) 및 미래 추정(예측)도 가능합니다. 특히, 노이즈가 많은 데이터를 구문 분석할 때 유용합니다. 예를 들어, 자율주행차의 센서는 때로 불완전하거나 노이즈가 많은 데이터를 캡처하며 이는 칼만 알고리즘으로 수정할 수 있습니다.

칼만 필터는 베이즈 필터(Bayesian filter)의 한 형태입니다. 베이즈 필터링에서 알고리즘은 예측(현재 상태의 추정치)과 업데이트(센서의 관찰) 사이를 번갈아 사용합니다. 기본적으로 알고리즘은 예측을 가져와 업데이트에 따라 수정하고 원하는 정확도에 도달할 때까지 이 두 단계를 반복합니다.

칼만 필터는 상태(위치 및 속도 포함) 및 불확실성을 기반으로 하는 수학적 모델링을 사용하여 실시간으로 예측합니다. 선형 기능과 함께 작동하지만, 레이더 데이터와 같은 일부 센서 출력은 선형이 아닙니다. 이 경우 데이터 사이언티스트는 모델을 선형화하기 위해 두 가지 접근 방식에 의존합니다.

  • 확장 칼만 필터: 자코비안(Jacobian) 및 테일러 급수(Taylor series)를 사용하여 선형화합니다.
  • 무향 칼만 필터: 보다 정확한 근사치를 사용하여 선형화합니다.

칼만 필터는 센서 퓨전에 대한 가장 일반적인 알고리즘 접근 방식 중 하나로, 여러 데이터 소스를 하나의 명확한 현재 상태로 병합하는 데 도움이 됩니다.

 

센서 퓨전의 다른 알고리즘

칼만 필터 외에도 데이터 사이언티스트는 센서 퓨전에 다른 알고리즘을 적용할 수 있습니다. 여기에는 다음이 포함됩니다.

신경망: 신경망은 딥 러닝에서 결과를 분류하기 위해 여러 센서의 이미지 데이터를 융합하는 데 사용됩니다.

중심 한계 정리(CLT): 대부분은 종형 곡선 표현을 사용하는 CLT 알고리즘은 여러 센서의 데이터를 평균화합니다.

베이지안(Bayesian) 알고리즘: 앞서 칼만 필터가 베이지안 필터의 한 유형이라고 언급했지만 다른 것도 있습니다. 예를 들어, 뎀스터 셰이퍼(Dempster-Schafer) 알고리즘은 불확실성의 측정과 추론을 사용하여 인간의 사고를 모방합니다.

 

센서 퓨전과 자율주행차

센서 퓨전은 자율주행차 분야에서 매우 중요합니다. 융합 알고리즘은 차량이 장애물의 정확한 위치, 이동 속도 및 방향을 이해하여 장애물을 지나치도록 도와줍니다. 즉, 센서 퓨전은 자율주행차의 안전성을 극대화합니다.

차량은 카메라, 레이더와 라이다 센서의 입력을 받아 주변 환경의 단일 모델을 형성합니다. 센서 퓨전은 이 데이터를 단일 모델로 병합하는 과정에서 발생하죠. 다양한 센서가 작동하는 방식의 강점이 결합하여 차량 환경에 대해 매우 정확한 그림을 그릴 수 있습니다. 그런 다음 이 그림을 사용하여 목적지와 속도에 대한 탐색 결정을 알릴 수 있습니다.

자율주행차는 내부 및 외부 센서 퓨전으로 알려진 차량 내부에서 가져온 데이터도 활용합니다. 차량이 수집하는 센서 입력이 많을수록 센서 퓨전을 사용하는 것이 더 복잡해질 수 있습니다. 하지만 올바르게 수행되면 일반적으로 센서 데이터가 더 많이 사용될수록 결과 모델이 더 정확해집니다.

자동차에서 센서 퓨전의 강점에 대한 한 가지 예는 미끄럼 방지에 있습니다. 핸들 방향, 자이로스코프 및 가속도계의 센서 입력 조합을 활용하여 센서 퓨전 알고리즘은 자동차가 미끄러지는 과정에 있는지, 운전자가 차량을 어떤 방향으로 주행할 것인지 판단할 수 있습니다. 이 시나리오에서 자율주행차는 자동으로 브레이크를 작동시켜 추가 미끄러짐을 방지할 수 있습니다.

에펜의 자율주행차 서비스

에펜은 세계 최대 자동차 제조업체 10곳 중 7곳과 협력하여 고품질 학습 데이터를 제공했습니다. 이러한 복잡한 멀티 모달 프로젝트는 차량이 여러 조건에서 작동할 수 있도록 최대한 100%에 가까운 정확도를 달성하는 것이 중요합니다.

“차량이 한 유형의 지형에서 시뮬레이션되거나 좋은 기상 조건에서 잘 작동하는 것만으로는 충분하지 않습니다. 차량은 실제 배치에서 접하게 될 상상할 수 있는 모든 도로 시나리오의 모든 기상 조건에서 완벽하게 작동해야 합니다. 즉, 차량의 AI를 위한 머신 러닝 모델을 작업하는 팀은 도로에 배치할 수 있기 전에 최대한 정확한 학습 데이터를 얻는 데 집중해야 합니다.” – 윌슨 팡, CTO, Appen

저희 에펜은 자율주행차 프로젝트의 여러 센서 유형에서 데이터를 소싱하고 집계할 때 상당한 품질 문제가 있음을 인식했습니다. 품질이 낮은 학습 데이터는 초기에 발견될 때  데이터셋의 어떤 구성 요소가 개선이 필요한지 결정하는 데 많은 시간을 낭비하게 됩니다. 나중에 확인이 되면 성능이 떨어지는 모델과 필요한 수준의 정확도로 테스트를 완료할 수 없는 자율주행차에서 결과를 확인할 수 있습니다. 즉, 다시 원점으로 돌아가게 되죠. 결과적으로 에펜은 어노테이션 처리된 데이터를 모니터링하고 자동차 제조업체가 고객의 미래 안전을 위해 최대한 100%에 가까운 정확도를 얻을 수 있도록 지원하는 광범위한 감사 도구를 보유하고 있습니다.

에펜과 협력하는 일부 자동차 제조업체는 종종 차원이 다른 두 개의 데이터셋을 병합해야 하는 경우가 발생합니다. 이는 올바른 센서 퓨전 기술 없이는 쉽게 수행할 수 없는 어려운 작업입니다. 이를 해결하기 위해 에펜의 플랫폼은 큐보이드 레벨에서 99% 이상 객체 추적과 3D 포인트 클라우드 어노테이션을 제공합니다. 즉, 고객은 여러 차원에 걸쳐 매핑할 목적으로 3D 포인트 클라우드 어노테이션이 있는 이미지에 바인딩 된 2D 이미지로 데이터셋에 어노테이션을 추가할 수 있습니다.

에펜의 기술은 라벨링 툴과 데이터 전문성을 활용하여 팀이 복잡한 멀티 모달 AI 작업을 수행하는 데 큰 도움을 제공합니다.

센서 퓨전 응용

자율주행차는 센서 퓨전의 가장 확실한 애플리케이션 분야일 수 있지만 여러 데이터 소스를 집계해야 하는 모든 분야에 유용할 수 있습니다. 연구원들은 또한 향후 공공 안전, 웨어러블 등과 같은 새로운 분야에서의 사용을 고려하고 있습니다.

 

내비게이션

스마트폰의 지도 기능에는 이미 센서 퓨전이 이용되고 있습니다. 구글 지도나 애플 지도는 GPS 데이터를 전화 데이터(나침반, 자이로스코프 및 가속도계 포함)와 결합하여 현재 위치뿐만 아니라 현재 방향과 이동 속도를 결정합니다. 이것은 센서 퓨전이 우리의 일상생활에 어떻게 영향을 미칠 수 있는지에 대한 가장 좋은 예입니다.

 

센서 퓨전의 미래

센서 퓨전이 잘 작동하려면 하드웨어와 소프트웨어 모두에서 발전이 필요합니다. 하드웨어 측면에서 감지 기술은 계속해서 개선되고 있습니다. 더 정확하고 널리 사용할 수 있는 데이터는 자연스럽게 센서 퓨전 모델에서 더 높은 성능을 지원합니다. 소프트웨어 측면에서 디지털 신호 처리는 엄청난 양의 데이터를 빠르게 융합하는 데 상당한 이점을 제공합니다. 클라우드와 같은 데이터 스토리지 옵션도 컴퓨팅 파워가 급속하게 성장함에 따라 센서 퓨전 기술의 발전에 중요한 요소입니다.

센서 퓨전의 궁극적인 목표는 인체의 감지 능력을 모방하는 것입니다. 우리의 뇌는 생각할 때 신경계, 근육 등과 같은 다양한 센서 또는 시스템의 입력을 받아 주변 세계에 대한 그림을 만듭니다. 센서 퓨전을 지원하는 소프트웨어 및 하드웨어 개발이 늘어남에 따라 이를 달성하는 데 점점 더 가까워지고 있습니다.

 

센서 퓨전 인사이트

센서 퓨전은 우리가 수집할 수 있는 정보가 많을수록 세상에 대해 더 잘 이해할 수 있습니다. ML 모델은 사용하기 전에 주변 환경에 대한 다양한 정보를 구성하는 것이 매우 중요합니다. 데이터를 구성하는 두 가지 필수 단계는 시간적 동기화와 공간 보정입니다. 정확한 동기화 및 보정을 통해서만 시간적 인과 관계 및 공간 형상을 올바르게 구성할 수 있으며, 센서 퓨전 알고리즘에 출력을 사용할 수 있습니다.

시간적 동기화 및 공간 보정 단계는 일반적으로 잘 설계된 하드웨어와 소프트웨어가 필요합니다. 흥미롭게도 우리 인간의 능력을 볼 때, 불완전한 멀티 센서 데이터로 작업할 때 시간과 공간의 오프셋에 적응하는 좋은 능력이 있는 것 같습니다. 이것이 센서 하드웨어 및 소프트웨어 등록이 이상적인 환경에서 이루어지지 않았더라도 데이터 어노테이션을 수행하여 멀티 센서 데이터셋을 생성할 수 있는 이유입니다. 올바른 어노테이션 제공자를 사용하여 데이터셋을 계속해서 저장할 수 있습니다.

실제로 새 데이터셋을 생성할 때 사용할 수 있는 센서 보정 수준이 어느 정도 부정확한 경우가 많습니다. 어노테이션 처리 시, 이 잘못 보정된 센서 정보를 어노테이터가 쉽게 해석하고 특이성을 수정할 수 있는 방식으로 제공해야 합니다. 다양한 센서를 표시하기 위해 잘 설계된 레이아웃, 정적 시각적 힌트​삽입, 필요한 정보 세트를 동적으로 렌더링하는 것은 모두 수동 프로세스와 비교할 때 인간 어노테이터가 더 빠르고 적은 오류로 결과를 제공하는 데 도움이 됩니다. 훨씬 더 흥미롭게도, 다단계 어노테이션 프로세스를 설계하면 이전에 어노테이션 처리된 데이터가 다음 어노테이션 단계에서 어노테이터의 작업을 훨씬 쉽게 만들 수 있으므로 최종 결과에 도움이 될 수 있습니다. 이는 센서 퓨전 어노테이션 작업을 하위 작업으로 나누는 방법과 최상의 결과를 생성하기 위해 어떤 툴과 플랫폼을 사용해야 하는지 고민하는 데 시간을 할애해야 한다는 점을 강조합니다.

 

 

 

 

https://kr.appen.com/blog/sensor-fusion/

 

센서 퓨전이란? | appen 에펜

센서 퓨전(Sensor-fusion)은 여러 센서의 데이터를 병합하여 대상 장면 또는 객체에 대한 보다 정확한 개념화를 만드는 프로세스입니다. 이 글에서는 센서 퓨전의 정의와 유형, 3가지 접근 방식, 알

kr.appen.com