libvips安装部署指南:从源码编译到系统集成
本文详细介绍了libvips图像处理库的完整安装部署流程,从Meson构建系统配置解析、核心依赖与可选依赖管理,到多平台安装方法与最佳实践,最后深入讲解了自定义构建选项与优化配置。涵盖了Linux、macOS、Windows三大平台的安装方案,包括包管理器安装、源码编译安装、容器化部署等多种方式,并提供了生产环境的安全配置建议和性能优化策略。
Meson构建系统配置详解
libvips项目采用Meson作为其现代化的构建系统,相比传统的Autotools或CMake,Meson提供了更简洁的语法、更快的构建速度以及更好的跨平台支持。本节将深入解析libvips中Meson构建系统的配置细节,帮助开发者理解其架构和定制化选项。
项目基础配置
libvips的Meson配置从项目定义开始,指定了项目名称、编程语言、版本号以及最低Meson版本要求:
project('vips', 'c', 'cpp',
version: '8.18.0',
meson_version: '>=0.55',
default_options: [
'c_std=gnu99',
'cpp_std=c++11',
'buildtype=release',
'b_ndebug=if-release'
]
)
这个配置确保了代码使用C99和C++11标准,默认采用release构建模式,并在release模式下禁用断言检查。
库版本管理
libvips采用了标准的库版本管理方案,通过以下规则维护ABI兼容性:
# rules:
# sources changed: increment revision
# binary interface changed: increment current, reset revision to 0
# binary interface changes backwards compatible?: increment age
# binary interface changes not backwards compatible?: reset age to 0
library_revision = 0
library_current = 62
library_age = 20
library_version = '@0@.@1@.@2@'.format(library_current - library_age, library_age, library_revision)
这种版本管理机制确保了二进制兼容性的正确维护。
模块化架构
libvips的构建系统采用了高度模块化的设计,每个功能模块都有独立的meson.build文件:
graph TB
A[主meson.build] --> B[include/vips]
A --> C[foreign]
A --> D[arithmetic]
A --> E[resample]
A --> F[colour]
A --> G[conversion]
A --> H[convolution]
A --> I[freqfilt]
A --> J[histogram]
A --> K[draw]
A --> L[iofuncs]
A --> M[morphology]
A --> N[mosaicing]
A --> O[create]
style A fill:#e1f5fe
style B fill:#f3e5f5
style C fill:#e8f5e8
每个子模块通过静态库的方式构建,最终链接到主库中:
arithmetic_lib = static_library('arithmetic',
arithmetic_sources,
arithmetic_headers,
dependencies: libvips_deps,
gnu_symbol_visibility: 'hidden',
)
libvips_components += arithmetic_lib
依赖管理系统
libvips的依赖检测系统非常完善,支持多种图像处理库的自动检测:
| 依赖库 | 检测方式 | 可选性 | 版本要求 |
|---|---|---|---|
| zlib | dependency('zlib') |
可选 | >=0.4 |
| libjpeg | dependency('libjpeg') |
可选 | 无 |
| libpng | dependency('libpng') |
可选 | >=1.2.9 |
| libtiff | dependency('libtiff-4') |
可选 | 无 |
| libwebp | dependency('libwebp') |
可选 | >=0.6 |
| ImageMagick | dependency('ImageMagick') |
可选 | 无 |
依赖检测采用条件化方式,确保缺失的依赖不会导致构建失败:
zlib_dep = dependency('zlib', version: '>=0.4', required: get_option('zlib'))
if zlib_dep.found()
external_deps += zlib_dep
cfg_var.set('HAVE_ZLIB', true)
endif
配置选项详解
libvips提供了丰富的构建选项,主要通过meson_options.txt文件定义:
核心选项
option('deprecated', type: 'boolean', value: true,
description: 'Build deprecated components')
option('examples', type: 'boolean', value: true,
description: 'Build example programs')
option('cplusplus', type: 'boolean', value: true,
description: 'Build C++ API')
option('modules', type: 'feature', value: 'enabled',
description: 'Build dynamic modules')
外部库选项
option('jpeg', type: 'feature', value: 'auto',
description: 'Build with jpeg')
option('png', type: 'feature', value: 'auto',
description: 'Build with png')
option('tiff', type: 'feature', value: 'auto',
description: 'Build with tiff')
option('webp', type: 'feature', value: 'auto',
description: 'Build with libwebp')
条件编译与特性检测
Meson构建系统支持高级的特性检测功能,libvips充分利用了这一特性:
# 向量运算支持检测
vector_arithmetic_check = '''
typedef float v4f __attribute__((vector_size(4 * sizeof(float)),aligned(16)));
int main(void) {
v4f f = {1, 2, 3, 4}; f *= 12.0;
v4f g = {5, 6, 7, 8}; f = g > 0 ? g : -1 * g;
}
'''
have_vector_artih = cpp.compiles(vector_arithmetic_check,
name: 'Has vector arithmetic',
dependencies: m_dep)
cfg_var.set('HAVE_VECTOR_ARITH', have_vector_artih)
模块化插件系统
libvips支持将某些功能构建为动态模块,减少主库的依赖:
if magick_module
shared_module('vips-magick',
'module/magick.c',
magick_module_sources,
magick_module_headers,
name_prefix: '',
dependencies: [libvips_dep, magick_dep],
install: true,
install_dir: module_dir
)
endif
交叉编译支持
Meson提供了完善的交叉编译支持,libvips充分利用了这些特性:
if meson.can_run_host_binaries()
# 可以在主机上运行测试程序
rres = cc.run(target_clones_check, args: '-Werror',
name: 'Has target_clones attribute')
have_target_clones = rres.compiled() and rres.returncode() == 0
else
# 交叉编译环境,只能进行链接测试
have_target_clones = cc.links(target_clones_check, args: '-Werror',
name: 'Has target_clones attribute')
endif
构建优化配置
libvips针对不同构建模式进行了优化配置:
# 在优化模式下禁用调试检查
if get_option('optimization') not in ['0', 'g']
add_project_arguments('-DG_DISABLE_CAST_CHECKS', language: ['cpp', 'c'])
add_project_arguments('-DG_DISABLE_CHECKS', language: ['cpp', 'c'])
add_project_arguments('-DG_DISABLE_ASSERT', language: ['cpp', 'c'])
endif
# 在调试模式下启用内存泄漏检查
if get_option('debug')
add_project_arguments('-DDEBUG_LEAK', language: ['cpp', 'c'])
endif
平台特定配置
构建系统还处理了不同平台的特定需求:
# Windows平台的DLL导出处理
if get_option('default_library') == 'shared' and host_os in ['windows', 'cygwin']
cfg_var.set('DLL_EXPORT', true)
if cc.has_function_attribute('visibility:hidden')
cfg_var.set('_VIPS_PUBLIC',
'__attribute__((visibility("default"))) __declspec(dllexport)')
else
cfg_var.set('_VIPS_PUBLIC', '__declspec(dllexport)')
endif
elif cc.has_function_attribute('visibility:hidden')
cfg_var.set('_VIPS_PUBLIC', '__attribute__((visibility("default")))')
endif
通过这种精细的配置,libvips的Meson构建系统能够适应各种复杂的构建环境,从嵌入式系统到高性能服务器,都能提供最优的构建体验和运行时性能。
核心依赖与可选依赖管理
libvips采用模块化的依赖管理策略,通过Meson构建系统实现灵活的依赖配置。这种设计使得libvips能够在保持核心功能轻量化的同时,通过可选依赖扩展图像处理能力。
核心依赖体系
libvips的核心依赖构建在GLib生态系统之上,提供了基础的内存管理、对象系统和线程支持:
graph TD
A[libvips Core] --> B[GLib 2.0]
A --> C[libexpat]
A --> D[构建工具链]
B --> E[内存管理]
B --> F[对象系统]
B --> G[线程支持]
C --> H[XML解析]
D --> I[GCC/Clang]
D --> J[Meson]
D --> K[Ninja]
必需的核心依赖包:
build-essential- 基础编译工具链pkg-config- 依赖包配置检测工具libglib2.0-dev- GLib 2.0开发库libexpat1-dev- Expat XML解析器开发库
这些核心依赖确保了libvips的基本功能正常运行,包括图像对象管理、内存分配、线程处理和配置文件解析。
可选依赖分类体系
libvips的可选依赖按照功能领域进行分类管理:
| 依赖类别 | 功能描述 | 关键依赖包 | 启用选项 |
|---|---|---|---|
| 图像格式支持 | 各种图像文件的编解码 | libjpeg, libtiff, libpng, libwebp | -Djpeg=enabled |
| 高级图像处理 | 特殊图像处理功能 | lcms2, fftw3, highway | -Dlcms=enabled |
| 矢量图形 | SVG和PDF处理 | librsvg, poppler, pdfium | -Drsvg=enabled |
| 专业格式 | 科学和医学图像 | cfitsio, libniftiio, matio | -Dcfitsio=enabled |
| 量化优化 | 颜色量化处理 | libimagequant, quantizr | -Dimagequant=enabled |
| 元数据处理 | EXIF等信息处理 | libexif | -Dexif=enabled |
Meson配置管理
libvips使用Meson构建系统的特性选项(feature options)来管理依赖:
# 启用特定依赖
meson setup build -Dheif=enabled -Dopenexr=enabled
# 禁用不需要的依赖
meson setup build -Dmagick=disabled -Dnsgif=false
# 模块化构建(将某些功能构建为动态模块)
meson setup build -Dheif-module=auto -Dmagick-module=auto
配置选项类型:
auto- 自动检测,如果找到则启用enabled- 强制启用,找不到则报错disabled- 强制禁用true/false- 布尔选项,用于内部功能开关
依赖检测机制
libvips通过pkg-config系统自动检测依赖包:
sequenceDiagram
participant M as Meson构建系统
participant P as pkg-config
participant D as 依赖库
participant C as 编译器
M->>P: 查询依赖包信息
P->>D: 检查库是否存在
D-->>P: 返回库信息
P-->>M: 返回编译标志
M->>C: 传递编译参数
C->>D: 链接依赖库
这种机制确保了:
- 自动发现 - 系统已安装的依赖包会被自动检测和使用
- 版本兼容 - 检查依赖库的版本要求
- 编译集成 - 自动设置正确的编译和链接标志
依赖冲突解决策略
libvips实现了智能的回退机制来处理依赖冲突:
# 伪代码:依赖回退机制示例
def setup_dependency(dep_name, primary, fallbacks):
if meson.find_library(primary):
return primary
for fallback in fallbacks:
if meson.find_library(fallback):
return fallback
return None
# PDF处理回退链
pdf_loader = setup_dependency('pdf', 'pdfium', ['poppler', 'magick'])
# SVG处理回退链
svg_loader = setup_dependency('svg', 'librsvg', ['magick'])
# RAW图像回退链
raw_loader = setup_dependency('raw', 'libraw', ['magick'])
安全依赖考量
对于生产环境部署,建议谨慎选择依赖:
推荐的安全配置:
# 最小化攻击面配置
meson setup build \
-Dmagick=disabled \ # 禁用ImageMagick(大攻击面)
-Dnsgif=false \ # 禁用内置GIF解析器
-Danalyze=false \ # 禁用Analyze格式
-Dppm=false \ # 禁用PPM格式
--default-library=static # 静态链接减少运行时依赖
安全依赖层级:
- 一级依赖:libjpeg-turbo, libpng, libtiff(经过充分测试)
- 二级依赖:libwebp, libheif(相对较新但稳定)
- 三级依赖:ImageMagick, OpenSlide(功能强大但攻击面大)
依赖验证与测试
构建完成后,验证依赖配置:
# 检查已启用的依赖
vips --version | grep -i support
# 测试特定格式支持
vips jpegload input.jpg output.png
vips webpload input.webp output.jpg
通过这种精细化的依赖管理策略,libvips能够在保持核心轻量化的同时,为不同应用场景提供恰到好处的功能扩展能力。开发者可以根据具体需求灵活配置依赖,在功能丰富性和系统安全性之间找到最佳平衡点。
多平台安装方法与最佳实践
libvips作为一款高性能的图像处理库,提供了多种平台上的安装方式。根据不同的使用场景和操作系统环境,开发者可以选择最适合的安装方法。本节将详细介绍各主流平台上的安装策略和最佳实践。
Linux平台安装
Linux系统是libvips的主要运行环境,提供了最丰富的安装选项和最佳的性能表现。
Ubuntu/Debian系统
对于基于Debian的系统,推荐使用apt包管理器进行安装:
# 更新包索引
sudo apt update
# 安装libvips开发版本(包含头文件和静态库)
sudo apt install libvips-dev
# 或者仅安装运行时库
sudo apt install libvips
# 安装常用图像格式支持
sudo apt install libvips-tools libjpeg-dev libpng-dev libtiff-dev libwebp-dev
CentOS/RHEL/Fedora系统
对于基于RPM的系统,可以使用yum或dnf包管理器:
# CentOS/RHEL 7+
sudo yum install vips-devel
# CentOS/RHEL 8+ 或 Fedora
sudo dnf install vips-devel
# 安装额外的图像格式支持
sudo dnf install libjpeg-turbo-devel libpng-devel libtiff-devel libwebp-devel
从源码编译安装
当需要特定版本或自定义功能时,从源码编译是最佳选择:
# 安装编译依赖
sudo apt install build-essential pkg-config meson ninja-build
sudo apt install libglib2.0-dev libexpat1-dev
# 下载并解压源码
wget https://gitcode.com/gh_mirrors/li/libvips/-/archive/main/libvips-main.tar.gz
tar xzf libvips-main.tar.gz
cd libvips-main
# 配置和编译
meson setup build --prefix=/usr/local
cd build
meson compile
sudo meson install
# 验证安装
vips --version
macOS平台安装
macOS用户可以通过多种包管理器安装libvips,推荐使用Homebrew:
使用Homebrew安装
# 安装Homebrew(如未安装)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 安装libvips
brew install vips
# 安装开发版本(包含头文件)
brew install vips --with-debug
# 更新到最新版本
brew upgrade vips
使用MacPorts安装
# 安装MacPorts(如未安装)
# 访问 https://www.macports.org/install.php
# 安装libvips
sudo port install vips
# 安装开发版本
sudo port install vips-devel
源码编译安装
对于需要特定配置的macOS用户:
# 安装Xcode命令行工具
xcode-select --install
# 安装Homebrew和依赖
brew install pkg-config meson ninja glib
# 编译安装
git clone https://gitcode.com/gh_mirrors/li/libvips.git
cd libvips
meson setup build --prefix=/usr/local
meson compile -C build
sudo meson install -C build
Windows平台安装
Windows平台提供了预编译的二进制包和多种安装方式。
使用预编译二进制包
从libvips官方发布页面下载最新版本的Windows二进制包:
- 访问GitHub Releases页面下载最新版本的zip包
- 解压到合适目录(如
C:\vips) - 将bin目录添加到系统PATH环境变量
- 设置VIPSHOME环境变量指向安装目录
使用vcpkg包管理器
# 安装vcpkg(如未安装)
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
# 安装libvips
./vcpkg install vips
# 集成到Visual Studio
./vcpkg integrate install
使用MSYS2环境
# 安装MSYS2(如未安装)
# 访问 https://www.msys2.org/
# 更新包数据库
pacman -Syu
# 安装libvips
pacman -S mingw-w64-x86_64-vips
容器化部署
对于生产环境,推荐使用Docker容器化部署:
Dockerfile示例
FROM ubuntu:22.04
# 安装系统依赖
RUN apt update && apt install -y \
build-essential \
pkg-config \
meson \
ninja-build \
libglib2.0-dev \
libexpat1-dev \
libjpeg-dev \
libpng-dev \
libtiff-dev \
libwebp-dev
# 下载并编译libvips
RUN curl -L https://gitcode.com/gh_mirrors/li/libvips/-/archive/main/libvips-main.tar.gz -o libvips.tar.gz && \
tar xzf libvips.tar.gz && \
cd libvips-main && \
meson setup build --prefix=/usr && \
meson compile -C build && \
meson install -C build && \
rm -rf /libvips*
# 验证安装
RUN vips --version
Docker Compose配置
version: '3.8'
services:
image-processor:
build: .
ports:
- "3000:3000"
environment:
- VIPSHOME=/usr
volumes:
- ./images:/app/images
各平台特性对比
下表总结了不同平台上libvips安装的主要特点和推荐场景:
| 平台 | 安装方式 | 优点 | 缺点 | 推荐场景 |
|---|---|---|---|---|
| Linux | 包管理器 | 简单快捷,自动处理依赖 | 版本可能较旧 | 快速部署,生产环境 |
| Linux | 源码编译 | 最新版本,完全自定义 | 编译复杂,依赖管理 | 开发环境,特定需求 |
| macOS | Homebrew | 简单易用,更新及时 | 需要安装Homebrew | 开发环境,个人使用 |
| macOS | 源码编译 | 完全控制配置 | 需要开发工具链 | 高级用户,定制需求 |
| Windows | 二进制包 | 无需编译,开箱即用 | 版本更新滞后 | 快速开始,测试环境 |
| Windows | vcpkg | 集成Visual Studio | 配置相对复杂 | Windows开发环境 |
| 所有平台 | Docker | 环境隔离,一致性 | 容器开销 | 生产部署,CI/CD |
最佳实践建议
- 生产环境选择:推荐使用Linux系统的包管理器安装,确保稳定性和安全性
- 开发环境选择:macOS用户使用Homebrew,Windows用户使用二进制包或vcpkg
- 版本控制:使用Docker容器确保开发、测试、生产环境的一致性
- 依赖管理:根据实际需求选择安装的图像格式支持,避免不必要的依赖
- 性能优化:从源码编译时可启用特定CPU架构的优化选项
常见问题解决
依赖库缺失问题
# 检查缺失的依赖
pkg-config --list-all | grep vips
# 安装常见缺失依赖
sudo apt install libjpeg-dev libpng-dev libtiff-dev libwebp-dev libglib2.0-dev
版本冲突解决
# 查看当前安装的版本
vips --version
pkg-config --modversion vips
# 清理旧版本
sudo apt remove libvips-dev libvips
sudo make uninstall # 对于源码安装
路径配置问题
# 设置环境变量(Linux/macOS)
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
# Windows环境变量设置
set VIPSHOME=C:\vips
set PATH=%VIPSHOME%\bin;%PATH%
通过遵循这些多平台安装方法和最佳实践,您可以确保libvips在各种环境下都能稳定高效地运行,为图像处理应用提供强大的后端支持。
自定义构建选项与优化配置
libvips 提供了丰富的构建选项,允许开发者根据具体需求进行高度定制化的编译配置。通过 Meson 构建系统的灵活选项机制,您可以精确控制库的功能特性、依赖关系以及性能优化设置。
核心构建选项详解
libvips 的核心构建选项主要分为功能模块控制、依赖库集成和性能优化三大类。以下表格详细列出了主要的配置选项及其作用:
| 选项名称 | 类型 | 默认值 | 描述 |
|---|---|---|---|
deprecated |
boolean | true | 构建已弃用的组件 |
examples |
boolean | true | 构建示例程序 |
cplusplus |
boolean | true | 构建 C++ API |
modules |
feature | enabled | 构建动态模块 |
introspection |
feature | auto | 构建 GObject introspection 数据 |
外部依赖库配置
libvips 支持众多图像处理相关的第三方库,您可以根据需要选择性地启用或禁用这些依赖:
# 启用特定格式支持
meson setup build -Djpeg=enabled -Dpng=enabled -Dtiff=enabled
# 禁用不需要的格式
meson setup build -Dmagick=disabled -Dopenslide=disabled
# 选择性启用 ImageMagick 功能
meson setup build -Dmagick-features=['load'] # 仅启用加载功能
性能优化配置
libvips 提供了多种性能优化选项,特别是 SIMD 加速支持:
graph TD
A[性能优化配置] --> B[SIMD 加速]
A --> C[内存优化]
A --> D[线程优化]
B --> B1[Highway SIMD]
B --> B2[ORC 编译器]
C --> C1[内存池配置]
C --> C2[缓存策略]
D --> D1[线程池大小]
D --> D2[并行处理]
SIMD 加速配置
libvips 支持两种 SIMD 加速后端:
# 使用 Highway SIMD 库(推荐)
meson setup build -Dhighway=enabled -Dorc=disabled
# 使用 ORC 编译器(传统)
meson setup build -Dhighway=disabled -Dorc=enabled
# 自动选择最佳后端
meson setup build -Dhighway=auto -Dorc=auto
编译器优化标志
通过环境变量传递编译器特定的优化选项:
# 使用 Clang 编译器并启用优化
CC=clang CXX=clang++ meson setup build -Dbuildtype=release
# 使用 GCC 并启用 LTO
CFLAGS="-flto -O3" CXXFLAGS="-flto -O3" LDFLAGS="-flto" \
meson setup build -Dbuildtype=release
# 架构特定的优化
CFLAGS="-march=native -O3" meson setup build
安全与精简配置
对于生产环境,特别是面向不可信输入的 Web 服务场景,建议禁用不必要的组件以减少攻击面:
# 最小化安全构建配置
meson setup build \
-Dnsgif=false \
-Danalyze=false \
-Dradiance=false \
-Dmagick=disabled \
--default-library=static
模块化构建策略
libvips 支持将某些功能作为动态模块构建,这样可以实现按需加载:
# 将 HEIF 支持构建为模块
meson setup build -Dheif-module=enabled
# 将 PDF 支持构建为模块
meson setup build -Dpoppler-module=enabled
# 将 ImageMagick 支持构建为模块
meson setup build -Dmagick-module=enabled
自定义安装路径与架构配置
# 自定义安装前缀
meson setup build --prefix /opt/libvips
# 在 Debian 系统上避免架构名称出现在库路径中
meson setup build --libdir lib
# 静态库构建
meson setup build --default-library static
# 调试版本构建
meson setup build-debug --buildtype=debug
高级配置示例
以下是一个生产环境推荐的高级配置示例:
# 生产环境优化配置
meson setup build \
--prefix /usr/local \
--buildtype release \
--optimization 3 \
-Dhighway=enabled \
-Dorc=disabled \
-Dmodules=enabled \
-Ddeprecated=false \
-Dexamples=false \
-Dnsgif=false \
-Danalyze=false \
-Dmagick=disabled \
-Dopenslide=disabled \
-Djpeg=enabled \
-Dpng=enabled \
-Dtiff=enabled \
-Dwebp=enabled \
-Dheif=enabled
这个配置启用了主要的图像格式支持,使用了性能更优的 Highway SIMD 加速,禁用了可能存在安全风险的组件,并针对生产环境进行了优化。
通过合理配置这些构建选项,您可以根据具体应用场景打造出性能最优、体积最小、安全性最高的 libvips 库版本。每个选项都经过精心设计,确保您能够精确控制库的每一个功能特性。
libvips作为一个高性能的图像处理库,通过灵活的Meson构建系统和模块化架构,提供了高度可定制的安装部署方案。本文全面介绍了从基础配置到高级优化的完整指南,涵盖了多平台安装方法、依赖管理策略、安全配置建议以及性能优化技巧。无论是开发环境还是生产部署,用户都可以根据具体需求选择最适合的安装方式,在功能丰富性和系统性能之间找到最佳平衡点。通过合理的配置和优化,libvips能够为各种图像处理应用提供稳定高效的后端支持。
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00
GLM-4.7-FlashGLM-4.7-Flash 是一款 30B-A3B MoE 模型。作为 30B 级别中的佼佼者,GLM-4.7-Flash 为追求性能与效率平衡的轻量化部署提供了全新选择。Jinja00
VLOOKVLOOK™ 是优雅好用的 Typora/Markdown 主题包和增强插件。 VLOOK™ is an elegant and practical THEME PACKAGE × ENHANCEMENT PLUGIN for Typora/Markdown.Less00
PaddleOCR-VL-1.5PaddleOCR-VL-1.5 是 PaddleOCR-VL 的新一代进阶模型,在 OmniDocBench v1.5 上实现了 94.5% 的全新 state-of-the-art 准确率。 为了严格评估模型在真实物理畸变下的鲁棒性——包括扫描伪影、倾斜、扭曲、屏幕拍摄和光照变化——我们提出了 Real5-OmniDocBench 基准测试集。实验结果表明,该增强模型在新构建的基准测试集上达到了 SOTA 性能。此外,我们通过整合印章识别和文本检测识别(text spotting)任务扩展了模型的能力,同时保持 0.9B 的超紧凑 VLM 规模,具备高效率特性。Python00
KuiklyUI基于KMP技术的高性能、全平台开发框架,具备统一代码库、极致易用性和动态灵活性。 Provide a high-performance, full-platform development framework with unified codebase, ultimate ease of use, and dynamic flexibility. 注意:本仓库为Github仓库镜像,PR或Issue请移步至Github发起,感谢支持!Kotlin07
compass-metrics-modelMetrics model project for the OSS CompassPython00