在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

利用opencv+openpose實現人體姿態檢測

新機器視覺 ? 來源:新機器視覺 ? 2023-06-26 10:15 ? 次閱讀

利用opencv+openpose實現人體姿態檢測,附詳細代碼。

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

前言

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

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

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

應用:

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

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

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

用于增強安保和監控

一、環境配置

pycharm2021.2.2

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

1.導入文件

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

在pycharm上導入相應的文件后,你可以直接點擊運行,系統會提示你缺少了什么環境,缺少什么就安裝什么,通過終端使用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)

這里便是主函數的代碼。

3.效果展示

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

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

三、效果優化

這個幀率雖然可以,但是效果屬實有點拉跨。教我K210的學長便指導我進行優化改進,這里附上學長的連接(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轉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轉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)

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

##!!!處理幀函數
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

總結

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

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

    關注

    2551

    文章

    51099

    瀏覽量

    753572
  • 3D
    3D
    +關注

    關注

    9

    文章

    2878

    瀏覽量

    107538
  • OpenCV
    +關注

    關注

    31

    文章

    635

    瀏覽量

    41350

原文標題:實踐教程|通過Opencv+Openpose實現人體姿態檢測

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

收藏 人收藏

    評論

    相關推薦

    【愛芯派 Pro 開發板試用體驗】人體姿態估計模型部署前期準備

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

    基于openCV的人臉檢測系統的設計

    通過對基于Adaboost人臉檢測算法的研究,利用該算法與計算機視覺類庫openCV進行人臉檢測系統的設計,實現了對出現在視頻或圖像中的人臉
    發表于 12-23 14:19

    如何利用MPU6050進行姿態檢測

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

    如何對基于RK3399的OPENPOSE進行開發設計呢

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

    人手姿態檢測系統的設計與實現

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

    iNEMO模塊的姿態檢測設計方案

    近年來,MEMS技術的發展開辟了一個全新的技術領域和產業,采用MEMS技術制作的微傳感器、微執行器、電力電子器件等在航空、航天、汽車、生物醫學、軍事等領域中都有著十分廣闊的應用前景,同時人體姿態檢測
    發表于 10-15 10:40 ?0次下載
    iNEMO模塊的<b class='flag-5'>姿態</b><b class='flag-5'>檢測</b>設計方案

    iNEMO模塊的特點及用其實現人體姿態檢測系統的設計

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

    使用Adaboost算法實現車牌檢測OpenCV實現的研究分析

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

    利用OpenCV構建一個RaspberryPi運動檢測系統

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

    使用Vitis AI和Openpose處理數據以檢測跌倒檢測

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

    100行Python實現人體膚色檢測

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

    通過Opencv+Openpose實現姿態檢測

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

    AI深度相機-人體姿態估計應用

    夠構建一個可以檢測、分析和響應人體運動的應用程序和系統。代碼我們的演示視頻如下,該視頻展示了這項技術的實際功能。您可以看到使用虹科AI深度相機實現人體姿勢估計是多
    的頭像 發表于 07-31 17:42 ?1013次閱讀
    AI深度相機-<b class='flag-5'>人體</b><b class='flag-5'>姿態</b>估計應用

    利用OpenCV進行顏色檢測

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

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

    人體姿態識別是計算機視覺領域中的重要問題之一,具有廣泛的應用前景,如智能安防、虛擬現實、醫療輔助等。毫米波雷達技術作為一種無需直接接觸目標就能實現高精度探測的感知技術,在人體
    的頭像 發表于 04-24 15:20 ?709次閱讀
    主站蜘蛛池模板: 色先峰| 成人精品福利| 欧美激情伊人| 亚洲欧洲日韩综合| 久久婷婷午色综合夜啪| 天天搞天天爽| 永久黄网站色视频免费观看99| 亚洲精品456人成在线| 狼狼色丁香久久女婷婷综合| 天天视频免费观看高清影视| 中文字幕在线播放一区| 色伊伊| 中文字幕自拍| abc119影院成人免费看| 四虎永久影院永久影库| www.毛片.com| sss华人在线play| 色天使在线播放| 亚洲视频精品| 一区二区三区高清视频在线观看 | 色成人亚洲| 亚洲欧美性另类春色| 亚洲一区不卡视频| 欧美日韩色图| 久久香蕉精品视频| 亚洲影视大全| 97干干| 亚洲综合区图片小说区| 欧美日本三级| 免费看美女午夜大片| 亚洲午夜小视频| 亚洲综合在线观看一区www| 欧美性喷潮xxxx| 久久天天躁狠狠躁夜夜躁| 一区二区三区高清在线观看| 国产精品黄网站免费进入| 欧美性极品hd高清视频| 欧美在线一区二区三区| 久久精品免视看国产成人2021| 亚洲狠狠综合久久| 午夜精品久久久久久久|