999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于計算機視覺的手勢識別康復系統研究與應用

2021-08-04 08:37:10陳壯煉林曉樂陳銀菊黃秋瑩
計算機測量與控制 2021年7期
關鍵詞:康復

陳壯煉,林曉樂,陳銀菊,黃秋瑩,李 超

(廣東輕工職業技術學院 信息技術學院,廣州 510300)

0 引言

在現實生活中,手部障礙給人們帶來了諸多不便,而且嚴重影響人們的日常生活。隨著科學技術的發展,手部障礙患者的治療方式愈趨于智能化,如基于數據手套的手部遠程虛擬康復系統[1-2]和基于觸覺的虛擬康復系統[3-4]。前者是利用數據手套來控制虛擬場景中小球的拿捏來完成手部的訓練。該虛擬系統雖然一定程度能達到手部康復的目的,但患者在佩戴時會有負重感,容易造成二次傷害,而且數據手套價格較昂貴,不適合普通家庭的使用。后者是利用觸覺系統和虛擬環境結合設計出用戶圖形,患者通過舉起杯子和擠壓球等動作走出“3D迷宮”,完成訓練。該康復系統雖提高了患者訓練的積極性,但虛擬設備價格較高,而且只能訓練某些特定的動作,不具備靈活性。

針對上述手部康復系統的不足,利用計算機視覺技術設計出的手勢識別康復系統兼具靈活、高識別準確率、低成本的特點,并且在訓練過程中能與患者進行動態交互,通過數據庫記錄下訓練過程,有助于醫務人員針對該訓練過程給患者制定合理的康復訓練療程。

1 康復系統結構及原理

1.1 康復系統結構

本文為手部患者設計了較靈活、低成本的康復系統。其系統結構可分為圖像采集、圖像預處理、圖像分類和圖像識別4個部分。系統結構如圖1所示。

圖1 康復系統結構圖

1.2 系統結構原理

該系統采用的Python編輯器是PyCharm,該編輯器的好處是能夠提升編程的速度,提高開發效率。主要利用Anaconda對包進行管理,利用開源視覺庫OpenCV和卷積神經網絡進行圖像處理和分類,sklearn進行模型訓練,PyQt進行GUI界面設計和數據可視化。

1.2.1 圖像采集

采用PC端攝像頭對康復手勢進行拍攝采集,OpenCV會將采集的圖片會分割成多個像素點,形成像素圖,再將圖像保存到文件夾,并給文件命名作為圖像的標簽。

1.2.2 圖像預處理

1)圖像分割:

計算機視覺中的攝像頭采集到的是不同等級的灰度圖像[5],而在很多應用中需要的是純黑或純白的圖像,如卷積神經網絡在進行圖像的特征提取時輸入只由簡單線條、文字組成的圖像,那么在提取的過程就會簡單很多,模型訓練的準確率也會提高。本文采用局部二值化圖像中的自適應閾值二值化算法進行圖像分割[6]。

將攝像頭采集的彩色圖片進行灰度化后,把灰度圖像進行二值化處理。即找到一個閾值,灰度大于這個閾值的區域設置像素為255,灰度小于這個閾值的區域設置像素為0。自適應二值化是針對光影變化較大的圖片,根據圖片的灰度直方圖,得到一個適合該圖像的二值化閾值。灰度直方圖如圖2所示,柱狀形代表灰度直方圖,設法找到一個合適的混合高斯分布,兩個高斯分布相交的灰度值即要選擇的閾值。

本文采用最大類間方差法(OTSU)來計算圖像二值化的自適應閾值,閾值將原圖像分為前景和后景,這里令閾值為T,圖像像素對應的灰度級為f(x,y),經閾值分割后的圖像g(x,y)定義為:

(1)

公式(1)中,1代表前景,0代表后景,即圖像二值化。

當選取最佳閾值時,目標與背景的差別最大,最大類間方差法(OTSU)公式推導如下。

記T為分割閾值,W0為前景點數占圖像比例,U0為前景平均灰度,W1為后景點數占圖像比例,U1為后景平均灰度,則圖像的總平均灰度U為:

U=W0*U0+W1*U1

(2)

前景和后景圖像的方差S為:

S=W0*(U0-U)2+W1*(U1-U)2=

W0*W1*(U0-U1)2

(3)

當方差S最大時,前景和后景的差別最大,此時的灰度是最佳閾值。

2)圖像平滑處理:

圖像平滑處理[7]是計算機視覺中一種相對簡單并且使用頻率較高的圖像處理方式。常用來減少圖像中的噪點和降低圖像的分辨率。一張沒有經過圖像處理的圖像中包含有很多的高頻信息,如噪音和邊界。如果將未經處理的圖像直接進行卷積運算會帶來很多不必要的運算量,使用濾波器可以有效地去除噪音,達到圖像模糊的目的。圖像平滑處理一般有圖像均值平滑濾波,高斯濾波和中值濾波,本文采用的是均值平滑濾波。

均值濾波是一種典型的線性濾波算法,是指在圖像上對目標像素值給出一個濾波模板,該模板包含目標像素周圍的M*N個臨近像素,也就是去掉目標像素本身,再用該模板中目標像素周圍的像素平均值來代替原來像素值。其中M*N的矩陣稱為核,采用核對原始圖像中的像素點進行處理,從而實現圖像去噪,得到結果圖像。均值濾波處理過程如圖3所示。

圖3 均值濾波處理過程

均值濾波處理公式為:

(4)

根據公式(4)對圖3中的區域像素進行均值濾波處理過程為:

((197+25+106+156+159)+(149+40+107+5+71)+(163+198+226+223+156)+(222+37+68+193+157)+(42+72+250+41+75))/25 =125.52

其中,5*5的矩陣為模糊內核。本文使用計算機視覺中的blur()方法實現圖像的平滑處理。

1.2.3 圖像分類

計算機能看到的是一個個像素值,并不能像人類的視覺一樣,可以輕松分辨出圖片里面出現的事物,以及圖片的類別,故計算機需要通過圖像分類來區分圖片。基于計算機視覺的圖像分類方法有樸素貝葉斯分類、K近鄰、支持向量機、決策樹、Boosting、隨機森林和神經網絡。本文采用神經網絡中的卷積神經網絡圖像分類算法[8-9],首先通過PCA技術提取樣本圖像特征與待分類的圖像特征碼,根據特征碼生成輸入項,樣本所屬標簽作為輸出項,將輸入與輸出項送入神經網絡進行訓練,讓神經網絡學習每個類別圖像的特征,最后將待分類圖像的特征碼輸入神經網絡進行測試,根據神經網絡輸出項判斷其所屬類別。

1.2.4 圖像識別

計算機和人的眼睛一樣,都是通過顏色的輪廓來區分圖像,而圖像的顏色由三原色組成的,可以通過調色得到各種顏色。在計算機圖像識別中,制定了RGB(Red,Green,Blue)通道作為圖像識別的基礎。OpenCV中圖像通道有單通道、二通道、三通道和四通道,其中常見通道有單通道和三通道。

一般黑白圖像是用灰度來表示色彩,稱為單通道,例如某個像素值為0則表示黑色,255則表示白色,灰度的范圍為0~255。彩色圖像則采用RGB通道來表示,稱為三通道,例如(255,255,255)表示白色,(0,0,0)表示黑色,灰度也是彩色的一種。二通道的圖像采用RGB555和RGB565表示,一個通道為實數,另一個為虛數。四通道則是采用RGBA來表示,與三通道相比多了一個A通道,A通道表示透明度。本文圖像識別采用的是三通道。

2 康復系統設計與實現

2.1 康復系統的工作流程

康復系統設計主要分為幾個步驟:1)樣本采集:首先在界面的綠色識別方框內做出不同的手勢,攝像頭識別到手勢并將手勢進行拍攝保存到文件夾中,再將文件夾命名為對應手勢的名稱作為手勢標簽。2)圖片預處理:將采集到的手勢進行圖像分割,形成灰度圖像,以免復雜背景影響訓練的準確度,再將圖像進行均值濾波處理,減少圖像的噪聲。3)神經網絡訓練:將處理過后的圖像通過卷積、池化和全連接層進行特征提取和分類。4)模型測試:在相應位置做出對應手勢,觀察屏幕是否顯示該手勢的標簽。5)康復訓練:患者通過打開系統進行手部康復訓練,并將對應訓練過程保存到數據庫中。6)康復歷史查詢:通過點擊查詢按鈕,調用數據庫查詢語句,將訓練過程顯示到屏幕上。

2.1.1 樣本采集

為了實現手部康復的訓練,定義并采集了6種手勢,依次是懸垂、二指捏、擊打、柱狀抓握、勾拉、側捏,建立康復手勢數據庫。通過調用cv2.VideoCapture(0)方法打開PC端攝像頭,輸入采集手勢的種類和訓練周期,將采集的手勢保存到geskind目錄下,然后將同種類的手勢放到一個文件夾并為其取標簽名,方便后續對這些手勢圖像進行圖像處理。采集的分別是50歲以上、10到50歲、10歲以下3個年齡段的人群,一共拍攝70組數據,共490張手勢圖片,采集的圖片大小都是306*306,采集條件是室內正常光照,采集手勢對象的男女比例均衡。圖像采集流程如圖4所示。

圖4 圖像采集

以下是進行圖像捕獲關鍵代碼:

global gestname,sample_nums,path,saveimg if(self.is_camera_opened==False):

QMessageBox.warning(self,'警告','未打開攝像頭')

else:

if self.hand_name.text()=="":

gestname=self.hand_example.currentText()

else:

gestname=self.hand_name.text()

sample_nums=self.hand_num.value()

print(gestname+str(sample_nums))

try:

os.makedirs('./geskind/'+gestname)

except OSError as e:

print(gestname + '文件夾已創建')

path ="./geskind/" + gestname + "/"

if gestname =='':

互聯網背景下會計電算化課程改革一方面可以提高人才的理論素質;另一方面可以增強人才的實踐技能。與傳統的會計核算方式相比,會計電算化課程核算的途徑,發生了明顯的變化。會計人才不僅需要充分的了解會計專業的相關知識,同樣需掌握與會計軟件應用情況有關的理論。加強課程改革,是確保教學能夠達到上述效果的基礎,對會計人才理論素質的提高,具有重要價值。從實踐的角度分析,會計電算化對人才計算機操作水平的要求逐漸提高。學生必須不斷的練習,并積極利用網絡資源,方可充分了解當前的會計政策以及核算方式的變化情況。加強課程改革,是確保學生的各項實踐技能,能夠得到充分培養的關鍵。

print("請先輸入一個存放文件夾的名字")

else:

saveimg =True

#循環捕獲圖片

ret,self.frame =self.camera.read()

self.frame =cv2.flip(self.frame,3)

roi =self.binaryMask(self.frame,x0,y0,width,height)

framecount =framecount + 1

為了降低手勢在訓練過程過擬合和減少圖片處理時的計算量,需要進行圖片預處理。利用Opencv中的cv2.Imread()方法將圖片加載進來,再通過Numpy的array()方法將圖片進行歸一化,使其能提高模型的收斂速度和精度,然后使用LabelBinarizer()進行二值化處理,將彩色圖像處理成黑白圖像,即二值化灰度圖像,再將二值化灰度圖像用blur()方法進行平滑處理,降低圖像噪聲,最后使用pickle.dump(lb,f)將標簽數據保存為dat文件,方便模型訓練和手勢識別,具體流程如圖5所示。

圖5 圖像預處理流程

2.1.3 神經網絡訓練

該手部康復系統的神經網絡結構包含5個卷積層,3個池化層和兩個全連接層。其中5個卷積層的卷積核尺寸大小都一樣,卷積核個數分別是32,64,64,128,128,而且都是采用全零填充和Relu激活函數。3個池化層采用的是2*2大小,步長為2的最大池化操作。在全連接層之前該系統采用了Dropout[10]隨機丟棄50%神經元參數,讓這些參數不參與當前訓練而達到了又一次的防止過擬合。最后在輸出層采用Softmax函數對結果進行分類輸出。關鍵代碼如下:

# 神經網絡構建

model =Sequential()

# 第一層卷積和第一層池化

model.add(Conv2D(32,(3,3),padding="same",input_shape=(100,100,3),activation="relu"))

model.add(MaxPooling2D(pool_size=(2,2),strides=(2,2)))

# 第二層卷積

model.add(Conv2D(64,(3,3),padding="same",activation="relu"))

# 第三層卷積和第二層池化

model.add(Conv2D(64,(3,3),padding="same",activation="relu"))

model.add(MaxPooling2D(pool_size=(2,2),strides=(2,2)))

# 第四層卷積

model.add(Conv2D(128,(3,3),padding="same",activation="relu"))

# 第五層卷積和第三層池化

model.add(Conv2D(128,(3,3),padding="same",activation="relu"))

model.add(MaxPooling2D(pool_size=(2,2),strides=(2,2)))

# 全連接層

model.add(Flatten())

model.add(Dense(64,activation="relu"))

# 防止過擬合

model.add(Dropout(0.5))

# 輸出層(用的是多分類的對數損失函數softmax,如果只有兩個手勢,用sigmoid)

model.add(Dense(class_num,activation="softmax"))

2.1.4 模型測試

為了保證模型的準確度,需要對模型的準確度進行測試。首先需要使用pickle.load()加載標簽數據,調用load_model()加載神經網絡,使用inverse_transform()將標準化的數據轉為原始數據,再調用cv2.VideoCapture(0)方法打開Pc端攝像頭,在界面的綠色區域內做出采集過的手勢,調用cv2.putText()將識別到的手勢類型名稱顯示在屏幕上,根據在綠色識別區域作出的手勢與屏幕上顯示的手勢類型名稱是否一致判斷模型的準確度。重復進行模型測試,當模型測試達到高準確度和高穩定性時,就可以把該模型運用到手部康復訓練中。關鍵代碼如下:

#加載標簽

try:

with open(LABEL_NAME,"rb")as f:

lb =pickle.load(f)

#加載神經網絡

model=load_model(MODEL_NAME)

except:

print('沒有'+LABEL_NAME+'和'+MODEL_NAME)

gesture=lb.inverse_transform(prediction)[0]

2.2 康復訓練

手部康復患者首先打開康復訓練程序,若是首次使用的患者可以根據需要錄入各種手勢。非首次使用可以跳過錄入手勢的步驟,設定好康復訓練的組數作為一個療程進行康復訓練,在康復訓練中患者需要根據屏幕上提示的文字信息在界面的綠色區域中做出對應的手勢,完成療程后結束康復訓練。訓練完畢會生成數據錄入數據庫中,患者可點擊歷史查詢按鈕查看歷史康復訓練數據的反饋,根據系統記錄判斷患者的訓練完成程度對訓練計劃做出相應的調整,患者可設定較低組數作為手部的適應性訓練,當患者適應訓練強度后可逐步增加訓練的難度。循序漸進的手部康復訓練,有利于提高患者對康復訓練的信心和加快患者手部的恢復速度。

2.3 實驗結果分析

通過攝像頭拍攝的各種手勢圖像一般都是RGB圖像,該系統使用了OpenCV技術把輸入的RGB圖像數據經過預處理轉化為灰度圖像,同時也采用歸一化提升手勢識別康復系統模型的收斂速度和精度。該手部康復系統的神經網絡結構包含5個卷積層,3個池化層和兩個全連接層。經過5個僅取圖像數據局部特征的卷積層,有效地減少了圖片的長度和寬度,減少了特征權值的數量。3個一樣的池化層不斷地降低了維數,通過降采樣的方式,在不影響我們的特征圖像質量的情況之下壓縮圖片,從而達到了減少網絡中的參數和計算次數,縮短了訓練時間等目的,也很好地控制了過度擬合情況的發生。最后在全連接層之前該系統也采用了Dropout隨機丟棄50%神經元參數,讓這些參數不參與當前訓練而達到了又一次的防止過擬合。其中第一個全連接層也使用了拉直層。由于手勢識別康復過程中需要訓練的手勢往往是兩個以上的,所以輸出層用的是輸出值概率總和始終為1的多分類的對數損失函數Softmax函數。該系統的訓練過程中是用總樣本的20%為測試數據,剩下的80%為訓練數據。最終的訓練的準確率可以達到96%以上。

該系統不僅使用了計算機視覺技術,卷積神經網絡也應用在其中,使訓練模型的準確度不斷提高。整個康復系統也采用PyQt5設計GUI界面,實現了可視化。以歷史查詢界面為例,用戶通過時間選擇范圍,查看在各階段的手勢恢復數據反饋,如訓練時間,訓練手勢種類,訓練周期等數據可以幫助醫生以及患者查看患者在各個階段的手部恢復情況,便于醫生對恢復程度進行針對性的康復訓練調整。由于計算機視覺對收集手勢的環境背景要求比較高,該康復系統在使用時,最好保證攝像頭開啟時的環境背景足夠單調,這樣更有利于降低周圍環境對識別手勢的干擾,準確識別到手勢,提高訓練使用準確率。

3 結束語

本文設計并實現了基于計算機視覺的手部康復系統,給手部障礙患者提供一個良好的訓練環境并進行有效的康復訓練,提高患者訓練的積極性。系統具有以下點:采用PyQt設計了GUI界面,呈現效果美觀;利用計算機視覺技術與患者進行交互,識別速度和識別準確率較高;患者的訓練過程會保存到數據庫中,可以隨時查看訓練過程并做出相應的訓練調整。

手勢康復訓練是近年來人工智能研究鄰域的熱點,對此我們對該系統如下展望:提高在復雜背景下識別的準確率;通過跟相關醫院合作,根據更專業的醫護知識完善訓練手勢的種類、訓練過程設計等;進一步研究智能決策系統,通過主觀評估結果結合智能決策法,產生康復訓練的初步方案,并將該方法運用到游戲訓練的過程中,通過監控當前游戲訓練中的參數的變化趨勢,以此作為后續訓練方案制定的依據。

猜你喜歡
康復
康復雜志
康復(2023年11期)2023-11-20 07:45:54
康復雜志
康復(2023年14期)2023-11-20 06:04:54
節能技術在呼吸病患者康復中的應用
中老年保健(2021年4期)2021-08-22 07:08:14
歡迎訂閱2021年《護理與康復》雜志
護理與康復(2021年2期)2021-03-05 08:10:44
中風康復急不得 耐心堅持有則守
超聲低頻對人工流產術后康復的影響
腦卒中患者康復之路
特別健康(2018年2期)2018-06-29 06:13:44
肺呼吸康復治療在慢阻肺緩解期患者中的應用探討
殘疾預防康復法制建設滯后
中國衛生(2014年6期)2014-11-10 02:30:50
中醫康復學教學方法探討與實踐
主站蜘蛛池模板: 国产精品三级专区| 狠狠色综合久久狠狠色综合| 国产不卡一级毛片视频| 欧美日韩中文国产va另类| 国产成人精品亚洲日本对白优播| 国产黑丝一区| 国产精品久久久久久久久久98| 国产国语一级毛片在线视频| 久久女人网| 伊人久久精品无码麻豆精品| 在线99视频| 亚洲午夜天堂| 欧美日韩综合网| 国产无码精品在线| 色香蕉网站| 精品一区二区三区无码视频无码| 国产一级毛片yw| 国产成人亚洲综合a∨婷婷| 91精品aⅴ无码中文字字幕蜜桃| 国产亚洲欧美在线视频| 国产迷奸在线看| 思思热在线视频精品| 亚洲精品视频网| 中国国产A一级毛片| 精品无码一区二区三区在线视频| 99热这里只有精品在线观看| 中文国产成人精品久久一| 国产黄在线免费观看| 久久网欧美| AV天堂资源福利在线观看| 青青草91视频| 欧美中文字幕无线码视频| 找国产毛片看| 青青操视频免费观看| 国产免费精彩视频| 国产精品开放后亚洲| 成人毛片免费在线观看| 国产精品自拍露脸视频 | 国产黑丝视频在线观看| 国产欧美日韩免费| 激情爆乳一区二区| 妇女自拍偷自拍亚洲精品| 综合社区亚洲熟妇p| 久久久亚洲色| 波多野结衣一区二区三区四区视频| 日韩毛片免费视频| 欧美日韩免费在线视频| 国产网友愉拍精品| 69免费在线视频| 日韩精品高清自在线| 国产成人一区在线播放| 免费国产高清视频| 亚洲天堂伊人| 国产欧美日本在线观看| 国产精品中文免费福利| 女人18毛片一级毛片在线| 国内a级毛片| 色AV色 综合网站| 精品视频一区在线观看| 免费看久久精品99| 亚洲男人天堂网址| 亚洲视频在线观看免费视频| 国产福利免费视频| 人妻丰满熟妇αv无码| 久久a毛片| 无码一区中文字幕| 久久精品国产精品一区二区| 囯产av无码片毛片一级| 中文成人在线视频| 久久久久国产一区二区| 国产一线在线| 精品自窥自偷在线看| 国产偷国产偷在线高清| av午夜福利一片免费看| 国产亚洲现在一区二区中文| 青草91视频免费观看| 亚洲国产理论片在线播放| 伊人久久福利中文字幕| 国产成人精品在线| 高清无码手机在线观看| 亚洲国产无码有码| 成人免费视频一区|