劉漢奕,黃俊聞,黃映欣,謝夢怡,葉嘉欣
(廣東東軟學(xué)院,廣東佛山,528225)
健康是促進(jìn)人的全面發(fā)展的必然要求,是經(jīng)濟社會發(fā)展的基礎(chǔ)條件。根據(jù)黨的十八屆五中全會精神,中共中央、國務(wù)院印發(fā)《“健康中國 2030”規(guī)劃綱要》,當(dāng)前國家在發(fā)展過程之中需要構(gòu)建“大衛(wèi)生”“大健康”這一新的發(fā)展格局,在發(fā)展過程中促進(jìn)優(yōu)化健康服務(wù)、發(fā)展健康產(chǎn)業(yè),堅持預(yù)防為主、防治結(jié)合。并且要求加強口腔衛(wèi)生,12 歲兒童患齲率控制在25%以內(nèi)[1]。但是傳統(tǒng)的牙齒健康檢測服務(wù)多局限于診所以及醫(yī)院,往往需要提前預(yù)約或到店取號排隊而消耗大量時間和精力。使用臨床設(shè)施以外的環(huán)境和納入數(shù)字技術(shù)是提高對影響兒童的口腔健康狀況的認(rèn)識的關(guān)鍵[2]。隨著移動互聯(lián)網(wǎng)的發(fā)展,人們更希望能夠隨時隨地自行檢測牙齒狀況。本文就旨在以預(yù)防檢測牙齒健康疾病為主以便攜檢測為輔去設(shè)計一款簡單易用的牙齒健康檢測小程序來滿足用戶的需求,并能夠用有效的方式提高牙齒健康護(hù)理水平,從而減少不必要的醫(yī)療費用和痛苦。
該牙齒健康檢測系統(tǒng)主要由硬件設(shè)備、云平臺和微信小程序三個部分組成。其中所使用到的云平臺主要包括:新大陸物聯(lián)網(wǎng)云平臺,EasyDL 平臺。檢測硬件設(shè)備主要是口腔探頭,該設(shè)備主要使用安信可最新發(fā)布小尺寸的攝像頭模組ESP32-CAM,進(jìn)行數(shù)據(jù)采集,支持圖片WiFi 上傳。以微信小程序作為用戶交互的終端。新大陸物聯(lián)網(wǎng)云平臺主要負(fù)責(zé)硬件設(shè)施和軟件的接入,通過調(diào)用新大陸API,實現(xiàn)對口腔探頭的控制。基于百度EasyDL 平臺定制化模型訓(xùn)練拍攝的口腔進(jìn)行檢測,牙齒健康檢測系統(tǒng)整體設(shè)計如圖1 所示。

圖1 牙齒健康檢測系統(tǒng)整體設(shè)計圖
移動檢測設(shè)備通過新大陸物聯(lián)網(wǎng)云平臺不僅實現(xiàn)和手機進(jìn)行連接功能使得用戶及管理人員可以通過手機、平板、計算機等信息終端,實時掌握傳感設(shè)備數(shù)據(jù),并可以手動/自動地調(diào)整控制設(shè)備,可以清晰靈活地進(jìn)行拍照檢測,同時檢測設(shè)備具備在線采集、無線傳輸、數(shù)據(jù)分析、決策支持、一體化控制等功能。
用戶通過移動設(shè)備在口腔內(nèi)部移動,檢測到的畫面用戶可以實時觀看并進(jìn)行拍照后,將要檢查的牙齒圖片傳到后臺。后臺在接收到圖片數(shù)據(jù)后使用EasyDL 平臺訓(xùn)練的模型進(jìn)行圖像分類、物體檢測、圖像分割,將分析的數(shù)據(jù)返回給后臺,后臺對得到的圖片分析數(shù)據(jù)后對數(shù)據(jù)進(jìn)行相應(yīng)的處理,如牙齒類型,牙齒狀況,意見等消息連同分析后的圖片一并返回到客戶端。
微信小程序是一種在微信平臺內(nèi)運行的輕量級應(yīng)用形態(tài),可以在微信中直接運行,無需安裝,實現(xiàn)了“用完即走”的理念和“隨手可用”的理念。如何能夠擁有微信平臺龐大的用戶基數(shù),且能在微信中開發(fā)出功能較為齊全的移動端應(yīng)用,是牙齒健康檢測平臺發(fā)展的一個痛點。而微信小程序的出現(xiàn),為這個問題提供了一種新的解決思路[3]。
微信小程序主要由三部分組成:使用WXML+WXSS作為小程序的界面層,主要用于實現(xiàn)小程序的靜態(tài)頁面和樣式,其中WXML 是類似于web 中的HTML 都是標(biāo)記性語言,WXSS 類似于web 中的CSS 作為樣式語言;使用JavaScript 實現(xiàn)交互和業(yè)務(wù)邏輯作為小程序的邏輯層;使用JSON 文件作為小程序的配置文件。
同時微信小程序提供云開發(fā)的功能,云開發(fā)使得終端客戶不需要部署、配置或管理服務(wù)器服務(wù),代碼運行所需要的服務(wù)器服務(wù)皆由云端平臺來提供[4]。
EasyDL 是百度智能云推出的一個深度學(xué)習(xí)模型訓(xùn)練和部署平臺。EasyDL 的目標(biāo)是使開發(fā)者能夠更輕松地構(gòu)建、訓(xùn)練和部署深度學(xué)習(xí)模型,特別是在計算機視覺任務(wù)上。
目前EasyDL 圖像共支持訓(xùn)練3 種不同應(yīng)用場景的模型:圖像分類:識別一張圖中是否是某類物體/狀態(tài)/場景。可以識別圖片中主體單一的場景。物體檢測:在一張圖包含多個物體的情況下,定制識別出每個物體的位置、數(shù)量、名稱。可以識別圖片中有多個主體的場景。圖像分割:對比物體檢測,支持用多邊形標(biāo)注訓(xùn)練數(shù)據(jù),模型可像素級識別目標(biāo)。適合圖中有多個主體、需識別其位置或輪廓的場景。
同時該平臺能夠提供在醫(yī)療專業(yè)領(lǐng)域中醫(yī)療鏡檢識別:針對醫(yī)療檢驗場景中可能存在的正常或異常結(jié)果進(jìn)行圖片收集,并基于圖片關(guān)鍵特征進(jìn)行標(biāo)注完成訓(xùn)練,協(xié)助醫(yī)生高效完成結(jié)果判斷能夠為牙齒健康檢測平臺提供強大的圖像處理和識別功能。
新大陸物聯(lián)網(wǎng)云平臺是為連接和管理物聯(lián)網(wǎng)設(shè)備而設(shè)計的云服務(wù)平臺,該平臺主要為該牙齒健康檢測項目提供了設(shè)備管理、數(shù)據(jù)存儲、實時數(shù)據(jù)分析、遠(yuǎn)程控制等功能,以支持物聯(lián)網(wǎng)應(yīng)用的開發(fā)和部署。使得用戶及管理人員可以通過手機、平板、計算機等信息終端,實時掌握傳感設(shè)備數(shù)據(jù),及時獲取報警、預(yù)警信息,并可以手動/自動地調(diào)整控制設(shè)備,最終實現(xiàn)使以上管理變得輕松簡單。
拍照上傳識別口腔問題的核心算法是CNN 算法。卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN)是人工神經(jīng)網(wǎng)絡(luò)中的一個典型代表結(jié)構(gòu),由 Lecun 在 1989 年提出,該網(wǎng)絡(luò)具有局部連接、權(quán)值共享、平移等變和池化采樣等特點,已逐漸成為深度學(xué)習(xí)網(wǎng)絡(luò)中用于提取特征的代表性網(wǎng)絡(luò),其主要由卷積層(Convolution)、池化層(Pooling)、全連接層(Fully connected, FC)、非線性單元(Non-linear units)、損失函數(shù)(Loss function)等部分組成。在卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中,前面若干結(jié)構(gòu)主要由卷積層跟池化層組成。卷積層 作為卷積神經(jīng)網(wǎng)絡(luò)中的重要組成結(jié)構(gòu),利用若干個遠(yuǎn)小于輸入圖像尺寸的卷積核 在空間上進(jìn)行局部、稀疏運算,可以看成對圖像進(jìn)行窗口滑動計算的過程,且 基于卷積神經(jīng)網(wǎng)絡(luò)的細(xì)粒度圖像識別關(guān)鍵技術(shù)分析與研究 28卷積核的權(quán)值共享,可以有效節(jié)約計算量和存儲空間。池化層是對卷積輸出特征 圖下采樣的操作,圖像經(jīng)過卷積操作后,獲得的特征圖由于維度較高,計算量過大,容易出現(xiàn)過擬合的情況,池化操作可以降低特征圖維度,并減少過擬合情況。利用非線性單元(激活函數(shù))可以實現(xiàn)對線性卷積輸出的非線性映射,提高網(wǎng)絡(luò)特征表達(dá)的能力,常見的激活函數(shù)包括 ReLU、Sigmoid 等,還有一些變種比如 Leaky ReLU、ELU 等,可以針對不同的任務(wù)需求選擇不同的激活函數(shù)。一般的卷積神經(jīng)網(wǎng)絡(luò)還包含了全連接層,全連接層位于整個卷積神經(jīng)網(wǎng)絡(luò)的最后,用于將學(xué)習(xí)到的特征向量表示映射到樣本標(biāo)記空間中去,實現(xiàn)視覺任務(wù)的分類或回歸[5]。
該研究主要的輔助硬件有口腔內(nèi)窺鏡。口腔內(nèi)窺鏡系統(tǒng)主要由成像系統(tǒng)、照明系統(tǒng)、圖像顯示及處理系統(tǒng)三個部分組成,即根據(jù)ESP32-CAM 原理設(shè)計。待觀察的牙齒目標(biāo)通過顯微成像系統(tǒng)成像在圖像傳感器上,在驅(qū)動電路的控制下,圖像傳感器完成圖像處理并送入顯示設(shè)備進(jìn)行顯示及存儲。在口腔環(huán)境下觀察牙齒需要輔助光源照明整個視場。因此口腔內(nèi)窺鏡的設(shè)計需要完成成像系統(tǒng)和照明系統(tǒng),硬件設(shè)計外觀如圖2 所示。

圖2 外觀3D 模型圖
在技術(shù)方面,以下是ESP32-CAM 和攝像頭的幾個關(guān)鍵技術(shù):
(1)ESP32 芯 片:ESP32 是一款雙核64 位處理器,集成了WiFi 、藍(lán)牙和低功耗技術(shù),適用于物聯(lián)網(wǎng)應(yīng)用。
(2)攝像頭模塊:ESP32-CAM 配備了一款OV2640攝像頭模塊,它具有200 萬像素,支持JPEG 格式圖像壓縮,適用于嵌入式系統(tǒng)和可穿戴設(shè)備。
(3)壓縮算法:為了在ESP32-CAM 的內(nèi)存容量和傳輸帶寬的限制下實現(xiàn)高質(zhì)量的圖像傳輸,通常使用JPEG 壓縮算法。該算法最大程度地減小了圖像文件的大小,同時保留了足夠的圖像質(zhì)量。
(4)數(shù)據(jù)傳輸:ESP32-CAM 可以通過Wi-Fi 或藍(lán)牙將圖像數(shù)據(jù)傳輸?shù)竭h(yuǎn)程設(shè)備或服務(wù)器,即傳輸?shù)叫〕绦颉τ趯崟r視頻傳輸,通常使用UDP 協(xié)議實現(xiàn)流媒體傳輸。
(5)圖像處理:在ESP32-CAM 上執(zhí)行圖像處理可以用于特定的應(yīng)用。例如,可以使用OpenCV 庫進(jìn)行目標(biāo)檢測和跟蹤、顏色分割、人臉識別等任務(wù)。
(6)ESP32-CAM 采用DIP 封裝,直接插上底板即可使用,實現(xiàn)產(chǎn)品的快速生產(chǎn),為客戶提供高可靠性的連接方式,方便應(yīng)用于各種物聯(lián)網(wǎng)硬件終端場合。體積超小的802.11b/g/n WiFi + BT/BLE SoC 模塊。
牙齒健康檢測系統(tǒng)主要依托微信小程序運行,用戶可以通過微信小程序使用該系統(tǒng)。系統(tǒng)功能主要分為消息管理、用戶管理、設(shè)備管理、入駐管理、學(xué)習(xí)管理、商城管理和其他管理7 個模塊,具體的功能結(jié)構(gòu)如圖3 所示。

圖3 功能結(jié)構(gòu)圖
在設(shè)計和實現(xiàn)系統(tǒng)的功能之前,除了需要明確系統(tǒng)的功能需求,還需要設(shè)計系統(tǒng)的具體架構(gòu)。結(jié)合第一章系統(tǒng)整體設(shè)計設(shè)計系統(tǒng)的3 層架構(gòu),3 層架構(gòu)分別為表現(xiàn)層、業(yè)務(wù)邏輯層和持久層,該系統(tǒng)結(jié)構(gòu)設(shè)計如圖4 所示。

圖4 系統(tǒng)結(jié)構(gòu)圖
(1)表現(xiàn)層。表現(xiàn)層主要是指小程序界面,在開發(fā)小程序時,主要使用的開發(fā)工具是HBuilder X。該工具提供vue 框架方便開發(fā)小程序,是當(dāng)前最便捷的微信小程序開發(fā)工具[6],而且開發(fā)出來后能夠方便日后夠跨平臺運行。同時在開發(fā)小程序時主要使用tuniao-uni 和uni-app 框架。
(2)業(yè)務(wù)邏輯層。該層主要是指系統(tǒng)的業(yè)務(wù)功能模塊,根據(jù)系統(tǒng)功能設(shè)計,系統(tǒng)用戶主要包含用戶,診所/醫(yī)院,EasyDL 平臺,新大陸物聯(lián)網(wǎng)云平臺。
(3)持久層。持久層主要負(fù)責(zé)數(shù)據(jù)和文件資源的存儲。其中文件資源存儲功能是指系統(tǒng)的圖片以及視頻資源的存儲,主要使用微信小程序云開發(fā)中的云端SDK 實現(xiàn);系統(tǒng)數(shù)據(jù)存儲功能使用小程序原生接口云數(shù)據(jù)庫、云函數(shù)及云端SDK 三者配合實現(xiàn)。
圖5 的左圖為用戶進(jìn)入微信小程序的主界面,在用戶的頁面中一共分為五個主模塊。其中首頁模塊主要包括:百科、病類、拍照檢測、3D 模擬、社區(qū)、購物以及護(hù)牙知識模塊。圖5 的右邊兩幅圖為入駐者管理端的主界面,在管理端的主界面中主要由3 個模塊組成。其中在首頁面模塊中,主要包括財政管理、經(jīng)營管理、訂單管理、活動管理、門店管理、服務(wù)管理、預(yù)約管理。

圖5 客戶端與管理端主頁面
在用戶點擊“用戶登錄”時,該模塊利用微信自帶的授權(quán)登錄功能實現(xiàn)客戶端和管理端的登錄。在客戶端中,用戶在進(jìn)入小程序的時候,會通過調(diào)用小程序的內(nèi)置api“wx.login”接口,獲取臨時登錄憑證 code,發(fā)送到后臺進(jìn)行登錄憑證校驗,并調(diào)用 getOpenid 云函數(shù),獲取用戶的微信頭像和微信昵稱,并顯示在“我的”頁面上,隨后可對選擇對信息進(jìn)行查看或修改。如果用戶沒有授權(quán)登錄,則調(diào)用內(nèi)置api “wx.getSetting”和“wx.authorize”進(jìn)行判斷用戶是否授權(quán)和彈出授權(quán)窗,該功能的主要流程如圖6 所示。

圖6 用戶登錄頁面
百科知識模塊實現(xiàn)了對牙齒相關(guān)內(nèi)容的全面介紹,包括了牙齒的生理結(jié)構(gòu)、文化典故、象征意義以及疾病類的分析介紹。用戶可以通過該系統(tǒng)獲取對牙齒的深入了解,從而增進(jìn)對口腔健康的認(rèn)識,提高對牙齒健康的重視程度,并能夠更好地進(jìn)行口腔護(hù)理和預(yù)防措施,最終對用戶的口腔健康產(chǎn)生積極的影響。
在微信小程序中首先利用CNN 算法在海量的牙齒疾病數(shù)據(jù)集中獲取牙齒圖像,對圖像進(jìn)行預(yù)處理,如縮放、裁剪或灰度化,以適應(yīng)CNN 模型的輸入要求。然后對特征進(jìn)行提取,經(jīng)過卷積層和池化層,提取圖像中的各種特征,例如邊緣、紋理等,這些特征將被用于后續(xù)的分類任務(wù)。接著構(gòu)建CNN 模型,包括多個卷積層、激活函數(shù)(如ReLU)、池化層和全連接層,這些層將對圖像進(jìn)行特征學(xué)習(xí)和分類。緊接著對構(gòu)建的模型進(jìn)行訓(xùn)練,通過反向傳播算法,不斷調(diào)整模型參數(shù)以最大化預(yù)測準(zhǔn)確性。通過ESP32-CAM 硬件采集牙齒圖像,并通過JPEG 壓縮算法進(jìn)行傳輸?shù)轿⑿判〕绦颉H缓笤賹鬏斶^來的圖像數(shù)據(jù)導(dǎo)入到模型當(dāng)中進(jìn)行預(yù)測,將預(yù)測結(jié)果返回給微信小程序,供用戶查看和分析,最終得出牙齒情況的預(yù)測結(jié)果供用戶查看和分析,該功能流程圖如圖7 所示。

圖7 拍照檢測流程圖
具體實現(xiàn)頁面圖如圖8 所示。

圖8 拍照檢測實現(xiàn)圖
社區(qū)課堂模塊當(dāng)中,用戶可以通過在社區(qū)當(dāng)中查看別的用戶發(fā)的帖子,并且可以在該帖當(dāng)中進(jìn)行點贊,留言,收藏等操作。也可以發(fā)表自己的帖子,通過審核之后發(fā)表,然后給別的用戶看到;并且社區(qū)當(dāng)中還包括了課堂,用戶可以訂閱這些課堂進(jìn)行學(xué)習(xí),課堂當(dāng)中也進(jìn)行了分類,如牙齒護(hù)理、口腔常識、常見病例和兒童口腔等,該功能子系統(tǒng)的用例圖如圖9 所示。

圖9 社區(qū)課堂功能子系統(tǒng)用例圖
牙科醫(yī)生通過入駐該微信小程序,可以讓牙科醫(yī)生通過微信平臺提供牙科服務(wù),方便患者預(yù)約、咨詢,提升醫(yī)療服務(wù)的便捷性和透明度,同時也能夠幫助醫(yī)生更好地管理診所信息和排班安排。對于醫(yī)生來說,這樣的平臺可以幫助他們擴大患者群體,提高診所的知名度,更好地管理預(yù)約和排班,提升工作效率和收入。同時還能夠通過平臺進(jìn)行線上咨詢和診療,節(jié)約時間和成本。對于患者來說,他們可以通過微信平臺方便地預(yù)約牙科醫(yī)生的服務(wù),獲取專業(yè)建議,減少候診時間,提升就醫(yī)體驗。同時還能夠通過平臺了解到醫(yī)生的資質(zhì)和診所的信息,增強就醫(yī)信任感和便利性,該功能模塊的主要流程圖如圖10 所示。

圖10 牙醫(yī)入駐流程圖
用戶在用戶端的主頁面上點擊底部導(dǎo)航欄中的地圖模塊的時候就進(jìn)入到線上預(yù)約的模塊。在線上預(yù)約模塊中,用戶可以通過地圖看到當(dāng)前距離用戶位置一定范圍的診所或醫(yī)院。通過頁面的向上滑動可以看到附近診所或醫(yī)院的具體信息,同時也可以通過搜索框找到自己想要的診所和醫(yī)院然后點擊進(jìn)入進(jìn)行預(yù)約。除了可以在地圖模塊中進(jìn)行預(yù)約也可以在問診的時候直接針對當(dāng)前問診的醫(yī)生發(fā)起預(yù)約,具體實現(xiàn)圖如圖11 所示。

表1 hospital 醫(yī)院表

表2 community 社區(qū)表

表3 User 用戶表

圖11 線上預(yù)約實現(xiàn)圖
數(shù)據(jù)庫E-R 圖設(shè)計如圖12 所示。

表4 Class 課堂表

表5 Hardware 探頭硬件表

表6 Doctor 入駐醫(yī)生表

圖12 數(shù)據(jù)庫E-R 圖
牙齒健康檢測系統(tǒng)的數(shù)據(jù)庫系統(tǒng)主要存儲三個方面的數(shù)據(jù),即硬件設(shè)備的信息、用戶和入駐人員的信息和課堂學(xué)習(xí)信息。本系統(tǒng)采用微信小程序的云數(shù)據(jù)庫作為后臺數(shù)據(jù)庫,并建立相關(guān)的數(shù)據(jù)表,從而實現(xiàn)對數(shù)據(jù)的統(tǒng)一管理。數(shù)據(jù)庫的主要結(jié)構(gòu)表如表1~ 表6 所示。
在本研究當(dāng)中以基于微信小程序云開發(fā)進(jìn)行一款牙齒健康檢測系統(tǒng)的探索與設(shè)計,通過微信小程序、EasyDL 平臺、新大陸物聯(lián)網(wǎng)云平臺外加輔助產(chǎn)品的根據(jù)ESP32-CAM為設(shè)計原理的探頭硬件以及核心算法卷積神經(jīng)網(wǎng)絡(luò)算法實現(xiàn)能夠讓用戶隨時隨地便捷地對牙齒進(jìn)行檢測,以達(dá)到提前預(yù)防、實時監(jiān)測、低成本和省時高效的效果。
在接下來的研究中,本團隊會進(jìn)一步優(yōu)化和改進(jìn)該系統(tǒng),修改系統(tǒng)功能和增加更多增值服務(wù)以提高用戶體驗,獲取更多的數(shù)據(jù)集,實現(xiàn)更高精度的檢測。并且相信在后續(xù)的不斷發(fā)展和系統(tǒng)的不斷推廣,它將會得到更廣泛地應(yīng)用和發(fā)展。