news 2026/10/18 6:32:45

滴水OS 2.0 Pre:AI原生智能座舱操作系统架构与技术解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
滴水OS 2.0 Pre:AI原生智能座舱操作系统架构与技术解析

今年的CES2026展区里,智能座舱依然是绝对的流量担当,但真正让我停下来反复琢磨的,并不是哪家又堆了一块更大的屏幕,而是“滴水OS 2.0 Pre”这套主打“AI原生”的座舱操作系统。看了发布信息和现场演示之后,我的感觉是:汽车座舱软件这十几年一直停留在“功能机”阶段,而这套系统,算是第一次按“智能手机”的思路,甚至可以说是按“智能机器人”的思路,把操作系统底层重新做了一遍。

这篇文章我想从一个从业者的视角,把滴水OS 2.0 Pre的核心设计拆开来看:它到底改了哪些底层逻辑、解决了哪些老系统解决不了的问题、开发者和主机厂在接入时又会遇到什么坑。无论你是座舱软件工程师、车联网产品经理,还是刚入行的智能汽车爱好者,这篇文章里讲的“为什么”、架构思路和工程落地细节,应该都能帮你少走不少弯路。

1. 智能座舱的进化路线:从“功能机”到“AI原生”

1.1 为什么传统座舱OS到了不得不重构的地步

过去的座舱操作系统,不管是基于Linux还是Android Automotive,核心设计思路都是“以应用为中心”。用户要放音乐,得先找到音乐App;要调空调,得去设置界面里翻二级菜单;要导航,得手动输入目的地。系统本身是“被动的”——它等着用户操作,然后调度资源去响应。

这个模式在功能少的时候没毛病,但一旦车上屏幕多、服务多、传感器多,问题就暴露了。最典型的是卡顿和资源冲突:语音助手要启动、导航主程序要加载、仪表盘要刷新、第三方App在后台偷偷跑着推送,多个服务同时抢CPU和内存,系统就开始“思考人生”。这不是芯片性能不够,而是系统架构里,各个服务模块之间是强耦合关系。每一个App或服务都像一根独立的线,绞在一起,调一个就得牵动一堆。

这就像你住在一个老小区里,水管、电线、网线全部走同一根管道,家里多开几个大功率电器就跳闸。施工队来修个水管还得先把电线拆了,恶性循环。滴水OS 2.0 Pre给我的第一印象,就是它把管道全部重新埋了,不同服务之间走独立的“总线”,互不占用、互不干扰。

1.2 “AI原生”和“加个语音助手”是两码事

现在市面上很多车厂都在讲“大模型上车”,但多数做的是把云端大模型接进车机,做一个更强的语音助手。这种加法式升级,本质上还是一款“传话筒”:用户说一句话,系统把文字传给大模型,模型返回一段回答或指令,然后系统调用一个写死的App接口去执行。

但AI原生的做法完全不同。它不是给系统外挂一个AI能力,而是把“用户意图理解”下沉到操作系统内核层,让系统本身具备感知、理解、决策、执行的能力。这意味着,用户发起一句“我有点冷”,系统不是去匹配某个App的某个按钮,而是先从多模态感知模块拿到舱内温度、车速、时间、用户历史偏好,再自动调节空调并询问是否升高座椅加热。

用个更直白的比喻:传统语音助手是前台文员,你说要什么,它帮你转达给后厨;AI原生系统像一个管家,不只是帮你传话,它还能根据天气提醒你带伞、根据你的行程提前把咖啡温度降到合适口感、根据你的坐姿自动调整座椅角度。它不需要你一步步命令,而是“看见”并“理解”你。这才是“交互体验重构”的关键所在。

1.3 2.0 Pre版本到底是个什么定位

这里要特别解释一下“Pre”的概念。很多朋友看到带“Pre”的后缀,以为是“内测版”“预览版”,在汽车软件里,“Pre”更像是主线版本提前曝光给开发者的技术预览版,相当于编译器里RC之前的那个Pre-Release版本。它的核心价值不是马上量产,而是让生态伙伴和主机厂提前看到架构方向、提前适配API、提前反馈兼容性问题。

这个动作在手机OS时代很常见,但在汽车座舱OS里比较少见。因为汽车供应链更保守,很多主机厂还是喜欢等一个成熟版本再动工。滴水OS 2.0 Pre选择提前亮出底牌,说明团队对这次架构重构的野心不小,也想通过早期生态共建,避免量产时出现大批不兼容的第三方应用。

如果你是主机厂的座舱负责人,现在看到这则消息,最该做的事不是等着买整套方案,而是赶紧申请开发者预览权限,让自己的核心HMI框架、通信中间件、常用应用生态先跑一遍兼容性测试,把适配问题从“量产前3个月”提前到“架构定稿前”。

2. 滴水OS 2.0 Pre的架构核心:SOA服务化、多模仲裁与端云AI运行时

2.1 SOA服务化内核:把“整根水管”换成“独立总线”

前面提到传统座舱系统强耦合问题,滴水OS 2.0 Pre的解法是把系统拆成SOA架构,也就是服务导向架构。听起来高深,其实核心就一句话:把系统里的每个能力(导航、语音、空调、座椅、蓝牙、支付)都封装成独立服务,服务与服务之间不直接相互调用,而是通过一个中间层“服务总线”进行通信。

这个设计的好处非常明显。第一,横向扩展性变好:想加一个露营模式,不需要改动空调服务、灯光服务、车窗服务的原有代码,只需要新写一个编排逻辑,去总线上订阅和调用已有服务就行。第二,故障隔离性好:如果第三方App突然崩溃,它不会像传统系统那样拖倒整个HMI框架,因为服务之间没有直接内存共享。

具体到技术实现上,SOA通信层通常使用的是基于IDL(接口定义语言)的IPC/RPC机制,加一层发布订阅的事件总线。服务A不想被服务B直接调用时,就可以只向总线发布“温度已改变”事件,谁关心这个事件谁去订阅。这样一来,导航需要显示当前温度时,它根本不需要知道温度传感器的物理接口在哪,只要订阅温度事件就行。

在这个架构里,系统服务变成了“微服务”式的模块,HMI界面变成纯客户端,底层逻辑和显示层彻底解耦。这对于多屏互联的时代特别重要:中控屏、副驾屏、后排屏可以同时订阅同一个服务事件,每块屏按自己的形态去渲染,资源开销却不会像以前那样翻倍。

2.2 多模态交互“仲裁机制”:谁说了算

AI原生座舱里,用户可用的交互通道远不止触控。语音、手势、视线、面部表情、座舱内外传感器都会输入信号。这里立刻产生一个问题:多个信号同时进来,系统听谁的?比如副驾正在聊天,主驾说“帮我把氛围灯调成蓝色”,系统不能把副驾的话也当作指令;再比如后排乘客用手指了一下屏幕,主驾同时说“导航去公司”,这两条指令应该谁生效、优先级是什么?

滴水OS 2.0 Pre这类系统,普遍采用“多模态事件融合管道”的方式处理信号冲突。底层逻辑是:每个模态都被抽象成事件,事件带上“置信度”标签,系统仲裁模块根据场景权重、用户身份、操作上下文来计算最终指令。

假设驾驶员说“打开座椅通风”,语音置信度90%,而副驾正在聊另一件事。仲裁模块会先做声源定位,判断“打开座椅通风”这个指令的声源来自主驾位,再结合方向盘的触摸信号、视线偏向中控的辅助判断,最后给这条指令乘以一个驾驶员专属权重,高置信度放行;反之,副驾聊天内容没有唤醒词,也没有操作指向性,置信度低,就被静默过滤掉。

这个机制听起来简单,实际工程实现非常细致。每个模态都需要单独的端侧模型识别,再统一进入仲裁模块做打分。这个打分规则不能只写死一套,还要能根据不同车型的传感器布局做参数调节,比如某些车型没有驾驶员摄像头,那视线权重就必须自动下降,否则系统会“瞎猜”。

2.3 端云协同的AI运行时:模型怎么分,任务怎么演

“AI原生”四个字背后,最核心的技术底座是端云协同的AI运行时。为什么不能全放云端?因为汽车有很多场景是弱网或断网的:地下停车场、高速隧道、偏远地区。这时候语音识别、意图理解、本地路径规划都必须能离线工作。为什么不能全放端侧?因为端侧SoC的算力和内存有限,跑不动大参数的语义模型,复杂推理还是得交给云端。

滴水OS 2.0 Pre的做法是分级部署。端侧放“小模型”和“快模型”:比如1B到3B参数的语音识别模型、意图分类模型、语调情感模型、视线/手势识别模型,经过INT8或INT4量化之后部署在座舱SoC上(这类算力平台的NPU通常能提供10到30 TOPS的算力)。云端放“大模型”:负责长对话生成、复杂知识问答、多轮上下文理解等高算力任务。

端云之间怎么协同?核心是“任务分流+结果校验”。举个例子,用户说“我饿了,帮我找一家评分高的火锅店”,端侧识别音频并提取意图“查找餐厅”,再判断本地有没有相关POI缓存。如果有,直接本地检索结果;如果没有,端侧把精简后的请求发给云端大模型,云端返回候选列表,端侧再结合实时位置和路况做最终决策。

这里有个关键细节:用户隐私数据基本不出车。端侧模型负责收集和处理绝大部分的个性化数据,比如常去地点、座椅习惯、听歌偏好。云端只收到脱敏后的服务请求,拿不到整车号、车主手机号等敏感信息。这个设计对汽车行业特别重要,因为现在隐私合规是硬性门槛,很多主机厂不敢用云端大模型就是怕数据落地争议。

2.4 跨域融合:座舱管的不只是“屏”

过去座舱OS只管仪表、中控、HUD,和智驾域、车身域、动力域的交互非常有限。但AI原生体验需要跨域数据:你想根据导航到目的地的时间预测是否需要加油,座舱就需要获得车辆剩余里程和动力域的状态;你想实现自动泊车时中控屏同步渲染3D环境,座舱就需要接收智驾域的摄像头/雷达数据。

滴水OS 2.0 Pre这套架构,明显是朝着“舱驾一体”的方向设计的。它通过中间件打通了Android(或自研兼容层)与智驾域的通信链路,让座舱可以订阅到车辆状态、路况、障碍物信息,并且在HMI上实时渲染。同时它还能调用车身域的控制器,比如自动调节悬架软硬、车窗透光度,前提是这些能力都通过服务总线暴露出来。

这也是为什么SOA架构被称为“下一代车载软件的核心”,因为它天然适合多域融合。你不必为每一个新的跨域功能单独铺一条线缆、写一套TCP/IP私有协议,只要在服务总线上发布/订阅新主题就行。这套机制对软件开发效率的影响是巨大的,从“一个需求开发三个月”变成“一个需求开发两三周”。

3. 落地过程中的生态适配与性能基线:开发者最该关心的几件事

3.1 系统迁移与兼容层:能不能无缝换掉老方案

很多主机厂对自研座舱OS的最大顾虑,是“我现在基于Android打造的应用生态怎么办”。滴水OS 2.0 Pre在兼容性这个问题上给出了一个现实解法:提供兼容框架,让Android Automotive应用中常用的API、Activity生命周期、HMI渲染接口可以被翻译映射到新系统的服务层。

但这不等于说现有Android应用一个不漏地搬过来就行。兼容层能保证的是“能运行”,不能保证的是“体验一致”。比如一个为竖屏手机设计的短视频应用,搬上车机后如果不重新设计交互层级,用户体验仍然很差。兼容框架是帮开发者和主机厂“安全过渡”,而不是“永久保鲜”。

我身边做座舱开发的朋友都在说,真正该抓住的机会是系统重构带来的“重做HMI”窗口。以前在Android约束下,很多自定义动效、多模态手势实现不了,或者实现成本极高。现在换到AI原生框架,官方提供的UI组件已经在底层支持动态响应、服务订阅、多模输入的事件路由,开发跨屏联动的交互逻辑比过去简单很多。

3.2 应用生态与HMI开发工具链:能不能快速出活

系统能不能普及,生态至关重要。滴水OS 2.0 Pre这类项目在发布时通常会同步放出开发者SDK、模拟器、设计规范文档。开发模式大概率是“小程序容器 + 原生服务API”混合:重度交互场景走原生框架,轻量服务(如天气、外卖、停车费支付)走小程序/快应用容器。

小程序容器在车机上有特别优势:一是更新快,可以像手机端一样热更新,不必等整包OTA;二是安全隔离,第三方小程序不能直接访问车辆控制接口,只能调用系统提供的受限API。这在方向盘控制、油门刹车等安全关键接口的保护上特别重要。

对于HMI开发者来说,平时写多屏联动动效可能会很痛苦,但在这套AI原生系统里,框架会自动处理“跨屏事件同步”和“用户注意力优先级”。比如副驾屏正在播放视频,驾驶员视线转到副驾屏时,系统会自动降低副驾屏亮度或提示“注意前方”,这个逻辑在旧系统里得开发者自己写死,在新系统里成了平台级能力。

3.3 性能基线怎么定:启动速度、内存占用、热迁移

我关注一个座舱OS是否成熟,习惯先看三个数字:冷启动到桌面时间、空闲内存占用、高负载下的帧率稳定性。AI原生系统因为集成了端侧模型,空闲内存占用普遍要比传统系统高一些,这需要提前做方案。

从公开信息和架构逻辑推断,滴水OS 2.0 Pre在量产车型上,冷启动速度主目标大概率控制在8秒以内,最好能做到6秒左右;空闲内存占用通常会控制在2GB以内(不含HMI进程和导航进程);连续切换“导航+音乐+空调+后排屏视频”等多任务场景时,中控主界面帧率应保持稳定60帧。

这里我真的建议各位:看一个座舱系统,千万不要只看发布会演示的“高光场景”,一定要让它跑“低压场景”:疯狂切换应用、连续语音打断、副驾和主驾同时操作、导航过程中反复锁屏解锁。只有这些场景稳了,用户日常用车才会真的觉得“流畅”。

3.4 用户数据闭环与本地隐私计算

AI原生系统本质上是一个需要学习用户习惯的系统。它要越用越懂你,就必须搜集用户行为数据。但汽车是私有财产,用户对数据的敏感度非常高。滴水OS 2.0 Pre走的是“本地化学习+影子模式”路线:模型增量训练在车端完成,原始数据不出车,只把加密的模型更新片段回传云端聚合。

这意味着,用户授权可以做得非常灵活:你可以关掉某个场景的个性化推荐,系统就只在本地处理但不再学习新习惯;也可以在换车时一键把“习惯模型”迁移到新车的账号下,不用重新调教。这种基于“本地隐私计算”的设计,在汽车领域会让用户更容易接受“主动服务”的形态。

4. 几个典型交互场景的信号流拆解与实际体验

4.1 “可见即可说”的免唤醒交互是怎么实现的

很多车现在都支持“你好,XX”唤醒词,但AI原生系统追求的是“免唤醒”,甚至把“可见即可说”做到系统级。也就是说,屏幕上显示的任何内容,用户只需直接说出文字内容,系统就能判断并执行。

这个能力用传统架构很难全局实现,因为每个App的UI是独立的图像渲染,系统拿不到“这个按钮叫什么、在哪个坐标”。滴水OS 2.0 Pre的解法是在系统渲染层钩子端侧AI,实时生成“屏幕语义图”:每个元素(按钮、标题、卡片、列表项)都会从渲染管线里抽取出来,配上语义标注,和语音识别结果做匹配。

整个信号流是这样的:用户在屏幕上看到“打开爱奇艺”按钮,说一句“打开爱奇艺”。语音识别引擎识别出文本,同时屏幕语义图系统已经在最近500毫秒内更新了当前界面元素列表,系统把文本和元素列表做语义对齐,匹配成功后直接调用该元素绑定的功能API。因为所有的匹配和调用都在端侧完成,延迟能做到非常低,体感就像屏幕“听得懂”一样。

4.2 主动服务与场景引擎:系统不再“等你开口”

AI原生系统的“主动服务”部分,需要场景引擎来支撑。我举一个很常见的通勤场景:用户每个工作日下午5点会离开公司,导航历史记录显示常去“某商场”。以前需要用户自己打开地图、输入地址、点开始导航;现在系统通过时空关联规则分析出“周五下班 + 常去商场 + 电量低于40%”,主动在中控屏左侧弹出一张卡片:“需要我导航到某商场并推荐充电站吗?”

用户只需要说“好”或者说“第一个”,卡片就变成全屏导航模式,同时系统根据实时路况自动避开拥堵路段。整个过程用户没有主动发出一个完整指令,系统全是基于上下文“猜”出来的。这种体验一旦做好,用户是会上瘾的:相对于过去每次都要手动操作,这种“被照料感”是AI原生体验最直观的价值。

4.3 多任务分屏与资源预算:怎么保证导航永不卡顿

多任务并行是智能座舱的必修课。滴水OS 2.0 Pre的资源调度策略核心是“关键任务算力隔离”。导航、仪表盘渲染、ADAS状态显示属于安全关键任务,系统给它们预留独立算力预算和优先级,后台游戏、视频App再吃资源也只能占用“弹性预算”。

打个比方,系统就像五星级酒店厨房:主厨(导航)的灶台是专用的,其他厨师想用火候,只能在旁边的预留灶台排队。即使整栋楼在办婚宴,主厨翻勺也不受影响。

在实际体验中,这种策略带来的感受非常明显:即使副驾屏正在播放4K视频、后排屏在打游戏,驾驶员视线正对的仪表和中控HUD区域依然保持平稳流畅,没有掉帧或延迟。

5. 工程落地时一定会踩的坑,以及我整理的排查思路

5.1 端侧大模型的内存与性能冲突

这是AI原生座舱最现实的坑,没有之一。端侧跑一个7B参数模型,做量化后内存也要4到6GB,这已经能占到整个座舱系统可用内存的三分之一。如果你还天真地以为可以常驻系统内存,那HMI和导航一开,系统立马进入低速模式。

解决思路是分级加载:系统启动时只加载轻量级关键词识别模型(几十MB),用户说出复杂指令时再动态加载主理解模型,用完释放;甚至可以根据不同场景加载不同大小的模型,比如驾驶模式只加载1B模型,停车休息时可加载7B模型获得更强语义能力。

另外一个容易忽略的点是NPU和CPU的负载均衡。语音识别是流式解码任务,不能全压在NPU上,否则NPU处理视觉手势识别时性能会退化。实测经验是,端侧多模型并发时,要按任务时延要求给NPU/CPU分配优先级,语音识别优先级通常高于非安全类的视觉识别。

5.2 多模信号冲突导致的误触发

多模态仲裁听起来很酷,但实际部署时误触发率会很高,尤其是“后排乘客聊天触发前排空调调节”这类场景。排查这种问题要依赖完整的多模态事件日志回放系统。每次误触发,现场都要能导出时间戳同步的音频、视线向量、手势轨迹、屏幕操作流,才能定位是哪一路信号给了错误的高置信度。

从工程经验看,误触发常用解法有三类:一是声源定位辅助,用麦克风阵列判断指令是否来自主驾位;二是“屏幕注意力门控”,用户目光没有看向屏幕时,降低触控和视线权重;三是“场景静默策略”,比如车辆在充电时,非主驾位置的语音指令直接降低系统响应级别。调优过程是一个不断平衡召回率和准确率的过程,宁可失聪一次,也别误响应一次,后者对驾驶安全的影响更严重。

5.3 OTA升级与A/B分区容灾

汽车OTA和手机OTA完全不同,必须保证升级失败后车辆仍可正常行驶。滴水OS 2.0 Pre这类系统普遍会采用A/B分区无缝升级方案:系统跑在A分区,升级包写入B分区,校验通过后下次启动切换到B分区;如果B分区启动失败,自动回滚到A分区,全程不影响用户驾车。

工程上要注意的坑是,“升级域隔离”很重要。没有隔离的话,OTA过程可能会影响正在运行的智驾系统或仪表盘。最稳妥的做法是把OTA升级限制在“非安全关键服务的独立容器”里进行,绝不能让系统服务总线在升级期间断开,否则仪表上报中断可能导致安全事故。

5.4 量产一致性:同配置不同体验的隐蔽陷阱

同一个OS在不同车型上,由于传感器型号、屏幕分辨率、麦克风阵列布局不同,体验差异会很大。尤其是视线追踪:摄像头安装角度差3度,视线准确率就可能掉10个百分点。这要求系统把硬件能力做一层“抽象接口”,算法针对不同摄像头自动标定。

我在多个项目里的实际操作习惯是,量产前至少要跑三轮“数据采集车”:第一轮采集标准驾驶员姿态,第二轮采集戴墨镜、戴口罩、夜间行驶等遮挡场景,第三轮采集分心和疲劳边缘状态。只有这些数据全跑通,多模交互才能从“Demo能干”进化到“量产能扛”。

6. 一些基于实操经验的小建议,以及这个方向还能怎么玩

做智能座舱OS越久,我越觉得“AI原生”不是营销话术,而是一次确定性的架构转向。从滴水OS 2.0 Pre的发布信息里,我看到三个明确的工程信号:第一,SOA服务化架构已经成为座舱软件的默认范式;第二,端侧NPU的算力分配将成为选型硬指标;第三,座舱OS正从“兼容Android”逐渐走向“重新定义运行时”的临界期。

如果你所在团队正在评估下一代座舱方案,我建议按优先级做三件事:第一,尽快申请开发者预览版,把主流程App跑一遍,收集兼容性清单,别等到量产节点才发现某个关键API不可用;第二,建立自己的性能基线测试用例集,不要听信任何厂商的“演示流畅”,用统一脚本压测高负载场景;第三,重视多模态事件日志,这套日志是你日后排查一切诡异问题的钥匙。

这个方向后续还能扩展的空间还很大,比如车机专用的大模型插件市场、面向车内的交易支付场景、跨品牌之间的场景互操作协议,都正在酝酿。但无论这些新功能怎么长出来,底层逻辑都是一样的:系统必须有能力理解用户的场景和意图,而不只是一个会显示内容的屏幕盒子。

我做AI原生座舱相关项目时,身边朋友经常问我一句话:“这个系统到底比老系统好多少?”我的回答一直很朴素:老系统是一本说明书,你得自己查、自己按步骤操作;AI原生系统是一个懂你的朋友,你还没开口,它已经把伞递过来了。汽车软件这行的新变量,从来不是某个大模型API,而是谁先把底层交互逻辑重新想明白了。滴水OS 2.0 Pre至少在正确的方向上迈出了很大一步,接下来就看量产落地时,这套思想能不能经受住市场的真正检验了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/18 6:31:32

PCL点云识别实战:从FPFH特征到6自由度位姿估计

做点云处理的人迟早会遇到一个尴尬局面:模型库里的三维点云有鼻子有眼,可面对桌面上一堆散乱摆放的真实物体,程序死活认不出哪个是目标。PCL的Recognition模块,就是在这类场景里做点云识别的“工具箱”。它的目标很直白&#xff1…

作者头像 李华
网站建设 2026/10/18 6:26:54

猫狗识别实战:用TensorFlow构建CNN图像分类模型

1. 项目背景与核心思路1.1 为什么选择猫狗识别作为入门项目如果你接触过深度学习社区,大概率会看到这句话:“新手练手有两个项目最合适,一个是手写数字识别,另一个就是猫狗识别。”手写数字识别(MNIST)确实…

作者头像 李华
网站建设 2026/10/18 6:25:27

HDFS副本机制底层逻辑与运维实战:从三副本策略到故障恢复

在分布式运维圈里流传着一句话:先把副本机制搞明白,再谈管理Hadoop集群。我最初还不服气,觉得副本不就是"多存几份"嘛,直到有一次亲眼看见一整个数据块在NameNode页面上变成Missing,业务查询直接报文件不存在…

作者头像 李华
网站建设 2026/10/18 6:23:17

JavaWeb实战:从零构建图书管理系统,深入理解Servlet与JDBC

1. 为什么一个“简单”的图书管理系统值得认真做很多人看到“图书管理系统”这几个字,第一反应是“这不就是学生作业吗”。我带过不少刚入行的开发者,也帮朋友看过不少简历项目,发现一个挺有意思的现象:真正能把一个图书管理系统讲…

作者头像 李华
网站建设 2026/10/18 6:20:51

手写apply从this绑定到健壮实现:彻底吃透JavaScript函数调用机制

上周给几个准备校招的朋友过了一遍手写 apply,发现一个很有意思的现象:凡是能顺利写出来的,都是真正想通了 this 绑定的人;凡是卡住的,基本都被“怎么让这个函数用我指定的 this 去调用”这句话绕晕了。这道题在面试里…

作者头像 李华