包含关键字 typecho 的文章

业务方问"能不能把登录 IP 定位到街道、锁定到某个园区"时,风控侧得先把话说清楚:只靠 IP,很难稳定命中街道;更不可能把小区或楼栋当成可承诺能力。 很多团队踩过同一个坑——拿到带经纬度的结果就当精确坐标用,上线后发现误伤一大片。

为什么单靠 IP 很难稳定到街道级定位

IP 在网络侧代表的是"出口",不是"终端"。理解这一点,就能解释大部分偏差来源。

动态分配会让同一 IP 在不同时间映射到不同区域,今天查到的归属地明天可能就变了。NAT 与共享出口(移动网、校园网、企业专线)会让大量用户共享同一出口 IP,制造"假聚集"——你看到同街道的密集登录,实际只是同一个出口。

IDC/云/托管场景下,你定位到的是机房地址,和用户真实位置无关。遇到专线网络或中转通道,地理信息被刻意改写,再追街道就失去意义。风控真正该做的不是"更准的街道",而是识别这些场景并把偏差变成可解释的信号。

验收指标:命中率不够,还得看分桶

供应商给一个"街道命中率 90%+"对风控没有意义,除非同时讲清:覆盖了哪些网络形态、错的时候偏到哪里、有没有置信度。

验收时至少要四个维度:覆盖率(能返回到要求粒度的比例)、命中率(在定义粒度上判对的比例)、置信度或质量字段(没有至少提供网络类型标签做替代)、误差表达(经纬度必须带误差半径,用 P50/P90 呈现长尾)。

分桶是底线:按运营商、网络类型(移动/宽带/IDC/校园/企业)、是否中转通道/CDN/云、IPv4 vs IPv6 分别出分布。不分桶的结论不能上线。

落地方式:字段组合优于单一街道名

想获得"接近街道级"的业务效果,正确做法是验收并使用增强字段组合,而不是追更细的行政区划文本。核心字段集:归属地(国家/省/市/区县,街道仅参考)、ASN 与运营商、组织归属与机房标识、网络类型、中转通道识别、置信度或误差半径、风险标签。

策略上要明确降级规则:命中中转通道/机房/CDN 出口时,不输出街道结论,改输出出口类型与风险解释;移动网络对街道级变化降权,但对跨省跨国变化仍可加权;宽带且非共享出口时,区县级更稳定,可作为更强信号。

做聚集识别时,用同 ASN + 同组织 + 同网络形态替代同街道,避免把正常企业或校园出口误判为风险产业链。在实际项目中,一些团队会接入类似 IP数据云 的工具来获取这套增强字段组合,把定位偏差变成可解释的风控特征。https://www.ipdatacloud.com/?utm-source=zzx&utm-keyword=?4619

街道级IP定位

想要接近“街道级IP定位”,三条红线与明确拒绝

选型时有三条可以直接写进验收条件的红线:经纬度不带误差半径/置信度,不允许被产品侧展示为精确位置;无法识别机房/中转通道/出口类型,就别谈街道级;不提供更新频率与变更机制说明,历史回溯不可控。

遇到以下需求,建议直接把 街道级IP 定位判为不满足:要锁定楼栋或门牌并可举证(IP 只能提供线索,不能当证据)、要可审计回溯的证据链、用户端可授权定位但仍要求 IP 给强结论。

总结

单靠 IP 归属地,稳定上限通常在省市或区县。所谓"街道级"多为近似行政区划或坐标包装,不能承诺园区或楼栋。想要接近街道级IP定位的风控效果,靠的是增强字段组合与降级规则,而不是更细的地址文本。该追强定位信号(GPS、基站、Wi‑Fi)的时候别犹豫,把 IP 留在初筛与线索层更安全。

🚀 全天限定时段 0 费率,Claude & Codex 限定模型,免费爽用!

🧠 用户数据不存储,隐私安全拉满!支持开票!

💰 充值比例 1 人民币 = 1 美刀,9 块 9 即享 5.5M Token!

注册地址 👉 https://bestaigate.top/register


🔥 Anthropic 官方满血 cc-max 上线!支持 Opus-4-7 Thinking !

😆 cc-max 量大血纯,欢迎企业级 & 上下游对接支持开票

开票 & 对接请 call 👉 https://t.me/EvanLi666

https://i.imgur.com/xDhOCW0.png

中国算力规模已跃居全球第二,数据中心建设如火如荼。然而,一个不容忽视的现实是:算力在增长,效率却未必同步提升。
传统模式下,重算力应用(如三维GIS可视化、工业仿真、专业图形渲染)需要部署高性能本地终端。一台专业图形工作站售价动辄数万元,企业需为每个业务岗位配置硬件,同时承担设备折旧、运维更新、安全管理等隐性成本。更棘手的是,数据在本地流转面临泄露风险,成为金融、医疗、政务等高敏感行业的核心痛点。

一边是绿色电力被转化为算力,一边是大量算力被消耗在低效的本地计算与数据流转中。绿色算力的价值,不应止于"够用",更应追求"用好"。

一、实时云渲染:克服企业算力困境

点量云流实时云渲染,成为克服这一困境的关键。其技术逻辑简洁而高效:将重算力任务集中到云端服务器处理,应用以虚拟化方式运行,结果以视频流形式推送至用户终端。终端设备不再承担计算压力,一台普通电脑、平板、手机、VR眼镜等轻终端设备,甚至一块工业显示屏,通过Web端的一个链接,都能流畅运行需要高端显卡的专业软件。

这意味着什么?
1、算力集约化利用。超大型的云计算中心可以部署在绿电资源富集地区,让绿电直接驱动高性能计算,实现"业务在北京,大脑在草原"的运行模式。据测算,同样的绿电,在高效云端集群中创造的价值可达分散式终端的数倍乃至数十倍。

2、数据安全本质性保障。点量云流实时云渲染可以实现数据始终留在云端,终端只接收视频流——这是真正的"数据不出云"。配合零信任网络架构与多重加密防护,彻底杜绝本地数据泄露风险,满足高敏感行业的安全合规要求。

3、体验无损。不同于传统远程桌面的画质压缩和WebGL的页面延迟加载等现象,点量云流在推流的过程中,支持4K分辨率、60fps流畅帧率,操作延迟控制在30ms以内,实现真正的实时交互体验。用户无需改变操作习惯,却能获得超越本地终端的性能体验。

二、三大价值:降成本、高安全、强交互

云渲染技术的价值,可以用三个关键词概括:降本、安全、交互。
1、降成本:企业无需为每个岗位配置高端图形工作站,普通办公电脑即可流畅运行专业三维应用。以100人团队为例,传统模式需投入约300万元购置图形工作站,云渲染模式下仅需服务器投入约80万元,硬件成本降低70%以上。

2、高安全:核心业务数据始终保留在云端受控区域,终端只接收加密视频流。用户无法从客户端提取任何业务数据,从根本上杜绝数据泄露风险,满足网络安全等级保护要求。

3、强交互:支持4K分辨率、60fps流畅帧率,操作延迟控制在30ms以内,达到视觉无损、实时交互的专业体验。与传统远程桌面相比,画面清晰度提升3倍以上,延迟降低50%。

“数据不出云,画面流到端,操作不复杂,算力弹性扩。”这四句话,是点量云流对绿色算力时代的一份答卷。

三、实时云渲染:长效技术革新发展

实时云渲染技术正处于快速发展期,未来将在以下几个方向持续演进:
1、更低延迟,更高画质。随着5G网络的普及和边缘计算节点的部署,端到端延迟已从从目前的30ms进一步降至局域网10ms以内,达到人眼无感知的实时交互水平。同时,AV1等新一代视频编码技术的应用,将在同等带宽下实现更高画质,为8K分辨率、120fps高帧率应用铺平道路。

2、AI深度融合探讨。人工智能正在重塑云渲染的技术栈。AI超分辨率技术可以在低带宽环境下呈现高清画面,AI预测编码可以降低传输延迟,AI调度算法可以优化资源分配。点量云流正在将AI能力融入产品内核,为用户提供更智能的渲染体验。

3、应用场景持续拓展。从电力行业的升压站三维巡检、GIS可视化,到工业制造的设计协同、仿真培训,再到医疗影像、智慧城市、数字孪生等领域,实时云渲染正在成为各行业数字化转型的底层基础设施。未来,任何需要高性能图形计算的场景,都将是云渲染的潜在应用领域。

4、与绿色电力协同发展。实时云渲染的集中化架构天然适配绿色电力的分布特点。随着相关战略推进,实时云渲染将成为连接绿色电力与数字价值的重要纽带——让每一度绿电创造更大的数字价值。

点量云流将持续深耕实时云渲染领域,以技术创新驱动产品迭代,以场景实践积累行业经验,为客户创造长期价值。

让高性能三维应用触手可及,让绿色算力价值倍增。点量云流实时云渲染,期待与您同行!

在日常的网站运维中,我们早已习惯了通过域名访问网站——输入网址,浏览器地址栏自动出现小锁和HTTPS,一切顺理成章。但你可曾遇到过这样的场景:工厂的监控摄像头需要通过IP地址远程管理、内网的OA系统只能用IP登录、物联网设备通过公网IP直连传输数据……这些“无域名”的场景,该如何实现HTTPS加密?答案便是IP SSL证书——专为IP地址服务的SSL证书。

一、核心原理:SAN扩展与iPAddress类型

传统的SSL/TLS证书将域名作为身份标识,浏览器访问时验证证书中的Common Name或Subject Alternative Name字段是否与访问地址匹配。为IP地址签发证书,实际上是在证书的SAN(主体别名)扩展中使用iPAddress类型——而非通常用于域名的dNSName类型。

具体而言,当客户端通过https://浏览器地址栏输入IP直接访问时,Web服务器返回的TLS证书会在SAN字段中列出受保护的IP地址列表。根据RFC 5280标准,IP地址必须填入iPAddress条目,浏览器验证时会检查访问的目标IP是否在此列表中,匹配成功方可建立信任连接。这一整套验证逻辑,使得纯IP访问也能获得与域名HTTPS同等级别的加密与身份认证保障。

二、前置条件:IP本身必须“可信”

与域名证书不同,IP证书对申请主体有着更为特殊的要求。在正式申请之前,请务必确认两项核心条件:

  1. 必须是静态公网IP地址:申请SSL证书的IP必须是互联网上唯一的、可访问的公网IPv4或IPv6地址。内网IP(如192.168.x.x、10.x.x.x)及动态分配IP无法获得公共信任的证书。
  2. 具备服务器控制权:必须在证书验证期间确保该IP的80或443端口能从外网临时访问,以便CA机构通过特定验证请求确认控制权。

三、主流实现方案与选型建议

IP地址实现HTTPS访问主要有两类路径,企业可根据实际场景灵活选择:

① 私有PKI方案——适合纯内部网络环境。通过OpenSSL等工具自主部署根CA,为内部IP签发证书,需将根证书预置到所有客户端方可生效。

② 权威CA付费证书——当前主流商业选择。JoySSL、Sectigo、等国际权威CA机构均支持IP证书签发,分DV型和OV型两类。其中OV型IP证书不仅验证IP控制权,还会核实企业资质并显示公司名称,验证周期通常为1-3个工作日。

申请办法:打开JoySSL官网,注册时填写注册码230970,获取技术支持跟大额优惠。

四、部署关键点与兼容性考量

IP证书部署至Web服务器时需注意:CSR中的Common Name须填写IP地址(IPv6含完整冒号格式);Nginx/Apache配置中应绑定server_name为IP而非域名;需确保完整证书链(终端证书+中间证书)被正确引入。在兼容性方面,Chrome 124+、Firefox 122+、iOS 17+及Android 14+等现代主流客户端均支持iPAddress SAN类型的证书,但旧版Windows 8.1及以下系统存在少量兼容问题,若需覆盖老旧环境可考虑将IP填入Common Name字段作为补救措施。

五、总结

IP SSL证书并非要替代域名证书,而是精准填补“无域名场景”的加密空白。从内网ERP系统到工业物联网设备,从临时测试平台到特殊合规要求场景,IP SSL证书正在成为越来越多企业保障数据传输安全的刚性选择。企业在选型时,建议从业务场景、IP稳定性、预算水平及运维能力四个维度综合权衡,选择合适的证书类型与部署方案,真正实现IP地址的HTTPS安全访问。

数据架构这个词听起来高大上,说白了就是企业怎么管数据的路线图。很多公司数据用不起来,不是技术不行,而是架构没理清。 业务系统各自为政,数据存得五花八门,做报表时才发现对不上,费时费力还出错。更糟的是,今天加个系统,明天改个需求,整个数据体系就要推倒重来。 其实问题根源在于没把数据架构的层次理清楚。如果能把数据从产生到应用的五个层次划分明白,每层该干啥、用啥技术、谁来负责都定好,数据管理就能有条不紊,需求来了也能从容应对。

所以今天这篇文章,咱们就把数据架构这五个层次掰开揉碎了讲清楚,帮你把数据管理这条路走顺。

一、数据源层

这是数据的起点,也是整个架构的原材料仓库。你的数据从哪来?无非这几个地方:

  • 业务系统产生的数据:比如ERP里的订单、CRM里的客户记录、财务系统的账目。这些是企业最核心的数据,每天都在大量生成。
  • 设备传感器数据:生产线上的温度、压力监测,或者物流车辆的GPS轨迹,这类数据实时性强,量也大。
  • 还有日志数据:用户点击网站的行为记录、APP的操作日志,这些埋点数据是分析用户行为的基础。
  • 外部采购的数据:比如行业报告、第三方征信数据,能补充内部数据的不足。

这一层的关键是搞清楚数据的家底。很多公司连有多少个业务系统、每个系统存了啥数据都说不清,后面做数据分析自然抓瞎。

建议先做个数据资产盘点,把数据源、更新频率、数据量级、负责人列个清单, 这是打基础的第一步。

image.png

二、数据存储层

数据进来了,存哪?这一层负责数据的长期保存和管理。不同类型的数据得用不同的存储技术,不能一刀切。

结构化数据,像订单、客户信息这种有固定格式的,一般存关系型数据库,比如MySQL、Oracle。这类数据库技术成熟,支持复杂查询,适合业务系统使用。半结构化数据,比如日志、JSON格式的用户行为数据,用文档数据库MongoDB更合适,它灵活,不用提前定义表结构。非结构化数据,像图片、视频、文档,得存对象存储或者分布式文件系统,比如HDFS。

实际场景中,企业通常会混合使用多种存储技术。 用户行为日志先存Kafka这类消息队列缓冲,再落到HDFS长期保存;业务数据放关系型数据库;报表结果存ClickHouse这类列式数据库,查询快。

存储层的设计要考虑数据量增长速度, 很多公司初期没规划好,数据量一上来就崩了,后期迁移成本高得吓人。

三、数据处理层

这是数据架构的厨房,原始数据在这里清洗、转换、加工成能用的样子。数据处理层的工作量最大,也最考验功力。

ETL是核心工作, 把数据从源系统抽取出来,清洗掉脏数据,转换成统一格式,最后加载到目标存储。比如用户注册时填写的地址,有的写北京市朝阳区,有的写北京朝阳,有的写BJ朝阳区,得统一成标准格式。数据清洗还包括处理缺失值、异常值,比如年龄字段出现了200岁,明显是错误数据。

image.png

四、数据服务层

数据加工好了,怎么给上层应用用?不能每个应用都直接连数据库查,那样数据库压力受不了,也不安全。数据服务层就是数据的快递站,把数据封装成服务,统一对外提供。

最常见的是RESTful API接口,前端应用调接口就能拿到JSON格式的数据。比如销售报表要展示本月销售额,前端不用直接查数据库,调个API就行。API还能做权限控制,不同角色看到不同数据。除了API,还有数据推送服务,把数据主动推给订阅方,适合做实时数据同步。

数据中台的概念也在这层体现,把常用的数据能力沉淀下来, 比如用户画像查询服务、商品推荐服务,业务部门直接调用,不用重复开发。数据服务层还要考虑性能,接口响应慢会影响用户体验,所以要有缓存机制,热点数据放Redis,减少数据库压力。

image.png

这一层是连接数据和业务的关键桥梁。 设计不好,前端开发会力竭,因为接口不稳定、数据不准、响应慢。建议先做接口规范,统一返回格式、错误码、版本管理,再监控接口性能,慢查询及时优化。

五、数据应用层

这是数据价值的最终体现,前面四层都是为这层服务。数据应用层直接面向业务用户,解决具体问题。

最常见的应用是BI报表,销售分析、财务分析、运营监控,把数据变成图表展示出来。现在不只是静态报表,交互式分析更受欢迎,用户可以自助拖拽维度,想看啥就看啥。数据可视化大屏也属于这层,挂在墙上实时监控业务指标,异常了标红报警。

高级点的应用是数据产品,比如个性化推荐系统、智能客服、风控系统。这些系统直接嵌入业务流程,数据能力变成了业务竞争力。还有移动端应用,领导在手机上就能看经营数据,随时随地做决策。

六、总结

说得通俗点,数据源层是起点,存储层是仓库,处理层是厨房,服务层是快递站,应用层则是餐桌。每一层都有自己的职责,不能互相混淆。这五个层次贯穿了数据从产生到应用的完整链路,是数据架构的核心框架。 我建议企业先梳理现有数据架构,看看五个层次是否都覆盖了,每层用啥技术,谁负责。再根据业务需求补短板,别盲目追新技术。要知道,数据架构并非一蹴而就,而是随着业务发展逐步演进的。但层次划分这个骨架,越早想清楚越好,不然数据越多越乱,最后想收拾都收拾不动。

技巧

codex额度重置不一样,Claude 直接给你账单清零了,等于你今天可以大用特用,明天早上 8 点又会刷新周额度.

  • 趁我睡觉,手机告警了,凌晨1:06左右提前刷新的
  • 还是用少了,别省着,省就亏啊,昨天/今天/明天,用的猛的可以合理用完 3 个weekly额度

公告

过去一个月,部分用户反映 Claude Code 的质量有所下降。我们对此进行了调查,并针对发现的三个问题发布了问题分析报告。
所有问题均已在 v2.1.116 及更高版本中修复,并且我们已重置所有订阅用户的使用限制。

ref: https://x.com/ClaudeDevs/status/2047371123185287223



在互联网电商与品牌独立站蓬勃发展的今天,流量获取成本日益高企,如何将涌入的访客转化为实实在在的订单,成为了运营者关注的核心命题。数据表明,超过七成的潜在客户在浏览网站时,期望能即时获得响应。这意味着,一个稳定、高效的在线客服系统,已不再是网站的“选修课”,而是提升转化率、构建品牌信任的“必修课”。然而,对于众多初创企业和中小团队而言,市面上动辄按坐席收费、年费高昂的商业SaaS客服软件,无疑是一笔沉重的负担。在此背景下,OctIM作为一款支持私有化部署的免费在线客服工具,以其“零成本、高可控、无限坐席”的特性,为独立站运营者提供了一条破局之路。

图片

OctIM独立站免费在线客服详细介绍: https://impc.opencodetiger.com

一、OctIM核心竞争优势

OctIM最核心的竞争力,在于其彻底打破了传统客服软件的商业壁垒,实现了真正的“永久免费”。与那些打着“免费试用”旗号、实则限制功能或时长的SaaS产品不同,OctIM的基础版不仅完全免费,更支持私有化独立部署。这意味着企业可以将系统安装在自己的服务器上,从“租客”摇身一变成为“房东”。这种模式不仅彻底消除了按年续费的压力,更重要的是,它赋予了企业对数据的绝对掌控权。所有的聊天记录、客户画像、咨询日志都存储在本地数据库中,既满足了金融、医疗等行业对数据隐私和合规性的严苛要求,也避免了因第三方服务商停止运营而导致数据丢失的风险。

二、功能覆盖全渠道、全流程的沟通

在功能层面,OctIM并未因“免费”而有所缩水,反而构建了一套覆盖全渠道、全流程的沟通矩阵。系统支持PC网站、H5、APP、小程序、公众号等多端接入,只需几行JS代码,即可将咨询入口无缝嵌入独立站的任何页面。对于客服人员而言,OctIM提供了强大的工作台,支持文字、图片、文件、语音等多种消息格式的实时传输,甚至内置了商品卡片和订单信息的发送功能,让客服在沟通中能直观展示产品细节,极大提升了沟通效率。此外,系统支持无限开通客服坐席,这意味着随着业务的增长,企业无需为新增的客服人员支付额外的许可费用,真正实现了无上限的并发接待能力。

图片

三、智能化与自动化

智能化与自动化是OctIM提升人效的另一大亮点。系统内置了智能路由分配机制,能够根据客服的在线状态、接待负载或技能组,将访客精准分配给最合适的客服人员,避免“忙闲不均”导致的客户流失。同时,OctIM支持智能机器人辅助,能够自动识别访客意图并回复常见问题(FAQ),在夜间或高峰期有效分流人工压力。当机器人无法解决时,系统可无缝切换至人工坐席,并同步历史对话,确保服务体验的连续性。配合预设话术库和快捷回复功能,客服人员可以一键发送标准答案,大幅缩短了响应时间,提升了客户满意度。

四、二次开发与定制

对于具备技术开发能力的企业,OctIM还提供了开放源码的高级选项。这不仅是代码的交付,更是业务灵活性的释放。企业可以基于源码进行二次开发,将客服系统与内部的CRM、ERP或订单系统深度打通。例如,当访客咨询时,系统自动弹屏显示其历史订单和会员等级;或者根据用户的浏览轨迹,自动推送相关的营销信息。这种高度的定制化能力,是封闭的商业软件无法比拟的,它让客服系统不再是一个孤立的信息孤岛,而是成为了企业数字化生态中灵活运转的一环。

图片

五、OctIM总体概括

综上所述,OctIM以其开源免费、私有部署、功能完备、灵活扩展的显著优势,为独立站运营者提供了一个极具性价比的解决方案。它不仅帮助企业节省了巨额的软件采购成本,更通过数据私有化和功能定制化,为企业构建了坚实的私域服务护城河。在流量红利见顶的当下,选择OctIM,就是选择以更低的成本、更优的服务,去赢得每一位访客的信赖与转化。

产品品牌:永嘉微电/VINKA
产品型号:VK6932
封装形式:SOP32
VK6932是一种数码管或点阵LED驱动控制专用芯片,内部
集成有3线串行接口、数据锁存器、LED 驱动等电路。SEG
脚接LED阳极,GRID脚接LED阴极,可支持8SEGx16GRID
的点阵LED显示面板。主要应用于LED显示屏驱动。采用
SOP32的封装形式。


• 工作电压 3.0-5.5V
• 内置RC振荡器
• 8个SEG脚,16个GRID脚
• SEG脚只能接LED阳极,GRID脚只能接LED阴极
• 3线串行接口
• 8级整体亮度可调
• 内置显示RAM为8x16位
• 内置上电复位电路
• 封装
SOP32(21.00mm × 7.50mm PP=1.27mm)
应用领域:
• 小家电
• 电磁炉/微波炉
• 压力表

内存映射的LED控制器及驱动器

VK16D32 3.0~5.5V 驱动点阵:96 共阴驱动:8段12位 共阳驱动:--- 通讯接口:SCL/SDA 静态

电流/待机电流:<1mA<10μA 按键:--- 封装:SSOP24 恒流驱动

VK16D33 3.0~5.5V 驱动点阵:128 共阴驱动:8段16位 共阳驱动:--- 通讯接口:SCL/SDA 静态

电流/待机电流:<1mA<10μA 按键:--- 封装:SOP28 恒流驱动
———————————————————————————————————————————————————

VK16K33A 3.0~5.5V 驱动点阵:128 共阴驱动:16段8位; 共阳驱动:8段16位 通讯接口:SCL/SDA

静态电流/待机电流:typ.1mA/1μA 按键:13*3 封装:SOP28 驱动电流大,适合高亮显示场合

VK16K33AA 3.0~5.5V 驱动点阵:128 共阴驱动:16段8位; 共阳驱动:8段16位 通讯接口:SCL/SDA

静态电流/待机电流:typ.1mA/1μA 按键:13*3 封装:SSOP28 驱动电流大,适合高亮显示场合

VK16K33B 3.0~5.5V 驱动点阵:96 共阴驱动:12段8位; 共阳驱动:8段12位 通讯接口:SCL/SDA

静态电流/待机电流:typ.1mA/1μA 按键:10*3 封装:SOP24 驱动电流大,适合高亮显示场合

VK16K33BA 3.0~5.5V 驱动点阵:96 共阴驱动:12段8位; 共阳驱动:8段12位 通讯接口:SCL/SDA

静态电流/待机电流:typ.1mA/1μA 按键:10*3 封装:SSOP24 驱动电流大,适合高亮显示场合

VK16K33C 3.0~5.5V 驱动点阵:64 共阴驱动:8段8位; 共阳驱动:8段8位 通讯接口:SCL/SDA

静态电流/待机电流:typ.1mA/1μA 按键:8*3 封装:SOP20 驱动电流大,适合高亮显示场合

——————————————————————————————————————————————————

VK1640 3.0~5.5V 驱动点阵:128 共阴驱动:8段16位 共阳驱动:16段8位 通讯接口:CLK/DIN

静态电流/待机电流:<0.1mA/-- 按键:--- 封装:SOP28

VK1640A 3.0~5.5V 驱动点阵:128 共阴驱动:8段16位 共阳驱动:16段8位 通讯接口:CLK/DIN

静态电流/待机电流:<0.1mA/-- 按键:--- 封装:SSOP28

VK1640B 3.0~5.5V 驱动点阵:96 共阴驱动:8段12位 共阳驱动:12段8位 通讯接口:CLK/DIN

静态电流/待机电流:<0.1mA/-- 按键:--- 封装:SSOP24

VK1650 3.0~5.5V 驱动点阵:32 共阴驱动:8段4位 共阳驱动:4段8位 通讯接口:CLK/DAT

先说结果,做了 A 股、黄金、货币(加密货币)的跟踪插件,痛点是安装一个就全解决。

今天很忙,都没顾上来回大本(2 站)摸鱼,不过昨天比较闲,想起来之前发贴问 Grok 浏览器插件的事,Joe 佬提到可以让 LLM 告诉我怎么弄,不过那个事解决了,最后用的 NousSave 这个插件(好用、推荐)。

然后最近不是在尝试 WorkBuddy 和 QClaw 嘛,就想着用他们弄插件吧,下手的就是股票监控插件,因为平时会追踪 A 股、黄金以及货币价格,目前浏览器插件都是单一功能的,所以地址栏后面的区域就挺拥挤。(下图倒数 2、3 分别是之前安装的 A 股和黄金的)

image

然后就开始用 WorkBuddy 开始搞,第一版很快,试了一下发现太拉了,添加不了代码,货币也不能自定义等等问题。不过经过 2-3 个版本的迭代,就已经很可用了,然后我们又加上了徽章外显示数据的功能,并增加了昨日价格以及黄金 7 日均价等等,还精简了布局。效果不错吧。

image

作为小白,我对于龙虾能做到这种程度挺震惊的,于是准备上架插件商店,经过一番鼓捣(微软的【Partner Center】 bug 可真多),还好搞定了,目前在审核中,等审核过了,要让 2 友们测试测试,看看还有哪些问题,有哪些优化空间。

啊,真有趣。

Lifecycle中出现的监听器

(老的版本中是LifecycleSupport接口)

public interface Lifecycle {
    /** 第1类:针对监听器 **/
    // 添加监听器
    public void addLifecycleListener(LifecycleListener listener);
    // 获取所以监听器
    public LifecycleListener[] findLifecycleListeners();
    // 移除某个监听器
    public void removeLifecycleListener(LifecycleListener listener);
    ...
}
  • 多个组件中出现监听器

对应到整体架构图中

对应到代码中

知识准备

理解上述监听器的需要你有些知识储备,一是设计模式中的观察者模式,另一个是事件监听机制。

观察者模式

观察者模式(observer pattern): 在对象之间定义一对多的依赖, 这样一来, 当一个对象改变状态, 依赖它的对象都会收到通知, 并自动更新

主题(Subject)具有注册和移除观察者、并通知所有观察者的功能,主题是通过维护一张观察者列表来实现这些操作的。

观察者(Observer)的注册功能需要调用主题的 registerObserver() 方法。

详情请参考 设计模式:行为型 - 观察者(Observer)

事件监听机制

JDK 1.0及更早版本的事件模型基于职责链模式,但是这种模型不适用于复杂的系统,因此在JDK 1.1及以后的各个版本中,事件处理模型采用基于观察者模式的委派事件模型(DelegationEvent Model, DEM),即一个Java组件所引发的事件并不由引发事件的对象自己来负责处理,而是委派给独立的事件处理对象负责。这并不是说事件模型是基于Observer和Observable的,事件模型与Observer和Observable没有任何关系,Observer和Observable只是观察者模式的一种实现而已。

java中的事件机制的参与者有3种角色

  • Event Eource:事件源,发起事件的主体。
  • Event Object:事件状态对象,传递的信息载体,就好比Watcher的update方法的参数,可以是事件源本身,一般作为参数存在于listerner 的方法之中。
  • Event Listener:事件监听器,当它监听到event object产生的时候,它就调用相应的方法,进行处理。

其实还有个东西比较重要:事件环境,在这个环境中,可以添加事件监听器,可以产生事件,可以触发事件监听器。

这个和观察者模式大同小异,但要比观察者模式复杂一些。一些逻辑需要手动实现,比如注册监听器,删除监听器,获取监听器数量等等,这里的eventObject也是你自己实现的。

下面我们看下Java中事件机制的实现,理解下面的类结构将帮助你Tomcat中监听机制的实现。
  • 监听器
public interface EventListener extends java.util.EventListener {
    void handleEvent(EventObject event);
}
  • 监听事件
public class EventObject extends java.util.EventObject{
    private static final long serialVersionUID = 1L;
    public EventObject(Object source){
        super(source);
    }
    public void doEvent(){
        System.out.println("通知一个事件源 source :"+ this.getSource());
    }
}
  • 事件源:
public class EventSource {
    //监听器列表,监听器的注册则加入此列表
    private Vector<EventListener> ListenerList = new Vector<>();
 
    //注册监听器
    public void addListener(EventListener eventListener) {
        ListenerList.add(eventListener);
    }
 
    //撤销注册
    public void removeListener(EventListener eventListener) {
        ListenerList.remove(eventListener);
    }
 
    //接受外部事件
    public void notifyListenerEvents(EventObject event) {
        for (EventListener eventListener : ListenerList) {
            eventListener.handleEvent(event);
        }
    }

}
  • 测试
public static void main(String[] args) {
    EventSource eventSource = new EventSource();
    eventSource.addListener(new EventListener() {
        @Override
        public void handleEvent(EventObject event) {
            event.doEvent();
            if (event.getSource().equals("closeWindows")) {
                System.out.println("doClose");
            }
        }
    });
    eventSource.addListener(new EventListener() {
        @Override
        public void handleEvent(EventObject event) {
            System.out.println("gogogo");
        }
    });
    /*
      * 传入openWindows事件,通知listener,事件监听器,
      对open事件感兴趣的listener将会执行
      **/
    eventSource.notifyListenerEvents(new EventObject("openWindows"));
}

Tomcat中监听机制(Server部分)

基于上面的事件监听的代码结构,你就能知道Tomcat中事件监听的类结构了。
  • 首先要定义一个监听器,它有一个监听方法,用来接受一个监听事件
public interface LifecycleListener {
    /**
     * Acknowledge the occurrence of the specified event.
     *
     * @param event LifecycleEvent that has occurred
     */
    public void lifecycleEvent(LifecycleEvent event);
}
  • 监听事件, 由于它是lifecycle的监听器,所以它握有一个lifecycle实例
/**
 * General event for notifying listeners of significant changes on a component
 * that implements the Lifecycle interface.
 *
 * @author Craig R. McClanahan
 */
public final class LifecycleEvent extends EventObject {

    private static final long serialVersionUID = 1L;


    /**
     * Construct a new LifecycleEvent with the specified parameters.
     *
     * @param lifecycle Component on which this event occurred
     * @param type Event type (required)
     * @param data Event data (if any)
     */
    public LifecycleEvent(Lifecycle lifecycle, String type, Object data) {
        super(lifecycle);
        this.type = type;
        this.data = data;
    }


    /**
     * The event data associated with this event.
     */
    private final Object data;


    /**
     * The event type this instance represents.
     */
    private final String type;


    /**
     * @return the event data of this event.
     */
    public Object getData() {
        return data;
    }


    /**
     * @return the Lifecycle on which this event occurred.
     */
    public Lifecycle getLifecycle() {
        return (Lifecycle) getSource();
    }


    /**
     * @return the event type of this event.
     */
    public String getType() {
        return this.type;
    }
}
  • 事件源的接口和实现

事件源的接口:在Lifecycle中

public interface Lifecycle {
    /** 第1类:针对监听器 **/
    // 添加监听器
    public void addLifecycleListener(LifecycleListener listener);
    // 获取所以监听器
    public LifecycleListener[] findLifecycleListeners();
    // 移除某个监听器
    public void removeLifecycleListener(LifecycleListener listener);
    ...
}

事件源的实现: 在 LifecycleBase 中

 /**
  * The list of registered LifecycleListeners for event notifications.
  */
private final List<LifecycleListener> lifecycleListeners = new CopyOnWriteArrayList<>();

/**
  * {@inheritDoc}
  */
@Override
public void addLifecycleListener(LifecycleListener listener) {
    lifecycleListeners.add(listener);
}


/**
  * {@inheritDoc}
  */
@Override
public LifecycleListener[] findLifecycleListeners() {
    return lifecycleListeners.toArray(new LifecycleListener[0]);
}


/**
  * {@inheritDoc}
  */
@Override
public void removeLifecycleListener(LifecycleListener listener) {
    lifecycleListeners.remove(listener);
}


/**
  * Allow sub classes to fire {@link Lifecycle} events.
  *
  * @param type  Event type
  * @param data  Data associated with event.
  */
protected void fireLifecycleEvent(String type, Object data) {
    LifecycleEvent event = new LifecycleEvent(this, type, data);
    for (LifecycleListener listener : lifecycleListeners) {
        listener.lifecycleEvent(event);
    }
}
  • 接下来是调用了

比如在LifecycleBase, 停止方法是基于LifecycleState状态改变来触发上面的fireLifecycleEvent方法:

@Override
public final synchronized void stop() throws LifecycleException {

    if (LifecycleState.STOPPING_PREP.equals(state) || LifecycleState.STOPPING.equals(state) ||
            LifecycleState.STOPPED.equals(state)) {

        if (log.isDebugEnabled()) {
            Exception e = new LifecycleException();
            log.debug(sm.getString("lifecycleBase.alreadyStopped", toString()), e);
        } else if (log.isInfoEnabled()) {
            log.info(sm.getString("lifecycleBase.alreadyStopped", toString()));
        }

        return;
    }

    if (state.equals(LifecycleState.NEW)) {
        state = LifecycleState.STOPPED;
        return;
    }

    if (!state.equals(LifecycleState.STARTED) && !state.equals(LifecycleState.FAILED)) {
        invalidTransition(Lifecycle.BEFORE_STOP_EVENT);
    }

    try {
        if (state.equals(LifecycleState.FAILED)) {
            // 看这里
            fireLifecycleEvent(BEFORE_STOP_EVENT, null);
        } else {
            setStateInternal(LifecycleState.STOPPING_PREP, null, false);
        }

        stopInternal();

        // Shouldn't be necessary but acts as a check that sub-classes are
        // doing what they are supposed to.
        if (!state.equals(LifecycleState.STOPPING) && !state.equals(LifecycleState.FAILED)) {
            invalidTransition(Lifecycle.AFTER_STOP_EVENT);
        }

        setStateInternal(LifecycleState.STOPPED, null, false);
    } catch (Throwable t) {
        handleSubClassException(t, "lifecycleBase.stopFail", toString());
    } finally {
        if (this instanceof Lifecycle.SingleUse) {
            // Complete stop process first
            setStateInternal(LifecycleState.STOPPED, null, false);
            destroy();
        }
    }
}

这里记录每周值得分享的科技内容,周五发布。([通知] 下周五一假期,周刊休息。

本杂志开源,欢迎投稿。另有《谁在招人》服务,发布程序员招聘信息。合作请邮件联系[email protected])。

封面图

我见过的最酷广告牌,只有一行命令,推广一个 AI 工具包。普通人看不懂也没关系,反正不是给他们用的。(via

第二次 API 开放浪潮

如果你在互联网行业足够久,大概会记得,以前有过一次 API 开放的浪潮。

那是15年前的2011年,云服务刚兴起不久,各种平台纷纷开放自己的 API。

那时,Facebook 和 Twitter 都发布了自己的 API,开放了平台数据。GitHub 的 API 设计简直是艺术品,几乎可以获得任何想要的功能。

平台的想法是,开放的 API 有助于用户和第三方加入,来开发各种插件和扩展程序,从而推动平台的增长,提高用户留存率和满意度。

那时还有一个叫做 ProgrammableWeb 的网站(现已关闭),它的名字就代表了当时人们的信念:互联网可以通过 API 编程,把各种平台的数据连接在一起。

但是,事情的发展跟预想完全相反。

平台发现,API 很难盈利,因为无法插入广告,而且自家的数据会帮助其他公司的生意,造成用户流失。

于是,它们纷纷改变做法,限制和关闭 API,不再分享数据,将用户留在自家的"围墙花园"。

如今,Facebook 和 Twitter 的 API 已经形同虚设,第三方客户端遭到彻底禁用。GitHub 虽然还保持开放的 API,但也采取了管控,增加了身份验证和速率限制,要想构建全功能的第三方应用也很困难。

正当人们觉得这将是常态,转变出现了。

就在2025年的下半年,大模型达到了临界点,变得真正强大,可用于生产环境了。

人们很快意识到,如果大模型只会思考,不能执行代码,用处就不大。AI 的最大价值不是内容生成,而是内容生成 + 自动化,这样才能最大限度解放人力、创造价值。AI 自动化,自己执行代码的典型代表就是"龙虾"(OpenClaw)。

自动化意味着 AI 必须能够调用其他平台,进而意味着,其他平台必须先开放自己的 API。

突然之间,API 不再是累赘,而是接入 AI 的必须条件。没有 API,你的平台就进入不了 AI 工作流,各种 Agent 也就不能代表用户在你的平台上工作。

同样两个平台,一家有 API,另一家没有,后者就很可能被市场放弃,因为大模型无法接入它,也就无法对它自动化,AI 用户只能转向它的竞品。

平台意识到了,谁尽快开放 API,谁就抢占了先机。所以,强如腾讯也会在龙虾爆红后,以最快的速度开放了微信接口,让龙虾可以向微信发消息。

腾讯也害怕,在龙虾的世界里没有自己的一席之地。其他平台就更不用说了,抢着通过 MCP 和 Skill 开放自家的操作接口。

这表明,第二次 API 开放浪潮正在到来。这一次将比上一次开放得更彻底,更易用。

(1)这次开放的不仅是云服务,还有很多日常生活服务:外卖、电商、银行......甚至还有很多原本根本不会有 API 的服务,比如餐馆和球馆的预订。

(2)这次的 API 不需要手动编程,你只需使用自然语言,由大模型翻译后调用。

(3)这次的 API 是消费者通过 AI 调用,使用目的是代表用户行事。以前 API 是由应用程序调用,使用目的是获取数据。

机器人半马

上周末,北京亦庄举行了第二次人形机器人的半马比赛

超过100个人形机器人参加比赛,看谁最快跑完21.0975公里。最终,冠军成绩是50分26秒,超过了人类最快的选手(半马的人类世界纪录是1小时02分52秒)。

根据网友拍摄的现场视频,机器人跑到一定距离就要进入补给站,由工作人员更换电池,并加入冰块(或者干冰)防止过热。

这就是说,机器人的内置电池支持不了一小时的运行时间。

宇树公开发售的 H2 人形机器人,续航时间是3小时。在长跑这种剧烈运动时,续航应该会大打折扣。而且,功率相同时,体重较轻的机器人在赛跑中有优势,也就意味着不能多携带电池。

这样看上去,人形机器人目前的实用性还是很有限。不插电时,一到两个小时就要充电,那样的话,很多事情就不适合做了。

GPT Images 2.0

本周,OpenAI 发布 GPT Image 2.0 模型,据说是目前最强的图像模型,性能超过了谷歌的 Nano Banana 2 Pro。

根据 OpenAI 的介绍,它的文字渲染有较大进步,很好地支持汉字,可以生成复杂的解释性图片。

大家可以去 ChatGPT.com 免费试用。

我做了一个比较,生成一张小狗在古镇屋檐下午睡的图片。这是 GPT Images 1 的结果。

这是 GPT Images 2.0 的结果。

我还看到一个有趣的项目 Flipbook。它是一个解释性图片浏览器,用户输入一个主题,它会自动生成详细解释的图片。

上图是输入"汽水"生成的解释图片,点击局部,还能生成进一步的解释。

网上已经有收集提示词的 Awesome 仓库@DophinL 投稿),大家可以看看别人的优秀例子。

另有一个同类的提示词仓库@ZeroLu 投稿)。

AI 是扩展神器

AI 有一个特点,不仅能够压缩信息,更善于扩展信息。它会推断出模糊不清的部分,更能生成缺失的部分,填补上看似合理的细节。

这意味着,AI 是扩展神器。有人设想了这样的场景:

  • 公司 CEO 开会时口述了一个设想。
  • AI 将其扩展成一份战略文件。
  • AI 将战略文件转化为产品规格。
  • AI 用氛围编程生成代码原型。
  • AI 根据代码原型,撰写出发布文案和公关稿。

看到了吗,AI 可以把脑子里的一个想法,不断扩展出文档、代码、产品、发布会、就业......

人们总是说,将来的世界是物质产品极大丰富的世界,AI 看上去就是这一类工具:凡是它能生成的东西,都将变得极大丰富

小轿车的车载厕所

赛力斯申请了一个小轿车的"车载厕所"专利。

座椅装在一个滑轨上,向后滑动就会露出下方的坐便器。

这个马桶配备了加热元件,用于蒸发尿液并烘干其他污物,但还是需要定期手动清空。同时,车内配备风扇和排气管,用于换气。

这个装置对于小轿车,使用场景有限,只适合高速公路大堵车的情况。但是,对于跑长途的大货车,倒是很实用。

文章

1、不要使用 Ollama(英文)

Ollama 是一个运行本地大模型的工具,本文提出它有诸多问题,建议改用 llama.cppLM Studio

2、npmx 的功能(英文)

有人为 npmjs.com 做了一个新的前端 npmx.dev,解决了很多开发者要求已久的功能。

3、不要过长的链式调用(英文)

JavaScript 语言可以写出很长的链式调用(上图),有些程序员很喜欢用。本文提出链式调用有一些缺点,不宜过长。

4、异步编程技术的演变和实际成果(英文)

一篇概述,介绍异步编程的由来,如何发展出 async/await 这种普遍接受的解法,以及存在的问题,写得比较深入。

5、被动雷达的工作原理(英文)

雷达可以主动发射电波侦测飞行物,也可以不发射电波,只监听电波变化,这就叫被动雷达。

工具

1、Little Snitch for Linux

著名的网络通信监控软件 Little Snitch,终于推出了 Linux 版,可以用它看到每个应用跟什么网址通信。

2、quien

查询域名信息的终端工具,提供清晰易用的界面。

3、ggsql

可以生成图形的 SQL 查询工具,直接查询数据库,将结果表示成可视化图形,参见介绍文章

4、Himi Recorder

开源的 Mac 录屏应用,可以绕过录屏检测机制,让被录制的应用无法感知正在被录屏。(@jrainlau 投稿)

5、Tab Harbor

开源的 Chrome 插件,把新打开的标签主页变成标签管理器。(@V-IOLE-T 投稿)

另有一个类似插件 Tab Out。(@Acorn2 投稿)

6、animal-island-ui

《动物森友会》风格的 React UI 组件库。(@guokaigdg 投稿)

7、CUPS Web

网页版打印机管理工具,通过浏览器远程控制打印机,支持多用户、打印记录追踪等功能。(@hanxi 投稿)

8、Blog Helper

开源的访客统计服务,提供 PV/UV 统计、热门文章、趋势图等,一个实例服务多个站点。(@thinkycx 投稿)

9、HiKid

帮助小朋友练习英语口语和听力的桌面应用,完全免费,目前仅支持 macOS。(@Hao4Wang 投稿)

10、Kite Desktop

桌面端的 K8S 多集群管理工具。(@eryajf 投稿)

11、Project River

Git 仓库提交历史的可视化河流图,支持多项目对比、贡献者信息等特性,在线体验。(@Lionad-Morotar 投稿)

AI 相关

1、OpenAI Privacy Filter

如何才能避免把敏感信息(比如姓名、地址、电话、密码)发给大模型?

OpenAI 给出了答案:Privacy Filter。这是一个本地运行的大模型,它先处理后再发给线上大模型。

比如,原文是"产品发布日期是2026年9月18日",处理后就是"产品发布日期是[PRIVATE_DATE]",参见介绍文章

2、LinkAI Gateway

开源的 AI 网关,可以接入主流大模型,然后对外提供统一的 API(OpenAI 兼容)和管理后台。(@star7th 投稿)

3、Nezha(哪吒)

开源的 AI 编程任务管理器,快速切换多任务管理,集成了原生终端、会话管理、代码编辑、Git 等功能,大小不到 10MB。(@hanshuaikang 投稿)

4、WatermarkZero

Gemini 生成图片的可见水印去除工具,图片不需要上传到服务器,直接在本地浏览器处理。(@liuyan-wjy 投稿)

5、mini-cc

开源的 AI 编程 Agent,作用类似于 Claude Code,采用多语言架构,目前已完成 TypeScript 实现。(@RainyNight9 投稿)

资源

1、The Listening Museum

一个有意思的网站,收集键盘打字的声音。你可以先听一下某种键盘的打字声,再确定是否购买它。

2、软件工程定律

这个网站收集各种软件相关的定律,目前有56条。

比如,"帕金森定律"(Parkinson's Law):工作量总是会增加,直至填满所有可用时间。推论就是,不管设置多长的开发时间,项目开发总是会做到最后一刻。

图片

1、5x5 像素的英文字体

最小的英文字体有多小?

1x1 像素(宽1像素,高1像素)就是一个点,当然不可能;2x2 像素也不可能;3x3 像素理论上可以,实际上无法阅读;4x4 像素难以绘制一些多笔画的字符,比如 E、M、W。

因此,英文字体最小就是 5x5 像素,就是下面的效果。

上面字体中,大多数小写字母比大写字母小一个像素,从而使两者可以在视觉上区分。

整个字体仅占用350字节的内存,所以很适合老式设备或低端设备,即使只有 16kB 内存的8位微控制器,也能完成字体渲染。

另外,它的每个字符只需要25个像素就能显示,而即使 384x288 显示屏也有11万像素。

除了 5x5 字体,还有 3x5 字体(宽3像素,高5像素)和 4x5 字体(宽4像素,高5像素),但是它们的辨识效果都不好(下图)。

2、里海石油城

里海是世界最大湖泊,面积相当于云南省。

上个世纪中期,里海发现了石油。当时的苏联就开始在湖面上建设石油平台,距离岸边有60英里,乘坐6个小时的渡轮才能到达。

最多的时候,共有约320个生产基地,包含2,000口井,通过100多英里的桥梁连接起来。

那时,5000多人生活在这些平台上,形成了一个难以置信的水上城市,所有住宅楼都是建在水上。

随着油田的枯竭和油价的波动,这座石油城的产量已经大幅下降,人们大多离开,整个平台年久失修,垮塌就是时间问题。

言论

1、

美国鞋类生产商 Allbirds 宣布转型为 AI 公司,股价一天暴涨了5倍。

这让人想起2017年,美国一家名为"长岛冰茶"的饮料企业,宣布转型为区块链公司,卖柠檬茶的同时,探索区块链的投资机会,股价也是暴涨。后来,它的区块链业务还没建立好,就破产了。

-- 雅虎

2、

Figma 拥有近 2000 名员工(当然并非所有员工都从事产品开发),而 Anthropic 新推出的 Claude Design 的开发团队,我甚至怀疑是否超过10个人。

-- 《Figma 的困境》,本文评论 Claude Design 对 Figma 造成重大打击,在 AI 的开发速度和开发成本面前,传统软件不堪一击。

3、

我对未来世界的憧憬是,她或许不那样充满未来感,反而更像田园牧歌。我们可以回归传统的生活形态,同时又不放弃新技术带来的便利,几乎无需再去看屏幕或触碰屏幕。

-- jsomers.net

4、

每一种文化都会造就反映其最深层焦虑的英雄。

硅谷最焦虑的,就是增长停滞,无法创造出大受市场欢迎的新产品,所以大肆宣传"英雄开发者":他们能在午夜发布新功能,凭借着咖啡因带来的强大意志力,将白板上的涂鸦变成价值数十亿美元的独角兽企业。

-- 《古典维护者的挽歌》

往年回顾

冷启动的破解之道(#347)

饮水鸟玩具(#297)

扎克伯格的裁员信(#247)

如果这个世界有快乐机(#197)

(完)

1.在一台 vps 刚搭建了 cpa. oauth 认证了一批古法手搓的 free 账号。
2.采用 docker 部署的。
3.看文档找到了一个配置。这个是我后来手动修改过的
auth-dir: "/home/devSoft/cliProxyApi/auth-dir"
4.docker 挂载的目录
image
应该是我修改后没有重启导致的?
但是挂载的目录均没有文件,无论是宿主机还是容器内。刚接触 cpa,有大佬支持下吗?
宿主机 auth 目录
image
容器内 auth 目录
image
另外就是我先前挂载的宿主机的目录
image

cpa 的文件
image

目前我因为需要更新 docker 镜像,担心数据丢失。所以现在全部手动下载了。

本人比较喜欢洗车,大概十天半个月就会洗一次,车买回来几年基本都是自助洗车。
喜欢自己玩水枪、PA 喷泡沫的感觉,而且洗的时候很解压、很放松,还能活动身体,所以就一直自己洗。

洗车最令人烦恼的一般就是天气原因。比如说你正洗的时候要下雨了,或者刮大风了,到处都是灰尘。还有就是刚洗完第二天就又被雨雪、沙尘给搞脏了,这种情况比较烦人。
洗车产品的药剂品牌非常多,工具也非常多,让一开始自己洗车的人都不知道该怎么选择,很怕交智商税。
基于这些原因,我觉得对于爱洗车的人来说,还是需要一个来帮忙查看天气、管理洗车周期,并且有个地方能看洗车产品的口碑情况的小工具。

自己做了一个小程序,叫洗车志,来帮助车友来解决这些小麻烦。

主要功能:

  • 洗车天气:根据天气,计算当天以及未来 7 天是否适合洗车,可以自己设置洗车的周期,到期会提醒你来洗车。
  • 打卡记录:每次洗车可以打卡,记录使用的洗车用品、花费、耗时、日期等信息。
  • 生成分享海报:打卡后可以生成精美海报,海报上会写有你这次打卡时使用的时间、耗时、使用的产品等等信息,让大家都能看到你的靓车,方便分享到社交网络。
  • 洗车产品库:整理了市面上大部分常见的洗车用品品牌,以及他们比较热门的产品。车友可以根据自己的使用情况进行口碑投票,这样大家都能清楚哪些产品好,哪些产品不好。

我用 gpt 设计了几张宣传图,可以更直观地展示功能。希望能帮大家洗车更有计划,也欢迎大家提意见和功能建议!

海报 1

海报 2

海报 3

海报 4

海报 5

海报 6

这是一张打卡海报,有好几个不同的模版,可以根据自己的喜好选择。

打卡海报

扫码体验

二维码

大型语言模型可以写代码、起草合同、总结论文,但它有一个致命缺陷:撒谎的时候极其自信。

这就是我们所说的幻觉,它是一个跨层级的问题:推理参数、系统架构、生成策略、生成后验证、模型训练、持续评估,每一层都有份,所以不能把它当成单点问题来处理。

这篇文章会逐层拆开来讲,从最简单的运行时参数一直到生产级的验证管道。

幻觉防御架构

先看全局架构。每一层针对不同的失败模式,真正稳健的系统会把所有层一起部署。

第 1 层:推理时参数

这些是调用模型时在运行时设置的参数。它们是第一道防线,也是最容易被高估的一道。

Temperature

Temperature 控制 token 选择的随机度,取值越低模型越确定,越高则越有创造性——代价是更容易编造。

ValueBehavior

0.0

完全确定——每次都选概率最高的 token

0.1 – 0.3

接近确定——略有波动,仍然受约束

0.7 – 1.0

创造型——波动明显,容易虚构

> 1.0

混乱——不要用在事实性任务上

一个常见的误解:把 temperature 设成 0 并不能消除幻觉,只是让幻觉变成稳定复现的版本。temp=0 的模型如果错了,它会每次都以完全一致的方式错下去。确定性和正确性不是一回事。

Top-P(核采样)

Top-P 把候选 token 限定在累积概率质量达到阈值 P 的范围内。top_p = 0.1 意味着只有处于概率质量前 10% 的 token 才有机会被选中。

反幻觉场景下建议取 0.1 到 0.5。再与低 temperature 搭配使用——temp=0.1, top_p=0.1 ——就能得到相当保守的生成行为。

Top-K

Top-K 用的是硬截断:每一步只保留最可能的 K 个 token 作为候选。top_k=1 等价于贪婪解码(和 temp=0 表现一致)。事实性问答场景里,top_k=5 配低 temperature 通常足够稳定。

频率惩罚和存在惩罚(Frequency / Presence Penalties)

这两个参数微妙但不能忽视:

注意:过高的 presence penalty 反而会增加幻觉——它在逼着模型引入新的、可能是凭空编造的概念。用的时候要克制。

Max Tokens

这是被低估得最厉害的一个参数。幻觉在长输出中出现的比例远高于短输出,原因是模型会逐渐偏离起初的事实依据。根据任务合理限定输出预算——事实检索类任务给 256 到 512 tokens 就足够了——留给模型游离开来的空间就小得多。

参数速查表

下面是两类最常见任务配置的对照:

事实性任务在每个维度上都要求收紧约束,创造性任务则反过来全部放开。两者混用——比如拿创造性参数去做财务数据抽取——基本等同于主动邀请幻觉。

第 2 层:架构策略

推理参数属于缓解手段不是解决方案。它们降低的是输出分布上的噪声,却不触及根本——模型仍然是在从参数化记忆里生成,而不是从已验证的事实里生成。

真正的修复必须在架构层面做。

检索增强生成(RAG)

把 LLM 绑定到事实信息上,RAG 是迄今最具杀伤力的一种技术。思路很直白:不让模型去训练数据里回忆事实,而是从经过验证的知识库中检索相关事实,再直接注入到 prompt 里。

管道看起来简单,魔鬼藏在调参里。每个组件都有直接影响幻觉率的参数:

Chain-of-Thought 与自一致性

CoT prompting 强制模型把推理过程外化出来。模型不能直接跳到答案,而必须一步一步推出来。

这个方法之所以奏效是因为推理一旦外化,错误就变得可见;自一致性投票里,相互矛盾的推理链会彼此抵消。实验数据显示,开启自一致性能把幻觉率降低 10% 到 40%。

受约束解码与结构化输出

这类技术从另一个维度切入:把模型关进一个预定义语法里,它根本吐不出 schema 之外的内容。

Outlines、LMQL、Guidance 这类库把语法级约束直接作用到 token 采样环节。模型从字面上就无法生成允许模式之外的 token,生产系统几乎总需要输出遵守特定结构。

置信度校准与不确定性量化

产生幻觉的 LLM 有一个特别危险的属性:它呈现捏造信息时的自信程度,和呈现事实时完全一样。校准训练针对的就是这一点。

程序化地拿到置信度,靠的是 logprobs:

由此可以搭出一个天然的分级漏斗:高置信度响应走自动通道,置信度不足的被标记并转交人工审核。在金融服务这种高风险领域,这个漏斗不可省略。

第 3 层:生成后验证

架构再好,也总会有幻觉漏过去。生成后验证层的任务,就是把前面几层没拦住的抓回来。

检测器会串行跑四项独立检查:

  1. 事实一致性检查——用一个 NLI(Natural Language Inference)模型判断生成答案是否能被源文档蕴含(entailed)。答案里有源文件支撑不了的说法,这一步就挂。
  2. 引用验证——如果响应里带了引用,这一步会核对被引用的文档里是否真的包含所声称的信息。捏造引用是幻觉里最常见、也最丢脸的一类。
  3. 实体验证——抽出响应中的命名实体(人名、机构、日期、财务数字),在知识库里做交叉比对。编造出来的实体会直接触发失败。
  4. Self-RAG 或 critic model——再发起一次 LLM 调用,用一个聚焦的 prompt 去评估响应:"给定上述上下文,这条响应事实上是否准确?" 这一步相当于系统内部的同行评审。

四项全部通过的响应才返回给用户。任何一项不通过的,要么以更严格的上下文约束重试,要么升级给人工审核员。

第 4 层:微调与训练端的杠杆

面对领域特有的幻觉——模型在某个专业领域根本缺乏知识——光靠推理端的调节已经不够,必须在训练层面干预。

对企业应用最具价值的一条路,是把领域微调和校准训练结合起来。一个既在专有语料上训练过、又被训练成敢于承认不确定性的模型,从根本上比一个靠花哨 prompt 拼凑的通用模型更值得信赖。

第 5 层:评估与测量

度量不到的问题无法修复。先定义指标,再做好仪表化,长期跟踪趋势。

这些指标不是评估一次就能放下的东西,需要在生产环境里作为自动化评估管道的一部分持续运行。随着数据分布漂移、prompt 迭代、模型升级,幻觉率会一直在变。缺了持续监控,上个季度还安全的系统,这个季度就可能在大规模编造。

整合:生产落地手册

把上面几层装配成一个生产就绪的反幻觉栈,大致步骤如下:

  1. 设定保守的推理参数:temp=0.1、top_p=0.2、top_k=5、收紧 max_tokens。这是噪声底线。
  2. 部署带 reranker 的 RAG:从已验证知识库中检索,接上 cross-encoder 重排,配好相似度阈值过滤掉不相关的片段。模型只在已经落地的上下文上作答。
  3. 强制结构化输出:用受约束解码(JSON Schema、Outlines 或 Guidance)挡掉结构性幻觉。每个响应都要求带 confidence 字段和 citations 数组。
  4. 接入生成后验证器:NLI 事实一致性检查、引用验证、实体交叉比对一起上。失败的响应要么重试,要么升级。
  5. 在领域数据上做微调:用专有语料训出真正懂业务的模型,训练样本里要包含"答案应当是我不知道"的校准案例。
  6. 持续测量:在生产中跑 RAGAS 忠实度评分和幻觉率跟踪,配置回归告警,定期复盘被标记的响应。
  7. 铺一条人在回路的升级通道:验证器置信度跌破阈值时,直接转人工。在一条被编造出来的数字可能造成真金白银损失的场景里,这一步不能省。

总结

真正该问的问题从来不是"怎么让我的 LLM 不再产生幻觉"。这个问法本身就错了。LLM 是概率化的文本生成器,幻觉不是 bug而是这门技术的固有属性。

正确的问法是:怎么围绕 LLM 建一套系统,能在幻觉触达用户之前把它检测出来、阻断掉、并恢复过来。

https://avoid.overfit.cn/post/3f6c4bd9219544f5968265181f47c8ed

Dr. Murali Nandigama

数据本身并不能产生洞察

在过去几十年里,工业实时数据库在工业系统中扮演了至关重要的角色,它们负责采集并存储时序数据。像 PI System 这样的系统,在从现场设备采集信号,并将其用于可视化和基础分析方面,做得非常出色。

近年来,“工业互联网平台”流行起来,而且数据的可视化相当炫酷。但从本质上看,无论是工业实时数据库,还是工业互联网平台,它们所解决的问题仍然是相同的:数据采集、存储、可视化以及基础分析。名称在变化,但系统的核心能力与边界并没有发生根本性的改变。

这些能力非常重要,但已经不再足够。在今天的工业环境中,用户的期望已经发生了变化,仅仅能够存储和展示数据已经无法满足需求,企业越来越希望系统能够直接生成洞察——检测异常、预测未来趋势、识别模式、解释偏差,甚至完成根因分析。换句话说,目标已经不再只是“看到数据”,而是“理解数据”。

以工业实时数据库为核心的分析能力的局限,为什么分析逐渐外移

无论是传统的工业实时数据库,还是近年来兴起的工业互联网平台,它们在分析能力上的局限,本质上是相同的。这类系统大多围绕数据采集与展示设计,虽然在架构上有所演进,但在分析能力上仍然以规则计算和简单处理为主,并没有真正内生高级分析能力。

虽然很多系统内置了计算引擎和基于规则的处理能力,但这些能力通常范围有限,更适合处理预定义逻辑,而不适合探索式分析、模型驱动分析或 AI 驱动分析。随着工业系统变得越来越复杂,工程师需要的不再只是简单计算,而是能够检测细微异常、预测系统行为、补全缺失数据、分析变量之间的相关性,并构建回归模型或聚类模型。这类分析需要更高的灵活性、持续迭代能力,以及更丰富的算法生态支持。

正是在这样的背景下,以工业实时数据库为核心的分析能力的局限逐渐显现,高级分析也因此开始向系统之外迁移。越来越多的企业开始依赖像 Seeq、TrendMiner 这样的专业工具,来进行基于事件的分析、批次对比、黄金批次分析以及模型驱动的探索型分析。这些工具通过连接器或查询访问数据,而不是复制数据,从而可以复用已有的数据基础设施。

但即使没有数据复制,分离依然存在。分析不再属于核心数据系统的一部分,而是存在于另一个独立的层中,拥有自己的执行环境、逻辑体系和工作流程。工程师在一个系统中定义事件,在另一个系统中分析数据,在第三个系统中管理模型,这种分散带来了明显的系统碎片化问题。逻辑分布在不同系统中,流程难以统一和标准化,而构建在数据之上的“智能”也因此难以复用和规模化。

问题的关键,并不在于数据在哪里,而在于“智能”在哪里。

TDengine 仅需要点击一按钮,就可做批次分析、值搜索、预测、异常检测、缺失数据补齐、相关性、关联、回归、聚类等很多高级分析

从 Python 的灵活性到 SQL 的简洁性

在整个数据与 AI 生态中,Python 已经成为分析与建模的主流语言。它提供了丰富的统计分析、机器学习以及时序分析库,因此像 Seeq 和 TrendMiner 这样的工具也开始支持 Python,使用户能够引入自己的算法,从而突破系统内置能力的限制。

这是一个重要的进步,更重要的是,支持 Python 已经成为一种必然选择。AI 正在以极快的速度发展,每个月都有新的模型和算法出现,没有任何一个厂商可以独立跟上这个节奏。通过支持 Python,系统能够保持开放性,使企业可以持续引入最新技术,而不会被锁定在一套固定能力之中。

但仅有灵活性还不够。当分析通过 Python 脚本实现时,它往往仍然游离在系统之外。脚本需要编写、部署、管理,并嵌入到业务流程中,这使得分析能力虽然强大,但并不“顺手”。它主要服务于少数高级用户,而大多数工程师仍然依赖系统内置功能。

这就形成了能力与可用性之间的鸿沟。要弥合这一鸿沟,分析必须同时具备灵活性与简洁性。

一种有效的方法,是将分析能力以 SQL 函数的形式对外提供。在这种模式下,异常检测、预测、数据补全等高级分析能力可以直接在查询中调用,工程师无需管理脚本或构建复杂流程,而是像访问数据一样使用分析能力。

在系统内部,依然可以使用 Python、机器学习模型或其他先进算法。例如,在 AI 原生的工业数据管理平台TDengine IDMP 中,,可以通过 TDgpt 调度不同类型的模型,包括统计方法、LLM 以及时间序列基础模型,并通过简单的 SQL 接口对外提供结果。这种方式从根本上改变了分析的使用方式,使高级分析真正从“少数人可用”走向“人人可用”。

Python 提供了跟上 AI 发展的开放性,而 SQL 提供了面向规模化使用的简洁性,只有两者结合,高级分析才能真正落地。

TDengine 将复杂的异常检测算法转化为任何人、任何系统都能用的 SQL 函数 anomaly\_detection

从原生分析能力到 AI 原生工业数据底座

要真正释放工业数据的价值,分析能力必须成为数据底座的一部分。这意味着,分析不应该运行在系统之外,而应该与数据的存储、查询和使用过程深度融合,系统本身就应该成为分析发生的地方,而不是将数据导出到外部工具中处理。

现代工业数据平台正在朝这个方向演进。例如,像 TDengine 这样的系统,基于时序数据库 TDengine TSDB 和 AI 原生的工业数据管理平台 TDengine IDMP,将实时流处理、事件生成以及分析能力直接集成到核心系统中,使数据在写入的同时就可以被处理、分析和增强,从而实现真正的实时分析和过程分析,而无需依赖外部数据管道。

与此同时,分析也不再局限于预定义规则。借助内置的 AI 能力以及具备上下文的数据模型,系统可以基于流式数据自动检测异常、生成洞察并触发事件。这种能力不再依赖人工配置规则,而是能够随着数据持续运行并不断产生价值。

这代表了一种根本性的转变。分析不再是一个独立的层,而是成为数据底座的一部分。当分析成为原生能力时,它可以在实时数据、历史数据、事件流程以及资产模型之间一致地应用,洞察不再需要人工请求,而是可以在系统运行过程中持续产生。

这正是 AI 原生工业数据底座的核心特征:不是在系统之上叠加 AI,而是在底座中内生智能。

结语

工业系统已经从“采集数据”发展到“分析数据”,但在很多环境中,无论是工业实时数据库,还是工业互联网平台,分析仍然被当作系统之外的能力。要迈向未来,分析必须成为数据底座的原生能力,它不应该是附加功能,也不应该是独立工具,而必须成为系统的核心能力之一。

与此同时,原生分析能力并不意味着系统是封闭的。现代工业数据底座必须保持开放,能够与外部工具、自定义模型以及不断演进的新技术进行集成,从而在保证灵活性的同时,实现真正的可用性。

开放性保证系统持续演进,原生能力保证系统真正可用。只有在这两者之间取得平衡,工业数据系统才能在 AI 时代真正释放其价值。

很少有人真正谈论的成本问题

在评估工业数据系统时,很多企业首先关注的是软件本身的价格。

这看起来是合理的。无论是工业实时数据库的授权费用,还是平台订阅费用,甚至云资源成本,似乎都构成了系统的主要支出。但事实上,这些只是整体成本中的一小部分。

一个工业数据系统真正的成本,并不在于你“买它花了多少钱”。 而在于你后续为了运行它、集成它、维护它以及真正从中获得价值所付出的持续成本。这,才是总拥有成本(Total Cost of Ownership, TCO)。

传统工业实时数据库:远比想象中昂贵

传统的工业实时数据库(Data Historian)常常被认为是成熟、稳定且“成本可控”的系统,但其真实成本结构要复杂得多。

首先,软件本身只是成本的一部分。这类系统通常运行在 Windows Server 之上,并依赖 SQL Server 等商业数据库,这些都会带来额外的授权费用和基础设施成本。

其次,工业实时数据库本身并不擅长高级分析或现代可视化。企业往往需要额外采购分析工具或接入第三方软件来完成数据分析、报表和可视化工作,甚至还购买Excel插件。

由于这些系统本身并不开放,集成第三方工具往往需要大量定制开发和长期维护。每一次集成,都会带来新的复杂度和成本。

随着时间推移,一个最初看似简单的“数据采集系统”,逐渐演变成一个由多个系统拼接而成的复杂体系,而每一个部分都在不断增加总体成本。

工业互联网平台:更开放,但也更复杂

现代工业互联网平台试图解决传统系统的这些问题。它们通常运行在 Linux 上,采用开源技术栈,并提供更好的开放能力。在理论上,这可以降低基础设施成本,并提升系统灵活性。

但与此同时,它们也引入了另一种成本。这些平台通常架构复杂,包含分布式系统、多种组件、数据管道以及各种集成层,需要精心设计和持续运维。

开放性带来了灵活性,但也将系统搭建和维护的责任转移给了用户。企业需要自己去拼装、配置并管理整个系统。

结果是:基础设施成本可能下降了,但复杂度带来的成本却显著上升。

最大的成本:人

无论是传统工业实时数据库,还是现代工业互联网平台,有一个成本始终存在,而且往往被严重低估。那就是:

这些系统需要高技能人员来设计、运维和使用,包括数据分析师、数据工程师以及具备行业经验的工艺工程师。

要从数据中提取真正有价值的洞察,这些人员不仅需要理解数据,还需要理解设备、工艺以及业务逻辑。他们需要构建模型、定义规则、配置分析流程,并不断优化系统。

这不是一次性的投入,而是一项持续性的成本。对于大多数中小企业来说,这是最大的门槛。即使拥有数据,也缺乏足够的资源将其转化为洞察。

而在大型企业中,这同样会形成瓶颈。当业务决策者需要新的分析或报表时,往往需要依赖专业团队来实现,甚至需要厂商参与开发。这一过程往往周期较长,严重影响决策效率。

工业数据系统的隐形成本

复杂度本身就是成本

从更本质的角度来看,上述问题的根源是同一个:复杂度。

系统越复杂,就意味着更多的基础设施、更多的集成工作、更多的维护成本以及对更高技能人员的依赖。每增加一个组件,就增加一层依赖、一种潜在风险以及额外的运维负担。

在很多工业场景中,数据系统是逐步演进出来的。不同阶段引入不同系统,各自解决问题,但整体却变得越来越割裂、越来越难以维护。

这种成本,不仅仅是技术成本,更是组织成本。

一种新的模式:AI 原生工业数据管理平台 TDengine IDMP

AI 原生的工业数据管理平台 TDengine IDMP 的出现,提供了一种完全不同的思路。

它不再依赖复杂系统和专家团队来“提取价值”,而是将洞察能力直接内置在系统之中,使数据的价值可以被更容易地获取。

这类系统通过将数据接入、数据存储、数据建模、分析能力、可视化以及 AI 能力整合在统一平台中,显著降低系统复杂度。以 TDengine IDMP 为例,它在 TDengine TSDB 的时序数据底座之上整合这些能力,同时更重要的是,它降低了对高技能人员的依赖。

在像 TDengine IDMP 这样的系统中,用户可以通过自然语言获取分析结果,创建可视化面板或实时分析任务,系统还可以基于采集的数据自动生成洞察,自动进行异常检测,而无需人工定义复杂规则或编写分析逻辑。

这改变了人们使用数据的方式。工程师和业务人员可以直接获取洞察,而不再完全依赖专职的数据分析团队。

从“降低成本”到“提升能力”

这种变化不仅仅意味着成本降低,更意味着能力的提升。

当获取洞察的门槛被大幅降低之后,更多的人可以参与数据驱动的决策,组织可以更快地响应变化,发现问题并采取行动。对于中小企业来说,这意味着不再需要建立庞大的数据团队,也可以利用先进的分析能力。对于大型企业来说,这意味着减少内部瓶颈,加快决策速度,让数据真正服务于业务。

在这样的模式下,总拥有成本的下降,不仅来自系统本身的简化,更来自数据价值的提升。

结语

工业数据系统的成本,从来不只是软件价格。真正的成本,来自系统复杂度、集成难度以及对高技能人员的依赖。

无论是传统工业实时数据库,还是现代工业互联网平台,都在一定程度上解决了问题,但也引入了新的成本。

下一代工业数据系统,需要从根本上降低复杂度,并消除获取洞察的门槛。

只有这样,企业才能真正降低总拥有成本,并释放数据的全部价值。这也正是 AI 原生工业数据管理平台 TDengine IDMP 与时序数据库 TDengine TSDB 所代表的方向:以更低复杂度支撑更高价值的工业数据应用。

4 月 28 日,Physical AI 系列活动落地日本东京!

如果拥有哆啦 A 梦,它是解决麻烦的「工具」,还是提供情绪价值的「陪伴」?当 Physical AI 遇见东京,这个问题变得格外真实。

作为机器人与硬件流行的国家,日本是 AI 硬件从业者无法绕开的一站。当大模型与 Conversational AI 正重塑硬件设备的交互角色,日本市场究竟隐藏着哪些新机会?想在日本落地,又有哪些不可不知的避坑指南?

为此,RTE 开发者社区邀请了如 Rokid、Riselink 和 Agora 等前沿硬件初创和基础设施先锋,以及扎根日本本土的 AI 社区 TechTabi 的资深创业者齐聚一堂。

上午探讨下一代计算接口与日本初创生态,下午动手从 0 到 1 部署语音智能体。无论你是产品人、开发者、创业者还是硬件极客,这场动脑又动手的 Physical AI 活动绝对不容错过!

活动信息

地点: 东京都港区新桥(具体地址报名审核通过后通知)

日期: 2026 年 4 月 28 日(周二)

  • 上午场|Physical AI Meetup: AI Hardware, Tool or Companion?

    09:30\~ 12:00(东京时间 GMT+9)

  • 下午场|Physical AI Workshop Tokyo: From 5-Min Voice Agent Build to Hardware Deployment

    14:00\~ 16:30(东京时间 GMT+9)

💡 你可以只参加单场,也可全天参与——动手也动脑,快乐翻倍!

访问链接报名方式

报名通过后,小助手将通过微信/邮件联系你,并告知详细注意事项。

上午:

Physical AI Meetup: AI Hardware, Tool or Companion?

📅 活动详情

  • 时间: 4 月 28 日(周二),09:30 - 12:00(东京时间 GMT+9)
  • 地点: 东京都港区新桥

⏳ 日程安排

  • 09:30 - 10:00|签到 & 自由交流
  • 10:00 - 11:00|🎙 主题演讲:AI Hardware, Tool or Companion?

    • 赵维奇 Weiqi Zhao,Global Senior Director of Product, Engineering & Ecosystem, ROKID
    • Special Guest Speaker, Riselink
    • 陈晓晨 Donnie Chen,Agora Go-to-Market Japan
  • 11:00 - 11:30|🔄 圆桌讨论:Building Real-Time and Physical AI Startups in Japan: Opportunities and Challenges

    • 张乾泽 Qianze Zhang,Agora Agent Platform Lead
    • 白强 Qiang Bai,Co-Founder of KickGPT & AbleGPT, Founder of TechTabi
    • 赵维奇 Weiqi Zhao,Global Senior Director of Product, Engineering & Ecosystem, ROKID
    • Moderator: 杨慧 Cynthia Yang,Initiator, RTE Dev Community
  • 11:30 - 12:00|自由 Networking

👇访问链接报名(审核通过后,我们将通过短信告知详细地址与参会指引。)

https://luma.com/kq31a21p

注:上下午活动需分开报名

下午:

Physical AI Workshop Tokyo: From 5-Min Voice Agent Build to Hardware Deployment

东京站来了,我们把硬件工作坊升级了一下。

这一次,不再从 0 开始搭一整套系统——

你可以用 Agora Skills,在几分钟内组装一个 voice AI agent,并最终部署到真实硬件(Agora R1)上。

📅 活动详情

  • 时间: 4 月 28 日(周二),14:00 PM - 16:30 PM(东京时间 GMT+9)
  • 地点: 东京都港区新桥(具体地址报名审核通过后通知)
  • 人数:20~40 人

    👉 可以 单人成组 或 两人一组

    👉 每组配有一套 R1 硬件

🔍 活动亮点

🔹 用于快速构建智能体的 Agora Skills

https://github.com/AgoraIO/skills

跳过复杂的配置流程——使用模块化的技能,快速组装你的语音 AI 智能体

🔹 Agora R1 是一款集成对话引擎的轻量级 AI 硬件套件

  • 开箱即可操控语音交互
  • 支持 APP 配网连接智能体实现语音交互功能
  • 提供全面开发资料与二次开发支持

📌 在这里,你将亲手完成从硬件配置、编译、运行,到自定义语音 Agent 的完整动手链路。

🧠 你会得到什么

✔ 现场技术分享

✔ R1 设备实操上手

✔ 自定义语音 AI

✔ 团队合作与答疑支持

欢迎对智能硬件、语音交互、Agent 产品有兴趣的朋友报名。

活动流程

  • 13:30–14:00 签到 & 自行组队
  • 14:00-14:20 技术分享
  • 14:20–16:30 现场实操(提供详细流程文档和技术答疑)

📌 准备建议(强烈推荐)

为了让现场体验流畅,请提前准备:

  • 一台笔电
  • GitHub 账号(用于运行 Codespace / 示例仓库)
  • 终端工具与命令行基础(建议提前熟悉)

👇 访问链接报名 (审核通过后,我们将通过微信联系您告知地址与参会指引。)

https://luma.com/tjrotnri

注:上下午活动需分开报名


主办方:RTE Dev Community、Agora

社区伙伴: S 创、脑放电波、Bonjour!、Research AI+、小红书科技、WAIC UP!、启师傅客厅、分子分母、机智流、TechTabi、CreatorLabo、toaru!

阅读更多 Voice Agent 学习笔记:了解最懂 AI 语音的头脑都在思考什么

番茄叶片病害检测数据集分享(适用于YOLO系列深度学习分类检测任务)

源码下载

链接:https://pan.baidu.com/s/196FdQ7RhzgulM0j4-dW0ng?pwd=v59n

提取码:v59n 复制这段内容后打开百度网盘手机App,操作更方便哦

前言

在农业领域,植物病害检测是确保作物健康和提高农业生产效率的关键任务之一。番茄作为全球重要的蔬菜作物之一,其产量和品质直接影响着农民的经济收益和消费者的食品安全。然而,番茄在生长过程中容易受到各种病害的侵袭,这些病害不仅影响作物的生长发育,还可能导致产量的大幅下降,给农业生产带来巨大的经济损失。

随着全球气候变化的加剧,农业病害的发生变得越来越复杂和难以预测。传统的病害识别方法依赖于农业专家的经验和人工检查,但这一过程不仅耗时且容易出错。人工检查需要专业的农业知识,而且需要逐株检查,效率低下。同时,由于人的主观性和疲劳程度,检测结果往往存在较大的差异,难以保证检测的准确性和一致性。

随着计算机视觉技术的快速发展,基于深度学习的目标检测方法成为了病害识别的主流手段。通过采集番茄叶片图像,利用深度学习模型自动识别病害类型,可以大大提高检测效率和准确率,实现病害的早期发现和及时防治。这种智能化的病害检测方式不仅能够减少人工成本,还能够提高检测的准确性和可靠性,为农业生产提供有力的技术支持。

为了推动番茄病害检测技术的发展,我们构建了一个番茄叶片病害检测数据集,共包含10,853张已标注图像,专门用于番茄叶片病害识别的目标检测任务。该数据集涵盖了10种常见的番茄叶片病害类型,支持YOLO等先进的目标检测模型训练,旨在帮助研究人员和开发者提高农作物病害自动化检测的能力。

在这篇文章中,我们将从数据集概述、背景、详细信息、应用场景以及训练指南等多个角度进行全面解析,帮助研究者、开发者和农业专业人员快速理解并应用该数据集。

在这里插入图片描述

一、数据集概述

1. 数据集基本信息

本数据集为番茄叶片病害检测数据集,共包含10,853张高质量标注图像,专门用于番茄叶片病害识别的目标检测任务。数据集来源于真实的农业种植环境,涵盖了番茄植物的多个生长阶段及不同类型的病害。

数据集核心特性

  • 数据规模:10,853张高质量番茄叶片图像
  • 数据划分

    • 训练集(Train):7,842张(72%)
    • 验证集(Val):1,960张(18%)
    • 测试集(Test):1,051张(10%)
  • 目标类别:10类(涵盖病毒、细菌、真菌感染等多种病害类型)
  • 标注类型:目标检测(Bounding Box)
  • 标注格式:YOLO格式
  • 图像分辨率:调整为640×640(拉伸)
  • 适用模型:YOLO系列、Faster R-CNN、SSD等主流检测模型

2. 类别信息

类别ID类别名称英文名称描述
0番茄细菌性斑点病Tomato Bacterial Spot由细菌引起的叶片斑点病害
1番茄早疫病Tomato Early Blight由真菌引起的早期叶片病害
2番茄晚疫病Tomato Late Blight由真菌引起的晚期叶片病害
3番茄叶霉Tomato Leaf Mold由真菌引起的叶片霉变病害
4番茄叶斑病Tomato Leaf Spot由真菌引起的叶片斑点病害
5番茄红蜘蛛(二斑叶螨)Tomato Spider Mites由螨虫引起的叶片损害
6番茄目标点Tomato Target Spot由真菌引起的靶状斑点病害
7番茄黄化卷叶病毒Tomato Yellow Leaf Curl Virus由病毒引起的黄化卷叶病害
8番茄健康Tomato Healthy健康的番茄叶片
9番茄花叶病毒Tomato Mosaic Virus由病毒引起的花叶病害

二、背景与意义

1. 番茄在农业中的重要性

番茄是全球最重要的蔬菜作物之一,其种植面积广、产量高、营养价值丰富,深受消费者喜爱。番茄不仅富含维生素、矿物质和抗氧化物质,还具有多种保健功能,对人类健康具有重要意义。同时,番茄也是农民重要的经济作物,其产量和品质直接影响着农民的经济收益。

然而,番茄在生长过程中容易受到各种病害的侵袭,这些病害不仅影响作物的生长发育,还可能导致产量的大幅下降,给农业生产带来巨大的经济损失。据统计,每年因病害造成的番茄产量损失可达20%~30%,严重时甚至可能导致绝收。

2. 番茄病害的类型与危害

番茄病害主要分为以下几类:

  • 病毒病害:如番茄花叶病毒、番茄黄化卷叶病毒等,由病毒引起,传播速度快,危害严重
  • 细菌病害:如番茄细菌性斑点病,由细菌引起,容易在潮湿环境下发生
  • 真菌病害:如番茄早疫病、番茄晚疫病、番茄叶霉、番茄叶斑病、番茄目标点等,由真菌引起,是最常见的病害类型
  • 虫害:如番茄红蜘蛛(二斑叶螨),由螨虫引起,直接损害叶片

这些病害会导致叶片出现斑点、霉变、卷曲、黄化等症状,严重影响光合作用,导致产量下降、品质降低,甚至植株死亡。

3. 传统病害检测方法的局限

传统番茄病害检测主要依赖以下几种方法:

  • 人工检查:农业专家或农民逐株检查,识别病害
  • 实验室检测:采集样本,在实验室进行病原体检测
  • 经验判断:根据经验判断病害类型

这些方法存在以下局限:

  • 效率低下:人工检查需要大量时间和人力,难以大规模应用
  • 准确性不高:人的主观判断容易受到经验和疲劳的影响
  • 实时性差:无法实时监控病害情况,难以及时发现
  • 成本高昂:需要专业的农业知识和设备,成本较高
  • 覆盖范围有限:难以覆盖所有种植区域
  • 预防能力弱:往往在病害已经发生时才能发现,预防能力弱

4. AI技术在病害检测中的应用价值

人工智能技术,特别是深度学习和计算机视觉技术,为番茄病害检测提供了新的解决方案:

  • 高效检测:可以快速检测番茄叶片病害,提高检测效率
  • 高精度识别:能够精确识别各种病害类型,提高检测准确性
  • 实时监控:可以实时监控病害情况,及时发现病害
  • 自动化管理:实现病害检测的自动化,减少人工干预
  • 早期预警:在病害初期就能发现,及时采取措施
  • 成本效益高:减少人工成本,提高经济效益
  • 可扩展性强:可以扩展到其他作物病害检测

该番茄叶片病害检测数据集的发布,正是为了推动AI技术在农业病害检测领域的应用,为精准农业提供支持。

三、数据集详细信息

1. 数据采集

数据来源于真实的农业种植环境,主要采集自以下场景:

  • 温室大棚:温室大棚种植的番茄叶片
  • 露天种植:露天种植的番茄叶片
  • 不同生长阶段:番茄的不同生长阶段
  • 不同病害程度:轻度、中度、重度病害

在采集过程中,考虑了不同的采集条件和环境因素:

  • 不同光照条件:自然光、人工光照
  • 不同天气条件:晴天、阴天、雨天
  • 不同拍摄角度:俯视、侧视、斜视
  • 不同背景环境:不同背景下的番茄叶片
  • 不同病害类型:10种不同类型的病害

这种多样化的数据采集方式能够帮助模型学习不同条件下的病害特征,从而提升模型的泛化能力。

2. 数据标注

本数据集采用目标检测常见的Bounding Box标注方式对番茄叶片病害区域进行标注。标注过程由农业专家和计算机视觉专业人员共同完成,确保标注的准确性和一致性。

标注规范

  • 标注方法:矩形框(Bounding Box)标注
  • 标注内容:病害位置和类别
  • 标注精度:确保边界框准确覆盖病害区域
  • 标注流程:每张图片均经过专业标注团队标注

标注格式:YOLO标注格式

class x_center y_center width height

示例

0 0.512 0.431 0.214 0.356
1 0.621 0.542 0.187 0.265

其中:

  • class:目标类别编号(0-9,对应10种病害类型)
  • x_center:目标中心点横坐标
  • y_center:目标中心点纵坐标
  • width:目标宽度
  • height:目标高度

所有坐标均为归一化坐标(0~1)

3. 数据结构

数据集采用标准YOLO训练目录组织方式:

dataset/
├── train/
│   ├── images/
│   └── labels/
├── valid/
│   ├── images/
│   └── labels/
└── test/
    ├── images/
    └── labels/

YOLO数据配置文件

train: train/images
val: valid/images
test: test/images

nc: 10
names: ['Tomato Bacterial Spot', 'Tomato Early Blight', 'Tomato Late Blight', 
        'Tomato Leaf Mold', 'Tomato Leaf Spot', 'Tomato Spider Mites', 
        'Tomato Target Spot', 'Tomato Yellow Leaf Curl Virus', 'Tomato Healthy', 
        'Tomato Mosaic Virus']

这种结构完全符合YOLO系列目标检测框架的数据组织规范,用户可以直接将数据集用于模型训练与测试,无需额外处理。

4. 数据特点

本数据集具有以下特点:

1. 数据规模大

数据集包含10,853张高质量图片,在目标检测任务中,这样的数据规模能够有效支撑深度学习模型训练,避免过拟合问题。

2. 病害类型全面

数据集覆盖了10种不同类型的番茄叶片病害:

  • 病毒病害:番茄花叶病毒、番茄黄化卷叶病毒
  • 细菌病害:番茄细菌性斑点病
  • 真菌病害:番茄早疫病、番茄晚疫病、番茄叶霉、番茄叶斑病、番茄目标点
  • 虫害:番茄红蜘蛛(二斑叶螨)
  • 健康叶片:番茄健康

这些病害类型涵盖了番茄叶片的主要病害,能够支持全面的病害监测和诊断。

3. 场景多样

数据集包含多种农业种植场景:

  • 温室大棚:温室大棚种植的番茄叶片
  • 露天种植:露天种植的番茄叶片
  • 不同生长阶段:番茄的不同生长阶段
  • 不同病害程度:轻度、中度、重度病害

这些多样化场景能够帮助模型学习到更加丰富的病害特征,从而提高模型泛化能力。

4. 图像质量高

所有图像清晰,细节丰富,病害部位标注准确,为目标检测模型提供了高质量的训练样本。图像分辨率已调整为640×640,便于YOLOv8等深度学习模型的输入。

5. 标注精准

每张图像都包含多个标签和对应的边界框,这些标签详细描述了图像中的病害类型和位置,标注准确,无遗漏和错误。

在这里插入图片描述

四、数据集应用流程

下面是该数据集的典型应用流程,从数据获取到模型部署的完整过程:

flowchart TD
    A[下载数据集] --> B[数据预处理]
    B --> C[模型选择与配置]
    C --> D[模型训练]
    D --> E[模型评估]
    E --> F[模型优化]
    F --> G[模型部署]
    G --> H[番茄病害检测应用]
    
    subgraph 数据处理
    A
    B
    end
    
    subgraph 模型开发
    C
    D
    E
    F
    end
    
    subgraph 应用部署
    G
    H
    end

五、适用场景

1. 病害自动化检测

应用场景:温室大棚、露天种植基地

功能

  • 自动识别:自动识别番茄叶片的健康状况及病害类型
  • 病害分类:精确分类不同类型的病害
  • 病害定位:定位病害的具体位置
  • 病害评估:评估病害的严重程度

价值:帮助农业从业者通过AI技术自动识别番茄叶片的健康状况及病害类型,提高检测效率和准确性

2. 农作物健康监控

应用场景:智慧农业管理系统

功能

  • 实时监控:实时监控番茄种植区域的病害状况
  • 病害预警:提前预警病害传播
  • 病害追踪:追踪病害的传播路径
  • 数据分析:分析病害的发生规律

价值:利用训练好的AI模型,实时监控番茄种植区域的病害状况,提前预警病害传播

3. 精准农业

应用场景:现代化农业生产

功能

  • 精准防治:根据检测结果进行精准防治
  • 农药减量:减少农药使用量
  • 环境保护:减少对环境的污染
  • 成本控制:降低生产成本

价值:为精准农业提供数据支持,实现高效、节能、低污染的病害防治

4. 科研支持

应用场景:高校、科研机构

功能

  • 算法研究:用于目标检测算法研究
  • 模型对比:用于不同模型的性能对比
  • 方法创新:用于新方法的开发和创新
  • 病害研究:用于病害特征和传播规律的研究

价值:为农业科研提供宝贵的病害检测数据,推动相关领域的技术研究和发展

在这里插入图片描述

六、模型训练指南

1. 训练准备

在开始训练之前,需要做好以下准备工作:

  • 安装必要的依赖库ultralyticsnumpypandasmatplotlib
  • 配置数据集路径:确保数据集路径正确配置
  • 准备训练环境:推荐使用GPU加速训练
  • 设置训练参数:根据硬件条件调整批次大小、学习率等

2. 训练示例(YOLOv8)

使用YOLOv8进行目标检测训练:

数据配置文件(tomato_disease.yaml)

train: train/images
val: valid/images
test: test/images

nc: 10
names: ['Tomato Bacterial Spot', 'Tomato Early Blight', 'Tomato Late Blight', 
        'Tomato Leaf Mold', 'Tomato Leaf Spot', 'Tomato Spider Mites', 
        'Tomato Target Spot', 'Tomato Yellow Leaf Curl Virus', 'Tomato Healthy', 
        'Tomato Mosaic Virus']

训练代码

from ultralytics import YOLO

model = YOLO("yolov8n.pt")

model.train(
    data="tomato_disease.yaml",
    epochs=100,
    imgsz=640,
    batch=16
)

训练完成后即可进行预测:

results = model.predict("test.jpg")
print(results[0].boxes)

3. 训练技巧

为了获得更好的训练效果,建议采用以下技巧:

  • 数据增强:使用Mosaic、随机缩放、随机翻转等增强手段,增强模型泛化能力
  • 多尺度训练:使用不同尺度的输入图像,提高模型对不同大小病害的检测能力
  • 学习率调度:采用余弦退火策略,动态调整学习率
  • 批次大小:根据GPU内存情况调整,一般建议8-16
  • 模型选择:从小模型开始训练,再逐步尝试较大模型
  • 评估指标:关注mAP50和mAP50-95指标,确保模型性能
  • 早停策略:当验证集性能不再提升时停止训练,防止过拟合

4. 数据预处理建议

为了获得更好的训练效果,建议在使用该数据集时进行以下预处理:

  1. 数据增强

    • 随机水平翻转和垂直翻转
    • 随机旋转(-10°到10°)
    • 随机缩放(0.8-1.2倍)
    • 亮度、对比度、饱和度调整
    • 随机裁剪
    • 高斯模糊
  2. 图像标准化

    • 像素值归一化到[0,1]或[-1,1]
    • 调整图像大小到640×640
    • 去除图像噪声
  3. 标注处理

    • 检查标注文件的完整性
    • 确保标注框准确覆盖病害区域
    • 处理标注中的异常值

七、实践案例

案例一:智慧温室病害检测系统

应用场景:现代化温室大棚

实现步骤

  1. 在温室大棚内安装摄像头,实时采集番茄叶片图像
  2. 使用该数据集训练的YOLOv8模型,实时分析图像
  3. 系统自动识别番茄叶片病害
  4. 分类病害类型,评估病害严重程度
  5. 当发现病害时,系统发出预警
  6. 生成病害检测报告,辅助农民决策

效果

  • 病害识别准确率达到90%以上
  • 病害发现时间提前70%
  • 农药使用量减少40%
  • 番茄产量提高30%

案例二:露天种植病害监控系统

应用场景:露天番茄种植基地

实现步骤

  1. 使用无人机采集番茄叶片图像
  2. 使用训练好的模型,分析叶片病害
  3. 实时监控病害状况
  4. 当发现病害时,系统发出预警
  5. 生成病害分布图,辅助防治决策
  6. 记录所有病害数据,用于分析

效果

  • 病害发现率提高80%
  • 病害防治成本降低50%
  • 番茄品质提高40%
  • 农民收入增加35%

八、模型选择建议

根据不同的应用场景和硬件条件,推荐以下模型选择:

场景推荐模型优势
边缘设备部署YOLOv8n、YOLOv8s模型小,推理速度快,适合实时监测
服务器部署YOLOv8m、YOLOv8l精度高,适合复杂场景和大量图像分析
资源受限环境NanoDet、MobileDet计算量小,适合低性能设备
高精度需求YOLOv8x、RT-DETR精度最高,适合对准确率要求高的场景
学术研究Faster R-CNN、Mask R-CNN适合算法研究和对比实验

九、挑战与解决方案

在使用该数据集训练模型时,可能会遇到以下挑战:

1. 病害外观相似

挑战:不同类型的病害可能外观相似,容易混淆

解决方案

  • 数据增强:添加更多不同病害的样本
  • 特征提取:使用更强大的特征提取网络
  • 注意力机制:使用注意力模块,关注病害的关键特征
  • 多尺度特征:使用多尺度特征融合,适应不同病害形态

2. 光照变化

挑战:不同时间、不同环境下光照差异大

解决方案

  • 数据增强:模拟不同光照条件
  • 光照归一化:对图像进行光照归一化处理
  • 模型选择:使用对光照变化鲁棒的模型
  • 自适应阈值:根据光照条件调整检测阈值

3. 背景复杂

挑战:番茄叶片周围可能有复杂的背景

解决方案

  • 数据增强:添加更多复杂背景的样本
  • 背景分离:使用背景分离技术,突出病害区域
  • 特征提取:使用更强大的特征提取网络
  • 后处理:使用上下文信息过滤干扰

4. 小目标检测

挑战:早期的病害在图像中尺寸较小,难以检测

解决方案

  • 多尺度训练:使用不同尺度的特征图
  • 特征金字塔:构建特征金字塔,增强小目标的特征表示
  • 高分辨率输入:使用更高分辨率的输入图像
  • 小目标增强:对小目标区域进行专门处理

十、数据集质量控制

高质量的标注是数据集成功的关键。在构建该数据集时,我们采取了以下质量控制措施:

  1. 专业标注团队:由农业专家和计算机视觉专业人员共同标注
  2. 标注规范:制定详细的标注指南,确保标注一致性
  3. 多轮审核:标注完成后进行多轮审核,确保标注准确性
  4. 交叉验证:通过多人标注和比对,减少标注误差
  5. 质量评估:定期评估标注质量,及时发现和纠正问题
  6. 数据清洗:去除模糊、无效的图片
  7. 多样性保证:确保不同病害类型、不同环境条件的样本都有足够的数量
  8. 类别平衡:确保各类别样本数量相对均衡,避免类别偏置

这些措施确保了数据集的高质量,为模型训练提供了可靠的基础。

在这里插入图片描述

十一、未来发展方向

随着AI技术的不断发展,农业病害检测技术也在不断进步。未来,我们计划在以下方面进一步完善和扩展:

  1. 增加数据规模:扩充数据集规模,覆盖更多病害类型和种植环境
  2. 增加类别:细分类别,识别更多类型的病害
  3. 添加视频数据:引入视频数据,支持时序分析和动态监测
  4. 多模态融合:结合光谱图像、传感器数据等多模态信息
  5. 提供预训练模型:发布基于该数据集的预训练模型,方便研究者直接使用
  6. 开发配套工具:提供数据标注、模型训练和部署的配套工具
  7. 扩展到其他作物:将数据集扩展到其他作物病害检测
  8. 实地验证:在实际农业场景中验证模型性能

十二、总结

随着人工智能技术在农业领域的深入应用,番茄叶片病害检测数据集为AI模型的训练和研究提供了宝贵的资源。通过本数据集,研究人员和开发者可以利用YOLOv8等先进的目标检测算法,快速构建高效的病害检测系统,推动农业科技的发展。

本数据集具有以下特点:

  • 数据规模大:10,853张高质量番茄叶片图像,满足模型训练需求
  • 病害类型全面:覆盖10种不同类型的番茄叶片病害,涵盖病毒、细菌、真菌感染等多种病害类型
  • 场景多样:包含温室大棚、露天种植等多种种植场景
  • 图像质量高:图像清晰,细节丰富,病害部位标注准确
  • 标注精准:由专业人员标注,确保标注质量
  • 格式标准:采用YOLO标准格式,直接适配主流模型
  • 实用性强:可直接用于病害检测系统的开发和应用

无论是农业病害的实时监控,还是精准农业的实施,本数据集都能够为实际应用提供强大的技术支持。通过使用这个数据集,开发者可以训练出具备较高准确度的AI模型,自动识别并分类番茄叶片的病害类型,从而为农业病害管理提供有力支持。

YOLOv8作为当前目标检测领域最先进的深度学习模型之一,具有优异的检测性能和高效的推理速度,尤其适合应用于资源有限的农业领域。利用YOLOv8模型对番茄叶片病害进行检测,能够实现高精度、高速度的病害定位与分类。

借助YOLOv8的优势,可以实现以下目标:

  1. 高精度病害检测:通过YOLOv8对图像中的病害进行精准定位和分类,有效提高农作物病害的诊断准确性
  2. 实时病害预警:基于YOLOv8的高效推理速度,能够在农业生产过程中实时监控并发现潜在病害问题
  3. 大规模应用:借助YOLOv8的高效性能,能够应对大规模农田监控任务,为大面积的番茄种植区提供智能化支持

未来,随着AI技术的不断进步和数据集的不断更新,我们有理由相信,农业病害检测将变得更加智能化、高效化,为全球农业发展带来深远影响。

十三、附录:数据集使用注意事项

  1. 数据使用规范

    • 该数据集仅供学术研究和非商业用途
    • 如需商业使用,请联系数据集提供方
    • 引用该数据集时,请注明来源
  2. 环境要求

    • 建议使用Python 3.8+环境
    • 推荐使用PyTorch 1.8+或TensorFlow 2.0+
    • 训练时建议使用GPU加速
  3. 常见问题解决

    • 数据加载错误:检查数据集路径是否正确
    • 模型过拟合:增加数据增强,使用正则化技术
    • 推理速度慢:使用模型压缩技术,选择轻量化模型
    • 准确率低:检查数据预处理步骤,尝试不同的模型架构
  4. 技术支持

    • 如有技术问题,可通过数据集提供方获取支持
    • 建议加入相关学术社区,与其他研究者交流经验

通过合理使用该数据集,相信您能够在农业病害检测领域取得优异的研究成果,为精准农业的发展做出贡献。

桥梁裂缝检测数据集(4000张)|YOLO训练数据集 结构安全监测 自动巡检 无人机检测 小目标识别


前言

随着交通基础设施建设规模的不断扩大,桥梁作为关键交通枢纽,其安全性与可靠性直接关系到公共安全与经济运行。然而,在长期服役过程中,桥梁结构不可避免地会受到荷载、环境侵蚀及材料老化等多种因素影响,产生不同程度的裂缝损伤。

传统桥梁检测主要依赖人工巡检,不仅效率低、成本高,而且在高空、高风险环境下存在较大安全隐患。近年来,随着计算机视觉与深度学习技术的发展,基于图像的自动裂缝检测逐渐成为桥梁健康监测的重要发展方向。
在这里插入图片描述

而高质量的数据集,是实现高精度裂缝检测模型的核心基础。本桥梁裂缝检测数据集正是在这一背景下构建,旨在为科研与工程应用提供可靠的数据支撑。

数据集下载链接

通过网盘分享的文件:桥梁裂缝检测数据集
链接: https://pan.baidu.com/s/1-aIDtt7JQW4nhhYxY7sRqg?pwd=iu58
提取码: iu58

背景

桥梁裂缝是结构损伤最常见、最直观的表现形式之一,其发展程度直接反映结构安全状况。例如:

  • 细微裂缝:可能预示早期结构疲劳或材料老化
  • 贯穿裂缝:可能影响结构承载能力
  • 多裂缝分布:可能反映整体结构受力异常

在实际工程中,裂缝检测面临以下挑战:

  • 裂缝尺度差异大:从发丝级到宽缝结构
  • 背景复杂:污渍、水渍、阴影等干扰明显
  • 环境多变:光照、天气变化影响图像质量
  • 检测难度高:细小裂缝难以识别

传统人工检测方式难以兼顾效率与精度,而基于深度学习的自动检测方法,能够在复杂环境中实现高效识别。而这一能力的实现,依赖于高质量、多样化的数据支撑。
在这里插入图片描述


一、数据集概述

本数据集为高质量桥梁裂缝检测专用数据集,专为目标检测任务构建,聚焦桥梁结构健康监测核心需求,适配YOLO、Faster R-CNN等主流检测模型。

数据集共包含 4000张高质量标注图像,全部来源于真实桥梁工程场景,具备良好的工程适配性。

数据集目录结构如下:

database/桥梁裂缝检测数据集/
├── train/
│   └── images/
├── valid/
│   └── images/
├── test/
│   └── images/
  • train(训练集):用于模型特征学习
  • valid(验证集):用于模型调参与优化
  • test(测试集):用于模型性能评估
    在这里插入图片描述

结构标准规范,可直接接入主流检测框架,无需额外处理。


二、数据集详情

1. 数据规模与来源

  • 图像数量:4000张
  • 数据来源:真实桥梁工程采集
  • 桥梁类型:梁桥、拱桥等
  • 覆盖部位:桥墩、桥台、梁体、桥面铺装

数据覆盖桥梁关键结构区域,确保模型学习到全面的裂缝特征。


2. 场景覆盖

数据集充分考虑实际巡检环境复杂性,涵盖:

  • 多光照条件(强光、弱光、阴影)
  • 多天气情况(晴天、雨天、雾天)
  • 多拍摄角度(近景、远景、倾斜视角)
  • 多干扰背景(水渍、污渍、施工痕迹)

同时覆盖不同尺度裂缝:

  • 发丝级细裂缝
  • 中等宽度裂缝
  • 宽幅结构裂缝

有效提升模型鲁棒性与泛化能力。


3. 类别定义

本数据集为单类别检测任务

类别ID类别名称
0crack

专注于裂缝目标检测,使模型能够更集中学习裂缝的几何特征与纹理特征。


4. 标注规范

  • 标注格式:YOLO标准格式(归一化坐标)
  • 标注方式:Bounding Box(目标检测框)
  • 标注精度:高精度定位裂缝区域
  • 标注流程:多轮人工复核

标注严格控制误差范围,无明显错标、漏标问题,可直接用于训练。


5. 数据特点

  • 高精度标注:边界框一致性强
  • 多尺度裂缝覆盖:适用于小目标检测
  • 真实环境数据:贴近工程应用
  • 强泛化能力:适应复杂巡检场景

三、数据集优势

1. 工程导向明确

聚焦桥梁裂缝检测核心任务,直接服务结构安全监测需求。

2. 多场景高覆盖

涵盖多桥型、多部位、多环境,提升模型实际应用能力。

3. 高质量标注体系

多轮校验确保标注准确,减少训练噪声。

4. 标准化结构设计

兼容主流检测框架,实现快速部署。

5. 支持小目标检测

包含大量细微裂缝样本,适合高精度检测研究。


四、适用场景

本数据集可广泛应用于以下领域:

1. 桥梁自动巡检系统

用于裂缝检测模型训练,实现自动化巡检

2. 无人机巡检

结合无人机图像,实现大范围桥梁检测

3. 巡检机器人

用于桥梁底部、侧面等复杂区域检测

4. 结构健康监测

用于裂缝识别与发展趋势分析

5. 学术研究

用于小目标检测、模型轻量化等方向研究
在这里插入图片描述


五、心得

从数据集设计角度来看,这套桥梁裂缝数据集体现了典型的工程级数据构建思路。

首先,在类别设计上采用单类别策略,使模型能够专注于裂缝特征学习,避免类别干扰,这对于细粒度检测任务尤为重要。

其次,数据强调多尺度与复杂背景,这正是裂缝检测的难点所在。只有在训练阶段充分覆盖这些情况,模型在实际部署中才能保持稳定性能。

再者,数据来源真实工程场景,而非实验室模拟,这一点直接决定了模型的落地能力。

最后,这类数据集不仅服务于算法研究,更直接服务于基础设施安全。当裂缝能够被自动检测并及时预警时,其带来的社会价值远高于技术本身。


六、结语

桥梁作为重要交通基础设施,其安全监测至关重要。随着AI技术的发展,基于视觉的自动裂缝检测正在成为行业发展趋势。

本桥梁裂缝检测数据集通过高质量数据构建、多场景覆盖与标准化设计,为相关研究与工程应用提供了坚实的数据基础。无论是用于模型训练,还是系统开发,均具备较高价值。

绝缘子位置检测数据集(2000张)|YOLOv8训练数据集 电力巡检 无人机检测 输电线路监测 智能运维


前言

随着电力系统规模的不断扩大与智能电网建设的持续推进,传统依赖人工巡检的运维方式正面临效率与安全性的双重挑战。尤其是在输电线路巡检过程中,绝缘子作为关键电力设备,其状态与位置直接关系到线路运行的安全性与稳定性。

在复杂地形与高空作业环境下,人工巡检不仅成本高、效率低,而且存在较大的安全风险。近年来,基于计算机视觉的自动检测技术逐渐成为电力巡检的重要发展方向,而高质量数据集则是实现高性能检测模型的核心基础。
在这里插入图片描述

本YOLOv8绝缘子位置检测数据集,正是在这一背景下构建,旨在为电力行业智能巡检提供稳定可靠的数据支撑。

数据集下载链接

通过网盘分享的文件:电力行业专用的绝缘子位置检测数据集
链接: https://pan.baidu.com/s/1JjPuSuUTLfBh-YXmo6xoBA?pwd=upf2
提取码: upf2

背景

绝缘子广泛应用于输电线路中,用于支撑导线并保证电气绝缘性能,其分布广泛、数量庞大。在实际巡检过程中,绝缘子检测面临以下挑战:

  • 分布范围广:跨越山区、河流、城市等复杂环境
  • 目标尺度变化大:远距离小目标与近距离大目标并存
  • 背景复杂:天空、植被、建筑物等干扰明显
  • 环境多变:光照、天气变化显著影响图像质量

传统人工巡检难以及时、全面掌握设备状态,而基于YOLO等目标检测模型的自动识别方法,可以实现对绝缘子位置的快速定位与分析。

构建一个高质量、标准化、真实场景驱动的数据集,是提升模型性能与落地能力的关键。
在这里插入图片描述


一、数据集概述

本数据集专为YOLO目标检测模型训练设计,聚焦电力行业绝缘子位置检测任务,提供 2000张高质量标注图像,可直接用于模型训练、验证与测试。

数据集结构严格遵循YOLO系列模型标准,目录如下:

database/电力行业专用的绝缘子位置检测数据集/
├── train/
│   └── images/
├── valid/
│   └── images/
├── test/
│   └── images/
  • train(训练集):用于模型特征学习与参数优化
  • valid(验证集):用于模型调参与性能监控
  • test(测试集):用于评估模型泛化能力
    在这里插入图片描述

标准化结构设计,无需额外配置即可直接启动训练流程。


二、数据集详情

1. 数据规模与来源

  • 图像数量:2000张
  • 数据来源:真实电力巡检场景
  • 场景类型:输电线路、野外环境等
  • 图像质量:清晰、无明显模糊

数据覆盖多种实际巡检环境,具备良好的工程适配性。


2. 场景覆盖

为提升模型鲁棒性,数据集涵盖多种复杂环境:

  • 不同地理环境(山区、平原、城市)
  • 多天气条件(晴天、阴天、雾天)
  • 多光照情况(强光、逆光、阴影)
  • 多拍摄角度(远景、近景、俯视)

这些因素有助于模型适应真实巡检中的复杂工况。


3. 类别定义

本数据集采用单类别检测方式

类别ID类别名称
0绝缘子

类别设计简洁,专注于目标定位任务,避免多类别干扰,提高检测效率。


4. 标注规范

  • 标注格式:YOLO标准TXT格式
  • 标注内容:类别ID + 归一化边界框
  • 标签与图像一一对应
  • 标注精度高、一致性强

所有标注均经过人工校验,确保数据质量可靠,可直接用于监督学习训练。


5. 数据特点

  • 高质量标注:精准定位绝缘子目标
  • 真实场景数据:贴近实际巡检环境
  • 强泛化能力:适应多种复杂条件
  • 标准化结构:即拿即用

三、数据集优势

1. 专注核心检测任务

单类别设计聚焦绝缘子位置检测,提高模型训练效率与稳定性。

2. 高度贴近实际应用

数据来源真实巡检场景,确保模型具备良好落地能力。

3. 标准化数据组织

完全兼容YOLOv5、YOLOv8等主流框架,降低开发门槛。

4. 强鲁棒性支持

多环境、多角度数据分布,提升模型适应能力。

5. 工程价值突出

可直接服务电力巡检系统开发与部署。


四、适用场景

本数据集可广泛应用于电力智能运维相关领域:

1. 无人机巡检系统

用于输电线路巡检,实现绝缘子自动定位

2. 智能监控系统

用于电力设备状态监测与异常检测

3. 输电线路安全管理

辅助设备识别与巡检数据分析

4. 巡检机器人

用于复杂地形下的自动化巡检

5. AI算法研究

用于目标检测模型优化与实验验证
在这里插入图片描述


五、心得

从数据集设计角度来看,这套绝缘子检测数据集具有明显的工程导向。

首先,采用单类别设计,使模型专注于目标定位任务,减少不必要的复杂性,这在实际部署中非常重要。

其次,数据强调真实场景覆盖,而非理想化环境,这一点直接决定了模型在实际应用中的表现。

再者,数据结构完全标准化,极大降低了使用门槛,使开发者可以快速进入模型训练阶段。

最后,这类数据集的价值不仅在于训练模型,更在于推动电力行业智能化转型。当巡检实现自动化后,不仅效率提升,安全性也将显著增强。


六、结语

随着智能电网建设的不断推进,基于计算机视觉的自动巡检技术正成为电力运维的重要支撑手段。绝缘子检测作为关键环节,其数据质量直接影响模型性能与系统可靠性。

本YOLOv8绝缘子位置检测数据集通过高质量数据构建、真实场景覆盖以及标准化设计,为相关研究与工程应用提供了坚实基础。无论是用于模型训练还是系统开发,均具备较高价值。