這是一個用在 國家衛生研究院-行政作業資訊整合系統 的 Chrome / Edge Manifest V3 擴充功能。版本 1.2.2 會在 https://admis.nhri.edu.tw/ 登入頁辨識 5 位數字驗證碼,切割正常且辨識出五個數字時會自動填入。每字信心均達 95% 顯示綠色,低於 95% 也會填入並維持黃色確認提示。
1.2.2 改為低於 95% 也填入候選答案,並保留黃色提示供您核對。95% 是提示顏色的門檻;切割異常時仍須人工填寫。下方 1.2.0 的評估數據使用當時的 99% 門檻。
1.1.1 保留與主筆畫左右對齊、上下接近的斷開筆畫,再從上、下兩端找裁切邊界,修正開頭被裁到的 2 遺失底部問題;不會補畫不存在的像素。22329 的首字信心由 45.57% 提升至 99.72%。
1.2.0 使用新增低信心樣本微調後的模型。原有測試組維持 20/20 正確;新增困難測試組由 18/20 提升為 20/20,17 張達自動填入門檻。新收集的 100 張有 82 張可自動填入(此數包含訓練資料)。仍維持逐字 99% 門檻。更新後須在擴充功能管理頁重新載入,並重新整理登入頁。
- 減少登入 國家衛生研究院-行政作業資訊整合系統 時手動輸入驗證碼的時間。
- 將 OCR 模型直接打包在擴充功能內,不需要連線到外部辨識服務。
- 只針對
admis.nhri.edu.tw網域啟用,避免在其他網站執行。 - 在驗證碼下方顯示辨識狀態、結果與信心分數,方便確認是否需要手動修正。
- 在登入頁按下 Enter 時,可直接觸發登入按鈕。
注意:此工具是輔助輸入用途。若辨識結果信心偏低,請以畫面上的驗證碼為準並手動確認。
1.1.0 修正右側雜訊造成中間兩字合併的問題,並保留使用者手動输入。圖片更換或相同 URL 重新載入時,舊推論不會填入。狀態列百分比是最低字元信心,並非實測正確率。
- 自動偵測 ADMIS 登入頁的 captcha 圖片。
- 圖片更新或重新產生驗證碼時會自動重新辨識。
- 透過 Canvas 前處理、數字切割與內建 dense neural network 模型進行辨識。
- 辨識成功後會觸發
input、change、blur事件,讓頁面原本的 Knockout binding 可以同步取得欄位值。 - 模型檔案本地載入,不上傳 captcha 圖片或登入資料。
admis-captcha-extension/
manifest.json
popup.html
docs/
development.md
images/
admis-captcha-ocr-usage.png
model/
model.json
group1-shard1of1.bin
labels.json
preprocessing.json
src/
content.js
content.css
fill-policy.js
model-runner.js
page-login-bridge.js
preprocess.js
- 開啟瀏覽器擴充功能管理頁:
- Chrome:
chrome://extensions/ - Edge:
edge://extensions/
- Chrome:
- 啟用「開發人員模式」。
- 點選「載入未封裝項目」。
- 選擇本專案資料夾:
admis-captcha-extension/
- 前往
https://admis.nhri.edu.tw/登入頁。 - 頁面載入驗證碼後,切割正常的五位數候選答案會自動填入;低於 95% 時顯示黃色提示,請核對原圖。
請在相鄰 captcha-ocr-tfjs 專案執行 npm run evaluate -- --promote 及 npm run sync:extension,一起更新模型與共用前處理。不要只複製新模型而遺漏切割流程。
模型檔位於:
admis-captcha-extension/model/
需要包含下列檔案:
model.json
group1-shard1of1.bin
labels.json
preprocessing.json
更新後請回到瀏覽器擴充功能管理頁,按下 Reload / 重新載入,讓瀏覽器使用新的模型檔。
src/content.js在 ADMIS 登入頁尋找 captcha 圖片與輸入欄位。src/preprocess.js將 captcha 圖片轉為灰階、二值化、去除相對尺寸過小的雜訊,並檢查是否能合理切成 5 字。- 每個數字會被正規化為
32x32的模型輸入。 src/model-runner.js直接讀取 TensorFlow.js 匯出的權重檔,並以純 JavaScript 執行 dense network 推論。src/fill-policy.js檢查圖片是否仍相同、手動輸入是否變動、切割品質,並以每字 95% 決定是否顯示黃色提示。- 達門檻且輸入欄空白時自動填入;其餘顯示候選答案與人工填寫提示。原有輸入會保留。
更多技術細節可參考 docs/development.md。
若需要除錯,請在 https://admis.nhri.edu.tw/ 頁面開啟 DevTools,查看 Console 中以 [ADMIS Captcha OCR] 開頭的訊息。
- 目前模型標籤為
1到9,適用於 ADMIS 目前的 5 位數字 captcha 格式。 - 若 ADMIS 頁面 DOM、captcha 圖片格式或驗證碼規則改變,可能需要調整 selector、前處理參數或重新訓練模型。
- OCR 結果並非百分之百準確,登入前仍建議確認畫面上的辨識結果。
本擴充功能只在 https://admis.nhri.edu.tw/ 執行,captcha 圖片由瀏覽器本地讀取與辨識,不會傳送到外部伺服器。擴充功能不收集、不儲存、不上傳帳號、密碼或其他登入資料。
