おとといくらいにDeepSeek-OCRというのが出てました。
https://github.com/deepseek-ai/DeepSeek-OCR
ただのOCRじゃなくて、「テキストを画像にしたほうがトークンサイズを小さくできるのでは?」というのをやっていて、テキストを画像にしてトークン化したものをテキストトークンに戻すというのをやってたらOCRになったという感じですね。
LLMの開発効率化に革新? 中国DeepSeekが「DeepSeek-OCR」発表 “テキストを画像化”でデータ圧縮:Innovative Tech(AI+) - ITmedia AI+
中身的には、3Bでアクティブパラメータが0.6BのMoEモデルに0.4Bの画像エンコーダーを載せた画像言語モデルです。
導入や使い方は、モデルのページに書いてあります。
何も考えずに最新のTransformers 4.57.1を入れたら動かなくて、指定の4.46.3にしたら動きました。
requirement.txtどおりにインストールしましょう。
https://huggingface.co/deepseek-ai/DeepSeek-OCR
※ 追記
なんで画像トークンだとテキストトークンより少なく済むんだろうって考えてたら、ランダム文字列は認識できないんでは?って思ったので、試してみたらやっぱりそうだった。
DeepSeek-OCRにはランダム文字列が読めない - きしだのHatena
※ さらに追記
他にも弱そうなところ試してみた
DeepSeek-OCRの弱点をつく - きしだのHatena
OCRを試す
有価証券報告書を読ませたら完璧
ってことで、任天堂の有価証券報告書の表のページを画像キャプチャして読ませてみました。
そしたら、小数点とカンマの違いまで含め完璧。

免許証も結構読める
あと、警察庁のサイトにある運転免許証見本を読み込ませてみました。
運転免許の更新等運転免許に関する諸手続について|警察庁Webサイト

そうするとこんな感じに。大型、中型などの縦書きもなんとなく読み取ってますね。とはいえ、さすがにここは難しそう。
写真もちゃんと別で切り取ってくれました。

他のモデルと比べる
※ 追記 Qwen3-VLとInternVLを比較してますが、論文でもそれぞれのアーキテクチャとその欠点が書かれていました。
Qwen3-VL 8B
ちょうど1週間前にQwen3-VL-8Bと4Bがリリースされて、いい感じのサイズでOCR能力も高い画像言語モデルが出たなぁと思ってたところだったのに。
Qwen/Qwen3-VL-8B-Instruct · Hugging Face
同じ画像でQwen3-VL 8Bを試したところ、なんとなくあってるけど列数がそもそも違うし項目名が足りなくて内容と食い違ってるし、認識ミスもあるし、と、このサイズの画像言語モデルとしてはがんばってるという感じ。

いや、8Bでここまで読めるのはすごいと思うんですよ。
DeepSeek-OCRはチャットモデルではなく認識専門なので、チャットができる画像言語モデルとしてQwen3-VLは使いどころがかなりあると思います。動画も読めるっぽい。
InternVL 3.5 8B
Qwen3-VLも、いい感じのサイズの画像言語モデルないかなとInternVL 3.5を試してる最中にリリースされてました。
InternVL 3.5はQwen3とGPT-ossに画像エンコーダーを載せたモデルです。
InternVL3.5
けど、8Bで試したけど、これはちょっと他と比較するとダメですね。いや、これでも8月時点ではかなり読んでくれるほうだったのだけど。

DeepSeek-OCRの位置検出を試す
OCRの場合のプロンプトはこうなってました。
<image>\n<|grounding|>Convert the document to markdown.
こんな感じにすると、位置を検出してくれます。
<image>\nLocate <|ref|>the gocart<|/ref|> in the image.
ちゃんとカートの位置を検出してくれた。

こんな感じで座標も返してくれます。数値は全体を1000とした場合の相対位置っぽい。
<|ref|>the gocart<|/ref|><|det|>[[504, 480, 712, 645]]<|/det|>
文字の位置も見つけてくれます。
<image>\nLocate <|ref|>ホキ美術館<|/ref|> in the image.
いい感じ。

<|ref|>ホキ美術館<|/ref|><|det|>[[420, 633, 740, 857]]<|/det|>
追記
元々、AI Insideが「AI-OCRは完成した」と言ってたのを見て、「でもプロプライエタリでしょ」って思ってたところにQwen3-VLが出て、「おーすごい、けどやっぱ商用モデルのようには いかんか」と思ってたら、DeepSeek-OCRでなんか精度でててびっくりした、という経緯。
ASCII.jp:AI-OCRは完成した ― AI insideがデータ化精度“99.999%”を達成 (1/2)
追記2
YomiTokuという日本語AI-OCRの開発者の方の反応があったので、試してみました。モデルのダウンロードサイズが650MBくらいとDeepSeek-OCRの1/10で、かなり精度が高そうです。
GitHub - kotaro-kinoshita/yomitoku: Yomitoku is an AI-powered document image analysis package designed specifically for the Japanese language.
こちらも数字の読み取りは完璧でした。

「人」が「A」になってしまってましたが、このくらいだとDeepSeek-OCRも たまたま全部あってただけと言えるかも。読み込ませた画像の解像度が867x1047なので、もう少し解像度高ければ読み取れるんじゃないかと思います。(短辺1280以上推奨とのこと)

あと、数値のカンマのあとにスペースが入ったり入ってなかったりしてましたが、元画像どおりの読み取りではあります。
DeepSeek-OCRは、LLM側でテキストを再現するときに文脈による補完があるのでツジツマがあった読み取りになりやすいのだと思うけど、逆にいえばハルシネーションで全く違う文字を出す可能性もあるということになりますね。
ガチ利用の場合には、OCR専用AIのほうが制御しやすいんじゃないかと思います。
ライセンスはCC BY-NC-SA 4.0で、非商用の個人利用や研究用途は自由、商用はライセンスを要問合せ、とのこと。
MLism株式会社 | Yomitoku
