DOI QR코드

DOI QR Code

학습기반 효율적인 얼굴 검출 시스템 설계

Design of an efficient learning-based face detection system

  • 김현식 (서일대학교 소프트웨어공학과) ;
  • 김완태 (서일대학교 정보통신공학과) ;
  • 박병준 (서일대학교 소프트웨어공학과)
  • 투고 : 2023.08.29
  • 심사 : 2023.09.12
  • 발행 : 2023.09.30

초록

Face recognition is a very important process in video monitoring and is a type of biometric technology. It is mainly used for identification and security purposes, such as ID cards, licenses, and passports. The recognition process has many variables and is complex, so development has been slow. In this paper, we proposed a face recognition method using CNN, which has been re-examined due to the recent development of computers and algorithms, and compared with the feature comparison method, which is an existing face recognition algorithm, to verify performance. The proposed face search method is divided into a face region extraction step and a learning step. For learning, face images were standardized to 50×50 pixels, and learning was conducted while minimizing unnecessary nodes. In this paper, convolution and polling-based techniques, which are one of the deep learning technologies, were used for learning, and 1,000 face images were randomly selected from among 7,000 images of Caltech, and as a result of inspection, the final recognition rate was 98%.

키워드

Ⅰ. 서론

공공장소에서 범죄가 급증하면서 범죄 예방 및 검거를 위한 사각지대에 대한 감시카메라의 설치 확대와 함께 기존 감시카메라에 대한 얼굴 인식과 이상행동 감지와 같은 성능 향상의 중요성이 대두되고 있다. 감시카메라는 상황인지, 범죄예방, 출입과 이동경로 파악 등 기본적인 사회 모든 분야에서 사용되고 있으며 미아방지, 공항이나 주요 시설물의 대테러방지, 사람이 직접 접근하기 어려워 눈으로 확인하기 힘든 장소의 문제점 파악 등 응용 분야가 점차 넓어지고 있다. 이러한 감시카메라는 개인 사생활 및 안전에 대한 보호에서부터 공공기관의 보안까지 다양한 목적으로 점차 확대되어 이용되면서 인력, 예산 등의 문제로 인하여 최근 들어서는 지능형 영상감시에 대한 기술 요구사항이 증가하고 있다[1].

전 세계적으로 안전사고 종합 대책 가운데 하나로 감시 카메라 설치가 의무화되고 있는 추세이며 특정 지역이나 기관 등에서는 반드시 위험 지역 등에 감시 카메라를 설치 운용해야 한다. 이러한 감시카메라를 이용한 원격감시 방법은 크게 사람을 통한 수동적인 감시방법과 자동화된 방식으로 나뉘게 되는데 사람을 통한 수동적인 감시 방법의 경우, 직접 관리 시 이를 관리하기 위한 방범 요원 인력의 부족과 유지비용 등에서 관리가 어려운 실정이고 이를 사설 보안 방범 업체에 모두 위탁하기에는 상당한 경제적 부담이 발생한다는 문제점을 가지고 있다. 특히, 응급 상황이나 긴급 등의 예기치 못한 상황이 발생 했을 때 관리자가 실시간 모니터링을 하지 않았을 경우 아무런 효과를 발휘할 수 없고, 관리자가 있는 경우에도 해상도와 검출률과 같은 성능이 낮은 기존 감시카메라로 인해 그러한 상황에 대한 판단 및 예측을 정확하게 수행할 수 없는 경우가 빈번하게 발생하여 보안 방범을 위한 폐쇄회로티브이(CCTV) 시스템의 본래 목적에 부합하지 않는 문제점이 있다. 때문에 최근 들어서는 자동화된 방식의 감시 기술을 많이 활용하게 되는데 기존 자동화된 방식의 경우, 어두운 환경이나 사람의 옆 모습 등에서 인식률이 떨어지는 문제가 있다. 그리고 이러한 문제를 보완한 방법들도 상황인지 또는 인식을 위한 대규모 학습 등이 필요하기 때문에 고성능 하드웨어와 필요한 정보에 대한 검출 알고리즘 등을 필요로 하고 있다[2]. 본 논문에서는 이러한 문제점을 해결하기 위하여 소규모 감시카메라에서도 활용될 수 있는 보다 효율적인 학습 기반 얼굴검출 시스템을 제안한다.

본 논문에서는 하드웨어와 알고리즘의 발달로 재 검토되고 있으며 영상처리 분야에서 눈부신 성능 향상을 보이고 있는 CNN(Convolution Neural Network)을 이용한 얼굴 인식 방법을 제안한다. 제안한 딥러닝(Deep Learning) 학습 방식은 콘볼루션 신경망 모델을 기반으로 얼굴 이미지의 특징을 추출하여 학습하는 기술로서 주위 변화에 대한 적응도가 높아 어두운 환경 등에서 사람을 인지하고 행동을 파악해야 하는 얼굴 검출 시스템을 만들었을 때 높은 성능을 보인다.

본 논문의 2장에서는 관련연구, 3장에서는 학습을 위한 전처리 과정을 소개한다. 4장에서는 시스템 기본 구조와 설계 방법 그리고 학습모델을 기술하였으며 5장에서는 실험 결과 및 성능을 평가 하였다. 마지막 6장에서는 결론 및 향후 연구 과제를 서술하였다.

Ⅱ. 관련연구

본 장에서는 얼굴 객체 분류 알고리즘에 대해서 소개하고 머신러닝을 이용한 CNN 알고리즘과 특징비교방법을 비교한다.

2.1 얼굴 검출 알고리즘

얼굴을 검출하여 인식하는 방법은 일반적으로 이미지에 있는 객체의 특징 정보를 이용한다. 대표적인 방법으로 사람의 얼굴은 두 개의 눈이 좌우에 대칭으로 위쪽에 위치하며, 가운데 코가 위치하는 얼굴의 특징을 이용한 상호 관계를 판별하는 지식기반 방법, 기본적으로 얼굴의 형상을 여러 곳에서 바라보는 자세에서도 같은 구조로 이루어져 있다는 가정으로 얼굴의 모양의 특징을 추출하는 특징 기반 방법, 얼굴의 영상과 형판을 비교하여 일정 수준 이상으로 동일하면 얼굴로 검출하는 형식에 기반을 둔 방법, 그리고 얼굴 전체를 얼굴과 비율로 구분하여 형상을 추론하여 비교하는 외모 기반 방법 등이 있다. 그리고 이를 기반으로 딥러닝을 이용한 학습 기반 방법이 있다.

최근에는 인공지능 기술인 딥러닝 기법을 이용한 영상처리는 보통 컨볼루션 신경망 모델을 기반으로 이루어진다. CNN은 이미지 데이터의 특징을 추출하는 과정을 통해 학습하는 기술이며 픽셀과 픽셀 간의 변화에 대한 적응도가 높아 영상처리에 주로 사용된다. 최근 하드웨어의 발전으로 딥러닝을 이용한 방법을 많이 사용하고 있으며 객체 분류에 활용되는 다양한 인공지능 신경망 알고리즘들은 이미지에서 특징 정보를 수치화하여 학습 모델을 만든다. 특히 인공 신경망에 많이 활용되는 CNN알고리즘은 특징 검출방법에 비해 검출 연산 시간을 감소시키고, 높은 객체 인식 및 검출률을 보이는 알고리즘이다. 하지만 최근 카메라 해상도의 발전으로 고해상도 이미지를 처리함에 있어 많은 학습 시간과 처리 시간이 요구되므로 고해상도 이미지를 객체 분류 학습 모델 생성에 사용하기에는 부적합하다. 이러한 문제를 해결하기 위해 학습할 이미지 크기를 50 × 50픽셀로 정규화 하고 전처리 방법과 필요 없는 학습 노드를 제거하여 문제를 해결 하였다. 대표적인 딥러닝을 이용한 얼굴인식은 <그림 1>과 같이 Facebook에서 제공하는 DeepFace 알고리즘으로 8개의 layer로 구성된 CNN 구조로 되어있으며 97.35%의 정확도를 가진다. 하지만 1억 2천만 개의 신경망 파라미터(Parameter) 학습이 필요하여 개인이 학습하기에는 고성능 하드웨어가 필요한 단점을 가지고 있다[3].

DGTSA8_2023_v19n3_213_f0001.png 이미지

<그림 1> 얼굴 딥러닝 네트워크 아키텍쳐

2.2 CNN 과 특징검출 알고리즘 비교

머신러닝이 발전하기 전 수동 학습 방법으로 특징 검출을 이용한 인식 기법이 주로 사용되었다. 특징 검출 기법의 문제점은 픽셀과 픽셀의 전 구간을 일정한 마스크에 의해 순회를 하게 된다. 이때, 인접한 픽셀 들은 서로 간에 상관관계가 높지만 변화하는 픽셀에 대해 민감하지 못하는 문제점을 가지고 있다. 때문에 얼굴 특징을 따라가며 얼굴을 찾는 것이 아니라 얼굴의 교차점 특징을 중심으로 그래프로서 나타내며, 모든 교점들은 각각 연결되어 그래프로 얼굴 영역(Area)이 표현 된다. 이러한 문제로 얼굴 영역을 인식할 때 <그림 2>와 같이 특징이 되는 것 이외에는 영역으로 인식하지 못하는 문제가 발생한다.

DGTSA8_2023_v19n3_213_f0006.png 이미지

<그림 2> a) 입력 이미지, b) 특징 검출 알고리즘 얼굴 영역

CNN 알고리즘은 앞에서 설명한 특징 검출 알고리즘과 비교하여 데이터 손실을 최소화하기 위해 행렬 형태로 데이터를 입력 받는다. 또한 픽셀과 픽셀 간의 상관관계에 따라 변화하며 대처함으로써 정보 데이터 손실을 최소화 한다. 하지만 학습을 할 때 급격하게 각 모델(Model)에서 파라미터(Parameter)가 증가하면서 데이터 연산이 증가 되는 문제가 발생한다. 이 과정에서 데이터가 급격하게 증가하는 문제는 풀링 계층에서 축소되고 있는 데이터를 처리함으로 해결한다. 파라미터가 많은 원본 이미지가 아닌 풀링계층(Polling Layer)을 거치며 축소된 데이터를 완전 연결 계층(Fully connected layer)에서 처리하는 것이다. 풀링 계층을 사용하면 데이터의 정확도는 낮지만 파라미터의 수를 증가시키지 않아 전체적인 학습량을 감소시켜 학습시간을 줄여준다. 따라서 CNN 알고리즘은 방대한 양의 데이터 학습에 매우 효과적이며, 기존 특징검출 알고리즘의 많은 문제점을 개선하였다. 특히 데이터가 명확하고 해상도가 높은 문자나 분류가 명확한 객체 데이터 보다 이미지 마다 서로 조금씩 다른 특징 차이가 있는 즉 특징이 명확히 확정되지 않는 이미지의 객체를 분류할 때 효과적이다.

Ⅲ. 전처리 과정

본 논문에서 사용한 학습의 기반이 되는 얼굴 데이터는 FEI Face Database를 사용하였다. FEI Face Database는 <그림 3>에서와 같이 200명의 얼굴과 서로 다른 각도의 10개의 사진으로 이루어져 있으며 연구용으로 사용할 수 있도록 허가되어 있다.

DGTSA8_2023_v19n3_213_f0002.png 이미지

<그림 3> FEI 얼굴 데이터베이스

사람의 얼굴은 얼굴의 특징, 나이, 표정 등 수 많은 정보를 포함하고 있다. 이러한 사람의 얼굴을 인식할 때, 카메라는 눈 깜빡임, 입 움직임, 얼굴 회전, 빛의 굴절 등 여러 가지 변수에 의해 많은 영향을 받는다. 일반적으로 얼굴 인식 시스템은 학습에서 사용된 데이터로부터 특징 영역을 추출하여 학습을 진행하고 이를 바탕으로 얼굴 영상을 찾아내는 방법을 이용하기 때문에 학습 데이터의 정확도 등, 품질이 매우 중요하다. 따라서 학습 기반의 얼굴인식을 위해서는 데이터의 품질 개선을 위한 전처리 과정이 선행되어야 한다.

이를 위해서 학습에 이용되는 데이터 영상은 학습에 용이하게 활용하기 위해 전처리 과정에서 워터쉐이드 기법, 그레이 변환, 히스토그램 기법, 노이즈 제거를 이용하여 얼굴과 배경의 분리 과정인 전처리 과정을 진행한다. <그림 4>는 얼굴에서 배경을 분리하기 위한 전처리 과정을 나타내고 있다.

DGTSA8_2023_v19n3_213_f0003.png 이미지

<그림 4> 전처리 과정

이러한 전처리 과정에서 배경과 조명의 변화를 최대한 줄이기 위해서 (식 1)과 같이 원본 이미지에서 픽셀 전체 밝기를 구하고 평균을 빼서 분산을 나눠 밝기 성분을 정규화 하였다[4].

\(\begin{aligned}I=\frac{I_{p}(x, y)-u}{\sigma}\end{aligned}\)       (1)

얼굴의 특징 검출은 이미지 내의 주변 픽셀과 인접한 이미지 픽셀과 비교를 하여 평균값을 구하고 이를 비교하여 검출한다. 이때, 기준이 되는 픽셀을 중심 픽셀로 이웃한 8개의 픽셀과 인접한 픽셀에서 같은 위치 3×3 영역에 포함된 또 다른 픽셀의 특징 값과 비교하여 기준점이 일정 T(임계점) 값의 이상이나 이하의 값이면 찾는 형상의 후보로 그 특징을 등록한다. 특징이 등록된 얼굴은 (식 2)의 영상과 비교하여 배경과 분리하게 된다.

\(\begin{aligned}I(\tau)=\frac{1}{N} \sum_{i=0}^{M-1} \sum_{j=0}^{N-1} O_{i j+\tau}(\tau=0,1, \ldots)\end{aligned}\)       (2)

기존 얼굴 이미지와 유사성이 높을 경우 80%에 근접한 결과가 도출 되지만 유사성이 떨어질 경우 50%이하의 유사성이 도출되며 얼굴과 배경의 좌표가 분리 된다 [5]

Ⅳ. 학습 모델 설계

CNN 알고리즘은 합성곱 계층과 풀링 계층으로 구성되며, 풀링 계층은 상관관계가 있는 인접 데이터들을 대표적인 값으로 변환하여 학습 및 분석을 수행하여 학습에 필요한 연산량을 대폭 감소시킨다. 학습에 사용된 이미지는 FEI Face Database로 얼굴 이미지는 200명의 이미지가 각각 기울어진 10장의 이미지로 되어있어 총 2,000장으로 되어있다. 일반적으로 학습에 활용하기에는 상당히 부족한 이미지 숫자이다. 적은 숫자의 이미지로 학습을 하게 되면 과적합(Overfitting)이 발생하게 되는데, 본 논문에서는 이러한 과적합 현상을 해결하며 충분한 학습 데이터 확보를 위해서 이미지 데이터 증강(Image Data Augmentation) 기법을 이용하여 한 장의 이미지 마다 5장씩 학습 이미지를 추가 확보하여 전체 10,000장의 학습 이미지를 생성하였다. 무작위로 생성하였기 때문에 비슷한 좌표의 이미지도 있을 것이지만 따로 분류하지 않고 학습에 사용하였다. 이 기법은 기존 데이터의 양이 적거나 다양한 데이터가 필요할 때, 그리고 데이터의 다양화와 학습 성능을 높이기 위해 일반적으로 사용되는 기법이다. <그림 5>는 이미지 증강 기법을 이용하여 얼굴 이미지를 변형한 것이다.

DGTSA8_2023_v19n3_213_f0004.png 이미지

<그림 5> 이미지 데이터 증강

고해상도 이미지를 처리함에 있어 많은 학습 시간과 처리 시간이 요구되므로 고해상도 이미지를 객체 분류 학습 모델에 사용하기에는 부적합하기 때문에 이러한 문제를 해결하기 위해 변형된 이미지는 50 × 50픽셀의 크기로 표준화 작업을 하였으며 학습 노드의 첫 번째 Dense 층은 128개 노드 마지막 층은 10개 노드로 구현하였다. 또한 합성곱층(Convolution layer)과 풀링층(Pooling layer) 기법을 이용하여 <그림 6>과 같이 이미지 학습을 위한 모델을 구현하였다[6, 7]. 학습 모델 구현은 TenserFlow의 keras를 이용하고 활성함수는 ReLU이며 옵티마이저는 Adam을 사용하였다.

DGTSA8_2023_v19n3_213_f0007.png 이미지

<그림 6> 학습 모델 구조​​​​​​​

학습 모델이 제대로 구현 되었는지 확인하기 위해 생성 결과를 정확도와 손실률로 검증 하였다. 검증데이터는 학습 데이터에서 이미지 데이터 증강으로 만든 이미지 중 10%(1,000장)를 검증 데이터로 이용하였다. 학습 모델 검증 결과, 검증용 데이터와 학습용 데이터의 그래프가 유사한 형태로 결과가 측정되어 학습 모델은 올바르게 구현된 것을 확인하였다.

학습 모델 구현에 이용된 얼굴 이미지 데이터는 10,000장이고 하나의 이미지 당 2,500개의 데이터로 이루어져 학습 시간이 오래 걸리는 문제점이 있어 드롭아웃(Dropout) 기법을 이용하여 학습 시간을 줄일 수 있도록 하였다. 또한 손실률을 최소화하기 위해 200번 학습을 진행하였으며 학습된 시스템을 테스트하기 위해서 연구용으로 사용할 수 있는 Caltech WebFaces를 이용하였다. Caltech 이미지는 7,000장의 웹에서 무작위로 수집된 얼굴 영상이 포함된 표준화 되지 않은 이미지이다. 또한 Caltech는 얼굴 좌표를 테스트 이미지로 사용하기 용이하도록 텍스트 데이터로 제공하고 있어 학습 데이터의 얼굴 검출률 검증이 용이하다. 총 1,000장의 테스트 이미지를 선별하여 200번 학습하며 평가한 결과 <그림 7>과 같이 손실률은 2%로 98%의 정확률을 도출하였다. 실험은 인텔 i5 10400과 GTX1060 그래픽 카드에서 수행되었다[8].

DGTSA8_2023_v19n3_213_f0005.png 이미지

<그림 7> 테스트 이미지 학습률​​​​​​​

Ⅴ. 실험결과

본 논문은 머신러닝을 이용한 얼굴 검출 방법과 특징을 이용한 얼굴검출 시스템과의 결과를 비교하였다[8]. 일반적으로 머신러닝을 이용한 방법은 학습 과정에서 계산량이 많이 요구되나 학습 후 검출 과정에서는 <표 1>과 같이 특징 검출 방법에 비해 약 53.9% 정도 검출 시간이 줄어든 것을 확인하였다. 또한 특징검출 방법의 검출률은 92.34% 이지만 본 논에서 제시하는 머신러닝 기반의 방법은 98% 검출이 가능함을 확인하였다[9].

<표 1> 얼굴 검출 성능​​​​​​​

DGTSA8_2023_v19n3_213_t0001.png 이미지

<그림 8>의 왼쪽은 특징 검출 방식의 결과이며, 오른쪽 그림은 머신러닝을 이용하여 검출된 결과이다. 기존의 특징 검출 방식은 일부 어둡거나 회전된 얼굴을 측정을 하지 못하였지만 머신러닝 방식은 어둡거나 회전된 얼굴을 검출하는 것을 볼 수 있다[10].

DGTSA8_2023_v19n3_213_f0008.png 이미지

<그림 8> (왼쪽) 특징 기반 검출, (오른쪽) 머신러닝 기반 검출​​​​​​​

또한 특징 검출 방식은 얼굴의 특징을 이어서 만들었기에 얼굴의 영역이 작지만 머신러닝 방식은 단순 얼굴만 아니라 머리카락까지 얼굴로 폭넓게 인식함을 볼 수 있다. 하지만 두 방식 모두 뒤 돌아선 모습은 검출하지는 못하였다. 특징 검출 방법은 뒤 돌아선 뒷모습을 얼굴의 특징으로 인식하지 않았고 머신러닝 방식은 학습데이터 부족이 문제가 된 것으로 보이며 뒷모습의 학습 데이터를 확보하면 상당 부분 해결될 것으로 판단된다. 실험 결과 Caltech 이미지로 테스트 해본 결과 특징검출 방식에 비해 본 논문에서 제안한 머신러닝 방식에서 오 검출이 3% 정도 줄어든 것을 확인하였다[11].

Ⅵ. 결론

실험을 위해 테스트 이미지로 Caltech의 7,000개의 이미지 중에서 1,000장의 얼굴 이미지를 무작위로 선별하여 이용하였다. 본 논문에서 제안한 검출방법에서 얼굴 검출의 속도와 검출 능력은 특징을 이용한 검출기에 비해 학습 속도는 느리지만 얼굴 검출 속도는 보다 빠르고 정확한 검출이 가능하였다.

기존의 특징을 이용한 얼굴검출기는 얼굴의 전체영역, 특징, 색상 정보의 이용이 제한적 이어서 얼굴안에 있는 눈과 코 그리고 입 등 각 부분들의 검출 효율이 다소 미흡한 점이 있었으나 제안된 검출기는 딥러닝 기법을 이용하여 얼굴의 특징을 효율적으로 검출 하여 어둡거나 각도가 기울어진 얼굴과 옆에서 본 얼굴도 정확히 검출하였다.

본 논문에서 학습을 진행한 얼굴 이미지는 200명의 이미지로 적은 데이터로 이 문제를 해결하기 위해 데이터 증강 기법을 이용하게 되었으며, 변형된 학습 이미지를 일일이 확인 대조하지 못하여 동일한 좌표의 이미지도 존재하고 있다. 또한 실험 결과 뒤 돌아선 뒷 모습은 검출하지 못하였지만 이는 학습 데이터 부족 문제로 데이터를 추가 확보하여 학습을 진행할 경우 이 문제를 해결할 수 있을 것으로 판단되며 소규모 시스템에서도 활용할 수 있을 것으로 기대된다.

향후 연구에서는 본 논문에서 사용된 학습 데이터보다 더 다양한 이미지 종류와 실제 자연스러운 사진의 학습 모델을 포함한 방대한 양의 이미지 데이터로 학습을 진행하여 실질적인 검증을 할 것이며 학습속도 향상을 위한 알고리즘 연구를 수행할 예정이다.

참고문헌

  1. KIM. S. J, KIM. K. Y, "A Study of Security Risk Analysis for Public IaaS Cloud Certification," Convergence Security Journal, Vol. 15, No. 5, 2015, pp.9-15.
  2. Koh. S. H, "A Software Architecture Life Cycle Model Based on the Program Management Perspective: The Expanded Spiral Model," Journal of information technology application & management, Vol.20, No. 2, 2013, pp.69-87.
  3. Taigman. Y. Yang. M, Ranzato. M, & Wolf. L, "Closing the gap to human-level performance in face verification. In Proceedings," IEEE conference on computer vision and pattern recognition, 2014, pp.1701-1708.
  4. 박병준.김기영.김선집, "눈 검출을 이용한 얼굴 인식 알고리즘에 관한 연구", 한국정보전자통신기술학회논문지," 제8권, 제6호, 2015, pp.491-496. https://doi.org/10.17661/JKIIECT.2015.8.6.491
  5. Neto. J. B. C, and Marana. A. N, "3DLBP and HAOG Fusion for Face Recognition Utilizing Kinect as a 3D Scanner," Proceeding of the 30th Annual ACM Symposium on Applied Computing. ACM, 2015, pp.66-73.
  6. Zhang. K, Li,. Z, and Qiao. Y, "Joint Face Detection and Alignment using Multitask Cascaded Convolutional Networks," IEEE Conference on Computer Vision and P attern Recognition, Vol. 23, No. 10, 2016, pp.1499-1503.
  7. Yoon. K. and Choi. J, "Compressed Ensemble of Deep Convolutional Neural Networks with Global and Local Facial Features for Improved Face Recognition," J ournal of Korea Multimedia Society, Vol. 23, No. 8, 2020, pp.1019-1029.
  8. Zubaida Said Ameen, Abdullahi Umar Ibrahim, Auwalu Saleh Mubarak, Fadi Al-Turjman. "An improved CNN-LSTM deep model for Classification of guideRNA in CRISPR-Casl2 System," International Conference on Artificial Intelligence in Everything (AIE), 2022.
  9. 박병준.김완태.김현식, "얼굴 특징을 이용한 얼굴영역 검출에 관한 연구," 한국정보전자통신기술학회논문지, 제13권, 제3호, 2020, pp.206-211. https://doi.org/10.17661/JKIIECT.2020.13.3.206
  10. 김연호.박성욱.김도연, "CNN을 적용한 조명변화에 강인한 얼굴 인식 연구," 한국전자통신학회논문지, 제12권, 제2호, 2017, pp.325-330. https://doi.org/10.13067/JKIECS.2017.12.2.325
  11. LEE. Y, "A Comparison and Analysis of Deep Learning Framework," J. of the Korea Institute of Electronic Communication Sciences, vol. 12, no. 1,2017, pp. 115-122.