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.Ş. burcu.cinaz@provus.com.tr Ö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.