重算
下載完整分析包,安裝 Python、NumPy 和 Matplotlib,執行:
python run_simulation.py python run_filter_study.py
假設集中在 parameters.json 與 filter_parameters.json;完整抽樣保存在 NPZ,表格與圖由程式重新產生。
四組已完成的數值分析,檢查透視比例、測距不確定度、可行距離區間,以及平滑與滯後的取捨。
資料類型:數值模擬。參數為明列的假設值,沒有手機或真人實測;模擬記錄與測距工具的實驗記錄分開。
下載完整分析包 程式 · 參數 · 全部抽樣 · 圖表以 3D 頂點投影兩張相隔 10 cm 的平行虛擬卡片,再按像素中心是否落在卡片內量度寬度。相機設為 1280 × 720、焦距 1000 px;卡片寬 6.3 cm、高 8.8 cm。

這是虛擬影像的整數像素效應。尚未加入鏡頭畸變、模糊或特徵追蹤錯誤,不能據此認定真實量度精度。
| z(cm) | 理論比例變化 | 虛擬取樣範圍 | 最大偏差(百分點) |
|---|---|---|---|
| 25 | 40.00% | 40.00–40.00% | 0.00 |
| 30 | 33.33% | 32.91–33.76% | 0.42 |
| 40 | 25.00% | 24.60–25.40% | 0.40 |
| 60 | 16.67% | 16.67–16.67% | 0.00 |
| 80 | 12.50% | 11.43–12.86% | 1.07 |
| 120 | 8.33% | 6.12–10.42% | 2.21 |
16 個主點水平次像素偏移 × 2 個左右配置;加入同深度對照,共 384 個設定。25、60 cm 的寬度恰為整數,取樣偏差為零;這不代表真實相機沒有誤差。同深度對照仍有最高 1.92 個百分點的取樣差異。
連續頂點投影與 M = 1 + Δ/z 的差異小於 10⁻¹²,只說明程式與模型一致。此處沒有使用真實人頭或真人照片。
下載全部 384 個虛擬設定 CSV假設 C = 1500 px·cm,50 cm 校準,u_Z₀ = 0.5 cm、u_p₀ = 0.2 px。以三種假定的輸出直徑不確定度,在每個距離執行 20,000 次計算抽樣,與一階公式比較。

以上是模擬的相對標準差,不是手機的實測誤差或準確度。遠距離、高噪聲情境下,一階近似與非線性抽樣結果會出現差異。
| 設定距離(cm) | 模擬平均(cm) | 平均偏差(%) | 相對標準差(%) | 一階預測(%) |
|---|
各輸入使用在 ±5 個標準差處截斷的常態分布,亂數種子為 20261030。同一抽樣編號在各距離共用校準誤差,後續直徑誤差獨立。未模擬影格時間相關性或追蹤失敗,抽樣次數不是實驗次數。
另設定有效影像尺度在 120 cm 漂移 ±3% 的情境,可產生約 −2.91% 或 +3.09% 的系統偏差。這說明減少隨機波動不足以排除尺度偏差;3% 只是敏感度設定,並非對焦變化的量測結果。
下載 21 個條件摘要 CSV · 下載尺度漂移情境 CSV共同設定:相對正投影容許比例變化 7.5%、k = 5.4、預覽雙眼像素門檻 90 px、d = 0、σ_p = 0.5 px。校準條件沿用上節;C 改變時重新計算校準不確定度。
| 情境 | C(px·cm) | Δ(cm) | δ | 可行區間 |
|---|---|---|---|---|
| A | 1500 | 9 | 10% | 沒有交集 |
| B | 2250 | 9 | 10% | 120.00–135.00 cm |
| C | 3000 | 9 | 10% | 120.00–180.00 cm |
| D | 1500 | 4 | 10% | 53.33–90.00 cm |
| E | 1500 | 4 | 2% | 沒有交集 |
| F | 1500 | 4 | 1% | 校準底限超標 |
Δ = 9 cm 時,C = 1500 沒有交集,C = 2250 出現 120–135 cm 的區間。Δ = 4 cm、C = 1500 時,將 δ 從 10% 收緊至 2%,原本 53.33–90 cm 的區間亦會消失。
這些結果沒有對應至已量得的手機或個人參數。插值放大圖片不等於提高有效解析度;90 px 為本頁預覽影像的設定門檻,不是證件照合格認證。
下載六種情境 CSV把同一組 15 幀交給平均值及中位數,公平比較兩者。假設 C = 1500 px·cm 且校準完全準確,單幀直徑噪聲 σ_frame = 0.5 px;相鄰影格相關係數 ρ 分別為 0、0.5、0.9。ρ 越大,連續影格的誤差越容易同向持續,新增影格帶來的獨立資訊越少。

80 cm、ρ = 0、無異常值時,平均值 RMSE 為 0.554 cm,中位數為 0.681 cm。每個窗口加入一幀 +5 px 異常值後,兩者分別為 1.493 cm 和 0.723 cm。這是指定噪聲情境的結果。
| 假設 ρ | 每 15 幀的異常值 | 平均值 RMSE(cm) | 中位數 RMSE(cm) |
|---|---|---|---|
| 0 | 無 | 0.554 | 0.681 |
| 0 | 1 幀 +5 px | 1.493 | 0.723 |
| 0.5 | 無 | 0.913 | 0.999 |
| 0.5 | 1 幀 +5 px | 1.639 | 1.022 |
| 0.9 | 無 | 1.693 | 1.746 |
| 0.9 | 1 幀 +5 px | 2.126 | 1.750 |
誤差依 e_t = ρ e_(t−1) + σ_frame √(1−ρ²) η_t 產生,e₀ = σ_frame η₀;η 使用 ±5 個標準差截斷的獨立標準常態抽樣。每個 15 幀窗口彼此獨立,窗口內有時間相關性。種子為 2026103002;同一輸入同時供兩種方法使用,並提供成對平方誤差差值。
異常值設定為每窗口隨機一幀增加 5 px,並非已量得的異常發生率。另計算 40、120 cm 及不平滑的末幀參考;此比較沒有套用姿態/波動篩選,以單獨檢查平滑。σ_frame 是單幀噪聲,與第 02 節假定的輸出 σ_p 不同。
沒有異常值時,中位數輸出直徑的標準差從 ρ = 0 的 0.160 px 增至 ρ = 0.9 的 0.408 px,不能一概把單幀噪聲除以 √15。完整計算輸入在分析包 filter_results/filter_inputs.npz。
另以無噪聲、固定速度 v 的直線移動檢查滯後。15 幀的中位數對應第 8 幀;若推論頻率為 f_s,中間影格已是 7/f_s 秒前。因此距離讀數相對當前位置的偏差為 −7v/f_s。這是幾何與濾波的結果,尚未加上手機運算和畫面顯示延遲。

| 120 cm、後退 3 cm/s | 15 幀涵蓋時間 | 當前距離偏差 | 波動比 | 3% 篩選 |
|---|---|---|---|---|
| 12.5 次推論/秒 | 1.12 s | −1.68 cm | 1.19% | 通過 |
| 6.25 次推論/秒 | 2.24 s | −3.36 cm | 2.40% | 通過 |
原始影格匯出也增加窗口時間與中間影格年齡。這改善了使用者可看到的資訊,尚未證明提示能降低實際誤差;沒有把模擬速度用來自動修正真人讀數。
下載完整分析包,安裝 Python、NumPy 和 Matplotlib,執行:
python run_simulation.py python run_filter_study.py
假設集中在 parameters.json 與 filter_parameters.json;完整抽樣保存在 NPZ,表格與圖由程式重新產生。
檢查對象是公式與程式,沒有把通過檢查當成手機準確度驗證。
JCGM 101:2008:蒙地卡羅傳播方法;本次核對 BIPM 官方說明頁。NIST TN 1297 附錄 A:一階不確定度傳播與協方差。
Zhang (2006), Calculation of the uncertainty of the mean of autocorrelated measurements:相關量度的均值不確定度;本輪核對 NIST 官方摘要,未核對論文全文。
本輪程式、運算、圖表與文字由 AI 協助產生並執行。此頁只展示數值研究,與手機實驗分開。