chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

利用opencv+openpose實現(xiàn)人體姿態(tài)檢測

新機器視覺 ? 來源:新機器視覺 ? 2023-06-26 10:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

利用opencv+openpose實現(xiàn)人體姿態(tài)檢測,附詳細代碼。

通過一個偶然機會,我了解到了人體姿態(tài)解算,在學習K210之余,我便想著通過opencv實現(xiàn)這個功能,查找了很多資料,發(fā)現(xiàn)可以利用opencv+openpose實現(xiàn),接著我又開始找一些資料,在pycharm上部署。

前言

人體姿態(tài)估計的一個有趣應用是 CGI(computer graphic image,一種電影制造技術(shù))應用。如果可以檢測出人體姿態(tài),那么圖形、風格、特效增強、設(shè)備和藝術(shù)造型等就可以被加載在人體上。

通過追蹤人體姿態(tài)的變化,渲染的圖形可以在人動的時候“自然”地與人“融合”。姿態(tài)估計的一個有趣應用是在交互游戲中追蹤人體對象的運動。

比較流行的 Kinect 使用 3D 姿態(tài)估計(采用 IR 傳感器數(shù)據(jù))來追蹤人類玩家的運動,從而利用它來渲染虛擬人物的動作。

應用:

用于檢測一個人是否摔倒或疾病

用于健身、體育和舞蹈等的自動教學

用于理解全身的肢體語言(如機場跑道信號、交警信號等)

用于增強安保和監(jiān)控

一、環(huán)境配置

pycharm2021.2.2

pycharm是一個很好用的軟件,剛開始我們必須要配置相應的環(huán)境,當然你使用我主頁里那篇模型訓練的環(huán)境也可以,在你運行的時候系統(tǒng)會提示你缺少了什么環(huán)境,并讓你安裝,你直接安裝即可。這里我就不過多的贅述了。

1.導入文件

9d879b94-13b1-11ee-962d-dac502259ad0.png

在pycharm上導入相應的文件后,你可以直接點擊運行,系統(tǒng)會提示你缺少了什么環(huán)境,缺少什么就安裝什么,通過終端使用pip安裝即可。

2.具體代碼

#TouseInferenceEnginebackend,specifylocationofplugins:
#exportLD_LIBRARY_PATH=/opt/intel/deeplearning_deploymenttoolkit/deployment_tools/external/mklml_lnx/lib:$LD_LIBRARY_PATH
importcv2ascv
importnumpyasnp
importargparse

parser=argparse.ArgumentParser()
parser.add_argument('--input',help='Pathtoimageorvideo.Skiptocaptureframesfromcamera')
parser.add_argument('--thr',default=0.2,type=float,help='Thresholdvalueforposepartsheatmap')
parser.add_argument('--width',default=368,type=int,help='Resizeinputtospecificwidth.')
parser.add_argument('--height',default=368,type=int,help='Resizeinputtospecificheight.')

args=parser.parse_args()

BODY_PARTS={"Nose":0,"Neck":1,"RShoulder":2,"RElbow":3,"RWrist":4,
"LShoulder":5,"LElbow":6,"LWrist":7,"RHip":8,"RKnee":9,
"RAnkle":10,"LHip":11,"LKnee":12,"LAnkle":13,"REye":14,
"LEye":15,"REar":16,"LEar":17,"Background":18}

POSE_PAIRS=[["Neck","RShoulder"],["Neck","LShoulder"],["RShoulder","RElbow"],
["RElbow","RWrist"],["LShoulder","LElbow"],["LElbow","LWrist"],
["Neck","RHip"],["RHip","RKnee"],["RKnee","RAnkle"],["Neck","LHip"],
["LHip","LKnee"],["LKnee","LAnkle"],["Neck","Nose"],["Nose","REye"],
["REye","REar"],["Nose","LEye"],["LEye","LEar"]]

inWidth=args.width
inHeight=args.height

net=cv.dnn.readNetFromTensorflow("graph_opt.pb")

cap=cv.VideoCapture(args.inputifargs.inputelse0)

whilecv.waitKey(1)args.threlseNone)

forpairinPOSE_PAIRS:
partFrom=pair[0]
partTo=pair[1]
assert(partFrominBODY_PARTS)
assert(partToinBODY_PARTS)

idFrom=BODY_PARTS[partFrom]
idTo=BODY_PARTS[partTo]

ifpoints[idFrom]andpoints[idTo]:
cv.line(frame,points[idFrom],points[idTo],(0,255,0),3)
cv.ellipse(frame,points[idFrom],(3,3),0,0,360,(0,0,255),cv.FILLED)
cv.ellipse(frame,points[idTo],(3,3),0,0,360,(0,0,255),cv.FILLED)

t,_=net.getPerfProfile()
freq=cv.getTickFrequency()/1000
cv.putText(frame,'%.2fms'%(t/freq),(10,20),cv.FONT_HERSHEY_SIMPLEX,0.5,(0,0,0))

cv.imshow('OpenPoseusingOpenCV',frame)

這里便是主函數(shù)的代碼。

3.效果展示

9d980970-13b1-11ee-962d-dac502259ad0.png

這副圖片便是識別的效果,幀率還是很不錯的。

三、效果優(yōu)化

這個幀率雖然可以,但是效果屬實有點拉跨。教我K210的學長便指導我進行優(yōu)化改進,這里附上學長的連接(https://blog.csdn.net/hyayq8124spm=1001.2014.3001.5509)

1.具體代碼

importcv2
importtime
importmediapipeasmp
fromtqdmimporttqdm

#導入solution
mp_pose=mp.solutions.pose


mp_drawing=mp.solutions.drawing_utils


pose=mp_pose.Pose(static_image_mode=False,
#model_complexity=1,
smooth_landmarks=True,
#enable_segmentation=True,
min_detection_confidence=0.5,
min_tracking_confidence=0.5)


defprocess_frame(img):
#BGR轉(zhuǎn)RGB
img_RGB=cv2.cvtColor(img,cv2.COLOR_BGR2RGB)

results=pose.process(img_RGB)

#可視化
mp_drawing.draw_landmarks(img,results.pose_landmarks,mp_pose.POSE_CONNECTIONS)
#look_img(img)

#mp_drawing.plot_landmarks(results.pose_world_landmarks,mp_pose.POSE_CONNECTIONS)

##BGR轉(zhuǎn)RGB
#img_RGB=cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
#
#results=hands.process(img_RGB)

#ifresults.multi_hand_landmarks:#如果有檢測到手
#
#forhand_idxinrange(len(results.multi_hand_landmarks)):
#hand_21=results.multi_hand_landmarks[hand_idx]
#mpDraw.draw_landmarks(img,hand_21,mp_hands.HAND_CONNECTIONS)

returnimg

cap=cv2.VideoCapture(1)

#打開cap
cap.open(0)

#無限循環(huán),直到break被觸發(fā)
whilecap.isOpened():
#獲取畫面
success,frame=cap.read()
ifnotsuccess:
print('Error')
break

##!!!處理幀函數(shù)
frame=process_frame(frame)

#展示處理后的三通道圖像
cv2.imshow('my_window',frame)

ifcv2.waitKey(1)in[ord('q'),27]:
break


cap.release()


cv2.destroyAllWindows()

2.效果展示

9dc0803a-13b1-11ee-962d-dac502259ad0.png

總結(jié)

到這里這篇文章就結(jié)束了,寫這篇博客只是單純記錄自己的學習過程。希望看到這篇博客的你,能夠更加堅定的學習。胡適說過一句話我覺得特別好,這里分享給大家。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2573

    文章

    53862

    瀏覽量

    779918
  • 3D
    3D
    +關(guān)注

    關(guān)注

    9

    文章

    2979

    瀏覽量

    112940
  • OpenCV
    +關(guān)注

    關(guān)注

    33

    文章

    650

    瀏覽量

    43981

原文標題:實踐教程|通過Opencv+Openpose實現(xiàn)人體姿態(tài)檢測

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    【愛芯派 Pro 開發(fā)板試用體驗】人體姿態(tài)估計模型部署前期準備

    Bottom-up類型的。 3、Openpose/lightweight openpose模型 首先要用到的是Openpose模型,這應該是最有名的人體
    發(fā)表于 01-01 01:04

    如何利用MPU6050進行姿態(tài)檢測

    與標準方向的夾角繞載體Y 軸旋轉(zhuǎn)可改變利用陀螺儀檢測角度最直觀的角度檢測器就是陀螺儀了,見圖 47-3,它可以檢測物體繞坐標軸轉(zhuǎn)動的“角速度”,如同...
    發(fā)表于 02-10 06:31

    如何對基于RK3399的OPENPOSE進行開發(fā)設(shè)計呢

    模型下載,建議在PC上做若報cv2.dnn錯誤,這是opencv版本低的問題,需要升級opencv到3.4.1以上版本(不包含3.4.1), 若報" ValueError
    發(fā)表于 06-20 16:53

    人手姿態(tài)檢測系統(tǒng)的設(shè)計與實現(xiàn)

    為了增強人機交互的交互性以及遙控操作的可控性,設(shè)計并實現(xiàn)了一款基于磁場傳感器與微加速度計的人手姿態(tài)檢測系統(tǒng)。利用坐標變換理論,通過磁場傳感器數(shù)據(jù)解算
    發(fā)表于 09-09 11:35 ?66次下載
    人手<b class='flag-5'>姿態(tài)</b><b class='flag-5'>檢測</b>系統(tǒng)的設(shè)計與<b class='flag-5'>實現(xiàn)</b>

    iNEMO模塊的特點及用其實現(xiàn)人體姿態(tài)檢測系統(tǒng)的設(shè)計

    本系統(tǒng)提出的算法主要是在加速度計、陀螺儀、磁力計采集人體運動姿態(tài)信息的基礎(chǔ)上,運用擴展卡爾曼濾波將數(shù)據(jù)進行融合,得到人體腰部和腿部的角度信息,然后通過大量實驗建立與姿態(tài)的對應關(guān)系,采用
    的頭像 發(fā)表于 11-16 07:53 ?3684次閱讀
    iNEMO模塊的特點及用其<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>人體</b><b class='flag-5'>姿態(tài)</b><b class='flag-5'>檢測</b>系統(tǒng)的設(shè)計

    使用Adaboost算法實現(xiàn)車牌檢測OpenCV實現(xiàn)的研究分析

    AdabtxⅪt是一個構(gòu)建精確分類器的學習算法,在目標檢測領(lǐng)域有著廣泛的應用。OpenCV是Intel開源計算機視覺庫。該文給出了在OpenCV利用Adaboost算法,
    發(fā)表于 09-27 17:49 ?7次下載
    使用Adaboost算法<b class='flag-5'>實現(xiàn)</b>車牌<b class='flag-5'>檢測</b>在<b class='flag-5'>OpenCV</b>上<b class='flag-5'>實現(xiàn)</b>的研究分析

    利用OpenCV構(gòu)建一個RaspberryPi運動檢測系統(tǒng)

    OpenCV是一個強大的工具,結(jié)合RaspberryPi可以打開許多便攜式智能設(shè)備的大門,我們將學習如何利用OpenCV的強大功能并在我們的實時閉路電視畫面上構(gòu)建一個RaspberryPi運動
    發(fā)表于 08-01 16:48 ?1761次閱讀
    <b class='flag-5'>利用</b><b class='flag-5'>OpenCV</b>構(gòu)建一個RaspberryPi運動<b class='flag-5'>檢測</b>系統(tǒng)

    使用Vitis AI和Openpose處理數(shù)據(jù)以檢測跌倒檢測

    電子發(fā)燒友網(wǎng)站提供《使用Vitis AI和Openpose處理數(shù)據(jù)以檢測跌倒檢測.zip》資料免費下載
    發(fā)表于 11-17 09:40 ?0次下載
    使用Vitis AI和<b class='flag-5'>Openpose</b>處理數(shù)據(jù)以<b class='flag-5'>檢測</b>跌倒<b class='flag-5'>檢測</b>

    100行Python實現(xiàn)人體膚色檢測

    本文中的人體膚色檢測功能采用 OpenCV實現(xiàn)。OpenCV是一個基于BSD許可(開源)發(fā)行的跨平臺計算機視覺庫,可以運行在Linux、
    的頭像 發(fā)表于 05-06 10:46 ?1108次閱讀

    通過Opencv+Openpose實現(xiàn)姿態(tài)檢測

    通過一個偶然機會,我了解到了人體姿態(tài)解算,在學習K210之余,我便想著通過opencv實現(xiàn)這個功能,查找了很多資料,發(fā)現(xiàn)可以利用
    的頭像 發(fā)表于 05-22 10:44 ?1744次閱讀
    通過<b class='flag-5'>Opencv+Openpose</b><b class='flag-5'>實現(xiàn)</b>體<b class='flag-5'>姿態(tài)</b><b class='flag-5'>檢測</b>

    利用OpenCV進行顏色檢測

    關(guān)于利用OpenCV進行顏色分類,本文包含了HSV介紹及應用、cv2.inRange及應用、RGB與HSV通道的區(qū)別三個方面。
    的頭像 發(fā)表于 08-18 10:32 ?1757次閱讀
    <b class='flag-5'>利用</b><b class='flag-5'>OpenCV</b>進行顏色<b class='flag-5'>檢測</b>

    毫米波雷達模塊在高精度人體姿態(tài)識別的應用

    人體姿態(tài)識別是計算機視覺領(lǐng)域中的重要問題之一,具有廣泛的應用前景,如智能安防、虛擬現(xiàn)實、醫(yī)療輔助等。毫米波雷達技術(shù)作為一種無需直接接觸目標就能實現(xiàn)高精度探測的感知技術(shù),在人體
    的頭像 發(fā)表于 04-24 15:20 ?1416次閱讀

    如何使用樹莓派+OpenCV實現(xiàn)姿態(tài)估計和面部特征點追蹤?

    大家好,這是一個樹莓派和OpenCV的連載專題。使用樹莓派與OpenCV實現(xiàn)姿態(tài)估計和面部特征點追蹤使用樹莓派與OpenCV
    的頭像 發(fā)表于 08-13 17:44 ?728次閱讀
    如何使用樹莓派+<b class='flag-5'>OpenCV</b><b class='flag-5'>實現(xiàn)</b><b class='flag-5'>姿態(tài)</b>估計和面部特征點追蹤?

    如何使用樹莓派與OpenCV實現(xiàn)面部和運動追蹤的云臺系統(tǒng)?

    大家好,這是一個樹莓派和OpenCV的連載專題。使用樹莓派與OpenCV實現(xiàn)姿態(tài)估計和面部特征點追蹤使用樹莓派與OpenCV
    的頭像 發(fā)表于 08-14 17:45 ?705次閱讀
    如何使用樹莓派與<b class='flag-5'>OpenCV</b><b class='flag-5'>實現(xiàn)</b>面部和運動追蹤的云臺系統(tǒng)?

    ANSA人體模型姿態(tài)調(diào)整工具介紹

    ANSA的人體模型姿態(tài)調(diào)整工具(HBM Articulation Tool)通過網(wǎng)格變形技術(shù)實現(xiàn)基于人體不同部位進行調(diào)節(jié),定位人體模型最終的
    的頭像 發(fā)表于 09-28 15:40 ?457次閱讀
    ANSA<b class='flag-5'>人體</b>模型<b class='flag-5'>姿態(tài)</b>調(diào)整工具介紹