임베디드 비전: 주목할 만한 FPGA의 차세대 기술 분야
  • 2012-04-11
  • 편집부

글 |
브라이언 디퍼트(Brian Dipert), 임베디드 비전 얼라이언스(Embedded Vision Alliance) 편집장
조세 알바르즈(Jose Alvarez), 자일링스 비디오 기술 엔지니어링 디렉터
미란 토리가이언(Mihran Touriguian), BDTI(Berkeley Design Technology, Inc.) 시니어 DSP 엔지니어



수영장에서 아이가 허우적거리거나 불법 침입자가 집이나 사무실에 들어오려고 할 때 경보를 보내는 시스템 설계에 도움이 되는 새로운 혁신 기술은 무엇일까? 이것은 도로에서 전방의 위험 구간을 운전자에게 미리 경고하거나, 심지어 운전자나 다른 사람을 위험에 빠트리게 하는 차선 변경, 가속, 기타 다른 조작들이 실행되는 것을 방지하는 기술과 동일하다. 이는 제한적인 완벽한 자율 구동이 가능한 전자 ‘눈(eyes)’을 가진 군용 무인항공기나 다른 로봇을 장착할 수 있다. 또한 이러한 기술은 환자의 병을 진단하는데 있어 의사의 역할을 보조할 수도 있다. 특유의 형태로 얼굴을 식별할 수 있고, 이후 다양한 동작(예를 들어, 자동으로 사용자 계정에 로그하거나 관련 뉴스 및 다른 정보들을 노출)을 수행하고, 제스처를 해석하고, 심지어 사람의 감정 상태를 파악할 수도 있다. 또한 GPS나 나침반, 가속도계, 자이로스코프 및 다른 기능들과 함께 더 많은 상황 설명 데이터를 제공할 수도 있다.
이러한 모든 애플리케이션 사례에 공통적으로 적용되는 기술은 임베디드 비전으로, 차세대 전자 시스템의 성공을 가늠하는 기준이 될 것이다. 임베디드 비전은 조립 라인 검사, 광학 특성 인식, 로봇공학, 감시 및 군용 시스템과 같은 기존의 컴퓨터 비전 애플리케이션에서 시작됐다. 하지만, 최근 핵심 기술 빌딩 블록의 기능 증가 및 비용 감소로 비전 기술은 보다 폭넓고 빠르게 주요 대량생산 시장으로 확대되었다.
애플리케이션 수요가 확대되고 진화하면서 이미지센서의 경우 해상도 및 저조도 성능, 프레임 레이트, 사이즈, 전력소모, 비용 등과 같은 핵심 특성들이 눈에 띄게 발전하고 있다. 이와 유사하게 임베디드 비전 애플리케이션은 고성능, 저가격, 저전력 소모, 유연한 프로그래머블 특성을 갖춘 프로세서를 필요로 하고 있으며, 모든 이상적인 특성들이 갈수록 많은 제품 구현에서 실제화하고 있다. 또한 최신 세대의 광학 시스템과 조명 모듈, 휘발성 및 비휘발성 메모리, I/O 표준 등에 의해 유사한 혜택들도 늘어가고 있다. 그리고 알고리즘은 보다 견고하고 안정적인 분석 결과를 제공하기 위해 이러한 향상된 하드웨어를 활용하기 위한 도전에 직면해 있다.
임베디드 비전은 시각적 방법으로 환경을 이해하는 머신과 관련이 있다. 범용 컴퓨터가 아닌 임베디드를 통해 모든 이미지센서를 포괄하는 시스템에 주목하고 있다. 예를 들어, 임베디드는 셀룰러 폰이나 태블릿 컴퓨터, 감시 시스템, 지상용 혹은 비행가능 로봇이나 360°기능의 카메라를 포함하는 자동차 및 의료용 진단기기 등이 해당될 수 있다. 또는 시장 출시 2개월 만에 800만 개가 판매되어 이미 가장 잘 알려진 사례인 Xbox 360 게임콘솔용 마이크로소프트 Kinect과 같은 유무선 유저 인터페이스 주변기기가 될 수도 있다.

FPGA의 기회 요소: 사례연구
다기능의 견고한 임베디드 비전 프로세싱 제품의 옵션으로는 마이크로프로세서와 임베디드 컨트롤러, 애플리케이션에 특화된 SoC, DSP, 그래픽 프로세서, ASIC, FPGA 등이 있다. FPGA는 고성능 및 저전력 소모의 ASIC 하드웨어 특성과 CPU, GPU, DSP 상에서 구동하는 것과 달리 소프트웨어 알고리즘의 유연성 및 시장 출시 시기 단축 등의 장점을 가장 근접하게 결합하고 있기 때문에, 임베디드 비전을 실현할 수 있는 매우 흥미로운 실리콘 플랫폼이다. 유연성은 다기능 알고리즘 옵션을 지원해야 하지만 신속한 오류 정정 및 기능 세트 향상이 모두 예외적인 사항이 아니라 표준이 되고 있는 임베디드 비전 시장의 이러한 초기 개발 단계에서 특히 중요한 요소이다. 또한 FPGA의 하드웨어 컨피규러블 특성은 다양한 직렬 및 병렬(아날로그 및 디지털) 인터페이스를 지원하는 이미지센서를 손쉽게 디자인에 적응시킬 수 있다.
임베디드 비전 얼라이언스(Embedded Vision Alliance)는 풍부하고 빠르고 효율적인 방법으로 임베디드 비전의 가능성을 현실화하기 위해 설립된 기술 개발자 및 공급업체들의 공인된 전 세계 단일 연합체다(박스기사 참조). 두 창립멤버인 BDTI(Berkeley Design Technology, Inc.)와 자일링스(Xilinx)는 임베디드 비전의 성공 가능성뿐만 아니라, 이를 현실화시키는 FPGA 역할의 전형을 보여주는 레퍼런스 디자인을 공동 개발하기 위해 협력했다. 이 프로젝트의 목표는 시스템 디자이너가 집중적인 하드웨어 프로세싱 및 복잡한 소프트웨어 및 알고리즘 제어를 필요로 하는 요소들이 포함되어 있는 고도로 복잡한 인텔리전트 비전 플랫폼을 개발할 때 결정해야 하는 일반적인 아키텍처 문제들을 연구하는 것이었다.
BDTI와 자일링스는 FPGA 패브릭이 CPU가 수행하는 복잡한 제어 및 예측 알고리즘으로 디지털 시그널 프로세싱 집약적 연산을 처리하도록 디자인을 분할했다. 이러한 예비 구현은 CPU 보드와 FPGA 보드를 이더넷 인터페이스로 연결하여 만들었다. FPGA는 네트워크 테더(tether)를 통해 교환되는 메타데이터만으로 고 대역폭 프로세싱을 수행했다. 또한 이 프로젝트는 최종 FPGA 하드웨어가 구현되기 훨씬 앞서서 정확한 시뮬레이션 모델을 사용해야 하는 하드웨어 및 소프트웨어 동시 개발도 연구되었다.

1단계: 도로 신호 감지
프로젝트의 이 부분은 다음 단계와 함께 2개의 특정 PC-기반 기능, 즉 개발 중인 자일링스 비디오 IP 블록 시뮬레이션 모델과 BDTI가 개발한 프로세싱 애플리케이션을 활용했다(그림 1). 입력 데이터는 차량의 전면 카메라가 캡처하게 되는 이미지를 나타내는 720p HD 해상도, 60fps (frame/second) YUV-인코드 비디오 스트림으로 구성됐다. 목표는 운전자-지원 체계로서 비디오 프레임에서 4가지 타입의 객체를 식별(비록 광학 특성 인식을 이용한 판독이 아니라도, 추가 기능이 자연스럽게 확장된다 하더라도)하는 것이었다:

- 녹색의 안내표지
- 노란색 및 오렌지색의 위험표지
- 파란색의 정보표지
- 오렌지색 교통 배럴

자일링스가 제공하는 IP 블록 시뮬레이션 모델은 각 프레임에서 다양한 컬러 그룹의 픽셀 사이즈 및 위치를 식별하는 메타데이터를 출력하고, 가장 동일한 메타데이터가 최종 하드웨어 IP 블록으로 생성된다. 많은 임베디드 비전 시스템의 정확성은 이미지센서에서 발생하는 노이즈나 예상치 못한 조명의 변화, 예측할 수 없는 외부 움직임과 같은 외부적 요인들에 의해 영향을 받는다. 이 프로젝트의 역할은 이러한 방해 요소들이 검출 정확도를 저하시키지 않도록 예측 소프트웨어를 증가시켜 FPGA 하드웨어가 하드웨어 리소스를 거의 사용하지 않고도 외부 방해 요소들이 존재하는 가운데 이미지를 처리하고 메타데이터를 생성하도록 하는 것이었다.
BDTI는 논의가 되고 있는 특정 애플리케이션을 위해 IP 블록의 광범위한 컨피규레이션 파라미터 세트를 최적화했으며, BDTI의 후처리 알고리즘은 추가 개선 및 예측 능력을 향상시켰다. 일부 경우에는 예를 들어, 하드웨어는 하나의 프레임에서 객체를 부분적으로만 식별할 수 있었으며, 애플리케이션-레이어 소프트웨어는 추적 알고리즘을 이용해 계속해서 객체의 위치를 예측했다. 대부분의 경우 물리적 검출이 시간이 가면서 일관되지 않을 수 있기 때문에, 이러한 접근법은 동작이 매우 훌륭했다. 따라서 소프트웨어 인텔리전트 레이어는 일관된 예측을 제공하는 핵심이다.
다른 예로서, 녹색의 고속도로 표지 안에 포함된 블랙 혹은 화이트 문자는 IP 블록의 범용 이미지 분석 기능으로는 혼선이 올 수 있으며, 이로 인해 표지를 부정확하게 다중-픽셀 서브그룹으로 분할할 수 있다(그림 2).




IP 블록은 또한 애플리케이션에 사용한 이미지센서의 품질 및 설정에 따라 빨강을 오렌지색과 혼동함으로써 다른 차량의 후방 주행등이나 제동등을 원뿔형 안전표지나 도로표지로 잘못 해석할 수 있다.
BDTI가 개발한 알고리즘은 애플리케이션에 특화된 방식으로 자일링스가 공급한 메타데이터를 추가로 처리한다. 예를 들어, 어떤 표지가 어떻게 보여야 하는지(프레임 내의 크기, 모양, 컬러, 패턴, 위치 등)를 알고 있기 때문에, 관련 픽셀 클러스터를 더 큰 그룹 안에 결합시킬 수 있었다. 이와 유사하게 이 알고리즘은 앞서 언급한 차량의 제동등처럼 외견상으로 표지가 아닌 컬러에 가장 근접한 픽셀 클러스터를 폐기하는 것이 적절한 지를 결정한다.

2단계: 보행자 감지 및 추적
이 프로젝트의 첫 번째 단계에서 카메라는 움직이는 상태에 있었지만, 인식되는 객체(표지)는 고정된 상태였다. 반면, 두 번째 단계의 안전 목표는 카메라는 고정되어 있지만 객체(이 경우 사람)는 움직이는 경우다. 또한 이번에는 비디오 분석 알고리즘이 이미 결정된 컬러나 패턴 혹은 다른 객체 특성에 의존할 수가 없었다. 예를 들어, 사람은 다양한 옷을 입을 수 있고, 다양한 모양과 피부 색깔, 머리색, 스타일(머리와 구분되지 않는 모자를 쓰고 있는 것은 물론 선글라스나 기타 등등)을 가지고 있기 때문이다. 또한 소프트웨어는 사람이 디지털 ‘트립 와이어(trip wire)’를 횡단하거나 비디오 프레임 내의 특정 구역에 위치해 있는 경우 사람을 식별하고 추적하는 것은 물론 경보를 발생해야 하는 추가 과제를 안고 있었다(그림 3).
2단계 하드웨어 컨피규레이션은 비록 소프트웨어는 다양했지만 앞의 1단계와 동일했다. 비디오 스트림은 생성된 메타데이터를 추가 프로세싱을 위해 부가적인 알고리즘 수트로 보내 비디오 분석 IP 코어의 시뮬레이션 모델을 공급했다. 이번 과제는 다음과 같다:

- 원치 않는 노이즈와 적절한 객체 분할 간의 근본적인 트레이드오프 해결
- 객체 형태의 변화(형태 및 구조)
- 사람에서 사람으로 혹은 특정 사람의 시간에 따른 객체 움직임의 변화
- 통행이 금지되어 사람이 움직임을 멈추었을 때나 배경 패턴과 뒤섞여 보이지 않는 경우 사라진 메타데이터
- 움직이거나 움직이지 않는 화면 상의 다른 객체
- 각 사람 및 카메라 간의 거리 변화
- 개인 대 그룹, 그룹 내의 압도적이거나 대조적인 모션 벡터
‘트립 와이어’ 구현의 경우, 4개의 뚜렷이 구분되는 비디오 스트림이 비디오 분석 알고리즘을 디버깅하고 최적화하는 데 특히 효과적이었다:

- ‘근접’ 보행자의 보행 및 방향 전환
- 2개의 서로 다른 방향으로의 보행하는 ‘근접’ 보행자들
- 원근법적 혼란으로 움직이는 트럭과 필적할만한 크기로 보이는 ‘멀리 있는’ 보행자들
- 근접해오는 트럭으로 실제보다 더 크게 보이는 ‘멀리 있는’ 보행자들

3단계: 하드웨어 컨버전스 및 진전
이 프로젝트의 마지막 부분은 스파르탄-3A(Spartan짋-3A) 3400 비디오 스타터 키트(Video Starter Kit)에서 구동하는 자일링스의 실제 비디오 분석 IP 블록(앞의 시뮬레이션 모델 대신)을 적용하는 것이었다. MicroBlaze™ 소프트 프로세서 코어는 스파르탄-3A FPGA에 내장되었고 별도의 전용 기능 블록이 추가되었으며, 네트워크 프로토콜 스택이 구현되었다. 이 스택은 높은 비트 레이트를 처리했으며, 이더넷-패킷화된 메타데이터는 BDTI가 개발한 부가적인 프로세싱 알고리즘으로 전송되어 도로표지 감지와 보행자 감지 및 추적 모두 충분히 처리될 수 있게 되었다. 반면, 이러한 알고리즘은 이전에는 x86 기반 PC 상에서 실행되었는데, BDTI는 이를 Beagle Board라고 불리는 ARM짋 Cortex™-A8 기반 하드웨어 플랫폼으로 성공적으로 포팅했다(그림 4).



이미 자일링스의 제품에 익숙한 여러분들 중 일부는 FPGA와 Cortex-A8 CPU를 단일 실리콘 안에 통합한 Zynq™ EPP(Extensible Processing Platform)를 곧바로 고려할지도 모른다. 비디오 분석 레퍼런스 디자인 전체를 단일 Zynq 디바이스에서 구동하는 것이 가능할까? 그렇다고 대답하는 것이 맞을 것이다. Zynq 제품군은 충분한 프로그래머블 로직 리소스를 포함하고 있는 디바이스를 가지고 있으며, BDTI 알고리즘을 ARM CPU 코어 상에 적당한 부하로 이식할 수 있기 때문이다.
임베디드 비전은 시스템 개발자와 반도체 및 소프트웨어 공급업체 모두에게 주목할 만한 차세대 기술 분야가 되고 있다. 이 글에서 언급된 사례연구가 제안하는 것처럼 FPGA 및 FPGA+CPU SoC는 임베디드 비전 프로세싱 알고리즘을 구현하기 위한 매우 설득력 있는 실리콘 플랫폼이 될 것이다.

 

임베디드 비전 얼라이언스의 성공적 행보

임베디드 비전 기술은 이전 보다 지능적이고 즉각적으로 반응하는 다양한 전자 제품을 구현할 수 있는 가능성을 갖추고 있기 때문에 사용자들에게 더욱 가치가 있다. 기존 제품에 유용한 기능을 추가할 수도 있다. 또한 하드웨어, 소프트웨어, 반도체 제조업체들에게 매우 의미있는 새로운 시장을 제공할 수 있다. 임베디드 비전 얼라이언스(Embedded Vision Alliance)는 전 세계 기술 개발자 및 공급업체들의 단일 조직으로 풍부하고 빠르고 효율적인 방법으로 가능성을 현실화하고 있다.
이 얼라이언스는 기사, 비디오, 데일리 뉴스 포털 및 여러 기술 전문가들에 의해 제공되는 다양한 주제 토론 포럼을 비롯해 자유롭게 모든 기능에 액세스할 수 있는 완벽한 웹사이트를 개발했다. 웹사이트에 등록한 사용자들은 얼라이언스의 월간 이메일 뉴스레터를 받아볼 수 있으며, 파일 다운로드는 물론 수많은 사용지침 프리젠테이션과 기술자료를 포함하고 있는 임베디드 비전 아카데미에 접속할 수 있으며, 새롭게 임베디드 비전 애플리케이션 분야에 진출하는 업체들도 자신의 전문성을 빠르게 향상시킬 수 있다.

미래 지향적으로 현재 구상 중인 얼라이언스의 헌장은 다음과 같다:

■ 전 세계에 걸쳐 대학 및 연구소에서 개발한 혁신적인 기술의 통합 및 상용화
■ 수많은 리던던트 구현방법의 혼선 및 비효율성을 제거함으로써 새로운 기술 적용을 가속화하기 위해 하드웨어 및 반도체, 소프트웨어표준의 체계화
■ 프로세서 및 소프트웨어 알고리즘과 같은 다양한 임베디드 비전 시스템 빌딩 블록의 명확하고 포괄적인 평가 및 선택이 가능하도록 견고한 벤치마크 개발
■ 하드웨어 및 소프트웨어 레퍼런스 디자인, 에뮬레이터, 기타 개발의 확산으로 컴포넌트 공급업체, 시스템 구현 업체, 최종 고객들이 고유의 애플리케이션 요건에 최적화된 제품을 개발하고 선택할 수 있도록 지원

<저작권자(c)스마트앤컴퍼니. 무단전재-재배포금지>



  • 100자평 쓰기
  • 로그인

세미나/교육/전시
TOP