113、AI超分在预览流和拍照流中的实时化挑战——基于瑞芯微RK3588的SR部署

发布时间:2026/8/21 14:08:38
113、AI超分在预览流和拍照流中的实时化挑战——基于瑞芯微RK3588的SR部署 113、AI超分在预览流和拍照流中的实时化挑战——基于瑞芯微RK3588的SR部署去年年底接了个项目,客户要在RK3588上做4K预览+AI超分,输入是1080P的sensor流,输出要跑到4K@30fps,还得同时保证拍照流的单帧质量。当时觉得3588的NPU有6TOPS,超分这种活儿应该绰绰有余,结果一上手就被现实抽了一巴掌——预览流的延迟、NPU和ISP的带宽争抢、还有那个该死的RKNN模型转换,每一个坑都能让你在产线上蹲三天。先说说预览流的问题。RK3588的ISP输出1080P是没压力的,但你要做超分,就得把ISP的raw域或者YUV域数据喂给NPU。这里第一个坑就来了——你从ISP拿到的数据格式和NPU要的输入格式往往对不上。RK3588的ISP默认输出是NV12,但很多超分模型训练时用的是RGB或者YUV444,你直接拿NV12喂进去,模型精度直接掉两个点。别问我怎么知道的,我们当时在实验室调了整整一周,最后发现是格式转换的精度损失。解决方案是在RKNN的模型转换阶段就把输入格式定死,用–input-format nv12,让RKNN工具链自己去做格式转换。但这里又有个新问题——RKNN的nv12转rgb是在CPU上做的,虽然3588的CPU不弱,但4K分辨率下每帧要转一次,CPU占用直接飙到30%以上,这还没算上你跑其他算法线程的开销。后来我们改成在模型里加一个转换层,让NPU自己去做这个格式转换,虽然NPU算力多花了点,但CPU彻底解放了。再说拍照流。拍照流的痛点和预览流完全不一样——预览流要的是低延迟,拍照流要的是高精度。客户要求拍照时能输出8K超分结果,但RK3588的NPU跑一次8K超分模型,单帧推理时间直接干到8