跳到主要內容

Chandra OCR 本地部署與實測驗證完整指南

Chandra OCR 是一款功能強大的開源 OCR 模型,專為解決複雜排版、長文檔、模糊掃描件的識別難題而設計 [00:17, 00:54]。它具備 9B 參數,支持超過40種語言(包含中文及手寫體),並能進行結構化輸出(如 Markdown, HTML),有效處理表格、公式、頁眉頁腳等複雜元素 [01:26]。

一、 安裝與部署步驟

影片介紹了兩種部署方式,一種是透過 M Studio (應為 LM Studio) 的簡易安裝,另一種是透過官方倉庫在 Ubuntu 系統上進行本地部署。

方式一:M Studio (簡易安裝)

  1. 在 M Studio 中,點擊「發現」(Discover) [02:02]。
  2. 在搜索框中輸入模型名稱(Chandra OCR)。
  3. 選擇 4-bit 或 8-bit 的量化版本。
  4. 點擊「下載」即可開始使用 [02:12]。

方式二:官方倉庫本地部署 (以 Ubuntu 為例)

影片重點演示了在 Ubuntu 系統上的部署流程 [02:23]:

  1. 安裝 uv:

    # 執行命令安裝 uv
    [00:02:27] (影片中顯示了相關命令)
  2. 克隆 (Clone) 官方倉庫:

    # 執行 git clone 命令
    [00:02:30] (影片中顯示了相關命令)
  3. 進入項目目錄:

    # 執行 cd 命令進入項目路徑
    [00:02:34] (影片中顯示了相關命令)
  4. 安裝項目依賴:

    # 使用 uv 命令安裝項目
    [00:02:38] (影片中顯示了相關命令)
  5. 激活虛擬環境:

    # 執行命令激活虛擬環境
    [00:02:43] (影片中顯示了相關命令)
  6. 安裝 Chandra OCR:

    # 使用 pip 命令安裝
    [00:02:47] (影片中顯示了相關命令)

二、 啟動與測試驗證

部署完成後,影片展示瞭如何啟動 Web UI 界面並進行多項功能驗證。

啟動 Web UI

  1. 執行官方提供的命令來啟動 Demo UI [02:59]。
  2. 啟動成功後,在瀏覽器中打開對應的本地地址 [03:06]。
  3. 在 UI 界面左側,點擊下拉菜單並選擇「HF」來加載模型。此時後端會開始下載模型權重文件 [03:13]。

實測驗證

影片使用了多種複雜文檔來驗證 Chandra OCR 的強大能力:

  1. 測試 1: 長文檔掃描件 (含頁眉頁腳)

    • 內容: 包含頁眉和底部頁腳的掃描PDF [03:26]。
    • 結果: 成功識別並提取了頁眉和頁腳的內容 [03:46],這在其他模型(如 DeepSeek OCR)中會被遺漏 [00:37]。輸出保留了原文的分段格式(使用 HTML P 標籤) [03:53]。
  2. 測試 2: 手寫體文件

    • 內容: 一份手寫文件 [04:28]。
    • 結果: 識別結果與原文件完全一致,沒有任何識別錯誤 [04:35]。
  3. 測試 3: 模糊 PDF (中文 + 重疊代碼)

    • 內容: 包含中文、小字體,以及故意設置為有重疊區域的代碼 [04:48]。
    • 結果: 成功保留了標題的加粗格式 [04:55],並準確提取了重疊部分的代碼 [05:06] 和文檔中的序號 [05:13]。
  4. 測試 4: 模擬考試卷 (含注音)

    • 內容: 包含複雜排版和注音的考試卷 [05:20]。
    • 結果: 完美保持了試題的原有格式 [05:30],連同試題中的注音符號也成功顯示 [05:37]。同時提取了左側邊欄和底部的頁碼 [05:44]。
  5. 測試 5: 複雜排版論文 (中英、公式、表格)

    • 內容: 非常模糊、排版複雜,包含中英文、數學公式和表格的論文掃描件 [05:50]。
    • 結果: 準確還原了格式(如標題加粗) [06:02],數學公式 [06:15] 和表格內容 [06:18] 均被正確提取。
  6. 測試 6: 混亂排版的學習筆記

    • 內容: 排版隨意,包含對號、差號、星號和角落小字的筆記 [06:42]。
    • 結果: 準確識別了對號(✓)和差號(✗) [06:52],保留了星號(*) [07:05],並成功提取了右上角的小字和左下角的紅色關鍵字 [07:09]。
  7. 測試 7: 複雜表格 (含重疊文字)

    • 內容: 故意在單元格中設置重疊文字的模糊表格 [07:26]。
    • 結果: 即使是重疊的文字,模型也能成功並準確地提取出來 [07:43, 07:49]。
  8. 測試 8: 複雜文件 (含圖表)

    • 內容: 包含柱狀圖和表格的模糊文件 [08:06]。
    • 結果: 成功將掃描件中的柱狀圖直接提取為圖像格式進行展示 [08:17],表格內容也準確提取 [08:25]。
  9. 測試 9: 古書掃描件 (繁體字)

    • 內容: 豎排版的繁體字古書 [08:28]。
    • 結果: 準確識別了所有繁體字及標點符號,與原文保持一致,沒有錯誤 [08:42]。

總結

Chandra OCR 在處理各種極端複雜和模糊的文檔時表現出色,不僅識別準確率高,還能保留原始格式、處理圖表,並且不會遺漏頁眉頁腳等關鍵內容,對於需要處理複雜 PDF 文檔的場景,是一款效果非常優秀的模型。

本文內容根據影片(🚀超越DeepSeek-OCR!OCR领域的革命性突破:Chandra OCR本地部署+真实测评! ,涵蓋了安裝部署與測試驗證。

留言

這個網誌中的熱門文章

[CSS] z-index 在不同瀏覽器繼承問題

今天會討論到這個課題,是因為要實做一個Popup dialog,所以我們希望的結果如下圖。 可是在IE7 卻發生了這樣的情況。 Popup不論怎麼設定z-index都無法浮在最上層,我們看一下html架構發生什麼事情。

[教學] 快快樂樂刪除CodeIgniter index.php

預設的CI網址預設都設定為index.php同一層級,因此所有的程式都必須指定index.php導向才能開始,例如 http://localhost/ci/index.php/welcome/test http://localhost/ci/welcome/test 本文將說明如何將惱人的index.php消除,還你一個漂亮的URL。 設定開始: 接下來說明如何使用rewrite方式將惱人的index.php去除。 rewrite不清楚的人,煩請先自行google 首先要先確定Apache的 mod_rewrite 有 開啟 ,如果沒有開啟請設定好之後重新啟動apache。 接著,在根目錄底下建立一個新檔案,檔名為 .htaccess ,裡面程式碼如下: <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] </IfModule> 接著到 application/config/config.php ,開啟檔案修改 $config['index_page'] = ""; 注意: /index.php/$1 要根據你目錄,例如 http://localhost/index.php ,網站根目錄為 /ci/index.php 則要寫成 /ci/index.php/$1 接著至CI目錄下,尋找 config\config.php , 修改一下裡面的檔案,修改如下: $config['index_page'] = ""; 存檔後,如此一來大功告成。 參考資料 官方網站說明

[教學] Mojito 安裝與入門,install mojito for beginner.

mojito ,最近終於從 YDN 對外公開此專案,這個套件主要用於解決前端多重裝置及瀏覽器端的問題,後端服務採取 node.js ,因此使用上必定要先準備以下幾個元素 準備素材 c++ complier git Node.js > 0.4.x NPM > 1.0.x 安裝方式 git clone git://github.com/yahoo/mojito.git cd mojito/source sudo npm install -g . npm install . 以上四個簡單的步驟,就可以把 mojito module 完整安裝到服務器上,接著就可以開始進入 mojito 的世界 使用方式 mojito 提供了完整的 command line 給開發者使用,接著先建立一個基本 hello world 專案,跟著以下步驟完成第一個專案。首先建立一個 mojito application, mojito create app hello cd hello 切換到目錄之後,再接著建立自己的 mojit,這邊的 mojit 就像是一個應用(application)可能會包含許多個獨立網站體,擁有獨立架構的 MVC ,包含內部設定等,詳細資料可以參考官方的 說明 ,建立 mojit mojito create mojit HelloMojit 輸入指令後,會看到顯示結果如下, creating mojit called 'HelloMojit' (using "default" archetype) ✔ mojit: HelloMojit created! ✔ mojito done. 接著修改 application.json 這個 mojit 設定檔案,讓剛才新建立的 hellp application 指定底下有一個 mojit -> HelloMojit ,讓應用可以去執行 mojit controller ,修改如下, [ { "settings": [ "master" ], "appPort": 8666, "specs": { ...