Tech
[分享创造] 把 47MB 的抠图模型塞进浏览器,就为了身份证复印件不用上传
起因很土。帮家里人弄身份证复印件,网上一搜全是「上传图片 → 在线生成」。传身份证这事我自己不敢,又懒得开 PS ,就把去背景模型直接塞进浏览器跑了。
模型得先瘦下来。BiRefNet 原版太大,换成 lite + int8 量化、768² 输入,落到 47MB ,gzip 后 39MB 。首次访问还是肉疼,所以模型放在 R2 + CF 上,多源竞速下载谁先返回用谁,再拿 Cache API 持久缓存,二次访问基本秒开。R2 的 content-encoding 头不可靠,我干脆自己认 gzip magic ,用 DecompressionStream 本地解压。
真正难受的是隔离头。onnxruntime-web 要开多线程 WASM 就得有 SharedArrayBuffer ,而 SAB 要 crossOriginIsolated ,页面必须带 COOP/COEP ,否则只能单线程,慢到不能用。这个头一加,跨源 iframe 就嵌不进来了,我的支付浮层当场被打死,换成 COEP: credentialless 也救不回来。最后是结账页不加隔离头、从隔离页过去时强制硬导航绕...
Read the full discussion on V2EX
This article was aggregated from V2EX. Click to join the conversation.
View on V2EX