日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【自动驾驶】15.一文读懂图像中点的坐标变换(刚体变换,相似变换,仿射变换,投影变换)

發布時間:2025/3/21 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【自动驾驶】15.一文读懂图像中点的坐标变换(刚体变换,相似变换,仿射变换,投影变换) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

0 前言

現在的人臉圖像識別流程中有一個步驟叫人臉對齊,現在的一般方法是采用人臉上的關鍵點坐標,進行相似變換來實現人臉校正。多次在人臉識別的論文中看到 similarity transform,由于在線代和矩陣分析的課上一直劃水。對相似變換也是一知半解,今天決定不惜一下相關的知識。大部分的內容都是參考網上大神的,這里只是做個整理。下面的闡述主要以二維坐標為例,多維空間的左邊點,可以通過增加變換矩陣的維度得知。

1 變換矩陣

假如二維空間中存在點(x,y),我們想通過將x移動a,y移動b,得到新的坐標點(x’,y’),那么變換的公式可以寫為:

此處格式亂碼,請參考原文 https://blog.csdn.net/liuweiyuxiang/article/details/86510191

?
上式中等號后面的矩陣即為變換矩陣。為了使用矩陣表示平移變換,需要將坐標的維度增加一維,因為二維的矩陣沒有辦法表示平移變換,這叫做齊次坐標。
齊次坐標: 使用N+1維坐標來表示N維坐標,例如在2D笛卡爾坐標系中加上額外變量w來形成2D齊次坐標系(x,y)?(x,y,w) 。齊次坐標具有規模不變性,同一點可以被無數個齊次坐標表達.(x,y,1)?(ax,ay,a) 齊次坐標轉化為笛卡爾坐標可以通過同除最后一項得到。
在計算機圖形學中,為了統一將平移、旋轉、縮放等用矩陣表示,需要引入齊次坐標。(假設使用2x2的矩陣,是沒有辦法描述平移操作的,只有引入3x3矩陣形式,才能統一描述二維中的平移、旋轉、縮放操作。同理必須使用4x4的矩陣才能統一描述三維的變換。
同樣的我們可以使用矩陣來表示,縮放變換,旋轉變換,相似變換,仿射變換和投影變換。

2 剛性變換

剛性變換: 只有物體的位置(平移變換)和朝向(旋轉變換)發生改變,而形狀不變,得到的變換稱為剛性變換。剛性變換是最一般的變換。

2.1 平移變換

平移變換我們在上面已經提到過

2.2 旋轉變換


旋轉變換的變換矩陣,不像平移變換那么容易得到,我們這里介紹一下,旋轉變換的變換矩陣是怎么求出來的。

2.2.1 繞原點的二維旋轉

首先要明確旋轉在二維中是繞著某一個點進行旋轉,三維中是繞著某一個軸進行旋轉。二維旋轉中最簡單的場景是繞著坐標原點進行的旋轉,如下圖所示:

2.2.3 繞任意點的二維旋轉

繞原點的旋轉是二維旋轉最基本的情況,當我們需要進行繞任意點旋轉時,我們可以把這種情況轉換到繞原點的旋轉,思路如下:

  • 首先將旋轉點移動到原點處
  • 執行如2所描述的繞原點的旋轉
  • 再將旋轉點移回到原來的位置

    對于二維平移,如下圖所示,P點經過x和y方向的平移到P’點,可以得到:
  • 2.3 等距變換

    等距變換相當于是平移變換和旋轉變換的復合,用R表示變換矩陣,即為 :

    左上角2×2矩陣為旋轉部分,tx和ty為平移因子,它有三個自由度,即旋轉,x方向平移,y方向平移。等距變換前后長度,面積,線段之間的夾角都不變。

    3 相似變換

    在介紹相似變換之前先介紹兩個簡單的變換,縮放變換和切向變換。

    3.1 縮放變換

    3.2 切向變換

    3.3 相似變換

    相似變換相當于是等距變換和均勻縮放的一個復合,用S表示變換矩陣,即為

    左上角2×2矩陣為旋轉部分,tx和ty為平移因子,它有4個自由度,即旋轉,x方向平移,y方向平移和縮放因子s。相似變換前后長度比,夾角,虛圓點I,J保持不變。相似變換其實與相似三角形之間是有類似的。

    4 仿射變換

    仿射變換和相似變換近似,不同之處在于相似變換具有單一旋轉因子和單一縮放因子,仿射變換具有兩個旋轉因子和兩個縮放因子,因此具有6個自由度。不具有保角性和保持距離比的性質,但是原圖平行線變換后仍然是平行線。仿射變換主要包括平移變換、旋轉變換、縮放變換(也叫尺度變換)、傾斜變換(也叫錯切變換、剪切變換、偏移變換)、翻轉變換,有六個自由度。

    仿射變換的表示如下:

    仿射變換的特點如下:
    仿射變換保持二維圖形的“平直性”和“平行性”,但是角度會改變。
    “平直性”:變換后直線還是直線、圓弧還是圓弧。
    “平行性”:平行線還是平行線,直線上點的位置順序不變。
    它有6個自由度,即旋轉4個,也就是前述大矩形的4個元素都可以同時改變,x方向平移,y方向平移。它能保持平行性,不能保持垂直性,Image中各部分變換前后面積比保持不變,共線線段或者平行線段的長度比保持不變,矢量的線性組合不變。

    5 投影變換

    在這里需要明晰一下的是,透視變換(Perspective Transformation)也稱作投影變換(Projective Transformation)、射影變換。
    射影變換:是最一般的線性變換。有8個自由度。射影變換保持重合關系和交比不變。但不會保持平行性。即它會使得仿射變換產生非線性效應。
    射影變換組成了一個群,這個群被稱為射影變換群,n×n可逆實矩陣稱為一般線性群GL(n),當把相差非零純量因子的矩陣都視為等同時,便得到射影映射群,記為PL(n)。在平面,射影變換為PL(3)。

    仿射變換和射影變換的區別
    其中當上面矩陣的最后一行為(0,0,1)時的變換就為仿射變換,在仿射的前提下,當左上角2×2矩陣正交時為歐式變換,左上角矩陣行列式為1時為定向歐式變換。所以射影變換包含仿射變換,而仿射變換包含歐式變換。
    至此我們得到了射影變換和仿射變換的關系。

    6 解析變換矩陣

    變換矩陣可以分為如下幾個部分:

    其中大矩形中的4個元素組成的整體表示線性變換,比如scaling(尺度),shearing(剪切)和ratotion(旋轉);橢圓部分表示平移的參數,一個確定在x方向上的平移一個確定在y方向上的平移;小矩形部分用于產生透視變換。從這里所以可以理解成仿射等是透視變換的特殊形式。其實不管是仿射變換是透視變換的特殊形式,其他所有的變換都是透視變換的變換矩陣取特殊值的特殊形式。
    最后再補充一些名詞上的解釋:
    projective transformation(投影變換) = homography(單應性變換) = collineation( 直射變換).

    參考博客:

  • 旋轉變換(一)旋轉矩陣
  • 圖像幾何變換之仿射變換
  • 何為仿射變換(Affine Transformation)
  • 【Computer Vision】圖像單應性變換/投影/仿射/透視
  • 仿射變換和射影變換、等距變換、相似變換
  • 總結

    以上是生活随笔為你收集整理的【自动驾驶】15.一文读懂图像中点的坐标变换(刚体变换,相似变换,仿射变换,投影变换)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。