기계학습 기반의 실시간 이미지 인식 알고리즘의 성능
선영규*, 황유민*, 홍승관*, 김진영*
Performance of Real-time Image Recognition Algorithm Based on Machine Learning
Young Ghyu Sun*, Yu Min Hwang*, Seung Gwan Hong*, and Jin Young Kim*
요 약
본 논문에서는 기계학습 기반의 실시간 이미지 인식 알고리즘을 개발하고 개발한 알고리즘의 성능을 테스트 하였다. 실시간 이미지 인식 알고리즘은 기계 학습된 이미지 데이터를 바탕으로 실시간으로 입력되는 이미지를 인식한다. 개발한 실시간 이미지 인식 알고 리즘의 성능을 테스트하기 위해 자율주행 자동차 분야에 적용해보았고 이를 통해 개발한 실시간 이미지 인식 알고리즘의 성능을 확인해보았다.
Key Words : machine learning, artificial neural network, image recognition, deep learning, autonomous vehicle
ABSTRACT
In this paper, we developed a real-time image recognition algorithm based on machine learning and tested the performance of the algorithm. The real-time image recognition algorithm recognizes the input image in real-time based on the machine-learned image data. In order to test the performance of the real-time image recognition algorithm, we applied the real-time image recognition algorithm to the autonomous vehicle and showed the performance of the real-time image recognition algorithm through the application of the autonomous vehicle.
※ 본 연구는 한국연구재단 이공학 개인기초연구지원사업(NRF-2016R1D1A1B03933872)의 일환으로 수행되었음.
*광운대학교 유비쿼터스 통신 연구실 ([email protected], [email protected], [email protected], [email protected]).
접수일자 : 2017년 9월 12일, 최종게재확정일자 : 2017년 9월 18일
I. 서 론
최근 4차 산업혁명 시대를 맞이함에 따라, 4차 산업혁명 시대의 핵심기술인 인공지능 기술이 활발하게 연구 개발이 이루어지고 다양한 분야에 적용되고 있다. 자동차 분야에서 는 인공지능 기술 분야 중 하나인 딥러닝을 이용하여 자동차 의 자율주행을 구현해보려고 하고 있으며 테슬라(Tesla), 우 버(Uber), 구글(Google), 네이버(naver) 등 많은 전기전자, IT 회사들이 참여하고 있다. 또한, 의료 분야에서는 인공지 능을 방대한 양의 의학적 정보로 학습을 시켜 환자의 증상에 맞는 치료방법을 찾는다. 대표적인 예로 ‘왓슨(Watson)’이 있다. 왓슨은 IBM사의 인지컴퓨터 시스템으로 현재까지의 의학적 정보들을 학습해서 진단의 정확도를 높여 의료분야 에 많은 도움이 되고 있다. 금융 · 서비스 산업에서도 인공지 능 기술이 적용되고 있다. 예로 알고리즘과 빅데이터를 통해 포토폴리오 자문, 운용 서비스를 제공하는 ‘로보어드바이저 (roboadvisor)’ 라는 인공지능이 탑재된 로봇이 있다. 로보어
드바이저는 수수료가 굉장히 저렴하고, 보다 객관적인 정보 를 제공하며, 언제 어디서나 쉽게 사용할 수 있다. 이외의 다 른 분야에서도 인공지능 기술이 적용되고 있다.
본 논문에서는 딥러닝 알고리즘 중 하나인 인공신경망을 기반으로 실시간 이미지 인식 알고리즘을 개발해보았다. 딥 러닝은 인공지능 기술인 기계학습의 한 분야로 여러 비선형 변환기법의 조합을 통해 다량의 데이터에서 필요한 내용을 추출하는 분야이다. 이미지 인식 분야에서는 컨볼루션 인공 신경망 알고리즘을 적용한 연구가 활발히 진행 중이다. 본 논문은 컨볼루션 인공신경망의 모태 알고리즘인 인공신경망 을 이용하여 실시간 이미지 인식 알고리즘을 개발해봄으로 써 인공신경망 알고리즘에 대해 이해하고 더 나아가 활발히 연구가 진행 중인 컨볼루션 인공신경망에 대해 이해할 수 있 다. 또한 개발한 실시간 이미지 인식 알고리즘을 자율주행 자동차에 적용하여 알고리즘의 성능을 테스트해봄으로써 자 동차 분야에서의 인공지능 기술 적용 현황을 살펴볼 수가 있 다.
본 논문의 구성은 다음과 같다. Ⅱ장에서는 인공신경망에 대해 설명하고, Ⅲ장에서는 개발한 실시간 이미지 인식 알고 리즘에 대해 설명하고, Ⅳ,Ⅴ장에서는 알고리즘의 성능을 테 스트하기 위한 자율주행 자동차에 적용과정과 그 결과를 설 명한다. 마지막으로 Ⅵ장에서는 결론을 제시하며 이 논문을 마무리 짓는다.
Ⅱ. 인공신경망
인공신경망은 딥러닝 알고리즘 중 하나로 인공신경망을 기반으로 다양한 알고리즘이 생겨났다. 본 논문에서는 가장 기본이 되는 인공신경망을 이용하여 실시간 이미지 인식 알 고리즘을 개발해보았다. 인공신경망은 인간 두뇌의 작동 모 습을 모델링한 것으로 입력과 출력 사이의 하나의 숨겨진 층 이 존재하여 선형적인 모델로는 해결되지 않는 문제들을 해 결할 수 있다. 그림 1은 인공신경망의 하나의 예로 3개의 입 력을 가지는 입력층과 2개의 출력을 가지는 출력층 사이에 하나의 은닉층을 가진다. 이 은닉층을 구성하고 있는 것을 뉴런이라고 한다. 그림 1에서는 5개의 뉴런이 은닉층을 구성 하고 있다. 은닉층의 뉴런이 많을수록 복잡한 문제를 해결할 수 있고 더욱 정확한 값을 도출해 낼 수 있다.
그림 2는 인간의 두뇌에서의 뉴런 하나를 나타내고 있다.
뉴런은 인간의 두뇌를 구성하고 있는 신경세포이고 뉴런과 뉴런 사이는 시냅스로 연결되어 있다. 뉴런은 역치를 가진다.
즉 어떤 기준을 넘는 신호가 들어와야지 활성화가 된다. 시 냅스는 신호를 전달하기 위해 신경전달물질을 한쪽 방향으 로만 전달한고 시냅스마다 연결 강도를 가진다. 연결 강도에 따라 뉴런이 받아들이는 신호가 다를 수 있다. 이러한 뉴런 과 시냅스의 특징과 동작모습을 모델링한 것이 그림3이다.
그림 3은 모델링한 뉴런의 구조로 뉴런의 출력은 뉴런의 입력들의 가중치를 곱한 값의 합이 활성화 함수의 입력으로 되어 출력되는 값이다. 식으로 표현하면 다음과 같다.
(1)
(2)그림 1. 인공신경망.
그림 2. 뉴런 하나의 모습.
그림 3. 인공신경망 뉴런의 구조.
뉴런에서의 적절한 가중치를 찾음으로써 정확한 값을 도 출하고 적절한 가중치를 찾는 과정을 인공지능을 훈련 또는 학습시킨다고 말한다. 적절한 가중치를 찾는 과정은 최적화 알고리즘 중 하나인 경사 하강법[4]을 이용하였다.
뉴런에서 사용되는 활성화 함수는 여러 가지가 있지만 본 논문에서는 대칭적 시그모이드 함수[5]를 사용하였다. 식으 로 다음과 같이 표현된다.
(3)Ⅲ. 실시간 이미지 인식 알고리즘
본 논문에서 개발한 실시간 이미지 인식 알고리즘은 기존 에 저장하고 있던 이미지 데이터를 이용하여 인공신경망을 학습시켜 저장하고 있던 이미지 데이터를 기반으로 적절한 가중치를 가지는 인공신경망을 만든다. 학습이 되어 적절한 가중치를 가지는 인공신경망은 함수처럼 입력이 들어오면 출력이 나오게 되는 동작을 한다. 이 인공신경망을 이용하여 실시간으로 카메라를 통해 받아오는 이미지를 학습된 인공 신경망의 입력으로 사용하면 해당 이미지가 무엇인지를 판 별하여 출력한다. 판별한 이미지가 틀릴 경우 해당 이미지를 저장하고 인공신경망을 학습시키는 이미지 데이터로 사용한 다. 이미지를 판별하고 잘못된 판별로 인해 인공신경망을 새 로 학습시키는 과정을 반복하면 더욱 정확하게 판별하는 인 공신경망이 되어 실시간 이미지 인식 알고리즘의 성능을 높
이게 된다. 알고리즘의 성능에 대한 것은 Ⅴ장을 통해 확인 해 볼 수 있다.
그림 4. 실시간 이미지 인식 알고리즘.
Ⅳ. 실험 과정
본 논문에서 개발한 실시간 이미지 인식 알고리즘의 성능 을 테스트하기 위해 자율주행 자동차에 적용을 해보았다. 실 험실 수준에서는 실제 자동차에 적용해볼 수가 없어 RC(Remote Control) car에 MCU(Micro Controller Unit) board와 카메라를 부착하여 실험을 진행하였다. 또한 RC car에 부착된 MCU에서 인공신경망에 대한 처리를 하는데 있어서 처리속도 성능이 부족하여 RC car에 부착된 MCU에 서는 카메라를 통해 이미지를 PC로 전송하게 하였고 모든 처리과정은 PC에서 이루어진다. 그리고 RC car에 부착된 MCU와 PC 간의 데이터 전송은 Wifi를 이용한 무선네트워 크를 사용했다. RC car를 자율적으로 주행시키기 위해 리모 컨에 MCU를 연결하여 PC의 인공신경망 처리에서 나오는 결과에 따라 리모컨이 동작하도록 하였다. 리모컨에 연결된 MCU와 PC 사이의 연결은 Serial 통신을 이용한 유선네트워 크를 사용하였다.
그림 5. 실험 과정 구조도.
그림 6. MCU가 부착된 RC car의 모습.
그림 7. MCU와 연결된 리모컨의 모습.
그림 8. 자율 주행 과정.
우선 인공신경망을 학습시키기 위해 RC car를 수동적으 로 조작하면서 실시간으로 카메라를 통해 받는 이미지와 해 당 이미지일 때의 RC car의 주행동작을 저장한다. 저장한 이 미지를 이용하여 인공신경망을 학습시킨다. 이 때 인공신경 망의 출력은 RC car의 주행동작이다. 학습된 인공신경망을 개발한 실시간 이미지 알고리즘에 적용하여 RC car를 동작 시킨다. RC car는 실시간으로 카메라를 통해 받는 이미지가 개발한 실시간 이미지 인식 알고리즘을 통해 나오는 결과에 따라 자율적으로 주행하게 된다. RC car의 주행을 통해 개발 한 실시간 이미지 인식 알고리즘의 성능을 확인할 수 있다.
Ⅴ. 실험 결과
그림 9은 수동적으로 조작하여 저장한 이미지로 학습시킨 인공신경망의 학습율을 나타낸다. 학습율이 크기 나온 것을 통해 경사 하강법에 의해 적절한 가중치를 찾는 과정이 제대 로 수행되었다는 것을 알 수 있다. 그림 9에서의 0은 좌회전, 1은 우회전, 2는 직진, 3은 후진을 나타낸다. 실제 입력과 인 공신경망을 통해 예측된 출력이 89퍼센트 같다는 것을 확인 할 수 있다.
그림 10은 판별이 잘못된 이미지들을 저장하여 기존의 이 미지 데이터에 추가하고 새로 인공신경망을 학습시켜 나오 는 인공신경망의 학습율을 나타낸다. 인공신경망의 학습율 이 이전의 인공신경망의 학습율 약 89%에서 약 98%로 증가 한 것을 볼 수 있다. 앞서 언급했듯이 이미지를 판별하고 잘 못된 판별로 인해 인공신경망을 새로 학습시키는 과정을 반 복할수록 이미지를 더욱 정확하게 인식하여 실시간 이미지 인식 알고리즘의 성능을 높이는 것을 확인하였다.
그림 11은 또 다시 판별이 잘못된 이미지들을 저장하여 기존의 이미지 데이터에 추가하고 새로 인공신경망을 학습 시켜 나오는 인공신경망의 학습율을 나타낸다. 결과인 학습 률을 살펴보면 이전 과정보다 더 낮아진 것을 볼 수 있다. 이 미지 데이터가 많으면 많을수록 더욱 정확한 이미지 인식을 하게 될 것으로 생각이 되었으나 결과는 그렇지 못했다. 오 히려 너무 많은 이미지 데이터들이 인공신경망을 과하게 학 습을 시켜 한 이미지에 대해 고정되어 있는 값을 출력하는 현상을 야기했다. 결국 알고리즘의 성능을 높이기 위해서는 적당한 이미지 데이터가 필요하다.
그림 13은 실시간으로 카메라가 받는 이미지와 그에 해당 하는 출력이 나오는 그림이다. 그림 13에서의 이미지는 우회 전을 해야되는 상황을 나타내고 있다. 개발한 알고리즘의 출 력은 RC car가 우회전을 하도록 오른쪽 주행동작신호를 내 보내고 있다. 해당 이미지에 맞게 제대로 된 주행동작신호가 나오는 것을 보여준다.
그림 9. 학습된 인공신경망의 학습율.
그림 10. 새로 학습된 인공신경망의 학습율.
그림 11. 또 다시 학습된 인공신경망의 학습율.
그림 12. 자율주행 중인 모습.
그림 13. 실시간 이미지에 대한 출력 결과.
Ⅵ. 결론
본 논문에서는 기계학습 알고리즘인 인공신경망을 이용 하여 실시간 이미지 인식 알고리즘을 개발해보았고 개발한 알고리즘의 성능을 테스트하기 위해 자율주행 자동차에 적 용해보았다. 개발한 알고리즘의 성능은 실험결과를 통해 성 능이 좋은 것을 확인할 수 있다. 하지만 너무 많은 이미지 데 이터로 인공신경망을 학습시킬 경우 오히려 알고리즘의 성 능저하를 불러일으킨다는 것을 실험을 통해 발견하였고 이 를 통해 개발한 알고리즘의 성능을 높이기 위해서는 적정량 의 이미지 데이터를 인공신경망을 학습시킬 때 사용해야 된 다는 것을 알게 되었다. 개발한 알고리즘을 자율주행 자동차 뿐만 아니라 다른 분야에도 적용시켜 사용할 수 있을 것으로 생각된다. 다만 적용하는 상황에 따라 학습시킬 적정한 이미 지 데이터의 크기가 다를 것이다. 그래서 학습시킬 적정한 이미지 데이터의 크기가 많을 수도 있고 적을 수도 있다. 만 약 학습시킬 이미지가 많으면 많을수록 더욱 정확하게 인식 을 하겠지만, 그만큼의 데이터를 처리하는데 필요한 시간이 늘어나게 될 것이다. 그럴 경우 실시간으로 이미지를 인식하 는데 어려움이 생길 수 있으나 이 문제는 하드웨어의 성능 문제로 생각되며 알고리즘의 성능은 크게 좌우되지 않을 것 이다. 하드웨어의 성능 문제는 앞으로의 기술발전을 생각하 면 큰 문제가 되지 않을 것으로 생각된다.
참 고 문 헌
[1] Kapil Nahar, “Artificial neural network,”An international journal of advanced computer technology(IJACT), vol. 1, no.
2, pp. 25-27, Dec, 2012.
[2] Baoyuan Liu, Min Wang, Hassan Foroosh, Marshall Tappen, and Marianna Penksy, “Sparse convolutional neural networks,” Computer Vision and Pattern Recognition(CVPR) 2015 IEEE Conference , pp. 806-817, Oct, 2015.
[3] OpenCV 2.3.13.3 documentation, OpenCV API Reference, Machine Learning : http://docs.opencv.org/2.4/modules/ml/
doc/neural_networks.html
[4] Parveen Sehgal, Sangeeta Gupta and Dharminder Kumar,
“Minimization of error in training a neural network using gradient descent method,” International Journal of Technical Research(IJTR), vol. 1, no. 1, pp. 10-12, Mar-Apr, 2012.
[5] Sibi, Allwyn Jones, Siddarth, “Analysis of different a activation function using back propagation neural networks,”
Journal of Theoretical and Applied Information Technology(JATIT), vol. 47, no. 3, pp. 1264-1268, Jan, 2013.
[6] Yinyin Liu, Janusz A. Starzyk, and Zhen Zhu, “Optimized approximation algorithm in neural networks without overfitting,”IEEE Transactions on Neural Networks, vol. 19, no. 6, pp. 983-995, Jun, 2008.
저자
선 영 규(Young Ghyu Sun) 학생회원
․2012년 3월:광운대학교 전자융합공학 학사
<관심분야> : 인공지능, 무선 에너지하베스팅, 디지털통신, 전력선 통신
황 유 민(Yu Min Hwang) 학생회원
․2012년 2월:광운대학교 전파공학과 학사 졸업
․2012년 3월 ~ 현재:광운대학교 전파 공학과 석·박사통합과정
<관심분야> 디지털 통신, 무선에너지하비스팅, 무선 측위 시 스템, 인공지능
홍 승 관(Seung Gwan Hong) 학생회원
․2016년 2월 : 광운대학교 전자융합공학 학사 졸업
․2016년 3월 ∼ 현재 : 광운대학교 전파 공 학과 석박통합과정
<관심분야> : 백스케터 통신, 무선에너지하비스팅, 인공지능, 5G 이동통신
김 진 영(Jin Young Kim) 종신회원
․1998년 2월:서울대학교 전자 공학과 공학박사
․2001년 2월:SK텔레콤 네트웍 연구소 책임연구원
․2001년 3월 ~ 현재:광운대학교 전자 융합공학과 교수
<관심분야> : 디지털통신, 가시광통신, UWB, 부호화, 인지 무선통신, 5G 이동통신, 무선 에너지 하비스팅, 인공지능