얼굴 검출에는 다양한 포즈, 빛의 세기, 얼굴이 가려지는 현상 등의 많은 변수가 존재하므로, 높은 성능의 검출 시스템이 요구된다. 이에 영상 분류에 뛰어난 Convolutional Neural Network (CNN)이 적절하나, CNN의 많은 연산은 고성능 하드웨어 자원을 필요로한다. 그러나 얼굴 검출을 위한 소형, 모바일 시스템의 개발에는 저가의 저전력 환경이 필수적이고, 이를 위해 본 논문에서는 소형의 FPGA를 타겟으로, 얼굴 검출에 적절한 3-Stage Cascade CNN 구조를 기반으로하는 CPU-FPGA 통합 시스템을 설계 구현한다. 가속을 위해 알고리즘 단계에서 Adaptive Region of Interest (ROI)를 적용했으며, Adaptive ROI는 이전 프레임에 검출된 얼굴 영역 정보를 활용하여 CNN이 동작해야 할 횟수를 줄인다. CNN 연산 자체를 가속하기 위해서는 FPGA Accelerator를 이용한다. 가속기는 Bottleneck에 해당하는 Convolution 연산의 가속을 위해 FPGA 상에 다수의 FeatureMap을 한번에 읽어오고, Multiply-Accumulate (MAC) 연산을 병렬로 수행한다. 본 시스템은 Terasic사의 DE1-SoC 보드에서 ARM Cortex A-9와 Cyclone V FPGA를 이용하여 구현되었으며, HD ($1280{\times}720$)급 입력영상에 대해 30FPS로 실시간 동작하였다. CPU-FPGA 통합 시스템은 CPU만을 이용한 시스템 대비 8.5배의 전력 효율성을 보였다.
얼굴 검출에는 다양한 포즈, 빛의 세기, 얼굴이 가려지는 현상 등의 많은 변수가 존재하므로, 높은 성능의 검출 시스템이 요구된다. 이에 영상 분류에 뛰어난 Convolutional Neural Network (CNN)이 적절하나, CNN의 많은 연산은 고성능 하드웨어 자원을 필요로한다. 그러나 얼굴 검출을 위한 소형, 모바일 시스템의 개발에는 저가의 저전력 환경이 필수적이고, 이를 위해 본 논문에서는 소형의 FPGA를 타겟으로, 얼굴 검출에 적절한 3-Stage Cascade CNN 구조를 기반으로하는 CPU-FPGA 통합 시스템을 설계 구현한다. 가속을 위해 알고리즘 단계에서 Adaptive Region of Interest (ROI)를 적용했으며, Adaptive ROI는 이전 프레임에 검출된 얼굴 영역 정보를 활용하여 CNN이 동작해야 할 횟수를 줄인다. CNN 연산 자체를 가속하기 위해서는 FPGA Accelerator를 이용한다. 가속기는 Bottleneck에 해당하는 Convolution 연산의 가속을 위해 FPGA 상에 다수의 FeatureMap을 한번에 읽어오고, Multiply-Accumulate (MAC) 연산을 병렬로 수행한다. 본 시스템은 Terasic사의 DE1-SoC 보드에서 ARM Cortex A-9와 Cyclone V FPGA를 이용하여 구현되었으며, HD ($1280{\times}720$)급 입력영상에 대해 30FPS로 실시간 동작하였다. CPU-FPGA 통합 시스템은 CPU만을 이용한 시스템 대비 8.5배의 전력 효율성을 보였다.
Since there are many variables such as various poses, illuminations and occlusions in a face detection problem, a high performance detection system is required. Although CNN is excellent in image classification, CNN operatioin requires high-performance hardware resources. But low cost low power envi...
Since there are many variables such as various poses, illuminations and occlusions in a face detection problem, a high performance detection system is required. Although CNN is excellent in image classification, CNN operatioin requires high-performance hardware resources. But low cost low power environments are essential for small and mobile systems. So in this paper, the CPU-FPGA integrated system is designed based on 3-stage cascade CNN architecture using small size FPGA. Adaptive Region of Interest (ROI) is applied to reduce the number of CNN operations using face information of the previous frame. We use a Field Programmable Gate Array(FPGA) to accelerate the CNN computations. The accelerator reads multiple featuremap at once on the FPGA and performs a Multiply-Accumulate (MAC) operation in parallel for convolution operation. The system is implemented on Altera Cyclone V FPGA in which ARM Cortex A-9 and on-chip SRAM are embedded. The system runs at 30FPS with HD resolution input images. The CPU-FPGA integrated system showed 8.5 times of the power efficiency compared to systems using CPU only.
Since there are many variables such as various poses, illuminations and occlusions in a face detection problem, a high performance detection system is required. Although CNN is excellent in image classification, CNN operatioin requires high-performance hardware resources. But low cost low power environments are essential for small and mobile systems. So in this paper, the CPU-FPGA integrated system is designed based on 3-stage cascade CNN architecture using small size FPGA. Adaptive Region of Interest (ROI) is applied to reduce the number of CNN operations using face information of the previous frame. We use a Field Programmable Gate Array(FPGA) to accelerate the CNN computations. The accelerator reads multiple featuremap at once on the FPGA and performs a Multiply-Accumulate (MAC) operation in parallel for convolution operation. The system is implemented on Altera Cyclone V FPGA in which ARM Cortex A-9 and on-chip SRAM are embedded. The system runs at 30FPS with HD resolution input images. The CPU-FPGA integrated system showed 8.5 times of the power efficiency compared to systems using CPU only.
많은 연산량의 빠른 처리를 위해 대부분의 경우 PC 환경에서 CNN 구조 연구[3]-[10]가 개발되는데, CCTV, 차량, 모바일 제품 등 실제품은 고가의 연산기를 장착하기에 어려움이 있고, 저가의 저전력 시스템이 요구된다. 본 연구는 위 조건에 입각하여, 임베디드용으로 개발된 소형 FPGA인 Intel FPGA사의 Cyclone V를 타겟으로 개발되었다. 임베디드 환경에서 많은 연산량을 고속 처리하기 위한 첫 번째 방법으로 CNN의 구조설계를 본론의 2장에서, 두 번째 방법으로 소프트웨어 알고리즘의 측면에서 이용되는 Adaptive ROI의 설명은 3장에서, 마지막으로 하드웨어를 이용한 가속기에 대한 내용은 본론의 4장에서 설명한다.
제안 방법
본 논문에서는 [18]의 네트워크 구조를 기반으로 얼굴 분류와 Calibration을 통합한 형태의 CNN을 구성하고, Adaptive ROI를 적용해 성능과 속도 문제를 개선한다. 또한, Multiple Feature Map Load, Local Memory 재사용을 통해 Memory Bandwidth를 최적화하고, 공통적으로 사용되는 커널 크기를 기준으로 Computation Engine을 설계하여 Layer종류에 관계없이 연산을 수행토록 한다.
본 논문에서는 저전력 임베디드 환경에서 실시간 동작하는 얼굴 검출 용 Cascade CNN의 CPU-FPGA 구조에 대해 분석하였다. 검증 결과 FPGA를 이용한 가속을 통해 HD (1280x720)급영상을 입력으로 받아 실시간 동작하였으며, GPU를 활용한 PC 대비 1/10 수준의 전력을 소모하며 같은 동작을 수행했다.
대상 데이터
CNN의 학습을 위해 Face Detection Dataset and Benchmark (FDDB)[1] (2,845장-5,171얼굴) 데이터셋이 이용되었으며, 검증을 위해 FDDB, HD급 해상도의 동영상이 이용되었다.
성능/효과
본 논문에서는 저전력 임베디드 환경에서 실시간 동작하는 얼굴 검출 용 Cascade CNN의 CPU-FPGA 구조에 대해 분석하였다. 검증 결과 FPGA를 이용한 가속을 통해 HD (1280x720)급영상을 입력으로 받아 실시간 동작하였으며, GPU를 활용한 PC 대비 1/10 수준의 전력을 소모하며 같은 동작을 수행했다. 따라서 CCTV, 모바일 환경 등 풍부한 전력, 하드웨어 자원을 쓸 수 없는 상황에서 CPU-FPGA 통합 시스템의 사용이 얼굴 검출에 적합함을 확인했다.
검증 결과 FPGA를 이용한 가속을 통해 HD (1280x720)급영상을 입력으로 받아 실시간 동작하였으며, GPU를 활용한 PC 대비 1/10 수준의 전력을 소모하며 같은 동작을 수행했다. 따라서 CCTV, 모바일 환경 등 풍부한 전력, 하드웨어 자원을 쓸 수 없는 상황에서 CPU-FPGA 통합 시스템의 사용이 얼굴 검출에 적합함을 확인했다. 다만 영상 내부의 다양한 환경 변수로 인해, 영상의 종류에 따라 동작 시간과 검출률에 변화가 있는데, 검출 대상의 크기와 개수에 변화에 강인한 얼굴 검출 시스템의 추가적인 연구가 필요하다.
임베디드 환경에서 CPU만을 사용하면 전력사용량은 적지만, 낮은 동작 속도로 인해 에너지효율은 높지 못하다. 그러나 CPU-FPGA 통합 시스템은 낮은 전력 소모량과 빠른 동작 속도를 보장하여, 전력 대비 연산 효율성이 PC의 10.5배, CPU만을 이용한 임배디드 시스템의 8.3배로 가장 높다.
후속연구
따라서 CCTV, 모바일 환경 등 풍부한 전력, 하드웨어 자원을 쓸 수 없는 상황에서 CPU-FPGA 통합 시스템의 사용이 얼굴 검출에 적합함을 확인했다. 다만 영상 내부의 다양한 환경 변수로 인해, 영상의 종류에 따라 동작 시간과 검출률에 변화가 있는데, 검출 대상의 크기와 개수에 변화에 강인한 얼굴 검출 시스템의 추가적인 연구가 필요하다.
질의응답
핵심어
질문
논문에서 추출한 답변
Adaptive ROI란?
Adaptive ROI는 이전 프레임에서 검출된 얼굴위치를 참조하여, 현재 프레임에서 CNN에 입력할 영상 ROI의 수를 감소시키기 위해 적용되는 기법이다. 이전 프레임의 얼굴 검출 여부와 현재 상황에 따라 각 경우를 나누고, ROI 영역을 설정하는데 그 규칙은 표 1과 같다.
전력 소모량은 임베디드 환경에 구현할 경우 PC에 비해 몇 배 이하로 줄어드는가?
전력 소모량은 임베디드 환경에 구현할 경우PC에 비해 10여 배 이하로 전력 소모량이 줄어든다. 임베디드 환경에서 CPU만을 사용하면 전력사용량은 적지만, 낮은 동작 속도로 인해 에너지효율은 높지 못하다.
Mathias et al가 제안한 변형 가능한 얼굴 검출기 모델의 단점은?
[4]-[6]는 변형 가능한 얼굴 검출기 모델을 제안하여 높은 성능을 보였다. 그러나 과도한 연산량과 학습량을 필요로 하는 단점이 있었다. 최근 CNN의 적용으로 영상 분류[7], 얼굴 인식[8]에서 큰 발전을 보였다.
참고문헌 (18)
V. Jain and E. G. Learned-Miller, "FDDB: A benchmark for face detection in unconstrained settings," Univ. Massachusetts, Amherst, MA, USA, Tech. Rep. MCS-2010-009, 2010.
C. Zhang, "Optimizing FPGA-based Accelerator Design for Deep Convolutional Neural Networks," Proceedings of the 2015 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, pp. 161-170, 2015. DOI:10.1145/2684746.2689060
P. Viola and M. J. Jones, "Robust real-time face detection," International Journal of Computer Vision, vol. 57, no. 2, pp. 137-154, May. 2004. DOI:10.1023/B:VISI.0000013087.49260.fb
M.Mathias, R. Benenson, M. Pedersoli and L. Van Gool, "Face detection without bells and whistles," European Conference on Computer Vision, 2014, pp. 720-735. DOI:10.1007/978-3-319-10593-2_47
J. Yan, Z. Lei, L. Wen, and S. Li, "The fastest deformable part model for object detection," in IEEE Conf. Comput. Vis. Pattern Recognit., 2014, pp. 2497-2504.
X. Zhu and D. Ramanan, "Face detection, pose estimation, and landmark localization in the wild," in IEEE Conf. Comput. Vis. Pattern Recognit., 2012, pp. 2879-2886. DOI: 10.1109/CVPR.2012.6248014
A. Krizhevsky, I. Sutskever, and G. E. Hinton, "ImageNet classification with deep convolutional neural networks," in Adv. Neural Inf. Process. Syst., 2012, pp. 1097-1105.
Y. Sun, Y. Chen, X.Wang, and X. Tang, "Deep learning face representation by joint identification-verification," in Adv. Neural Inf. Process. Syst., 2014, pp. 1988-1996.
H. Li, Z. Lin, X. Shen, J. Brandt, and G. Hua, "A convolutional neural network cascade for face detection," in IEEE Conf. Comput. Vis. Pattern Recognit., 2015, pp. 5325-5334.
C. Zhang and Z. Zhang, "Improving multiview face detection with multitask deep convolutional neural networks," in IEEE Winter Conf. Appl. Comput. Vis., 2014, pp. 1036-1041. DOI: 10.1109/WACV.2014.6835990
S. Chakradhar, M. Sankaradas, V. Jakkula and S. Cadambi, "A dynamically congurable coprocessor for convolutional neural networks," In ACM SIGARCH Computer Architecture News, vol.38, no.3, pp.247-257, ACM, Jun.2010. DOI:10.1145/1816038.1815993
T. Chen and O. Temam. Diannao, "A small-footprint high-throughput accelerator for ubiquitous machine-learning," SIGPLAN Not., vol,49. no.4, pp.269-284, Feb. 2014. DOI:10.1145/2644865.2541967
A. Krizhevsky, I. Sutskever and G. E. Hinton, "Imagenet classication with deep convolutional neural networks," Advances in Neural Information Processing Systems, 25 pp.1097-1105. Curran Associates, Inc., 2012.
D. Aysegul, J. Jonghoon, G. Vinayak, K. Bharadwaj, C. Alfredo, M. Berin and C. Eugenio, "Accelerating deep neural networks on mobile processor with embedded programmable logic," In NIPS 2013. IEEE, 2013.
S. Cadambi, A. Majumdar, M. Becchi, S. Chakradhar and H. P. Graf, "A programmable parallel accelerator for learning and classication," In Proceedings of the 19th international conference on Parallel architectures and compilation techniques, pp.273-284. ACM, 2010. DOI:10.1145/1854273.1854309
C. Farabet, C. Poulet, J. Y. Han and Y. LeCun, "Anfpga-based processor for onvolutional networks," In Field Programmable Logic and Applications FPL 2009. International Conference, IEEE, 2009. pp. 32-37. DOI: 10.1109/FPL.2009.5272559
M. Peemen, A. A. Setio, B. Mesman and H. Corporaal, "Memory-centric accelerator design for convolutional neural networks," In Computer Design (ICCD), 2013 IEEE 31st International Conference, IEEE, 2013. pp.13-19. DOI: 10.1109/ICCD.2013.6657019
Kaipeng Zhang, "Joint Face Detection and Alignment Using Multitask Cascaded Convolutional Networks," IEEE Signal Processing Letters, 2016, vol.23, no.10, pp. 1499-1503, Oct. 2016. DOI: 10.1109/LSP.2016.2603342
※ AI-Helper는 부적절한 답변을 할 수 있습니다.