SlideShare a Scribd company logo
1 of 10
Mosaicer
요약
오늘날 우리는 셀 수 없는 양의 카메라에 노출되고 이로 인한 사생활 침해 문제가 사회적인
이슈가 되고 있다. 4 차 산업혁명과 함께 IOT 시장이 넓어지고 영상 관련 기술이 발달되어 사생활
침해가 더욱 심각해지고 있다.[1] 이를 해결하기 위해, 영상에 노출을 동의한 사람을 제외한 모든
사람의 얼굴을 가려주는 과정이 필요하다. 현재까지 이 과정은 수동으로 이루어지고 있으나
번거롭고 사용자가 영상편집에 대한 지식을 가지고 있어야 한다.
위와 같은 문제점을 해결하고자 본 시스템을 제안한다. 본 시스템은 인공지능을 활용한 미디어
모자이크 자동화 시스템으로 인공지능을 이원화하여 faster-R CNN 을 활용한 얼굴 탐색,
AlexNet 을 개량한 CNN 을 활용한 얼굴 인식을 통해 앞서 언급한 문제점들을 해결한다.
본 시스템은 CCTV 나 뉴스, 인터뷰 영상과 요즘 나날이 증가하는 개인 방송 스트리머의
영상들에 적용할 수 있을 것이라 기대한다.
1. 개발배경 및 목적
우리는 현재 엄청난 동영상 데이터와 함께 생활하고 있다. 이러한 동영상의 늪에서
우리의 사생활은 지켜지지 않고 있다. 2013 년도에 수행된 한 방송사의 조사에 따르면
우리는 하루 동안 CCTV
영상에 약 80 회 이상
노출된다고 한다.[2] 이러한
노출은 사생활의 침해로
이어진다. 예를 들어, 범죄
현장에 증거 영상으로
사용하기 위해 경찰 혹은
검찰에서 영상을 가져가는
경우가 있다. 이때
범죄자가 아닌 다른 사람들이 영상에 함께 나와 그들이 무슨 일을 하는지 드러나게
된다.[3] 블랙박스 혹은 CCTV 영상뿐만 아니라 방송으로 나오는 자료 영상 혹은 인터뷰
영상에서도 사생활 침해 문제를 볼 수 있다. 실례로 뉴스에서 사용한 영상에 지나가는
행인이 찍혀 방송사가 고소를 당한 경우가 있다. 또한 우리나라는 보통 범죄자의 얼굴을
모자이크 처리를 하고 형사나 기자들의 얼굴은 모자이크 처리를 하지 않는다. 이로
인해 형사, 기사들의 초상권이 보호되지 않아 보복 범죄가 일어나는 경우가 있다.
이러한 문제들을 해결하기 위해 주요인물을 제외한 모든 사람들의 얼굴을 모자이크
처리 과정이 필요하다. 따라서 본 프로젝트에서는 모자이크 자동화 시스템인
Mosaicer 를 제안한다. 또한 Mosaicer 를 적용한 웹 서비스를 개발해 비전공자인 일반
사용자들이 간단한 drag & drop 방식으로 개인의 사생활을 보호할 수 있도록 한다.
2. 미디어 모자이크 기술에 대한 현황
개인이 촬영한 영상의 경우 모자이크 처리를 위해 동영상 편집 툴을 이용한다.
사용자가 원하는 위치를 표시하면 그 위치에 모자이크 처리가 되는 방식이다.
CCTV 영상을 증거물로 사용할 경우에는 사용자가 일일이 모든 영상에 대한
모자이크 처리를 하는 것이 불가능하다. 따라서 해당 영상에 나오는 사람에게 사용
허가에 대한 승인을 받아 사용하기도 한다.
이러한 불편함을 해소하여 사용자가 편리하게 동영상을 업로드 할 수 있도록
유투브에서는 모자이크 기능을 제공하고 있다. 하지만 이 기능의 경우 유투브
안에서만 사용이 가능하며 매 영상을 올릴 때마다 어떤 부분에 대해 모자이크 처리를
할 것인지에 대한 학습을 새로 해야 한다.
한 어플리케이션에 국한되지 않고 사용할 수 있는 유료 소프트웨어도 있다. 한비
소프트웨어에서 개발하는 API 로 개발사에서 직접 학습 시킨 얼굴에 대한 모델을
이용하여 영상에서 얼굴을 찾아내어 모자이크 처리를 자동으로 해주는 API 를
제공하고 있다. 하지만 이 소프트웨어의 경우 유료라는 단점을 갖고 있을 뿐만 아니라
얼굴의 각도, 양 눈간의 최소 거리, 조명 등의 다양한 제약 조건이 존재한다.
3. 개발환경 및 개발언어
- 개발환경
OS : Ubuntu-14.04-64bit
Tool : Vim & Atom
- 개발언어 : Python 3.4
- 사용된 오픈소스 : OpenCV, Dlib, TensorFlow
4. 시스템 구성 및 아키텍처
본 시스템은 크게 Dlib 을 이용해 프레임에서 얼굴을 찾고 저장하는 얼굴 인식 모듈,
Tensorflow 라이브러리를 통해 얼굴을 분류하는 딥러닝 모듈과 동영상을 OpenCV
라이브러리를 통해 처리하는 동영상 처리 모듈로 구성되어있다. 얼굴 인식 모듈에서는
입력 받아진 동영상의 매 프레임에서 얼굴을 찾고 찾아진 얼굴 부분을 사진으로
저장하는 역할을 한다. 딥러닝 모듈은 모자이크 처리하고자 하는 사람의 얼굴 사진을
학습하고 새로 입력되는 얼굴 사진에 대해 classification 을 한다. 동영상 처리 모듈은
라이브러리를 통해 동영상을 입력 받고 모자이크 처리를 담당한다. 아래의 다이어그램과
함께 training 부분과 test 부분으로 나누어 자세히 살펴본다.
① Training
딥러닝 모듈을 이용하여 training 을 진행한다. 모든 과정에서 영상, 음성 분야에
좋은 성능을 보이는 AlexNet 을 기반으로 수정된 CNN 알고리즘을 사용한다. 먼저
학습단계에서 모자이크 처리를 원하지 않는 얼굴과 기타 다른 사람들의 얼굴로
라벨을 나누어 모델링을 한다. 본 프로젝트에서는 모자이크 처리를 원하지 않는
얼굴의 라벨을 target 이라 한다. 학습이 완료되면 입력되는 얼굴 사진에 대해
target 인지 non target 인지에 대한 결과를 내는 모델을 출력한다. 만들어진
모델은 이 후 test 단계에서 사용된다.
Test 가 진행된 후 학습을 멈추는 것이 아닌 재학습을 통해 모델을 갱신한다.
Test 과정에서 찾아진 target 의 얼굴과 non target 의 얼굴 사진들을 동영상 처리
모듈에서 저장하면 그 정보를 이용하여 training 을 다시 한다. 이때 사용자로부터
입력을 받아 target 의 얼굴임에도 모자이크 처리가 되었거나 그 반대일 경우에
대해서도 처리할 수 있다.
② Test
먼저 사용자로부터 동영상을 입력 받는다. 얼굴 인식 모듈에 입력 받은
동영상의 각 프레임에서 Faster R-CNN 알고리즘을 적용한 인공지능으로 Face
Detection 을 진행한다. 이 때 처리 속도를 높이기 위해 매 프레임마다 Face
Detection 을 적용하지 않는다. 실험을 통해 얼굴의 위치가 일반적으로
3 프레임동안 유사하다는 것을 알아냈다. 이를 바탕으로 3 프레임마다 얼굴인
부분을 추출하고 미리 지정된 디렉토리에 사진으로 저장한다. 추출된 얼굴
사진은 딥러닝 모듈의 입력 값으로 사용된다.
딥러닝 모듈은 저장된 사진을 불러와 classification 을 진행한다. Classification 이
종료되면 입력 받은 얼굴이 기존의 training 해놓은 모델에서 각각의 라벨에 속할
확률을 반환한다. Target 라벨과의 일치율이 미리 정해놓은 threshold 를 초과할
경우 동영상 모듈은 모자이크를 처리를 하지 않고 다음 얼굴 부분으로 넘어간다.
반면 threshold 를 초과하지 않을 경우 해당 얼굴 부분에 대해 모자이크 처리를
한다. 이때 각각의 얼굴 사진들은 해당 라벨로 분류되어 저장한다. 이 후 같은
모델을 이용하여 자동 모자이크 처리를 할 경우 딥러닝 모듈의 입력 값으로
사용해 모델의 갱신을 돕기 위해서이다. 모든 프레임, 모든 추출된 얼굴 부분에
대해 처리를 마치면 해당 동영상을 반환하여 저장한다.
5. 프로젝트 주요기능
1) 웹 서비스 용
본 프로젝트는 동영상 편집 툴에 미숙한 일반 사용자들에게 동영상 업로드 전 사생활
보호를 위한 편이를 제공하기 위하여 다음과 같은 웹 서비스를 제공한다. 직관적인 UI 를
통해 사용자는 손 쉽게 모자이크 처리된 영상을 얻을 수 있다.
우선 그림의 1 번 탭을 이용하여 사용자는 모자이크 처리를 원하지 않는 얼굴 사진을
업로드한다. 업로드 된 사진들은 자동적으로 서버에 저장이 된다. 이때 개인정보를
보호하기 위해 암호화된 파일로 저장하며 다른 사용자들은 사진 정보를 얻을 수 없다.
2 번의 train 탭에서는 사용자가 업로드한 얼굴 사진을 바탕으로 CNN 을 통한 학습을
시작한다. 학습이 완료되면 사용자에게 완료되었음을 알릴 수 있으며 해당 모델을
저장하여 여러 번 사용 가능하도록 서비스를 제공한다.
마지막 3 번 Mosaic 탭에서 동영상 입력을 받아 만들어진 모델을 바탕으로 모자이크
처리를 진행한다. 처리가 완료되면 다운로드 버튼을 눌러 동영상을 재 다운 받을 수
있다.
사진에서 볼 수 있듯이 모든 기능들은 drag and drop 으로 손쉽게 사용이 가능하다.
2) 개발자 용
본 프로젝트는 위의 일반 사용자를 위한 웹 서비스뿐만 아니라 개발자를 위한
API 도 제공한다. 개발자는 본 API 에 동영상의 input 과 output 을 연동하면 위의 웹
서비스에서 제공하는 모든 기능을 손쉽게 각각의 소프트웨어에 적용할 수 있다.
따라서 CCTV 나 모바일 카메라 어플리케이션 등에 무료로 적용 가능하다.
6. 기대효과 및 활용분야
본 시스템을 이용하여 넘쳐나는 동영상 정보 세상 속에서 개인의 사생활을 보호할
수 있다. 개인의 사생활 정보를 지킴에 있어 편리성을 제공해준다. 동영상 편집 툴을
사용할 줄 모르는 일반 사용자일 경우 본 시스템에서 개발한 웹 서비스를 이용하여
간단하게 모자이크 적용이 가능하다. 사용자가 웹 사이트에 모자이크를 원하는 사람의
얼굴 사진을 업로드하고 영상을 업로드 할 경우 손 쉽게 모자이크 처리가 된 영상을
얻을 수 있다.
개인의 사용뿐만 아니라 공개 소프트웨어로써 CCTV 업체 혹은 모바일
어플리케이션에서도 손쉽게 영상에 모자이크 처리가 가능하다. 본 프로젝트에서
제공하는 API 를 이용해 모든 기능 적용할 수 있다. 또한 wiki 를 통해 사용법을
제공하여 사용에 어려움이 없도록 한다. 따라서 해당 기능이 필요한 모든 소프트웨어
혹은 회사에서 무료로 손쉽게 사용 가능하다.
또한 이 시스템은 공개 소프트웨어로써 암호화된 non target 의 정보에 대해
시스템에서 보유하고 공유할 수 있다. 따라서 시스템의 사용자가 많아질 수록 앞서
설명했던 non target 의 얼굴 정보가 다양해져 점점 더 정밀한 모델을 얻는 것이
가능해진다.
이러한 자동 모자이크 처리 과정 안에서 본 시스템의 경우 한번의 학습을 통해
만들어진 모델을 여러 동영상에 적용할 수 있다. 따라서 target 의 변동 없이 자동
모자이크 처리를 원할 경우 새로 학습을 시킬 필요가 없어 학습에 대한 추가 시간소비
없이 적용 가능하다. 동시에 만들어진 모델에 제대로 target 얼굴에 모자이크가
적용되지 않은 경우 사용자가 입력을 통해 모델 갱신이 가능하다. 같은 모델을
지속적으로 사용할 경우 사용할 수록 정밀한 모델을 얻을 수 있다.
7. 실험 결과
1) 직접 촬영한 영상
왼쪽의 사진에
나와있는 바와 같이
target 과 non target 을
지정하여 학습을
진행했다. 실험은 일반
스마트폰으로 촬영한
영상을 이용했다. 실험
결과는 아래와 같다. 본
영상의 경우 깨끗한
배경화면에 큰 움직임
없이 촬영했기 때문에
아주 좋은 결과를 도출해냈다. 오류 없이 target 얼굴을 제외한 다른 사람의 얼굴은
모자이크 처리가 되었다.
2) 예능 영상
다음으로 예능의 한
장면을 이용하여 실험을
진행하였다. Target 과 non
target 의 얼굴 사진은
다음과 같으며 그 결과는
아래 사진과 같다.
target 얼굴을 제외한
다른 얼굴들에 대해서
모자이크 처리가 이뤄진
모습을 확인할 수 있다.
다만 이전 영상에 비해
복잡도가 높아 노이즈가
약간씩 발생하긴 하였으나 실험을 반복하여 모델을 조금씩 정밀하게 갱신한 결과 좀
더 나은 영상을 얻을 수 있었다.
3) 뉴스 영상
마지막으로 뉴스의 영상을 이용하여 실험을 진행하였다. 사용한 모델은 2 번 예능
영상에서 사용한 모델과 동일한 것을 이용했다. 실험결과 이전과 동일하게 target 의
얼굴을 제외한 다른 사람들의 얼굴에 모자이크 처리가 된 것을 확인할 수 있었다.
뿐만 아니라 한 사람이 아닌 여러 사람이 나오는 장면에서도 모두 모자이크 처리가
되는 모습을 확인했다.
8. 발전 및 개선 방향
현재 본 시스템은 딥러닝을 기반으로 모든 과정을 처리하고 있다. 따라서 cpu 와
그래픽 카드의 성능에 따라 본 시스템의 처리 속도가 급격히 달라지는 단점을 가지고
있다. 또한 학습뿐만 아니라 동영상 변환하는 과정에서도 많은 연산이 포함되어 속도가
느린 것을 확인할 수 있었다. 따라서 이후 상용화 된다면 병렬처리를 통한 성능 향상이
필요하다. 속도 향상이 된다면 동영상을 촬영하는 순간에도 실시간으로 모자이크 처리를
진행하여 사용자가 더 다양한 분야에서 Mosaicer 를 접할 수 있을 것이다.
9. 출처
[1] http://www.datanet.co.kr/news/articleView.html?idxno=110018 (반려동물 위한 IP
카메라 해킹…중국 성인사이트에 사생활 공개돼)
[2] http://allvod.sbs.co.kr/allvod/vodEndPage.do?mdaId=22000031782 (SBS 스페셜
338 회(2013.09.08 방영) , 감시 사회 – 누군가 당신을 지켜보고 있다.)
[3] http://news.jtbc.joins.com/article/article.aspx?news_id=NB11176011 (어린이집
CCTV 영상, 사생활 침해 기준은?)

More Related Content

Similar to Mosaicer

딥러닝을 이용한 사용자 선호도 기반 의상 추천 알고리즘 Ppt 선수강
딥러닝을 이용한 사용자 선호도 기반 의상 추천 알고리즘 Ppt 선수강딥러닝을 이용한 사용자 선호도 기반 의상 추천 알고리즘 Ppt 선수강
딥러닝을 이용한 사용자 선호도 기반 의상 추천 알고리즘 Ppt 선수강Minji Kang
 
SKHUFEEDS 소개 발표자료(노트 포함)
SKHUFEEDS 소개 발표자료(노트 포함)SKHUFEEDS 소개 발표자료(노트 포함)
SKHUFEEDS 소개 발표자료(노트 포함)Youngbin Han
 
제 1회 미래 모빌리티 디자인 경진대회 사용설명서_오토이펙트
제 1회 미래 모빌리티 디자인 경진대회 사용설명서_오토이펙트제 1회 미래 모빌리티 디자인 경진대회 사용설명서_오토이펙트
제 1회 미래 모빌리티 디자인 경진대회 사용설명서_오토이펙트KIMHYUNWOO22
 
Creating text to talk active image(nanheekim)
Creating text to talk active image(nanheekim)Creating text to talk active image(nanheekim)
Creating text to talk active image(nanheekim)Nanhee Kim
 
산학 제출 PPT
산학 제출 PPT산학 제출 PPT
산학 제출 PPT21HG020
 
오픈지그웨어<대성고 2학년 김선빈>
오픈지그웨어<대성고 2학년 김선빈>오픈지그웨어<대성고 2학년 김선빈>
오픈지그웨어<대성고 2학년 김선빈>Jinwook On
 
최종 보고서(Ppt) 이종복 revised3
최종 보고서(Ppt)  이종복 revised3최종 보고서(Ppt)  이종복 revised3
최종 보고서(Ppt) 이종복 revised3Jongbok Lee
 
[Let's Swift 2019] iOS 앱에서 머신러닝이 해결 할 수 있는 문제들
[Let's Swift 2019] iOS 앱에서 머신러닝이 해결 할 수 있는 문제들[Let's Swift 2019] iOS 앱에서 머신러닝이 해결 할 수 있는 문제들
[Let's Swift 2019] iOS 앱에서 머신러닝이 해결 할 수 있는 문제들Doyoung Gwak
 
PhotoWork Application Introduction
PhotoWork Application IntroductionPhotoWork Application Introduction
PhotoWork Application Introductionsukjun ha
 
스마트폰 위의 딥러닝
스마트폰 위의 딥러닝스마트폰 위의 딥러닝
스마트폰 위의 딥러닝NAVER Engineering
 
언리얼4, 유니티 교육 과정 5월 소개서 [스킬트리랩]
언리얼4, 유니티 교육 과정 5월 소개서 [스킬트리랩]언리얼4, 유니티 교육 과정 5월 소개서 [스킬트리랩]
언리얼4, 유니티 교육 과정 5월 소개서 [스킬트리랩]용호 김
 
Part2.Design_이준경
Part2.Design_이준경Part2.Design_이준경
Part2.Design_이준경Junkyeong Lee
 
Google Cloud Machine Learning을 이용한 Motion Detection 및 Notification 구현
Google Cloud Machine Learning을 이용한 Motion Detection 및 Notification 구현Google Cloud Machine Learning을 이용한 Motion Detection 및 Notification 구현
Google Cloud Machine Learning을 이용한 Motion Detection 및 Notification 구현Alex (TaeHo) Kang
 
포트폴리오 김규하
포트폴리오 김규하포트폴리오 김규하
포트폴리오 김규하GyooHa Kim
 
델켐매거진5호
델켐매거진5호델켐매거진5호
델켐매거진5호kr_delcam
 
Tiny ml study 20201031
Tiny ml study 20201031Tiny ml study 20201031
Tiny ml study 20201031ByoungHern Kim
 
딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투Ubuntu Korea Community
 
기술적 변화를 이끌어가기
기술적 변화를 이끌어가기기술적 변화를 이끌어가기
기술적 변화를 이끌어가기Jaewoo Ahn
 
소프트웨어설계론
소프트웨어설계론소프트웨어설계론
소프트웨어설계론JeongDong Kim
 

Similar to Mosaicer (20)

딥러닝을 이용한 사용자 선호도 기반 의상 추천 알고리즘 Ppt 선수강
딥러닝을 이용한 사용자 선호도 기반 의상 추천 알고리즘 Ppt 선수강딥러닝을 이용한 사용자 선호도 기반 의상 추천 알고리즘 Ppt 선수강
딥러닝을 이용한 사용자 선호도 기반 의상 추천 알고리즘 Ppt 선수강
 
Closet engine
Closet engineCloset engine
Closet engine
 
SKHUFEEDS 소개 발표자료(노트 포함)
SKHUFEEDS 소개 발표자료(노트 포함)SKHUFEEDS 소개 발표자료(노트 포함)
SKHUFEEDS 소개 발표자료(노트 포함)
 
제 1회 미래 모빌리티 디자인 경진대회 사용설명서_오토이펙트
제 1회 미래 모빌리티 디자인 경진대회 사용설명서_오토이펙트제 1회 미래 모빌리티 디자인 경진대회 사용설명서_오토이펙트
제 1회 미래 모빌리티 디자인 경진대회 사용설명서_오토이펙트
 
Creating text to talk active image(nanheekim)
Creating text to talk active image(nanheekim)Creating text to talk active image(nanheekim)
Creating text to talk active image(nanheekim)
 
산학 제출 PPT
산학 제출 PPT산학 제출 PPT
산학 제출 PPT
 
오픈지그웨어<대성고 2학년 김선빈>
오픈지그웨어<대성고 2학년 김선빈>오픈지그웨어<대성고 2학년 김선빈>
오픈지그웨어<대성고 2학년 김선빈>
 
최종 보고서(Ppt) 이종복 revised3
최종 보고서(Ppt)  이종복 revised3최종 보고서(Ppt)  이종복 revised3
최종 보고서(Ppt) 이종복 revised3
 
[Let's Swift 2019] iOS 앱에서 머신러닝이 해결 할 수 있는 문제들
[Let's Swift 2019] iOS 앱에서 머신러닝이 해결 할 수 있는 문제들[Let's Swift 2019] iOS 앱에서 머신러닝이 해결 할 수 있는 문제들
[Let's Swift 2019] iOS 앱에서 머신러닝이 해결 할 수 있는 문제들
 
PhotoWork Application Introduction
PhotoWork Application IntroductionPhotoWork Application Introduction
PhotoWork Application Introduction
 
스마트폰 위의 딥러닝
스마트폰 위의 딥러닝스마트폰 위의 딥러닝
스마트폰 위의 딥러닝
 
언리얼4, 유니티 교육 과정 5월 소개서 [스킬트리랩]
언리얼4, 유니티 교육 과정 5월 소개서 [스킬트리랩]언리얼4, 유니티 교육 과정 5월 소개서 [스킬트리랩]
언리얼4, 유니티 교육 과정 5월 소개서 [스킬트리랩]
 
Part2.Design_이준경
Part2.Design_이준경Part2.Design_이준경
Part2.Design_이준경
 
Google Cloud Machine Learning을 이용한 Motion Detection 및 Notification 구현
Google Cloud Machine Learning을 이용한 Motion Detection 및 Notification 구현Google Cloud Machine Learning을 이용한 Motion Detection 및 Notification 구현
Google Cloud Machine Learning을 이용한 Motion Detection 및 Notification 구현
 
포트폴리오 김규하
포트폴리오 김규하포트폴리오 김규하
포트폴리오 김규하
 
델켐매거진5호
델켐매거진5호델켐매거진5호
델켐매거진5호
 
Tiny ml study 20201031
Tiny ml study 20201031Tiny ml study 20201031
Tiny ml study 20201031
 
딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투
 
기술적 변화를 이끌어가기
기술적 변화를 이끌어가기기술적 변화를 이끌어가기
기술적 변화를 이끌어가기
 
소프트웨어설계론
소프트웨어설계론소프트웨어설계론
소프트웨어설계론
 

Mosaicer

  • 1. Mosaicer 요약 오늘날 우리는 셀 수 없는 양의 카메라에 노출되고 이로 인한 사생활 침해 문제가 사회적인 이슈가 되고 있다. 4 차 산업혁명과 함께 IOT 시장이 넓어지고 영상 관련 기술이 발달되어 사생활 침해가 더욱 심각해지고 있다.[1] 이를 해결하기 위해, 영상에 노출을 동의한 사람을 제외한 모든 사람의 얼굴을 가려주는 과정이 필요하다. 현재까지 이 과정은 수동으로 이루어지고 있으나 번거롭고 사용자가 영상편집에 대한 지식을 가지고 있어야 한다. 위와 같은 문제점을 해결하고자 본 시스템을 제안한다. 본 시스템은 인공지능을 활용한 미디어 모자이크 자동화 시스템으로 인공지능을 이원화하여 faster-R CNN 을 활용한 얼굴 탐색, AlexNet 을 개량한 CNN 을 활용한 얼굴 인식을 통해 앞서 언급한 문제점들을 해결한다. 본 시스템은 CCTV 나 뉴스, 인터뷰 영상과 요즘 나날이 증가하는 개인 방송 스트리머의 영상들에 적용할 수 있을 것이라 기대한다. 1. 개발배경 및 목적 우리는 현재 엄청난 동영상 데이터와 함께 생활하고 있다. 이러한 동영상의 늪에서 우리의 사생활은 지켜지지 않고 있다. 2013 년도에 수행된 한 방송사의 조사에 따르면 우리는 하루 동안 CCTV 영상에 약 80 회 이상 노출된다고 한다.[2] 이러한 노출은 사생활의 침해로 이어진다. 예를 들어, 범죄 현장에 증거 영상으로 사용하기 위해 경찰 혹은 검찰에서 영상을 가져가는 경우가 있다. 이때 범죄자가 아닌 다른 사람들이 영상에 함께 나와 그들이 무슨 일을 하는지 드러나게 된다.[3] 블랙박스 혹은 CCTV 영상뿐만 아니라 방송으로 나오는 자료 영상 혹은 인터뷰 영상에서도 사생활 침해 문제를 볼 수 있다. 실례로 뉴스에서 사용한 영상에 지나가는 행인이 찍혀 방송사가 고소를 당한 경우가 있다. 또한 우리나라는 보통 범죄자의 얼굴을
  • 2. 모자이크 처리를 하고 형사나 기자들의 얼굴은 모자이크 처리를 하지 않는다. 이로 인해 형사, 기사들의 초상권이 보호되지 않아 보복 범죄가 일어나는 경우가 있다. 이러한 문제들을 해결하기 위해 주요인물을 제외한 모든 사람들의 얼굴을 모자이크 처리 과정이 필요하다. 따라서 본 프로젝트에서는 모자이크 자동화 시스템인 Mosaicer 를 제안한다. 또한 Mosaicer 를 적용한 웹 서비스를 개발해 비전공자인 일반 사용자들이 간단한 drag & drop 방식으로 개인의 사생활을 보호할 수 있도록 한다. 2. 미디어 모자이크 기술에 대한 현황 개인이 촬영한 영상의 경우 모자이크 처리를 위해 동영상 편집 툴을 이용한다. 사용자가 원하는 위치를 표시하면 그 위치에 모자이크 처리가 되는 방식이다. CCTV 영상을 증거물로 사용할 경우에는 사용자가 일일이 모든 영상에 대한 모자이크 처리를 하는 것이 불가능하다. 따라서 해당 영상에 나오는 사람에게 사용 허가에 대한 승인을 받아 사용하기도 한다. 이러한 불편함을 해소하여 사용자가 편리하게 동영상을 업로드 할 수 있도록 유투브에서는 모자이크 기능을 제공하고 있다. 하지만 이 기능의 경우 유투브 안에서만 사용이 가능하며 매 영상을 올릴 때마다 어떤 부분에 대해 모자이크 처리를 할 것인지에 대한 학습을 새로 해야 한다. 한 어플리케이션에 국한되지 않고 사용할 수 있는 유료 소프트웨어도 있다. 한비 소프트웨어에서 개발하는 API 로 개발사에서 직접 학습 시킨 얼굴에 대한 모델을 이용하여 영상에서 얼굴을 찾아내어 모자이크 처리를 자동으로 해주는 API 를 제공하고 있다. 하지만 이 소프트웨어의 경우 유료라는 단점을 갖고 있을 뿐만 아니라 얼굴의 각도, 양 눈간의 최소 거리, 조명 등의 다양한 제약 조건이 존재한다. 3. 개발환경 및 개발언어 - 개발환경 OS : Ubuntu-14.04-64bit Tool : Vim & Atom - 개발언어 : Python 3.4
  • 3. - 사용된 오픈소스 : OpenCV, Dlib, TensorFlow 4. 시스템 구성 및 아키텍처 본 시스템은 크게 Dlib 을 이용해 프레임에서 얼굴을 찾고 저장하는 얼굴 인식 모듈, Tensorflow 라이브러리를 통해 얼굴을 분류하는 딥러닝 모듈과 동영상을 OpenCV 라이브러리를 통해 처리하는 동영상 처리 모듈로 구성되어있다. 얼굴 인식 모듈에서는 입력 받아진 동영상의 매 프레임에서 얼굴을 찾고 찾아진 얼굴 부분을 사진으로 저장하는 역할을 한다. 딥러닝 모듈은 모자이크 처리하고자 하는 사람의 얼굴 사진을 학습하고 새로 입력되는 얼굴 사진에 대해 classification 을 한다. 동영상 처리 모듈은 라이브러리를 통해 동영상을 입력 받고 모자이크 처리를 담당한다. 아래의 다이어그램과 함께 training 부분과 test 부분으로 나누어 자세히 살펴본다. ① Training 딥러닝 모듈을 이용하여 training 을 진행한다. 모든 과정에서 영상, 음성 분야에 좋은 성능을 보이는 AlexNet 을 기반으로 수정된 CNN 알고리즘을 사용한다. 먼저
  • 4. 학습단계에서 모자이크 처리를 원하지 않는 얼굴과 기타 다른 사람들의 얼굴로 라벨을 나누어 모델링을 한다. 본 프로젝트에서는 모자이크 처리를 원하지 않는 얼굴의 라벨을 target 이라 한다. 학습이 완료되면 입력되는 얼굴 사진에 대해 target 인지 non target 인지에 대한 결과를 내는 모델을 출력한다. 만들어진 모델은 이 후 test 단계에서 사용된다. Test 가 진행된 후 학습을 멈추는 것이 아닌 재학습을 통해 모델을 갱신한다. Test 과정에서 찾아진 target 의 얼굴과 non target 의 얼굴 사진들을 동영상 처리 모듈에서 저장하면 그 정보를 이용하여 training 을 다시 한다. 이때 사용자로부터 입력을 받아 target 의 얼굴임에도 모자이크 처리가 되었거나 그 반대일 경우에 대해서도 처리할 수 있다. ② Test 먼저 사용자로부터 동영상을 입력 받는다. 얼굴 인식 모듈에 입력 받은 동영상의 각 프레임에서 Faster R-CNN 알고리즘을 적용한 인공지능으로 Face Detection 을 진행한다. 이 때 처리 속도를 높이기 위해 매 프레임마다 Face Detection 을 적용하지 않는다. 실험을 통해 얼굴의 위치가 일반적으로 3 프레임동안 유사하다는 것을 알아냈다. 이를 바탕으로 3 프레임마다 얼굴인 부분을 추출하고 미리 지정된 디렉토리에 사진으로 저장한다. 추출된 얼굴 사진은 딥러닝 모듈의 입력 값으로 사용된다. 딥러닝 모듈은 저장된 사진을 불러와 classification 을 진행한다. Classification 이 종료되면 입력 받은 얼굴이 기존의 training 해놓은 모델에서 각각의 라벨에 속할 확률을 반환한다. Target 라벨과의 일치율이 미리 정해놓은 threshold 를 초과할 경우 동영상 모듈은 모자이크를 처리를 하지 않고 다음 얼굴 부분으로 넘어간다. 반면 threshold 를 초과하지 않을 경우 해당 얼굴 부분에 대해 모자이크 처리를 한다. 이때 각각의 얼굴 사진들은 해당 라벨로 분류되어 저장한다. 이 후 같은 모델을 이용하여 자동 모자이크 처리를 할 경우 딥러닝 모듈의 입력 값으로 사용해 모델의 갱신을 돕기 위해서이다. 모든 프레임, 모든 추출된 얼굴 부분에 대해 처리를 마치면 해당 동영상을 반환하여 저장한다.
  • 5. 5. 프로젝트 주요기능 1) 웹 서비스 용 본 프로젝트는 동영상 편집 툴에 미숙한 일반 사용자들에게 동영상 업로드 전 사생활 보호를 위한 편이를 제공하기 위하여 다음과 같은 웹 서비스를 제공한다. 직관적인 UI 를 통해 사용자는 손 쉽게 모자이크 처리된 영상을 얻을 수 있다. 우선 그림의 1 번 탭을 이용하여 사용자는 모자이크 처리를 원하지 않는 얼굴 사진을 업로드한다. 업로드 된 사진들은 자동적으로 서버에 저장이 된다. 이때 개인정보를 보호하기 위해 암호화된 파일로 저장하며 다른 사용자들은 사진 정보를 얻을 수 없다. 2 번의 train 탭에서는 사용자가 업로드한 얼굴 사진을 바탕으로 CNN 을 통한 학습을 시작한다. 학습이 완료되면 사용자에게 완료되었음을 알릴 수 있으며 해당 모델을 저장하여 여러 번 사용 가능하도록 서비스를 제공한다. 마지막 3 번 Mosaic 탭에서 동영상 입력을 받아 만들어진 모델을 바탕으로 모자이크 처리를 진행한다. 처리가 완료되면 다운로드 버튼을 눌러 동영상을 재 다운 받을 수 있다. 사진에서 볼 수 있듯이 모든 기능들은 drag and drop 으로 손쉽게 사용이 가능하다.
  • 6. 2) 개발자 용 본 프로젝트는 위의 일반 사용자를 위한 웹 서비스뿐만 아니라 개발자를 위한 API 도 제공한다. 개발자는 본 API 에 동영상의 input 과 output 을 연동하면 위의 웹 서비스에서 제공하는 모든 기능을 손쉽게 각각의 소프트웨어에 적용할 수 있다. 따라서 CCTV 나 모바일 카메라 어플리케이션 등에 무료로 적용 가능하다. 6. 기대효과 및 활용분야 본 시스템을 이용하여 넘쳐나는 동영상 정보 세상 속에서 개인의 사생활을 보호할 수 있다. 개인의 사생활 정보를 지킴에 있어 편리성을 제공해준다. 동영상 편집 툴을 사용할 줄 모르는 일반 사용자일 경우 본 시스템에서 개발한 웹 서비스를 이용하여 간단하게 모자이크 적용이 가능하다. 사용자가 웹 사이트에 모자이크를 원하는 사람의 얼굴 사진을 업로드하고 영상을 업로드 할 경우 손 쉽게 모자이크 처리가 된 영상을 얻을 수 있다. 개인의 사용뿐만 아니라 공개 소프트웨어로써 CCTV 업체 혹은 모바일 어플리케이션에서도 손쉽게 영상에 모자이크 처리가 가능하다. 본 프로젝트에서 제공하는 API 를 이용해 모든 기능 적용할 수 있다. 또한 wiki 를 통해 사용법을 제공하여 사용에 어려움이 없도록 한다. 따라서 해당 기능이 필요한 모든 소프트웨어 혹은 회사에서 무료로 손쉽게 사용 가능하다. 또한 이 시스템은 공개 소프트웨어로써 암호화된 non target 의 정보에 대해 시스템에서 보유하고 공유할 수 있다. 따라서 시스템의 사용자가 많아질 수록 앞서 설명했던 non target 의 얼굴 정보가 다양해져 점점 더 정밀한 모델을 얻는 것이 가능해진다. 이러한 자동 모자이크 처리 과정 안에서 본 시스템의 경우 한번의 학습을 통해 만들어진 모델을 여러 동영상에 적용할 수 있다. 따라서 target 의 변동 없이 자동 모자이크 처리를 원할 경우 새로 학습을 시킬 필요가 없어 학습에 대한 추가 시간소비 없이 적용 가능하다. 동시에 만들어진 모델에 제대로 target 얼굴에 모자이크가 적용되지 않은 경우 사용자가 입력을 통해 모델 갱신이 가능하다. 같은 모델을 지속적으로 사용할 경우 사용할 수록 정밀한 모델을 얻을 수 있다.
  • 7. 7. 실험 결과 1) 직접 촬영한 영상 왼쪽의 사진에 나와있는 바와 같이 target 과 non target 을 지정하여 학습을 진행했다. 실험은 일반 스마트폰으로 촬영한 영상을 이용했다. 실험 결과는 아래와 같다. 본 영상의 경우 깨끗한 배경화면에 큰 움직임 없이 촬영했기 때문에 아주 좋은 결과를 도출해냈다. 오류 없이 target 얼굴을 제외한 다른 사람의 얼굴은 모자이크 처리가 되었다.
  • 8. 2) 예능 영상 다음으로 예능의 한 장면을 이용하여 실험을 진행하였다. Target 과 non target 의 얼굴 사진은 다음과 같으며 그 결과는 아래 사진과 같다. target 얼굴을 제외한 다른 얼굴들에 대해서 모자이크 처리가 이뤄진 모습을 확인할 수 있다. 다만 이전 영상에 비해 복잡도가 높아 노이즈가 약간씩 발생하긴 하였으나 실험을 반복하여 모델을 조금씩 정밀하게 갱신한 결과 좀 더 나은 영상을 얻을 수 있었다.
  • 9. 3) 뉴스 영상 마지막으로 뉴스의 영상을 이용하여 실험을 진행하였다. 사용한 모델은 2 번 예능 영상에서 사용한 모델과 동일한 것을 이용했다. 실험결과 이전과 동일하게 target 의 얼굴을 제외한 다른 사람들의 얼굴에 모자이크 처리가 된 것을 확인할 수 있었다. 뿐만 아니라 한 사람이 아닌 여러 사람이 나오는 장면에서도 모두 모자이크 처리가 되는 모습을 확인했다. 8. 발전 및 개선 방향 현재 본 시스템은 딥러닝을 기반으로 모든 과정을 처리하고 있다. 따라서 cpu 와 그래픽 카드의 성능에 따라 본 시스템의 처리 속도가 급격히 달라지는 단점을 가지고 있다. 또한 학습뿐만 아니라 동영상 변환하는 과정에서도 많은 연산이 포함되어 속도가 느린 것을 확인할 수 있었다. 따라서 이후 상용화 된다면 병렬처리를 통한 성능 향상이 필요하다. 속도 향상이 된다면 동영상을 촬영하는 순간에도 실시간으로 모자이크 처리를 진행하여 사용자가 더 다양한 분야에서 Mosaicer 를 접할 수 있을 것이다.
  • 10. 9. 출처 [1] http://www.datanet.co.kr/news/articleView.html?idxno=110018 (반려동물 위한 IP 카메라 해킹…중국 성인사이트에 사생활 공개돼) [2] http://allvod.sbs.co.kr/allvod/vodEndPage.do?mdaId=22000031782 (SBS 스페셜 338 회(2013.09.08 방영) , 감시 사회 – 누군가 당신을 지켜보고 있다.) [3] http://news.jtbc.joins.com/article/article.aspx?news_id=NB11176011 (어린이집 CCTV 영상, 사생활 침해 기준은?)