For mobile intelligent robots, object recognition is an essential function to realize intelligent actions such as autonomous navigation. In recent years, an object recognition based on scale invariant feature transform (SIFT) is most widely adopted for various mobile robots since it is robust to scale, lighting, and orientation changes of objects. To realize the SIFT object recognition on the mobile robots, providing vast computation power with low power consumption is a significant issue. The SIFT requires enormous amount of computation for repeated image filter operation on a large number of pixels, and low power consumption is also important due to limited power supply of mobile robots. To my best knowledge, there had been no processor implementation adequate to support object recognition on mobile robots prior to this work. The previous processors only provide insufficient performance with low power consumption or high performance with impractical power consumption.
In this work, high performance and power efficient object recognition processor is implemented using 0.18um standard CMOS process technology. Based on the analysis of the target application which is the SIFT object recognition in this work, power efficient design of high performance processor is achieved. To answer the high performance requirement of the SIFT object recognition, a multi-core processor architecture comprising ten processing elements and eight special purpose memories is proposed. The architecture of the proposed processor is devised regarding the flexible mapping of various stream processing models which are inherent in various image processing applications including the object recognition. As for hardware accelerators, decisions on addition of SIMD instruction for each PE and design of visual image processing (VIP) memory are made by observing the two most demanding tasks of the SIFT object recognition. The VIP memory replaces local maxim pixel search operation, which takes 41 cycles on an average, with a single memory read operation and achieves huge performance gain. Regarding the on-chip interconnection, the memory-centric network-on-chip (NoC) is proposed to support low overhead 1-to-N and M-to-1 producer-consumer data transactions and efficient utilization of on-chip memories. The memory-centric NoC reduces data synchronization overhead in the producer-consumer data transactions by managing consistency and coherence of the memory accesses. In addition, the memory-centric NoC programming model enables programmers to control on-chip memory utilization. This feature is advantageous to reduce unnecessary off-chip memory accesses which are inevitable for distributed L2 cache based multi-core processors. Joint contributions of the proposed techniques enable the proposed processor to achieve 81.6 GOPS performance only consuming 1.4W as its peak power consumption. The proposed processor outperforms 2.3GHz Core2 Duo processor about two times in terms of the SIFT execution time. Based on the proposed processor, vision platform for mobile robots is also implemented and the operation of the proposed processor on the vision platform is successfully verified and demonstrated.
지능형 로봇 설계에서 물체 인식은 로봇의 자율적인 지능 및 기능 구현을 위해 가장 중요한 부분이다. 최근 몇 년 사이 물체 인식을 위하여 scale invariant feature transform (SIFT) 에 기반을 둔 물체인식 방법이 많은 지능형 로봇에 채택되고 있는데 SIFT에 기반을 둔 물체인식이 조명, 거리, 물체가 놓여진 각도 변화에 대하여 강인하기 때문이다. SIFT에 기반을 둔 물체인식을 지능형 로봇에서 구현하기 위해서는 높은 성능을 제공하면서 전력 소모를 낮추는 기술이 중요하다. SIFT는 많은 계산 량을 필요로 하는 영상 필터 계산을 입력되는 이미지의 모든 화소에 대하여 수행해야 하기 때문에 높은 성능을 필요로 한다. 또한 대부분의 지능형 로봇은 용량이 크지 않은 배터리로 움직이기 때문에 로봇의 구동시간을 늘리기 위하여 낮은 전력을 소모하는 것도 중요한 요소이다. 지금까지 개발된 프로세서는 높은 성능을 제공하는 반면 전력 소모가 너무 크거나 전력 소모가 작을 경우에는 충분하지 못한 성능을 제공하여 지능형 로봇에 적용되기에 어려웠다. 따라서 본 연구에서는 지능형 로봇에서의 물체 인식을 위하여 저전력 고성능 물체인식용 프로세서를 개발하였다.
본 연구에서는 물체인식 알고리즘인 SIFT에 대한 분석을 통해 연산의 특성을 파악하고 이를 고려한 프로세서 설계를 수행하여 전력을 작게 소비하면서도 고성능을 내는 프로세서 설계를 가능하게 하였다. 높은 성능 요구사항에 대응하기 위하여 다수개의 코어와 다수개의 메모리를 포함하고 있는 프로세서 구조를 기본적으로 채택하게 되었으며, 이와 함께 물체 인식을 포함한 영상처리 처리 계산의 내재된 특징인 stream processing을 잘 처리할 수 있도록 프로세서 구조를 채택했다. 프로세서 구조가 결정된 이후에는 SIFT 분석에 기반을 두어 계산에서 가장 많은 부분을 차지하는 Gaussian 영상 필터 계산 및 3x3 검색 영역에서 최댓값을 찾아내는 연산을 위해 전용 하드웨어를 설계를 이용한 가속을 구현하기로 결정 하였다. Gaussian 영상 필터 계산을 가속하기 위해서는 각각의 프로세서 코어에 SIMD 명령어를 내장하여 빠른 처리를 가능하도록 했으며, 3x3 검색 영역에서 최댓값을 찾아내기 위해서는 visual image processing (VIP) 메모리로 명명된 특수한 메모리를 설계 하였다. VIP 메모리는 기존 RISC 프로세서에서 수십 클록 수를 소비하는 복잡한 연산을 한 클록에 수행할 수 있는 메모리 읽기 연산으로 대체하여 성능향상을 이루어 내었다. 다수개의 프로세서 코어와 다수개의 메모리가 집적되어 있을 경우 이들 사이에 데이터 교환을 잘 처리하는 일이 성능을 끌어내기 위해 중요한데 이를 위하여 memory-centric NoC가 설계 되었다. 설계된 memory-centric NoC는 다수개의 코어가 stream processing을 수행하면서 데이터를 교환할 때의 데이터의 일관성 (consistency and coherence)을 관리하여 코어 사이의 데이터 교환을 용이하게 해준다. 또한 memory-centric NoC는 프로그래머가 칩 안에 집적된 메모리를 다수개의 코어 사이에서 나누어 쓰는 방법을 관리할 수 있게 하여 L2 cache에 기반을 둔 프로세서에 비해 불필요한 외부 메모리 읽기 및 쓰기 횟수를 줄일 수 있는 장점이 있다. 제안된 방법이 모두 적용 되었을 때 본 연구에서 설계된 프로세서는 최대 1.4W 전력을 소비하면서 81.6 GOPS의 높은 성능을 달성하였다. 프로세서 설계 이외에도, 설계된 프로세서의 동작 검증 및 지능형 로봇에서의 물체인식 구현을 위하여 물체인식 시스템을 함께 구현했으며 프로세서와 시스템의 성공적인 동작을 함께 증명했다.