Sensor Log: Bir Mobil Veri Toplama ve Etiketleme

Transkript

Sensor Log: Bir Mobil Veri Toplama ve Etiketleme
Sensor Log: Bir Mobil Veri Toplama ve Etiketleme
Uygulaması
Sensor Log: A Mobile Data Collection and
Annotation Application
Hasan Faik Alan, Bert Arnrich, Cem Ersoy
Burcu Cinaz
Bilgisayar Mühendisliği Bölümü
Boğaziçi Üniversitesi
{hasan.alan,bert.arnrich,cem.ersoy}@boun.edu.tr
Provus Bilişim Hizmetleri A.Ş.
[email protected]
Özetçe —Algılayıcılar ile donatılmış akıllı telefonlar basit
günlük aktivitelerin (yürüme, merdiven çıkma, vb.) gözlemlenmesi amacı ile kullanılabilmektedir. Algılayıcılardan toplanan
verilerin (ivme, konum, ses, vb.) öğrenme algoritmalarının eğitim
aşamasında kullanılabilmeleri için bir kısmının veya tamamının
etiketlenmesi gerekmektedir. Bu çalışmada, zahmetli ve zaman
alıcı etiketleme sürecini kolaylaştırmak amacı ile Sensor Log adlı
bir mobil veri toplama ve etiketleme uygulaması geliştirilmiştir.
Etiketleme özelliği ve kullanım kolaylığı, geliştirilen uygulamayı
var olan sistemlerden üstün kılmaktadır. Uygulama Android
uygulamaları dağıtım merkezinden indirilebilmektedir.
Anahtar Kelimeler—Activity Recognition, Akıllı Telefon Uygulamaları
Abstract—Smartphones equipped with sensors can be used
for monitoring simple daily activities (e.g., walking, climbing
stairs etc.). The data collected via sensors need to be partially or
completely annotated in order to be used in the training phase
of learning algorithms. In order to ease the time consuming
and burdensome annotation process, a mobile data collection
and annotation application named Sensor Log is developed.
The annotation feature and its ease of use make the developed
application superior to existing systems. The application can be
downloaded from the Android applications distribution platform.
Keywords—Eylem Tanıma, Smartphone Applications
I.
G İR İ Ş
Akıllı telefonların günümüzde yaygınlaşması ve çoğu
aktiviteye dâhil olması, onları gerçek anlamda üstümüzde
taşıdığımız temel veri toplama kaynağı haline getirmiştir.
Akıllı telefonlar içlerine gömülü, gelişmiş algılayıcılar
sayesinde kullanıcıların gerçekleştirdikleri aktiviteler ve içinde
bulundukları bağlamlar hakkında birçok çıkarımda bulunabilmektedirler. Mevcut çalışmalarda kişilerin gerçekleştirdikleri fiziksel aktivitelerin tespiti için en sık kullanılan algılayıcı ivmeölçer olup, sıklıkla tanımlanan aktiviteler arasında
yürüme, koşma, bisiklet kullanma ve motorlu taşıtlar ile seyahat yer almaktadır [1]–[3]. İvmeölçer verilerine ek olarak GPS,
Wi-Fi ve diğer radyo sistemlerinden elde edilen veriler de
c
978-1-4673-5563-6/13/$31.00 2013
IEEE
cihazın hareket hızının belirlenip yürüme, koşma, bisiklet ve
motorlu taşıt ile seyahat benzeri aktivitelerin daha net şekilde
ayırt edilmesi amacı ile kullanılmaktadır [4].
Algılayıcılardan toplanan verilerden, gerçekleştirilen aktivitelerin otomatik bir biçimde çıkarımı, toplanan verilere makine öğrenimi yöntemlerinin uygulanması sayesinde
gerçekleşmektedir. Toplanan veriler içerisinde farklı aktivitelerin ayırt edilebileceği bir düzen bulmak amacı ile
her eyleme ait verinin etiketlenmesi gerekmektedir. Toplanan
verilerin etiketlenmesi zaman alıcı ve zahmetli bir süreçtir.
Bu çalışmada mobil verilerin toplanma ve etiketlenmesini
kolaylaştıran Sensor Log adında bir akıllı telefon uygulaması
geliştirilmiştir. Bölüm 2’de benzer uygulamalar incelenmiştir.
Bölüm 3’te geliştirilen uygulamanın ayrıntıları verilmiştir.
Bölüm 4 ve 5’te geliştirilen uygulama kullanılarak örnek aktivite tanıma ve konum belirleme çalışmaları sunulmuştur. Son
olarak Bölüm 6’da sonuçlar ve gelecek çalışmalar hakkında
bilgi verilmiştir.
II.
İLG İL İ ÇALI ŞMALAR
Aktivite tanıma yöntemlerinin birçoğunda, kullanıcılar bir
gözetmen denetimi altında, kontrollü bir ortamda kendilerine söylenen aktiviteleri geçekleştirmekte ve gözetmen kullanıcıların gerçekleştirdikleri aktiviteleri not etmektedir [5],
[6]. Bu tür çalışmalarda algılayıcılardan toplanan veriler deney
sonrasında, alınan notlar kullanılarak etiketlenmektedir. Ancak bu çözümlerde verilerin etiketlenmesi araştırmacılar için
oldukça zahmetli ve zaman alıcı bir görev olmaktadır.
Toplanan verilerin etiketlenmesinde kullanılan bir diğer
yöntem kamera kayıtlarıdır. Belirli aktiviteleri gerçekleştiren
kişiler kamera ile kayıt altına alınır ve daha sonra kamera
kayıtları etiketleme işlemi için detaylı bir şekilde gözden
geçirilir [7]. Kamera kayıtlarının incelenmesi ve her aktivitenin
etiketlenmesi oldukça zahmetli bir iş olduğundan bazı çalışmalarda, etiketleme işlemi için kitle kaynaklı çözümler kullanılmakta ve farklı kişiler etiketleme işini üstlenebilmektedir
[8]. Ancak kullanıcıların günlük hayatlarındaki aktiviteleri
uzun vadeli olarak takip etmek istediğimizde ise kamera
altyapısını her ortama kurmak mümkün değildir. Harada
ve arkadaşlarının çözümünde ise kullanıcılar gerçekleştirdikleri aktiviteleri ses kayıtları kullanarak etiketlemektedirler
[9]. Kullanıcılardan toplanan “yürüyüş” veya “koşu” benzeri
gerçekleştirilen aktiviteleri tanımlayan kelimeler daha sonra
ses tanıma yöntemleri kullanılarak ilgili aktivite verileri ile
eşleştirilir. Ancak mikrofonun arka planda sürekli açık olması, telefonun pilinin hızlı bir şekilde tükenmesine sebep
olmaktadır. Etiketleme işlemine diğer bir çözüm ise örnekleme
yöntemi (experience sampling method (ESM)) uygulanarak,
kullanıcıların belirli zaman dilimlerinde en son gerçekleştirdikleri aktiviteleri telefonlarına rapor etmeleridir [10].
Veri toplama çalışmalarında en sık kullanılan yöntemlerden
bir tanesi de kullanıcıların gerçekleştirdikleri aktiviteyi gerçekleştirdikleri sırada etiketlemeleridir. Berthold ve arkadaşlarının
kullandıkları veri toplama uygulamasında kullanıcılar geçekleştirmek istedikleri aktiviteyi telefonda gösterilen aktivite
listesinden seçmekte ve aktiviteyi tamamladıktan sonra aktivitenin bittiğini belirtmek için bir butona basmaktadırlar [11].
Benzer şekilde, Kose ve arkadaşları çalışmalarında Activity
Logger adında bir veri toplama aracı geliştirmişlerdir. Ancak önceden tanımlanan ayakta durma, yürüme, koşma ve
oturma aktiviteleri uygulamanın içerisinde sabit olarak tanımlanmış olup, kullanıcılar sistemde yeni aktiviteler tanımlayamamaktadırlar [1]. Kwapisz ve arkadaşlarının geliştirdikleri
veri toplama uygulamasında kullanıcılara gerçekleştirdikleri
aktiviteye isim vererek etiketleme işlemini gerçekleştirmeleri
sağlanmıştır [12].
Buraya kadar bahsedilen veri toplama ve etiketleme
uygulamaları ilgili araştırmacıların araştırma süreçlerinin bir
parçası olarak geliştirilmiş olup, geliştirilen uygulamalara
genel kullanım amacı ile erişim imkânı bulunmamaktadır.
Android uygulamaları dağıtım merkezinden WISDM grubunun
geliştirdiği Actitracker [13] adlı aktivite tanıma uygulamasına
erişilebilir olup, uygulama aynı grup tarafından geliştirilen
WISDM algılayıcı veri toplama altyapısını kullanmaktadır
[14]. Ancak uygulama son kullanıcı odaklı olduğundan, araştırmacılar için gerekli olan ham algılayıcı verilerine erişim
imkânı sunmamaktadır. Bir başka veri toplama çerçevesi olan
Funf Journal, Android işletim sistemine sahip akıllı telefonlardan algılayıcı (ivmeölçer, sıcaklık vb.), işletim sistemi
(çalışan uygulamalar, tarayıcı geçmişi vb.) ve telefon (arama,
mesaj kayıtları vb.) ile ilgili verileri toplayabilmektedir [15].
Veri toplama sıklığı ve süresi ayarlanabilmektedir. Toplanan
veriler CSV dosyası halinde veya SQLite veritabanı olarak
elde edilebilmektedir. Gerekli ayarlar yapılarak akıllı telefonun
toplanan verileri belirtilen sunucuya iletmesi sağlanabilmektedir. Funf Journal adlı uygulamaya Android uygulamaları
dağıtım merkezinden erişilebilmektedir. Ancak açık kaynak
kodlu Funf çerçevesini kullanan bu uygulama da, verileri
etiketleme özelliği sunmamaktadır.
III.
VER İ TOPLAMA VE ET İKETLEME
UYGULAMASI
Bu çalışmada akıllı telefonlar üzerinde yer alan algılayıcılardan veri toplanması ve toplanan verilerin etiketlenmesi işlemlerini kolaylaştırmak amacı ile bir Android telefon uygulaması geliştirilmiştir. Uygulama içerisinde etiketler
tanımlanıp, ilgili aktivitenin çıkarımında kullanılacak algılayıcılar seçilmektedir [Şekil 1-a]. Daha sonra, tanımlanan
etiket uygulamanın ana ekranında bir buton olarak belirmektedir [Şekil 1-b]. Ana ekranda beliren aktivite butonlarından
herhangi biri seçildiğinde, o buton ile ilişkilendirilmiş tüm
(a) Yeni etiket tanımlama ekranı
(b) Ana ekran
Şekil 1: Uygulama ekran görüntüleri
(a) Geçmiş aktivite ekranı
(b) Geçmiş tüm aktivitelerin listelendiği ekran
Şekil 2: Uygulama ekran görüntüleri
algılayıcılar veri toplamaya başlamaktadır. Algılayıcılardan
toplanan verilerin kaydedilmesi işlemi arka planda çalışan
bir servis tarafından gerçekleştirilmektedir. Uygulama veya
telefonun ekranı kapatıldığında dahi eğer seçili bir buton var
ise ilgili algılayıcılar veri toplamaya devam etmektedirler.
Seçilen tüm algılayıcılardan mümkün olan en yüksek veri
toplama hızı ile veri toplanmaktadır. Örneğin Samsung Galaxy
S3 Mini I8190 markalı telefonda ivmeölçer algılayıcısından
100 Hz ile veri toplanmaktadır. Android işletim sisteminin
iş yüküne bağlı olarak sabit bir veri toplama sıklığı garanti
edilememektedir. Ayrıca algılayıcılara özgü kısıtlamalar da
bulunmaktadır. Örneğin GPS verisi, uyduların konumları ve
cihazın bulunduğu konuma bağlı olarak düzenli olmayan zaman aralıkları ile elde edilebilmektedir.
Her bir etiket için toplanan veri adeti geçmiş aktivite
ekranında listelenmektedir [Şekil 2-a]. Toplanan veriler SQLite
veri tabanı üzerinde tutulmaktadır. Geçmiş tüm aktivitelerin
Yürüme
Koşma
Araç
Yürüme
50
16
0
Koşma
0
34
6
Araç
0
0
44
Tablo I: 150 adet 5 saniyelik zaman aralığı için tahmin edilen
aktiviteler gösterilmektedir. Örneğin 16 adet koşma aktivitesi
yanlış bir şekilde yürüme olarak tahmin edilmiştir.
(a) Aktivite tanıma çalışması etiketleri
(b) Konum belirleme çalışması
etiketleri
Şekil 3: Örnek çalışmalara ait ekran görüntüleri
listelendiği ekranda yer alan bir buton ile dışarıdan erişilemeyen dahili depolama alanında tutulan SQLite veri tabanı
harici depolama alanına aktarılmaktadır [Şekil 2-b]. Harici
depolama alanına aktarılan veri tabanı daha sonra telefondan
alınarak içerisindeki algılayıcı verileri üzerinde veri analizi
yapılabilmektedir.
IV.
AKT İV İTE TANIMA ÇALI ŞMASI
Geliştirdiğimiz Sensor Log uygulamasının fizibilite ve
performansını ölçmek için bu bölümde aktivite tanıma ön
çalışması yapılmış ve sonuçlar sunulmuştur.
Sensor Log uygulaması içerisinde “Yürüme”, “Koşma” ve
“Araç ile Seyahat” etiketleri tanımlanmıştır [Şekil 3-a]. Her
bir etiket GPS ve ivmeölçer algılayıcıları ile eşleştirilmiştir.
Aktivite verileri Samsung Galaxy S3 Mini I8190 markalı akıllı
telefon kullanılarak tek bir kişi tarafından toplanmıştır. Yürüme
ve koşma aktiviteleri GPS verisinin sağlıklı bir şekilde toplanabileceği üstü açık üniversite spor sahası koşu parkurunda
gerçekleştirilmiştir [Şekil 4]. Araç ile seyahat aktivitesi otobüs
ile şehir içinde seyahat ederek gerçekleştirilmiştir.
Sensor Log uygulaması, seçilen tüm algılayıcılardan
mümkün olan en yüksek örnekleme sıklığı ile veri toplamaktadır. Gerçekleştirilen örnek bir koşma aktivitesinde, 440
metrelik mesafe, 2 dakika 38 saniyede seyahat edilmiş, 151
GPS ve 15200 adet ivmeölçer verisi toplanmıştır. Aynı parkur
üzerinde gerçekleştirilen örnek bir yürüme aktivitesi ise 4
dakika 25 saniyede tamamlanmış, 258 GPS ve 25246 adet
ivmeölçer verisi toplanmıştır.
Toplanan ivmeölçer verilerinden bu çalışmada faydalanılmamıştır. Toplanan GPS verileri üzerinde ise her 5 saniye için
ortalama hız hesaplanmıştır. İlgili zaman aralığında gerçekleştirilen aktivite, eğer ortalama hız 2 m/s’nin altında ise
yürüme, 2-8 m/s aralığında ise koşma ve 8m/s’den daha fazla
ise araç ile seyahat olarak belirlenmiştir. Tablo I’de 150
adet zaman aralığı için tahmin edilen aktivitelerin tablosu
verilmiştir.
Şekil 4: Üniversite spor sahası koşu parkuru üzerinde toplanan
258 adet GPS verisi
V.
KONUM BEL İRLEME ÇALI ŞMASI
Geliştirilen uygulama aktivite tanıma çalışmaları dışında
algılayıcı verilerinden faydalanılan diğer alanlarda da veri
toplama ve etiketleme amacı ile kullanılabilmektedir. Bu
bölümde, geliştirilen uygulama kullanılarak örnek bir konum
belirleme çalışması sunulmuştur.
Sensor Log uygulaması içerisinde Ofis Masa Pencere, Ofis
Masa Kapı, Ofis Mutfak, Ev Oda, Ev Mutfak ve Süpermarket etiketleri tanımlanmıştır [Şekil 3-b]. Her bir etiket WiFi
algılayıcısı ile ilişkilendirilmiştir. Ofis Masa Pencere ile Ofis
Masa Kapı etiketleri aynı oda içesinde yer alan iki ayrı masayı
tanımlamaktadırlar. Her bir etiket için ilgili konumda beş
dakika boyunca WiFi iletişim noktası verisi (BSSID, RSS, vb.)
toplanmıştır. Bir dakika içerisinde toplamda Ofis Masa Pencere
için 236, Ofis Masa Kapı için 72, Ofis Mutfak için 71, Ev
Oda için 81 ve Süpermarket için 73 adet veri toplanmıştır. Her
konum için toplanan WiFi verilerinden 5 tanesi geliştirilecek
modeli eğitmek, 60 tanesi ise modeli test etmek amacı ile
ayrılmıştır. Eğitim için ayrılan veriler içerisinde 111 adet eşsiz
WiFi iletişim noktası adresi (BSSID) belirlenmiştir. Daha sonra
her bir konum için eşsiz BSSID’lerin bulunup bulunmamasına
göre bit dizileri oluşturulmuştur [Tablo II].
Ofis Masa 1
Ofis Masa 2
Ofis Mutfak
Ev Oda
Ev Mutfak
Süpermarket
BSSID 1
0
1
1
0
0
1
BSSID 2
1
1
1
0
0
1
BSSID 3
1
1
1
0
0
1
....
....
....
....
....
....
....
BSSID 111
1
0
0
0
0
0
Tablo II: 6 adet konum için belirlenen Wi-Fi parmak izleri
Bu bit dizileri her konum için WiFi parmak izi olarak
kullanılmıştır. Her bir konum için ayrılan 60 adet test verisi de
P
(Xi ∧ Yi )
Tb (X, Y ) = Pi
i (Xi ∨ Yi )
[3]
Şekil 5: X ve Y bit dizileri için Tanimato benzerliğinin tanımı
aynı şekilde bit dizilerine dönüştürülmüştür. Test WiFi BSSID
bit dizileri Tanimoto benzerliği kullanılarak her bir konum için
belirlenen parmak izleri ile karşılaştırılmıştır [16]. Her bir test
verisi Şekil 5’de tanımı verilen Tanimato benzerlik değerinin
en yüksek değeri aldığı konum etiketi ile etiketlenmiştir. Tablo
III’de 360 adet test verisi için tahmin tablosu verilmiştir.
K1
60
0
0
0
0
0
Ofis Masa 1 (K1)
Ofis Masa 2 (K2)
Ofis Mutfak (K3)
Ev Oda (K4)
Ev Mutfak (K5)
Süper Market (K6)
K2
0
60
0
0
0
0
K3
0
0
60
0
0
0
K4
0
0
0
54
1
0
K5
0
0
0
6
59
0
K6
0
0
0
0
0
60
Tablo III: Konum tahmin tablosu gösterilmektedir. Örneğin
6 adet Ev Oda konumu yanlış bir şekilde Ev Mutfak olarak
tahmin edilmiştir.
[4]
[5]
[6]
[7]
[8]
[9]
[10]
VI.
SONUÇLAR
Bu çalışmada akıllı telefonlardan veri toplama ve
etiketleme işlemlerini kolaylaştıran bir Android uygulaması
geliştirilmiştir. Uygulama içerisinde etiketler tanımlanarak,
telefonun içerisinde yer alan GPS, WiFi ve ivmeölçer, vb.
sensörler ile ilişkilendirilmektedir. Tanımlanan etiketler uygulamanın ana ekranında bir buton olarak belirmekte ve herhangi bir butona basıldığında ilgili sensörler eş zamanlı olarak
veri toplamaya başlamaktadır. Toplanan veriler SQLite veri
tabanı üzerinde tutulmaktadır. Veri tabanı telefondan alınarak
toplanan veriler üzerinde çalışma yapılabilmektedir.
Geliştirilen uygulama kullanılarak örnek aktivite ve konum
belirleme çalışmaları yapılmıştır. Örnek aktivite tanıma çalışmasında yürüme, koşma ve araç ile seyahat aktiviteleri yalnız
GPS verisi kullanılarak ayırt edilmiştir. Konum belirleme çalışmasında ise WiFi parmak izi oluşturup Tanimoto benzerliği
kullanılarak 6 adet konum birbirinden ayırt edilmiştir.
Android uygulama dağıtım merkezinde yer alan benzer
uygulamalar içerisinde Sensor Log kullanım kolaylığı ve
etiketleme özelliği ile ön plana çıkmaktadır. Uygulamanın şu
anki sürümünde (1.0.4) mobil cihazın sahip olduğu birçok
algılayıcıdan (GPS, WiFi, ivmeölçer, pusula, yakınlık vb.) veri
toplanabilmektedir. Şu anda tüm algılayıcılardan mümkün olan
en yüksek veri toplama sıklığında veri toplanmaktadır. Uygulamanın gelecek sürümlerinde veri toplama sıklığı belirtebilme
özelliği eklenecektir.
K AYNAKÇA
[1]
[2]
Kose, Mustafa, Ozlem Durmaz Incel, and Cem Ersoy. "Online human
activity recognition on smart phones." Workshop on mobile sensing: from
smartphones and wearables to big data (colocated with IPSN). 2012
Siirtola, Pekka, and Juha Röning. "Recognizing human activities userindependently on smartphones based on accelerometer data." IJIMAI 1.5
(2012): 38-45.
[11]
[12]
[13]
[14]
[15]
[16]
Prudêncio, João, Ana Aguiar, and Daniel Lucani. "Physical Activity
Recognition from Smartphone Embedded Sensors." Pattern Recognition
and Image Analysis. Springer Berlin Heidelberg, 2013. 863-872.
Reddy, Sasank, Min Mun, Jeff Burke, Deborah Estrin, Mark Hansen,
and Mani Srivastava. "Using mobile phones to determine transportation
modes." ACM Transactions on Sensor Networks (TOSN) 6, no. 2 (2010):
13.
Krishnan, Narayanan C., Colin Juillard, Dirk Colbry, and Sethuraman
Panchanathan. "Recognition of hand movements using wearable accelerometers." Journal of Ambient Intelligence and Smart Environments
1, no. 2 (2009): 143-155.
Mannini, Andrea, Stephen S. Intille, Mary Rosenberger, Angelo M.
Sabatini, and William Haskell. "Activity recognition using a single
accelerometer placed at the wrist or ankle." Medicine and science in
sports and exercise (2013).
Plotz, Thomas, Chen Chen, Nils Y. Hammerla, and Gregory D. Abowd.
"Automatic Synchronization of Wearable Sensors and Video-Cameras for
Ground Truth Annotation–A Practical Approach." In Wearable Computers (ISWC), 2012 16th International Symposium on, pp. 100-103. IEEE,
2012.
Lasecki, Walter S., Young Chol Song, Henry Kautz, and Jeffrey P.
Bigham. "Real-time crowd labeling for deployable activity recognition."
In Proceedings of the 2013 conference on Computer supported cooperative work, pp. 1203-1212. ACM, 2013.
Harada, Susumu, Jonathan Lester, Kayur Patel, T. Scott Saponas, James
Fogarty, James A. Landay, and Jacob O. Wobbrock. "VoiceLabel: using
speech to label mobile sensor data." In Proceedings of the 10th international conference on Multimodal interfaces, pp. 69-76. ACM, 2008.
Tapia, Emmanuel Munguia, Stephen S. Intille, and Kent Larson. Activity recognition in the home using simple and ubiquitous sensors. Springer
Berlin Heidelberg, 2004.
Berchtold, Martin, Matthias Budde, Dawud Gordon, Hedda Rahel
Schmidtke, and Michael Beigl. "Actiserv: Activity recognition service
for mobile phones." In Wearable Computers (ISWC), 2010 International
Symposium on, pp. 1-8. IEEE, 2010.
Kwapisz, Jennifer R., Gary M. Weiss, and Samuel A. Moore. "Activity
recognition using cell phone accelerometers." ACM SIGKDD Explorations Newsletter 12, no. 2 (2011): 74-82.
Actitracker. https://actitracker.com
Lockhart, Jeffrey W., Gary M. Weiss, Jack C. Xue, Shaun T. Gallagher,
Andrew B. Grosner, and Tony T. Pulickal. "Design considerations for the
WISDM smart phone-based sensor mining architecture." In Proceedings
of the Fifth International Workshop on Knowledge Discovery from
Sensor Data, pp. 25-33. ACM, 2011.
Aharony, Nadav, Wei Pan, Cory Ip, Inas Khayal, and Alex Pentland.
"Social fMRI: Investigating and shaping social mechanisms in the real
world." Pervasive and Mobile Computing 7, no. 6 (2011): 643-659.
Rogers, David J., and Taffee T. Tanimoto. "A computer program for
classifying plants." Science 132, no. 3434 (1960): 1115-1118.