TW202326509A - 人體偵測方法、人體偵測裝置及電腦可讀儲存媒體 - Google Patents
人體偵測方法、人體偵測裝置及電腦可讀儲存媒體 Download PDFInfo
- Publication number
- TW202326509A TW202326509A TW110148854A TW110148854A TW202326509A TW 202326509 A TW202326509 A TW 202326509A TW 110148854 A TW110148854 A TW 110148854A TW 110148854 A TW110148854 A TW 110148854A TW 202326509 A TW202326509 A TW 202326509A
- Authority
- TW
- Taiwan
- Prior art keywords
- human body
- joint
- specific
- joint point
- image frames
- Prior art date
Links
Images
Landscapes
- Length Measuring Devices By Optical Means (AREA)
- Geophysics And Detection Of Objects (AREA)
Abstract
本發明提供一種人體偵測方法、人體偵測裝置及電腦可讀儲存媒體。所述方法包括:取得關聯於人體的多個影像幀;在各影像幀中偵測多個關節座標,並據以找出多個特定影像幀;取得人體在各特定影像幀中對應的影像區域高度;取得第一關節點在各特定影像幀中的第一關節座標;取得第二關節點在各特定影像幀中的第二關節座標;基於人體的高度、各特定影像幀中的影像區域高度、第一關節座標及第二關節座標估計第一關節點及第二關節點之間的實際長度。
Description
本發明是有關於一種影像分析技術,且特別是有關於一種基於影像進行的人體偵測方法、人體偵測裝置及電腦可讀儲存媒體。
在現代社會中,透過特殊的儀器對使用者進行運動偵測的技術已相當常見。例如,現有技術中已提出在取得使用者運動過程的影像後,透過對這些影像進行分析來取得對應的運動數據的技術手段。
在一些情境中,若能透過影像分析的技術估計使用者某些關節點之間的實際長度,應可進一步提升所取得的運動數據的準確性並增加所計算運動數據的多樣性。因此,對於本領域技術人員而言,如何設計一種可透過影像分析技術精確估計某些關節點之間的實際長度的機制,實為一項重要議題。
有鑑於此,本發明提供一種人體偵測方法、人體偵測裝置及電腦可讀儲存媒體,其可用於解決上述技術問題。
本發明提供一種人體偵測方法,適於一人體偵測裝置,包括:取得關聯於一人體的多個影像幀;在各影像幀中偵測人體的多個關節座標,並據以在所述多個影像幀中找出多個特定影像幀,其中人體在各特定影像幀中經判定為處於一特定姿勢;取得人體在各特定影像幀中對應的一影像區域高度;取得人體的一第一關節點在各特定影像幀中的一第一關節座標;取得人體的一第二關節點在各特定影像幀中的一第二關節座標;基於人體的高度、各特定影像幀中的影像區域高度、第一關節座標及第二關節座標估計第一關節點及第二關節點之間的一實際長度。
本發明提供一種人體偵測裝置,包括取像電路及處理器。取像電路用以取得關聯於一人體的多個影像幀。處理器耦接取像電路,並經配置以執行:在各影像幀中偵測人體的多個關節座標,並據以在所述多個影像幀中找出多個特定影像幀,其中人體在各特定影像幀中經判定為處於一特定姿勢;取得人體在各特定影像幀中對應的一影像區域高度;取得人體的一第一關節點在各特定影像幀中的一第一關節座標;取得人體的一第二關節點在各特定影像幀中的一第二關節座標;基於人體的高度、各特定影像幀中的影像區域高度、第一關節座標及第二關節座標估計第一關節點及第二關節點之間的一實際長度。
本發明提供一種電腦可讀儲存媒體,電腦可讀儲存媒體記錄一可執行電腦程式,可執行電腦程式由一人體偵測裝置載入以執行以下步驟:在各影像幀中偵測人體的多個關節座標,並據以在所述多個影像幀中找出多個特定影像幀,其中人體在各特定影像幀中經判定為處於一特定姿勢;取得人體在各特定影像幀中對應的一影像區域高度;取得人體的一第一關節點在各特定影像幀中的一第一關節座標;取得人體的一第二關節點在各特定影像幀中的一第二關節座標;基於人體的高度、各特定影像幀中的影像區域高度、第一關節座標及第二關節座標估計第一關節點及第二關節點之間的一實際長度。
請參照圖1,其是依據本發明之一實施例繪示的人體偵測裝置示意圖。在不同的實施例中,人體偵測裝置100可實現為各式電子裝置,例如各式智慧型裝置/電腦裝置等,包括但不限於此智慧型手機、平板電腦、筆記型電腦、智慧眼鏡、攝相機等。
在圖1中,人體偵測裝置100包括取像電路102及處理器104。取像電路102可以是任何具有電荷耦合元件(Charge coupled device,CCD)鏡頭、互補式金氧半電晶體(Complementary metal oxide semiconductor transistors,CMOS)鏡頭,或紅外線鏡頭的攝影機。
處理器104耦接於取像電路102,並可為一般用途處理器、特殊用途處理器、傳統的處理器、數位訊號處理器、多個微處理器(microprocessor)、一個或多個結合數位訊號處理器核心的微處理器、控制器、微控制器、特殊應用積體電路(Application Specific Integrated Circuit,ASIC)、現場可程式閘陣列電路(Field Programmable Gate Array,FPGA)、任何其他種類的積體電路、狀態機、基於進階精簡指令集機器(Advanced RISC Machine,ARM)的處理器以及類似品。
在本發明的實施例中,處理器104可存取特定的模組、程式碼來實現本發明提出的人體偵測方法。概略而言,本發明的方法可用於估計人體A上第一關節點(例如腕關節)及第二關節點(例如肩關節)之間的實際長度,藉以利於進行後續的運動偵測(例如伏地挺身)。在其他實施例中,可藉由估計其他第一與第二關節點之間的實際長度,以用於其他的運動偵測,例如髖關節或肩關節與踝關節之間的長度用於深蹲、肩關節與髖關節之間的長度用於仰臥起坐、肘關節與肩關節之間的長度用於引體向上,但可不限於此。以下將詳述本發明方法的細節。
請參照圖2,其是依據本發明之一實施例繪示的人體偵測方法流程圖。本實施例的方法可由圖1的人體偵測裝置100執行,以下即搭配圖1所示的元件說明圖2各步驟的細節。
首先,在步驟S210中,取像電路102取得關聯於人體A的多個影像幀。在一實施例中,所述人體A例如是待由人體偵測裝置100進行偵測的使用者的身體,而取像電路102例如可依據對應的取像幀率來對人體A拍攝數張影像作為所述多個影像幀,但可不限於此。
在一實施例中,人體偵測裝置100例如可固定地設置於某個位置,而所述使用者可自行移動至取像電路102當下的取像範圍內,以讓取像電路102取得所述多個影像幀,但可不限於此。
之後,在步驟S220中,處理器104在各影像幀中偵測人體A的多個關節座標,並據以在所述多個影像幀中找出多個特定影像幀。
在一實施例中,處理器104可將所述多個影像幀的其中之一(下稱第一影像幀)輸入經預訓練的至少一人體偵測模型(其例如是各式神經網路/深度學習模型),其中所述至少一人體偵測模型可偵測人體A在第一影像幀中的所述多個關節座標,並據以輸出人體A在第一影像幀中處於特定姿勢的一機率。為使上述概念更易於理解,以下另輔以圖3A至圖3C作進一步說明,其中圖3A至圖3C是依據本發明之一實施例繪示的對影像幀進行分析的示意圖。
在圖3A中,假設影像幀310為由取像電路102對人體A取得的多個影像幀的其中之一,則處理器104例如可透過第一人體偵測模型來偵測人體A的骨架(其表徵為標示於影像幀310中的圓點及連接於圓點間的線段),並相應地取得此骨架上的關節點(即,骨架上的圓點)在影像幀310中的關節點座標。在一實施例中,上述第一人體偵測模型例如可實現為MediapPipe Pose、Openpose等或是其他類似的姿勢偵測模型,但可不限於此。
之後,處理器104可再將上述關節點座標輸入至一第二人體偵測模型,其中此第二人體偵測模型例如可用於輸出人體A在影像幀310中處於特定姿勢的機率。為便於說明,以下假設所考慮的特定姿勢為如圖3的人體A所呈現的自然站立姿勢,但可不限於此。
在圖3B中,假設第一人體偵測模型所取得的關節點座標如骨架圖320所示,則所述第二人體偵測模型例如可基於這些關節點座標之間的相對位置而判定對應於骨架圖320的人體處於特定姿勢(例如自然站立姿勢)的機率。
在一實施例中,為使所述第二人體偵測模型具備上述能力,在所述第二人體偵測模型的訓練過程中,設計者可將經特殊設計的訓練資料饋入所述第二人體偵測模型,以讓所述第二人體偵測模型進行相應的學習。舉例而言,在取得某組已標註為對應於特定姿勢(例如自然站立姿勢)的關節點座標(例如取自於偵測自處於特定姿勢的人體的骨架圖)之後,處理器104可基於這些關節點座標之間的相對位置產生對應的特徵向量,並將其饋入所述第二人體偵測模型。藉此,可讓所述第二人體偵測模型從此特徵向量中學習有關於特定姿勢的相關特徵。在此情況下,當所述第二人體偵測模型日後接收對應於某人體姿勢的特徵向量之後,所述第二人體偵測模型即可相應地判定此人體姿勢為特定姿勢的機率,但可不限於此。
在一實施例中,反應於判定所述第二人體偵測模型因應於第一影像幀而輸出的機率高於一機率門限值(例如60%),處理器104可判定第一影像幀屬於所述多個特定影像幀。另一方面,反應於判定所述第二人體偵測模型因應於第一影像幀而輸出的機率不高於機率門限值,處理器104可判定第一影像幀不屬於所述多個特定影像幀。
簡言之,處理器104可將所述多個影像幀中包括處於特定姿勢的人體的一或多個影像幀判定為所述特定影像幀,但可不限於此。
在一實施例中,處理器104可維護有包括N個儲存位置的一佇列(N為正整數),其中此佇列的第1個儲存位置至第N個儲存位置可分別用於儲存第i個影像幀至第i+N-1個影像幀的指示符。在一實施例中,上述指示符例如可用於指示對應的影像幀是否為特定影像幀。
舉例而言,若處理器104判定第i個影像幀屬於特定影像幀,則處理器104例如可將在所述佇列的第1個儲存位置的指示符設定為第一值(例如1),以表示第i個影像幀為特定影像幀之一。另一方面,若處理器104判定第i個影像幀不屬於特定影像幀,則處理器104例如可將在所述佇列的第1個儲存位置的指示符設定為第二值(例如0),以表示第i個影像幀不為特定影像幀。
舉另一例而言,若處理器104判定第i+N-1個影像幀屬於特定影像幀,則處理器104例如可將在所述佇列的第N個儲存位置的指示符設定為第一值(例如1),以表示第i+N-1個影像幀為特定影像幀之一。另一方面,若處理器104判定第i+N-1個影像幀不屬於特定影像幀,則處理器104例如可將在所述佇列的第N個儲存位置的指示符設定為第二值(例如0),以表示第i+N-1影像幀不為特定影像幀。
在從所述多個影像幀中取得一或多個特定影像幀之後,在步驟S230中,處理器104取得人體A在各特定影像幀中對應的影像區域高度。
在圖3C中,假設影像幀310中的人體A經判定為處於特定姿勢,則處理器104可將影像幀310判定為一個特定影像幀。在一實施例中,處理器104可在影像幀310中以一包圍框(bounding box)330將人體A的影像區域框出,再以此包圍框330的高度作為人體A在影像幀310中的影像區域高度。基於相似概念,處理器104可在各特定影像幀中定義對應的包圍框,並據以決定各特定影像幀對應的影像區域高度。在一實施例中,假設特定影像幀的數量為K(例如,第i個影像幀至第i+N-1個影像幀中的K者屬於特定影像幀),則處理器104共可取得K個影像區域高度,但可不限於此。
如先前所提及的,本發明的方法可用於判定人體A身上第一關節點與第二關節點之間的實際長度,而設計者可依需求而選定人體A身上的任二關節點作為第一關節點與第二關節點,但可不限於此。
基此,在步驟S240中,處理器104取得人體A的第一關節點在各特定影像幀中的第一關節座標。舉例而言,假設所考慮的第一關節點為人體A的腕關節,則處理器104例如可取得人體A的腕關節在各特定影像幀中的關節座標作為上述第一關節座標。假設特定影像幀的數量為K,則處理器104共可取得K個第一關節座標,但可不限於此。
另外,在步驟S250中,處理器104取得人體A的第二關節點在各特定影像幀中的第二關節座標。舉例而言,假設所考慮的第二關節點為人體A的肩關節,則處理器104例如可取得人體A的肩關節在各特定影像幀中的關節座標作為上述第二關節座標。假設特定影像幀的數量為K,則處理器104共可取得K個第二關節座標,但可不限於此。
之後,在步驟S260中,處理器104基於人體A的高度、各特定影像幀中的影像區域高度、第一關節座標及第二關節座標估計第一關節點及第二關節點之間的實際長度。
在一實施例中,在步驟S220及步驟S260之間,處理器104可先透過一定的機制判定人體A是否已穩定地處於特定姿勢(例如已穩定處於自然站立姿勢)。舉例而言,處理器104可先取得上述特定影像幀在上述影像幀中所佔據的特定比例,並判斷此特定比例是否高於一比例門限值(例如80%)。
在一實施例中,處理器104可基於上述佇列的內容來判定上述特定比例。舉例而言,處理器104可將佇列中數值為第一值的指示符的數量除以所述佇列的長度(即,N),以估計上述特定比例,但可不限於此。
在一實施例中,反應於判定特定比例高於比例門限值,處理器104可再接續執行步驟S260。另一方面,反應於判定特定比例未高於比例門限值,處理器104可重新判定特定影像幀。
在一實施例中,在重新判定特定影像幀的過程中,處理器104可將第i+1個影像幀至第i+N個影像幀作為步驟S210中所考慮的多個影像幀,並再次執行步驟S220以找出第i+1個影像幀至第i+N個影像幀中的特定影像幀。之後,處理器104可判斷當下的特定比例是否高於比例門限值。若是,則可接續執行步驟S220~S260,反之則可再執行一次上述重新判定特定影像幀的行為,於此不另贅述。在一實施例中,若第i+1個影像幀至第i+N個影像幀判定特定比例未高於比例門限值,處理器104可將第i+2 (亦即i+1+1)個影像幀至第i+N+1個影像幀作為步驟S210中所考慮的多個影像幀,以重新判定特定影像幀特定比例是否未高於比例門限值。
簡言之,在執行步驟S260之前,處理器104可先判定人體A是否已穩定處於特定姿勢,若是則可接續執行步驟S260,反之則需重複上述重新判定特定影像幀的行為,直至判定人體A已穩定處於特定姿勢,但可不限於此。
在一實施例中,人體A的高度例如是人體A在現實世界中的真實身高,其可由待測使用者自行提供予人體偵測裝置100,或是由相關人員代替使用者輸入至人體偵測裝置100,或是由人體偵測裝置100根據使用者資料從資料庫中取得人體A的高度,或是人體偵測裝置100使用特定的攝像硬體以及身高計算程式取得人體A的高度,但可不限於此。
在一實施例中,在執行步驟S260的過程中,處理器104可經配置以執行:取得各特定影像幀中的影像區域高度的一平均高度(例如所述K個影像區域高度的平均值);取得各特定影像幀中的第一關節座標的一第一平均座標(例如所述K個第一關節座標的平均座標);取得各特定影像幀中的第二關節座標的一第二平均座標(例如所述K個第二關節座標的平均座標);基於人體A的高度、平均高度、第一平均座標、第二平均座標估計第一關節點及第二關節點之間的實際長度。
在一實施例中,第一關節點及第二關節點之間的實際長度可表徵為「
」,其中
為第一平均座標,
為第二平均座標,
為平均高度,UH為人體A的高度,
為第一平均座標及第二平均座標之間的距離(例如歐氏距離)。
由上可知,本發明的方法可在判定人體A已穩定處於特定姿勢(例如自然站立姿勢或設計者所需的其他姿勢)之後,相應地估計第一、第二關節點之間的實際長度。藉此,可讓後續對人體進行的各種運動偵測更為精準,進而提升偵測的效果。
在一實施例中,經由以上實施例教示的方法所取得的第一、第二關節點之間的實際長度例如可用於估計人體A在執行特定動作的三維運動速度,以下將作進一步說明。
在一實施例中,為實現上述目的,本發明另提出可讓人體偵測裝置100判斷人體A是否已執行一次(repetition)的特定動作的方法。為便於說明,以下將假設所考慮的特定動作為伏地挺身,但本發明的實施方式不限於此。在其他實施例中,本領域具通常知識者應可基於以下教示而相應理解其他的特定動作所對應的偵測操作,例如深蹲、仰臥起坐、捲腹、引體向上等器材或徒手的重訓動作。
請參照圖4,其是依據本發明之一實施例繪示的判斷人體執行特定動作的流程圖。本實施例的方法可由圖1的人體偵測裝置100執行,以下即搭配圖1所示的元件說明圖4各步驟的細節。另外,為使圖4概念更易於理解,以下另輔以圖5的內容作說明,其中圖5是依據本發明之一實施例繪示的應用情境圖。
在本實施例中,處理器104可先判斷人體A是否呈現執行特定動作的準備姿勢。在圖5情境中,由於所考慮的特定動作為伏地挺身,故其準備姿勢例如是如影像幀510所示的動作。在一實施例中,處理器104可透過任何已知的影像辨識方式來判定影像幀510內的人體A已呈現特定動作的準備姿勢。在另一實施例中,處理器104可先判斷人體A呈現的準備姿勢,並根據所判斷的準備姿勢判斷對應的特定動作,再根據所判斷的特定動作,而實施對應此特定動作的方法及步驟。例如,在圖5情境中,處理器104在判斷使用者進行影像幀510所示的動作後,可根據影像幀510所示的動作判斷使用者欲進行的特定動作為伏地挺身,進而實施對應伏地挺身的接續方法及步驟。
基此,在步驟S410中,反應於判定人體A呈現執行特定動作的準備姿勢,處理器104偵測第一關節點J1、第二關節點J2及第三關節點J3,如影像幀520所示。在一實施例中,處理器104例如可基於先前提及的技術手段在影像幀520內偵測第一關節點J1、第二關節點J2及第三關節點J3,但可不限於此。
在一實施例中,第一關節點J1透過第三關節點J3連接於第二關節點J2。在圖5情境中,第一關節點J1、第二關節點J2及第三關節點J3分別例如是腕關節、肩關節及肘關節,其中第一關節點J1的位置在人體A執行特定動作的過程中實質上為固定。亦即,第一關節點J1的位置不因應於人體A執行特定動作(即,伏地挺身)而變化。基此,本發明可基於第一關節點J1的位置來判定人體A是否已離開特定動作的準備姿勢。
具體而言,在偵測第一關節點J1之後,處理器104執行步驟S420以依據第一關節點J1的位置定義固定範圍R1,其中固定範圍R1的位置及大小經定義後為固定。在一實施例中,處理器104例如可以第一關節點J1的位置為圓心而決定R1位置,再基於某個特定半徑(例如人體A手掌的長度或人體A的高度等,或R1為固定半徑)而決定固定範圍R1,但可不限於此。
在此實施例中,因運動為伏地挺身,故以腕關節作為第一關節點J1以定義固定範圍R1。而在其他實施例中,若運動為深蹲,可以踝關節作為第一關節點J1以定義固定範圍R1;若運動為引體向上,可以腕關節作為第一關節點J1以定義固定範圍R1;若運動為仰臥起坐或捲腹,可以髖關節作為第一關節點J1以定義固定範圍R1,但可不限於此。
之後,在步驟S430中,處理器104判斷第一關節點J1是否離開固定範圍R1。如先前所提及的,第一關節點J1的位置在人體A執行特定動作的過程中為固定,因此當第一關節點J1經判定為離開固定範圍R1時,處理器104可執行步驟S440以判定人體A已離開準備姿勢(例如,暫時不執行特定動作)。
另一方面,若處理器104判定第一關節點J1未離開固定範圍R1,則處理器104可執行步驟S450以取得第三關節點J3的關節角度A1的初始值(例如170度)。在圖5情境中,第三關節點J3(即,肘關節)的關節角度A1可因應於人體A執行特定動作而變化。例如,當人體A執行伏地挺身的離心階段(即,下降)時,第三關節點J3的關節角度A1可從上述初始值逐漸地變小,而當人體A執行伏地挺身的向心階段(即,上升)時,第三關節點J3的關節角度A1將相應地變大。
因此,本發明的方法可基於第三關節點J3的關節角度A1的變化來判定人體A是否已執行一次特定動作。在一實施例中,處理器104可判斷第三關節點J3的關節角度A1是否從初始值變化為小於角度門限值再返回初始值。
在圖5情境中,各影像幀中第三關節點J3的關節角度A1的變化可表徵為對應的進度條。舉例而言,在影像幀520中,假設第三關節點J3的關節角度A1為初始值,則影像幀520中的進度條B1例如可呈現為0%,以表示第三關節點J3的關節角度A1未有變化。
另外,在人體A經歷特定動作的離心階段時,進度條B1將隨著第三關節點J3的關節角度A1逐漸接近上述角度門限值(例如90度)而增加。當第三關節點J3的關節角度A1變為不大於上述角度門限值時,進度條B1例如可呈現為100%,如影像幀530所示。
此外,在人體A經歷特定動作的向心階段時,進度條B1將隨著第三關節點J3的關節角度A1逐漸接近初始值而減少。當第三關節點J3的關節角度A1恢復為不小於初始值時,進度條B1例如可恢復為0%,如影像幀540所示。
由上可知,在人體A執行一次特定動作(例如執行一下的伏地挺身)的過程中,第三關節點J3的關節角度A1將相應地從初始值變化為大於角度門限值再返回初始值時。基此,在步驟S460中,反應於判定第三關節點J3的關節角度A1從初始值變化為大於角度門限值再返回初始值,處理器104可相應地判定人體A已執行一次的特定動作,並可返回步驟S430。
基於上述原則,處理器104可估計人體A從呈現準備姿勢到離開準備姿勢之間所執行特定動作的次數,以作為人體A執行一組特定動作的次數。
在圖5情境中,假設人體A已完成所需的次數,則人體A可相應地起身。在此情況下,處理器104可因偵測到第一關節點J1的位置離開固定範圍R1而判定人體已離開準備姿勢,如影像幀550及560所示。之後,處理器104可判定人體A已完成一組,並進行相應的記錄,但可不限於此。在一實施例中,可利用判定人體進入準備姿勢與離開準備姿勢的次數,而計算並記錄運動的組數。
此外,由圖5可看出,在人體A執行特定動作的過程中,第二關節點J2(即,肩關節)與某個參考位置之間的距離將會呈現相應的變化。在一實施例中,所述參考位置例如是影像幀的頂部、影像幀的底部、R1、使用者的腳踝處等,但可不限於此。
在一實施例中,反應於判定人體A呈現執行特定動作的準備姿勢,處理器104可偵測第二關節點J2與參考位置之間的距離變化。
舉例而言,在影像幀520中,當人體A處於準備姿勢時,處理器104可偵測第二關節點J2與參考位置(例如影像幀520的頂部)之間的距離。此時,第二關節點J2與影像幀520的頂部之間的距離較近。在人體A執行特定動作的離心階段時,第二關節點J2與影像幀頂部之間的距離將會逐漸增加。另外,在人體A執行特定動作的向心階段時,第二關節點J2與影像幀頂部之間的距離將會逐漸減少。基此,處理器104可將第二關節點J2與影像幀頂部之間的距離變化記錄為人體A執行特定動作時的姿勢變化訊號。之後,處理器104例如可基於此姿勢變化訊號執行其他分析/處理,但可不限於此。
請參照圖6,其是依據圖5繪示的姿勢變化訊號示意圖。在本實施例中,姿勢變化訊號700例如繪示圖5中第二關節點J2與影像幀頂部之間的距離變化。在圖6中,假設人體A共執行5次的特定動作(例如5下伏地挺身)。由於處理器104可依據先前教示判定人體A在執行每次特定動作的過程,因此處理器104可相應地從姿勢變化訊號600取出對應於每次特定動作的姿勢變化訊號區段。
舉例而言,在圖6情境中,假設處理器104判定在第1個影像幀至第180個影像幀對應於人體A執行第一次特定動作的過程,則處理器104可將姿勢變化訊號600中對應於第1個影像幀至第180個影像幀的部分取出作為對應於所述第一次特定動作的姿勢變化訊號區段611。舉另一例而言,假設處理器104判定在第181個影像幀至第280個影像幀對應於人體A執行第二次特定動作的過程,則處理器104可將姿勢變化訊號600中對應於第181個影像幀至第280個影像幀的部分取出作為對應於所述第二次特定動作的姿勢變化訊號區段612。基於相似原則,處理器104可從姿勢變化訊號600中取出對應於第三次、第四次及第五次特定動作的姿勢變化訊號區段613~615,但可不限於此。
之後,處理器104可基於各姿勢變化訊號區段613~615來估計其對應的二維運動速度。在一實施例中,處理器104可基於圖7的方法來取得上述二維運動速度。
請參照圖7,其是依據本發明之一實施例繪示的取得二維運動速度的方法流程圖。本實施例的方法可由圖1的人體偵測裝置100執行,以下即搭配圖1所示的元件說明圖7各步驟的細節。
首先,在步驟S710中,反應於判定人體A執行一次的特定動作,處理器104取得人體A執行此次特定動作的姿勢變化訊號區段。為便於說明,以下假設所考慮的姿勢變化訊號為圖6中的姿勢變化訊號區段614(其對應於第四次的特定動作),但可不限於此。在其他實施例中,本領域具通常知識者應可基於以下教示相應地理解處理器104基於其他姿勢變化訊號區段所執行的操作。
在步驟S720中,處理器104在姿勢變化訊號區段614中找出第一極值及第二極值。在一實施例中,在執行步驟S720的過程中,處理器104可在姿勢變化訊號區段614中找出多個極值614a~614e。在一實施例中,處理器104例如可透過對姿勢變化訊號區段614取二次微分的方式來找出極值614a~614e,但可不限於此。
之後,處理器104可在極值614a~614e找出所述第一極值及第二極值。在一實施例中,反應於判定極值614a~614e中的第j個極值與第j+1個極值之間的絕對差值大於預設門限值,且第j個極值與第j+1個極值的變化對應於特定動作的向心階段,在此伏地挺身的實施例中意即第j+1個極值與影像幀頂部之間的距離小於第j個極值與影像幀頂部之間的距離,處理器104可判定所述第j個極值與所述第j+1個極值分別為第一極值及第二極值,其中j為索引值。
在不同的實施例中,所述預設門限值可由設計者依需求而設定為足夠大的數值,也可根據使用者人體A包圍框330的高度或實際高度或者根據使用者第一、第二關節點之間的座標距離或實際長度(例如肩關節與腕關節之間的臂長)等自動設定,但可不限於此。在姿勢變化訊號區段614中,假設極值614d及614e之間的絕對差值大於預設門限值,則處理器104可判定極值614d及614e分別為姿勢變化訊號區段614中的第一極值及第二極值。
在取得第一極值及第二極值之後,在步驟S730中,處理器104基於第一極值及第二極值估計二維運動速度。在一實施例中,處理器104可取得分別對應於第一極值及第二極值的第一幀及第二幀;取得第一幀及第二幀之間的幀數差,並基於一幀率及此幀數差估計第一極值及第二極值之間的時間差;取得第一極值及第二極值之間的一絕對差值,並基於此絕對差值及上述時間差估計上述二維運動速度。
在圖6中,極值614d及614e例如分別對應於姿勢變化訊號區段614的第170個幀及第185個幀,故處理器104可將姿勢變化訊號區段614的第170個幀及第185個幀分別視為所考慮的第一幀及第二幀。之後,處理器104可取得此第一幀及第二幀之間的幀數差(例如是15個幀)。接著,處理器104可基於一幀率(例如是取像電路102的取像幀率)及此幀數差估計極值614d及614e之間的時間差。
在一實施例中,處理器104例如可將上述幀數差除以幀率來估計極值614d及614e之間的時間差。之後,處理器104可取得極值614d及614e之間的一絕對差值,並基於此絕對差值及上述時間差估計上述二維運動速度。在一實施例中,處理器104例如可將極值614d及614e之間的絕對差值除以上述時間差來估計對應於姿勢變化訊號區段614的二維運動速度。
在一實施例中,在取得對應於姿勢變化訊號區段614的二維運動速度之後,處理器104可進一步估計對應於姿勢變化訊號區段614的三維運動速度。相關細節將輔以圖8作進一步說明。
請參照圖8,其是依據本發明之一實施例繪示的估計三維運動速度的流程圖。本實施例的方法可由圖1的人體偵測裝置100執行,以下即搭配圖1所示的元件說明圖8各步驟的細節。
在一實施例中,圖8的方法可在圖1的步驟S260之後執行。在本實施例中,假設所考慮的特定動作為如圖5所示的伏地挺身,但可不限於此。
首先,在步驟S810中,處理器104判斷人體A是否執行一次的特定動作。若是,則處理器104接續執行步驟S820以取得人體執行此次的特定動作的二維運動速度。在本實施例中,步驟S810及S820的細節可參照先前實施例的說明,於此不另贅述。
此外,為便於理解,以下假設步驟S820中所取得的二維運動速度是對應於圖6中姿勢變化訊號區段614的二維運動速度,但可不限於此。
基此,在步驟S830中,處理器104分別取得第一關節點J1及第二關節點J2在人體A執行此次特定動作時的第一初始座標及第二初始座標。例如,處理器104可取得人體A在執行第四次特定動作時,第一關節點J1及第二關節點J2在對應的影像幀中的第一初始座標及第二初始座標。
之後,在步驟S840中,處理器104基於第一初始座標、第二初始座標、二維運動速度及上述實際長度估計人體A執行特定動作的三維運動速度。
在一實施例中,對應於姿勢變化訊號區段614的三維運動速度(以
表示)例如可表徵為「
」,其中
例如是對應於姿勢變化訊號區段614的二維運動速度,L為所述第一初始座標及所述第二初始座標之間的距離,
為第一關節點J1及第二關節點J2之間的實際長度。
在其他實施例中,處理器104可基於以上教示的方式而相應地估計對應於其他姿勢變化訊號區段611、612、614、615的二維運動速度及三維運動速度,但可不限於此。
在其他實施例中,處理器104可基於所估計姿勢變化的二維運動速度及三維運動速度,參考其他生理參數及/或使用者輸入的其他數值(例如,重量訓練重量)進一步估計使用者所消耗的能量、剩餘的體力等,但可不限於此。
本發明還提供了一種用於執行人體偵測方法的電腦可讀儲存媒體。此電腦可讀儲存媒體由多個程式指令(如設置、部署程序指令)組成。這些程式指令可被載入人體偵測裝置100中執行以進行上述人體偵測方法和人體偵測裝置100的功能。
綜上所述,本發明的方法可在判定人體已穩定處於特定姿勢(例如自然站立姿勢或設計者所需的其他姿勢)之後,相應地估計第一、第二關節點之間的實際長度。藉此,可讓後續對人體進行的各種運動偵測(例如執行每次特定動作時的三維運動速度)更為精準,進而提升偵測的效果。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
100:人體偵測裝置
102:取像電路
104:處理器
310,510~560:影像幀
320:骨架圖
330:包圍框
600:姿勢變化訊號
611~615:姿勢變化訊號區段
614a~614e:極值
A:人體
A1:關節角度
B1:進度條
J1:第一關節點
J2:第二關節點
J3:第三關節點
R1:固定範圍
S210~S260,S410~S460,S710~S730,S810~S840:步驟
圖1是依據本發明之一實施例繪示的人體偵測裝置示意圖。
圖2是依據本發明之一實施例繪示的人體偵測方法流程圖。
圖3A至圖3C是依據本發明之一實施例繪示的對影像幀進行分析的示意圖。
圖4是依據本發明之一實施例繪示的判斷判斷人體執行特定動作的流程圖。
圖5是依據本發明之一實施例繪示的應用情境圖。
圖6是依據圖5繪示的姿勢變化訊號示意圖。
圖7是依據本發明之一實施例繪示的取得二維運動速度的方法流程圖。
圖8是依據本發明之一實施例繪示的估計三維運動速度的流程圖。
S210~S260:步驟
Claims (16)
- 一種人體偵測方法,適於一人體偵測裝置,包括: 取得關聯於一人體的多個影像幀; 在各該影像幀中偵測該人體的多個關節座標,並據以在該些影像幀中找出多個特定影像幀,其中該人體在各該特定影像幀中經判定為處於一特定姿勢; 取得該人體在各該特定影像幀中對應的一影像區域高度; 取得該人體的一第一關節點在各該特定影像幀中的一第一關節座標; 取得該人體的一第二關節點在各該特定影像幀中的一第二關節座標; 基於該人體的高度、各該特定影像幀中的該影像區域高度、該第一關節座標及該第二關節座標估計該第一關節點及該第二關節點之間的一實際長度。
- 如請求項1所述的方法,其中在各該影像幀中偵測該人體的該些關節座標,並據以在該些影像幀中找出該些特定影像幀的步驟包括: 將該些影像幀的一第一影像幀輸入經預訓練的至少一人體偵測模型,其中該至少一人體偵測模型偵測該人體在該第一影像幀中的該些關節座標,並據以輸出該人體在該第一影像幀中處於該特定姿勢的一機率; 反應於判定該機率高於一機率門限值,判定該第一影像幀屬於該些特定影像幀; 反應於判定該機率不高於該機率門限值,判定該第一影像幀不屬於該些特定影像幀。
- 如請求項1所述的方法,在基於該人體的該高度、各該特定影像幀中的該影像區域高度、該第一關節座標及該第二關節座標估計該第一關節點及該第二關節點之間的該實際長度的步驟之前,所述方法更包括: 取得該些特定影像幀在該些影像幀中所佔據的一特定比例; 反應於判定該特定比例高於一比例門限值,基於該人體的該高度、各該特定影像幀中的該影像區域高度、該第一關節座標及該第二關節座標估計該第一關節點及該第二關節點之間的該實際長度。
- 如請求項3所述的方法,其中該些影像幀包括第i個影像幀至第i+N-1個影像幀,且所述方法更包括: 反應於判定該特定比例未高於該比例門限值,基於第i+1個影像幀至第i+N個影像幀重新判定該些特定影像幀,其中N為正整數。
- 如請求項1所述的方法,其中基於該人體的該高度、各該特定影像幀中的該影像區域高度、該第一關節座標及該第二關節座標估計該第一關節點及該第二關節點之間的該實際長度的步驟包括: 取得各該特定影像幀中的該影像區域高度的一平均高度; 取得各該特定影像幀中的該第一關節座標的一第一平均座標; 取得各該特定影像幀中的該第二關節座標的一第二平均座標; 基於該人體的該高度、該平均高度、該第一平均座標、該第二平均座標估計該第一關節點及該第二關節點之間的該實際長度。
- 如請求項5所述的方法,其中該第一關節點及該第二關節點之間的該實際長度表徵為: ,其中 為該第一平均座標, 為該第二平均座標, 為該平均高度,UH為該人體的該高度, 為該第一平均座標及該第二平均座標之間的距離。
- 如請求項1所述的方法,其中在基於該人體的該高度、各該特定影像幀中的該影像區域高度、該第一關節座標及該第二關節座標估計該第一關節點及該第二關節點之間的該實際長度的步驟之後,更包括: 反應於判定該人體執行一次的特定動作,取得該人體執行該次的該特定動作的二維運動速度; 分別取得該第一關節點及該第二關節點在該人體執行該次的該特定動作時的一第一初始座標及一第二初始座標; 基於該第一初始座標、該第二初始座標、該二維運動速度及該實際長度估計該人體執行該特定動作的三維運動速度。
- 如請求項7所述的方法,其中取得該人體執行該次的該特定動作的該二維運動速度的步驟包括: 取得該人體執行該次特定動作的一姿勢變化訊號區段; 在該姿勢變化訊號區段中找出一第一極值及一第二極值; 基於該第一極值及該第二極值估計該二維運動速度。
- 如請求項8所述的方法,其中取得該人體執行該次特定動作的該姿勢變化訊號區段的步驟包括: 反應於判定該人體呈現執行該特定動作的一準備姿勢,偵測該第二關節點與一參考位置之間的距離變化; 反應於判定該人體執行該次的該特定動作,取得對應的該距離變化作為該人體執行該次特定動作的該姿勢變化訊號區段。
- 如請求項8所述的方法,其中在該姿勢變化訊號區段中找出該第一極值及該第二極值的步驟包括: 在該姿勢變化訊號區段中找出多個極值; 反應於判定該些極值中的第j個極值與第j+1個極值之間的絕對差值大於一預設門限值且所述第j個極值與所述第j+1個極值的變化對應於該特定動作的向心階段,判定所述第j個極值與所述第j+1個極值分別為該第一極值及該第二極值,其中j為索引值。
- 如請求項8所述的方法,其中基於該第一極值及該第二極值估計該二維運動速度的步驟包括: 取得分別對應於該第一極值及該第二極值的一第一幀及一第二幀; 取得該第一幀及該第二幀之間的幀數差,並基於一幀率及該幀數差估計該第一極值及該第二極值之間的時間差; 取得該第一極值及該第二極值之間的一絕對差值,並基於該絕對差值及該時間差估計該二維運動速度。
- 如請求項7所述的方法,其中該三維運動速度表徵為: ,其中 為該二維運動速度,L為該第一初始座標及該第二初始座標之間的距離, 為該第一關節點及該第二關節點之間的該實際長度。
- 如請求項7所述的方法,更包括: 反應於判定該人體呈現執行該特定動作的一準備姿勢,偵測該第一關節點、該第二關節點及一第三關節點,其中該第一關節點透過該第三關節點連接於該第二關節點,且該第三關節點的關節角度因應於該人體執行該特定動作而變化; 取得該第三關節點的該關節角度的一初始值; 反應於判定該第三關節點的該關節角度從該初始值變化為不大於一角度門限值再返回該初始值,判定該人體已執行一次的該特定動作。
- 如請求項13所述的方法,其中在偵測該第一關節點、該第二關節點及該第三關節點的步驟之後,更包括: 依據該第一關節點的位置定義一固定範圍,其中該第一關節點的該位置在該人體執行該特定動作的過程中為固定; 反應於判定該第一關節點離開該固定範圍,判定該人體已離開該準備姿勢。
- 一種人體偵測裝置,包括: 一取像電路,其用以取得關聯於一人體的多個影像幀; 一處理器,其耦接該取像電路,並經配置以執行: 在各該影像幀中偵測該人體的多個關節座標,並據以在該些影像幀中找出多個特定影像幀,其中該人體在各該特定影像幀中經判定為處於一特定姿勢; 取得該人體在各該特定影像幀中對應的一影像區域高度; 取得該人體的一第一關節點在各該特定影像幀中的一第一關節座標; 取得該人體的一第二關節點在各該特定影像幀中的一第二關節座標; 基於該人體的高度、各該特定影像幀中的該影像區域高度、該第一關節座標及該第二關節座標估計該第一關節點及該第二關節點之間的一實際長度。
- 一種電腦可讀儲存媒體,該電腦可讀儲存媒體記錄一可執行電腦程式,該可執行電腦程式由一人體偵測裝置載入以執行以下步驟: 在各該影像幀中偵測該人體的多個關節座標,並據以在該些影像幀中找出多個特定影像幀,其中該人體在各該特定影像幀中經判定為處於一特定姿勢; 取得該人體在各該特定影像幀中對應的一影像區域高度; 取得該人體的一第一關節點在各該特定影像幀中的一第一關節座標; 取得該人體的一第二關節點在各該特定影像幀中的一第二關節座標; 基於該人體的高度、各該特定影像幀中的該影像區域高度、該第一關節座標及該第二關節座標估計該第一關節點及該第二關節點之間的一實際長度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110148854A TWI797916B (zh) | 2021-12-27 | 2021-12-27 | 人體偵測方法、人體偵測裝置及電腦可讀儲存媒體 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110148854A TWI797916B (zh) | 2021-12-27 | 2021-12-27 | 人體偵測方法、人體偵測裝置及電腦可讀儲存媒體 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI797916B TWI797916B (zh) | 2023-04-01 |
TW202326509A true TW202326509A (zh) | 2023-07-01 |
Family
ID=86945039
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110148854A TWI797916B (zh) | 2021-12-27 | 2021-12-27 | 人體偵測方法、人體偵測裝置及電腦可讀儲存媒體 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI797916B (zh) |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150250417A1 (en) * | 2013-08-19 | 2015-09-10 | bOMDIC Inc. | Stamina monitoring method and device |
JP2017503225A (ja) * | 2013-10-24 | 2017-01-26 | アリ コードAli Kord | モーションキャプチャシステム |
CN106682051B (zh) * | 2015-11-09 | 2020-05-29 | 财团法人工业技术研究院 | 找出人群移动行为的方法 |
GB201703243D0 (en) * | 2017-02-28 | 2017-04-12 | Pro Sport Support Ltd | System, method, apparatus and marker for assessing athletic performance |
CN107392097B (zh) * | 2017-06-15 | 2020-07-07 | 中山大学 | 一种单目彩色视频的三维人体关节点定位方法 |
EP3618075A1 (en) * | 2018-08-29 | 2020-03-04 | Tata Consultancy Services Limited | Particle filtering for continuous tracking and correction of body joint positions |
CN112790758A (zh) * | 2019-11-13 | 2021-05-14 | 创新工场(北京)企业管理股份有限公司 | 一种基于计算机视觉的人体运动测量方法、系统及电子设备 |
CN110827383B (zh) * | 2019-11-25 | 2020-11-10 | 腾讯科技(深圳)有限公司 | 三维模型的姿态模拟方法、装置、存储介质和电子设备 |
US11452913B2 (en) * | 2020-01-02 | 2022-09-27 | bOMDIC, Inc. | Exercise guiding method based on the different fitness performance levels |
CN111881731A (zh) * | 2020-05-19 | 2020-11-03 | 广东国链科技股份有限公司 | 基于人体骨架的行为识别方法、系统、装置及介质 |
CN112329513A (zh) * | 2020-08-24 | 2021-02-05 | 苏州荷露斯科技有限公司 | 一种基于卷积神经网络的高帧率3d体态识别方法 |
CN112200165A (zh) * | 2020-12-04 | 2021-01-08 | 北京软通智慧城市科技有限公司 | 模型训练方法、人体姿态估计方法、装置、设备及介质 |
CN113192186B (zh) * | 2021-05-19 | 2022-09-20 | 华中科技大学 | 基于单帧图像的3d人体姿态估计模型建立方法及其应用 |
CN113538581B (zh) * | 2021-07-19 | 2024-03-12 | 之江实验室 | 一种基于图注意力时空卷积的3d姿态估计方法 |
-
2021
- 2021-12-27 TW TW110148854A patent/TWI797916B/zh active
Also Published As
Publication number | Publication date |
---|---|
TWI797916B (zh) | 2023-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105229666B (zh) | 3d图像中的运动分析 | |
Kamal et al. | A hybrid feature extraction approach for human detection, tracking and activity recognition using depth sensors | |
Zhu et al. | A cuboid CNN model with an attention mechanism for skeleton-based action recognition | |
US8175326B2 (en) | Automated scoring system for athletics | |
EP2969079B1 (en) | Signal analysis for repetition detection and analysis | |
EP2969080B1 (en) | Center of mass state vector for analyzing user motion in 3d images | |
JP6025845B2 (ja) | オブジェクト姿勢検索装置及び方法 | |
US10909688B2 (en) | Moving body tracking device, moving body tracking method, and moving body tracking program | |
Chaudhari et al. | Yog-guru: Real-time yoga pose correction system using deep learning methods | |
CN105759967B (zh) | 一种基于深度数据的手部全局姿态检测方法 | |
Qiang et al. | SqueezeNet and fusion network-based accurate fast fully convolutional network for hand detection and gesture recognition | |
US20160296795A1 (en) | Apparatus and method for analyzing golf motion | |
Yao et al. | Real-time hand pose estimation from RGB-D sensor | |
JP6381368B2 (ja) | 画像処理装置、画像処理方法、およびプログラム | |
Liu et al. | 3D action recognition using multiscale energy-based global ternary image | |
CN110633004A (zh) | 基于人体姿态估计的交互方法、装置和系统 | |
US20220362630A1 (en) | Method, device, and non-transitory computer-readable recording medium for estimating information on golf swing | |
Nguyen et al. | Combined YOLOv5 and HRNet for high accuracy 2D keypoint and human pose estimation | |
US20210286983A1 (en) | Estimation method, and computer-readable recording medium recording estimation program | |
WO2021129487A1 (zh) | 一种用户的肢体节点的位置确定方法、装置、介质及系统 | |
TWI797916B (zh) | 人體偵測方法、人體偵測裝置及電腦可讀儲存媒體 | |
Zhu et al. | Dance Action Recognition and Pose Estimation Based on Deep Convolutional Neural Network. | |
JP7482471B2 (ja) | 学習モデルの生成方法 | |
CN116363743A (zh) | 人体检测方法、人体检测装置及计算机可读存储媒体 | |
US20230206472A1 (en) | Human body detection method and human body detection device, and computer readable storage medium |