基于PyQt5与ResNet18的京剧脸谱识别系统设计实践
1. 项目整体设计与技术选型1.1 这个项目解决的是什么问题京剧脸谱识别系统本质上是一个图像分类任务。说白了就是让电脑看一眼京剧脸谱的图片然后告诉我们这是哪个人物、属于什么谱式或者对应什么颜色类型。很多人在拿到这个题目的时候会误以为它只是个简单的“图片分类Demo”但实际上要真正把它做成一个能演示、能答辩、能拿出手的毕设背后牵扯的东西并不少数据集怎么来、模型怎么训、界面怎么做、整个系统怎么串起来每一步都有讲究。我最初接到这个课题时第一反应是“这不就是个CNN分类吗”但做到中期才发现真正花时间的不是模型训练而是数据整理、标签体系设计和界面交互打磨。这个项目对本科毕设来说处在“深度适中、工作量明确、展示效果好”的位置选它作为毕设题目是比较稳妥的既能体现深度学习基本功又能通过PyQt界面展示完整的系统能力答辩的时候也容易把故事讲完整。1.2 为什么选择PyQt 深度学习这套方案先说结论这个组合是毕设场景下最“稳”的方案之一。模型端用深度学习做图像分类几乎是目前的标准答案。传统图像处理方案比如基于颜色直方图、纹理特征加SVM分类虽然能跑但泛化能力弱面对不同光照、不同画风的脸谱图片时准确率波动很大。尤其是京剧脸谱这种“颜色鲜明、纹样复杂”的目标深度卷积网络对纹理特征的提取能力明显优于手工特征设计。界面端选PyQt而不是Web前端主要是考虑到三点第一PyQt是桌面应用方案展示效果直接答辩时演示不需要依赖浏览器和服务器打开就能跑环境问题少一半。第二PyQt的信号槽机制和Python语言的开发效率结合得很好一个做深度学习的学生不需要额外学一套前端框架就能把界面做得比较完整。第三PyQt在中文环境下的编码支持和控件丰富度都不错文件选择、图片预览、结果展示这些功能都有现成组件可用。1.3 项目技术栈全览我最终使用的技术组合如下深度学习框架PyTorch版本1.10以上配套torchvision模型结构ResNet18作为骨干网络替换最后的全连接层输出类别数为自定义分类数量界面框架PyQt5配合qdarkstyle做了深色主题视觉上比较像专业软件数据处理Pillow OpenCV负责图片读取、尺寸归一化、数据增强环境管理conda虚拟环境Python版本3.8推理部署直接加载训练好的.pth权重文件使用PyTorch的CPU推理模式注意如果电脑没有NVIDIA显卡也完全不影响这个项目的完成度。脸谱图片分辨率不高、类别数量有限CPU推理速度完全够用单张图片识别在0.5秒以内不会出现卡顿感影响了答辩演示。2. 数据集构建与预处理——这个项目的“隐形工作量”2.1 京剧脸谱数据的来源与采集策略数据是图像分类项目的命脉。我一开始以为找脸谱图片很简单毕竟京剧脸谱的图片网上一搜一大把但真正清洗下来才发现问题很多图片分辨率参差不齐、有水印的、有漫画风格的、有实物面具拍摄的、还有舞台剧照的混在一起直接训练模型会学出各种各样的奇怪特征。我的处理方式是分来源收集保证数据多样性来源一公开图像数据集平台上的京剧脸谱子集这部分图片质量相对干净作为基础数据来源二从公开的戏曲文化图库中整理出的经典脸谱图包含不同流派绘制的差异来源三手工拍摄的实体脸谱面具照片给模型增加真实场景下的噪声这里要特别提醒一点图片采集过程中一定要记录来源和授权情况。毕设虽然不商用但答辩时如果被问到数据来源你得能说清楚。另外最终成果展示页面上要标注图片来源这也是学术规范的一部分。2.2 数据清洗与标注流程拿到原始图片后清洗是第一优先级。我踩过的坑包括有些图片虽然叫“关羽脸谱”但实际内容是关公的全身剧照脸只占画面的一小部分还有的图片是多个脸谱的合影根本没法直接用于单分类训练。我的清洗规则是这样定的分辨率小于256×256的图片直接剔除因为放大后细节丢失严重模型学不到有效的纹样特征面部占比过小的图片剔除这个通过肉眼检查花了大概两个晚上分批看完重复图片去重用图片哈希算法算感知哈希值直接删掉重复项水印过于严重的图片剔除水印区域会影响卷积层提取特征标注方面我采用“文件夹即标签”的方式每个类别的图片放在对应目录下用脚本自动生成CSV格式的标注文件包含图片路径和类别ID两列。这样既简单又不容易出错比手动写标注文件效率高一个量级。经验标注是枯燥活但千万别交给脚本自动猜。脸谱类别之间的差异很细微比如同样以黑色为主色调的脸谱可能一个是张飞一个是项羽最稳妥的办法是分类目录建立后每个目录随机抽查20张图确认没有混入错误样本。2.3 数据增强与样本均衡京剧脸谱数据集的类别不均衡问题非常明显。像关羽这种知名度极高的角色图片数量可能有200多张但一些偏门的谱式角色全部能搜到的干净图片可能就30~40张。如果不做处理模型会对高频类别过拟合低频类别几乎不学习。我的处理方案是组合拳对低频类别做过采样即重复加载样本同时配合数据增强做差异化变换使用torchvision的transforms做随机水平翻转、随机旋转±10度、随机亮度饱和度调整、随机裁剪缩放增加一个小技巧把图片转换为灰度图后和原图做一定比例的融合模拟不同年代老照片的色调差异最终数据规模大约在两千多张图单类最少的也有60张以上。对于毕设级别的人脸/脸谱分类这个规模已经够用。如果低于50张每类模型基本就很难收敛到理想效果这个时候就要考虑用迁移学习来弥补数据量不足的问题。3. 深度学习模型设计与训练3.1 模型选型为什么用ResNet18而不是自研CNN第二个高频问题就是“你为什么不自己设计一个网络结构”。我在答辩时被问到过这个问题的回答思路很重要。我的回答逻辑是毕设的核心目标是构建一个完整可用的识别系统模型结构应该优先选择已有充分验证的基础架构。自研CNN当然可以但如果没有足够的实验验证很难说明你设计的网络为什么有效。选择ResNet18的理由集中在两点残差结构解决了深层网络梯度消失问题在数据量不算非常大的情况下也能训得动模型参数量约1100万左右CPU推理仍然可以接受不会像ResNet50那样在答辩演示时明显卡顿如果你想展示自己的工作增量可以在ResNet18的基础上做两点调整一个是在每个残差块的输出后增加一个轻量级的注意力模块另一个是把最后的全局平均池化改成注意力池化。这样做既能保留主干网络的稳定性又能讲出“我做了改进”的故事。3.2 训练参数设置与调优过程下面是我实际使用的训练配置不一定是最优解但整个过程比较顺import torch from torchvision import models, transforms from torch.utils.data import DataLoader, Dataset device torch.device(cuda if torch.cuda.is_available() else cpu) model models.resnet18(weightsmodels.ResNet18_Weights.IMAGENET1K_V1) # 替换最后的全连接层假设有 num_classes 个类别 model.fc torch.nn.Linear(model.fc.in_features, num_classes) model model.to(device)优化器我用了SGD初始学习率0.001动量0.9权重衰减1e-4。很多人习惯直接用Adam但迁移学习场景下SGD配合较小的学习率往往收敛更稳这是我反复实验后的体感。学习率调度用的StepLR每10个epoch衰减为原来的0.1倍总共训练50轮。训练时设置了早停机制监控验证集准确率连续8个epoch不上升就停止。实际训练中大约在第30轮左右达到稳定状态验证集准确率在92%到95%之间浮动具体数值取决于测试集的划分比例。3.3 模型评估与效果对比评估部分不能只给一个准确率就算完事我做了三层的评估体系混淆矩阵重点看哪些类别之间容易互相混淆比如红脸类和紫红脸类的边界处于模糊地带这在纹理上确实有相似性单类别精确率和召回率找出模型表现最差的3个类别分析原因通常是因为这些类别的图像风格差异过大模型没有学到统一的特征推理耗时统计分别统计CPU和GPU环境下单张图片的平均耗时便于答辩时展示系统的实用性为了体现对比分析我还加了两个对照实验一个是不做任何数据增强直接训练验证集准确率约81%明显低于增强后的95%另一个是用浅层三层卷积网络训练准确率约76%。这些对比数据比任何口头描述都有说服力答辩老师看PPT看到这个对比表基本就会点头。4. PyQt界面开发与系统集成4.1 界面框架设计与模块划分界面部分不能做成“一个窗口加一个按钮”这种敷衍形态。我在动手之前先画了简单的模块图把系统拆成四个区域左侧图片选择区支持单张选择、批量选择、以及摄像头截图三种输入方式中间图片显示区展示原始图片和预处理后的图片方便对比观察右侧识别结果区显示预测类别、置信度得分以及该类别的文字介绍底部历史记录区保存每一次识别记录支持导出CSV这四个区域通过PyQt的布局管理器排列窗口大小调整时控件能自适应缩放。整体风格用QSS样式表做了一套深色主题配色上参考了传统戏曲脸谱的红黑金元素让UI风格贴合项目主题。4.2 核心功能实现图片识别与实时预览识别流程是用户点击选择图片按钮 - QFileDialog打开文件浏览器 - 选定图片后通过QPixmap显示原图 - 点击识别按钮 - 图片经过预处理 - 模型推理 - 结果展示。这里有一个容易被忽略的细节QPixmap显示的是原始任意尺寸的图片但模型输入要求固定尺寸我是224×224。两者之间需要一个统一的转换层把待识别图片缩放到224×224的RGB输入张量同时不要破坏原始显示图片的宽高比。如果你直接对原始图片做resize然后显示脸谱会被拉变形看起来非常不专业。我的做法是原图用Qt的setScaledContents配合等比例缩放显示推理时单独走一份预处理管线。from PyQt5.QtWidgets import QFileDialog, QLabel from PyQt5.QtGui import QPixmap import cv2 import numpy as np import torch from torchvision import transforms def on_select_image(self): path, _ QFileDialog.getOpenFileName(self, 选择图片, , 图片文件 (*.jpg *.png *.jpeg *.bmp)) if not path: return self.current_path path pixmap QPixmap(path) # 等比例缩放到显示区域 scaled pixmap.scaled( self.label_image.size(), Qt.KeepAspectRatio, Qt.SmoothTransformation ) self.label_image.setPixmap(scaled) def on_predict(self): if not hasattr(self, current_path): return img cv2.imread(self.current_path) img cv2.cvtColor(img, cv2.COLOR_BGR2RGB) img cv2.resize(img, (224, 224)) img transforms.ToTensor()(img).unsqueeze(0) # 归一化均值和方差与训练时保持一致 mean torch.tensor([0.485, 0.456, 0.406]).view(1, 3, 1, 1) std torch.tensor([0.229, 0.224, 0.225]).view(1, 3, 1, 1) img (img - mean) / std self.model.eval() with torch.no_grad(): outputs self.model(img) probabilities torch.nn.functional.softmax(outputs, dim1) confidence, predicted torch.max(probabilities, 1) # 更新界面显示 self.label_result.setText(f预测类别{self.classes[predicted.item()]}) self.label_confidence.setText(f置信度{confidence.item() * 100:.2f}%)4.3 模型加载与推理优化模型加载放在界面初始化阶段完成不要在用户点按钮时才加载否则第一次点击会有明显的卡顿感。具体做法是在MainWindow的构造函数里调用load_model方法把权重文件路径写死在配置文件里。推理优化方面有一个很实用的小技巧如果模型比较大、CPU推理略慢可以先转成TorchScript格式再加载。TorchScript在CPU上的推理速度通常有10%到20%的提升而且摆脱了对模型定义代码的强依赖部署更干净。转换代码很简单scripted_model torch.jit.script(model) scripted_model.save(face_recognition.pt)加载时直接torch.jit.load即可。不过注意如果你的模型里用了BatchNorm层转TorchScript前要确保模型处于eval()模式否则batch统计信息会被错误嵌入。5. 毕业答辩准备与高频问题应对5.1 答辩演示流程设计答辩时间通常只有10分钟左右演示流程必须提前设计好不能现场手忙脚乱。我的演示顺序是用一句话介绍项目背景京剧脸谱是传统文化符号识别系统有文化科普价值展示系统界面全貌让老师看到整体功能分区演示单张识别选一张有代表性的脸谱图预期准确率高、置信度高演示批量识别让老师看到系统能处理多张图片展示混淆矩阵和准确率曲线说明模型训练过程总结技术栈和未来改进方向其中第3步选图是关键建议提前准备三张标准测试图都是模型表现很好的样本确保演示效果稳定。千万别拿一张没见过的图现场赌模型识别率——虽然大概率没问题但万一翻车很尴尬。5.2 高频答辩问题与应答思路答辩老师最爱问的问题就那几个提前准备好答案现场就不慌。“你的数据从哪里来的”——回答来源构成和清洗流程强调数据多样性。“准确率多少怎么评估的”——给出验证集准确率和混淆矩阵分析如果老师再追问就补充说单类别的精确率召回率也做了统计。“为什么用ResNet18不用更大模型”——从数据规模、推理效率和效果三个角度回答核心逻辑是数据量有限时大模型容易过拟合CPU推理时大模型有性能损耗ResNet18的精度已经满足系统需求。“你的系统和现有方案比有什么优势”——不要踩已有系统而是强调“轻量化和易部署”在普通笔记本上就能跑不依赖GPU服务器。“未来怎么改进”——可以提两个方向一是引入更多类别的数据覆盖二是换成检测分类的两阶段模型以支持多人脸谱图让系统从图像分类升级为图像理解。5.3 项目亮点包装与改进方向给项目的“亮点”排序是很有必要的。我做这个项目时总结出的三个亮点是第一数据管线的完整性。从爬取清洗到增强划分形成了一套可复用的数据处理流程不只是一张训练集扔进模型完事。第二系统集成的完整度。界面、模型、历史记录管理、批量输出——形成了一个闭环系统而不是一个孤立的模型脚本。第三实验对比的说服力。设计了三组对照实验用数据证明了数据增强和模型结构选择的价值。改进方向如果你有精力可以加一个“实时视频识别”模块调用摄像头或用预录视频做逐帧识别这个功能答辩效果非常惊艳但工作量不小需要评估剩余时间是否充足。6. 踩坑记录与实操经验6.1 环境配置阶段踩过的坑我在配置环境时遇到过一个很典型的问题OpenCV在Python 3.9以上版本偶尔会出现import cv2报错的情况原因是对应的wheel包不兼容。解决办法是用conda安装opencv-python-headless版本或者降级Python版本到3.8。另一个常见坑是torch和torchvision版本不匹配导致torchvision.models里某些预训练权重加载失败。我的建议是尽量保持torch和torchvision版本完全一致使用pip install torch torchvision --index-url时看清楚配套关系。6.2 模型训练阶段的两个教训第一个教训是过早停止训练会漏掉精度提升。我前期用的是固定50个epoch但没加早停后来加了早停机制反而发现验证集准确率在35到40轮之间还会有一个小跳跃这通常是因为学习率衰减后模型进入了更细致的参数空间。第二个教训是测试集划分比例不能太小。我最早用的8:2划分测试集只有400多张图置信区间波动大每次评估结果都不稳定。改成7:2:1的train/val/test划分后评估结果稳定很多答辩时拿出的数字也更可信。6.3 PyQt与深度学习框架集成的坑PyQt加载模型推理时有个棘手问题如果模型加载和推理都在主线程跑界面会在推理期间“无响应”。虽然单张图片推理时间短看不出来但批量识别的时候就很明显窗口会卡住十几秒。解决办法是用QThread把推理任务放到子线程或者使用QApplication.processEvents()手动刷新事件循环。最简单的方案是QThread加信号槽子线程推理完成后发射一个信号主线程槽函数更新界面。from PyQt5.QtCore import QThread, pyqtSignal class InferenceThread(QThread): result_ready pyqtSignal(int, float) def __init__(self, model, image_tensor, classes, parentNone): super().__init__(parent) self.model model self.image_tensor image_tensor self.classes classes def run(self): self.model.eval() with torch.no_grad(): outputs self.model(self.image_tensor) probabilities torch.nn.functional.softmax(outputs, dim1) confidence, predicted torch.max(probabilities, 1) self.result_ready.emit(predicted.item(), confidence.item())在界面那边连接result_ready信号到更新方法即可。这个改动之后批量识别时窗口能保持流畅刷新用户的体验完全不一样。7. 一次完整的毕设收尾心得最后说点实际的体会。这个项目做完之后我最深的感受是毕设项目最重要的不是模型多先进而是形成闭环。数据能说清楚、模型能训练、界面能用、演示能跑、论文能写——这五步连贯起来项目就立住了。我个人在实际操作中有一个建议开发过程中随时截图和记录版本包括每个阶段的界面效果、训练曲线、某个bug的修复前后对比。这些材料后期写论文和做答辩PPT时都是很好的素材能省下大量重新回忆整理的时间。另外代码模块化一定要从第一天就坚持。我用的是简单但有效的分工dataset.py管数据加载train.py管训练流程inference.py管推理封装main_window.py管界面逻辑。答辩时如果老师要看代码这个结构一眼就能看懂比一堆混乱的函数强太多。再分享一个小技巧把整个项目的依赖导出成requirements.txt并且在文档里写明conda环境的创建命令。答辩环境随时可能换电脑提前把环境搭建说明写好能避免现场漏装依赖的尴尬。这个项目后期还可以扩展的方向不少比如加入语音播报脸谱角色介绍、接入知识图谱做人物关系展示、或者把模型换成更轻量的MobileNet系列拿到嵌入式设备上运行。但作为毕业设计先把当前这套系统打磨到无懈可击再考虑延伸才是正确的顺序。

相关新闻

基于OpenCV与Keras的实时手势识别系统全流程实践

基于OpenCV与Keras的实时手势识别系统全流程实践

简介:这套基于Python、OpenCV与Keras的实时手势识别系统源码,面向对计算机视觉感兴趣的初学者和AI应用开发者,尤其适合作为图像分类项目实践样板。项目整体识别准确率约96%,支持自行录制并扩充手势数据集,完整打通图像…

2026/10/19 13:34:40 阅读更多 →
RAG落地实战:从原理到避坑的完整指南

RAG落地实战:从原理到避坑的完整指南

这两年聊大模型应用,RAG(检索增强生成)这个词几乎绕不开。我先说句得罪人的实话:我见过太多团队把RAG做成"检索结果聊天记录一起塞进Prompt",上线之后用户问几个稍微刁钻的问题就原形毕露——答案看着一本正…

2026/10/19 13:34:40 阅读更多 →
AI技术底座与工程实践:从GPU训练集群到伦理边界

AI技术底座与工程实践:从GPU训练集群到伦理边界

1. 从算力预测说起:AI技术底座的迭代逻辑这两年,AI圈的每一次技术发布几乎都在印证同一个判断:算力基础设施的迭代速度,远比大多数人想象的更快。某全球头部芯片企业的掌舵者曾在多个场合给出过一个粗略但极具冲击力的预测——未来…

2026/10/19 13:34:40 阅读更多 →

最新新闻

软考软件设计师:程序设计语言基础与编译原理考点全梳理

软考软件设计师:程序设计语言基础与编译原理考点全梳理

软考软件设计师上午题一共75道选择题,涉及的知识面铺得非常广。很多人复习到“程序设计语言基础知识”这一章时,都会有同样的感觉:内容不难,但概念太细,编译原理相关的几个阶段总是看完就混,文法那四种类型…

2026/10/19 14:15:32 阅读更多 →
Node.js安装与npm环境配置:从版本选择到镜像加速全流程

Node.js安装与npm环境配置:从版本选择到镜像加速全流程

第一次接触Node.js的人,十个里有七个会倒在“装环境”这一步:官网上一堆版本号不知道选哪个,安装包下载完了一路点Next,最后在终端敲node -v却提示“不是内部或外部命令”。这篇文章就是专门解决这个问题的。我会从下载前的版本选…

2026/10/19 14:15:32 阅读更多 →
iSCSI网络存储详解:从块存储原理到生产环境调优与排障

iSCSI网络存储详解:从块存储原理到生产环境调优与排障

iSCSI这个词,只要做过服务器运维或者数据中心相关工作,应该都不陌生。它本质上是把SCSI存储协议封装到TCP/IP网络里传输,让远端主机像插着一块本地硬盘一样使用网络上的存储设备。说白了,就是用网线把存储空间“拉”到服务器上&am…

2026/10/19 14:15:32 阅读更多 →
4D-Animal:用密集线索与工具链从普通视频重建可动画3D动物模型

4D-Animal:用密集线索与工具链从普通视频重建可动画3D动物模型

视频里一只狗摇着尾巴转了个圈,随后小跑两步,头低下去嗅地面。这时候你手里只有这段普通素材,想要的是一个能在动画软件里旋转、换动作、甚至重新绑定到别的骨骼上的可动画3D狗。放在以前,绝大多数团队的第一反应是:先…

2026/10/19 14:15:32 阅读更多 →
商用车VCU硬件设计:从MPC5744原理图到量产避坑指南

商用车VCU硬件设计:从MPC5744原理图到量产避坑指南

简介:面向新能源整车控制器与嵌入式硬件开发者的VCU硬件设计资料,围绕NXP的MPC5744主控芯片,详解商用车量产整车控制器的硬件原理图与PCB设计,适合电控工程师、嵌入式开发者及车辆工程专业学生参考。压缩包共13个文件,…

2026/10/19 14:15:32 阅读更多 →
IEC 62619:2022工业锂电池安全标准详解:测试项与BMS功能安全

IEC 62619:2022工业锂电池安全标准详解:测试项与BMS功能安全

简介:IEC 62619:2022(第二版,2022年5月)是国际电工委员会发布的工业用二次锂电池与蓄电池安全要求标准,主要面向电池研发、制造、测试与工业设备集成等工程人员,为产品安全设计、性能验证和合规评估提供统一…

2026/10/19 14:14:30 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/19 10:02:04 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 9:10:22 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →