從單一流程到五條流程對照:森林碳測量系統演進

以手機影像估算胸高直徑(DBH)× Verra VCS 碳信用核發對齊 × 多流程 winner 策略
🌲
30
樣本樹
⚙️
5
Pipeline 對照
74.2%
PASS rate(≤25% 自訂精度目標)
💰
622
API 成本(TWD)

此頁面完整呈現此專案在 2026 年 5 月對 31 棵實驗樹所進行的 DBH(胸高直徑,Diameter at Breast Height)測量系統演進歷程。系統從最初採用單一處理流程(pipeline)、整體通過率不足六成的起點出發,逐步發展為以 5 條處理流程並行對照、為每棵樹挑選表現最佳路徑(winner)的架構,最終讓本專案自訂 ≤25% 精度目標的通過率提升至 74.2%(23/31 棵)

研究問題(RQ)與研究目標(RO)
此區塊為整份研究的定位開場。研究目標(RO)的敘述附有錨點連結,點擊可直接跳至對應章節;各章節結尾另附返回標籤。研究目標 2 與 3 目前仍為草稿、持續修訂。
研究問題 1
RQ1:以參照物比例尺法(Path A)估算的胸高直徑(DBH),其量測不確定性能否符合 Verra VM0047 §8.5 對樣區層級的精度要求(90% 信賴區間半寬 ÷ 平均估計值 < 100%),使換算出的碳匯量具備碳信用核發資格?

此研究問題檢驗 Path A 路徑(以畫面中參照物如信用卡、A4 紙當比例尺所換算的胸高直徑量測法)的量測不確定性,能否達到 Verra 核發碳信用所要求的樣區層級精度。規範這項精度的三條準則,全部出自 Verra VM0047 方法學文件 v1.1 第 8.5 節。

#準則內容性質此專案符合狀況
1不確定性需採 90% 信賴區間計算,而非常見的 95%,對應顯著水準 α=0.1屬計算方法規範,未構成及格門檻已採 90% 信賴區間計算 ✓
2信賴區間半寬 ÷ 平均估計值 < 100%唯一一道決定能否核發碳權的紅線P4 實測 6.5%,遠低於 100%(寬裕約 15 倍)✓
3不確定性扣減至少扣除 10%屬強制扣減,未構成及格門檻屬核發時固定扣減,無法避免

真正決定核發與否的條件,僅有第 2 條那道紅線。第 1 條僅規範採用哪一種演算法,第 3 條僅規範最終固定扣減的數量,兩者皆未構成通過與否的判準。

支撐這項精度宣稱的合規工作,目前六件全數完成:

任務名稱對應 Verra 規範完成證據
嚴格計算比例校準法(ratio method)的 90% 信賴區間§9.28.63%,遠低於 100% 紅線 ✓
撰寫標準作業程序文件(SOP,含品質管控流程)§9.3sop.md 完成 ✓
確認材積與碳換算公式(allometric equation)對應正確生態區§9.1採台灣林業局公式 ✓
證明皮尺真值量法符合 Kershaw 教科書標準作法§9.1鐵捲尺定 1.3 公尺、皮尺繞一圈量周長 ✓
撰寫適用範圍宣告(界定方法成立的條件)§9.1sop.md 第 8 節完成 ✓
以配對 t 檢定(paired t-test)證明量測無系統性偏誤§9.1t=0.126,遠小於臨界值 2.052 ✓
研究問題 2
RQ2:系統能否讓企業、地主、基金會三方各自看見足夠助益而形成協作?

此問題對應商業模式與利害關係人(stakeholder)分析,檢驗碳匯量測系統能否在企業、地主、基金會三方之間,各自呈現足以促成相關協作助益。此展示頁面目前聚焦於 RQ1 的量測精度驗證,RQ2 的相關探討將於後續章節補充。

研究目標 1
RO1:建立並評估以手機影像為基礎、以參照物比例尺法(Path A)為核心並經多流程對照優化之 DBH 量測模型,驗證其在真實林地條件下朝 Verra VCS 樣區精度標準邁進的可行性

此研究目標包含三個動作,分別對應本頁以下章節:

研究目標 2 草稿、修訂中
RO2

此研究目標旨在建立與評估能讓企業、地主、基金會三方看見共享價值(Shared Value, Porter & Kramer 2011)的協作機制,切入每一方實際面對的問題,檢驗系統能否替三方解決瓶頸難題、促成長期協作。

此目標目前評估兩套候選框架:UTAUT 整合型科技接受與使用理論 從「績效期望」切入各方的成效,DeLone & McLean 資訊系統成功模型(D&M) 從「資訊品質與淨效益」切入系統替各方帶來的好處。

候選一:UTAUT 構念設計
UTAUT 構念量什麼套到三方的題目方向
績效期望(Performance Expectancy)系統對使用者關注成效的助益程度企業=能否產出可信的 ESG 報告;地主=能否提升林地資產收益;基金會=能否減少監測人力
努力期望(Effort Expectancy)系統操作的難易程度三方=拍影片上傳、查閱履歷的流程是否簡單
社會影響(Social Influence)周遭重要對象對採用系統的期待程度企業=同業/投資人是否看重;基金會=捐款人是否期待
促成條件(Facilitating Conditions)使用系統所需資源與支援的充足程度三方=設備、網路、技術支援是否到位
候選二:DeLone & McLean 構念設計
D&M 維度量什麼套到此專案
系統品質(System Quality)系統穩定度、操作便利性與回應速度上傳與查詢流程的順暢度
資訊品質(Information Quality)數據準確、完整、可信、即時直接銜接 RQ1:碳匯數據的精度與可審計性
服務品質(Service Quality)技術支援與維護平台客服與維運
使用 / 使用意圖(Use / Intention to Use)實際使用與持續使用意願三方是否持續使用、對外推廣
使用者滿意度(User Satisfaction)整體滿意程度三方對系統的滿意度
淨效益(Net Benefits)系統帶來的實質效益企業=合規可信報告;地主=資產收益;基金會=監測效率
§1 背景

此實驗的 31 棵樹採用一致的拍攝方式:使用者環繞每棵樹拍攝 60 至 120 秒的 4K HEVC 影片,並在樹幹胸高 1.3 公尺位置靠放一張信用卡(國際標準長邊 85.6 公釐)作為比例參考物。系統會從影片估算出胸高直徑(DBH),再與人工皮尺實量的真實值比對,當兩者誤差超過 15% 時,此筆測量視為未通過。

此系統的精度目標對齊國際碳權標準 Verra VCS 的森林碳匯方法學 VM0047(Afforestation, Reforestation and Revegetation,造林、再造林與植被復育)。VM0047 規範碳信用核發在量測不確定性上的合格門檻,系統以此門檻判斷精度是否足以支撐碳權核發,完整對齊分析見 §2 Verra VM0047 碳權標準對齊分析

此系統最初以單一處理流程完成 31 棵的測量,其中 14 棵的誤差超過 15%。此實驗的核心目標,在於探討如何讓這 14 棵樹的估算結果同樣落入合格範圍。

此實驗排除其中 1 棵後,實際樣本為 30 棵。被排除的 IMG_5804 在同一支影片裡同時拍到兩棵不同的樹,影像辨識模型 Gemini 無法判斷當下對焦的是哪一棵,這個情況需要另行設計專屬的處理流程來解決。

↑ 返回研究問題:RQ1RQ2
§2 Verra VM0047 碳權標準對齊分析
結論:Pipeline 4 符合 Verra VM0047 §8.5 中唯一具約束力的不確定性(uncertainty)合格門檻,其信賴區間半寬與平均值之比(CI half-width / mean)為 6.3%,遠低於 100% 的紅線。
什麼是地上生物量(AGB)

AGB(地上生物量,Above-Ground Biomass)涵蓋樹木地面以上的所有生物質,包含樹幹、樹枝、樹葉與樹皮,以公斤或公噸計。森林碳估算最終要得到的正是 AGB,再乘上碳含量即可換算成固碳量。

DBH 在此扮演中間變數的角色,要從 DBH 換算成 AGB,需要套用異速生長方程式(allometric equation):

AGB = 0.0673 × (ρ × DBH² × H)^0.976

這裡的關鍵在於 DBH 帶有平方項—— DBH 誤差 10% 會放大成 AGB 誤差約 20%。

Verra VM0047 §8.5 三條規定(澄清各自角色)
規定性質此專案狀態
規定 1:用 90% CI(不是 95%)計算方法的規範、不是門檻此專案依規範計算 90% CI ✓
規定 2:CI half-width / mean < 100%唯一具約束力的合格門檻此專案為 6.3% << 100% ✓(大幅通過)
規定 3:最低 10% uncertainty deduction屬於固定扣減、無論精度多高都會扣除並非門檻、無需通過

真正決定「通過或不通過」的只有規定 2。規定 1 規範的是「如何計算」,規定 3 則代表「無論精度多高都固定扣除 10%」。

P4 流程對 31 棵樹的 Verra 標準對齊計算(生產系統)
項目數值
樣本數 n31 棵(全數可比對)
mean tape29.71 cm
mean P4 DBH29.75 cm
bias+0.03 cm(+0.1%)← 中位數彙整已有效消除系統性偏差
std of error6.12 cm
SE6.12 / √31 = 1.10 cm
t(α=0.1, df=30)1.697
90% CI half-width1.10 × 1.697 = 1.87 cm
CI half-width / mean6.3%(Verra 紅線為 100%,此結果寬裕約 16 倍)
↑ 返回研究問題:RQ1RQ2
§3 演進旅程
補充(起點背景,不計入演進階段):最初的線上採集流程,後因跨機種與元數據缺失而捨棄。

此系統最初採用一套線上即時採集流程:使用者開啟網頁應用程式,由電腦視覺工具 OpenCV 即時抓取畫面中的參考卡片,再以薄透鏡公式(thin-lens formula)估算卡片的像素寬度與實際寬度比例。流程實際運行後遇到兩項根本限制:跨機種的相機參數不一致,以及上傳後影片元數據(metadata)的缺失,此專案因此捨棄這套方式,改為事後對影片統一處理。

流程示範影片:Google Drive 連結

階段 1:起點是單一處理流程、單次取樣(N=1)穩定度不足

此系統最初對每棵樹只呼叫一次 Gemini,結果在 31 棵中有 14 棵的誤差超過 15%。深入分析後發現,Gemini 在「同一批影像只推論一次」的條件下,偶爾會出現單次離群值(outlier)。兩次測試(dryrun #8 與 #9)對同一支影片各推論一次,兩次得到的結果相差好幾倍,正好印證了這個現象。

階段 2:發現讓 OpenCV 對影像做轉向校正會扭曲樹幹寬度

早期版本曾先用 OpenCV 偵測卡片的傾斜角度,再把整張影像旋轉到卡片正交的方向,最後才送進 Gemini 分析。這個做法在實際運行後帶來幾項副作用:

  • 影像旋轉屬於破壞性操作:旋轉過程中的雙線性插值(bilinear interpolation)會讓邊緣變得模糊
  • 旋轉對樹幹的像素寬度(trunk pixel width)影響明顯:旋轉後邊緣像素被插值重新計算,不再是相機拍下的原始像素
  • 上述兩點累積成系統性誤差,連帶影響 DBH 的估算結果

後續所有處理流程都移除了影像旋轉,改以「挑選 isOrthogonal 為 true 的影像」作為品質門檻。

階段 3:重複取樣 5 次(N=5)取中位數,壓平單次離群值

此階段改為對同一批影像連續呼叫 5 次 Gemini,取比例值(ratio)的中位數(median)。IMG_5789 的實驗清楚呈現效果:單次取樣時曾出現 ratio=4.5 或 6.19 的離群值,重複 5 次取中位數後,數值收斂到 2.97,相當接近真實比例 3.07。至於「Gemini 本來就拒絕作答」的樹,重複取樣的助益有限,原因在於 5 次推論全數拒答時,中位數仍然取得空值(null)。

階段 4:ffmpeg 解碼 HEVC 較慢,改用關鍵幀擷取(keyframe extraction)

iPhone 拍攝的 4K HDR 影片採用 HEVC 編碼,ffmpeg 在此專案的虛擬機(VM)上以純 CPU 解碼,速度約為實際播放時間的 2 至 3 倍慢。以一支 117 秒的影片為例,光是 ffmpeg 解碼就需要 320 秒,有 7 支較大的 HEVC 檔案在 1200 秒的逾時上限內無法處理完成。

改用 ffmpeg -skip_frame nokey 參數(只解碼 I-frame、跳過 P/B frame)後:

  • I-frame 屬於自我完整的關鍵幀,不需參照其他畫面即可解碼,速度快
  • 跳過約 95% 的 P/B frame 後,ffmpeg 解碼時間從 320 秒縮短到 20 秒,提升約 16 倍

後續所有處理流程都採用關鍵幀擷取。

階段 5:OpenCV 與 Gemini 都難以精確判定樹幹邊緣,改採多流程對照

此階段對多棵高誤差的樹進行了多輪提示詞(prompt)優化,得到一個關鍵觀察:沒有任何單一提示詞能同時讓所有樹都得到最佳結果。細樹幹適合 measure 提示詞,中等樹幹適合 baseline 提示詞,樹皮紋理複雜的樹則適合 tight 提示詞。

基於此觀察,此專案採用「多流程並行對照、每棵樹挑選最佳路徑(winner)」的策略,把不同的提示詞與取幀方式(frame selection)組合成各自獨立的處理流程,一共跑 5 種對照,再為每棵樹選出最適合它的流程作為代表。5 種對照在 30 棵樹上的逐棵成績,詳見 §4 30 棵實驗結果

↑ 返回研究問題:RQ1RQ2
§4 30 棵實驗結果

綠 ≤15%(PASS) 黃 15–30% 紅 >30% 灰 N/A 或 null

IMGtape(cm)P1aP1bP2P3P4bestwinnerPASS
578622.639.858.47.18.07.1P3
578727.214.79.937.19.62.22.2P4
578827.7— *— *N/Acap
578926.310.611.83.820.215.23.8P2
579019.425.8†15.5†15.5P4
579130.244.740.148.738.70.70.7P4
579228.642.037.430.412.219.212.2P3
579333.738.62.130.641.22.1P2
579431.229.825.631.725.35.45.4P4
579522.012.317.31.85.030.01.8P2
579842.044.356.914.514.5P4
579943.65.719.547.527.15.7P1a
580017.510.322.318.935.411.410.3P1a
580116.913.62.424.39.50.60.6P4
580243.936.944.645.125.122.322.3P4
580343.059.855.151.239.345.639.3P3
580535.742.627.242.99.59.5P4
580638.848.7†22.7†22.7P4
580731.531.42.9†11.7†2.9P3
580831.815.427.423.028.021.415.4P1a
580930.634.343.129.429.4P4
581029.946.211.76.764.53.73.7P4
581130.634.04.64.6P4
581230.99.149.54.24.2P4
581326.130.325.74.60.44.60.4P3
581438.538.427.352.220.051.220.0P3
581532.514.57.11.21.2P4
581724.535.516.311.44.94.9P4
581817.571.432.619.411.411.4P4
581921.612.01.96.07.47.91.9P1b

* = 撞到 Gemini API 當月用量上限,未執行 † = 取自歷史 dryrun_runs 表中相同 pipeline_version 的紀錄

↑ 返回研究問題:RQ1RQ2
§5 五條處理流程(pipeline)設計
Pipeline解碼取幀解析度OpenCV 篩 isOrthogonalN
P1a kf-sharp-960只解 I最清晰 8 張降到 9605
P1b kf-sharp-orig只解 I最清晰 8 張原解析度5
P2 kf-time-960只解 I時間均勻 8 張降到 9605
P3 video-v1Gemini 端Gemini 自行挑選原解析度Gemini 自行判斷5
P4 video-v2Gemini 端Gemini 自行挑選原解析度Gemini 自行判斷(+ 胸高 prompt)10
正交對照
比較差異變數驗證的事
P1a vs P1b解析度降解析度給 Gemini 看是否影響準確度
P1a vs P2取幀方式精選最清晰 vs 時間多樣化哪個好
P1a/2 vs P3處理位置VM OpenCV 篩 vs 全交 Gemini 哪個準
P3 vs P4N + 胸高 prompt胸高 prompt + 更多 N 的提升幅度
↑ 返回研究問題:RQ1RQ2
§6 變數貢獻分析
每條流程勝出(winner)的次數
Pipeline當 winner 次數佔比
P4 video-v2(N=10 + 胸高 prompt)1758.6%
P3 video-v1517.2%
P2 kf-time-960310.3%
P1a kf-sharp-960310.3%
P1b kf-sharp-orig13.4%
五個變數的對照結論
變數對照狀態結論
D1 解碼方式部分測了「直接交給 Gemini」的表現勝過「只解 I-frame」(22 比 7 次 winner)。「只做 P/B frame」在技術上無法單獨成立,因此不在可測試範圍內。
D2 取幀方式三種都測「直接交給 Gemini」整體表現最佳。在 OpenCV 端比較「時間均勻取幀」與「挑最清晰幀」兩種做法,結果為 3 比 3 平手,顯示取幀策略對關鍵幀模式的影響不顯著。
D3 解析方式測了(P1a vs P1b)降低解析度與保留原解析度的結果幾乎沒有差異(3 比 1 次 winner),代表可以放心將影像降到 960 像素寬,以換取更快的上傳速度。
D4 OpenCV 轉向不必測所有處理流程都已關閉影像旋轉(§3 階段 2 已成為定論),此專案改以「挑選 isOrthogonal=true 的影像」作為品質門檻,無需再做對照測試。
D5 送 Gemini 5 次 vs 10 次測了但 confoundedP3(N=5 簡單提示詞)與 P4(N=10 胸高提示詞)的 winner 次數為 5 比 17,表面上 N=10 大幅勝出,但兩條流程同時更動了提示詞,因此優勢無法單獨歸功於取樣次數 N。就理論而言,N=10 可視為邊際效益遞減下的合理上限
整體變數重要性排序
變數影響強度
D1 解碼 / 處理位置★★★ 影響最大(22 vs 7)
D5 N + prompt★★★ 影響大(17 vs 5)但 confounded
D2 取幀方式★ 幾乎無影響
D3 解析度★ 幾乎無影響
D4 OpenCV 轉向—(先前已確定關掉)

這裡還有一個更深層的觀察:變數 D1 與 D5 的「勝出」其實都指向同一條處理流程(P4,即 video-v2、胸高提示詞、N=10)。若要嚴格分離這兩個變數各自的貢獻,理論上需要再增加一條「直接給影片 + 簡單提示詞 + N=5」的對照組;這條組合本身正好就是 P3,因此相關結論已包含在 P3 與 P4 的對照之中。

↑ 返回研究問題:RQ1RQ2
§7 生產版統計彙整(P4 v2,32 棵)

以五條流程對照實驗確認 P4 為最佳流程後,此專案對全部 32 棵樹改用 P4 video-v2 流程(整支影片交給影像模型、N=10 次中位數彙整、不另施加靜態校準因子)重新量測並上鏈。此節呈現該批次的統計彙總與 Verra §8.5 不確定性驗算;逐棵量測結果與區塊鏈存證見 dashboard02.html

彙總法比較(31 棵可比對樹)
最終選定:中位數(median)彙整 10 次量測——中位數有效壓平單次離群值(outlier),偏差已收斂至 +0.03 cm(≈0),不另施加靜態校準因子。
誤差門檻通過棵數 / 可比對棵數通過率
≤15%17 / 3154.8%
≤20%20 / 3164.5%
≤25%(本專案自訂精度目標,非 Verra 條文)23 / 3174.2%
≤30%26 / 3183.9%
Verra VM0047 §8.5 不確定性驗算
DBH 層級(6.3%)與地上生物量(AGB)層級(14.7%)均遠低於 Verra §8.5 唯一合格門檻(< 100%)。
量測層級90% CI 半寬 ÷ 平均值Verra §8.5 紅線結果
DBH 層級(胸高直徑,Diameter at Breast Height)6.3%< 100%通過,寬裕約 16 倍 ✓
AGB 層級(地上生物量,Above-Ground Biomass)14.7%< 100%通過,寬裕約 7 倍 ✓

AGB 層級的不確定性約為 DBH 層級的兩倍,肇因於 DBH 誤差透過異速生長方程式(allometric equation)中的平方項放大;兩個層級數值均遠低於紅線,確認此量測方法具備 Verra 碳信用核發的精度基礎。全 32 棵套用校準後的總碳儲量為 6,738 kg

↑ 返回研究問題:RQ1RQ2
§8 結論
生產系統整體通過率(本專案自訂 ≤25% 精度目標,非 Verra 條文)為 23/31 = 74.2%。31 棵全數完成 P4v2 流程分析,MAPE = 15.6%,R² = 0.37,90% CI 半寬 / 平均值 = 6.3%(Verra 紅線 100% 的 16 倍寬裕)。
主要結論
  1. 以多流程對照、每棵樹挑選最佳路徑的策略確實有效——雖然不存在一條能對所有樹都最佳的處理流程,每棵樹卻都能找到一條最適合自己的流程。
  2. P4 video-v2 是最主要的贏家(拿下 58.6% 的 winner 次數)—— 以 N=10 搭配「胸高提示詞」引導 Gemini 鎖定卡片所在的胸高位置,相較於 N=5 的簡單提示詞,表現明顯更穩定。
  3. 解析度對準確度的影響不大—— P1a(縮小到 960 像素寬)與 P1b(原解析度)的成績相近,顯示降低解析度再送進 Gemini 是合理的速度優化選擇。
  4. 「整支影片交給 Gemini」的做法普遍勝過「在 VM 端先用 OpenCV 篩選」—— 75.9% 的 winner 來自 P3 與 P4,由 OpenCV 自行挑出的 8 張影像效果可能不及 Gemini 看完整支影片後自行選定的時機。
還有 8 棵尚未通過(本專案自訂 ≤25% 精度目標)
IMGtape (cm)AI 估算 (cm)APE偏離方向
580017.525.948.0%偏高 48%
581724.535.042.9%偏高 43%
580343.024.742.6%偏低 43%
581921.629.436.1%偏高 36%
578622.629.631.0%偏高 31%
581817.522.629.1%偏高 29%
581438.528.725.5%偏低 25%
579522.027.826.4%偏高 26%

這 8 棵呈現兩種型態:細樹幹(tape ≤ 25 cm)以偏高估算為主(共 6 棵,Gemini 放大了樹幹與信用卡的比例);粗樹幹(tape ≥ 38 cm)以偏低估算為主(共 2 棵,遮蔽或拍攝角度使樹幹顯得較細)。後續可針對不同胸徑範圍調整提示詞或採用分層校準。

IMG_5788 狀態更新

IMG_5788 在 5 條流程的 mass run 中曾因撞到 Gemini API 當月支出上限而未完成。生產系統(P4v2)重跑後已成功完成量測,APE = 2.2%,納入最終 31 棵統計。

↑ 返回研究問題:RQ1RQ2
§9 特例處理:IMG_5804 一影片兩棵樹

IMG_5804 這支影片在同一個畫面裡同時拍到兩棵不同的樹(該樹在約 1.3 公尺高處分岔成兩根樹幹,現場依規範分別量測、視為兩棵獨立樹)。其中較粗的一棵取得完整的 AI 估算值(DBH 25.5 公分,與皮尺真值 25.46 公分幾乎一致),已納入生產系統 31 棵有效樣本;另一棵較細的樹幹,因為影像辨識模型 Gemini 無法分辨「當下對焦的是哪一棵」,始終沒有取得對應的 AI 估算值,因此不列入 31 棵的計算。

換句話說,這支影片的兩棵樹中有一棵不列入計算,並非資料缺漏,而是「一影片兩棵樹」這個情況需要另行設計專屬的處理流程才能完整解決。可行的方向包含:

  • 在拍攝時加上標記,例如每棵樹開始拍攝前先停留 2 秒、口述樹的編號
  • 或運用影像分割(segmentation)把畫面切成兩個獨立區域,分別測量

此特例屬於此實驗範圍之外,留待後續處理。

↑ 返回研究問題:RQ1RQ2
§10 Verra VM0047 方法學官方文件

以下為 Verra VM0047 方法學的官方連結。開啟 PDF 後,可直接以 Ctrl+F 搜尋以下英文關鍵字,快速定位本頁三條認證條件在原文的段落(下方 v1.0 全文 PDF 中位於 §8.4,現行 v1.1 已整節後移至 §8.5,內容相同)。

VM0047 v1.0 全文 PDF Verra 方法學頁面
條件PDF 搜尋關鍵字內容說明
條件一confidence interval規範採 90%(而非常見的 95%)信頼區間計算不確定性
條件二half-width信頼區間半寬 ÷ 平均估計値必須低於 100%(唯一决定核發與否的紅線)
條件三uncertainty deduction固定扣減至少 10%(核發時強制執行,不構成通過門殄)
§11 從皮尺到結論:論文完整統計流程白話說明

(對應論文第四章 4.8 節)

第一層:田野量測與地面真值的建立

研究從 32 棵樣本樹的實地量測開始。每棵樹在距離地面 1.3 公尺的高度(即胸高,Breast Height)用皮尺直接測量直徑,這個數值稱為胸高直徑(DBH,Diameter at Breast Height)。DBH 是整個統計分析的「地面真值(ground truth)」——它代表正確答案,後續所有 AI 估算的誤差都以它為基準計算。32 棵樣本樹共涵蓋 14 個樹種,且分布極不均勻,有些樹種只有 1–2 棵,這個特性在後期的 LMM 分析中至關重要。

第二層:系統輸出——三條處理分支

每支田野影片進入系統後,依照影像條件走三條不同路徑:

Path 0:操作者在樹幹上人工架設量尺或刻度貼紙,Gemini Vision 用視覺辨識(功能類似光學字元辨識,OCR)從影片幀裡讀取量尺刻度數字,再透過群聚演算法(clusterByRelativeDiff)從多幀讀數中取最穩定的中位數,得出 DBH 估算值。「人工」指的是架設量尺的動作,讀數由 AI 完成。這條路徑因為有已知尺寸參照物輔助,通常精度最高,在論文裡扮演對照基準的角色。

Path A:系統從畫面裡自動辨識已知尺寸的參照物(量尺、信用卡),用幾何比例換算出 DBH,不需要操作者手動架設。

Path B:備援路徑,找不到任何參照物時啟動。系統先用 CLAHE(對比度限制自適應直方圖均衡化)增強影像對比度,再交給 AI 直接估算 DBH,最後套用修正因子(CF,Correction Factor)補償 AI 系統性低估的傾向。Path B 的 CF 機制是整個研究的核心。

三條路徑最終輸出的都是「AI 估算 DBH」。每棵樹的估算值減去皮尺真值,得到絕對誤差(Absolute Error),再除以皮尺真值、乘以 100,得到絕對百分比誤差(APE,Absolute Percentage Error)。APE 是後續所有精度統計的原始材料。

第三層:五條統計流程——找出最佳前處理配置

為了找出最佳的幀選取與前處理配置,同一批 31 棵有效樣本(第 32 棵因 AI 辨識失敗無估算值而排除)被送進五種不同處理流程(P1a、P1b、P2、P3、P4),比較各流程的整體精度。這五條流程不改變 Path 0/A/B 的演算法,只改變送給 AI 的幀如何選取、影像解析度是多少。

精度以兩個指標衡量:

MAE(Mean Absolute Error,平均絕對誤差):31 棵樹絕對誤差的算術平均值,單位是公分。目的是直接反映「平均差了幾公分」,和真實距離有直覺連結。

MAPE(Mean Absolute Percentage Error,平均絕對百分比誤差):31 棵樹 APE 的算術平均值,用百分比表示。目的是讓不同體型、不同樹種的誤差可以放在同一把尺上比較——20 公分的樹差 2 公分和 80 公分的樹差 2 公分,APE 不同,才能公平反映系統表現。P4 生產系統最終達到 MAPE = 15.6%,是五條流程中最低的,確定為最終部署配置。

第四層:Bootstrap 重採樣——讓精度數字更可信

MAPE = 15.6% 只是一個點估計,代表「用這 31 棵樣本算出來的結果」。如果換一批樣本,結果會不會差很多?這個問題靠 Bootstrap 重採樣(Bootstrap Resampling) 回答。

具體做法:從 31 棵有效樣本裡「有放回抽樣(sampling with replacement)」,也就是每次抽完一棵放回去再抽,因此同一棵樹可能被抽到兩三次,另一棵一次都沒被選到——每次抽出的是一組不同的 31 棵。抽完後計算一次 MAPE,記錄這個值,重複 10,000 次。重複這麼多次的目的是讓結果分布夠穩定,信賴區間的邊界不會因為次數太少而飄移。

10,000 個 MAPE 值排序後,取第 250 個(第 2.5 百分位)和第 9,750 個(第 97.5 百分位),就是 Bootstrap 95% 信賴區間(CI,Confidence Interval) 的下界和上界。95% CI 的意義是:若在相同條件下重複 100 次田野量測並計算 MAPE,約 95 次的結果會落在這個區間內。Bootstrap CI 讓精度報告從「一個數字」升級為「一個有可靠度保證的區間」。同樣的做法也對 MAE 執行一遍。

第五層:Verra 合規驗算——滿足碳權標準的 90% CI

除了學術精度報告,系統還需要通過 Verra VM0047 v1.1 §8.5 的碳權合規門檻。Verra 規定以 90% CI(而非學術慣例的 95% CI)進行驗算,兩者信賴水準不同,各有各的出處,不是矛盾。

Verra 的計算邏輯是「半寬佔均值比率」:把 90% CI 的上界減下界除以 2,得到半寬;再把半寬除以均值,換算成百分比。Verra VM0047 v1.1 §8.5 對這個比率唯一的合格門檻是 < 100%(半寬不得超過均值的 100%),超過即不予核發。本專案另外自訂一個比 Verra 嚴格得多的內部精度目標 ≤ 8%,作為自我要求,並非 Verra 條文。

研究結果:DBH 層級 6.3%,遠低於 Verra 的 100% 紅線(寬裕約 16 倍),同時也低於本專案自訂的 8% 內部目標,Verra 合規與自訂精度目標雙雙通過。

第六層:動態 CF 與靜態 CF 的定義與分工

在進入後續實驗之前,先說清楚 CF 的形態。

生產系統使用的是動態自演進 CF——每個樹種各自維護一個 CF,每新增一筆田野量測就重新計算,不斷校準,不同樹種之間的 CF 數值是獨立的。這是系統真實運作的狀態,最終加權平均約 ×1.155。

靜態全域 CF 是「如果當初用比較簡單的方法——所有樹種共用同一個固定乘數——結果會怎樣」這個假設問題的答案。它不進入生產系統,只用於後續比較實驗。

第七層:LOOCV——建立靜態 CF 的客觀基準

要做比較實驗,必須先算出靜態全域 CF 的客觀估計值。研究使用 LOOCV(Leave-One-Out Cross-Validation,逐一剔除交叉驗證) 計算:每次剔除第 i 棵樹,用剩下 30 棵算出一個靜態 CF,再把這個 CF 套回第 i 棵的預測誤差,記錄結果,重複 31 次取平均。排除離群值後,靜態全域 CF ≈ ×1.10。這個數字只是後續實驗的輸入材料,不代表系統要改用這個值。

第八層:CF 敏感度掃描——動態 CF 之後,還需要疊加靜態補丁嗎

研究者有一個問題:動態 CF 跑完之後,如果再疊加一個全域靜態乘數,會讓結果更好嗎?

這裡的計算結構是:

最終 DBH = AI 原始輸出 × 動態 CF × 額外靜態乘數

當額外靜態乘數 = ×1.00,等於不加任何靜態補丁,最終值就是動態 CF 的結果;當乘數 = ×1.10,代表在動態 CF 校準完之後再統一往上推 10%。

掃描把這個額外乘數從 ×1.00 掃到 ×1.20(步長 0.025),每個值分別計算通過率(Pass Rate)——即 APE ≤ 25% 的棵數佔比。25% 這個門檻是本專案自訂、對齊 Hevner 系統設計準則三(可評估的實用效益)的量測精度目標,並非 Verra VM0047 條文;論文以此作為每棵樹通過與否的判斷標準。

掃描結果顯示 CF = ×1.00 時通過率最高(74.2%,23/31 棵),也就是「不加任何靜態補丁」是最好的選擇。動態 CF 已經把偏差校準完畢,再疊加靜態層只會把原本校準好的結果推偏。

第九層:LMM——靜態 CF 如果取代動態 CF,偏差會差多少

敏感度掃描回答的是「疊加」的問題;LMM 回答的是「取代」的問題——如果整個系統捨棄動態 CF、改用靜態全域 CF ×1.10,排除樹種干擾後,偏差平均會變差多少?

直接比較兩種條件下的整體 MAPE 行不通,因為 14 個樹種分布不均勻,高估傾向的樹種如果恰好樣本多,就會把整體平均拉偏。解決方法是用 LMM(Linear Mixed Model,線性混合模型),透過 Python 的 statsmodels MixedLM 模組,以 REML(Restricted Maximum Likelihood,限制最大概似估計) 方法求解。選用 REML 而非普通最大概似估計(MLE),是因為 REML 對隨機效應的變異數估計更不偏,在只有 31 棵樣本的情況下這點特別重要。

LMM 把「樹種」設定為隨機效應(Random Effect),讓每個樹種有自己的偏差基準線(截距,intercept),自動把各樹種先天偏高或偏低的傾向從總誤差裡分離出去。吸收完樹種差異之後,再用固定效應(Fixed Effect)β₁(唸 "beta one") 測量「改用靜態 CF 這個動作本身,在排除樹種影響後,平均讓偏差變動幾公分」。

β₁ = +2.91 cm 算出後,用 p 值(p-value) 判斷這個結果是否可信:虛無假說(H₀)是「改用靜態 CF 對偏差沒有影響,β₁ = 0」。p = 0.004 代表:如果 H₀ 成立,隨機抽樣卻觀察到「β₁ ≥ +2.91 cm」的機率只有 0.4%。慣例顯著性門檻是 p < 0.05,p = 0.004 遠低於這個門檻,H₀ 被拒絕。

白話:統計上幾乎可以確定,改用靜態 CF 確實讓偏差顯著增加了將近 3 公分,這不是隨機誤差,是真實的系統性惡化。

第十層:ICC——確認動態機制在各樹種均勻有效,並說明限制

LMM 擬合完成後,模型同時輸出兩個變異數估計值:τ²(tau squared,組間變異數)代表樹種層級能解釋的誤差變異量;σ²(sigma squared,組內殘差變異數)代表樹種內部剩餘的個體隨機變異量。兩者組合成組內相關係數(ICC,Intraclass Correlation Coefficient)

ICC = τ² / (τ² + σ²)

ICC 介於 0 到 1。越接近 1,代表「樟樹系統性高估、竹子系統性低估」這類樹種層面的規律仍然存在;越接近 0,代表樹種分組幾乎解釋不了任何東西,各樹種的殘差結構趨近相同。

動態 CF 校準完成後,各樹種殘差都趨近零,τ² 也趨近零,代入公式得 ICC = 0.000

白話:模型試圖用「樹種」解釋剩餘誤差,但完全解釋不了——動態 CF 已經把每個樹種的偏差分別校準到接近零,剩下的誤差是每棵樹各自的個體隨機波動,不再有任何樹種層面的系統性盲點。

統計盲點說明:ICC = 0.000 有兩種解讀。主要解讀是動態 CF 機制均勻有效;但同時也存在一個小樣本的替代解釋——31 棵樣本分散在 14 個樹種,部分樹種只有 1–2 棵代表,REML 在組內樣本極少的情況下,τ² 本來就容易估算趨近於零,不一定完全反映真實的組間差異。論文結果將 ICC = 0.000 解讀為動態機制成功的間接證明,但在樣本數限制下,這個結論的統計強度受到一定程度的制約。

第十一層:通過率與 Hevner 準則三

通過率(Pass Rate)除了作為敏感度掃描的評估指標,也是 Hevner 系統設計準則三的核心評估數字。準則三要求系統提供「可評估的實用效益」,論文以「APE ≤ 25% 的棵數佔比 = 74.2%(23/31)」量化系統的實際應用精度。這個 25% 門檻是本專案自訂、對齊 Hevner 準則三的精度目標,並非 Verra VM0047 條文。

結論的完整邏輯鏈

六個統計結果串在一起,形成一條完整的論證鏈:MAPE = 15.6% 加上 Bootstrap 95% CI 說明精度數字穩健可信;Verra 90% CI 半寬佔均值比率(DBH 6.3%)遠低於 Verra 唯一合格門檻 100%(寬裕約 16 倍),通過碳權合規門檻;敏感度掃描確認動態 CF 之後不需要任何靜態補丁(最優額外乘數 = ×1.00);β₁ = +2.91 cm(p = 0.004)說明如果用靜態 CF 取代動態 CF,偏差顯著惡化;ICC = 0.000 說明動態 CF 在 14 個樹種之間均勻有效,但受小樣本限制,τ² 的估計本身帶有一定不確定性,需要在解讀上保持審慎。

五者合力支撐論文的核心結論:動態自演進 CF 機制不需要靜態補丁輔助,也不應被靜態固定值取代,自己就足以在多樹種、樣本分布不均勻的真實田野環境下完成有效校準,且結果符合 Verra 國際碳權標準。