DOI QR코드

DOI QR Code

스마트 미러간 화상 통화와 메시징 기능을 가진 CoMirror 시스템의 성능평가

Performance Evaluation of CoMirror System with Video Call and Messaging Function between Smart Mirrors

  • 황기태 (한성대학교 컴퓨터공학부) ;
  • 김경미 (한성대학교 컴퓨터공학부) ;
  • 김유진 (한성대학교 컴퓨터공학부) ;
  • 박채원 (한성대학교 컴퓨터공학부) ;
  • 유송연 (한성대학교 컴퓨터공학부) ;
  • 정인환 (한성대학교 컴퓨터공학부) ;
  • 이재문 (한성대학교 컴퓨터공학부)
  • 투고 : 2023.03.19
  • 심사 : 2023.06.09
  • 발행 : 2023.06.30

초록

스마트 미러는 거울에 디스플레이와 임베디드 컴퓨터를 부착하여 거울 기능과 함께 사용자에게 다양한 정보를 제공해주는 IoT 장치이다. 본 논문은 스마트 미러들이 네트워크로 연결하는 CoMirror 시스템을 제안하고 구현한 이전 연구의 확장으로 CoMirror 시스템의 성능을 평가한 내용을 소개한다. 첫째, 얼굴 인식을 활용하는 로그인 성능을 평가하였다. 성능 평가 결과 로그인을 위해 필요한 얼굴 학습에는 40장의 얼굴 이미지가 가장 적합하고 얼굴 인식에는 한장의 얼굴 이미지가 가장 적합하다는 결론을 얻었다. 둘째, CoMirror 시스템에서 메시지가 전송되는 시간을 평가한 결과, 텍스트 메시지의 경우 평균 0.5초, 오디오의 경우 평균 0.63초 정도이며, 이미지의 경우 평균 2.9초 정도로 측정되었다. 마지막으로 화상 통신 성능을 측정한 결과 화상 통신 셋업 시간은 평균 1.8초, 화상 수신 지연 시간은 평균 1.9초로 측정되었다. 결론적으로 본 논문은 성능평가의 결과를 통해 CoMirror 시스템은 높은 실용성을 가지는 것으로 판단된다.

Smart mirror is an IoT device that attaches a display and an embedded computer to the mirror and provides various information to the user along with the mirror function. This paper presents performance evaluation of the CoMirror system as an extension of the previous research in which proposed and implemented the CoMirror system that connects Smart Mirrors using a network. First, the login performance utilizing face recognition was evaluated. As result of the performance evaluation, it was concluded that the 40 face images are most suitable for face learning and only one face image is most suitable for face recognition for login. Second, as a result of evaluating the message transmission time, the average time was 0.5 seconds for text, 0.63 seconds for audio, and 2.9 seconds for images. Third, as a result of measuring a video communication performance, the average setup time for video communication was 1.8 seconds and the average video reception time was 1.9 seconds. Finally, according to the performance evaluation results, we conclude that the CoMirror system has high practicality.

키워드

Ⅰ. 서론

스마트 미러는 거울의 안쪽에 디스플레이와 임베디드 컴퓨터를 부착하고 인터넷과 연결하여 날씨, 건강, 시사 정보 등을 보여주는 가전 장치로[1], 2016년 Max Brown에 의해 개발된 이래[2], 가전제품들을 모니터링하거나 제어하는 스마트 홈뿐 아니라, 쇼핑몰, 화장실, 피트니스 클럽의 전면 거울, 길거리 디스플레이 광고판 등 다양한 곳에 응용된다[3,4,5,6].

본 연구팀은 이전 연구에서 사용자에게 정보를 제공하는 목적으로 주로 사용되는 스마트 미러들을 네트워크로 연결하여 다른 스마트 미러 사용자들과 대화하고 정보를 공유하는 CoMirror 시스템을 제안하고 구현하였다[7]. CoMirror 시스템은 여러 CoMirror 클라이언트들이 1개의 CoMirror 서버로 연결되며, CoMirror 서버에는 모든 사용자들의 정보가 저장되며. 사용자들은 서버의 중계를 통해 텍스트, 이미지, 오디오 등의 메시지를 주고 받으며, 화상 통화를 할 수 있도록 구현되었다.

본 논문은 이전 연구에서 구현된 CoMirror 시스템의 실용성을 평가하기 위해, 다음과 같이 성능을 측정하고 평가하였다. 첫째, 얼굴 학습은 많은 시간이 걸리고 서버에 큰 부하를 일으키기 때문에, 학습에 가장 효과적인 얼굴 이미지 수를 측정하고 평가하였다[8]. 둘째, 얼굴 인식 시 인식 시간을 짧게 하면서 높은 인식률을 얻을 수 있는 얼굴 이미지 수를 측정하고 평가하였다. 셋째, CoMirror 시스템은 서로 다른 CoMirror 사용자들이 실시간으로 메시지를 주고받기 때문에, 메시지 전송 시간은 CoMirror 시스템의 실용성과 직결되므로 이에 메시지 전송 시간을 측정하고 평가하였다. 마지막으로 CoMirror 사용자들의 실시간 화상 통신 셋업 시간과 지연 시간을 측정하여 전체적으로 CoMirror 시스템의 실용성을 평가하였다.

본 논문은 2장에서 지난 연구에서 구현된 CoMirror 시스템을 요약하고, 3장에서 성능평가에 대해 기술하며, 4장에서 결론을 맺는다.

Ⅱ. CoMirror 시스템 리뷰

1. 시스템 구성

CoMirror 시스템은 그림 1과 같이 여러 CoMirror 클라이언트들이 하나의 CoMirror 서버에 연결되는 구조이다.

OTNBBE_2023_v23n3_51_f0001.png 이미지

그림 1. 시스템 개요

Fig. 1. System View

CoMirror 클라이언트는 거울 효과를 만들기 위해 아크릴 판에 거울 필름을 붙이고 디스플레이 위에 아크릴 판을 쌓았다. 그리고 다시 그 위에 적외선 터치 패널을 쌓아 터치 입력이 가능하도록 제작되었다. CoMirror 클라이언트의 제어를 위해 1.4GHz ARMv8 CPU, 1GB 램과 무선 랜, 그리고 블루투스를 장착한 라즈베리파이3 B+[9]를 사용하였다.

그림 2는 CoMirror 시스템의 소프트웨어의 전체 구성을 보여준다.

OTNBBE_2023_v23n3_51_f0002.png 이미지

그림 2. CoMirror 시스템의 전체 소프트웨어 구성

Fig. 2. Overall software structure of CoMirror system

2. CoMirror 시스템의 주요 기능

CoMirror 시스템의 주요 기능은 다음과 같다. 첫째, 얼굴 인식을 통해 로그인한다. 얼굴 학습과 얼굴 인식 처리는 서버에서 이루어진다. 얼굴 학습의 경우 CoMirror 클라이언트의 카메라가 촬영한 수십 장의 사진을 CoMirror 서버로 보내면, 서버에서 얼굴 학습을 진행한다. 얼굴 인식의 경우, CoMirror 클라이언트에서 촬영한 사진을 CoMirror 서버로 보내 학습된 얼굴에서 인식을 수행한 후 결과를 전달받는다.

둘째, 사용자들은 텍스트, 이미지, 녹음된 음성 혹은 오디오 등의 메모를 자신이나 동일한 CoMirror 클라이언트의 다른 사용자에게 보낼 수 있다. 혹은 다른 CoMirror 클라이언트의 사용자들에게도 보낼 수 있다.

셋째, CoMirror 사용자들끼리 화상 통화가 지원된다. 두 사용자들 사이의 화상 통화 연결은 CoMirror 서버의 중계로 이루어지며, 연결 후에는 CoMirror 서버의 중계없이 두 CoMirror 클라이언트 사이에 실시간으로 화상 통화가 이루어진다.

III. 성능 평가

이 절에서는 CoMirror 시스템의 실용성을 평가하기 위해, CoMirror 시스템의 주요한 3가지 기능에 대해 성능을 측정하고 평가한 내용을 기술한다.

1. 로그인 성능

CoMirror 시스템에서 로그인 성능은 로그인의 정확성과 로그인에 걸리는 시간으로 평가할 수 있다.

가. 얼굴 인식 확신율 측정

로그인의 정확성은 곧 얼굴 인식의 성공률이다. 얼굴 인식 성공률은 로그인 시 촬영된 사진에 대해 사용자의 경우 로그인이 성공하고, 사용자가 아닌 경우 로그인이 실패하는 확률이다. 하지만, 얼굴 인식 성공률을 평가하기 위해서는 수많은 실험을 해야 하는 어려움이 있다.

본 논문에서는 로그인의 정확성 평가를 얼굴 인식 확신율(Confidence Rate of Face Recognition)을 측정하여 대신한다. 얼굴 인식 확신율(Confidence Rate of Face Recognition)을, 얼굴 인식 알고리즘이 로그인 사용자의 얼굴이라고 확신하는 확률로 정의한다.

테스트용 CoMirror 서버는 Core-i7 CPU에 16GB 메모리를 가진 컴퓨터를 사용하였으며, 얼굴 학습과 얼굴 인식은 다음과 같이 진행되었다.

⦁ 얼굴 학습 : CoMirror 클라이언트에서 수십장의 사진을 촬영하고 160x160픽셀 크기로 얼굴 부분만 잘라 CoMirror 서버로 전송. CoMirror 서버에서 얼굴 학습

⦁ 얼굴 인식 : CoMirror 클라이언트에서 여러 장의 사진을 촬영하고 160x160픽셀 크기로 얼굴 부분만 잘라 CoMirror 서버로 전송. CoMirror 서버에서 얼굴 인식

먼저, 얼굴 학습에 사용된 이미지 개수와 얼굴 인식에 사용된 이미지의 개수에 따라 얼굴 인식 확신율이 어떻게 변하는지 측정하였다. 성능 측정 결과는 10번 실험의 평균값을 이용하였으며 그림 3과 같다.

OTNBBE_2023_v23n3_51_f0003.png 이미지

그림 3. 얼굴 인식 확신율

Fig. 3. Confidence Rate of Face Recognition

성능 측정 결과, 얼굴 학습에 사용된 이미지의 개수가 많을수록 얼굴 인식 확신율이 선형적으로 증가하는 것으로 나타났다. 하지만, 얼굴 인식에 사용된 사진 이미지의 개수는 얼굴 인식 확신율에 미치는 영향이 미미한 것으로 평가되었다.

우리는 이 성능평가를 통해 다음과 같은 결론을 얻었다. 첫째, 얼굴인식에 1장의 얼굴 이미지를 사용하는 것이 가장 합리적이다. 40장의 얼굴 이미지로 학습이 이루어진 경우, 얼굴 인식에 사용되는 이미지 장 수(1장, 2장, 4장, 10장)별 얼굴 인식 확신율은 89.5%, 89.9%, 90.2%, 89.8%이다. 얼굴 인식에 한 장의 이미지를 사용하는 경우 다른 경우에 비해 확신율의 차이는 1%이하로 낮지만, CoMirror 클라이언트와 서버 모두에 있어 로그인 구현이 간단해지고, 통신 트래픽이 줄고, 서버의 작업 부하가 줄어들어 로그인 응답 시간이 빨라지는 효과가 있다.

둘째, 얼굴 학습에 40장의 이미지를 사용하는 것이 바람직하다. 20장이나 30장의 얼굴 이미지를 사용할 때보다 3%~6%의 얼굴 인식 확신율을 높일 수 있기 때문이다. 얼굴 학습에 더 많은 이미지를 사용할수록 얼굴 인식 확신율은 높아지겠지만 얼굴 인식에 걸리는 시간 부담을 감안할 때 40장이 적절하다는 판단이다.

나. 학습 시간 측정

이 실험에서는 로그인 성능을 나타내는 다른 수치로 얼굴 학습에 걸리는 시간을 측정하였다. 얼굴 학습 모델은 keras의 facenet 모델을 사용하였다[10]. 이 모델의 경우 새로운 얼굴의 학습 시 이미 학습된 얼굴들이 함께 사용되므로, 학습된 얼굴들이 많을수록 학습 시간은 그 만큼 길어진다. 본 성능 평가는 한 가정 당 한 개의 CoMirror 클라이언트를 가정하고, 4인 가족을 기준으로 현재 학습된 사람이 3명이고 4번째 사람을 학습시키는 상황에서 이루어졌다.

성능 평가 결과는 총 10번 실험의 평균값을 이용하였으며 그림 4와 같다. 얼굴 학습 시간은 사용된 이미지의 개수에 선형적으로 비례한다. 40장의 이미지를 사용하는 경우 가장 많은 시간이 걸렸지만 14초미만으로서, 사용자가 계정을 만들 때 한 번만 발생하므로 감내할만한 시간이라고 판단된다. 또한 얼굴 학습은 계정을 만들 때 한번만 이루어지고, 현재 테스트용 서버가 노트북인 점을 가만하면 14초는 부담스러운 시간이 아니다.

OTNBBE_2023_v23n3_51_f0004.png 이미지

그림 4. 얼굴 학습 시간

Fig. 4. Face Learning time

본 논문은 얼굴 인식 확신율과 얼굴 학습 시간 측정의 두 실험을 통해, 얼굴 학습에는 40장의 이미지가, 얼굴 인식에는 1장의 이미지가 적절하며 약 90%의 얼굴 인식 확신율을 얻을 수 있다고 결론을 짓는다.

다. 얼굴 학습자 수와 학습시간에 대한 성능 평가

이 실험에서는 4인 이상의 사람들이 함께 사용하는 사무실과 같은 환경인 경우에 대해 얼굴 학습 시간을 측정하였다. 그림 5는 얼굴 학습에 40장의 이미지를 사용할 때, 사람의 수에 따른 얼굴 학습 시간을 측정한 결과이다.

OTNBBE_2023_v23n3_51_f0005.png 이미지

그림 5. 학습자 수에 따른 학습 시간

Fig. 5. Learning time according to number of face learner

성능 평가 결과, 학습 시간은 학습자의 수에 선형적으로 비례하는 것으로 나타났으며, 10번째 학습자의 얼굴 학습 시 학습 시간은 33초 정도로 평가되었다. 학습 시간은 서버의 성능을 높이면 충분히 개선될 것이기 때문에, 실용성에 문제가 있다고 판단되지 않는다.

라. 얼굴 추출 시간

로그인 시 CoMirror 클라이언트에서 카메라가 사용자 사진을 촬영하고 사진에서 얼굴 부분만 추출하여 CoMirror 서버로 보낸다. 얼굴 추출 시간은, 이미지에서 얼굴 영역을 추출하고 160x160 픽셀 크기로 만드는데 걸리는 시간으로 정의한다. 얼굴 추출 시간은 얼굴 인식이나 얼굴 학습의 일부분이므로 성능을 평가하고자 한다.

이 실험에서는 원본 사진 이미지의 크기와 얼굴 추출 시간 사이의 관계를 평가하기 위해 3가지 원본 이미지 크기에 대해 얼굴 추출 시간을 측정하였다. 성능 측정은 CoMirror 시스템에서 실측하는 방식으로 이루어졌고, 얼굴 추출에는 OpenCV의 Haar Cascades 패키지를 이용하였고 실험 결과는 40번 실험의 평균값으로 하였다. 성능 측정 결과는 그림 6과 같다.

OTNBBE_2023_v23n3_51_f0006.png 이미지

그림 6. 평균 얼굴 추출 시간

Fig. 6. Average face extraction time

성능 측정 결과, 원본 이미지가 작을수록 얼굴 추출 시간은 감소하지만, 640x480과 320x240 사이에 시간 차이가 몇 십 밀리초 수준으로 무의미한 차이를 보인다. 한편, 320x240의 이미지로 사진을 촬영하면 얼굴 부분이 160x160보다 작게 형성될 수 있기 때문에 320x240은 부적절하다. 본 연구에서는 640x480 크기를 추천한다.

2. 메시지 전송 성능

가. 메시지 샘플

CoMirror 시스템에서 메시지는 텍스트, 오디오, 이미지의 3가지 유형이 있다. 본 실험에서는 이 3가지 유형의 메시지가 전송되는 시간 성능을 평가하였다. 실험에 사용되는 텍스트 메시지와 오디오 메시지는 동일한 텍스트가 사용되었으며, 표 1과 유사한 10개의 텍스트들이 샘플로 사용되었다.

표 1. 텍스트와 오디오 메시지에 사용된 샘플 텍스트

OTNBBE_2023_v23n3_51_t0001.png 이미지

Table 1. Sample texts used in text message and audio message

샘플들의 평균 텍스트 크기는 57.4 Byte이고, 평균 오디오 크기는 57KB였다. 샘플 오디오의 녹음 시간은 8~9초 였다. 이미지의 경우 CoMirror 클라이언트에 부착된 로지텍 HD 웹캠 C920에서 촬영한 10개의 샘플들을 사용하였는데, 이미지의 평균 크기는 168KB로 나타났다.

나. 평균 메시지 전송 시간

이 실험에서는 샘플 메시지를 이용하여 메시지 전송 시간을 측정하였다. 해당 실험은 사용자 A, B가 각 CoMirror 클라이언트를 사용하여 CoMirror 서버에 로그인한 상태에서 이루어졌다. 사용자 A는 메시지 송신자이고 사용자 B를 메시지 수신자이다.

평균 메시지 전송 시간은 사용자 A가 메시지 전송 버튼을 누른 때부터 사용자 B의 CoMirror 클라이언트 디스플레이에 수신 메시지가 출력되기 직전까지 걸린 시간으로 정의한다. 사용자 A와 B의 시계 불일치 문제 때문에, 사용자 A가 메시지를 보내고 자신이 다시 받는데 걸린 시간을 측정하는 방법을 사용하였다. 사용자 A가 보낸 메시지를 사용자 B가 받는 시간과 사용자 A가 받는 시간은 평균적으로 다르지 않기 때문이다.

성능 평가 결과, 메시지 전송 평균 시간은 그림 7과 같이 측정되었다. 텍스트 메시지의 경우 0.5초, 오디오의 경우 0.63초 정도이며, 이미지의 경우 대략 2.9초 정도이다. 텍스트, 오디오, 이미지가 전송되는 과정은 동일하므로, 전송 시간은 메시지의 종류가 아니라 메시지의 크기에 비례하는 것으로 판단된다. 하지만 텍스트의 경우, 크기가 매우 작기 때문에 메시지의 크기에 비해 소요되는 기본 오버헤드 시간이 상대적으로 커서 텍스트 전송 시간이 상대적으로 크게 나타났다.

OTNBBE_2023_v23n3_51_f0007.png 이미지

그림 7. 평균 메시지 전송 시간

Fig. 7. Average message delivery time

결론적으로 메시지 전송에 걸리는 시간으로 볼 때, CoMirror의 메시지 전송 기능은 실용적인 범위 내에 있다고 판단된다.

3. 화상 통화 시간에 대한 성능 평가

가. 성능 평가 지표

사용자 A와 B 사이에 화상 통화가 이루어지는 과정을 보자. 사용자 A가 CoMirror 서버에 B와 통화할 것을 요청하면, CoMirror 서버가 사용자 B에게 이를 알리고, B가 이를 수락하는 응답을 보낸다. 그러고 나서 사용자 B는 곧장 자신의 카메라로부터 촬영된 화상 스트림을 A에게 보내기 시작한다.

본 실험은 그림 8과 같이 화상 통화 과정에서 지연되는 2개의 시간 즉 셋업 시간(Tvsetup)과 화상 수신 시간(Tvrec)으로 나누어 측정하였다. Tvsetup은 사용자 A가 화상통화 버튼을 클릭했을 때부터 B로부터 수락 여부를 받을 때까지 경과된 시간이고, Tvrec는 사용자 B가 화상을 전송하기 시작한 시점부터 사용자 A가 첫 화상을 수신할 때까지 걸린 시간이다. Tvrec는 송신자가 보낸 화상이 수신자에게 전달되는데 걸리는 시간을 평가하기 위한 시간이다.

OTNBBE_2023_v23n3_51_f0008.png 이미지

그림 8. 화상 통신 셋업시간과 화상 수신 지연 시간

Fig. 8. Setup time and video delay

Tvrec를 측정하기 위해서는 사용자 B가 첫 화상을 보낸 시간을 기억하고, 사용자 A가 첫 화상을 받은 시간을 측정하여 두 시간 차이를 계산해야 하는데 두 컴퓨터 사이에 시계를 정교하기 일치시키지 못하는 문제가 있기 때문에, 본 실험에서는 이 방법 대신 그림 8을 참고하여 다음 공식으로 계산한다.

Tvrec = Tvsetup/2 + B로부터 수락 후 대기 시간       (1)

나. 화상 통화 성능 측정

셋업 시간과 화상 수신 시간을 측정하기 위해 CoMirror 클라이언트에는 로지텍 HD 웹캠 C920 카메라를 사용하였고 화상 크기는 720P(1280X720)로 설정하였다.

성능 측정 결과는 그림 9와 같이 셋업 시간은 평균 1.8초, 화상 수신 지연 시간은 평균 1.9초로 측정되었다. 각 프레임의 화상 지연 시간은 첫 화상 수신 지연 시간과 동일할 것으로 가정하며, 지터가 발생할 수 있다고 하더라도 그것은 네트워크의 문제이지 본 시스템의 문제가 아니라고 판단한다. 또한 이 정도의 시간이라면, CoMirror 시스템의 화상 통신 기능은 실용적이라고 판단한다.

OTNBBE_2023_v23n3_51_f0009.png 이미지

그림 9. 화상 통화의 셋업 시간과 평균 지연 시간

Fig. 9. Setup time and average delay in video call

IV. 결론

본 논문에서는 스마트 미러들을 네트워크로 연결하여 메시지 전송과 화상 통화를 지원하는 CoMirror 시스템의 성능을 평가하였다. CoMirror의 로그인을 위해 얼굴 학습과 얼굴 인식에 필요한 적절한 얼굴 이미지 개수와 걸리는 시간을 측정하였다. 측정 결과 얼굴 학습에는 약 40장의 이미지가 적절하고, 얼굴 인식에는 한 장의 사진이면 충분한 것으로 평가되었다. 또한 얼굴 학습과 인식에는 640x480의 이미지가 적절한 것으로 평가되었다. 두 번째로 CoMirror 시스템의 메시지 통신 성능을 평가할 결과, 텍스트 메시지의 경우 평균 0.5초, 오디오의 경우 평균 0.63초 정도이며, 이미지의 경우 평균 2.9초 정도로 측정되었다. 마지막으로 화상 통신 성능을 측정한 결과 화상 통신 셋업 시간은 평균 1.8초, 화상 수신 지연 시간은 평균 1.9초로 측정되었다. 결론적으로, 성능 평가의 결과가 보여주듯이 CoMirror 시스템은 실용성 면에서 충분한 것으로 판단된다.

참고문헌

  1. https://www.etnews.com/20210812000195
  2. Max Braun. "Smart Mirror", https://experiments.withgoogle.com/smart-mirror, March 2016
  3. H. Thapliyal, "Internet of Things-Based Consumer Electronics: Reviewing Existing Consumer Electronic Devices, Systems, and Platforms and Exploring New Research Paradigms", IEEE Consumer Electronics Magazine, vol. 7, no. 1, pp. 66-67, Jan. 2018. doi: 10.1109/MCE.2017.2755219.
  4. M. M. Yusri et al., "Smart mirror for smart life", 2017 6th ICT International Student Project Conference, 2017, pp. 1-5. doi: 10.1109/ICT-ISPC.2017.8075339.
  5. http://digitalchosun.dizzo.com/site/data/html_dir/2015/05/08/2015050812733.html
  6. https://www.samsung.com/us/explore/family-hub-refrigerator/overview/
  7. Kitae Hwang, et al., "Implementation of CoMirror System with Video Call and Messaging Function between Smart Mirrors", The Journal of The Institute of Internet, Broadcasting and Communication, Vol. 22, No. 6, pp.121-127, 2022. doi:10.7236/JIIBC.2022.22.6.121.
  8. Kitae Hwang, Jae-Moon Lee, Inhwan Jung, "Remote Control System using Face and Gesture Recognition based on Deep Learning", The Journal of The Institute of Internet, Broadcasting and Communication, Vol. 20, No. 6, pp.115-121, 2020. doi: 10.7236/JIIBC.2020.20.6.115.
  9. https://www.raspberrypi.org
  10. Florian Schroff, Dmitry Kalenichenko, James Philbin, "FaceNet: A Unified Embedding for Face Recognition and Clustering", Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp. 815-823, 2015. doi: 10.1109/CVPR.2015.7298682.