Hintergrund entfernen – ausgelieferte Drittsoftware und Modell (alles läuft lokal im Browser) Background remover – third-party runtime and model (everything runs locally in your browser) 1) ONNX Runtime Web 1.30.0 (npm onnxruntime-web, exakt gepinnt) Lizenz: MIT (LICENSE-onnxruntime.txt), Drittkomponenten: ThirdPartyNotices-onnxruntime.txt Quelle: https://github.com/microsoft/onnxruntime/tree/v1.30.0 Ausgeliefert unverändert: ort.webgpu.min.mjs, ort-wasm-simd-threaded.asyncify.mjs, ort-wasm-simd-threaded.asyncify.wasm (26,8 MB > 25 MiB, daher als .gz gepackt und im Browser entpackt; Inhalt byte-gleich, SHA-256 in manifest.json). 2) Modell BiRefNet_lite (ZhengPeng7, "Bilateral Reference for High-Resolution Dichotomous Image Segmentation", Zheng et al., CAAI Artificial Intelligence Research 2024), Lizenz: MIT (LICENSE-BiRefNet.txt, https://github.com/ZhengPeng7/BiRefNet, Commit ebcc0bc8ec7fe919cec829f2dea656b3078acddc) Gewichte: https://huggingface.co/ZhengPeng7/BiRefNet_lite (Lizenz mit) ONNX-Export 512 × 512: https://huggingface.co/studioludens/birefnet-lite-512 (Lizenz mit), Revision 4a3c40c36c94093cc1e724d9ea428b8fa4b57dc7, onnx/model.onnx, SHA-256 1cb0fb360dadd15af77c639085d77a9df67db0c64315560c3de005f676345ac2 (183 MB). Warum 512: Die 1024-Fassung braucht beim Rechnen ca. 6 GB (gemessen, onnxruntime CPU, 1 Thread) und bricht in onnxruntime-web (WebAssembly, 4-GB-Grenze) mit std::bad_alloc ab; die 512-Fassung braucht ca. 1,6 GB. Verändert (MIT erlaubt das): Gewichte von Conv und MatMul auf 8 Bit je Ausgabekanal quantisiert (symmetrisch, DequantizeLinear-Knoten, Rechnung weiter in 32 Bit) mit wq.py → 59,6 MB, in Teile < 25 MiB zerlegt (birefnet-lite-512-w8.part*, SHA-256 des Ganzen in manifest.json). Prüfung (3 Bilder, onnxruntime CPU): Masken-IoU gegenüber der 1024-Originalfassung 0,982–0,990; onnxruntime-web 1.30.0 (WebAssembly, 1 Thread) rechnet ein Bild in 5,7 s (Node 24, Desktop-CPU). Erzeugen: python vendor/hintergrund/wq.py model.onnx model_w8.onnx → node vendor/hintergrund/assets.mjs model_w8.onnx