 JianMiauandClaude Fable 5
|
0ec645d1e0
|
新增「框選辨識主體」功能,降低相似照片互相認錯(掃描頁 v9)
根本原因:
MindAR 以整張照片的特徵點做比對,同場地、同構圖的照片
(例如活動現場連拍)大部分特徵點落在共同背景(場地線條、
天花板、浮水印),會穩定地互相認錯、播出別張的影片。
調高 warmupTolerance 實測無效:錯誤目標是持續穩定匹配,
嚴格化只是更慢地確認錯的答案。
影響:
背景相似的多組照片無法在同一個特徵檔中正確區分。
修法:
1. 管理頁每組配對新增「框主體」:在照片上拖曳框選最有辨識度
的區域(相對座標存於 pairs.json,照片檔不動),編譯時只用
框內影像產生特徵。框的長寬下限 15%,實測框太小(僅臉部
特寫)會特徵點不足而完全偵測不到。
2. server 新增 PUT /api/pairs/:id/crop 儲存裁切框;更動後
自動標記「有變更尚未編譯」。
3. 掃描頁依 mapping 中的 aspect 與 crop 將影片平面放大平移,
辨識目標雖只是照片的一塊,影片仍精確覆蓋整張照片
(已用假相機截圖驗證幾何)。無裁切的舊資料行為不變。
已知限制:兩張照片若互相拍到彼此的主體(同兩人、同場地的
連拍),框選也無法完全區分——框內容本來就存在於另一張裡。
這種情況仍建議更換其中一張照片。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-28 11:58:49 +08:00 |
|
 JianMiauandClaude Fable 5
|
77fff4326c
|
修正 iOS 27 Beta 掃描無反應,掃描頁加入畫面內錯誤與除錯顯示(v8)
根本原因:
iOS 27 Beta 的 WebKit 回歸使 tfjs 打包著色器連結失敗
(Failed to link vertex and fragment shaders),MindAR 辨識引擎
啟動時無聲掛掉;相機畫面只是一般 video 元素照常顯示,
使用者看到的症狀就是「掃描完全沒反應」。錯誤只進 console,
行動裝置上看不到,導致先前無從排查。
影響:
iOS 27 Beta 裝置無論掃哪張照片都不會觸發辨識;iOS 26 與桌面正常。
修法:
1. 在 MindAR 載入前偵測 iOS 裝置,自動把 tfjsflags=WEBGL_PACK:false
補進網址(tfjs 由 query string 讀取設定),改用未打包著色器,
已在 iOS 27 Beta 實機驗證可正常辨識;網址手動帶 tfjsflags 時不覆蓋。
2. 未攔截的 JS 錯誤改以紅色橫幅直接顯示在畫面頂端;網址加 ?debug
可在畫面底部看到掃描過程(目標數、相機解析度、targetFound/Lost、
console 訊息),行動裝置也能自行排查。版本字樣升至 v8。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-28 11:41:20 +08:00 |
|
 JianMiauandClaude Fable 5
|
1c806d45e1
|
上傳照片時自動在瀏覽器端縮圖壓縮
根本原因:
照片一律以原始解析度存檔(手機相機動輒 2000px 以上、數 MB),除了先前已修的編譯端問題,也拖慢上傳、佔用 NAS 空間與管理頁縮圖載入。
影響:
上傳大照片時傳輸慢、data 目錄膨脹;縮圖修正前上傳的原圖也一直以全尺寸存放。
修法:
管理頁上傳前先在瀏覽器把照片縮到長邊 1280px、以 JPEG 90% 重新編碼(canvas 會把 EXIF 方向烘進像素,直式照片不會轉向),訊息列顯示壓縮前後大小;MAX_EDGE 常數與編譯端共用,編譯端縮圖保留作為舊照片的雙保險。已在本機實測:2244x4124 / 1.4MB 原圖上傳後存為 696x1280 / 170KB。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-28 11:07:08 +08:00 |
|
 JianMiauandClaude Fable 5
|
c894b98e48
|
編譯前將照片縮至長邊 1280px,修正 iPhone 掃描無反應
根本原因:
管理頁把原始解析度照片(2244x4131)直接餵給 MindAR 編譯器,特徵檔隨圖片尺寸與張數暴漲。2 張時 iOS Safari 勉強可用,新增至 4 張重新編譯後,掃描頁的 WebGL 資源超出 iOS 上限,辨識引擎無聲失效——相機畫面正常但掃任何照片都沒反應;桌面 Chrome 資源上限較高所以不受影響。
影響:
NAS 部署(4 組配對)後 iPhone 完全無法辨識任何照片,服務等同不可用。
修法:
編譯前先在瀏覽器端把照片縮到長邊 1280px(canvas 縮圖後餵給編譯器),特徵檔由 4.05MB 降為 2.76MB。已用 Playwright 假相機對 NAS 實測,4 張照片皆可在 2 秒內辨識並播放對應影片;配對 aspect 仍以原圖計算,顯示比例不變。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-28 10:55:45 +08:00 |
|
 JianMiauandClaude Fable 5
|
a5fa5b0972
|
掃描成功後右下角顯示影片下載按鈕
摘要:
掃到照片後,掃描頁右下角出現圓形下載按鈕,點擊可下載最後掃到的影片。
根本原因:
使用者希望能把掃描到的動態影片存到手機。
影響:
每次 targetFound 會更新按鈕連結與檔名(配對名稱.副檔名,如 20260707_093628.mp4);
掃到不同照片會切換成該張的影片;按 ✕ 停止掃描時按鈕隱藏。
修法:
新增固定於右下角的 <a download> 按鈕,targetFound 時設定 href 與 download
屬性並顯示。版本標示 v7。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-07 10:27:39 +08:00 |
|
 JianMiauandClaude Fable 5
|
ffe3dc366f
|
移除掃描框與載入張數顯示
摘要:
掃描頁不再顯示 MindAR 掃描框動畫,開始畫面也不再顯示「已載入 N 張動態相片」。
根本原因:
使用者不需要這兩個提示,畫面更乾淨。
影響:
掃描時只看到相機畫面;開始畫面狀態列留空(錯誤訊息仍會顯示)。
修法:
mindar-image 的 uiScanning 改為 no;載入完成後狀態文字改為空字串。版本標示 v6。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-07 10:05:51 +08:00 |
|
 JianMiauandClaude Fable 5
|
0cf034a856
|
新增動態相片 Web AR 服務(照片掃描播放對應影片)
摘要:
建立照片=key、影片=value 的 Web AR 服務,手機瀏覽器掃描照片後,
影片會貼齊照片位置覆蓋播放(同小米相片印表機動態照片效果)。
根本原因:
全新專案。
影響:
管理頁(3510/HTTP)可上傳配對並於瀏覽器端編譯 MindAR 特徵檔;
掃描頁(3511/HTTPS)供手機掃描照片播放影片。資料存於 /data volume,
支援外掛正式憑證(/certs),無憑證時自動產生自簽憑證。
修法:
Node.js + Express 後端、MindAR + A-Frame 前端,Docker 部署
(sudo docker compose up -d --build)。已處理 iOS 影片解鎖漏音
(影片保持靜音直到掃到照片)、MindAR 相機畫面被 body 背景遮蔽、
A-Frame boolean 屬性解析等問題。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-07 10:04:27 +08:00 |
|