基準測試
此頁面專門用於對各種 tesseract 版本和選項進行簡單的基準測試。測試的輸入圖片使用了來自 issue 236 的圖片。
結果
建置 | tessdata_best | tessdata_fast | tessdata |
---|---|---|---|
305 | - | - | 2.4713 |
413noavx | 37.6052 | 5.1589 | 10.1519 |
413avx | 12.7300 | 2.9538 | 4.0860 |
501 | 6.1981 | 2.1241 | 2.9107 |
501ap | 6.1369 | 2.1254 | 2.9221 |
501openmp | 3.4590 | 1.9612 | 2.3554 |
關於測試環境的資訊
- Windows 10 64位元
- 編譯器: VS 2019
- CPU: Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz 6核心
- 記憶體: 16GB RAM
使用 Python 程式碼測試
import timeit
import time
import os
import pytesseract
start_time = time.time()
tess_exe = r"msvc.v5.openmp\tesseract.exe"
test_image = r"i263_speed.jpg"
os.environ['TESSDATA_PREFIX'] = r"tessdata_best\tessdata"
code_to_test = """
import pytesseract
pytesseract.pytesseract.tesseract_cmd = r"{}"
pytesseract.pytesseract.image_to_string(r"{}", lang = 'eng')
"""
runs = 15
elapsed_time = timeit.timeit(code_to_test.format((tess_exe, test_image), number=runs)/runs
print("\nDuration:", elapsed_time)
Tesseract 建置資訊
由 tesseract -v
提供資訊
3.05
305
它使用舊版引擎。
tesseract 3.05.02
leptonica-1.83.0 (Dec 17 2021, 17:33:37) [MSC v.1929 LIB Release x64]
libgif 5.2.1 : libjpeg 6b (libjpeg-turbo 2.0.91) : libpng 1.6.37 : libtiff 4.3.0 : zlib 1.2.11 : libwebp 1.2.0 : libopenjp2 2.4.0
4.1
413noavx
不支援 AVX2/AVX/SSE4 的建置
tesseract 4.1.3
leptonica-1.83.0 (Dec 17 2021, 17:33:37) [MSC v.1929 LIB Release x64]
libgif 5.2.1 : libjpeg 6b (libjpeg-turbo 2.0.91) : libpng 1.6.37 : libtiff 4.3.0 : zlib 1.2.11 : libwebp 1.2.0 : libopenjp2 2.4.0
Found libarchive 3.5.1 zlib/1.2.11 liblzma/5.2.4 bz2lib/1.0.6 libzstd/1.4.9
413avx
支援 AVX2/AVX/SSE4 的建置
tesseract 4.1.3-1-ge9986
leptonica-1.83.0 (Jan 26 2022, 19:15:03) [MSC v.1929 LIB Release x64]
libgif 5.2.1 : libjpeg 6b (libjpeg-turbo 2.0.91) : libpng 1.6.37 : libtiff 4.3.0 : zlib 1.2.11
Found AVX2
Found AVX
Found FMA
Found SSE
Found libarchive 3.5.1 zlib/1.2.11 liblzma/5.2.4 bz2lib/1.0.6 libzstd/1.4.9
5.0
501
支援 AVX2
tesseract 5.0.1
leptonica-1.83.0 (Dec 17 2021, 17:33:37) [MSC v.1929 LIB Release x64]
libgif 5.2.1 : libjpeg 6b (libjpeg-turbo 2.0.91) : libpng 1.6.37 : libtiff 4.3.0 : zlib 1.2.11 : libwebp 1.2.0 : libopenjp2 2.4.0
Found AVX2
Found AVX
Found FMA
Found SSE4.1
Found libarchive 3.5.1 zlib/1.2.11 liblzma/5.2.4 bz2lib/1.0.6 libzstd/1.4.9
Found libcurl/7.75.0 zlib/1.2.11 libssh2/1.10.1_DEV
501ap
使用以下指令建置: cmake -E env CXXFLAGS="/Qpar /fp:fast" cmake ..
tesseract 5.0.1
leptonica-1.83.0 (Dec 17 2021, 17:33:37) [MSC v.1929 LIB Release x64]
libgif 5.2.1 : libjpeg 6b (libjpeg-turbo 2.0.91) : libpng 1.6.37 : libtiff 4.3.0 : zlib 1.2.11 : libwebp 1.2.0 : libopenjp2 2.4.0
Found AVX2
Found AVX
Found FMA
Found SSE4.1
Found libarchive 3.5.1 zlib/1.2.11 liblzma/5.2.4 bz2lib/1.0.6 libzstd/1.4.9
Found libcurl/7.75.0 zlib/1.2.11 libssh2/1.10.1_DEV
501openmp
已知 OpenMP 建置會浪費大量 CPU 時間。由於多位用戶回報問題,在 5.0.1 及更高版本中預設禁用此功能。對於其他版本(>= 4.x),建議使用環境變數 OMP_THREAD_LIMIT=1
。歡迎來自 OpenMP 專家的意見。
tesseract 5.0.1
leptonica-1.83.0 (Dec 17 2021, 17:33:37) [MSC v.1929 LIB Release x64]
libgif 5.2.1 : libjpeg 6b (libjpeg-turbo 2.0.91) : libpng 1.6.37 : libtiff 4.3.0 : zlib 1.2.11 : libwebp 1.2.0 : libopenjp2 2.4.0
Found AVX2
Found AVX
Found FMA
Found SSE4.1
Found OpenMP 2019
Found libarchive 3.5.1 zlib/1.2.11 liblzma/5.2.4 bz2lib/1.0.6 libzstd/1.4.9
Found libcurl/7.75.0 zlib/1.2.11 libssh2/1.10.1_DEV