本發明涉及智能終端應用領域,尤其涉及一種仰臥起坐計數方法及裝置及智能終端。
背景技術:
隨著智能手機的普及,基于智能手機平臺的手機應用層出不窮,各種手機應用已經滲透到人們生活的方方面面中。眾所周知,仰臥起坐可以有效鍛煉腹肌、胸肌,基本不受時間、地點的限制。于是,手機應用市場出現了許多方便的智能軟件能夠記錄人們平時鍛煉身體時做的仰臥起坐次數,并提醒和促使他們勤加鍛煉。
目前,現有的一些手機平臺上的用于對仰臥起坐計數的軟件主要是基于以下兩種技術:接觸屏技術和近距離傳感器技術。
對于采用觸摸屏技術,雖然這樣的實現會比較簡單和準確可靠,然而這對做仰臥起坐的人的動作質量就有了一個很高的要求,在做仰臥起坐時,需要用肢體去觸碰手機屏幕的特定地方,計數器才會計數,然而初學者一般來說不能堅持連續做多個標準的仰臥起坐,使用效果不明顯。
對于采用近距離傳感器技術,由于近距離傳感器的工作原理是通過發射短的光脈沖,并測量此光脈沖從發射到被物體發射回來的時間來計算距離,因此實際的近距離傳感器的作用范圍非常小,當做仰臥起坐的速度過快或者附近有障礙物干擾時,近距離傳感器容易發生失靈,從而不能精確計數,這樣的工作效果是不能令人滿意的。
技術實現要素:
為解決上述技術問題,本發明提供一種仰臥起坐計數方法,能夠提供一種實用、可靠的基于智能手機平臺的非接觸式仰臥起坐計數方法,使用戶可在不接觸手機的情況下或者在距離手機較遠的情況下都能實現仰臥起坐的計數。
本發明提供的技術方案如下:
本發明公開了一種仰臥起坐計數方法,包括步驟:S100、獲取被測用戶在做仰臥起坐時的視頻圖像;S200、檢測所述視頻圖像中是否有人側臉與上半身,若有,進行執行下一步;否則,返回步驟S100;S300、獲取所述視頻圖像中人側臉與上半身的輪廓,在所述輪廓中定義一條監測線,該監測線由多個監測點組成;S400、監測所述監測線的運動軌跡,判斷被測用戶是否完成一次仰臥起坐;S500、當判斷完成一個仰臥起坐時,計數器加1。
進一步優選的,所述步驟S200和步驟S300之間還包括步驟:S250、判斷被測用戶做仰臥起坐時人側臉與上身是否超出拍攝界面;若是,返回執行步驟S100;否則,執行下一步。
進一步優選的,所述步驟S400進一步包括步驟:S401、判斷每個監測點的最低坐標與最高坐標之間的高度差是否滿足預設要求;若是,則判斷完成一個仰臥起坐;否則,判斷未完成一次仰臥起坐。
進一步優選的,所述步驟S400進一步包括步驟:S402、判斷每個監測點的最低坐標與最高坐標之間的高度差是否滿足預設要求;若是,進一步根據所述高度差判斷當前仰臥起坐為全起式仰臥起坐或半起式仰臥起坐;否則判斷未完成一次仰臥起坐;所述步驟S500進一步包括步驟:S501、分別對所述全起式仰臥起坐和所述半起式仰臥起坐進行計數。
進一步優選的,還包括步驟:S600、當檢測到暫停指令時,計數暫時中止,計數值固定不變,并等待接收計數指令,以重新開始暫停前的計數。
進一步優選的,還包括步驟:S700、當檢測到清零指令時,計數終止,計數值變為0,并開始新一輪的仰臥起坐計數。
本發明還公開一種仰臥起坐計數裝置,使用上述仰臥起坐計數方法,包括:視頻圖像獲取模塊,用于獲取被測用戶在做仰臥起坐時的視頻圖像;檢測模塊,用于檢測所述視頻圖像中是否有人側臉與上半身;視頻圖像處理模塊,用于獲取所述視頻圖像中人側臉與上半身的輪廓,在所述輪廓中定義一條監測線,該監測線由多個監測點組成;監測模塊,用于監測所述監測線的運動軌跡;判斷模塊,用于根據所述監測線的運動軌跡判斷被測用戶是否完成一次仰臥起坐;計數模塊,用于當判斷完成一個仰臥起坐時,計數加1。
進一步優選的,還包括:暫停模塊,用于當接收用戶的暫停指令時,暫停計數。
進一步優選的,還包括:清零模塊,用于當接收到用戶的清零指令時,將計數值清零。
本發明還公開一種智能終端,其特征在于,包括上述仰臥起坐計數裝置。
與現有技術相比,本發明能夠帶來一下至少一項有益效果:
1、采用了非接觸式的仰臥起坐計數方式,通過攝像頭跟蹤側臉,能有效地避免肢體觸碰屏幕的需要,從而免除了能進行仰臥起坐計數的手機必須是觸屏手機的條件。
2、通過監測人側臉和上半身的運動軌跡來確定仰臥起坐的完成情況,即使用戶做的是不標準的仰臥起坐,但只要監測線的各監測點的最高位置和最低位置的差值達到限定的預設范圍大小,同樣能計數成功,從而能有效減輕用戶做仰臥起坐的困難程度,更具人性化。
3、可以根據監測線的各監測點的最高位置和最低位置的差值盤判斷當前仰臥起坐為全起式仰臥起坐還是半起式仰臥起坐,在仰臥起坐計劃加入完成類型這一評判標準,從而可以制定更完善、更人性化、更高效的仰臥起坐計劃。
附圖說明
下面將以明確易懂的方式,結合附圖說明優選實施方式,對本發明予以進一步說明。
圖1為本發明一種仰臥起坐計數方法的主要步驟示意圖;
圖2為本發明一種仰臥起坐計數方法的完整步驟示意圖;
圖3為本發明一種仰臥起坐計數方法的流程圖;
圖4為本發明一種仰臥起坐計數裝置的主要組成示意圖;
圖5為本發明一種仰臥起坐計數裝置的完整組成示意圖。
附圖標號說明:
100、視頻圖像獲取模塊,200、檢測模塊,300、視頻圖像處理模塊,400、監測模塊,500、判斷模塊,600、計數模塊,700、暫停模塊,800、清零模塊。
具體實施方式
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對照附圖說明本發明的具體實施方式。顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖,并獲得其他的實施方式。
為使圖面簡潔,各圖中只示意性地表示出了與本發明相關的部分,它們并不代表其作為產品的實際結構。另外,以使圖面簡潔便于理解,在有些圖中具有相同結構或功能的部件,僅示意性地繪示了其中的一個,或僅標出了其中的一個。在本文中,“一個”不僅表示“僅此一個”,也可以表示“多于一個”的情形。
圖1為本發明一種仰臥起坐計數方法的主要步驟示意圖,如圖1所示,一種仰臥起坐計數方法,包括步驟:S100、獲取被測用戶在做仰臥起坐時的視頻圖像;S200、檢測所述視頻圖像中是否有人側臉與上半身,若有,進行執行下一步;否則,返回步驟S100;S300、獲取所述視頻圖像中人側臉與上半身的輪廓,在所述輪廓中定義一條監測線,該監測線由多個監測點組成;S400、監測所述監測線的運動軌跡,判斷被測用戶是否完成一次仰臥起坐;S500、當判斷完成一個仰臥起坐時,計數器加1。
具體的,本發明中通過智能終端的攝像頭獲取被測用戶在做仰臥起坐時的視頻圖像。其中,檢測視頻圖像中是否有人的側臉采用的是Viola-Jones人臉檢測算法,而在該算法中,分為訓練階段和檢測階段,在訓練階段,利用自適應增強Adaboost算法,使用大于400個側臉的正樣本和大于1000個側臉的負樣本,訓練得到一個基于局部二值模式LBP特征的級聯人側臉強分類器;在檢測階段,使用訓練得到的級聯人側臉強分類器對手機攝像頭傳送進來的圖像進行檢測,從而得到側臉在視頻圖像中的準確位置。
本發明采用了非接觸式的仰臥起坐計數方式,通過攝像頭跟蹤側臉,能有效地避免肢體觸碰屏幕的需要,從而免除了能進行仰臥起坐計數的手機必須是觸屏手機的條件。
圖2為本發明一種仰臥起坐計數方法的完整步驟示意圖,如圖2所示,一種仰臥起坐計數方法,包括步驟:S100、獲取被測用戶在做仰臥起坐時的視頻圖像;S200、檢測所述視頻圖像中是否有人側臉與上半身,若有,進行執行下一步;否則,返回步驟S100;S250、判斷被測用戶做仰臥起坐時人側臉與上身是否超出拍攝界面;若是,返回執行步驟S100;否則,執行下一步;S300、獲取所述視頻圖像中人側臉與上半身的輪廓,在所述輪廓中定義一條監測線,該監測線由多個監測點組成;S400、監測所述監測線的運動軌跡,判斷被測用戶是否完成一次仰臥起坐;S500、當判斷完成一個仰臥起坐時,計數器加1。
優選的,所述步驟S400進一步包括步驟:S401、判斷每個監測點的最低坐標與最高坐標之間的高度差是否滿足預設要求;若是,則判斷完成一個仰臥起坐;否則,判斷未完成一次仰臥起坐。
具體的,本實施例通過判斷監測點的最低坐標與最高坐標之間的高度差是否滿足預設要求來判斷被測用戶是否完成一個完整的仰臥起坐,在這過程中得到的最高坐標和最低坐標,在實際意義上,正代表了仰臥起坐的某一個監測點的最高位置和最低位置,根據這兩個數據的差值,可得到這個仰臥起坐的運動幅度,從而側面表征了該仰臥起坐的完成質量。
優選的,所述步驟S400進一步包括步驟:S402、判斷每個監測點的最低坐標與最高坐標之間的高度差是否滿足預設要求;若是,進一步根據所述高度差判斷當前仰臥起坐為全起式仰臥起坐或半起式仰臥起坐;否則判斷未完成一次仰臥起坐;所述步驟S500進一步包括步驟:S501、分別對所述全起式仰臥起坐和所述半起式仰臥起坐進行計數。
具體的,本實施例通過對監測點的最低坐標與最高坐標之間的高度差進行進一步的細分,用于表征被測用戶所做仰臥起坐的類型,一般來說,仰臥起坐的類型包括全起式仰臥起坐和半起式仰臥起坐,本發明通過對相應的監測點的最低坐標與最高坐標之間的高度差來進行判斷,在仰臥起坐計劃加入完成類型這一評判標準,從而可以制定更完善、更人性化、更高效的仰臥起坐計劃。
優選的,一種仰臥起坐計數方法還包括步驟:S600、當檢測到暫停指令時,計數暫時中止,計數值固定不變,并等待接收計數指令,以重新開始暫停前的計數。
優選的,一種仰臥起坐計數方法還包括步驟:S700、當檢測到清零指令時,計數終止,計數值變為0,并開始新一輪的仰臥起坐計數。
圖3為本發明一種仰臥起坐計數方法的流程圖。如圖3所示,下面以結合具體實施例對本發明作進一步說明。
31、將智能手機置于被測用戶身體側邊,且智能手機上的攝像頭打開并對準人側臉和上半身,捕獲被測用戶在做仰臥起坐時的視頻圖像。
32、檢測視頻圖像中是否有人側臉與上半身,若有,進行執行下一步;否則,返回步驟31。
33、獲取所述視頻圖像中人側臉與上半身的輪廓,在所述輪廓中定義一條監測線,該監測線由多個監測點組成。
34、監測所述監測線的運動軌跡,判斷被測用戶是否完成一次仰臥起坐;若是,執行下一步;否則,執行步驟36。
35、計數器加1。
36、檢測到暫停指令或清零指令;若是,執行下一步;否則,返回步驟31。
37、當檢測到暫停指令時,計數暫時中止,計數值固定不變,并等待接收計數指令;當檢測到清零指令時,計數終止,計數值變為0,并開始新一輪的仰臥起坐計數。
圖4為本發明一種仰臥起坐計數裝置的主要組成示意圖,如圖4所示,一種仰臥起坐計數裝置,使用上述仰臥起坐計數方法,包括:視頻圖像獲取模塊100,用于獲取被測用戶在做仰臥起坐時的視頻圖像;檢測模塊200,用于檢測所述視頻圖像中是否有人側臉與上半身;視頻圖像處理模塊300,用于獲取所述視頻圖像中人側臉與上半身的輪廓,在所述輪廓中定義一條監測線,該監測線由多個監測點組成;監測模塊400,用于監測所述監測線的運動軌跡;判斷模塊500,用于根據所述監測線的運動軌跡判斷被測用戶是否完成一次仰臥起坐;計數模塊600,用于當判斷完成一個仰臥起坐時,計數加1。
具體的,本實施例中視頻圖像獲取模塊100可以為智能手機的攝像頭。檢測模塊200監測是否有人側臉使用的方法為Viola-Jones人臉檢測算法,而在該算法中,分為訓練階段和檢測階段,在訓練階段,利用自適應增強Adaboost算法,使用大于400個側臉的正樣本和大于1000個側臉的負樣本,訓練得到一個基于局部二值模式LBP特征的級聯人側臉強分類器;在檢測階段,使用訓練得到的級聯人側臉強分類器對手機攝像頭傳送進來的圖像進行檢測,從而得到人側臉在視頻圖像中的準確位置。
具體的,監測模塊400判斷每個監測點的最低坐標與最高坐標之間的高度差是否滿足預設要求;若是,則判斷完成一個仰臥起坐;否則,判斷未完成一次仰臥起坐。優選的,監測模塊400還可以根據所述高度差判斷當前仰臥起坐為全起式仰臥起坐或半起式仰臥起坐。
圖5為本發明一種仰臥起坐計數裝置的完整組成示意圖。作為本發明的一個具體實施例,如圖5所示,一種仰臥起坐計數裝置,還包括:暫停模塊700,用于當接收用戶的暫停指令時,暫停計數。
如圖5所示,優選的,一種仰臥起坐計數裝置,還包括:清零模塊800,用于當接收到用戶的清零指令時,將計數值清零。
本發明還公開一種智能終端,包括上述仰臥起坐計數裝置。
其中智能終端可以是智能手機或平板電腦等智能設備。
需要說明的是,本裝置中各模塊之間的信息交互、執行過程等內容與上述方法實施例基于同一構思,具體內容可參見本發明方法實施例中的敘述,此處不再贅述。
應當說明的是,上述實施例均可根據需要自由組合。以上所述僅是本發明的優選實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護范圍。