為什么 sim(3) 中的尺度 s 與旋轉 R 相乘,而不是平移 t?

文章目錄

  • 為什么 sim(3) 中的尺度 s 與旋轉 R 相乘,而不是平移 t?
    • 1?? sim(3) vs SE(3):結構對比與核心差異
    • 2?? 為什么尺度 s 不乘在 t 上?
      • 🚫 數學破壞:
      • 🧭 幾何解釋:
    • 3?? t 是“相對位置”,s 才是“真實尺度”
    • 4?? 圖解:SE(3) 與 sim(3) 的視覺差異
    • 5?? 延伸思考:SLAM 系統中尺度恢復方式
    • ? 總結一句話:
  • 參考


為什么 sim(3) 中的尺度 s 與旋轉 R 相乘,而不是平移 t?

在視覺 SLAM 和三維重建中,相似變換 sim(3) 是一個關鍵數學模型,它可以表示三維空間中物體的旋轉、平移與尺度變化。但許多初學者和研究者在面對 sim(3) 變換時都會提出一個非常有代表性的問題:

?既然 sim(3) 中的尺度 s 是用來恢復真實物理尺度的,那為什么 s 只作用在旋轉 R 上,而不是也作用在平移 t 上?

這篇文章將從變換結構、幾何邏輯和 SLAM 系統中尺度不確定性的本質三個角度,深入分析這個問題。


1?? sim(3) vs SE(3):結構對比與核心差異

在歐式變換 SE(3) 中,我們熟悉的剛性變換形式是:

T=[Rt01],x′=Rx+tT = \begin{bmatrix} R & t \\ 0 & 1 \end{bmatrix}, \quad x' = R x + t T=[R0?t1?],x=Rx+t

這個變換會保持物體的形狀與尺度,不會改變兩點之間的距離。

而在相似變換 sim(3) 中,我們引入了尺度因子 s,變換形式為:

T=[sRt01],x′=sRx+tT = \begin{bmatrix} sR & t \\ 0 & 1 \end{bmatrix}, \quad x' = sR x + t T=[sR0?t1?],x=sRx+t

這里的 s 和 R 是共同作用于點 x 的,而 t 是直接疊加的平移項

核心結論:

sim(3) 改變了物體的尺度(邊長變了),但保持了形狀(角度、比例不變)。


2?? 為什么尺度 s 不乘在 t 上?

很多人會自然地想象成:

x′=sRx+stx' = s R x + s t x=sRx+st

但這實際上破壞了 sim(3) 的群結構,并且在數學和幾何邏輯上都不合理:

🚫 數學破壞:

若將變換寫成:

T=[sRst01]T = \begin{bmatrix} sR & st \\ 0 & 1 \end{bmatrix} T=[sR0?st1?]

我們可以提取一個因子 s:

T=s?[Rt01s]T = s \cdot \begin{bmatrix} R & t \\ 0 & \frac{1}{s} \end{bmatrix} T=s?[R0?ts1??]

這不再是一個仿射變換,也不符合 Lie 群 sim(3) 的封閉性和組合規律。

🧭 幾何解釋:

  • R 與 s 一起描述“對物體的變換”:旋轉 + 縮放
  • t 單獨控制“變換后物體位于哪里”,是純平移

如果你也對 t 進行縮放,反而失去了 t 的原始幾何意義


3?? t 是“相對位置”,s 才是“真實尺度”

在實際系統中(尤其是單目 SLAM),恢復出來的 t 本身只是“方向”或“相對距離”:

t^=1st\hat{t} = \frac{1}{s} t t^=s1?t

也就是說:我們無法從圖像中知道 t 的真實長度,只能恢復方向,尺度信息則全都被 s 吸收了。

所以:

sim(3) 中的 t 只是一個相對位移量,而不是可用于恢復物理尺度的“基線”向量。


4?? 圖解:SE(3) 與 sim(3) 的視覺差異

下面這張圖展示了 Se(3) 與 sim(3) 的核心區別:

  • 左邊:SE(3) 變換僅包含旋轉 + 平移,圖形大小不變
  • 右邊:sim(3) 變換引入了尺度因子,圖形大小發生變化

圖中也強調:s 與 R 一起作用于物體本體,而 t 控制變換后的“相對擺放位置”


5?? 延伸思考:SLAM 系統中尺度恢復方式

不同類型的 SLAM 系統,對尺度 s 的恢復能力不同:

SLAM 類型能否恢復 s?原因說明
單目 SLAM? 無法恢復沒有絕對基線信息,t 是 up-to-scale
雙目 SLAM? 可恢復基線長度已知,通過三角化解出尺度
IMU 融合? 可恢復IMU 提供真實加速度和重力方向
GPS/融合定位? 可恢復GPS 提供全局坐標參考系

? 總結一句話:

在 sim(3) 中,尺度 s 是用來縮放物體自身的幾何結構,而 t 是物體變換后的位置偏移,兩者語義不同、作用不同,因此 s 只能乘在 R 上,不能乘在 t 上。

參考

怎么解釋相似變換sim(3)中的尺度?


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

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

相關文章

如何為你的 Docker 容器設置代理網絡

一文搞定!如何為你的 Docker 容器設置代理網絡(及一個最常見的“坑”) 你是否遇到過這樣的窘境:在你的服務器上,代理工具(比如 Clash, V2Ray)運行得好好的,瀏覽器也能科學上網,但一旦把應用放進 Docker 容器,它就瞬間“失聯”,無法訪問外部世界? 別擔心,這是每個…

LeetCode Day3 -- 哈希表

目錄 1. 啥是哈希表? 2. 啥時候用哈希表? 2.1 存在性檢查 → 集合Set 2.2 鍵值映射 → 字典Dict 2.3 頻率統計 → Dict or Counter 3. LeetCode 3.1 集合 (1)2215 找出兩數組的不同 (2)1207 獨一無…

三子棋裝置(電賽24E題)K230/STM32全開源

三子棋裝置(電賽24E題)K230/STM32全開源,后續有具體代碼參數講解,幫助大家移植k230代碼import time, os, sysfrom media.sensor import * from media.display import * from media.media import *from machine import UART from m…

終端安全檢測與防御

1. 終端安全風險主要問題:企業網絡中80%的安全事件源于終端,終端成為黑客攻擊的重要目標。攻擊手段:勒索病毒:直接勒索用戶。橫向滲透:通過受控終端攻擊內部服務器。僵尸網絡危害:信息竊取、釣魚網站引導、…

Video_AVI_Packet(2)

博主聲明:內容來自網絡,僅供參考,僅適用于淺了解,如有錯誤,自行甄別,由此引起的后果概不負責 Video_AVI_Packet(2)一、Video Picture Aspect Ratio 與 Active Format Aspect Ratio1.…

八月補丁星期二:微軟修復 111 個漏洞

微軟將在2025 年 8 月補丁星期二修復 111 個漏洞,這一數量與近期平均水平大致相同。 與上個月的情況類似,微軟知道今天發布的漏洞中只有一個已被公開披露,但聲稱沒有證據表明存在野外利用。同樣,截至發布時,唯一的補丁…

《C++進階之繼承多態》【普通類/模板類的繼承 + 父類子類的轉換 + 繼承的作用域 + 子類的默認成員函數】

【普通類/模板類的繼承 父類&子類的轉換 繼承的作用域 子類的默認構造函數】目錄前言:------------------------一、繼承的定義和使用1. 什么使繼承?2. 為什么要引入繼承?3. 怎么使用繼承?① 父類(基類&#xf…

Ubuntu22.04安裝OBS Studio

OBS官網的最新的雖然支持Ubuntu系統,但是只支持最新的24.2版本的,而我的電腦上的Ubuntu的版本是22.04,所以在網上尋求解決辦法,看到了這一片博客,作為參考來實現ubuntu22.04安裝OBS,這里提示一下&#xff0…

Ansible 基本使用

Ansible 清單 靜態主機清單 主機清單支持多種格式,例如ini、yaml、腳本等。 本次課程使用 ini 格式。 #創建主機清單[lykcontroller ~ 13:36:01]# vim inventory#vim添加controllernode1node2node3node4?#測試連接單個服務器[lykcontroller ~ 14:08:18]$ ansibl…

網絡資源模板--基于Android Studio 實現的九寨溝App

目錄 一、測試環境說明 二、項目簡介 三、項目演示 四、部設計詳情(部分) 首頁 購票頁面 五、項目源碼 一、測試環境說明 電腦環境 Windows 11 編寫語言 JAVA 開發軟件 Android Studio (2020) 開發軟件只要大于等于測試版本即可(近幾年官網直接下載也…

系統架構設計師備考之架構設計實踐知識

1.信息系統架構設計理論與實踐1.1.基本概念信息系統架構定義目前關于信息系統架構較為權威的定義有: (1)信息系統架構是系統的結構,由軟件元素、元素外部可見屬性和元素間關系組成。 (2)信息系統架構是軟件…

【IgH EtherCAT】如何利用 RTAI 提供的實時任務和調度機制來構建一個高精度、確定性的工業控制應用

SVG圖展示了系統的分層架構:RTAI實時層:包含RT_TASK、信號量和定時器EtherCAT Master層:主站、域、從站配置和PDO映射EtherCAT網絡層:與實際硬件設備(EL3162模擬輸入、EL2004數字輸出)通信關鍵特點&#xf…

7款熱門智能電視文件管理器橫向評測

7款智能電視文件管理器橫向評測 在智能電視和電視盒子日益普及的今天,一款好用的文件管理器能讓您的數字生活更加便捷。本文為您評測了7款廣受歡迎的TV版文件管理器,助您找到最適合自己的工具。 1. ES文件瀏覽器TV版 ES文件瀏覽器是一款廣受歡迎的多功能…

Python 類元編程(導入時和運行時比較)

導入時和運行時比較 為了正確地做元編程,你必須知道 Python 解釋器什么時候計算各個代碼 塊。Python 程序員會區分“導入時”和“運行時”,不過這兩個術語沒有嚴 格的定義,而且二者之間存在著灰色地帶。在導入時,解釋器會從上到 下…

[git diff] 對比檢查變更 | 提交前復審 | 版本回退

git diff git diff 是 Git 版本控制系統中用于比較文件差異的核心命令,可以顯示工作目錄、暫存區(Index)和倉庫歷史之間的變化。 通過對比不同版本或狀態的文件內容,幫助開發者理解代碼變更。 比較工作目錄與暫存區 運行以下命令查…

【數據可視化-85】海底撈門店數據分析與可視化:Python + pyecharts打造炫酷暗黑主題大屏

🧑 博主簡介:曾任某智慧城市類企業算法總監,目前在美國市場的物流公司從事高級算法工程師一職,深耕人工智能領域,精通python數據挖掘、可視化、機器學習等,發表過AI相關的專利并多次在AI類比賽中獲獎。CSDN…

物聯網之小白調試網關設備

小伙伴們,你們好呀!我是老寇!跟我一起學習調試網關設備 相信搞過物聯網的朋友,對網關設備非常熟悉,本人以小白的視角,手把手教你調試網關設備! 工作中使用的是Ubuntu操作系統,因此&a…

Node.js特訓專欄-實戰進階:22. Docker容器化部署

?? 歡迎來到 Node.js 實戰專欄!在這里,每一行代碼都是解鎖高性能應用的鑰匙,讓我們一起開啟 Node.js 的奇妙開發之旅! Node.js 特訓專欄主頁 專欄內容規劃詳情 我將從Docker容器化部署的基礎概念入手,介紹Node.js應用容器化的步驟,包括創建Dockerfile、構建鏡像、運行…

eclipse嵌入式編譯速度慢

eclipse 嵌入式 編譯 速度慢 同一個項目,eclipse編譯速度越來越慢,一開始幾秒鐘編譯完,后面要10分鐘。只需要將以下兩個程序卸載重新安裝即可。

編譯Android版本可用的高版本iproute2

背景: Android自帶的iproute2 太老,很多指令格式不支持 直接基于Android源碼,替換源碼下iproute2 代碼編譯新版,報錯太多,于是改用Android NDK工具編譯 環境: android-ndk-r25c-linux.zip 下載鏈接&am…