Convolutional neural networks (CNNs) are a type of deep neural networks, that are outstanding in computer vision. Object detection using CNNs has also made great progress in recent years, making it possible to use in real life. These applications often require real-time performance, and dedicated hardware accelerators have been proposed to meet these requirement. However, the proposed CNN accelerators focus on computational efficiency only and do not analyze the overall system performance. Therefore, this thesis proposes a CNN accelerating system that can be easily programmed and achieves real-time performance. In order to easily program the CNN operations, Intuitive basic convolutional primitives are defined and neural processing unit (NPU) is designed. In addition, the control architecture that effectively controls NPU is proposed by analyzing overall system performance from primary input to final output. Through the control optimization, 56% of the processing latency is reduced. The proposed system is implemented on the FPGA development board to verify the object detection for 5 fps.
합성곱 신경망은 심층 신경망의 일종으로, 특히 시각 정보를 처리하는데 뛰어난 성능을 보인다. 합성곱 신경망을 이용한 객체 인식 알고리즘 역시 최근 많은 발전을 이루어 실생활에 사용할 수 있게 되었다. 이러한 애플리케이션을 처리하기 위해 기존 연구들에서 전용 하드웨어 가속기가 제안되었다. 하지만 기존 연구는 주로 연산 효율에만 초점을 맞추고 전체 시스템 성능에 대한 분석을 하지 않았다. 따라서 본 학위 논문에서는 쉽게 프로그램이 가능하면서 준수한 실시간 성능을 내는 합성곱 신경망 가속 시스템을 제안한다. 합성곱 신경망 연산을 쉽게 프로그램하기 위하여, 직관적인 기본 연산 단위를 정의하고 지능 처리 장치를 구현하였다. 그리고 전체 시스템 성능을 분석하여 효율적으로 지능 처리 장치를 통제하는 구조를 제안하였다. 최적화 과정을 통하여 전체 처리 시간의 56%가 감소하였으며, FPGA 개발 보드에 제안한 시스템을 구현하여 초당 5개의 프레임에 대하여 객체 인식을 처리하는 것을 검증하였다.