李傳雄 黃育姑 余遠波



關鍵詞:肺活量檢測;用力肺活量;最大攝氧量
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2023)03-0037-03
1 引言
肺活量,是人體重要生命體征之一,是指最大吸氣后盡力呼氣的氣量,與性別、身高、體重、地域等指標相關并存在較大的個體差異。肺活量監測是學生體質測試的必測項目之一,通常需要用肺活量測試儀等電子儀器設備進行肺活量檢測,由于受限于檢測所需的電子儀器設備,不能隨時便捷地檢測了解自己的肺活量。智慧醫療研究建立在計算機科學、生物和醫學等學科基礎上,與其他學科融合發展是智慧醫療研究和發展的方向[1],智能手機正在越來越多地應用于管理人體健康數據,例如對生命體征數據的管理[2]、肺活量計的電子式檢測裝置及用手機軟件對檢測裝置的實時測試值進行調試和記憶[3],使用微信小程序獲取某些傳感器數據實現心電圖[4]信息管理等。近些年,有研究使用智能手機的攝像頭、麥克風等傳感器進行呼氣時的氣流聲檢測并識別出某些疾病,例如通過智能手機攝像頭的肺活量測量[5],麻省理工學院Auto-ID Labs研究小組研發了一個基于語音的新冠肺炎AI檢測工具[6]區分出用戶是否感染了COVID -19,基于特征級聯的肺炎咳嗽聲識別[7],與專業的醫療檢查設備相比,使用智能手機進行檢測使用便捷、準確率也隨著算法改進而不斷提升。
本研究設計“肺”常測微信小程序,其核心功能是肺活量檢測,通過調用手機麥克風獲取音頻進行頻譜分析計算出分貝值,通過模擬肺活量檢測指標FVC計算出用力肺活量、最大攝氧量以及在人群中的百分位,對人們尤其是大學生了解自身肺活量以及在人群中的肺活量水平提供便捷的檢測工具,另外提供人體肺部結構虛擬展示等科普功能。
2 系統分析與設計
2.1 設計目標
“肺”常測微信小程序,作為一款人體肺活量檢測與肺科普小程序,設計目標主要是:1) 肺活量檢測科學、準確性較高,便于用戶了解自身肺活量水平;2) 人機交互界面美觀、使用邏輯清晰。
2.2 技術框架
微信小程序依托微信生態,是一種連接用戶與服務的全新模式,其提供的豐富組件和API,使小程序的開發更加簡單、高效。該小程序的開發基于微信官方提供的MINA 框架,微信云開發數據庫、云存儲及WXS語言等微信小程序原生技術。
2.3 需求分析
精準的肺活量、最大攝氧量等肺功能檢測,應到醫療機構使用專業的檢測設備進行精準的檢測,本研究針對用戶使用智能手機麥克風設備,開發肺活量檢測為核心功能的小程序,通過多次測量得出用戶肺活量在人群中的百分位,了解自身肺活量水平,以及了解人體肺部生理結構和補肺良方這些需求。
用智能手機檢測肺活量,便捷性是其重要的特點,通過多次檢測了解自身肺活量在人群中的百分位,彌補檢測精準度不足的問題。
肺活量檢測為小程序,通過監測用戶呼氣時智能手機的麥克風檢測到氣流聲音分貝值計算出肺活量,據研究表明男大學生最大攝氧量與身高、體重等指標顯著相關[8],并把身高、體重納入肺活量檢測指標進行最大攝氧量的計算。
核心用戶是近期需要準備檢測肺活量的大學生,可以自測了解自身肺活量水平、認識肺生理結構,促進肺活量百分位較低的學生加強運動提高肺活量、增強體質。
2.4 功能設計
“肺”常測微信小程序,主要功能包括:1) 基礎數據,錄入登錄用戶的身高體重等基礎數據;2) 肺活量檢測,監測用戶在智能手機麥克風附近持續吹氣時的聲音分貝并進行頻譜分析與計算;3) 最大攝氧量計算,對男性用戶依據肺活量和許文生氏公式計算體表面積推算最大攝氧量;4) 百分位計算,記錄并對用戶肺活量數據排序,統計得出個人最大肺活量的百分位;5) 肺生理結構展示;6) 授權登錄、養肺經典等功能。系統總體功能模塊,見圖1。
3 系統實現
3.1 算法設計
肺活量檢測算法是本系統的核心算法,算法流程圖見圖2,算法處理后的數據用于最大攝氧量和百分位的計算。
首先,數據初始化,獲取用戶輸入身高、體重,設定計時器變量count等各變量初始值。采集數據,用麥克風錄音功能開始錄音并返回音頻二進制數組。
停止采集后,對音頻二進制數組計算,通過數組長度獲取數組數值累加和,計算音量力度公式得出音量力度強度,再計算出分貝值。
輸出結果,包括肺活量、最大攝氧量和百分位。
3.2 肺活量檢測功能實現
肺活量檢測功能的實現,主要使用微信小程序的錄音設備wx.getRecorderManager()、RecorderManager.onFrameRecorded()等API獲取麥克風權限、錄音、頻譜分析,計算出分貝值、肺活量、最大攝氧量、百分位等。
1) 調用麥克風音頻進行頻譜分析計算出分貝值
首先要申請調用麥克風,獲取麥克風權限組API。關鍵代碼如下:
this.rec = wx.getRecorderManager();
在獲取麥克風權限組API后調用麥克風錄音功能,通過調用函數wx.getRecorderManager()和函數on?FrameRecorded()獲取麥克風音頻,開始錄音并返回音頻二進制數組對象frameBuffer。關鍵代碼如下:
3.3 功能介紹
用戶打開“肺”常測微信小程序,主要有首頁、檢測、我的、養護和挑戰,包括如下主要功能:1) 首頁瀏覽人體肺模型,見圖3,點擊肺模型的某個部位,可以打開肺部分區域結構列表,見圖4,點擊列表中某項肺結構可查看詳細結構圖,見圖5;2) 肺活量檢測首頁,見圖6,授權登錄后點擊“開始”,可以設置“身高體重”,點擊開始檢測,然后檢測當前肺活量、分貝值、最大攝氧量和持續吹氣的時間,見圖7,在距離麥克風約3~5厘米持續呼氣,結束檢測后,把肺活量和最大攝氧量更新進云開發數據庫,對全體用戶的肺活量進行排序,可見到肺活量、最大攝氧量和百分位等檢測報告結果,見圖8,點擊查看更多詳細數據可查看詳細數據。
4 結束語
本文主要介紹“肺”常測微信小程序的設計及實現,該小程序能為用戶提供便捷的肺活量自測,但是由于依據智能手機的麥克風檢測用戶呼氣時的氣流聲音進行頻譜分析得出分貝值計算出肺活量,因此使用者在呼氣時距離麥克風的距離、角度和環境噪音都對檢測結果均有影響,因此適用于通過多次或長期監測了解自身肺活量水平,一定程度上促進用戶了解肺部健康與加強肺活量鍛煉。目前“肺常測”微信小程序已上線運營,下一步將對現有檢測算法檢測的結果與肺活量電子儀器檢測設備的檢測結果做對照實驗,并在此基礎上改進,例如采用年齡、性別、地域等更多肺活量相關指標,改進麥克風聲音采樣分析智能算法,提高肺活量檢測準確率,提供更有效的肺活量檢測工具軟件。