FrameLite is an open-weight model from Tianshuo Li, released under Apache License 2.0. Its published files total 224.4 MB.
Jianze Li 1, Kai Liu 1, Ziqing Zhang 1, Weihang Zhang 2, Yong Guo 1, Linghe Kong 1, Yulun Zhang 1,† 1. Stage I — Spatial and composition training. Learn spatial localization, composition preferences, and complete reference-frame prediction. 2.
Model Card
By Tianshuo Li, published under apache-2.0, revision 2fbe935372cd.
Jianze Li 1, Kai Liu 1, Ziqing Zhang 1, Weihang Zhang 2, Yong Guo 1, Linghe Kong 1, Yulun Zhang 1,† 1. Stage I — Spatial and composition training. Learn spatial localization, composition preferences, and complete reference-frame prediction. 2. Stage II — Quality-Guided Online Supervision (QOS). Generate greedy and sampled answers, evaluate complete-frame quality, and imitate the best answer. 3. Stage III — Greedy-Referenced Optimization (GRO). Refine fresh samples using positive and negative quality differences relative to the current greedy answer. At inference, FrameLite directly predicts one normalized crop through greedy decoding. No candidate search, external scorer, retrieval…
Read Tianshuo Li's full model card
with a Compact Vision–Language Model **Jianze Li**1, **Kai Liu**1, **Ziqing Zhang**1, **Weihang Zhang**2,
**Yong Guo**1, **Linghe Kong**1, **Yulun Zhang**1,† 1 Shanghai Jiao Tong University
2 Institute of Media Technology and Experience Design, Huawei
† Corresponding author [**Code**](https://github.com/JianzeLi-114/FrameLite) · [**Paper**](https://arxiv.org/abs/2610.17639) · [**Supplementary Material**](https://github.com/JianzeLi-114/FrameLite/releases/download/v1.0/FrameLite_supplementary.pdf) [](https://huggingface.co/mon3tr/FrameLite/blob/main/LICENSE) [](https://huggingface.co/mon3tr/FrameLite/tree/main)
Abstract
Aesthetic image cropping improves composition by balancing subjects, context, and image boundaries. Large vision–language models bring semantic knowledge to this task, but their scale limits lightweight photography assistance. We propose FrameLite, a compact cropping model built on Qwen3.5-0.8B. Our approach is motivated by the observation that a small model can generate better crops than its first answer suggests. We develop three-stage training to turn this potential into stronger direct predictions. Spatial and composition training establishes localization and framing preferences. Quality-Guided Online Supervision (QOS) then learns the highest-quality complete answers among the current policy's generated candidates. Greedy-Referenced Optimization (GRO) further refines the policy using positive and negative quality differences relative to its current greedy answer. Both online stages use annotation-derived feedback, while inference returns one coordinate answer without search or an external scorer. Experiments show that FrameLite outperforms the compared large-VLM croppers across public benchmarks with a substantially smaller backbone. Controlled studies confirm that selecting high-quality training answers improves the final model beyond online sampling alone.
Method
- Stage I — Spatial and composition training. Learn spatial localization, composition preferences, and complete reference-frame prediction.
- Stage II — Quality-Guided Online Supervision (QOS). Generate greedy and sampled answers, evaluate complete-frame quality, and imitate the best answer.
- Stage III — Greedy-Referenced Optimization (GRO). Refine fresh samples using positive and negative quality differences relative to the current greedy answer.
At inference, FrameLite directly predicts one normalized crop through greedy decoding. No candidate search, external scorer, retrieval database, or external API is needed.
Model
| Model | Backbone | Weights |
|---|---|---|
| FrameLite | Qwen3.5-0.8B | 224 MB |
The FrameLite checkpoint contains the learned language LoRA and vision merger.
Download Qwen3.5-0.8B separately and
load both with the FrameLite API below.
Quick Start
Install the inference code
Use Python 3.10 and a CUDA GPU with BF16 support.
git clone https://github.com/JianzeLi-114/FrameLite.git
cd FrameLite
python3.10 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install torch==2.6.0 torchvision==0.21.0 \
--index-url https://download.pytorch.org/whl/cu124
python -m pip install -r requirements.txt
Download the weights
Download the FrameLite weights and the Qwen backbone:
from huggingface_hub import snapshot_download
snapshot_download(
repo_id="mon3tr/FrameLite",
local_dir="weights/framelite",
allow_patterns=[
"framelite.safetensors",
"inference_config.json",
"LICENSE",
"NOTICE",
],
)
snapshot_download(
repo_id="Qwen/Qwen3.5-0.8B",
local_dir="weights/framelite/base",
)
The two downloads place the FrameLite checkpoint and Qwen backbone under weights/framelite/.
Crop an image
python infer.py \
--image assets/examples/mountain_reflection/input.jpg \
--weights weights/framelite \
--output-dir outputs \
--device cuda:0
The CLI saves predictions to outputs/predictions.jsonl and valid crops to outputs/crops/. To process a directory, pass its path to --image; add --recursive to include subdirectories.
Python API
from framelite import FrameLite, crop_image
model = FrameLite.from_pretrained("weights/framelite", device="cuda:0")
image_path = "path/to/image.jpg"
result = model.predict(image_path)
if result["valid"]:
print(result["bbox_normalized"]) # [x1, y1, x2, y2] in [0, 1]
crop_image(image_path, result["bbox_normalized"]).save("crop.png")
else:
print(result["error"])
Coordinates refer to the original image, with the origin at its top-left corner. The model returns a single crop, for example {"crop":[0.1,0.05,0.9,0.95]}. This JSON illustrates the output format.
Evaluation
The following results are reported in the paper. The same final model produces one crop per image on all three benchmarks.
| GAICv2 Acc .85 ↑ | GAICv2 Acc .90 ↑ | FLMS IoU ↑ | FLMS BDE ↓ | FCDB IoU ↑ | FCDB BDE ↓ |
|---|---|---|---|---|---|
| 0.9140 | 0.8340 | 0.8679 | 0.0297 | 0.7124 | 0.0704 |
Acc denotes GAICv2 Acc1/5 at the specified IoU threshold. See the paper for the evaluation protocol and the supplementary material for additional analyses.
Citation
@article{li2026framelite,
title={FrameLite: Decision-Oriented Aesthetic Cropping with a Compact Vision--Language Model},
author={Li, Jianze and Liu, Kai and Zhang, Ziqing and Zhang, Weihang and Guo, Yong and Kong, Linghe and Zhang, Yulun},
journal={arXiv preprint arXiv:2610.17639},
year={2026}
}
License and Acknowledgments
FrameLite task weights and inference code are provided under the Apache License 2.0. The separately downloaded Qwen3.5-0.8B backbone is distributed by Qwen under the Apache License 2.0; see NOTICE and the upstream model card.
We thank the developers of Qwen, Transformers, and PEFT.
Correspondence: Yulun Zhang.
Identity and Version
- Repository
- mon3tr/FrameLite
- Publisher
- Tianshuo Li
- Task
- Not stated by the source
- Modality
- Other
- Library
- Not stated by the source
- Parameters
- Not stated by the source
- Languages
- en
- Revision
- 2fbe935372cdb63db3a02aef77edf7ae06b6be52
- First published
- 2026-10-12
- Last updated
- 2026-10-14
Files and Weights
8 files, 224.4 MB in total. The weights are 1 file totalling 223.6 MB in safetensors.
Every file
| File | Type | Size | SHA-256 |
|---|---|---|---|
| framelite.safetensors | Weights | 223.6 MB | 1a58395c537c |
| inference_config.json | Configuration | 862 B | — |
| LICENSE | Documentation | 11.4 KB | — |
| NOTICE | Documentation | 904 B | — |
| README.md | Documentation | 7.3 KB | — |
| assets/method_overview.png | Other | 424.8 KB | f958abde4414 |
| assets/online_training.png | Other | 396.4 KB | a43d5d85a427 |
| .gitattributes | Repository | 1.8 KB | — |
License and Download
- License
- apache-2.0
- Access
- Open weights, no gate
- Download size
- 223.6 MB
Released by Tianshuo Li through its official repository on Hugging Face. Read the license.
Built From
- Derived from Qwen/Qwen3.5-0.8B
- Described by arXiv:2610.17639
Memory Requirements
| Precision | Weights in memory |
|---|---|
| As published | 223.6 MB |
Weights only, from the published parameter count; the key-value cache and runtime add to this.
Questions About FrameLite
Can I use FrameLite commercially?
Yes. FrameLite is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.