Camera 基础

Android 17终于要解决三方相机拍照丑的问题了?这对Camera工程师意味着什么

"第三方App拍照为什么比原生相机差"这个问题,相信大家都有遇到过。用户吐槽、产品经理催、测试提bug——但说真的,这事不怪我们,是Android架构的限制。不过2026年3月谷歌在Android 17 Beta 3里放了个大招,可能真的要翻篇了。今天聊聊这个变化背后的技术逻辑,以及对我们这些做Camera开发的人意味着什么。

一、先说一个所有人都遇到过的问题

你在用三方相机拍张照,可能发现画质一般。但你切到手机自带的相机App,同一个场景拍出来却很清晰。同一个手机、同一个摄像头硬件,差距为什么这么大?

这是啥原因呢,原因很直接:原生相机App能调用厂商的全部计算摄影流水线,但第三方App只能拿到基础接口。

具体来说,Android系统给第三方App开放的Camera API(不管是老的Camera1还是Camera2/CameraX),拿到的就是Sensor输出的原始数据加上一些基础处理——HDR、夜景模式这些可以通过Extension接口调,但厂商那些真正厉害的算法——超级分辨率、AI场景识别、语义分割降噪、多帧融合——全锁在原生相机App里,第三方碰不到。(当然,现在手机厂基本也都针对常用的一些三方app做了适配)

结果就是:你手机里有一颗旗舰Sensor、有一套强悍的ISP,但在微信、Instagram、抖音里拍照的时候,很多影像处理能力没用上。

这个痛,Google忍了很多年,终于决定动手了。

二、Android 17放的大招:Vendor-Defined Camera Extensions

2026年3月,Android 17 Beta 3正式发布,里面有个功能叫 Vendor-Defined Camera Extensions(厂商自定义相机扩展)。名字很技术,但翻译成人话就是:允许手机厂商把自己的高级拍照算法,开放给任何第三方App调用。

以前Android也有一个Extension机制,但它是固定的——Google预设了几个模式(Bokeh、Night、HDR),厂商只能在这些框架里做。想开放"超级分辨率"?没门。想开放自家的AI增强?没接口。Android 17把这道墙拆了,厂商可以自定义任意扩展模式,App通过API查询设备支持哪些扩展,然后直接调用。

核心API长这样:

// 查询设备是否支持某个厂商扩展
CameraExtensionCharacteristics characteristics =
    cameraManager.getCameraExtensionCharacteristics(cameraId);

// 检查是否支持特定扩展模式
boolean supported = characteristics.isExtensionSupported(
    CameraExtensionCharacteristics.EXTENSION_VENDOR_DEFINED
);

// 如果支持,通过CameraX启用
CameraSelector selector = new CameraSelector.Builder()
    .requireLensFacing(CameraSelector.LENS_FACING_BACK)
    .build();

ImageCapture imageCapture = new ImageCapture.Builder().build();

// 关键:直接调用厂商扩展
cameraProvider.bindToLifecycle(
    lifecycleOwner, selector, preview, imageCapture
);
// 注意:需要厂商实现Extension才生效,否则走fallback

这里有个关键细节:这个机制不是强制的。Google搭建了管道,但要不要往管道里灌水,取决于手机厂商。三星Galaxy系列可能开放了5种扩展,Pixel可能开放了3种,某个中端机可能一个都没有。App开发者必须写好fallback逻辑——查询不到就退回标准模式,不能假设所有设备都有。

另外,目前这个机制只覆盖静态拍照和文档扫描场景,视频录制还不支持。

三、CameraX也大改了:终于不用AndroidView了

说完底层机制,再说一个跟开发者更直接相关的变化。Google I/O 2025上,CameraX宣布全面支持Jetpack Compose——以前写相机预览,得在Compose里嵌一个AndroidView(PreviewView),像在纯棉衬衫上缝了一块化纤补丁,怎么看怎么别扭。现在有了 CameraXViewfinder 这个Compose原生组件,相机预览直接融入声明式UI体系。

对开发者来说,最直观的好处是:手势交互终于不拧巴了。以前点按对焦要手动算坐标转换——Compose的触控坐标和Camera的Sensor坐标是两套体系,中间隔了旋转、裁切、缩放好几层映射,算错了就对焦到隔壁去了。现在内置了CoordinateTransformer,tap-to-focus直接能用。

// 新的Compose原生相机预览(I/O 2025发布,现已stable)
@Composable
fun CameraPreview(modifier: Modifier = Modifier) {{
    val context = LocalContext.current
    val lifecycleOwner = LocalLifecycleOwner.current
    val surfaceRequest = remember {{ MutableStateFlow(null) }}
    val request by surfaceRequest.collectAsState()

    LaunchedEffect(Unit) {{
        val provider = ProcessCameraProvider.awaitInstance(context)
        val preview = Preview.Builder().build().apply {{
            setSurfaceProvider {{ req -> surfaceRequest.value = req }}
        }}
        provider.bindToLifecycle(
            lifecycleOwner,
            CameraSelector.DEFAULT_BACK_CAMERA,
            preview
        )
    }}

    // Compose原生渲染,不需要AndroidView了
    request?.let {{ req ->
        CameraXViewfinder(
            surfaceRequest = req,
            modifier = modifier
        )
    }}
}}

还有一个值得一提的: Google Low Light Boost。以前暗光预览全靠Sensor的AE模式撑着,不支持Low Light Boost AE的设备就一片黑。现在Google把这个做成了Google Play服务里的库,用计算摄影+机器学习实时提亮预览画面,覆盖Pixel 6到9系列以及三星Galaxy S23到S25系列。对开发者来说,不用自己折腾暗光算法了,调个库就行。(这个里面有个问题,这个Low Light Boost是强绑定GMS的,我们国内基本都用不了)

四、真正的大趋势:从"多帧堆叠"到"神经场景理解"

前面说的都是API层面的变化。其实,我觉得更深层的变革在于:计算摄影的范式正在换挡。

过去十年,手机拍照的核心套路是"多帧堆叠"——连拍多张、对齐、加权融合。HDR+、夜景模式、超分辨率,底层逻辑都是这一套。它有效,但天花板也很明显:帧越多延迟越高、对齐失败就出鬼影、运动场景基本废。

2026年正在发生的变化是:从"组合多帧"转向"理解场景"。不再是简单地把几张照片叠在一起,而是AI先理解你拍的是什么——人脸、天空、文字、食物、夜景——然后根据场景类型,动态选择降噪策略、色彩调校、曝光曲线。同一套流水线,拍人像和拍风景的处理方式完全不同。

几个标志性的变化:

• 语义分割进入ISP流水线:以前ISP处理一帧图像,是"一刀切"——同样的降噪参数作用于整张图。现在引入语义分割后,天空区域和人脸区域用不同的降噪强度、不同的锐化策略。天空要平滑不能有噪点,人脸要保留纹理不能"塑料感"。

• AI驱动的白平衡和色调:传统AWB靠灰世界假设和统计量算白点,遇到复杂光源(比如混合色温的室内场景)经常翻车。AI模型通过训练数据学会了"这个场景看起来应该是这样的",直接推断出正确的色温——不是靠公式,是靠"经验"。

• 运动感知降噪:以前多帧降噪对运动物体没辙——你手一抖或者被拍的人动了,多帧叠加就出残影。现在通过实时运动矢量估计,区分静止和运动区域,静止区域用多帧降噪、运动区域用单帧AI降噪,各取所长。

这些变化的底层推手,是NPU算力的爆发。ISP不再只做固定算法了,它开始跟NPU协同——ISP做基础校正(去马赛克、白平衡、镜头校正),NPU做AI推理(场景理解、语义降噪、超分辨率),两者流水线串联。

五、Pixel 10的Camera Coach:端侧AI拍照指导

2025年8月Google发布了Pixel 10系列,搭载Tensor G5芯片和Gemini Nano端侧模型。这里面有个功能让我特别感兴趣—— Camera Coach(拍照指导)

它不是什么滤镜或者后期处理,而是在你拍照之前,AI就实时分析场景,给你构图和取景建议。比如它会提示你"被摄者可以看镜头""再靠近一点""把手机降低一些""调整人物在画面中的位置"。一步一步引导,像旁边站了个摄影老师。

还有个功能叫 Auto Best Take——拍合影时,AI在几秒内分析150帧画面,找出每个人表情都不错的瞬间自动拍照。实在没有完美的单帧,AI会合成一张。

最夸张的是100倍变焦:Tensor G5跑一个生成式AI模型,不是简单裁切放大,而是"算"出高倍变焦下的细节。Google自己也承认,这是"算出来的"——这是Pixel相机有史以来跑过的最大的AI模型。

从Camera工程师角度看,这些功能的技术含义是:AI不再只在后期处理环节发力,而是渗透到了拍照的每个阶段——取景前(Camera Coach)、取景中(Auto Best Take)、拍摄后(100倍变焦重建)。整个Camera流水线从"Sensor+ISP"变成了"Sensor+ISP+NPU+AI模型"。

六、对我们做Camera开发的人意味着什么

说了这么多变化,落到我们自己头上,我觉得有几件事值得认真想想:

第一,Camera的边界在扩大。以前我们理解的Camera开发,就是调Camera2 API、写HAL层、改驱动。现在Camera跟AI的边界越来越模糊——你要懂的不只是ISP流水线和Buffer管理,还得理解NPU推理流程、AI模型的输入输出格式、模型量化对画质的影响。2026年,一个"纯Camera"工程师的天花板会比2023年低很多。

第二,Vendor Extension开放带来的适配工作量。Android 17这个机制一旦铺开,每个厂商的扩展能力都不同。你做Camera App的时候,不能只测"拍照能不能出图"了,还得测"在三星上开Extension和不开Extension效果差多少""小米的AI增强模式跟OPPO的有什么区别"。碎片化问题不是消失了,而是换了个形态——从API碎片化变成了能力碎片化。

第三,低光增强不再需要自己造轮子。Google Low Light Boost这个库,如果环境允许,能正常调用到的话,一般级别的暗光预览提亮算法可能就不需要再单独搞了。

第四,CameraX正在成为唯一推荐方案。Google I/O 2025之后,CameraX的定位非常明确——它是Android相机开发的未来。Camera2 API不会消失(HAL层和底层驱动还是要用),但App层面的相机功能,CameraX是主推路线。Compose原生支持、Extension生态、Low Light Boost、Media3特效——这些新能力都是先在CameraX上落地的。

第五,GCam社区在推动一个有意思的趋势。有分析指出,越来越多的手机厂商开始主动兼容GCam(Google Camera移植版)——不再锁Camera2 API、开放RAW支持、暴露更多ISP数据。原因是用户确实觉得GCam拍出来更好看。这个趋势对Camera开发者来说,意味着Sensor和ISP的能力正在变得越来越透明,以前靠"信息不对称"建立的画质优势会被压缩——你跟竞品的差距,越来越取决于算法而不是硬件。

速查表:2026 Camera开发者必知的5个变化

变化
影响对象
关键信息
优先级
Vendor-Defined Extensions
App开发者
厂商可开放自定义高级算法给第三方App,目前仅静态拍照
CameraX Compose原生支持
App开发者
CameraXViewfinder取代AndroidView,手势交互简化
Google Low Light Boost
App开发者
Play服务库,暗光预览实时提亮,覆盖主流旗舰
AI语义分割进ISP
HAL/Tuning工程师
不同区域不同降噪/锐化策略,ISP+NPU协同
端侧AI拍照指导
全栈
AI渗透到取景前/中/后各阶段,Camera流水线重构
关注

更多Camera开发实战内容

欢迎加入知识星球「小驰成长圈」

120+ Camera工程师 · 340+ 实战内容 · 已运营1565天

小驰成长圈 知识星球

微信扫码 · 加入星球

欢迎扫码关注「小驰行动派」公众号 10 年Camera开发 | Camera技术干货 | 行业洞察 | Camera实战分享
小驰行动派公众号 扫一扫关注
分享到: 复制链接
← 上一篇 Camera ISP Overflow排查全攻略:三类溢出问题一网打尽 下一篇 → Claude Code太强了,很多事情都值得先用AI来做

相关文章

推荐课程

想系统学习 Camera 开发?看看这些课程

评论 (0)

暂无评论,快来抢沙发吧