此頁面完整呈現此專案在 2026 年 5 月對 31 棵實驗樹所進行的 DBH(胸高直徑,Diameter at Breast Height)測量系統演進歷程。系統從最初採用單一處理流程(pipeline)、整體通過率不足六成的起點出發,逐步發展為以 5 條處理流程並行對照、為每棵樹挑選表現最佳路徑(winner)的架構,最終讓本專案自訂 ≤25% 精度目標的通過率提升至 74.2%(23/31 棵)。
此研究問題檢驗 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.2 | 8.63%,遠低於 100% 紅線 ✓ |
| 撰寫標準作業程序文件(SOP,含品質管控流程) | §9.3 | sop.md 完成 ✓ |
| 確認材積與碳換算公式(allometric equation)對應正確生態區 | §9.1 | 採台灣林業局公式 ✓ |
| 證明皮尺真值量法符合 Kershaw 教科書標準作法 | §9.1 | 鐵捲尺定 1.3 公尺、皮尺繞一圈量周長 ✓ |
| 撰寫適用範圍宣告(界定方法成立的條件) | §9.1 | sop.md 第 8 節完成 ✓ |
| 以配對 t 檢定(paired t-test)證明量測無系統性偏誤 | §9.1 | t=0.126,遠小於臨界值 2.052 ✓ |
此問題對應商業模式與利害關係人(stakeholder)分析,檢驗碳匯量測系統能否在企業、地主、基金會三方之間,各自呈現足以促成相關協作助益。此展示頁面目前聚焦於 RQ1 的量測精度驗證,RQ2 的相關探討將於後續章節補充。
此研究目標包含三個動作,分別對應本頁以下章節:
此研究目標旨在建立與評估能讓企業、地主、基金會三方看見共享價值(Shared Value, Porter & Kramer 2011)的協作機制,切入每一方實際面對的問題,檢驗系統能否替三方解決瓶頸難題、促成長期協作。
此目標目前評估兩套候選框架:UTAUT 整合型科技接受與使用理論 從「績效期望」切入各方的成效,DeLone & McLean 資訊系統成功模型(D&M) 從「資訊品質與淨效益」切入系統替各方帶來的好處。
| UTAUT 構念 | 量什麼 | 套到三方的題目方向 |
|---|---|---|
| 績效期望(Performance Expectancy) | 系統對使用者關注成效的助益程度 | 企業=能否產出可信的 ESG 報告;地主=能否提升林地資產收益;基金會=能否減少監測人力 |
| 努力期望(Effort Expectancy) | 系統操作的難易程度 | 三方=拍影片上傳、查閱履歷的流程是否簡單 |
| 社會影響(Social Influence) | 周遭重要對象對採用系統的期待程度 | 企業=同業/投資人是否看重;基金會=捐款人是否期待 |
| 促成條件(Facilitating Conditions) | 使用系統所需資源與支援的充足程度 | 三方=設備、網路、技術支援是否到位 |
| D&M 維度 | 量什麼 | 套到此專案 |
|---|---|---|
| 系統品質(System Quality) | 系統穩定度、操作便利性與回應速度 | 上傳與查詢流程的順暢度 |
| 資訊品質(Information Quality) | 數據準確、完整、可信、即時 | 直接銜接 RQ1:碳匯數據的精度與可審計性 |
| 服務品質(Service Quality) | 技術支援與維護 | 平台客服與維運 |
| 使用 / 使用意圖(Use / Intention to Use) | 實際使用與持續使用意願 | 三方是否持續使用、對外推廣 |
| 使用者滿意度(User Satisfaction) | 整體滿意程度 | 三方對系統的滿意度 |
| 淨效益(Net Benefits) | 系統帶來的實質效益 | 企業=合規可信報告;地主=資產收益;基金會=監測效率 |
此實驗的 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 無法判斷當下對焦的是哪一棵,這個情況需要另行設計專屬的處理流程來解決。
AGB(地上生物量,Above-Ground Biomass)涵蓋樹木地面以上的所有生物質,包含樹幹、樹枝、樹葉與樹皮,以公斤或公噸計。森林碳估算最終要得到的正是 AGB,再乘上碳含量即可換算成固碳量。
DBH 在此扮演中間變數的角色,要從 DBH 換算成 AGB,需要套用異速生長方程式(allometric equation):
AGB = 0.0673 × (ρ × DBH² × H)^0.976
這裡的關鍵在於 DBH 帶有平方項—— DBH 誤差 10% 會放大成 AGB 誤差約 20%。
| 規定 | 性質 | 此專案狀態 |
|---|---|---|
| 規定 1:用 90% CI(不是 95%) | 計算方法的規範、不是門檻 | 此專案依規範計算 90% CI ✓ |
| 規定 2:CI half-width / mean < 100% | 唯一具約束力的合格門檻 | 此專案為 6.3% << 100% ✓(大幅通過) |
| 規定 3:最低 10% uncertainty deduction | 屬於固定扣減、無論精度多高都會扣除 | 並非門檻、無需通過 |
真正決定「通過或不通過」的只有規定 2。規定 1 規範的是「如何計算」,規定 3 則代表「無論精度多高都固定扣除 10%」。
| 項目 | 數值 |
|---|---|
| 樣本數 n | 31 棵(全數可比對) |
| mean tape | 29.71 cm |
| mean P4 DBH | 29.75 cm |
| bias | +0.03 cm(+0.1%)← 中位數彙整已有效消除系統性偏差 |
| std of error | 6.12 cm |
| SE | 6.12 / √31 = 1.10 cm |
| t(α=0.1, df=30) | 1.697 |
| 90% CI half-width | 1.10 × 1.697 = 1.87 cm |
| CI half-width / mean | 6.3%(Verra 紅線為 100%,此結果寬裕約 16 倍) |
此系統最初對每棵樹只呼叫一次 Gemini,結果在 31 棵中有 14 棵的誤差超過 15%。深入分析後發現,Gemini 在「同一批影像只推論一次」的條件下,偶爾會出現單次離群值(outlier)。兩次測試(dryrun #8 與 #9)對同一支影片各推論一次,兩次得到的結果相差好幾倍,正好印證了這個現象。
早期版本曾先用 OpenCV 偵測卡片的傾斜角度,再把整張影像旋轉到卡片正交的方向,最後才送進 Gemini 分析。這個做法在實際運行後帶來幾項副作用:
後續所有處理流程都移除了影像旋轉,改以「挑選 isOrthogonal 為 true 的影像」作為品質門檻。
此階段改為對同一批影像連續呼叫 5 次 Gemini,取比例值(ratio)的中位數(median)。IMG_5789 的實驗清楚呈現效果:單次取樣時曾出現 ratio=4.5 或 6.19 的離群值,重複 5 次取中位數後,數值收斂到 2.97,相當接近真實比例 3.07。至於「Gemini 本來就拒絕作答」的樹,重複取樣的助益有限,原因在於 5 次推論全數拒答時,中位數仍然取得空值(null)。
iPhone 拍攝的 4K HDR 影片採用 HEVC 編碼,ffmpeg 在此專案的虛擬機(VM)上以純 CPU 解碼,速度約為實際播放時間的 2 至 3 倍慢。以一支 117 秒的影片為例,光是 ffmpeg 解碼就需要 320 秒,有 7 支較大的 HEVC 檔案在 1200 秒的逾時上限內無法處理完成。
改用 ffmpeg -skip_frame nokey 參數(只解碼 I-frame、跳過 P/B frame)後:
後續所有處理流程都採用關鍵幀擷取。
此階段對多棵高誤差的樹進行了多輪提示詞(prompt)優化,得到一個關鍵觀察:沒有任何單一提示詞能同時讓所有樹都得到最佳結果。細樹幹適合 measure 提示詞,中等樹幹適合 baseline 提示詞,樹皮紋理複雜的樹則適合 tight 提示詞。
基於此觀察,此專案採用「多流程並行對照、每棵樹挑選最佳路徑(winner)」的策略,把不同的提示詞與取幀方式(frame selection)組合成各自獨立的處理流程,一共跑 5 種對照,再為每棵樹選出最適合它的流程作為代表。5 種對照在 30 棵樹上的逐棵成績,詳見 §4 30 棵實驗結果。
綠 ≤15%(PASS) 黃 15–30% 紅 >30% 灰 N/A 或 null
| IMG | tape(cm) | P1a | P1b | P2 | P3 | P4 | best | winner | PASS |
|---|---|---|---|---|---|---|---|---|---|
| 5786 | 22.6 | — | 39.8 | 58.4 | 7.1 | 8.0 | 7.1 | P3 | ✓ |
| 5787 | 27.2 | 14.7 | 9.9 | 37.1 | 9.6 | 2.2 | 2.2 | P4 | ✓ |
| 5788 | 27.7 | — | — | — | — * | — * | N/A | cap | — |
| 5789 | 26.3 | 10.6 | 11.8 | 3.8 | 20.2 | 15.2 | 3.8 | P2 | ✓ |
| 5790 | 19.4 | — | — | — | 25.8† | 15.5† | 15.5 | P4 | ✗ |
| 5791 | 30.2 | 44.7 | 40.1 | 48.7 | 38.7 | 0.7 | 0.7 | P4 | ✓ |
| 5792 | 28.6 | 42.0 | 37.4 | 30.4 | 12.2 | 19.2 | 12.2 | P3 | ✓ |
| 5793 | 33.7 | 38.6 | — | 2.1 | 30.6 | 41.2 | 2.1 | P2 | ✓ |
| 5794 | 31.2 | 29.8 | 25.6 | 31.7 | 25.3 | 5.4 | 5.4 | P4 | ✓ |
| 5795 | 22.0 | 12.3 | 17.3 | 1.8 | 5.0 | 30.0 | 1.8 | P2 | ✓ |
| 5798 | 42.0 | — | 44.3 | — | 56.9 | 14.5 | 14.5 | P4 | ✓ |
| 5799 | 43.6 | 5.7 | 19.5 | — | 47.5 | 27.1 | 5.7 | P1a | ✓ |
| 5800 | 17.5 | 10.3 | 22.3 | 18.9 | 35.4 | 11.4 | 10.3 | P1a | ✓ |
| 5801 | 16.9 | 13.6 | 2.4 | 24.3 | 9.5 | 0.6 | 0.6 | P4 | ✓ |
| 5802 | 43.9 | 36.9 | 44.6 | 45.1 | 25.1 | 22.3 | 22.3 | P4 | ✗ |
| 5803 | 43.0 | 59.8 | 55.1 | 51.2 | 39.3 | 45.6 | 39.3 | P3 | ✗ |
| 5805 | 35.7 | 42.6 | — | 27.2 | 42.9 | 9.5 | 9.5 | P4 | ✓ |
| 5806 | 38.8 | — | — | — | 48.7† | 22.7† | 22.7 | P4 | ✗ |
| 5807 | 31.5 | — | — | 31.4 | 2.9† | 11.7† | 2.9 | P3 | ✓ |
| 5808 | 31.8 | 15.4 | 27.4 | 23.0 | 28.0 | 21.4 | 15.4 | P1a | ✗ |
| 5809 | 30.6 | — | — | 34.3 | 43.1 | 29.4 | 29.4 | P4 | ✗ |
| 5810 | 29.9 | 46.2 | 11.7 | 6.7 | 64.5 | 3.7 | 3.7 | P4 | ✓ |
| 5811 | 30.6 | — | — | — | 34.0 | 4.6 | 4.6 | P4 | ✓ |
| 5812 | 30.9 | — | — | 9.1 | 49.5 | 4.2 | 4.2 | P4 | ✓ |
| 5813 | 26.1 | 30.3 | 25.7 | 4.6 | 0.4 | 4.6 | 0.4 | P3 | ✓ |
| 5814 | 38.5 | 38.4 | 27.3 | 52.2 | 20.0 | 51.2 | 20.0 | P3 | ✗ |
| 5815 | 32.5 | 14.5 | — | — | 7.1 | 1.2 | 1.2 | P4 | ✓ |
| 5817 | 24.5 | 35.5 | — | 16.3 | 11.4 | 4.9 | 4.9 | P4 | ✓ |
| 5818 | 17.5 | 71.4 | — | 32.6 | 19.4 | 11.4 | 11.4 | P4 | ✓ |
| 5819 | 21.6 | 12.0 | 1.9 | 6.0 | 7.4 | 7.9 | 1.9 | P1b | ✓ |
* = 撞到 Gemini API 當月用量上限,未執行 † = 取自歷史 dryrun_runs 表中相同 pipeline_version 的紀錄
| Pipeline | 解碼 | 取幀 | 解析度 | OpenCV 篩 isOrthogonal | N |
|---|---|---|---|---|---|
| P1a kf-sharp-960 | 只解 I | 最清晰 8 張 | 降到 960 | ✓ | 5 |
| P1b kf-sharp-orig | 只解 I | 最清晰 8 張 | 原解析度 | ✓ | 5 |
| P2 kf-time-960 | 只解 I | 時間均勻 8 張 | 降到 960 | ✓ | 5 |
| P3 video-v1 | Gemini 端 | Gemini 自行挑選 | 原解析度 | Gemini 自行判斷 | 5 |
| P4 video-v2 | Gemini 端 | Gemini 自行挑選 | 原解析度 | Gemini 自行判斷(+ 胸高 prompt) | 10 |
| 比較 | 差異變數 | 驗證的事 |
|---|---|---|
| P1a vs P1b | 解析度 | 降解析度給 Gemini 看是否影響準確度 |
| P1a vs P2 | 取幀方式 | 精選最清晰 vs 時間多樣化哪個好 |
| P1a/2 vs P3 | 處理位置 | VM OpenCV 篩 vs 全交 Gemini 哪個準 |
| P3 vs P4 | N + 胸高 prompt | 胸高 prompt + 更多 N 的提升幅度 |
| Pipeline | 當 winner 次數 | 佔比 |
|---|---|---|
| P4 video-v2(N=10 + 胸高 prompt) | 17 | 58.6% |
| P3 video-v1 | 5 | 17.2% |
| P2 kf-time-960 | 3 | 10.3% |
| P1a kf-sharp-960 | 3 | 10.3% |
| P1b kf-sharp-orig | 1 | 3.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 次 | 測了但 confounded | P3(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 的對照之中。
以五條流程對照實驗確認 P4 為最佳流程後,此專案對全部 32 棵樹改用 P4 video-v2 流程(整支影片交給影像模型、N=10 次中位數彙整、不另施加靜態校準因子)重新量測並上鏈。此節呈現該批次的統計彙總與 Verra §8.5 不確定性驗算;逐棵量測結果與區塊鏈存證見 dashboard02.html。
| 誤差門檻 | 通過棵數 / 可比對棵數 | 通過率 |
|---|---|---|
| ≤15% | 17 / 31 | 54.8% |
| ≤20% | 20 / 31 | 64.5% |
| ≤25%(本專案自訂精度目標,非 Verra 條文) | 23 / 31 | 74.2% |
| ≤30% | 26 / 31 | 83.9% |
| 量測層級 | 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。
| IMG | tape (cm) | AI 估算 (cm) | APE | 偏離方向 |
|---|---|---|---|---|
| 5800 | 17.5 | 25.9 | 48.0% | 偏高 48% |
| 5817 | 24.5 | 35.0 | 42.9% | 偏高 43% |
| 5803 | 43.0 | 24.7 | 42.6% | 偏低 43% |
| 5819 | 21.6 | 29.4 | 36.1% | 偏高 36% |
| 5786 | 22.6 | 29.6 | 31.0% | 偏高 31% |
| 5818 | 17.5 | 22.6 | 29.1% | 偏高 29% |
| 5814 | 38.5 | 28.7 | 25.5% | 偏低 25% |
| 5795 | 22.0 | 27.8 | 26.4% | 偏高 26% |
這 8 棵呈現兩種型態:細樹幹(tape ≤ 25 cm)以偏高估算為主(共 6 棵,Gemini 放大了樹幹與信用卡的比例);粗樹幹(tape ≥ 38 cm)以偏低估算為主(共 2 棵,遮蔽或拍攝角度使樹幹顯得較細)。後續可針對不同胸徑範圍調整提示詞或採用分層校準。
IMG_5788 在 5 條流程的 mass run 中曾因撞到 Gemini API 當月支出上限而未完成。生產系統(P4v2)重跑後已成功完成量測,APE = 2.2%,納入最終 31 棵統計。
IMG_5804 這支影片在同一個畫面裡同時拍到兩棵不同的樹(該樹在約 1.3 公尺高處分岔成兩根樹幹,現場依規範分別量測、視為兩棵獨立樹)。其中較粗的一棵取得完整的 AI 估算值(DBH 25.5 公分,與皮尺真值 25.46 公分幾乎一致),已納入生產系統 31 棵有效樣本;另一棵較細的樹幹,因為影像辨識模型 Gemini 無法分辨「當下對焦的是哪一棵」,始終沒有取得對應的 AI 估算值,因此不列入 31 棵的計算。
換句話說,這支影片的兩棵樹中有一棵不列入計算,並非資料缺漏,而是「一影片兩棵樹」這個情況需要另行設計專屬的處理流程才能完整解決。可行的方向包含:
此特例屬於此實驗範圍之外,留待後續處理。
以下為 Verra VM0047 方法學的官方連結。開啟 PDF 後,可直接以 Ctrl+F 搜尋以下英文關鍵字,快速定位本頁三條認證條件在原文的段落(下方 v1.0 全文 PDF 中位於 §8.4,現行 v1.1 已整節後移至 §8.5,內容相同)。
| 條件 | PDF 搜尋關鍵字 | 內容說明 |
|---|---|---|
| 條件一 | confidence interval | 規範採 90%(而非常見的 95%)信頼區間計算不確定性 |
| 條件二 | half-width | 信頼區間半寬 ÷ 平均估計値必須低於 100%(唯一决定核發與否的紅線) |
| 條件三 | uncertainty deduction | 固定扣減至少 10%(核發時強制執行,不構成通過門殄) |
(對應論文第四章 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%,是五條流程中最低的,確定為最終部署配置。
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 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 數值是獨立的。這是系統真實運作的狀態,最終加權平均約 ×1.155。
靜態全域 CF 是「如果當初用比較簡單的方法——所有樹種共用同一個固定乘數——結果會怎樣」這個假設問題的答案。它不進入生產系統,只用於後續比較實驗。
要做比較實驗,必須先算出靜態全域 CF 的客觀估計值。研究使用 LOOCV(Leave-One-Out Cross-Validation,逐一剔除交叉驗證) 計算:每次剔除第 i 棵樹,用剩下 30 棵算出一個靜態 CF,再把這個 CF 套回第 i 棵的預測誤差,記錄結果,重複 31 次取平均。排除離群值後,靜態全域 CF ≈ ×1.10。這個數字只是後續實驗的輸入材料,不代表系統要改用這個值。
研究者有一個問題:動態 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 ×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 公分,這不是隨機誤差,是真實的系統性惡化。
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 解讀為動態機制成功的間接證明,但在樣本數限制下,這個結論的統計強度受到一定程度的制約。
通過率(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 國際碳權標準。