MAGAZINE
ルーターマガジン
Qwen3-VLで名刺読み取りを試してみた
Qwen3-VLで名刺読み取りを試してみた
はじめに
以前Chromeに内蔵されたローカルLLMである Gemini Nano を用いて名刺読み取り制度の検証を行いました。今回はその続きで、 Qwen3-VL を試していこうと思います。
今回も前回と同じく20個の名刺画像の読み取りを行い、その正答率を評価します。
ちなみに、前回の結果がどうだったかというと、 Gemini2.5 Flash が全問正解をしたのに対し、 Gemini Nano は20問中4問しか正解しないというかなり散々な結果でした。
これを踏まえて、 Qwen3-VL が正答率・速度面でどの程度動くものなのかを検証していこうと思います。
使うモデルについて
今回は Qwen3-VL-2B 、 Qwen3-VL-4B 、 Qwen3-VL-8B の3つを検証します。いずれも ollama で動かしていきます。
使用したスクリプト
ollama でも Gemini API と同じように構造か出力が使えます。プロンプトや出力の形式も前回と全く同じにしてあります。このスクリプトでは qwen3-vl:2b を使用していますが、ここを適宜差し替えることで、自分が使いたいモデルを簡単に使うことができます。
mkdir -p output_qwen3vl2b
JSON_SCHEMA='{"type":"object","properties":{"name":{"type":"string"},"title":{"type":"string"},"company":{"type":"string"},"address":{"type":"string"},"email":{"type":"string"}},"required":["name","title","company","address","email"]}'
for img in ./images/*.png; do
base=$(basename "$img" .png)
ollama run qwen3-vl:2b --format "$JSON_SCHEMA" "$(cat <<'EOF'
Extract the information from this business card image.
If a field is missing, use null.
IMPORTANT:
- Preserve the original language exactly as written on the card.
- Do NOT translate.
- Do NOT normalize or rewrite text.
- Keep names, company names, and addresses exactly as they appear.
- Maintain original characters (including Japanese, English, symbols, etc.).
EOF
)" "$img" > "output_qwen3vl2b/$base.json"
done
結果
Qwen3-VL-2B の正答率
正答率は 10/20 となりました。 Gemini Nano が地名に極端に弱かったのに対して、Qwen3-VL-2B は住所に関しては全問正解となりました。また、ミスの仕方にも傾向があって、 Gemini Nano は頭の中で変に解釈して誤ったものを出力するという印象でしたが、 こちらは単に読み間違いをしたようなミスり方をしているように思います。
Qwen3-VL-4B の正答率
4B モデルの正答率は 11/20 となりました。意外と 2B と正答率が変わらなかったです。
Qwen3-VL-8B の正答率
8B までパラメータが増えるとかなり精度も安定するようで、今回の出力を見ると全問正解となりました。ローカルでここまでの精度が出ていればかなり満足ではないでしょうか。
速度の比較
次に速度の比較です。20枚の名刺を処理した時間の合計を計測しました。 Qwen3-VL-4B と Qwen3-VL-8B に関してはノートPCで動かすのが時間的にもストレージの余裕的にもキツくなってきたので、RTX3050の乗ったデスクトップPCを使ったので、単純な比較とは以下ないのですがとりあえず以下の表のようになりました。
| Apple M2 | Ryzen5 5500 + RTX3050 | |
|---|---|---|
Gemini2.5 Flash |
139秒 | |
Gemini Nano |
234秒 | |
Qwen3-VL-2B |
363秒 | 58秒 |
Qwen3-VL-4B |
66秒 | |
Qwen3-VL-8B |
166秒 |
正直な印象としては Qwen3-VL のいずれのモデルもかなり満足のいく速度なのではないかと思います。今回使ったRyzen5 5500もRTX3050もほとんど格安の部類に入ると思うのですが、その組み合わせでも実用上耐えうる速度が出ていると思います。
Gemini2.5 Flash に関しては単に Rest API を叩いているだけなので、コンピューターの性能による差はほとんどないと思っていただいて良いと思います。
終わりに
今回の検証では、 Qwen3-VL の3種類のパラメータのモデルの性能を名刺読み取りというタスクを用いて検証しました。
8B のモデルでもかなりの精度を出すことができ、さらに低スペックなPCでもそれなりに高速に動作することがわかりました。
学生の方など、API契約にはあまりコストをかけたくないケースも多いと思います。しかし、今回検証したようなモデルであればローカル環境で動作するため、API利用料を気にせずに実験や開発を行うことができます。
特にOllamaのようなランタイムを使えば、セットアップも比較的シンプルで、思った以上に手軽にマルチモーダルモデルを試すことができます。高価なクラウド環境がなくても、自分のPC上でここまでできるというのは、なかなか面白い体験です。
名刺読み取りのような実用的なタスクはもちろん、ちょっとした画像理解の実験や、アプリケーションのプロトタイプ作成など、活用の幅はかなり広いと感じました。
今回の記事が、ローカルLLMやマルチモーダルモデルに触れてみるきっかけになれば嬉しいです。ぜひ皆さんも実際に動かして、いろいろと遊んでみてください。
CONTACT
お問い合わせ・ご依頼はこちらから


