Python+CNN水果成熟度识别:深度学习图像分类实战解析
1. 为什么这个题目适合做毕设1.1 技术门槛与回报的平衡点“基于python-cnn深度学习识别水果是否成熟”——这个标题一眼看过去就是一个标准的图像二分类或多分类任务。但恰恰是这个看似“简单”的选题在毕设场景里几乎是性价比最高的选择之一。为什么这么说因为毕业设计和发论文、搞竞赛有本质区别它需要你在有限时间里完成一套包含数据、模型、训练、评估、演示的完整闭环同时要保证“能讲清楚、能复现、能回答问题”。如果选题太偏门比如某些小众医疗影像方向光是数据搜集就能耗掉一半时间如果太大众比如猫狗识别答辩时老师已经审美疲劳。而水果成熟度识别正好卡在一个很妙的位置——技术栈主流、数据可控、场景具体、有一定落地感还能在优化阶段玩出花样。从技术上看这个题目至少覆盖了深度学习入门者应该掌握的核心环节图像数据采集与标注数据集构建图像预处理与增强数据管线CNN模型的构建或迁移学习模型设计训练策略与超参数调节工程实践评估指标分析与可视化结果呈现每一个环节都可以在答辩时被问出细节也都能用大白话讲清楚原理。换句话说这个题目既能体现工作量又不会因为过度复杂导致你做不完。1.2 数据获取与标注的可行性很多深度学习毕设的崩溃点往往不是模型而是数据。我曾经见过有人选了“红外光谱识别茶叶等级”这种题目最后连传感器都借不到。还见过有人选了“医学影像分割”被数据保密协议卡了半个学期。水果成熟度识别在这方面的优势非常突出拍摄成本低手机就能采集图像不需要专业设备。对象是常见水果香蕉、苹果、番茄、芒果等超市和水果店就能买到不同成熟阶段样本。标注门槛低成熟度可以通过颜色、硬度、天数等肉眼可辨的标准来判断不需要专家知识。公开数据集也有不少现成选项比如各类果蔬分类数据集、番茄成熟度数据集等实在不想自己拍也能起步。当然“能用”不等于“效果好”。我自己实测过的经验是直接从网上下载的公开数据集通常存在背景杂乱、光照不统一、成熟阶段划分粗糙等问题直接拿来训练会让模型学到很多“与成熟度无关”的特征。所以数据环节的功夫不能省。1.3 应用价值和答辩加分点这个题目另一个讨巧之处在于它能自然地牵引出“应用场景”而一旦有应用场景答辩时的“为什么做这个”、“有什么价值”这些问题就有了具体答复。采摘机器人、农产品分级、智能货架管理、消费者端拍照识别的辅助决策这些真实场景都能和你的项目挂钩。哪怕只是做一个Demo级别的识别系统你也能给出清晰的应用链路。答辩时老师的提问通常会集中在三个方向数据怎么来的、模型为什么有效、效果不好时怎么排查。这三个方向恰好都是这个选题的自然延伸只要做扎实回答起来会非常顺畅。2. 数据准备模型效果的上限2.1 自采数据与公开数据集的选择在数据策略上我强烈建议“自采为主、公开数据集为辅”。原因很简单公开数据集虽然有量但与你定义的成熟度标准可能不完全一致。比如你想把“成熟”分成“未熟、半熟、成熟、过熟”四类而网上数据集可能只分了“未熟”和“熟”两类这就得重新筛选和标注反而更麻烦。自采数据的具体操作流程确定水果种类和成熟度分类标准。我建议首次做选单一水果比如香蕉。香蕉成熟度可以靠表皮颜色直观划分全绿为未熟微黄为半熟大面积变黄为成熟出现黑斑为过熟。固定拍摄条件。尽量在同一背景下拍摄使用白色或浅灰色纸板、桌面作为背景简化模型的学习难度。变换角度和距离。每颗果实拍35张角度略有变化覆盖不同形状、大小。每类图片数量建议不少于200张。四类就是800张起步加上数据增强可以撑起一个多类分类任务的基本盘。我见过不少同学一开始只拍了几十张就急着训练结果模型严重过拟合测试集准确率惨不忍睹。数据量这个小坑最好一开始就填平。如果你确实没有条件自采可以用公开数据集起步但一定要做一轮“清洗重标定”把不符合分类标准的图片删掉把“模糊边界”的样本单独处理。比如一张香蕉图片刚好处于“黄中带绿”靠自己肉眼都难判断这类样本可以归入相邻类别也可以直接剔除避免给模型制造无谓的噪声。2.2 图像预处理的细节规范数据准备好之后进入预处理环节。这里我给出一个我实测下来比较稳定的处理管线统一尺寸所有图片缩放到同一尺寸常见选择是224×224或227×227。这是为了适配预训练模型的输入尺寸如果你自己搭建CNN也可以选择96×96或128×128来减少计算量。像素归一化把像素值从[0,255]缩放到[0,1]或者按ImageNet均值和标准差做标准化。预训练模型如ResNet、VGG通常要求标准化到ImageNet的分布这一步一定不能省。格式统一统一将图片转为RGB三通道避免灰度图混入导致模型输入通道不一致。注意归一化不是“可选项”。如果不做标准化直接喂原始像素值模型的收敛速度会明显变慢损失曲线也会震荡得很厉害。这是新手最容易忽略的一个点。2.3 数据增强让小数据集也能撑起训练深度学习模型对数据量的胃口非常大而毕设场景下我们很难搞到几万张图。数据增强就是为了解决这个问题在不改变图片语义的前提下通过几何变换、颜色变换等方式人为制造“更多样本”。我建议使用的增强策略随机水平翻转概率0.5随机旋转范围±15度随机亮度调整范围0.8~1.2随机饱和度调整范围0.8~1.2随机裁剪裁剪后缩放到原尺寸这些操作既能保持“水果还在成熟度特征没变”又能让模型看到更丰富的形态变化从而提升泛化能力。但有一个关键心得增强的幅度不能过度。如果旋转角度超过30度水果已经完全“躺平”这在实际应用中没有意义如果亮度调得太夸张颜色失真反而会破坏成熟度判定的核心依据。合理范围宁小勿大。3. 技术选型模型怎么选3.1 CNN凭什么能识别水果成熟度在开始写代码之前最好先想明白一个问题为什么用CNN就能识别水果成熟度这不光是为了应付答辩也直接关系到模型设计的选择。CNN的核心逻辑是“从局部到全局”地提取特征。第一层卷积关注边缘、纹理第二层开始组合出颜色区块、形状轮廓更深的层则可以形成“这个概念性的特征”——比如“香蕉皮上是否分布有大面积黄色”。成熟度本质上是颜色、纹理、形态的综合表现而这些恰恰是CNN擅长的特征表达。具体到水果场景颜色信息尤其重要。不同成熟阶段的水果在HSV颜色空间中的分布有明显差异例如绿色区域占比、黄色区域占比、表皮是否有黑色斑点。CNN通过卷积核可以自动学到这些特征不需要你手工设计颜色规则这就是CNN比传统“颜色直方图分类器”方案省心的原因。不过也正因如此我在综述部分会很自然地用一个小节去对比传统方法与深度方法的优劣这既展示你对领域的理解又能引出你选CNN的理由。3.2 从零搭建与迁移学习的对比模型方案有两个大方向完全自己搭建一个CNN或者在预训练模型VGG16、ResNet18、ResNet50、MobileNet等基础上做迁移学习。从零搭建的好处是原理透明、参数量小、答辩时每个细节都能讲清楚——因为这网络是你自己设计的。坏处是效果通常弱一些需要精心调参才能达到可用水平。迁移学习的好处是效果好、收敛快——预训练模型已经在ImageNet上学到了大量通用视觉特征你只需要在它基础上微调就能拿不错的准确率。坏处是如果你对原理一知半解答辩时容易在“预训练权重为什么有效”这个问题上卡壳。我给的建议是以从零搭建为主如果时间充裕再附加一个迁移学习对比实验。这样做的好处是“对比”本身就是一个亮点。你可以说我设计了一个轻量CNN准确率约X%再尝试了ResNet50迁移学习准确率约Y%分析了两种方案的优劣势。这比单一模型要丰富得多。我自己常用的轻量CNN结构供参考Conv2D(32, kernel3, activationrelu) -- MaxPooling2D Conv2D(64, kernel3, activationrelu) -- MaxPooling2D Conv2D(128, kernel3, activationrelu) -- MaxPooling2D Flatten -- Dense(256, activationrelu) -- Dropout(0.5) Dense(num_classes, activationsoftmax)这个结构只有三层卷积参数量不大CPU上也能训练非常适合毕设起步。3.3 关键训练参数怎么定在动手训练前有几个参数需要提前定下来否则训练过程会非常痛苦。批次大小Batch Size选16或32比较常见。批量太大容易显存不足批量太小梯度震荡严重。学习率Learning Rate建议初始设置为0.001Adam优化器常用然后配合学习率衰减策略。训练轮数Epochs不需要提前死定可以设一个上限比如50轮配合早停策略Early Stopping当验证集准确率连续多轮不再提升时就自动停止。优化器Adam是主流选择自适应学习率新手友好。注意不要把学习率设成0.1这种偏大的值我在调试中见过很多次训练一两轮损失直接爆掉后面再怎么调都救不回来。保守起步从0.001开始然后再按验证集表现去微调。4. 实操过程训练一个能用的成熟度识别模型4.1 环境搭建与工具链说干就干。环境方面我推荐直接用Anaconda建一个独立虚拟环境避免把本机Python环境搞乱。核心依赖就这么几个Python 3.8或3.9都可以TensorFlow 2.x 或 PyTorch 1.x两者任选NumPy、Pillow、Matplotlib画损失曲线、混淆矩阵用TensorFlow和PyTorch怎么选主要看你的熟悉程度。如果课程学过PyTorch就选PyTorch如果是第一次接触深度学习TensorFlow的Keras高层API更友好。我这次以TensorFlow/Keras为示例来写因为它的代码量更少、更容易出效果。安装命令很简单pip install tensorflow pip install numpy pillow matplotlib如果是NVIDIA显卡用户记得装对应版本的CUDA和cuDNN然后安装tensorflow-gpu新版TensorFlow已默认支持GPU。没有显卡也没关系这个项目用CPU训练也能在几十分钟到几小时内跑完。4.2 数据划分与代码骨架数据准备好后按类别放入文件夹目录结构大致如下data/ train/ unripe/ half/ mature/ overripe/ val/ unripe/ half/ mature/ overripe/ test/ unripe/ half/ mature/ overripe/训练集、验证集、测试集的比例我建议8:1:1注意分文件夹时要确保每类数据都按同样比例拆分不要搞成随机乱分。训练集负责学习验证集负责调参测试集负责最终效果评估——三者的数据不能有任何交叉否则评估结果会虚高。Keras加载数据非常方便用ImageDataGenerator就能搞定from tensorflow.keras.preprocessing.image import ImageDataGenerator train_datagen ImageDataGenerator( rescale1./255, rotation_range15, horizontal_flipTrue, brightness_range(0.8, 1.2) ) val_datagen ImageDataGenerator(rescale1./255) train_generator train_datagen.flow_from_directory( data/train, target_size(224, 224), batch_size16, class_modecategorical ) val_generator val_datagen.flow_from_directory( data/val, target_size(224, 224), batch_size16, class_modecategorical )flow_from_directory会自动扫描子文件夹名作为类别标签并按字母序映射到0、1、2、3。文件夹起名时要规范化比如unripe, half, mature, overripe这样映射关系一目了然。4.3 训练中的观察指标与调参策略模型构建好后就可以开始训练了。训练过程中我习惯同时监控两个指标训练集准确率和验证集准确率。如果两者同步上升说明模型正在正常学习如果训练集准确率接近100%而验证集准确率停滞在70%以下说明过拟合了这时应该增加数据增强强度、加大Dropout比例或者提前停止训练。一个很实用的做法是把训练过程可视化。每一轮结束后记录loss和val_loss训练完用Matplotlib画出来一张“双曲线图”如果呈现“训练损失下降、验证损失下降、然后验证损失回升”的形态这根“回升点”就是最佳停止轮数。我附一个最简单的模型训练代码框架from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense, Dropout from tensorflow.keras.optimizers import Adam model Sequential([ Conv2D(32, (3,3), activationrelu, input_shape(224,224,3)), MaxPooling2D(2,2), Conv2D(64, (3,3), activationrelu), MaxPooling2D(2,2), Conv2D(128, (3,3), activationrelu), MaxPooling2D(2,2), Flatten(), Dense(256, activationrelu), Dropout(0.5), Dense(4, activationsoftmax) ]) model.compile( optimizerAdam(learning_rate0.001), losscategorical_crossentropy, metrics[accuracy] ) history model.fit( train_generator, steps_per_epochtrain_generator.samples // 16, validation_dataval_generator, validation_stepsval_generator.samples // 16, epochs30 )训练完成后用测试集评估test_generator val_datagen.flow_from_directory( data/test, target_size(224, 224), batch_size16, class_modecategorical, shuffleFalse ) model.evaluate(test_generator)5. 训练中的常见问题与排查技巧5.1 过拟合排查实录过拟合是果蔬分类项目里最常遇到的问题。典型表现是训练集准确率一路冲到95%以上验证集准确率却始终在70%左右徘徊。我踩过的坑和对应的解法整理成了一张速查表表现可能原因排查方向训练集准、验证集差图片太少模型把训练集背下来了增加数据量 / 数据增强训练和验证都差模型结构太简单特征提取不够加深网络 / 换预训练模型验证集波动剧烈批次太小或验证集图片太少加大batch size / 增加验证集样本损失忽高忽低学习率偏大降低学习率所有类别准确率不均衡各类别样本数量差异大做类平衡增加少数类样本我自己最喜欢用的过拟合杀手就是“DropoutEarlyStopping”组合。Dropout让模型不能依赖某几个特定神经元迫使它学到更鲁棒的特征EarlyStopping让模型在验证集不再变好时及时收手既不浪费时间也不让模型在后期被噪声带偏。5.2 训练不收敛或精度上不去怎么办如果你的模型损失不下降或者准确率一直在某个水平徘徊我建议按以下顺序排查检查数据管线是否正常。先可视化几张增强后的图片确认标签和图片内容是对应的。检查类别平衡情况。如果某一类图片特别少模型会倾向于全部预测成多数类准确率看似还行实际是虚假繁荣。检查模型最后一层和损失函数是否匹配。多分类问题用softmax加categorical_crossentropy如果标签是二进制文件也可能要用binary_crossentropy配不齐就训练不出来。尝试先在小数据子集上过拟合。取几十张图片训练几个轮次如果训练集准确率能到100%说明模型有学习能力如果连训练集都学不动说明模型结构或训练参数有问题这个方法能快速定位。这个“先过拟合、再泛化”的调试思路是我屡试不爽的绝招。它可以帮你在几分钟内分清“模型太弱”和“数据太乱”两种截然不同的原因。5.3 效果展示的封装技巧训练只是个中间过程毕设最后要的是“能演示”。我强烈建议做一个简单的GUI界面或命令行工具让老师能拖一张图进去立刻显示识别结果和置信度。如果时间紧张用tkinter做个最简单的窗口就行如果会一点Web开发用Flask搭个本地网页更漂亮。核心代码就一行from tensorflow.keras.models import load_model from tensorflow.keras.preprocessing.image import load_img, img_to_array import numpy as np model load_model(fruit_maturity_model.h5) def predict_image(path): img load_img(path, target_size(224, 224)) img img_to_array(img) / 255.0 img np.expand_dims(img, axis0) pred model.predict(img)[0] class_names [unripe, half, mature, overripe] result class_names[np.argmax(pred)] confidence float(np.max(pred)) return result, confidence这个封装代码不复杂但它能让汇报从“我说模型准确率95%”变成“现场拖一张图3秒出结果”效果不是一个层级。6. 答辩与扩展让毕设更出彩6.1 答辩演示的加分细节训练模型只是流程的一半另一半是演示。我见过不少同学模型跑得挺好但汇报时说不出“为什么有效”这是答辩丢分的主要场景。我的建议是准备三张图、两张表一张训练曲线图loss和val_loss双曲线一张混淆矩阵图展示每个类别的分类准确度和易混淆情况一张测试集示例图展示预测正确和预测错误的典型案例混淆矩阵尤其重要。它可以揭示一个非常具有“研究价值”的点比如“半熟”和“成熟”两类经常混淆因为二者的颜色过渡本身就存在模糊地带。你可以结合样本图分析原因这种“发现问题、分析问题”的过程是答辩老师最吃的一套。预测错误的案例也要准备。不要只放正确的图错误案例更能体现你对自己系统的理解深度。比如某张“过熟”香蕉被识别成“成熟”你可以分析“这张图的黑斑面积较小与成熟期特征更接近模型置信度也仅为51%说明类别边界处的样本仍是挑战。”这类分析比任何空洞的“准确率高”都有说服力。6.2 后续扩展方向从分类走向升级毕设做完之后如果还想继续深化有几个自然延伸的方向值得考虑多水果种类从单一水果扩展到香蕉、苹果、番茄的混合数据集训练一个多类别多成熟度的联合模型。成熟度评分回归不设固定类别改用回归模型直接预测成熟度分值比如0到1的连续值同时给出阶段标签。轻量化部署用MobileNet或模型剪枝技术压缩模型尝试部署到手机端或边缘设备上这一步能为系统带来更强的实用感。关键区域定位使用热力图技术如Grad-CAM可视化模型关注区域验证模型到底在看果柄还是果皮能让你的分析深度提升一个档次。我个人觉得哪怕只做到“分类混淆矩阵分析”这一步这个毕设已经足够完整如果能把热力图或部署demo加上那就是妥妥的加分项。但切记不要为了扩展而扩展核心功能稳定是第一位的。最后再分享一个我踩过多次坑才明白的小技巧整个项目过程务必保留训练日志和每次实验的配置记录包括学习率、数据增强参数、网络结构、最终准确率。答辩老师只要问“你试过哪些方案、效果如何对比”你掏出一个记录表就能从容作答。这种细节比临时背书的效果好得多。

相关新闻

本地AI数据处理Agent:零配置千万行分析实战

本地AI数据处理Agent:零配置千万行分析实战

1. 这不是“AI写SQL”,而是本地数据处理工作流的彻底重构你有没有过这样的时刻:凌晨两点,盯着屏幕上卡死的Excel表格发呆,里面是某业务部门甩过来的230万行销售明细,字段名全是拼音缩写,时间格式混着ISO、中…

2026/10/19 14:37:45 阅读更多 →
JCenter停维别慌:Gradle仓库迁移完整方案

JCenter停维别慌:Gradle仓库迁移完整方案

1. 停维消息怎么解读,先别急着动手 JCenter远程仓库停止维护,这事在开发者群体里炸锅已经不是一天两天了。如果你还在用Gradle构建Android或Java项目, jcenter() 这行配置大概率出现在你的构建脚本里。看到官方公告,很多人第一反…

2026/10/19 14:37:45 阅读更多 →
Teemii + cpolar 搭建随身私人漫画库:自托管与内网穿透实践

Teemii + cpolar 搭建随身私人漫画库:自托管与内网穿透实践

不用纠结“漫荒”这个词是不是听着有点老二次元。我自己的收藏习惯是——本地硬盘里堆着几百G从各种渠道整理来的漫画文件,包括多年攒的 CBZ、CBR、PDF,还有按作者分好的目录。以前每次想翻一本,都得先开电脑、挂载磁盘、找合适的阅读器&…

2026/10/19 14:37:45 阅读更多 →

最新新闻

开源式代码审查:CLI+本地LLM+Git Diff的自动化实践

开源式代码审查:CLI+本地LLM+Git Diff的自动化实践

1. 这不是另一个“AI代码审查工具”,而是一套可落地的开源协作新范式“open-code-review”这五个字母组合,最近在工程师茶水间、技术 Slack 频道和 GitHub Trending 页面上出现频率陡增。它不指向某个具体 SaaS 服务,也不是某家大厂刚发布的闭…

2026/10/19 16:10:58 阅读更多 →
计算机网络期末备考:TCP可靠传输、子网划分与路由协议核心考点解析

计算机网络期末备考:TCP可靠传输、子网划分与路由协议核心考点解析

1. 考前避坑:先说清楚这门课到底考什么这几天后台收到不少私信,清一色都在问“深大计网慕课期末有没有答案”“某某章的题会不会原题考”。说实话,问答案的人多,但真正把课听完、把实验做完的人,反而没几个。我扒过好几…

2026/10/19 16:10:58 阅读更多 →
Java开发者接入大模型实战:JBoltAI基础能力层核心模块解析

Java开发者接入大模型实战:JBoltAI基础能力层核心模块解析

不要让 Java 开发者继续当 AI 时代的旁观者。过去这两年,大模型相关的技术几乎被 Python 生态垄断,做 AI 项目绕不开 Python、PyTorch、LangChain 这一套。但很多团队的核心资产和业务系统都是 Java 写的,尤其是金融、电商、政企这些对稳定性…

2026/10/19 16:10:58 阅读更多 →
文件上传漏洞攻防实战:绕过手法与防御加固指南

文件上传漏洞攻防实战:绕过手法与防御加固指南

文件上传,这四个字在Web安全测试里几乎每次深度审计都绕不开。我最近把一套开源的Web漏洞靶场(项目名就叫iwebsec)里的文件上传专题完整过了一遍,从最基础的前端限制到后面的内容检测、解析差异、条件竞争,一层层打下来…

2026/10/19 16:10:58 阅读更多 →
spaCy中文命名实体识别实战:从模型选型到自定义训练与部署

spaCy中文命名实体识别实战:从模型选型到自定义训练与部署

1. 为什么中文命名实体识别我选了 spaCy先交代一下背景。我前阵子接了个文本挖掘的活,要在一批中文资讯里把人名、机构名、地点、时间这些实体抽出来,喂给下游的关联分析。刚开始我没多想,直接拿现成的一套分词工具加规则去搞,结果…

2026/10/19 16:10:58 阅读更多 →
JDBC进阶实战:连接池、事务与批处理的核心原理与工程实践

JDBC进阶实战:连接池、事务与批处理的核心原理与工程实践

看到标题里那个"2",你应该知道这是个延续篇。上一篇我们把手搭在JDBC的门把手上,学会了加载驱动、建立连接、执行一条SQL、把ResultSet里的数据一行行捞出来,最后像个好学生一样把资源一个个close掉。那是入门,是"…

2026/10/19 16:09:56 阅读更多 →

日新闻

频率跟踪型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 阅读更多 →