Termux-Vision
안드로이드 Termux를 위한 제로 디펜던시 온디바이스 컴퓨터 비전 & VLM 멀티모달 추론 엔진
Zero-Dependency On-Device Computer Vision & Multimodal VLM Inference Engine for Android Termux
📌 Architecture & Overview
순수 ARM64 NEON 가속 커널과 4단계 스마트 화질 프리셋(fast, optimal, high, original), Adreno/Mali Vulkan GPU 99개 레이어 풀 오프로드를 결합하여 메모리 격리 환경에서 초고속 에지 검출과 고지능 VLM 멀티모달 시각 추론을 실현합니다.
Eliminates heavy C++ dependencies by integrating SIMD NEON spatial image transforms with on-device VLM (Qwen2-VL, SmolVLM) multi-tier resolution presets (fast, optimal, high, original) and Vulkan GPU acceleration under strict memory isolation.
🚀 Installation & Quickstart
Python (PyPI)
pip install termux-vision
import termux_vision as tv
img = tv.io.load_image("photo.jpg")
edges = tv.cv.canny(tv.transforms.to_grayscale(img), 40, 120)
with tv.vlm.load("qwen2-vl-2b-q4", quality="optimal") as engine:
res = engine.describe("photo.jpg", prompt="Describe this scene in detail.", quality="optimal")
print(f"Generated ({res.metrics.tokens_per_second:.1f} t/s): {res.text}")
Node.js / TypeScript (npm)
npm install termux-vision
import tv from 'termux-vision';
// 1. Diagnostics & Hardware Probe
const doc = tv.doctor(true);
console.log(`Vulkan GPU: ${doc.vulkan.status} | RAM: ${doc.hardware.availableRamMb} MB`);
// 2. Multimodal VLM Inference with Quality Preset
const engine = await tv.load({ modelId: 'qwen2-vl-2b-q4', contextLimit: 4096 });
const result = await engine.describe('photo.jpg', { quality: 'optimal', maxTokens: 300 });
console.log(`[${result.metrics.backend.toUpperCase()}] ${result.text}`);
engine.close();
📖 Official Documentation & Benchmarks
- Official Architecture & API Reference
- Ecosystem Metrics & Registry Stats
- AMEVA Open-Source Foundation Portal
📄 License
Licensed under the Apache-2.0 License. Copyright (c) 2026 Eunho Kim (@uno-km).
Metadata
Release files for termux-vision 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| termux_vision-1.1.0.tar.gz | 76.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| termux_vision-1.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 155.3 kB
Release files / termux_vision-1.1.0.tar.gz
| Download URL | termux_vision-1.1.0.tar.gz |
|---|---|
| Size | 76.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8cfd9e7131f6f42106726190a269e979b7cb71efef4e421bdb1816fb090acf2d
|
|
BLAKE2b-256 checksum How to use checksums |
51bc5d4d6750251b585b42351ec62425bd1940f57b4303f9b9d179a8acdc90fb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.0
|
Release files / termux_vision-1.1.0-py3-none-any.whl
| Download URL | termux_vision-1.1.0-py3-none-any.whl |
|---|---|
| Size | 79.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
99b7d3b17a74d0463f9547bc4aa563cf24ab149edf49529ca51f15823c43f115
|
|
BLAKE2b-256 checksum How to use checksums |
7ae8e63e2fb30bb21a277bf171301b745c199ed2be999def49137a9e00114388
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.0
|