A 201.4GOPS real-time multi-core processor is proposed to minimize the energy consumption per frame for multi-object recognition. In algorithm level, we devise the visual perception based object recognition model that extracts the regions-of-interest (ROIs) of objects first and then performs detail object recognition processing consisting of image processing and database matching. By reducing the effective processing area by 3 times, the proposed object recognition algorithm largely improves energy efficiency.
To implement the proposed visual perception based object recognition in energy efficient way, we propose the attention controlled multi-core architecture consisting of two IP layers having different roles. The attention/control IPs estimate the global workloads of overall image, e.g., the number of ROI tiles, and control multiple processing cores based on them for efficient image processing. In this architecture, we find out the energy efficient solutions for the four issues: multi-core organization, ROI processing model, ROI task scheduling, and IP communication. Putting the solutions together, the proposed architecture improves 3.7 times energy efficiency from the conventional multi-core architecture. After that, we tailor the proposed architecture to three-stage pipelined architecture to maximize the throughput of object recognition. In addition, we also design an application-specific network-on-chip to resolve the data communication problems under the target object recognition traffic.
For chip implementation, we designed three kinds of IP blocks for three stages of the proposed object recognition, visual perception, main image processing, and post database matching. Especially, in the design of visual perception, we exploit bio-inspired neural networks and fuzzy logic circuits for human-like ROI estimation. We employ multiple SIMD processors and vector matching accelerator for main image processing and post database matching, respectively. In overall chip, workload-aware dynamic power management is performed for low power object recognition.
As a result, the fabricated processor achieves 60frame/sec 496mW object recognition up to 10 different objects for VGA (640x480) video input. Obtained 8.2mJ/frame energy consumption is the lowest among the previous works and 3.2 times of the state-of-the-art. The embedded vision system is developed to operate the fabricated chip and the developed system is applied to various applications such as multi-object recognition, traffic sign recognition, and mobile robot vision.
에너지 효율적인 실시간 다중 물체 인식 프로세서의 구현을 위하여 (1) 물체의 관심 영역(Regions-of-Interest, ROIs)만을 추출하여 연산 효율을 높이는 시간 인식(visual perception) 기반의 물체 인식 알고리즘, (2) 해당 알고리즘을 효율적으로 구현하기 위한 멀티 코어 기반의 하드웨어 아키텍처 (3) 아날로그-디지털 혼성 모드 (mixed mode)를 이용한 저 에너지 빌딩 블록 디자인 등이 제안 되었다. 또한, (4) 제작된 프로세서의 동작 검증을 위한 시스템 보드 개발 (5) 개발된 비전 시스템을 다중 물체 인식, 차량 표지판 인식, 로봇 비전 시스템 등 실제 응용 분야에 적용함으로써 제안된 프로세서의 효과 및 실제 사용 가능성을 입증하였다.
첫째로, 시간 인식 기반의 물체 인식 알고리즘 모델을 제안하였다. 만들어진 모델은 입력 이미지에서 각 픽셀이 주변보다 얼마나 더 도드라지는지 특징 정도를 정보화하는 시각 집중 (Visual attention) 모델을 기반으로 가장 특징적인 위치들로부터 영역 팽창 (Region growing)을 통하여 각 물체의 관심 영역을 알아내는 시각인식, 관심 영역으로부터 물체의 특징 점을 축출하는 이미지 처리, 그리고 축출된 특징 벡터를 미리 만들어진 물체 데이터베이스와 비교함으로써 가장 가까운 물체를 판별하는 데이터베이스 매칭 세 단으로 이루어지며, 시각 인식을 통하여 물체의 관심 영역에만 기존의 물체 인식 알고리즘인 SIFT (Scale Invariant Feature Transform)를 적용함으로써 요구되는 연산양을 약 3배 감소시킨다.
둘째로, 정립된 물체 인식 알고리즘을 에너지 효율적인 하드웨어로 구현하기 위한 Attention Controlled 멀티 코어 아키텍처를 제안하였다. 이 구조는 관심 영역을 구하고 이를 효과적으로 멀티 코어에 분배하고 관리하는 태스크 매니저로 이루어진 시각 집중/컨트롤 층 (Attention/control layer)과 실제 이미지의 병렬 처리를 위하여 도입된 멀티 코어 층 (Multi-core layer)으로 나뉘어져 에너지 효과적인 물체 인식을 수행하게 된다. 본 연구에서는 이 구조에서 생기게 되는 4가지 이슈 ? 멀티 코어 구성, 프로세싱 모델, 스케줄링 방법, 구성 블락 간 통신 ? 에 대하 여 각각 에너지 효율적인 해결책을 제안하였으며 그것을 모두 적용하였을 때 약 3.72배 에너지 효율이 개선됨을 확인하였다. 또한 제한된 구조를 기반으로 높은 프레임 율 (frame rate)을 얻기 위하여 두 단 이외에 후처리 단을 더 추가하여 파이프라인 하여 시킴으로써 VGA(640x480) 입력 이미지에 대하여 초당 60프레임의 높은 동작 성능을 얻게 되었다.
셋째로, 물체 인식 프로세서에 필요한 세 가지 종류의 구성 IP (Intellectual Property)를 제안하고 설계하였다. 가장 중요한 시각 인식 엔진을 위해서 저에너지 동작을 위하여 모션 측정기, 시각 집중기, 물체 영역 검출기 등 세부 블락을 아날로그-디지털 혼성 모드로 설계하였고, 이미지 병렬 처리를 위해서 프로그래밍 가능한 SIMD (Single Instruction Multiple Data) 타입의 프로세서 유닛을, 데이터베이스 매칭을 위해서 최근접 벡터 검출을 위한 판단 프로세서 (decision processor)를 각각 설계하였다.
넷째로, 제작된 칩의 검증을 위한 비전용 시스템 보드를 개발 하였다. 시스템 보드는 리눅스 운영체제를 수행함으로써 사용자와 인터페이스하고 전체 동작을 관장하는 호스트 보드, 제작된 물체 인식용 칩과 비디오 디코더 등을 내장한 ASIC(Application Specific Integrated Circuits) 보드, 외부 통신을 위해 UART, USB, Ethernet 등을 집적한 주변 처리(peripheral) 보드 세 층으로 구성된다. 검증된 칩의 초당 60프레임 인식 속도와 496mW의 저전력 소모에 의해 얻어진 이미지당 8.2mJ의 에너지 소모는 기존 프로세서 효율을 약 3.2배 개선시킨 것이다.
마지막으로 제작된 칩이 집적된 시스템 보드를 여러 응용 분야에 적용하여 봄으로써 실제 사용 가능성을 보였다. 우선적으로 다중 물체 인식을 수행하였고, 더 나아가 실제 자동차에 부착하여 교통 표지판 인식에 적용하였다. 또한 지능형 로봇에 부착하여 실제 시범 경기에 응용이 되었다. 제작된 프로세서는 현재 실제 자동차 내부 차선이탈/전방추돌 경고 시스템 개발에 응용되고 있다.