翟書穎 李 茹 李文祥
(1.西北工業大學明德學院,陜西 西安 710124;2.西北工業大學計算機學院,陜西 西安 710129)
記憶是人類對思維中的信息內容的儲備與使用過程,對人類的工作、學習、生活有著重要的作用。傳統的單純依靠大腦的記憶方式有著易遺忘、準確程度差等種種不足,已經不能滿足時代的要求,人們需要一種新的記憶手段以更方便快捷的形式來提高生活、學習和辦公效率。
基于標簽的輔助記憶是指將關于一件事情的具體記憶存儲為多媒體文件,然后將記錄的多媒體文件和自己身邊的物體的標簽關聯存儲起來。一段時間過后,如果自己忘記了這件事情,只需要掃描相關的物體標簽,就可以找回表示該記憶的多媒體文件。例如,多數老年人由于一些慢性病的原因每天都需要吃藥,但是經常忘記吃藥的劑量種類。借助此方法,可以把醫囑、每天吃藥的種類劑量等信息和老年人每天吃飯的餐桌關聯,這樣,當老人吃完飯后,只需要掃描餐桌標簽,就可以讀取出自己該吃哪種藥、劑量多少的詳細信息,避免了以前依靠大腦記憶經常造成的忘記吃某種藥或用錯劑量。
基于此,本文所介紹的方法基于移動感知(Mobile Sensing)、物聯網(Internet of Things)[1-3]等技術,為輔助用戶記憶提供了一種新途徑。
2007年,T.Kawamura等人設計了一個基于RFID和可穿戴設備的記憶擴展系統[4]。此系統通過頭部的攝像頭記錄看到事件,然后通過RFID Reader記錄物體標簽,最后將記錄到的內容導入穿戴計算機進行存儲計算處理。在需要的時候通過RFID Reader掃描物體的RFID標簽,搜索計算機,然后通過頭戴式可視設備HMD顯示出來。此系統設計了傳統的基于物體標簽的記憶輔助系統。不足之處是基于可穿戴設備推廣困難。一方面可穿戴計算機、HMD等設備價格高昂,在普通用戶之中完全沒有推廣開來,另一方面用戶不可能隨身攜帶HMD、Wearable camera、Wearable computer等如此巨大龐雜的設備。
現在智能手機的計算能力越來越高,完全可以勝任以前穿戴計算機才能完成的計算任務,越來越多的諸如攝像頭、重力感應器、藍牙、w ifi模塊等設備也完美地集成到了智能手機上。并且普通用戶早已習慣了隨身攜帶手機,使得該系統更容易推廣使用。在此基礎上,郭斌等人首次提出“記憶計算”概念[5],通過移動及可穿戴用戶設備來實現對用戶記憶的捕捉、處理與挖掘。
本軟件功能模塊分為兩部分:Client端和Server端。Client端主要負責完成記憶、回想記憶等功能。Server為Client提供分享功能。軟件設計模式采用經典的MVC模式,以實現軟件的低耦合性、高重用性和可適用性。
總體設計如圖:

圖1 系統整體架構圖
Client端主要包括記錄記憶事件、瀏覽查看記憶和搜索記憶等功能。
界面顯示模塊:用來顯示包括主界面、記憶界面、記憶事件查看、瀏覽本地記錄、通過物體標簽搜索記憶和分享網絡記憶事件。其中記憶事件查看界面可作為本地記錄和網絡記憶的共同界面。
音視頻記錄模塊:對Android原始的拍照、錄音、錄制視頻API進行包裝,提供更簡單的接口以供使用。二維碼識別模塊:利用手機攝像頭完成二維碼的識別。信息持久化模塊:抽象出記憶事件作為類,提供增加、查詢、刪除、修改接口。以本地文件系統作為存儲實現。
文件系統操作工具模塊:對Android文件系統提供包裝,以更簡單的接口提供給外部使用。
網絡接口模塊:提供和Server交互的接口。
存儲模塊:由于需要存儲大量的多媒體文件,數據量會很大,而且文件大小不一,傳統的數據庫不適宜存儲巨大的多媒體文件,因此將媒體數據通過普通的文件系統存儲。
查詢模塊:通過傳入二維碼ID,查詢所有的映射關系,返回所有對應的對象。如果需要查看具體的多媒體文件,可下載多媒體文件查看。
上傳模塊:通過傳入記憶標簽ID、發生時間和文件列表,創建對象,上傳文件列表中的所有文件,持久化此對象。
添加評論模塊:將傳入記憶標簽ID和發生時間作為Key,以及添加新的評論,更新相應的對象。
在手機客戶端上傳自己的記憶之后,其他人就可以通過掃描二維碼下載他上傳的這份記憶信息。此部功能分包括上傳、掃描二維碼下載和對記憶事件進行評論。在實現記憶的分享中,采用Socket通信的TCP協議作為底層協議,在應用層自定義了數據包的格式并實現了格式解析器。通過在數據包頭部加整形數字標示不同的數據包。
上傳信息:Client端上傳記憶信息和這份記憶包括的多媒體文件到Server端。當Server正常接收數據結束,發給Client上傳成功標志。
查找信息:Client端向Server發出二維碼標簽。Server經過查找,返回和此二維碼匹配的記憶事件。
下載文件:Client需要查看一個記憶事件中的多媒體文件時,發送此記憶事件和文件名,Server在收到之后,查找文件,并將文件傳送給Client。
增加評論:當Client需要對一個分享的事件進行評論時,上傳唯一標記此記憶事件的二維碼標簽和時間,和自己添加的評論內容。Server在成功添加評論之后返回Client成功標志。
在Server端,采用線程池來實現同時服務多個客戶端。完整的記憶分享結果如圖2。

圖2 記憶分享網絡
4.1.1 基準性能測試
(1)兼容性測試
本軟件運行在Android平臺上,而Android平臺的開放性導致有了各廠商深度定制的Android分支,因此需要測試軟件對各個Android平臺的兼容性。
(2)軟件的易用性測試
軟件的易用性越來越重要,在手持設備上更是如此,沒有用戶會仔細看程序使用說明文檔。
本軟件的易用性通過從西北工業大學本科生中募集的8個測試對象,通過5分制統計得出軟件的易用性結果。
(3)軟件的電池消耗
手機的屏幕顯示,CPU能耗越來越高,但是相對應的手機電池容量并沒有很大的提高,Android手機更是如此,因此需要測試軟件的電量消耗。
本軟件的電量消耗主要在記錄視頻、音頻、照相部分,因此統計不同的上述部分使用頻率下的電量消耗。
4.1.2 通過二維碼標簽記憶和傳統記憶的比較
記憶通過兩點來比較:(1)回憶起此次記憶需要的時間;(2)回憶起來的記憶準確性。比較二維碼標簽和人的大腦記憶,以及將一個事件通過音視頻記錄下來,通過電腦瀏覽查找這三種方法。
記錄的事件數目10件,以7天為期,測試8名測試對象回憶起來的時間和準確程度。
4.2.1 基準性能測試結果
(1)軟件兼容性測試結果
通過魅族M 9(Android 2.2)、Motorola ME525(Android定制M IUI系統)。魅族是知名的國產手機品牌,Motorola ME525在推出之后立刻成為Motorola手機產品中的銷量第一,M IUI系統是很多人Android刷機的首選,這兩款手機較好地覆蓋了現在的Android市場系統。通過測試這兩款Android系統,軟件完全兼容。
(2)軟件的易用性測試結果

圖3 軟件易用性測試結果圖
由測試結果圖3可看出本軟件的易用性比較好,平均易用性評價得分為3.95分。
(3)軟件的電池消耗測試結果

表1 軟件的電池消耗測試結果表
通過表1可看出,在使用視頻音頻記錄記憶時,有較大的電量消耗。
4.2.2 二維碼標簽記憶和傳統記憶的比較
通過記憶常見的學習、生活和工作中的事件比較準確性和時間,記憶數據設計如表2。學習類包括單詞、歷史時間和文章內容三項。生活類包括做菜菜譜、公交路線、超市購物清單和朋友生日。工作類包括回憶內容、工作計劃和部門劃分。

表2 記憶事件清單表
測試結果如圖4和5所示:

圖4 準確程度比較圖

圖5 查找時間比較圖
由圖4可看出,二維碼標簽記憶和文件存儲有較好的準確程度。由圖5可看出,人回憶和二維碼標簽搜索需要的時間更少。綜合考慮,二維碼標簽搜索比傳統的人大腦記憶和文件存儲具有更好的準確程度和更少的搜索時間。
本文以結合物體標簽和Android平臺,在分析和借鑒已有研究成果的基礎上,重點研究了基于物體標簽的記憶輔助和分享應用設計,并完成了基于物體二維碼標簽的輔助記憶及分享系統的開發。該系統旨在通過物體標簽的方式幫助人們提高日常記憶的準確性和高效性,還可以通過網絡分享自己的記憶給所有人。針對開發的軟件做了詳盡的兼容性、易用性、電量消耗測試,并進行了通過物體標簽記憶和傳統記憶的準確性和回憶時間對比。