openpose姿態估計【學習筆記】

文章目錄

      • 1、人體需要檢測的關鍵點
      • 2、Top-down方法
      • 3、Openpose
        • 3.1 姿態估計的步驟
        • 3.2 PAF(Part Affinity Fields)部分親和場
        • 3.3 制作PAF標簽
        • 3.4 PAF權值計算
        • 3.5 匹配方法
      • 4、CPM(Convolutional Pose Machines)模型
      • 5、Openpose
        • 5.1 序列的作用
        • 5.2 整體框架

1、人體需要檢測的關鍵點

在本項目中,需要檢測人體18個關鍵點,除了下圖所標注的17個關鍵點外,還有1個脖子關鍵點

在這里插入圖片描述

2、Top-down方法

1、檢測得到所有人的框;
2、對每一個框進行姿態估計輸出結果

Top-down方法的問題
1、姿態估計做成啥樣主要由人體檢測所決定,能檢測到效果估計也沒問題
2、但是如果倆人出現重疊,只檢測到一個人,那肯定會丟失一個目標
3、計算效率有點低,如果一張圖像中存在很多人,那姿態估計得相當慢了

能不能設計一種方法不依賴于人體框而是直接進行預測呢?有的,接下來請看下面的方法

3、Openpose

3.1 姿態估計的步驟

姿態估計的2個步驟
1、識別出圖片中所有關鍵點,
2、按順序拼接同屬一個人的所有關鍵點

如下面左圖所示,我們識別人體18個關鍵點中的右肩關鍵點,就在圖片中建立熱度圖(高斯),識別18個關鍵點就需要建立18個特征圖
在這里插入圖片描述

3.2 PAF(Part Affinity Fields)部分親和場

PAF作用:將屬于同一個人的不同關鍵點按順序拼接

整體框架如下,1張圖片經過CNN網絡后分成2個網絡,Parts Detection網絡是預測關鍵點,Parts Association網絡是預測方向,人體18個關鍵點總共需要19個不同的方向,而確定方向至少需要1個平面,即 x x x y y y 坐標,所以Parts Association需要預測19x2=38個特征圖

在這里插入圖片描述

3.3 制作PAF標簽

Parts Association輸出38張特征圖,其中19張特征圖預測 x x x 坐標,19張特征圖預測 y y y 坐標,每一張特征圖的像素點都需要輸出坐標值。在PAF標簽處理中,把2個關鍵點所包圍的矩形當中的所有像素值的方向與2個關鍵點的方向都一致。
在這里插入圖片描述
藍色和紅色分別是兩個關鍵點, V V V 是其向量,

在這里插入圖片描述
在這里插入圖片描述

對于其中某個PAF特征圖(19種連接方式種的1種),這就相當于得到PAF標簽值了,包括所有人在該連接處的向量,
在這里插入圖片描述

3.4 PAF權值計算

兩個關鍵點j1與j2之間的權值計算方法
在這里插入圖片描述
d j 1 d_{j1} dj1? d j 2 d_{j2} dj2?分別表示j1與j2兩點的坐標,求j1和j2間各點的PAF在線段j1j2上投影的積分,其實就是線段上各點的PAF方向如果與線段的方向越接近權值就越大

3.5 匹配方法

在這里插入圖片描述

4、CPM(Convolutional Pose Machines)模型

為OpenPose后面的工作奠定了基礎,也可以當作基礎框架,通過多個stage來不斷優化關鍵點位置(stage1預測完全錯誤,2和3在糾正)

在這里插入圖片描述

stage越多相當于層數越深,模型感受野越大,姿態估計需要更大的感受野,因為進行關鍵點檢測需要更多關于人體的信息,所以感受野越大則人體的信息越多,關鍵點檢測越能檢測準確

在這里插入圖片描述

使用多個stage級聯的思想,每個stage都加損失函數,也就是中間過程也得做的好才行

在這里插入圖片描述

5、Openpose

兩個網絡結構分別搞定:1、關鍵點預測;2、姿勢的‘親和力’向量
使用多個stage級聯的思想,2個網絡結構輸出之后再進行特征融合,因為方向的預測離不開關鍵點的位置信息,關鍵點的位置信息也與方向有關

在這里插入圖片描述

5.1 序列的作用

多個stage,相當于糾正的過程,不斷調整預測結果

在這里插入圖片描述

5.2 整體框架

兩個分支都要經過多個階段,注意每個階段后要把特征拼接一起

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/43052.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/43052.shtml
英文地址,請注明出處:http://en.pswp.cn/news/43052.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

怎么修改圖片的分辨率?

怎么修改圖片的分辨率?很多人還不知道分辨率是什么意思,以為代表了圖片的清晰度,然而并不是這樣的,其實圖片的分辨率就是圖片尺寸大小的意思。修改圖片的分辨率即改變圖片的尺寸,通常以像素為單位表示。分辨率決定了圖…

【linux基礎(四)】對Linux權限的理解

💓博主CSDN主頁:杭電碼農-NEO💓 ? ?專欄分類:Linux從入門到開通? ? 🚚代碼倉庫:NEO的學習日記🚚 ? 🌹關注我🫵帶你學更多操作系統知識 ? 🔝🔝 Linux權限 1. 前言2. shell命…

八、Linux下,grep/wc/管道符/echo/重定向符/tail如何使用?

1、grep命令 (1)主要用于文件 (2)主要作用是“通過關鍵字,過濾文件行” (3)示例: 2、wc命令 (1)統計文件的行數、單詞數等 (2)示例…

react之路由的安裝與使用

一、路由安裝 路由官網2021.11月初,react-router 更新到 v6 版本。使用最廣泛的 v5 版本的使用 npm i react-router-dom5.3.0二、路由使用 2.1 路由的簡單使用 第一步 在根目錄下 創建 views 文件夾 ,用于放置路由頁面 films.js示例代碼 export default functio…

一文預覽 | 8 月 16 日 NVIDIA 在 WAVE SUMMIT深度學習開發者大會 2023精彩亮點搶先看!

由深度學習技術及應用國家工程研究中心主辦,百度飛槳和文心大模型承辦的 WAVE SUMMIT深度學習開發者大會2023,將于 8 月 16 日在北京與大家見面。NVIDIA 作為技術合作伙伴,將攜手百度飛槳參與這場技術盛會。 在這次大會中,NVIDIA…

Java 項目日志實例基礎:Log4j

點擊下方關注我,然后右上角點擊...“設為星標”,就能第一時間收到更新推送啦~~~ 介紹幾個日志使用方面的基礎知識。 1 Log4j 1、Log4j 介紹 Log4j(log for java)是 Apache 的一個開源項目,通過使用 Log4j,我…

RabbitMq交換機類型介紹

RabbitMq交換機類型介紹 在RabbitMq中,生產者的消息都是通過交換器來接收,然后再從交換器分發到不同的隊列,再由消費者從隊列獲取消息。這種模式也被成為“發布/訂閱”。 分發的過程中交換器類型會影響分發的邏輯。 直連交換機&#xff1a…

【計算機視覺|生成對抗】逐步增長的生成對抗網絡(GAN)以提升質量、穩定性和變化

本系列博文為深度學習/計算機視覺論文筆記,轉載請注明出處 標題:Progressive Growing of GANs for Improved Quality, Stability, and Variation 鏈接:[1710.10196] Progressive Growing of GANs for Improved Quality, Stability, and Vari…

神經網絡基礎-神經網絡補充概念-51-局部最優問題

概念 局部最優問題是在優化問題中常見的一個挑戰,特別是在高維、非凸、非線性問題中。局部最優問題指的是算法在優化過程中陷入了一個局部最小值點,而不是全局最小值點。這會導致優化算法在某個局部區域停止,而無法找到更好的解。 解決方案…

安防監控視頻云存儲平臺EasyNVR出現內核報錯的情況該如何解決?

安防視頻監控匯聚EasyNVR視頻集中存儲平臺,是基于RTSP/Onvif協議的安防視頻平臺,可支持將接入的視頻流進行全平臺、全終端分發,分發的視頻流包括RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、WebRTC等格式。 近期有用戶聯系到我們,EasyNVR…

kafka集成篇

kafka的Java客戶端 生產者 1.引入依賴 <dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId><version>2.6.3</version></dependency>2.生產者發送消息的基本實現 /*** 消息的發送?*/ …

SAP 預留(Reservation)詳解

相信使用SAP的話&#xff0c;對SAP的SAP預留(Reservation)已經有所了解&#xff0c;而且經常使用作業的&#xff0c;并且在很多方案中都使用得到&#xff0c;下面我就簡單總結下我所了解的SAP預留(Reservation)&#xff0c;希望對一些需要幫助的人&#xff0c;有所指點。 首先…

分類預測 | MATLAB實現DRN深度殘差網絡多輸入分類預測

分類預測 | MATLAB實現DRN深度殘差網絡多輸入分類預測 目錄 分類預測 | MATLAB實現DRN深度殘差網絡多輸入分類預測預測效果基本介紹程序設計參考資料 預測效果 基本介紹 1.分類預測 | MATLAB實現DRN深度殘差網絡多輸入分類預測 2.代碼說明&#xff1a;MATLAB實現DRN深度殘差網絡…

LVS集群和nginx負載均衡

目錄 1、基于 CentOS 7 構建 LVS-DR 群集。 2、配置nginx負載均衡。 1、基于 CentOS 7 構建 LVS-DR 群集。 1.部署LVS負載調度器 1>安裝配置工具 [rootnode6 ~]# yum install -y ipvsadm 2>配置LVS虛擬IP&#xff08;VIP地址&#xff09; [rootnode6 ~]# ifconfig ens…

32.Netty源碼之服務端如何處理客戶端新建連接

highlight: arduino-light 服務端如何處理客戶端新建連接 Netty 服務端完全啟動后&#xff0c;就可以對外工作了。接下來 Netty 服務端是如何處理客戶端新建連接的呢&#xff1f; 主要分為四步&#xff1a; md Boss NioEventLoop 線程輪詢客戶端新連接 OP_ACCEPT 事件&#xff…

VB+SQL自動點歌系統設計與實現

摘 要 隨著社會的發展,人類的進步,21世紀人們的生活的水平有所提高,為了滿足人們對生活的需要,豐富業余生活,就需要有一些娛樂的設施來彌補這些空缺,所以開發了自動點歌系統。 論文詳細論述了系統總體設計思想、數據庫設計以及功能模塊設計等,給出了自動點歌系統一般流程…

算法與數據結構(七)--堆

一.堆 1.堆的定義 堆是計算機科學中一類特殊的數據結構的通常&#xff0c;堆通常可以被看做是一顆完全二叉樹的數組對象。 堆的特性 1.它是完全二叉樹&#xff0c;除了樹的最后一層結點不需要是滿的&#xff0c;其他的每一層從左到右都是滿的&#xff0c;如果最后一層結點不…

管理類聯考——邏輯——真題篇——按知識分類——匯總篇——二、論證邏輯——支持加強——第三節——分類3——類比題干支持

文章目錄 第三節 支持加強-分類3-類比題干支持真題(2017-28)-支持加強-正面支持-表達“確實如此”真題(2017-36)-支持加強-正面支持-表達“確實如此”真題(2017-39)-支持加強-正面支持-方法有效或方法可行,但多半不選擇方法無惡果真題(2017-50)-支持加強真題(2018-2…

linux 文件權限識別及其修改

一、文件權限認識 在 Linux 系統中&#xff0c;一切皆文件&#xff0c;目錄也是一種文件形式叫目錄文件&#xff0c;它們的屬性主要包含&#xff1a;索引節點(inode)&#xff0c;類型、權限屬性、鏈接數、所歸屬的用戶和用戶組、最近修改時間等內容。 如下為根目錄下目錄&…

華創云鼎面試:java后端開發

華創云鼎面試: 1、項目:項目業務介紹、項目人員組成 2、分布式鎖用過哪些 基于數據庫的鎖&#xff1a;可以使用關系型數據庫的事務和行級鎖來實現分布式鎖。通過在數據庫中創建一個標志位或特定的鎖表來表示資源的鎖定狀態&#xff0c;其他進程在訪問該資源之前需要先獲取該鎖…