SlideShare a Scribd company logo
1 of 17
Download to read offline
Analyzing Mobile Application
Usage: Generating Log Files from
Mobile Screen Recordings
+ MobileHCI 2018
- Philipp Krieter, Andreas Breiter
/박상아
Why This Paper
연구 배경
연구 방법
연구 결과
Discussion·Takeaway
1
2
3
4
5
목차
어플리케이션·서비스 사용 데이터를
어떻게 수집하고 분석할 수 있는가?
1. Why This Paper?
VUI에서 수집 가능한 로그 중
GUI와 비교해 차별적인 것은 무엇일까?
HCI 입문자로서 …
‘스피커 그리드’ 프로젝트 팀원으로서 …
로그 분석
2. 연구 배경
어플리케이션 또는 프레임워크의 로그 파일에 기초함
장기적인 사용자 행동 포착에 유용함
그러나 앱 내에서 무엇을 하는지는 고려할 수 없음
사용자의 행동과 작업 대부분을 이해할 수 있음
소프트웨어와 상호작용하는 방법에 대한 결론 도출 가능
그러나 시간이 오래 걸리기 때문에 단기 평가에서만 가능
화면 녹화
융합적
선행 연구
모바일 사용량
분석 방법
스크린샷과 상호작용(클릭, 터치, 선택 등) 로그를 결합하여 분석 (Kawalek et al.)
컴퓨터 비전을 이용해 영상 녹화에 주석을 자동으로 작성하는 ‘InspectorWidget’
화면 기록, 음성, GPS, 앱 설치 등의 기록과 사용자의 주석을 함께 분석 (Brown et al.)
로그 분석
2. 연구 배경
어플리케이션 또는 프레임워크의 로그 파일에 기초함
장기적인 사용자 행동 포착에 유용함
그러나 앱 내에서 무엇을 하는지는 고려할 수 없음
사용자의 행동과 작업 대부분을 이해할 수 있음
소프트웨어와 상호작용하는 방법에 대한 결론 도출 가능
그러나 시간이 오래 걸리기 때문에 단기 평가에서만 가능
사용자가 앱과 상호작용하는 방법을 관찰하면서도,
추가 분석을 위한 평균 데이터를 얻을 수 있도록
화면 녹화를 기반으로 로그 파일을 생성
화면 녹화
이 연구에서
제시하는 방법은
모바일 사용량
분석 방법
비디오 수집 및 전처리 > 이벤트 탐지 > 로그 파일 생성의 순서로 흘러간다
3. 연구 방법
3. 연구 방법
화면 녹화 파일을 각 프레임 별로 해석한다
현재 프레임의 픽셀 값과 이전 프레임의 픽셀 값을 비교한다
최대값과 평균 차이값을 임계값과 대조해, 유사성을 계산한다
1
2
3
비디오 수집 및 전처리 > 이벤트 탐지 > 로그 파일 생성
모바일 UI의 경우 고정 영역이 많아, 현재 프레임과 이전 프레임의 픽셀 값에 큰 차이가 없다
따라서 다시 가공할 필요가 없어 전체 공정의 속도가 빨라진다
3. 연구 방법
비디오 수집 및 전처리 > 이벤트 탐지 > 로그 파일 생성
모든 프레임을 사전에 정의된 이벤트와 대조한다
연산 시간을 줄이기 위해 다음의 순서를 따른다
스크린 내 고정된 영역과 고정되지 않은 영역을 비교한
다
고정되지 않은 영역에서 이미지를 탐색한다
고정되지 않은 영역에서 추가적인 문자열을 탐색한다
각 프레임은 여러 이벤트를 포함하거나 아무것도 포함하지 않을 수 있다
1
2
3
3. 연구 방법
비디오 수집 및 전처리 > 이벤트 탐지 > 로그 파일 생성
스크린 내 고정된 영역과 고정되지 않은 영역을 비교한다1
지각 해싱(Perceptual Hashing)을 사용하여
고정된 이벤트 영역이 이전 프레임과 동일한지 비교한다
그런데 배경에 변화가 생기는 경우(ex. 홈 버튼을 눌렀을 때)에는
경계 검출(Edge Detection) 후 지각 해싱을 진행한다
모바일 어플리케이션은 고정된 영역이 많기 때문에
데스크탑보다 탐지를 빠르게 진행할 수 있다
지각 해싱: 각 문자열에 부여한 특정 해시 키를 이용해 연산하는 알고리즘
경계 검출: 밝기가 급변하는 영역의 경계선을 찾는 작업
3. 연구 방법
비디오 수집 및 전처리 > 이벤트 탐지 > 로그 파일 생성
고정되지 않은 영역에서 이미지를 탐색한다2
템플릿 매칭: 이미지에서 템플릿 이미지와 유사한 영역을 찾아내는 방법
고정되지 않은 영역에서 나타나는 이미지 요소를 찾기 위해
템플릿 매칭(Template Matching) 알고리즘을 사용한다
이미지에서 템플릿 이미지를 검색하는 것은
시간 비용이 많이 드는 과정인데
에서 이미 많은 이벤트가 제외되었다1
3. 연구 방법
비디오 수집 및 전처리 > 이벤트 탐지 > 로그 파일 생성
고정되지 않은 영역에서 추가적인 문자열을 탐색한다3
광학 문자 판독 장치: 문서에 새겨진 문자를 빛을 이용해 판독하는 장치
광학 문자 판독 장치(Optical Character Reader)을 사용하여
이벤트 정의에 지정된 문자열이 화면에 있는지 비교하거나
화면의 정의된 위치에서 문자열을 로그에 추가한다
이 방법은 유효한가?
영상에서 이벤트를 수작업으로 찾아낸 후, 로그 파일과 비교하여 잘못된 로그를 추적하였다
비디오의 품질과 프레임률을 조작하였다
비디오 내용, 비디오 코덱,
이벤트 정의, 리스트는 통제되었다
3. 연구 방법
두 가지 방식으로 검증했다
1
2
저자 중 한 명의 24시간 모바일 사용(총 68분 분량, 188개의 기록)을 녹화한 다음 …
로그 결과의 신뢰성을 위해, 검증에 사용될 이벤트는 동일하게 정의되었다
“GUI에서 이벤트나 동작을 구별할 수 있는 특징은 무엇인가?”를 기준으로
유사한 이벤트 또는 1초 미만의 매우 짧은 이벤트를 구별해낼 수 있는가를 평가하기 위한 것이다
app-specific 또는
task-specific한 이벤트
다른 이벤트와
병렬적으로 일어날 수 있는
일반적 UI 이벤트
3. 연구 방법
이 방법은 유효한가?
79,790 프레임에 대해 로그 항목을 작성하였으며,
연속적 프레임의 동일한 결과는 하나의 이벤트로 정의되었다
•전화 및 앱 사용 로그
- 인-앱 이벤트를 성공적으로 기록하였다
(A와 채팅, 스크롤 다운 등)
- 여러 어플리케이션의 병렬적 사용이 기록되었다
(왓츠앱 + 키보드 동시 사용 등)
4. 연구 결과
79,790 프레임에 대해 로그 항목을 작성하였으며,
연속적 프레임의 동일한 결과는 하나의 이벤트로 정의되었다
4. 연구 결과
•낮은 품질 비디오의 결과
대개는 원래 비디오와 비슷한 정도로 이벤트를 감지하지
만,
특정 로그 파일에서는 몇 가지 누락이 발생하기도 한다
낮은 품질 비디오가 안정적으로
캡처하기에는 너무 짧은 애니메이션 …
그 외에,
•누락된 이벤트가 없었음에도 2,790개의 오류 항목이 생성되었다
➔ 어플리케이션을 닫거나 전환할 때의 OCR 오류
(예컨대, OCR이 채팅방 머리말에서 이름을 얻으려 할 때 다른 앱으로 전환하면 문자열 추출 불가)
•17개의 false-positive한 이벤트가 생성되었다
➔ 경계 검출이 신뢰성 있게 작동하지 않았다는 방증
4. 연구 결과
79,790 프레임에 대해 로그 항목을 작성하였으며,
연속적 프레임의 동일한 결과는 하나의 이벤트로 정의되었다
•이전 연구에서 나아가, 로그 명령 구현 없이 사용자의 인-앱 활동에 대한 통찰력을 제시했다.
•템플릿 매칭, 지각 해시 등 비교적 단순한 기법을 사용, 구조화된 GUI의 OCR 분석은 효율적.
•낮은 품질과 프레임률 비디오에서도 다양한 이벤트를 성공적으로 감지할 가능성이 있다.
•사용자 화면에 나타나는 모든 것이 분석될 수 있으므로,
사용자가 공유 대상을 스스로 통제할 수 있는 방안을 마련해야 한다.
5. Discussion·Takeaway
•매우 개인적인 정보가 포함될 것을 우려하여, 검증 단계에서 외부 사람이 아닌 저자의 사용
데이터를 사용하였음. 이 방법론은 사생활 이슈가 큰데 상용화될 수 있을까?
•GUI의 화면 녹화는 VUI의 음성 녹음에 상응할 것. 그런데 음성 녹음은 너무나도 주변적인 정
보까지 수집하므로 화면 녹화보다도 문제가 클 수 있음. VUI로 수집 가능한 데이터는 사용 로
그뿐일까?
Discussion
Takeaway

More Related Content

Similar to Analyzing Mobile Application Usage: Generating Log Files from Mobile Screen Recordings

클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기YoungSu Son
 
(발제) Mobile Probes : NordiCHI2004-Sami Hulkko / 정영찬 x2013 summer
(발제) Mobile Probes : NordiCHI2004-Sami Hulkko / 정영찬 x2013 summer(발제) Mobile Probes : NordiCHI2004-Sami Hulkko / 정영찬 x2013 summer
(발제) Mobile Probes : NordiCHI2004-Sami Hulkko / 정영찬 x2013 summerycmailcase
 
[Gastudy.net] Google Analytics basic
[Gastudy.net] Google Analytics basic[Gastudy.net] Google Analytics basic
[Gastudy.net] Google Analytics basicSeHeung Oh
 
UI 정적분석툴 소개와 활용사례
UI 정적분석툴 소개와 활용사례UI 정적분석툴 소개와 활용사례
UI 정적분석툴 소개와 활용사례SangIn Choung
 
내부자정보유출방지 : 엔드포인트 통합보안
내부자정보유출방지 : 엔드포인트 통합보안 내부자정보유출방지 : 엔드포인트 통합보안
내부자정보유출방지 : 엔드포인트 통합보안 시온시큐리티
 
AWS Innovate: Mobile App testing with AWS Device Farm- Kevin Kim
AWS Innovate: Mobile App testing with AWS Device Farm- Kevin KimAWS Innovate: Mobile App testing with AWS Device Farm- Kevin Kim
AWS Innovate: Mobile App testing with AWS Device Farm- Kevin KimAmazon Web Services Korea
 
NDC2018 안드로이드+유니티 네이티브 프로파일링 삽질기
NDC2018 안드로이드+유니티 네이티브 프로파일링 삽질기NDC2018 안드로이드+유니티 네이티브 프로파일링 삽질기
NDC2018 안드로이드+유니티 네이티브 프로파일링 삽질기Jaeseung Ha
 
테스팅을위한선행조건 명세
테스팅을위한선행조건 명세테스팅을위한선행조건 명세
테스팅을위한선행조건 명세규동 최규동
 
Data Driven Decision을 위한 데이터플랫폼구축기@kakaomobility
Data Driven Decision을 위한 데이터플랫폼구축기@kakaomobilityData Driven Decision을 위한 데이터플랫폼구축기@kakaomobility
Data Driven Decision을 위한 데이터플랫폼구축기@kakaomobilityJongho Woo
 
모바일 앱(App) 개발 테스트 솔루션 v20160415
모바일 앱(App) 개발 테스트 솔루션 v20160415모바일 앱(App) 개발 테스트 솔루션 v20160415
모바일 앱(App) 개발 테스트 솔루션 v20160415SeungBeom Ha
 
모바일 앱(App) 개발 테스트 솔루션 - 인터링크시스템
모바일 앱(App) 개발 테스트 솔루션 - 인터링크시스템모바일 앱(App) 개발 테스트 솔루션 - 인터링크시스템
모바일 앱(App) 개발 테스트 솔루션 - 인터링크시스템SeungBeom Ha
 
클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기YoungSu Son
 
Performance consulting
Performance consultingPerformance consulting
Performance consultingIMQA
 
포트폴리오 김규하
포트폴리오 김규하포트폴리오 김규하
포트폴리오 김규하GyooHa Kim
 
[BSD]DISCOVERy
[BSD]DISCOVERy[BSD]DISCOVERy
[BSD]DISCOVERyJY LEE
 
학교에서는 배울 수 없는 스타트업 엔지니어링 (연세대 특강)
학교에서는 배울 수 없는 스타트업 엔지니어링 (연세대 특강)학교에서는 배울 수 없는 스타트업 엔지니어링 (연세대 특강)
학교에서는 배울 수 없는 스타트업 엔지니어링 (연세대 특강)Lab80
 
사용자분석 @코더스하이세미나
사용자분석 @코더스하이세미나사용자분석 @코더스하이세미나
사용자분석 @코더스하이세미나Mikyung Kang
 
Clou doc intro_kor_20160524
Clou doc intro_kor_20160524Clou doc intro_kor_20160524
Clou doc intro_kor_20160524sang yoo
 

Similar to Analyzing Mobile Application Usage: Generating Log Files from Mobile Screen Recordings (20)

클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
 
(발제) Mobile Probes : NordiCHI2004-Sami Hulkko / 정영찬 x2013 summer
(발제) Mobile Probes : NordiCHI2004-Sami Hulkko / 정영찬 x2013 summer(발제) Mobile Probes : NordiCHI2004-Sami Hulkko / 정영찬 x2013 summer
(발제) Mobile Probes : NordiCHI2004-Sami Hulkko / 정영찬 x2013 summer
 
[Gastudy.net] Google Analytics basic
[Gastudy.net] Google Analytics basic[Gastudy.net] Google Analytics basic
[Gastudy.net] Google Analytics basic
 
UI 정적분석툴 소개와 활용사례
UI 정적분석툴 소개와 활용사례UI 정적분석툴 소개와 활용사례
UI 정적분석툴 소개와 활용사례
 
내부자정보유출방지 : 엔드포인트 통합보안
내부자정보유출방지 : 엔드포인트 통합보안 내부자정보유출방지 : 엔드포인트 통합보안
내부자정보유출방지 : 엔드포인트 통합보안
 
AWS Innovate: Mobile App testing with AWS Device Farm- Kevin Kim
AWS Innovate: Mobile App testing with AWS Device Farm- Kevin KimAWS Innovate: Mobile App testing with AWS Device Farm- Kevin Kim
AWS Innovate: Mobile App testing with AWS Device Farm- Kevin Kim
 
빠삐용0516
빠삐용0516빠삐용0516
빠삐용0516
 
화면 캡쳐 방지 솔루션
화면 캡쳐 방지 솔루션화면 캡쳐 방지 솔루션
화면 캡쳐 방지 솔루션
 
NDC2018 안드로이드+유니티 네이티브 프로파일링 삽질기
NDC2018 안드로이드+유니티 네이티브 프로파일링 삽질기NDC2018 안드로이드+유니티 네이티브 프로파일링 삽질기
NDC2018 안드로이드+유니티 네이티브 프로파일링 삽질기
 
테스팅을위한선행조건 명세
테스팅을위한선행조건 명세테스팅을위한선행조건 명세
테스팅을위한선행조건 명세
 
Data Driven Decision을 위한 데이터플랫폼구축기@kakaomobility
Data Driven Decision을 위한 데이터플랫폼구축기@kakaomobilityData Driven Decision을 위한 데이터플랫폼구축기@kakaomobility
Data Driven Decision을 위한 데이터플랫폼구축기@kakaomobility
 
모바일 앱(App) 개발 테스트 솔루션 v20160415
모바일 앱(App) 개발 테스트 솔루션 v20160415모바일 앱(App) 개발 테스트 솔루션 v20160415
모바일 앱(App) 개발 테스트 솔루션 v20160415
 
모바일 앱(App) 개발 테스트 솔루션 - 인터링크시스템
모바일 앱(App) 개발 테스트 솔루션 - 인터링크시스템모바일 앱(App) 개발 테스트 솔루션 - 인터링크시스템
모바일 앱(App) 개발 테스트 솔루션 - 인터링크시스템
 
클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기
 
Performance consulting
Performance consultingPerformance consulting
Performance consulting
 
포트폴리오 김규하
포트폴리오 김규하포트폴리오 김규하
포트폴리오 김규하
 
[BSD]DISCOVERy
[BSD]DISCOVERy[BSD]DISCOVERy
[BSD]DISCOVERy
 
학교에서는 배울 수 없는 스타트업 엔지니어링 (연세대 특강)
학교에서는 배울 수 없는 스타트업 엔지니어링 (연세대 특강)학교에서는 배울 수 없는 스타트업 엔지니어링 (연세대 특강)
학교에서는 배울 수 없는 스타트업 엔지니어링 (연세대 특강)
 
사용자분석 @코더스하이세미나
사용자분석 @코더스하이세미나사용자분석 @코더스하이세미나
사용자분석 @코더스하이세미나
 
Clou doc intro_kor_20160524
Clou doc intro_kor_20160524Clou doc intro_kor_20160524
Clou doc intro_kor_20160524
 

More from 박 상아

Designing Effective Interview Chatbots: Automatic Chatbot Profiling and Desig...
Designing Effective Interview Chatbots: Automatic Chatbot Profiling and Desig...Designing Effective Interview Chatbots: Automatic Chatbot Profiling and Desig...
Designing Effective Interview Chatbots: Automatic Chatbot Profiling and Desig...박 상아
 
Response Quality & BlahBlahbot
Response Quality  &  BlahBlahbotResponse Quality  &  BlahBlahbot
Response Quality & BlahBlahbot박 상아
 
Learning from dialogue after deployment feed yourself, chatbot
Learning from dialogue after deployment  feed yourself, chatbotLearning from dialogue after deployment  feed yourself, chatbot
Learning from dialogue after deployment feed yourself, chatbot박 상아
 
Why people use chatbot
Why people use chatbotWhy people use chatbot
Why people use chatbot박 상아
 
Developing a Personality Model for Speech-based Conversational Agents Using t...
Developing a Personality Model for Speech-based Conversational Agents Using t...Developing a Personality Model for Speech-based Conversational Agents Using t...
Developing a Personality Model for Speech-based Conversational Agents Using t...박 상아
 
Voice Tonality & Voice Assistant Personalities in Automotive UI
Voice Tonality & Voice Assistant Personalities in Automotive UIVoice Tonality & Voice Assistant Personalities in Automotive UI
Voice Tonality & Voice Assistant Personalities in Automotive UI박 상아
 
What makes a good converation? Challenges in Designing Truly Conversational A...
What makes a good converation? Challenges in Designing Truly Conversational A...What makes a good converation? Challenges in Designing Truly Conversational A...
What makes a good converation? Challenges in Designing Truly Conversational A...박 상아
 

More from 박 상아 (7)

Designing Effective Interview Chatbots: Automatic Chatbot Profiling and Desig...
Designing Effective Interview Chatbots: Automatic Chatbot Profiling and Desig...Designing Effective Interview Chatbots: Automatic Chatbot Profiling and Desig...
Designing Effective Interview Chatbots: Automatic Chatbot Profiling and Desig...
 
Response Quality & BlahBlahbot
Response Quality  &  BlahBlahbotResponse Quality  &  BlahBlahbot
Response Quality & BlahBlahbot
 
Learning from dialogue after deployment feed yourself, chatbot
Learning from dialogue after deployment  feed yourself, chatbotLearning from dialogue after deployment  feed yourself, chatbot
Learning from dialogue after deployment feed yourself, chatbot
 
Why people use chatbot
Why people use chatbotWhy people use chatbot
Why people use chatbot
 
Developing a Personality Model for Speech-based Conversational Agents Using t...
Developing a Personality Model for Speech-based Conversational Agents Using t...Developing a Personality Model for Speech-based Conversational Agents Using t...
Developing a Personality Model for Speech-based Conversational Agents Using t...
 
Voice Tonality & Voice Assistant Personalities in Automotive UI
Voice Tonality & Voice Assistant Personalities in Automotive UIVoice Tonality & Voice Assistant Personalities in Automotive UI
Voice Tonality & Voice Assistant Personalities in Automotive UI
 
What makes a good converation? Challenges in Designing Truly Conversational A...
What makes a good converation? Challenges in Designing Truly Conversational A...What makes a good converation? Challenges in Designing Truly Conversational A...
What makes a good converation? Challenges in Designing Truly Conversational A...
 

Analyzing Mobile Application Usage: Generating Log Files from Mobile Screen Recordings

  • 1. Analyzing Mobile Application Usage: Generating Log Files from Mobile Screen Recordings + MobileHCI 2018 - Philipp Krieter, Andreas Breiter /박상아
  • 2. Why This Paper 연구 배경 연구 방법 연구 결과 Discussion·Takeaway 1 2 3 4 5 목차
  • 3. 어플리케이션·서비스 사용 데이터를 어떻게 수집하고 분석할 수 있는가? 1. Why This Paper? VUI에서 수집 가능한 로그 중 GUI와 비교해 차별적인 것은 무엇일까? HCI 입문자로서 … ‘스피커 그리드’ 프로젝트 팀원으로서 …
  • 4. 로그 분석 2. 연구 배경 어플리케이션 또는 프레임워크의 로그 파일에 기초함 장기적인 사용자 행동 포착에 유용함 그러나 앱 내에서 무엇을 하는지는 고려할 수 없음 사용자의 행동과 작업 대부분을 이해할 수 있음 소프트웨어와 상호작용하는 방법에 대한 결론 도출 가능 그러나 시간이 오래 걸리기 때문에 단기 평가에서만 가능 화면 녹화 융합적 선행 연구 모바일 사용량 분석 방법 스크린샷과 상호작용(클릭, 터치, 선택 등) 로그를 결합하여 분석 (Kawalek et al.) 컴퓨터 비전을 이용해 영상 녹화에 주석을 자동으로 작성하는 ‘InspectorWidget’ 화면 기록, 음성, GPS, 앱 설치 등의 기록과 사용자의 주석을 함께 분석 (Brown et al.)
  • 5. 로그 분석 2. 연구 배경 어플리케이션 또는 프레임워크의 로그 파일에 기초함 장기적인 사용자 행동 포착에 유용함 그러나 앱 내에서 무엇을 하는지는 고려할 수 없음 사용자의 행동과 작업 대부분을 이해할 수 있음 소프트웨어와 상호작용하는 방법에 대한 결론 도출 가능 그러나 시간이 오래 걸리기 때문에 단기 평가에서만 가능 사용자가 앱과 상호작용하는 방법을 관찰하면서도, 추가 분석을 위한 평균 데이터를 얻을 수 있도록 화면 녹화를 기반으로 로그 파일을 생성 화면 녹화 이 연구에서 제시하는 방법은 모바일 사용량 분석 방법
  • 6. 비디오 수집 및 전처리 > 이벤트 탐지 > 로그 파일 생성의 순서로 흘러간다 3. 연구 방법
  • 7. 3. 연구 방법 화면 녹화 파일을 각 프레임 별로 해석한다 현재 프레임의 픽셀 값과 이전 프레임의 픽셀 값을 비교한다 최대값과 평균 차이값을 임계값과 대조해, 유사성을 계산한다 1 2 3 비디오 수집 및 전처리 > 이벤트 탐지 > 로그 파일 생성 모바일 UI의 경우 고정 영역이 많아, 현재 프레임과 이전 프레임의 픽셀 값에 큰 차이가 없다 따라서 다시 가공할 필요가 없어 전체 공정의 속도가 빨라진다
  • 8. 3. 연구 방법 비디오 수집 및 전처리 > 이벤트 탐지 > 로그 파일 생성 모든 프레임을 사전에 정의된 이벤트와 대조한다 연산 시간을 줄이기 위해 다음의 순서를 따른다 스크린 내 고정된 영역과 고정되지 않은 영역을 비교한 다 고정되지 않은 영역에서 이미지를 탐색한다 고정되지 않은 영역에서 추가적인 문자열을 탐색한다 각 프레임은 여러 이벤트를 포함하거나 아무것도 포함하지 않을 수 있다 1 2 3
  • 9. 3. 연구 방법 비디오 수집 및 전처리 > 이벤트 탐지 > 로그 파일 생성 스크린 내 고정된 영역과 고정되지 않은 영역을 비교한다1 지각 해싱(Perceptual Hashing)을 사용하여 고정된 이벤트 영역이 이전 프레임과 동일한지 비교한다 그런데 배경에 변화가 생기는 경우(ex. 홈 버튼을 눌렀을 때)에는 경계 검출(Edge Detection) 후 지각 해싱을 진행한다 모바일 어플리케이션은 고정된 영역이 많기 때문에 데스크탑보다 탐지를 빠르게 진행할 수 있다 지각 해싱: 각 문자열에 부여한 특정 해시 키를 이용해 연산하는 알고리즘 경계 검출: 밝기가 급변하는 영역의 경계선을 찾는 작업
  • 10. 3. 연구 방법 비디오 수집 및 전처리 > 이벤트 탐지 > 로그 파일 생성 고정되지 않은 영역에서 이미지를 탐색한다2 템플릿 매칭: 이미지에서 템플릿 이미지와 유사한 영역을 찾아내는 방법 고정되지 않은 영역에서 나타나는 이미지 요소를 찾기 위해 템플릿 매칭(Template Matching) 알고리즘을 사용한다 이미지에서 템플릿 이미지를 검색하는 것은 시간 비용이 많이 드는 과정인데 에서 이미 많은 이벤트가 제외되었다1
  • 11. 3. 연구 방법 비디오 수집 및 전처리 > 이벤트 탐지 > 로그 파일 생성 고정되지 않은 영역에서 추가적인 문자열을 탐색한다3 광학 문자 판독 장치: 문서에 새겨진 문자를 빛을 이용해 판독하는 장치 광학 문자 판독 장치(Optical Character Reader)을 사용하여 이벤트 정의에 지정된 문자열이 화면에 있는지 비교하거나 화면의 정의된 위치에서 문자열을 로그에 추가한다
  • 12. 이 방법은 유효한가? 영상에서 이벤트를 수작업으로 찾아낸 후, 로그 파일과 비교하여 잘못된 로그를 추적하였다 비디오의 품질과 프레임률을 조작하였다 비디오 내용, 비디오 코덱, 이벤트 정의, 리스트는 통제되었다 3. 연구 방법 두 가지 방식으로 검증했다 1 2 저자 중 한 명의 24시간 모바일 사용(총 68분 분량, 188개의 기록)을 녹화한 다음 …
  • 13. 로그 결과의 신뢰성을 위해, 검증에 사용될 이벤트는 동일하게 정의되었다 “GUI에서 이벤트나 동작을 구별할 수 있는 특징은 무엇인가?”를 기준으로 유사한 이벤트 또는 1초 미만의 매우 짧은 이벤트를 구별해낼 수 있는가를 평가하기 위한 것이다 app-specific 또는 task-specific한 이벤트 다른 이벤트와 병렬적으로 일어날 수 있는 일반적 UI 이벤트 3. 연구 방법 이 방법은 유효한가?
  • 14. 79,790 프레임에 대해 로그 항목을 작성하였으며, 연속적 프레임의 동일한 결과는 하나의 이벤트로 정의되었다 •전화 및 앱 사용 로그 - 인-앱 이벤트를 성공적으로 기록하였다 (A와 채팅, 스크롤 다운 등) - 여러 어플리케이션의 병렬적 사용이 기록되었다 (왓츠앱 + 키보드 동시 사용 등) 4. 연구 결과
  • 15. 79,790 프레임에 대해 로그 항목을 작성하였으며, 연속적 프레임의 동일한 결과는 하나의 이벤트로 정의되었다 4. 연구 결과 •낮은 품질 비디오의 결과 대개는 원래 비디오와 비슷한 정도로 이벤트를 감지하지 만, 특정 로그 파일에서는 몇 가지 누락이 발생하기도 한다 낮은 품질 비디오가 안정적으로 캡처하기에는 너무 짧은 애니메이션 …
  • 16. 그 외에, •누락된 이벤트가 없었음에도 2,790개의 오류 항목이 생성되었다 ➔ 어플리케이션을 닫거나 전환할 때의 OCR 오류 (예컨대, OCR이 채팅방 머리말에서 이름을 얻으려 할 때 다른 앱으로 전환하면 문자열 추출 불가) •17개의 false-positive한 이벤트가 생성되었다 ➔ 경계 검출이 신뢰성 있게 작동하지 않았다는 방증 4. 연구 결과 79,790 프레임에 대해 로그 항목을 작성하였으며, 연속적 프레임의 동일한 결과는 하나의 이벤트로 정의되었다
  • 17. •이전 연구에서 나아가, 로그 명령 구현 없이 사용자의 인-앱 활동에 대한 통찰력을 제시했다. •템플릿 매칭, 지각 해시 등 비교적 단순한 기법을 사용, 구조화된 GUI의 OCR 분석은 효율적. •낮은 품질과 프레임률 비디오에서도 다양한 이벤트를 성공적으로 감지할 가능성이 있다. •사용자 화면에 나타나는 모든 것이 분석될 수 있으므로, 사용자가 공유 대상을 스스로 통제할 수 있는 방안을 마련해야 한다. 5. Discussion·Takeaway •매우 개인적인 정보가 포함될 것을 우려하여, 검증 단계에서 외부 사람이 아닌 저자의 사용 데이터를 사용하였음. 이 방법론은 사생활 이슈가 큰데 상용화될 수 있을까? •GUI의 화면 녹화는 VUI의 음성 녹음에 상응할 것. 그런데 음성 녹음은 너무나도 주변적인 정 보까지 수집하므로 화면 녹화보다도 문제가 클 수 있음. VUI로 수집 가능한 데이터는 사용 로 그뿐일까? Discussion Takeaway