DOI QR코드

DOI QR Code

Implementation of Neural Network Accelerator for Rendering Noise Reduction on OpenCL

OpenCL을 이용한 랜더링 노이즈 제거를 위한 뉴럴 네트워크 가속기 구현

  • Nam, Kihun (Dept. Computer Engineering, SeoKyeong Univ)
  • Received : 2018.11.01
  • Published : 2018.11.30

Abstract

In this paper, we propose an implementation of a neural network accelerator for reducing the rendering noise using OpenCL. Among the rendering algorithms, we selects a ray tracing to assure a high quality graphics. Ray tracing rendering uses ray to render, less use of the ray will result in noise. Ray used more will produce a higher quality image but will take operation time longer. To reduce operation time whiles using fewer rays, Learning Base Filtering algorithm using neural network was applied. it's not always produce optimize result. In this paper, a new approach to Matrix Multiplication that is based on General Matrix Multiplication for improved performance. The development environment, we used specialized in high speed parallel processing of OpenCL. The proposed architecture was verified using Kintex UltraScale XKU6909T-2FDFG1157C FPGA board. The time it takes to calculate the parameters is about 1.12 times fast than that of Verilog-HDL structure.

본 논문에서는 OpenCL을 이용한 랜더링 노이즈 제거를 위한 가속기 구현을 제안한다. 렌더링 알고리즘 중에 고품질 그래픽스를 보장하는 레이트레이싱을 선택하였다. 레이 트레이싱은 레이를 사용하여 렌더링하는데 레이를 적게 사용하면 노이즈가 발생한다. 레이를 많이 사용하게 되면 고화질의 이미지를 생성할 수 있으나 연산 시간이 상대적으로 길어지게 된다. 레이를 적게 사용하면서 연산시간을 줄이기 위해 뉴럴 네트워크를 이용한 LBF(Learning Based Filtering) 알고리즘을 적용하였다. 뉴럴 네트워크를 사용한다고 해서 항상 최적의 결과가 나오지는 않는다. 본 논문에서는 성능향상을 위해 일반적인 행렬 곱셈을 기반으로 하는 새로운 기법의 행렬 곱셈 접근법을 제시하였다. 개발환경으로는 고속병렬 처리가 특화된 OpneCL을 사용하였다. 제안하는 구조는 Kintex UltraScale XKU690T-2FDFG1157C FPGA 보드에서 검증하였다. 하나의 픽셀에 사용되는 파라미터를 계산 시간은 Verilog-HDL 구조보다 약 1.12배 빠른 것으로 확인했다.

Keywords

GJMGCK_2018_v4n4_373_f0001.png 이미지

그림 1. 렌더링 결과 Fig 1. Result of Rendering

GJMGCK_2018_v4n4_373_f0002.png 이미지

그림 2. 뉴런 모델 Fig 2. Neuron Model

GJMGCK_2018_v4n4_373_f0003.png 이미지

그림 3. 뉴럴 네트워크 가속기의 구조 Fig 3. Structure of Neural Network Accelerator

GJMGCK_2018_v4n4_373_f0004.png 이미지

그림 4. 입력과 커널(필터)의 곱셈 Fig 4. Multiplication of Input and kernel(filter)

GJMGCK_2018_v4n4_373_f0005.png 이미지

그림 5. 일반적인 행렬 곱셈 구조 Fig 5. General Matrix multiplication structure

GJMGCK_2018_v4n4_373_f0006.png 이미지

그림 6. 일반적인 행렬 곱셈 코드 Fig 6. General matrix multiplication code

GJMGCK_2018_v4n4_373_f0007.png 이미지

그림 6. 병렬 행렬 곱셈 구조 Fig 6. Parallel matrix multiplication structure

GJMGCK_2018_v4n4_373_f0008.png 이미지

그림 7. 병렬 핼렬 곱셈 코드 Fig 7. Parallel matrix multiplication code

GJMGCK_2018_v4n4_373_f0009.png 이미지

그림 8. 이미지 처리 결과 Fig 8. Image of processing result

표 1. 픽셀당 연산 처리 시간 비교 Table 1. Comparison of processing time per pixel

GJMGCK_2018_v4n4_373_t0001.png 이미지

References

  1. Rousselle, Fabrice, Claude Knaus, and Matthias Zwicker, "Adaptive rendering with non-local means filtering" ACM Transactions on Graphics (TOG) 2012.
  2. Li, Tzu-Mao, Yu-Ting Wu, and Yung-Yu Chuang, "SURE-based optimization for adaptive sampling and reconstruction", ACM Transactions on Graphics (TOG) 32.6 (2012): 194.
  3. Rousselle, Fabrice, Marco Manzi, and Matthisa Zwicker, "Robust denising usig feature and color inforamtion", Computer Graphics Forum, Vol. 32, No. 7, 2013.
  4. Sen, Pradeep, and Soheil Darabi, "On filtering the noise from the random parameters in Monte Carlo rendering", ACM Trans, Graph, Vol.31, No.3, 2012.
  5. Sangil Lee, Kihun Nam, Junmo Jung, "Implementation of handwritten digit recognition CNN structure using GPGPU and Combined Layer", JCCT, Vol.3, No4, pp. 165-169, Nov. 2017.
  6. Kihun Nam, "Implementation of Neural Network Accelerator for Rendering noise Reduction", ikeee, Vol.21, No4, pp. 420-425, Dec. 2017.
  7. Aravind Vasudevan, Andrew Anderson, David Gregg, "Parallel Multi Channel convolution using General Matrix Multiplication", In 28th IEEE International Conference on Application-specific Systems, Architectures and Processors, ASAP 2017, pp. 19-24, July. 2017.
  8. K. Matsumo, N. Nakastio, and S.G. Sedukhin, "Performance Tuninf of Matrix Multiplication in OpenCL on Different GPUs and CPUs", In SC Companion;High Performance Computing, Netwoking Storage and Analysis. IEEE, pp. 396-405, 2012.
  9. Kwang Nin Nam, Yong Jin Jeong, "Cascade CNN with CPU-FPGA Architecture for Real time Face Detection", JIKEE, Vol.21 No.4, pp. 388-396, Dec. 2017.