以影像辨識實現仰臥起坐運動之自動鑑測機制
曾清標 衛祖賞 李與唐 高瑞成 崑山科技大學 崑山科技大學 崑山科技大學 崑山科技大學 [email protected] [email protected] [email protected] [email protected]
摘要
本論文提出一種能夠以色彩辨識為基礎之物 體運動軌跡辨識與追蹤處理常式,並且將它應用在 運動體適能的自動鑑測機制,藉以建構自動化的體 適能鑑測系統。經由電腦的輔助演算來鑑測該運動 數量,可取代傳統鑑測人員之主觀評量方式的錯 誤,並且減少鑑測人員的數量。這種自動鑑測系統 可減少錯誤率以及減低人力的使用,使之有效縮短 整體測試時間,也可讓大專院校做體適能鑑測時能 更加方便以及上手,不再受限於人力問題以及場地 或是動作不確實的影響。
從實測結果看來,本論文所提出的方法確實 可以準確的達到自動鑑測的目標,未來將朝向整體 系統設計以及推廣應用上繼續發展。
關鍵字:色彩辨識、影像辨識、運動體適能、自動 鑑測。
1、 研究背景與目的
當社會專注於銀髮族的照護上,卻往往忽略 疾病與運動傷害的年齡層已有逐漸下降的趨勢。一 所學校能夠長久永續經營最主要的來源就是擁有 一群身體健康的師生,而如何宣導達到身心健全的 方法,是值得深入探討的。
近年來,大學生的健康問題層出不窮。據衛 生署報告指出大學生罹患心血管疾病人數增多,且 心肺耐力指數比高中生還低,原因來自於飲食習慣 改變和缺乏運動,可見大學生的生理健康有待改 善。之外,隨著社會的轉變,人類平均壽命延長,
疾病的主要型態也由急性傳染病轉變為慢性病。人 們壽命的延長,是生命量的增加,但是慢性病的纏 身使生活的品質打了折扣。如何使個人能達到長壽 且健康創造及提升生活品質享受健康的人生,是現 代人生涯規劃的重要課題之一,這就有賴於以運動 為基礎之健康促進。當然,要實現這個目標還需一 段很長的時間,然而,必頇跨出的第一步就是運動 體適能的量測與評估。
因此,本論文提出一種能夠以色彩辨識為基 礎之物體運動軌跡辨識與追蹤處理常式,並且將它 應用在運動體適能的自動鑑測機制,藉以建構自動 化的體適能鑑測系統。以 CCD 攝影機的影像距離 來鑑測受測者在一定時間內所做的仰臥起坐 數 量,並且演算判定達到所設定標準仰臥起坐的數量 和觀看運動的軌跡圖的差異性,並且提醒受測者所 做的姿勢有無錯誤。
我們採用 C++ Buider6 軟體發展工具來開發
這套運動體適能鑑測機制的人機介面系統與影像 處理程式。藉由 CCD 攝影機來鑑測並使用所開發 完成的演算法來追蹤在受測者身上所放置的設定 目標,並且把所測到的資料經由影像處理程式分 析,顯示在人機介面上,讓使用者能更清楚瞭解所 需資訊以及目標移動的軌跡,藉以提示與標準動作 是否有所差異,讓受測者瞭解自身之運動動作的錯 誤,並且能夠即時改進。另外,也設計一倒數功用,
讓使用者能夠方便對時間的控制。
本文設計一簡潔且具有多功能的人機介面系 統 做 為 發 展 方 向 , 所 設 計 的 人 機 介 面 為 C++
Buider6採取的是物件導向的型式,比一般艱深的 visual c++容易上手也兼具多方面vcl的使用與應用 發展,而經由在市面上的搜尋及觀察了解有許多類 似的偵測器系統例如:紅外線監測、超音波監測等 等,因此本系統人機介面所採用的是影像辨識區分 及追蹤計數技術,就影像辨識這方面做深入的研究 和探討,並設計成一套平臺供測試者使用以及讓使 用者使用與發展,人機介面搭配著CCD攝影機,藉 由影像擷取卡取出指定畫面顯示在介面上,經由程 式的演算處理,搭配著受測者上所設定的目標,經 由程式演算後鎖定目標顏色,並且追蹤此目標接著 繪畫出所設定目標的運動軌跡,並把運動移動軌跡 顯示在所設定顯示的圖面上,經由程式的搭配演算 即可把所做之體適能動作計算出數量,達到自動鑒 測的功用,也可降低冗長的人工測試時間,並可有 效降低人力資源避免造成人力的浪費。
2、 系統架構與指定動作
3-1 指定動作攝影機啟動時受測者必頇在指定範圍內,參 考(圖1)所示,經由攝影機擷取到影像回饋到影像 擷取卡裡,再經由本設計系統取出並在介面上顯示 並由程式做演算及處理。(圖2)所示為當目標在所 規定特定範圍時。而主要測試為仰臥起坐,將會要 求受測者做以下動作:(一)受測者屈身上起手肘碰 膝後恢復平躺肩部觸地之動做為標準動作。(二)屈 身上起雙(單)手離開臉部不計次。(三)臀部離開地 面不計次。(四)肩膀未碰觸地面不計次。(伍)所設 定之目標顏色必頇滿足一、四項要求所設定之計數 才計數乙次,若違規定者則不計數
3-2系統架構
首先偵測出輸入影像指定範圍,並使用所設 定的5大影像處理,把處理過後的影像經由追蹤程
式若符合所設定演算則計數乙次,在此時開始繪畫 軌跡介面使得可觀察運動軌跡的圖面,來查覺運動 的正確性。本文所採用的系統架構如(圖3)所示
圖1.指定範圍
圖2.目標進入範圍區時
圖 3.系統流程圖
3、 影像追蹤與處理
當影像在介面顯示時將會經由以下 5 種影像 程式處理的方式,
1. YCrCb處理:Mattison於其出版物中提起CCIR
601中所定義了YCrCb訊號的表示公式 [2]。
YCrCb訊號中Y訊號代表發光性(Luminance)的 成 份 , Cr 訊 號 與 Cb 訊 號 則 代 表 色 度 (Chrominance)的組成。由於我們所要抓取的 目標顏色和背景色彩有一定的不同所以會讓 程式會有所誤判,所以需要將影像的色彩由 RGB 色彩空間轉換,並且轉換到另外一個空 間,讓設定目標顏色能與背景色彩區隔出來,
而系統C++ Buider6 軟體擷取到的影像規範使 用了YCrCb色彩空間演算較容易也較不易出 錯,所以本系統先行使用把背景與所設定目標 顏色區隔出來。本系統將設定目標為紅色目標 以及綠色目標經由Ycrcb所區隔出來的範圍。
公式(1)為YCrCb色彩模型之轉換公式。
本文使用Ycrcb所呈現的為(圖4)及圖4(a), 可得知經過處理後原圖片剩下所設定的區間 範圍所設定的顏色才能顯示在圖面上。
圖 4.影像擷取
圖4(a).影像使用Ycrcb
2. 灰階對比處理:將經由YCrCb模型處理後的影像 (圖5)交由演算法處理,主要使用目的是增加 圖元之間的亮度差異,以便更容易的觀察以及 處理。在此方法中影像圖元若是大於某一臨界 點,則此圖元將被設為255 (也就是最大值),若 圖元值小於臨界點,此圖元值將被設為0 (也就是最小 值)。公式(2)為轉灰階方程式,
gray(x, y) = 0.3× R(x, y) + 0.3 ×G(x,y) + 0.3 × B(x, y) (2)
從方程式裡
gray
(x,y
)是像素在座標(x, y
)轉換 後的灰階值,而R
(x, y
)、G
(x, y
)、B
(x, y
)則是 像素在(x, y
)的紅、綠、藍的顏色的強度值。圖5.Ycrcb處理
圖 6.Ycrcb 經由灰階處理
3. 低通處理:一般 CCD 所拍攝的影像較容易受到 中高頻影響,本文設定 I[x][y]代表濾波器的 輸入值而 O[x][y]代表輸出值,則對濾波器來 說,輸出和輸入的關係可描述為
O[x][y]=aI[x-1][y-1]+bI[x][y-1]+c I[x+1][y-1]+dI[x-1][y]+eI[x][y]+f I[x+1][y]+gI[x-1][y+1]+hI[x][y+1]+i I[x+1][y+1]
其中矩陣所示
a b c d e f g h i
每個線性濾波器都可以使用一摺積遮罩來敘述,本 文所採用的低通濾波遮罩為(圖 7)因此每個輸出 像素 O[x][y]是 9 個輸入像素的平均值。所以本文 將灰階處理(圖 8)過後的影像,使用低通濾波(圖 9)並把影像處理讓影像之間較為平滑,使得雜訊較 之前未使用低通濾波之影像雜訊有減少現象,而使 用過高通濾波卻不盡理想,高通濾波的輸出像素 O[x][y]為與相同位置的輸入 I[x][y]乘以 9,和其 他 8 個相鄰輸入像素的差。這類的高通濾波器會加 強輸入影像的高頻的部分,就是輸入影像不同像素 的值間的不同程度,然而此方法會保留低頻的部 分。9 個摺積遮罩係數值加起來為 1,若輸入的影 像為 1 常數,也就是每個輸入影像的值皆一樣,則 高通濾波器不會改變輸出影像的像素值。CCD 輸出 影像為低頻沒有高頻的成分,所以高通濾波器並沒
做任何加強動作,但高頻濾波器並不會除去影像低 頻成分,所以 CCD 輸出影像等於輸入影像,但因 高通濾波會將不同像素間的差異擴大,若重複執行 會降低影像品質(圖 10),故而本文不採用高通濾波 器。中通濾波運算(圖 11(b))主要是利用在遮罩裡所 有點素灰度大小排序在中間的灰度值,再將此值值 入新的影像中所對應的點素中,此法不但可以濾掉 影像中突起的高頻雜訊部份,對於影像的邊緣,又 能夠給予適於的保持,而不致於像低通濾波器一樣 把影像的邊緣也破壞掉了,但對於低頻的部份,則 會產生適度的壓抑的效果,可由(圖 11(a))以及(圖 11(b))做對比經由中通濾波後的灰階與尚未處理前 的影像幾乎沒有太大改變,可歸究為 CCD 攝影機 是採取低頻模式,所以中通濾波處理過後無太大變 化,本文將不採用中通濾波做為演算法。經由高通 濾波以及中通濾波處理完後之影像卻都沒有低通 濾波的效能來的好,故而本文將在此採用低通濾波 來處理經由灰階處理後的影像。
圖7.低通所使用摺積 圖8.灰階處理
圖 9.灰階經由低通處理 圖 10.灰階經由高通處理
圖 11(a).灰階處理圖 圖 11(b).灰階經由中通處 理
4. 二值化處理: 將經由低通處理(圖12)後的影
像 經 由 二 值化 處 理 讓其 圖元 呈 現 0 與 1 的區 別,經過二值化處理(圖13)後我們將得到黑與 白的圖元,更能清楚所構成的影像,在此部分 我們把二值化處理(圖13)的界限設定為140,
因過低界線會使影像模糊且顯示的區域過於 低(圖14) (圖15),當本文把界線值提高至140 時能發現區塊明顯且較完整,故而本文將把二 值化處理界線值設定為140。
圖 12.低通處理 圖 13. 二值化處理(140)
圖14.二值化處理(100) 圖15.二值化處理(130)
5. 邊緣處理:將二值化處理(圖16)後的影像經由 最後一關邊緣化處理(圖17),此方法將強化不 同像素間的差異性,可以有效加強影像內物件 的每一個邊緣。由於高通濾波器也可以加強不 同像素間的差異,但是邊緣檢測器與高通濾波 器的最大不同是在於高通濾波器有保留低頻 部分,而邊緣檢測器並沒有。此方法將使用 Laplacian Operator運算所有的九個褶積係數 值加起來為零(圖18)。因此若輸入的影像為一 個常數,則邊緣處理的輸出也會為零,這是因 為一個像數值為固定的影像不會生成任何邊 緣的緣故,故而本文採取邊緣檢測器演算法。
圖16. 二值化處理 圖17.二值化經由邊緣化處理
圖18.摺積遮罩
6. 在圖(19)中我們可以發現,經由以上處理所設 定之目標物有明顯的效能以及作用,但是當距 離超過2公尺時會逐漸模糊(圖19(a)),所以我 們參考[5]就光線對於CCD攝影機取向的精確 度更進一步的實作。本文參考G. L. Foresti 等人提出一種自動偵測安全監視系統,能夠根 據監視的影像,辨識並追蹤所設定之物體,以 發出判別是否正確[4] 。當影像接收進來後經 由第二程式處理後,將開始程式的運作並執行 計算並且追蹤物體方位,然後把物體移動軌跡 畫在顯示幕幕上(圖21)。目標物出現(圖20)在 介面上時將會啟動追蹤系統,會經過程式之演 算算出此範圍區塊的中心點,但是如果範圍值 沒有審慎準確的把背景以及所測之目標物區 隔出來將會導致程式的判別產生錯誤,所以本 文在執行設定之前會優先把與目標物顏色之 相似的物品先行拿掉,以避免追蹤造成誤判。
追蹤計算出中心點之計算式如公式(3)。
圖19.影像處理
圖19(a). 遠距影像
圖20.追蹤十字 圖21.軌跡圖
XCenter=xtotal/count_R_range;
YCenter=ytotal/count_R_range; (3)
5、 實驗討論
本 文 實 驗 環 境 架 設 地 點 為 崑 山 科 技 大 學 (Kun Shan University)保健科技中心中,系統所設 定畫面為320x240 24Bits的bmp影像,所採用的軟 硬體規範如下(表1)所示
表1.環境系統
硬體設備 軟體設備
桌上型主機:
Intel Core i5 影像擷取卡:
PCIe-RTV24(4-CH PCI Express x1 real time video capture board)
攝影機:
NR-5000 室內低速球型線 控 PTZ
開發軟體 C++Builder6 開發系統 Windows XP
本文將在受測者身上分別放置指定目標,一 放在肩膀二放在臀部再藉由演算我們將採取目標 小範圍式追蹤,達到所設定目標時所設計之介面綠 燈將會顯示,並且會顯示次數並把軌跡顯示在介面 上,但如沒達到設定目標介面顯示則會呈現紅色狀 態如(圖22),即是程式會提醒使用者所做的姿勢不 夠標準或是沒有探測到所設定之目標,分別如(圖 23)與(圖24)所示,使用者將可提早改變姿勢和速 度減緩,使得動作姿勢和速度可符合所設定之標 準,在實驗過程中受測者所測試我們發現動作不確 實偵測將會有所誤判,或是速度過於快使得程式演 算的追蹤速度趕不上造成計數遺漏掉,造成實際計 算和所測的計算會有所差異,本系統將採取精確的 演算讓誤差值低於百分之3。
圖22.超出範圍時亮紅燈
圖23.目標開始動作
圖24.目標恢復動作
由本文可以得知從(表2)瞭解大多數的鑒測 準確度都有達到80%以上,而有些是會因為動作之 不確實或是超過所設之範圍值有所誤判。所以每個 人的身高體重皆不相同,因此測知範圍也會有所不 同,所以就這方面來說我們以後將採取依身高做為 主要區別分為3大類別,第1選擇範圍為150(cm)至 165(cm)、第二範圍165(cm)至175 (cm)、第三範圍 175(cm)至185(cm),由此可知各個範圍所設之小範 圍標準將在未來測試準確度之問題。
因此本實驗採取20位大學生男女各10位來進 行資料的採集,首先第一步:先登記身高,第二步:
登記體重,第三步開始記錄2分鐘所能做的次數在 經過演算把準確值記錄下來如表1所列。
表2、實際鑒測結果之相關紀錄
6、結論
就本文所探討的是以CCD攝影機每33微秒取1 張而圖元者是 320x240 搭配本系統所設計之人機 介面再以顏色辨識區分出所設目標的方法是較容 易區分出目標物與背景以及在使用上較為方便,再 者本系統設計一倒數功用(圖25),可以設定應該所 測時間經由時間到了在停止追蹤這樣可以有效準 確掌握時間的規範不至於造成人工計數對於時間 的誤判,我們也比較過市面上所出的紅外線以及超 音波監測就這2款來說,紅外線必頇達到所設定區 塊才會動作且較為不方便以及必頇時常的更動所 設之區塊,而超音波的範圍因是扇形所接收之區域 過大則會造成程式流程的誤判或是因為某些異物 跑進所測空間也會造成嚴重辨別錯誤,而使用本文 所探討之方法可以依照每個人的體態做一定的更 動,不需要複雜的手續即可完成,接著將軌跡圖畫 至介面上也是本文所探討之部分,可即時畫出軌跡 圖讓受測者可以分辨出自身動作是否有所缺失。就 本文所探討的追蹤以及畫出軌跡圖辨別,是以方便 以及高效能為主,但也有需要克服的地方例如:
(1) 光線的採集度會影響CCD攝影機抓取影像的 問題過於暗或是過於亮所採集到的資料也較 不精准,雖然如此但是本系統有設定一即時 更動辦別物之設定,給使用者能依照光線的 強弱來變動所需之範圍值(圖26)
(2) 受測者監測速率的問題,當速率過於快時會 造成追蹤演算有跟不上的缺點,造成所監測 的數量會有遺失,所以本系統把所設定的範 圍數值加大及採取多工處理,這樣能避免因 受測者速率過快造成有所遺漏。
所以未來我們將會把此系統推廣到各大專院 校,以方便又有效率的方法取代傳統是人工計數以
及場地的問題,以減少時間的浪費和人力的多餘。
圖25.計時計數
圖 26.調整光源範圍 致謝
本論文得以順利完成,特別感謝國科會在研究 經費的補助,計畫編號NSC 99-2221-E-168-011。
REFERENCES
[1] 黃文吉,C++ Builder 與影像處理,儒林圖書 公司,2005,台北。
[2] D. Chai and K.N. Nagan, “Face segmentation using skin- color map in videophone applications,” IEEE Proc. On Circuits and
System for Video Technology, vol. 9, pp.551-564,
1999.[3] D. Chai and K.N. Nagan, “Face segmentation using skin- color map in videophone applications,” IEEE Proc. On Circuits and
System for Video Technology, vol. 9, pp.551-564,
1999.[4] G. L. Foresti, L. Marcenaro, and C. S. Regazzoni,
“Automatic detection and indexing of video-event shots for surveillance applications,”
IEEE Trans. Multimedia,
vol.4, issue.4, pp.459-471, Dec. 2002.[5] Hsu, R. L., A. M. Mohamed and A. K. Jain (2002) Face detection in color image. IEEE