iT邦幫忙

2026 iThome 鐵人賽

DAY 13
0

真的開始做之後,還會遇到一個問題:

系統要怎麼知道使用者是真的開始做動作,而不是只是稍微動了一下?

假設使用者側躺準備做蚌殼式,膝蓋可能會因為調整姿勢、呼吸,甚至只是身體晃動,而產生一點位置變化。

如果系統只要偵測到膝蓋移動,就直接判定「動作開始」,很容易出現誤判。

所以不能只看「有沒有動」,而是要設定一個基本條件。

例如可以先記錄使用者在起始姿勢時,上側膝蓋的位置或相關角度。

只有當膝蓋離開起始位置超過一定範圍時,系統才把狀態從:

READY

切換成:

OPENING

這個概念很像設定一個「門檻值」。

小幅度的晃動可以先忽略,只有真的超過門檻,才認為使用者開始進行動作。

同樣的概念也可以用在動作結束。

當膝蓋打開到一定程度之後,系統可以判斷使用者已經到達目標區域。

接著只有當膝蓋再次回到接近起始位置時,才把這一次動作視為完整結束。

也就是:

離開起始範圍 → 開始動作
到達目標範圍 → 確認有完成打開
重新回到起始範圍 → 完成一次

這樣可以避免幾種情況:

膝蓋只動一點點就被算一次
在最高點小幅晃動時被重複計數
還沒回到起始位置就直接開始算下一次

另外,我覺得這裡還有一個很重要的地方:

「開始門檻」和「回到起始位置的門檻」不一定要完全相同。

如果兩個條件設得太接近,當數值在邊界附近晃動時,系統可能會一直在「開始」和「停止」之間切換。

所以實際設計時,也可以讓兩個範圍稍微錯開,讓狀態判斷更穩定。

從這裡開始,系統已經不只是看單一張畫面,而是開始記住:

上一個時間點使用者正在做什麼。

也就是說,要判斷一個完整動作,不只需要人體姿勢,還需要「時間上的連續變化」。


上一篇
一個蚌殼式,其實可以拆成幾個階段?
下一篇
系統怎麼知道使用者是真的開始做,而不是只是稍微動了一下?
系列文
基於人體姿態估測與個人化代償分析之居家復健動作輔助系統17
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言