?

基于微信小程序云開發的牙齒健康檢測系統的探索與設計

2024-04-16 03:25劉漢奕黃俊聞黃映欣謝夢怡葉嘉欣
電子制作 2024年6期
關鍵詞:牙齒卷積程序

劉漢奕,黃俊聞,黃映欣,謝夢怡,葉嘉欣

(廣東東軟學院,廣東佛山,528225)

0 引言

健康是促進人的全面發展的必然要求,是經濟社會發展的基礎條件。根據黨的十八屆五中全會精神,中共中央、國務院印發《“健康中國 2030”規劃綱要》,當前國家在發展過程之中需要構建“大衛生”“大健康”這一新的發展格局,在發展過程中促進優化健康服務、發展健康產業,堅持預防為主、防治結合。并且要求加強口腔衛生,12 歲兒童患齲率控制在25%以內[1]。但是傳統的牙齒健康檢測服務多局限于診所以及醫院,往往需要提前預約或到店取號排隊而消耗大量時間和精力。使用臨床設施以外的環境和納入數字技術是提高對影響兒童的口腔健康狀況的認識的關鍵[2]。隨著移動互聯網的發展,人們更希望能夠隨時隨地自行檢測牙齒狀況。本文就旨在以預防檢測牙齒健康疾病為主以便攜檢測為輔去設計一款簡單易用的牙齒健康檢測小程序來滿足用戶的需求,并能夠用有效的方式提高牙齒健康護理水平,從而減少不必要的醫療費用和痛苦。

1 系統整體設計

該牙齒健康檢測系統主要由硬件設備、云平臺和微信小程序三個部分組成。其中所使用到的云平臺主要包括:新大陸物聯網云平臺,EasyDL 平臺。檢測硬件設備主要是口腔探頭,該設備主要使用安信可最新發布小尺寸的攝像頭模組ESP32-CAM,進行數據采集,支持圖片WiFi 上傳。以微信小程序作為用戶交互的終端。新大陸物聯網云平臺主要負責硬件設施和軟件的接入,通過調用新大陸API,實現對口腔探頭的控制?;诎俣菶asyDL 平臺定制化模型訓練拍攝的口腔進行檢測,牙齒健康檢測系統整體設計如圖1 所示。

圖1 牙齒健康檢測系統整體設計圖

移動檢測設備通過新大陸物聯網云平臺不僅實現和手機進行連接功能使得用戶及管理人員可以通過手機、平板、計算機等信息終端,實時掌握傳感設備數據,并可以手動/自動地調整控制設備,可以清晰靈活地進行拍照檢測,同時檢測設備具備在線采集、無線傳輸、數據分析、決策支持、一體化控制等功能。

用戶通過移動設備在口腔內部移動,檢測到的畫面用戶可以實時觀看并進行拍照后,將要檢查的牙齒圖片傳到后臺。后臺在接收到圖片數據后使用EasyDL 平臺訓練的模型進行圖像分類、物體檢測、圖像分割,將分析的數據返回給后臺,后臺對得到的圖片分析數據后對數據進行相應的處理,如牙齒類型,牙齒狀況,意見等消息連同分析后的圖片一并返回到客戶端。

■1.1 微信小程序

微信小程序是一種在微信平臺內運行的輕量級應用形態,可以在微信中直接運行,無需安裝,實現了“用完即走”的理念和“隨手可用”的理念。如何能夠擁有微信平臺龐大的用戶基數,且能在微信中開發出功能較為齊全的移動端應用,是牙齒健康檢測平臺發展的一個痛點。而微信小程序的出現,為這個問題提供了一種新的解決思路[3]。

微信小程序主要由三部分組成:使用WXML+WXSS作為小程序的界面層,主要用于實現小程序的靜態頁面和樣式,其中WXML 是類似于web 中的HTML 都是標記性語言,WXSS 類似于web 中的CSS 作為樣式語言;使用JavaScript 實現交互和業務邏輯作為小程序的邏輯層;使用JSON 文件作為小程序的配置文件。

同時微信小程序提供云開發的功能,云開發使得終端客戶不需要部署、配置或管理服務器服務,代碼運行所需要的服務器服務皆由云端平臺來提供[4]。

■1.2 EasyDL 平臺

EasyDL 是百度智能云推出的一個深度學習模型訓練和部署平臺。EasyDL 的目標是使開發者能夠更輕松地構建、訓練和部署深度學習模型,特別是在計算機視覺任務上。

目前EasyDL 圖像共支持訓練3 種不同應用場景的模型:圖像分類:識別一張圖中是否是某類物體/狀態/場景??梢宰R別圖片中主體單一的場景。物體檢測:在一張圖包含多個物體的情況下,定制識別出每個物體的位置、數量、名稱??梢宰R別圖片中有多個主體的場景。圖像分割:對比物體檢測,支持用多邊形標注訓練數據,模型可像素級識別目標。適合圖中有多個主體、需識別其位置或輪廓的場景。

同時該平臺能夠提供在醫療專業領域中醫療鏡檢識別:針對醫療檢驗場景中可能存在的正?;虍惓=Y果進行圖片收集,并基于圖片關鍵特征進行標注完成訓練,協助醫生高效完成結果判斷能夠為牙齒健康檢測平臺提供強大的圖像處理和識別功能。

■1.3 新大陸物聯網云平臺

新大陸物聯網云平臺是為連接和管理物聯網設備而設計的云服務平臺,該平臺主要為該牙齒健康檢測項目提供了設備管理、數據存儲、實時數據分析、遠程控制等功能,以支持物聯網應用的開發和部署。使得用戶及管理人員可以通過手機、平板、計算機等信息終端,實時掌握傳感設備數據,及時獲取報警、預警信息,并可以手動/自動地調整控制設備,最終實現使以上管理變得輕松簡單。

■1.4 核心技術

拍照上傳識別口腔問題的核心算法是CNN 算法。卷積神經網絡(Convolutional Neural Networks, CNN)是人工神經網絡中的一個典型代表結構,由 Lecun 在 1989 年提出,該網絡具有局部連接、權值共享、平移等變和池化采樣等特點,已逐漸成為深度學習網絡中用于提取特征的代表性網絡,其主要由卷積層(Convolution)、池化層(Pooling)、全連接層(Fully connected, FC)、非線性單元(Non-linear units)、損失函數(Loss function)等部分組成。在卷積神經網絡結構中,前面若干結構主要由卷積層跟池化層組成。卷積層 作為卷積神經網絡中的重要組成結構,利用若干個遠小于輸入圖像尺寸的卷積核 在空間上進行局部、稀疏運算,可以看成對圖像進行窗口滑動計算的過程,且 基于卷積神經網絡的細粒度圖像識別關鍵技術分析與研究 28卷積核的權值共享,可以有效節約計算量和存儲空間。池化層是對卷積輸出特征 圖下采樣的操作,圖像經過卷積操作后,獲得的特征圖由于維度較高,計算量過大,容易出現過擬合的情況,池化操作可以降低特征圖維度,并減少過擬合情況。利用非線性單元(激活函數)可以實現對線性卷積輸出的非線性映射,提高網絡特征表達的能力,常見的激活函數包括 ReLU、Sigmoid 等,還有一些變種比如 Leaky ReLU、ELU 等,可以針對不同的任務需求選擇不同的激活函數。一般的卷積神經網絡還包含了全連接層,全連接層位于整個卷積神經網絡的最后,用于將學習到的特征向量表示映射到樣本標記空間中去,實現視覺任務的分類或回歸[5]。

2 系統硬件設計

該研究主要的輔助硬件有口腔內窺鏡??谇粌雀Q鏡系統主要由成像系統、照明系統、圖像顯示及處理系統三個部分組成,即根據ESP32-CAM 原理設計。待觀察的牙齒目標通過顯微成像系統成像在圖像傳感器上,在驅動電路的控制下,圖像傳感器完成圖像處理并送入顯示設備進行顯示及存儲。在口腔環境下觀察牙齒需要輔助光源照明整個視場。因此口腔內窺鏡的設計需要完成成像系統和照明系統,硬件設計外觀如圖2 所示。

圖2 外觀3D 模型圖

在技術方面,以下是ESP32-CAM 和攝像頭的幾個關鍵技術:

(1)ESP32 芯 片:ESP32 是一款雙核64 位處理器,集成了WiFi 、藍牙和低功耗技術,適用于物聯網應用。

(2)攝像頭模塊:ESP32-CAM 配備了一款OV2640攝像頭模塊,它具有200 萬像素,支持JPEG 格式圖像壓縮,適用于嵌入式系統和可穿戴設備。

(3)壓縮算法:為了在ESP32-CAM 的內存容量和傳輸帶寬的限制下實現高質量的圖像傳輸,通常使用JPEG 壓縮算法。該算法最大程度地減小了圖像文件的大小,同時保留了足夠的圖像質量。

(4)數據傳輸:ESP32-CAM 可以通過Wi-Fi 或藍牙將圖像數據傳輸到遠程設備或服務器,即傳輸到小程序。對于實時視頻傳輸,通常使用UDP 協議實現流媒體傳輸。

(5)圖像處理:在ESP32-CAM 上執行圖像處理可以用于特定的應用。例如,可以使用OpenCV 庫進行目標檢測和跟蹤、顏色分割、人臉識別等任務。

(6)ESP32-CAM 采用DIP 封裝,直接插上底板即可使用,實現產品的快速生產,為客戶提供高可靠性的連接方式,方便應用于各種物聯網硬件終端場合。體積超小的802.11b/g/n WiFi + BT/BLE SoC 模塊。

3 系統功能分析和實現

牙齒健康檢測系統主要依托微信小程序運行,用戶可以通過微信小程序使用該系統。系統功能主要分為消息管理、用戶管理、設備管理、入駐管理、學習管理、商城管理和其他管理7 個模塊,具體的功能結構如圖3 所示。

圖3 功能結構圖

在設計和實現系統的功能之前,除了需要明確系統的功能需求,還需要設計系統的具體架構。結合第一章系統整體設計設計系統的3 層架構,3 層架構分別為表現層、業務邏輯層和持久層,該系統結構設計如圖4 所示。

圖4 系統結構圖

(1)表現層。表現層主要是指小程序界面,在開發小程序時,主要使用的開發工具是HBuilder X。該工具提供vue 框架方便開發小程序,是當前最便捷的微信小程序開發工具[6],而且開發出來后能夠方便日后夠跨平臺運行。同時在開發小程序時主要使用tuniao-uni 和uni-app 框架。

(2)業務邏輯層。該層主要是指系統的業務功能模塊,根據系統功能設計,系統用戶主要包含用戶,診所/醫院,EasyDL 平臺,新大陸物聯網云平臺。

(3)持久層。持久層主要負責數據和文件資源的存儲。其中文件資源存儲功能是指系統的圖片以及視頻資源的存儲,主要使用微信小程序云開發中的云端SDK 實現;系統數據存儲功能使用小程序原生接口云數據庫、云函數及云端SDK 三者配合實現。

圖5 的左圖為用戶進入微信小程序的主界面,在用戶的頁面中一共分為五個主模塊。其中首頁模塊主要包括:百科、病類、拍照檢測、3D 模擬、社區、購物以及護牙知識模塊。圖5 的右邊兩幅圖為入駐者管理端的主界面,在管理端的主界面中主要由3 個模塊組成。其中在首頁面模塊中,主要包括財政管理、經營管理、訂單管理、活動管理、門店管理、服務管理、預約管理。

圖5 客戶端與管理端主頁面

■3.1 用戶登錄模塊的實現

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

圖6 用戶登錄頁面

■3.2 百科知識模塊的實現

百科知識模塊實現了對牙齒相關內容的全面介紹,包括了牙齒的生理結構、文化典故、象征意義以及疾病類的分析介紹。用戶可以通過該系統獲取對牙齒的深入了解,從而增進對口腔健康的認識,提高對牙齒健康的重視程度,并能夠更好地進行口腔護理和預防措施,最終對用戶的口腔健康產生積極的影響。

■3.3 拍照檢測模塊的實現

在微信小程序中首先利用CNN 算法在海量的牙齒疾病數據集中獲取牙齒圖像,對圖像進行預處理,如縮放、裁剪或灰度化,以適應CNN 模型的輸入要求。然后對特征進行提取,經過卷積層和池化層,提取圖像中的各種特征,例如邊緣、紋理等,這些特征將被用于后續的分類任務。接著構建CNN 模型,包括多個卷積層、激活函數(如ReLU)、池化層和全連接層,這些層將對圖像進行特征學習和分類。緊接著對構建的模型進行訓練,通過反向傳播算法,不斷調整模型參數以最大化預測準確性。通過ESP32-CAM 硬件采集牙齒圖像,并通過JPEG 壓縮算法進行傳輸到微信小程序。然后再將傳輸過來的圖像數據導入到模型當中進行預測,將預測結果返回給微信小程序,供用戶查看和分析,最終得出牙齒情況的預測結果供用戶查看和分析,該功能流程圖如圖7 所示。

圖7 拍照檢測流程圖

具體實現頁面圖如圖8 所示。

圖8 拍照檢測實現圖

■3.4 社區課堂模塊的實現

社區課堂模塊當中,用戶可以通過在社區當中查看別的用戶發的帖子,并且可以在該帖當中進行點贊,留言,收藏等操作。也可以發表自己的帖子,通過審核之后發表,然后給別的用戶看到;并且社區當中還包括了課堂,用戶可以訂閱這些課堂進行學習,課堂當中也進行了分類,如牙齒護理、口腔常識、常見病例和兒童口腔等,該功能子系統的用例圖如圖9 所示。

圖9 社區課堂功能子系統用例圖

■3.5 入駐管理模塊的實現

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

圖10 牙醫入駐流程圖

■3.6 線上預約模塊的實現

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

表1 hospital 醫院表

表2 community 社區表

表3 User 用戶表

圖11 線上預約實現圖

4 數據庫設計

■4.1 數據庫E-R 圖設計

數據庫E-R 圖設計如圖12 所示。

表4 Class 課堂表

表5 Hardware 探頭硬件表

表6 Doctor 入駐醫生表

圖12 數據庫E-R 圖

■4.2 數據庫物理設計

牙齒健康檢測系統的數據庫系統主要存儲三個方面的數據,即硬件設備的信息、用戶和入駐人員的信息和課堂學習信息。本系統采用微信小程序的云數據庫作為后臺數據庫,并建立相關的數據表,從而實現對數據的統一管理。數據庫的主要結構表如表1~ 表6 所示。

5 總語

在本研究當中以基于微信小程序云開發進行一款牙齒健康檢測系統的探索與設計,通過微信小程序、EasyDL 平臺、新大陸物聯網云平臺外加輔助產品的根據ESP32-CAM為設計原理的探頭硬件以及核心算法卷積神經網絡算法實現能夠讓用戶隨時隨地便捷地對牙齒進行檢測,以達到提前預防、實時監測、低成本和省時高效的效果。

在接下來的研究中,本團隊會進一步優化和改進該系統,修改系統功能和增加更多增值服務以提高用戶體驗,獲取更多的數據集,實現更高精度的檢測。并且相信在后續的不斷發展和系統的不斷推廣,它將會得到更廣泛地應用和發展。

猜你喜歡
牙齒卷積程序
基于3D-Winograd的快速卷積算法設計及FPGA實現
從濾波器理解卷積
試論我國未決羈押程序的立法完善
基于傅里葉域卷積表示的目標跟蹤算法
“程序猿”的生活什么樣
可憐的牙齒
英國與歐盟正式啟動“離婚”程序程序
如何保護牙齒?
愛護牙齒要注意的事
創衛暗訪程序有待改進
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合