TL;DR
작성자는 STM32G431C 기반 MCU에서 실내 드론 안정화를 목표로 SAD 기반 블록 매칭 옵티컬 플로우를 구현했고 입력을 중앙 크롭 후 96×96 그레이스케일로 축소해 약 18KB의 작업 메모리를 확보했다. 블록 매칭은 11×11 격자에서 각 블록의 후보 변위에 대한 절댓값 합을 비교하는 방식으로 동작하며 분산 기반 블록 건너뛰기와 히스토그램 아웃라이어 필터, Kalman Filter를 도입해 잡음을 완화했다. 공개한 비교 결과에서 OpenCV Farneback과 평균 벡터가 일치하지 않는 사례가 관찰되었고 이는 작은 매칭 윈도우가 큰 움직임을 포착하지 못한 데 기인함이 확인되었다. 전체적으로 저자원 플랫폼에서의 경량 옵티컬 플로우는 가능한 접근이지만 검색 범위, 멀티스케일 처리, 센서 융합 등 추가적 설계 변경이 필요하다는 한계가 드러났다.
실용적 조언
- 메모리 제약이 심한 MCU에서는 입력 해상도를 낮춰야 실시간 처리가 가능하므로 작성자는 중앙 크롭과 96×96으로 스케일링해 약 18KB의 작업 메모리를 확보했다. 이 방식은 연산량과 메모리 사용을 크게 줄여 임베디드 장치에서 SAD 연산을 수행할 수 있게 했으며 그 대가로 공간 해상도와 작은 디테일에 대한 민감도를 잃는다. 따라서 실무에서는 해상도 축소가 가능한 응용인지 우선 판단하고, 축소에 따른 추정 정확도 저하를 보상할 후처리나 센서 융합으로 보완해야 한다.
- 계산량을 줄이기 위해 분산이 낮은 블록은 건너뛰고 히스토그램 기반으로 블록 벡터의 이상치를 제거하는 전략을 사용하면 노이즈 영향을 줄일 수 있다. 작성자는 이러한 필터를 통해 일부 잘못된 블록 벡터를 줄였고 이는 최종 평균 벡터 안정성에 긍정적 영향을 미쳤다. 임베디드 환경에서는 복잡한 재순위화나 cross-encoder 같은 고비용 절차 대신 블록 선택·이상치 필터링 같은 경량 전처리로 실용적 성능 향상을 노리는 것이 바람직하다.
- 측정 잡음과 프레임 간 불연속을 완화하기 위해 작성자는 Kalman Filter를 적용해 vx와 vy 추정을 평활화했고 요각을 별도로 추정해 보정하는 방식을 병용했다. KF는 연속적 상태 예측과 측정 갱신으로 순간적인 잡음에 의한 벡터 편향을 완화했으며 특히 저속 영역에서 유효한 안정성 향상을 보였다. 따라서 임베디드 옵티컬 플로우 설계에서는 단일 프레임 추정치에 의존하지 말고 간단한 상태 추정 필터를 병행하는 것이 실효성 있는 접근법이다.
섹션별 상세




용어 해설
- SAD
- — 블록 매칭에서 두 블록의 픽셀 차이절댓값을 모두 더해 유사도를 측정하는 기법으로, 각 후보 변위에 대해 절댓값 합을 계산해 최솟값을 갖는 이동을 선택한다. 계산이 간단해 저사양 하드웨어에서 구현하기 쉽지만 후보 탐색 범위가 작으면 큰 움직임을 포착하지 못한다.
- Block Matching
- — 영상을 격자로 나눈 후 각 블록별로 후보 변위들을 비교해 최적의 이동 벡터를 찾는 방식으로, 입력 블록과 기준 프레임 블록 간의 유사도(예: SAD)를 계산해 전역 이동을 추정한다. 격자 크기와 검색 범위가 결과 정밀도와 연산량을 결정한다.
- Kalman Filter
- — 시간에 따라 변하는 상태(예: 속도, 각도)를 노이즈 관측으로부터 추정하는 확률적 필터로, 예측 단계와 갱신 단계를 반복해 측정 잡음을 줄이고 추정값을 평활화한다. 임베디드 환경에서 연속적인 속도 추정 안정화에 흔히 사용된다.
- Farneback
- — 밀도 높은 옵티컬 플로우를 계산하기 위해 다항식 근사를 사용해 지역적 변위를 추정하는 알고리즘으로, 블록 매칭보다 작은 움직임에서 세밀한 벡터 필드를 산출하지만 큰 변위나 빠른 동작에서 오류가 발생할 수 있다.
언급된 도구
Farneback 등 옵티컬 플로우 알고리즘 비교용으로 사용
참고·영감용으로 사용된 기존 흐름 센서/참조 구현
타깃 마이크로컨트롤러 보드로 구현과 성능 제약의 근원
언급된 리소스
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.