国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于人臉檢測和關(guān)鍵點定位的人體組件劃分方法_2

      文檔序號:8922940閱讀:來源:國知局
      index)F,則此點為人體左臂上界點,執(zhí)行步驟3-6-4,若不存在,則執(zhí)行步驟 3-6-5,(index)」表示點Pj被讀取出來的序號,(index)F表示點PF被讀取出來的序號;
      [0036] 步驟3-6-4,遍歷十字鏈表中所有點,若存在點P」?jié)M足(index)A〈(index) j〈(index)j^P(index)j-(index)A>(index)e-(index)j,則此點為人體左臂下界點,算法終 止,若不存在,則執(zhí)行步驟3-6-5,(index)表示點P。被讀取出來的序號;
      [0037] 步驟3-6-5,列指針左移一列,返回執(zhí)行步驟3-6-2。
      [0038]步驟4包括:利用建立好的人體外輪廓像素點的十字鏈表結(jié)構(gòu),從第一個點開始 逐個取出點建立第一個人體輪廓,首先按鏈?zhǔn)浇Y(jié)構(gòu)掃描到人體頸部右邊緣關(guān)鍵點后,開始 逐個讀點并將讀取的點寫入新建的人體輪廓中,直到遇到人體頸部左邊緣關(guān)鍵點就停止讀 入,完成人體頭部輪廓;
      [0039] 新建第二個人體輪廓,掃描到人體左臂上界點后,開始逐個讀點并將讀取的點寫 入新建的第二個人體輪廓中,直到遇到人體左臂下界點就停止讀入,完成人體左臂輪廓;
      [0040] 新建第三個人體輪廓,掃描到人體腰部左邊緣關(guān)鍵點后,開始逐個將點讀入新建 的第三個人體輪廓中,直到遇到人體褲襠中點關(guān)鍵點就停止讀入,完成左腿輪廓;
      [0041] 新建第四個人體輪廓,從人體褲襠中點關(guān)鍵點開始逐個將點讀入新建的第四個人 體輪廓中,直到遇到人體腰部右邊緣關(guān)鍵點就停止讀入,完成右腿輪廓;
      [0042] 新建第五個人體輪廓,掃描到人體右臂下界點后,開始逐個將點讀入新建的第五 個人體輪廓中,直到遇到人體右臂上界點就停止讀入,完成右臂輪廓。
      [0043] 假設(shè)原始人體輪廓在讀點出來時逐點掃描的旋轉(zhuǎn)方向是順時針旋轉(zhuǎn),新建輪廓的 順序與逆時針旋轉(zhuǎn)時相反,每個輪廓讀入的第一個點和最后一個點也剛好與之相反。
      [0044] 本發(fā)明中包括哈爾特征、AdaBoost算法和Canny邊緣檢測算子。哈爾特征 (Haar-likefeatures)是用于物體識別的一種數(shù)字圖像特征。它們因為與哈爾小波轉(zhuǎn)換極 為相似而得名,是一種實時的人臉檢測算子。AdaBoost,是英文"AdaptiveBoosting"(自適 應(yīng)增強(qiáng))的縮寫,是一種機(jī)器學(xué)習(xí)方法,由YoavFreund和RobertSchapire提出。AdaBoost 方法的自適應(yīng)在于:前一個分類器分錯的樣本會被用來訓(xùn)練下一個分類器。AdaBoost方法 對于噪聲數(shù)據(jù)和異常數(shù)據(jù)很敏感。但在一些問題中,AdaBoost方法相對于大多數(shù)其它學(xué) 習(xí)算法而言,不會很容易出現(xiàn)過擬合現(xiàn)象。AdaBoost方法中使用的分類器可能很弱(比如 出現(xiàn)很大錯誤率),但只要它的分類效果比隨機(jī)好一點(比如兩類問題分類錯誤率略小于 〇. 5),就能夠改善最終得到的模型。而錯誤率高于隨機(jī)分類器的弱分類器也是有用的,因為 在最終得到的多個分類器的線性組合中,可以給它們賦予負(fù)系數(shù),同樣也能提升分類效果。 Canny邊緣檢測算子是JohnF.Canny于1986年開發(fā)出來的一個多級邊緣檢測算法。
      [0045] 有益效果:采用本發(fā)明的方法,輸入無肢體重疊的圖像或者視頻,可自動完成人體 組件的劃分。可進(jìn)一步用于人體的三維重建、人體組件的自動測量和動作識別等領(lǐng)域。該 方法具有較高的通用型,可適用于多種工程領(lǐng)域。
      【附圖說明】
      [0046] 下面結(jié)合附圖和【具體實施方式】對本發(fā)明做更進(jìn)一步的具體說明,本發(fā)明的上述和 /或其他方面的優(yōu)點將會變得更加清楚。
      [0047] 圖1為本發(fā)明流程圖。
      [0048] 圖2為人體的關(guān)鍵點不意圖
      [0049] 圖3為輪廓像素點沿輪廓的鏈?zhǔn)浇Y(jié)構(gòu)。
      [0050] 圖4a~圖4d為軀干分割示例1。
      [0051] 圖5a~圖5d為軀干分割不例2。
      【具體實施方式】
      [0052] 本發(fā)明提出的一種基于人臉檢測和關(guān)鍵點定位的人體組件劃分方法的基本出發(fā) 點是通過使用較為成熟的人臉檢測算法,通過人臉識別確定人臉的中心點和半徑。再根據(jù) 人臉位置和大小,準(zhǔn)確定位人體輪廓,再根據(jù)人體各部分比例的約束關(guān)系,在輪廓上尋找關(guān) 鍵點,根據(jù)關(guān)鍵點和輪廓信息實現(xiàn)人體組件的劃分。
      [0053] 本發(fā)明使用比較成熟人臉檢測算法進(jìn)行人臉定位,再根據(jù)人臉位置和輪廓上的關(guān) 鍵點信息進(jìn)行組件劃分。其特征是在輸入圖像后,包括以下處理步驟:
      [0054] 步驟1,輸入無肢體重疊的人體圖像,在圖像中使用Adaboost學(xué)習(xí)算法,即基于 Haar-like級聯(lián)分類器的人臉檢測方法進(jìn)行人臉檢測,根據(jù)檢測得到的人臉的位置信息確 定人臉的中心和人臉的的半徑;
      [0055] 步驟2,根據(jù)人臉的位置信息檢測得到對應(yīng)的人體外輪廓;
      [0056] 步驟3,基于十字鏈表結(jié)構(gòu)在檢測得到的人體輪廓上進(jìn)行關(guān)鍵點定位;
      [0057] 步驟4,利用關(guān)鍵點將人體輪廓劃分成各人體組件的輪廓。
      [0058] 其中,步驟2包括:使用Canny算子進(jìn)行邊緣檢測,找出人體圖像中所有物體的外 輪廓集合私},1£{1,2,一,111},且(;=妒」(父」,¥」)},_]_£{1,2,.",11},111、11為大于1的 自然數(shù),Pj(Xj,Yj)表示外輪廓上的像素點,Y」分別表示外輪廓上的像素點的橫坐標(biāo)和 縱坐標(biāo),I和分別表示檢測得到的人臉中心橫坐標(biāo)、人臉中心縱坐標(biāo)和人臉半徑,滿 足如下公式:
      [0061] 其中外輪廓集合{CJ中元素最多的輪廓為人體輪廓。
      [0062]步驟3包括如下步驟:
      [0063] 步驟3-1,采用十字鏈表的存儲結(jié)構(gòu)對人體外輪廓上的像素點的簡單鏈?zhǔn)浇Y(jié)構(gòu)進(jìn) 行重組,并進(jìn)行關(guān)鍵點的查找和定位,關(guān)鍵點包括:人臉中心點1個、人體頸部左右邊緣關(guān) 鍵點共2個、人體左臂和右臂的上界點以及人體左臂和右臂的下界點共4個、人體腰部左右 邊緣關(guān)鍵點共2個、人體褲襠中點1個;
      [0064] 步驟3-2,建立十字鏈表:對人體外輪廓上的像素點列進(jìn)行一次逐點鏈?zhǔn)綊呙瑁?掃描過程中,掃描第一個點時,分別建立一個行頭指針和一個列頭指針,都指向掃描的這個 點,再新建一個總指針,向右指向行頭指針,向下指向列頭指針,然后按人體外輪廓的鏈?zhǔn)?結(jié)構(gòu)逐個掃描其它點時,如屬于已創(chuàng)建行或列,便按行或列坐標(biāo)順序加入十字鏈表中,如不 屬于已創(chuàng)建行或列,便新建一個行或列頭指針,先將此指針加入行或列頭指針鏈中,再把指 針指向該掃描點,統(tǒng)計每行和每列的點個數(shù)total,并用index標(biāo)識每個點在被讀取出來的 序號即在被讀取出來時是第幾個;
      [0065] 步驟3-3,確定人體頸部左、右邊緣關(guān)鍵點,算法步驟如下:
      [0066] 步驟3-3-1,獲取十字鏈表行鏈坐標(biāo)Y= 的行指針;
      [0067]步驟3-3-2,遍歷十字鏈表中所有點Pj,若存在點Pj的橫坐標(biāo)滿足XjX^R/XjOC。,則Pj為人體頸部左邊緣關(guān)鍵點,若Pj為十字鏈表中最后一個點且XyXjO^+l,則Pj為人體頸 部右邊緣關(guān)鍵點,若人體頸部左右邊緣關(guān)鍵點全找到,則算法終止,否則執(zhí)行步驟3-3-3;
      [0068] 步驟3-3-3,行指針上移一行,若行鏈坐標(biāo)Y=Y〇-R(),算法終止;
      [0069] 步驟3-3-4,重復(fù)步驟3-3-2和步驟3-3-3。
      [0070] 步驟3-4,確定人體褲襠中點關(guān)鍵點,算法步驟如下:
      [0071] 步驟3-4-1,獲取十字鏈表行鏈坐標(biāo)Y= (2RQX5. 5/4)X(1-0. 467)/ (l-〇.844)-(YQ-RQ)的行指針;
      [0072]步驟3-4-2,遍歷十字鏈表中所有點Pj,若存在點Pj的橫坐標(biāo)X』滿足XA〈Xj〈XB,則 執(zhí)行步驟3-4-3,PJPPB分別表示人體頸部左、右邊緣關(guān)鍵點,XJPXB分別為人體頸部左、 右邊緣關(guān)鍵點的橫坐標(biāo),若不存在且行指針未移動過,執(zhí)行步驟3-4-4,若不存在且行指針 移動過,執(zhí)行步驟3_4_5 ;
      [0073] 步驟3-4-3,定義當(dāng)前行鏈坐標(biāo)為Yk,逐行向上遍歷十字鏈表中行鏈坐 標(biāo)滿足Yk〈Y〈 =Yk-h〇G的行,其中h〇G為肚臍到臀部下邊緣的豎直高度,h〇G= (2R0X5. 5/4)X(0? 600-0. 467)八1-0. 844),若十字鏈表中存在點P」的橫坐標(biāo)X」?jié)M足 XA〈X^XB的行鏈,將行指針上移到此行,繼續(xù)執(zhí)行步驟3-4-2,否則執(zhí)行步驟3-4-5 ;
      [0074]步驟3-4-4,逐行向下遍歷十字鏈表中所有點Pj,找到第一個存在點P#橫坐標(biāo)X」 滿足XA〈Xj〈XB的行;
      [0075]步驟3-4-5,遍歷步驟3-4-4找到的行中所有的點,|X」-(XA+XB) /2 |最小的點即為 人體褲襠中點關(guān)鍵點;
      [0076] 步驟3-5,確定人體腰部左右邊緣關(guān)鍵點,算法步驟如下:
      [0077] 步驟3-5-1,獲取十字鏈表中行鏈坐標(biāo)Y=Y^hoG的行指針,表示人體褲襠中點 關(guān)鍵點,表示點Px的縱坐標(biāo);
      [0078] 步驟3-5-2,若行鏈坐標(biāo)Y>1,則執(zhí)行步驟3-5-3,否則遍歷十字鏈表中所有點,若 存在橫坐標(biāo)\滿足XfWoS/^K= 的點Pp&表示點P 橫坐標(biāo),其中Xj最小的點P』 是人體腰部左邊緣關(guān)鍵點,若存在滿足X'X' =XfWoS/2的點匕,其中\(zhòng)最大的點P」是 人體腰部右邊緣關(guān)鍵點,WoS為肩寬,若人體腰部左、右邊緣關(guān)鍵點并未全找到,則執(zhí)行步驟 3-5-4,若腰部左、右邊緣關(guān)鍵點全找到,則算法終止;
      [0079] 步驟3-5-3,將WoS
      當(dāng)前第2頁1 2 3 4 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1