深度學習 · 電腦視覺

OCR 光學字元辨識

把圖片裡的字變成能複製、能搜尋的文字。現代 OCR 用「CNN 當眼睛、RNN 當大腦」,一路掃過去讀出整串字。

影像轉文字CRNNCNN + RNNCTCCER · WER

💡一句話定義

OCR(Optical Character Recognition,光學字元辨識)= 把影像中的文字(掃描件、照片、PDF)轉成可編輯、可搜尋的文字。它不只是「認字」,而是先找到文字在哪、再把它讀出來的完整流程。

🔧OCR 的典型流程

易混:OCR 是「偵測+辨識」兩步,不是只有辨識。文字先被框出來,才逐段讀出文字。

🎮互動:CRNN 掃過 "DATA"

按「開始掃描」:藍色掃描線滑過影像,中間的 CNN 特徵圖逐欄點亮,下方 RNN 機率隨時間跳動,最後解碼出 DATA

OCR 光學字元辨識 (CRNN架構) 互動演示
1. 輸入影像 (Image) 2. CNN 特徵提取 (Feature Map) 3. RNN 序列預測 (Probability) 解碼結果:

👁️CRNN = CNN(眼睛)+ RNN(大腦)

早期 OCR 靠「模板匹配」,字體一變形就失效。現代 OCR(Tesseract 4+、EasyOCR)多用 CRNN

👁️CNN 當眼睛
在圖上滑動,萃取筆畫特徵(直線、圈、轉角)。
🧠RNN 當大腦
處理序列關係(看到 D-A-T 後接 A 的機率高)。

🧩核心難題:對齊(CTC)

OCR 最難的是「對齊」——手寫的 A 可能寬、I 可能窄,機器怎麼知道哪一段影像對應哪個字?CTC(Connectionist Temporal Classification)用一個「空白」符號並允許重複字元來解決:

- D - D A - - T T A - → 合併重複、刪除空白 → DATA

demo 下方跳動的機率條,就是 CTC 在算「每個時間點屬於某個字元」的機率,最後解碼成一串字。

📈架構演進

世代做法特點
模板匹配比對字形樣板簡單;字體變形、手寫就失效
CRNN + CTCCNN 抽特徵 + RNN 讀序列 + CTC 對齊現代主流,能讀連續文字
TrOCR(Transformer)用注意力取代 RNN參考前後文、手寫潦草也更準

📏評估與應用

評估:字元錯誤率 CER詞錯誤率 WER(跟正解比編輯距離,越低越好)。
應用:車牌辨識(停車場自動開柵)、發票與表單數位化、翻譯筆/Google Lens 即時翻譯、證件辨識、文件數位化與無障礙朗讀。
難點:手寫字、藝術字、低解析、模糊、傾斜、複雜背景、表格與多欄排版。

自我檢測

Q1. OCR 是一步還是兩步?流程為何?
是「偵測+辨識」兩步:前處理(去噪、校正、二值化)→ 文字偵測(找區域)→ 文字辨識(轉字元)→ 後處理(語言模型校正)。
Q2. CRNN 裡 CNN 和 RNN 各做什麼?
CNN 當「眼睛」萃取筆畫特徵;RNN 當「大腦」處理字元的序列關係(前後字的可能性),兩者合作讀出連續文字。
Q3. CTC 解決什麼問題?
解決「對齊」——影像哪一段對應哪個字。它引入空白符號、允許重複字元,輸出後合併重複、刪除空白就得到正確字串(如 -D-DA--TTA- → DATA)。
Q4. OCR 怎麼評估?
用字元錯誤率(CER)與詞錯誤率(WER),計算辨識結果與正解的編輯距離,越低越好。

🎯重點整理

📝 iPAS 考點提醒

OCR(光學字元辨識)把影像中的文字轉成可編輯文字,iPAS 中級科目一的 CV 應用。重點:流程為前處理(去噪、校正、二值化)、文字偵測、文字辨識、語言模型後處理,評估用字元錯誤率 CER 與詞錯誤率 WER。易混點:OCR 是偵測加辨識兩步,別只想成辨識;手寫、傾斜、複雜背景與表格是難點。情境:發票表單自動化、車牌與證件辨識、文件數位化。

想練情境題與詳解 → AI 學習與考證地圖

❓ 常見問題

OCR 是什麼?

光學字元辨識(Optical Character Recognition);把影像中的文字(掃描件、照片、PDF)轉成可編輯、可搜尋的文字。

OCR 的典型流程?

影像前處理(去噪、校正、二值化)、文字偵測(找文字區域)、文字辨識(轉成字元)、後處理(語言模型校正)。

OCR 怎麼評估?

用字元錯誤率(CER)與詞錯誤率(WER),比較辨識結果與正解的編輯距離;越低越好。

OCR 常遇到什麼困難?

手寫字、藝術字體、低解析、模糊、傾斜、複雜背景、表格與多欄排版,以及少見語言或符號。

OCR 有哪些應用?

文件數位化、發票與表單自動處理、車牌辨識、證件辨識、街景文字、無障礙朗讀等把圖中文字變可用的場景。

🧭 相關主題

← 返回 AI 學習與考證地圖