Head Pose estimation_PnP(Perspective-n-Point)多點透視問題_ 2D and 3D feature-based alignment
頭部姿態的三個自由度
在2020年一篇IEEE論文是有關於「頭部姿態估計方法綜述」的回顧中,可得知頭部姿態通常以三個自由度來表示。分別是俯仰角(pitch)、偏航角(yaw)與翻滾角(roll),頭部姿態也蘊藏豐富的資訊,比方點頭可能代表答應、理解等,搖頭則表示否定。
延伸應用時常用於視線估計、臉部表情分析,於駕駛監控系統中也十分重要,能去評估駕駛精神狀況。也有應用是分析學生上課專心程度。
傳統頭部姿態估測方法可先偵測人臉特徵點,再藉由頭部模型建立二維影像特徵點與三維模型點之間的對應關係,以估測三維頭部姿態。
一些先備知識可以再去這篇溫故
特徵式對齊
feature-based alignment (特徵式對齊)是估計兩組或多組已匹配的 2D 或 3D points之間運動關係的問題。
在feature-based alignment中,有一種相當常見的特定情況,就是根據一組 2D 點的投影位置,估計物體的 3D 姿態。關於姿態估計問題也被稱為是所謂的外部參數校正。與其相對的是相機內部的參數校正,比方焦距參數。
從三個對應點中恢復姿態,需要的信息是最少的,稱為「透視三點問題」(perspective-3-point-problem, P3P)。當擴展到更多點的問題,合起來稱為「PnP」。
直接線性變換 (direct linear transform, DLT)
摘自 Computer Vision Algorithms and Applications, Richard Szeliski, 2010 - Chapter 6 Feature-based alignment-6.2 Pose estimation
已知p(u,v)、p(X,Y,Z),求出K、R、t。
我們需要知道一組2D-3D對應,並知道對應點的2D與3D座標。
將上面式子中的K[R|t]展開,變成三列四行的矩陣,K內參矩陣由於固定可省略不影響推導。
兩側相乘可得到如下三個方程
化簡變底下式子
其中最底下的z 會等於右側的最底下的式子
我們可把小z帶入上面式子的zu 、 zv去化簡變底下式子
每對點可列兩個方程式,最少需要6對點才可解出該方程式。
因此當N個點,則可用以下式子去表示。
因此當N個點,則可用以下式子去表示。
當中的K是上三角矩陣,R則是正交矩陣。
以下是R的3×3 旋轉矩陣(Rotation Matrix),分別表示三維空間中繞 X、Y、Z 軸旋轉。
第一個:繞 X 軸旋轉,第二個:繞 Y 軸旋轉,第三個:繞 Z 軸旋轉。
後續衍生出來的計算式子可參考opencv官網PnP介紹
以下是R的3×3 旋轉矩陣(Rotation Matrix),分別表示三維空間中繞 X、Y、Z 軸旋轉。
第一個:繞 X 軸旋轉,第二個:繞 Y 軸旋轉,第三個:繞 Z 軸旋轉。
後續衍生出來的計算式子可參考opencv官網PnP介紹
由左至右依序就是像素座標,等號右側分別是相機內參、再來是旋轉平移矩陣、世界座標。
要估算出來的就是中間的r11,r12,....那個旋轉平移矩陣
要估算出來的就是中間的r11,r12,....那個旋轉平移矩陣
頭部姿態估測疲勞駕駛應用2022年的一篇學術研究
在2022年一篇IEEE論文是來自中國學者發表有關於「駕駛疲勞監測中無須感知的眼睛睜閉閾值校準」,他們此篇論文研究,主要用到了Mediapipe先捕捉到臉部特徵點並採用6個關鍵部位特徵點建立頭部座標系,分別如下6個2D影像座標
- nose tip(鼻尖)
- chin(下巴)
- left corner of eye(左眼角)
- right corner of eye(右眼角)
- left corner of mouth(左嘴角)
- right corner of mouth(右嘴角)
後續藉由PnP算法結合C3D(3D 卷積網路),在 YawDD 資料集上的疲勞偵測準確率高達 98%。
Ref:
完整分析 2D Projective Transformation(一)
Computer Vision Algorithms and Applications, Richard Szeliski, 2010
2020年 A survey of head pose Estimation methods
2022年 Perception-Free Calibration of Eye Opening and Closing Threshold for Driver Fatigue Monitoring
2015年 Learning Spatiotemporal Features with 3D Convolutional Networks
2000年 A flexible new technique for camera calibration
A Survey on Perspective-n-Point Problem
55-相机标定4-DLT,张正友标定法,Halcon标定算子(講的十分清楚詳盡)
3D-2D PnP方法 (DLT) (講的還行)
三维重建第三课:相机标定原理步骤(一)坐标系变换
【泡泡机器人公开课】第三十九课:PnP 算法简介&代码解析-柴政
留言
張貼留言