当前位置: 首页 > news >正文

Python卷积神经网络(CNN)来识别和计数不同类型的工业零件

以下三种类型工业零件为例,使用卷积神经网络(CNN)来识别和计数不同类型的工业零件。以下是Python实现步骤

  1. 数据准备:收集并标注包含不同形状(如方形、圆形、扇形)的工业零件图像数据集。

  2. 模型选择:选择一个预训练的深度学习模型(如ResNet、VGG或MobileNet)作为基础模型,并进行微调。

  3. 模型训练:使用标注好的数据集训练模型,使其能够识别不同形状的零件。

  4. 零件计数:在测试图像上应用训练好的模型,识别并计数不同类型的零件。

代码示例如下,使用Keras和TensorFlow来实现这个系统:

import tensorflow as tf
from tensorflow.keras import layers, models
from tensorflow.keras.preprocessing.image import ImageDataGenerator
import numpy as np# 1. 数据准备
train_datagen = ImageDataGenerator(rescale=1./255, validation_split=0.2)train_generator = train_datagen.flow_from_directory('path_to_dataset',target_size=(150, 150),batch_size=32,class_mode='categorical',subset='training'
)validation_generator = train_datagen.flow_from_directory('path_to_dataset',target_size=(150, 150),batch_size=32,class_mode='categorical',subset='validation'
)# 2. 模型选择
model = models.Sequential([layers.Conv2D(32, (3, 3), activation='relu', input_shape=(150, 150, 3)),layers.MaxPooling2D((2, 2)),layers.Conv2D(64, (3, 3), activation='relu'),layers.MaxPooling2D((2, 2)),layers.Conv2D(128, (3, 3), activation='relu'),layers.MaxPooling2D((2, 2)),layers.Conv2D(128, (3, 3), activation='relu'),layers.MaxPooling2D((2, 2)),layers.Flatten(),layers.Dense(512, activation='relu'),layers.Dense(3, activation='softmax')  # 3 classes: square, circle, sector
])# 3. 模型训练
model.compile(optimizer='adam',loss='categorical_crossentropy',metrics=['accuracy'])history = model.fit(train_generator,steps_per_epoch=train_generator.samples // train_generator.batch_size,validation_data=validation_generator,validation_steps=validation_generator.samples // validation_generator.batch_size,epochs=10
)# 4. 零件计数
from tensorflow.keras.preprocessing import imagedef count_parts(image_path):img = image.load_img(image_path, target_size=(150, 150))img_array = image.img_to_array(img)img_array = np.expand_dims(img_array, axis=0)img_array /= 255.0predictions = model.predict(img_array)predicted_class = np.argmax(predictions, axis=1)class_labels = {0: 'square', 1: 'circle', 2: 'sector'}return class_labels[predicted_class[0]]# 示例:计数图像中的零件
image_path = 'path_to_test_image'
print(f"The part in the image is a: {count_parts(image_path)}")

相关文章:

Python卷积神经网络(CNN)来识别和计数不同类型的工业零件

以下三种类型工业零件为例,使用卷积神经网络(CNN)来识别和计数不同类型的工业零件。以下是Python实现步骤: 数据准备:收集并标注包含不同形状(如方形、圆形、扇形)的工业零件图像数据集。 模型…...

MoonSharp 文档二

目录 6.Sharing objects 我们先来简单谈谈类型描述符 先说类型描述 稍微复杂一点 调用静态成员 应该使用 “:” 还是 “.” 重载 ByRef 参数(C# 中的 ref/out) 索引器 userdata 上的运算符和元方法 扩展方法 事件 关于 InteropAccessMode 的…...

android 支持自定义布局、线程安全、避免内存泄漏的 Toast 工具类

支持自定义布局:可以灵活地显示自定义样式的 Toast。 线程安全:确保在主线程中显示 Toast,避免崩溃。 避免内存泄漏:使用 ApplicationContext 和取消机制,防止内存泄漏问题。 工具类:作为一个通用的工具…...

景联文科技:以精准数据标注赋能AI进化,构筑智能时代数据基石

在人工智能技术席卷全球的浪潮中,高质量数据已成为驱动AI模型进化的核心燃料。作为全球领先的AI数据服务解决方案提供商,景联文科技深耕数据标注领域多年,以技术为基、以专业为本,致力于为全球客户提供全场景、高精度、多模态的数…...

Mysql的卸载安装配置以及简单使用

MySQL其它问题已经更新在:MySQL完善配置---可视化-CSDN博客 一、卸载 ①控制面板卸载 ②C盘隐藏项目>ProgramData>mysql相关文件夹,还有Program file下的MySQL文件夹 ③开始菜单栏搜索>服务,找到MySQL相关服务删除,如果再…...

使用 ResponseBodyEmitter 实现异步响应式数据流处理

1. 概述 1.1 什么是 ResponseBodyEmitter ResponseBodyEmitter 是 Spring MVC 提供的一个接口,用于支持异步返回响应数据流。它允许在控制器方法中逐步发送数据给客户端,而无需一次性生成完整的响应。 1.2 使用场景 实时数据推送(如股票行情、聊天消息等)。大量数据分批…...

Uniapp项目运行到微信小程序、H5、APP等多个平台教程

摘要:Uniapp作为一款基于Vue.js的跨平台开发框架,支持“一次开发,多端部署”。本文将手把手教你如何将Uniapp项目运行到微信小程序、H5、APP等多个平台,并解析常见问题。 一、环境准备 在开始前,请确保已安装以下工具…...

Ubuntu 下 nginx-1.24.0 源码分析 - cycle->modules[i]->type

Nginx 中主要有以下几种模块类型 类型 含义 NGX_CORE_MODULE 核心模块(如进程管理、错误日志、配置解析)。 NGX_EVENT_MODULE 事件模块(如 epoll、kqueue 等 IO 多路复用机制的实现)。 NGX_HTTP_MODULE HTTP 模块&#xf…...

基于SpringBoot的“文物管理系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“文物管理系统”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统总体功能模块图 E-R实体图 系统首页界面 系统…...

dify + ollama + deepseek-r1+ stable-diffusion 构建绘画智能体

故事背景 stable-diffusion 集成进 dify 后,我们搭建一个小智能体,验证下文生图功能 业务流程 #mermaid-svg-6nSwwp69eMizP6bt {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-6nSwwp69eMiz…...

Android原生gif动图加载AnimatedImageDrawable

Android原生gif动图加载AnimatedImageDrawable 从Android P(9.0)开始,Android系统支持gif动图的原生控件AnimatedImageDrawable,可以播放加载gif动图。 AnimatedImageDrawable官方文档链接: https://developer.andro…...

Windows 系统 Docker Desktop 入门教程:从零开始掌握容器化技术

文章目录 前言一、Docker 简介二、Docker Desktop 安装2.1 系统要求2.2 安装步骤 三、Docker 基本概念四、Docker 常用命令五、实战:运行你的第一个容器5.1 拉取并运行 Nginx 容器5.2 查看容器日志5.3 停止并删除容器 六、总结 前言 随着云计算和微服务架构的普及&…...

记录小白使用 Cursor 开发第一个微信小程序(二):创建项目、编译、预览、发布(250308)

文章目录 记录小白使用 Cursor 开发第一个微信小程序(二):创建项目、编译、预览、发布(250308)一、创建项目1.1 生成提示词1.2 生成代码 二、编译预览2.1 导入项目2.2 编译预览 三、发布3.1 在微信开发者工具进行上传3…...

实战 - 使用 AutoAWQ 进行量化

文章目录 一、准备1、安装 autoawq2、模型准备 二、量化config.json 文件变化 三、加载量化后模型量化后的输出原始输出对比 四、查看模型的精度1、查看模型卡2、查看 config.json 中的 torch_dtype3、打印模型信息4、model.dtype 未必是模型精度 一、准备 1、安装 autoawq p…...

C++20 格式化库:强大的字符串格式化工具

文章目录 格式化语法常见用法1. 填充和对齐2. 数值格式化3. 进制格式化4. 自定义类型 示例代码注意事项 C20 的格式化库是一个强大的工具,用于处理字符串的格式化操作。它提供了类似于 Python 中 str.format() 的功能,但语法和用法更符合 C 的风格。以下…...

【一文学会 HTML5】

目录 HTML概述基本概念HTML 发展历程HTML 基本结构 网页基本标签标题标签&#xff08;<h1> - <h6>&#xff09;段落标签&#xff08;<p>&#xff09;换行标签&#xff08;<br>&#xff09;水平线标签&#xff08;<hr>&#xff09;注释&#xff0…...

如何在WPS中接入DeepSeek并使用OfficeAI助手(超细!成功版本)

目录 第一步&#xff1a;下载并安装OfficeAI助手 第二步&#xff1a;申请API Key 第三步:两种方式导入WPS 第一种:本地大模型Ollama 第二种APIKey接入 第四步&#xff1a;探索OfficeAI的创作功能 工作进展汇报 PPT大纲设计 第五步&#xff1a;我的使用体验(体验建议) …...

蓝耘智算 + 通义万相 2.1:为 AIGC 装上 “智能翅膀”,翱翔创作新天空

1. 引言&#xff1a;AIGC 的崛起与挑战 在过去几年中&#xff0c;人工智能生成内容&#xff08;AIGC&#xff09;技术突飞猛进。AIGC 涉及了文本生成、图像创作、音乐创作、视频制作等多个领域&#xff0c;并逐渐渗透到日常生活的方方面面。传统的内容创作方式已经被许多人类创…...

电脑如何在系统默认的壁纸中切换自己喜欢的

1、声明&#xff1a;该切换壁纸仅支持win10。 当你想去切换系统默认的壁纸&#xff0c;但是不知道该怎么切换&#xff0c;别慌&#xff0c;小亦教你几招帮你快速切换自定义壁纸。 我们平常使用的win10桌面壁纸大部分都是 简单、朴素的壁纸&#xff0c;但如果你想要切换自己喜…...

【大模型安全】安全解决方案

【大模型安全】安全解决方案 1.技术层面2.数据层面数据收集阶段训练阶段模型推理阶段 1.技术层面 在使用大语言模型时&#xff0c;通常有几种选择&#xff1a;一种是采用封装好的大语言模型SaaS云服务&#xff1b;另一种是在公有云上部署自有的大语言模型&#xff0c;并通过权…...

从游戏引擎到自动驾驶:聊聊八叉树(Octree)这个‘空间管理大师’的跨界打工史

从游戏引擎到自动驾驶&#xff1a;八叉树的跨界进化论 1980年代的一个深夜&#xff0c;约翰霍普金斯大学实验室里&#xff0c;一位计算机图形学研究员正对着闪烁的CRT显示器皱眉。他需要找到一种方法&#xff0c;让当时性能有限的计算机也能流畅渲染三维场景。这个看似普通的需…...

HunyuanVideo-Foley创意音效作品展:突破传统声音设计的边界

HunyuanVideo-Foley创意音效作品展&#xff1a;突破传统声音设计的边界 1. 当AI遇见声音艺术 声音设计领域正在经历一场革命。传统Foley音效制作需要大量物理道具和录音设备&#xff0c;而AI技术的引入让声音创作突破了物理限制。HunyuanVideo-Foley作为新一代AI音效生成工具…...

GTE-Base-ZH模型服务监控与运维:使用Prometheus和Grafana

GTE-Base-ZH模型服务监控与运维&#xff1a;使用Prometheus和Grafana 当你把GTE-Base-ZH模型部署上线&#xff0c;开始对外提供服务后&#xff0c;心里是不是总有点不踏实&#xff1f;服务现在运行得怎么样&#xff1f;有没有人用&#xff1f;响应快不快&#xff1f;服务器资源…...

ImageSearch:5分钟掌握本地千万级图片搜索的终极指南

ImageSearch&#xff1a;5分钟掌握本地千万级图片搜索的终极指南 【免费下载链接】ImageSearch 基于.NET8的本地硬盘千万级图库以图搜图案例Demo和图片exif信息移除小工具分享 项目地址: https://gitcode.com/gh_mirrors/im/ImageSearch 你是否曾在电脑里堆积如山的照片…...

Windows/Mac双平台实测:FORCE PRO 6.3.0求解器从注册到下载的完整配置流程

Windows/Mac双平台实测&#xff1a;FORCE PRO 6.3.0求解器从注册到下载的完整配置流程 在工程优化与控制领域&#xff0c;FORCE PRO求解器凭借其高效的数值计算能力和灵活的接口设计&#xff0c;已成为众多开发者的首选工具。最新发布的6.3.0版本在算法效率和平台兼容性上都有…...

NaViL-9B图文理解教程:从上传图片到获取结构化描述的完整步骤

NaViL-9B图文理解教程&#xff1a;从上传图片到获取结构化描述的完整步骤 1. 认识NaViL-9B多模态模型 NaViL-9B是一款原生支持多模态交互的大语言模型&#xff0c;能够同时处理文本和图像信息。与传统的纯文本模型不同&#xff0c;它可以直接"看懂"图片内容&#x…...

如何高效突破AI编辑器限制:自动化Pro功能激活的技术实践

如何高效突破AI编辑器限制&#xff1a;自动化Pro功能激活的技术实践 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your t…...

comsol地热井周期性抽采回灌 浅层地热水利用,非均匀周期循环抽住。 夏季注热抽冷冬季注冷抽...

comsol地热井周期性抽采回灌 浅层地热水利用&#xff0c;非均匀周期循环抽住。 夏季注热抽冷冬季注冷抽热 comsol论文复现&#xff0c;建模指导地热井的周期性调度像极了呼吸运动。我盯着屏幕上跳动的温度场云图&#xff0c;突然意识到这种冷热交替的运作模式&#xff0c;本质上…...

当你的STM32F0没有VTOR:用SRAM重映射实现IAP升级的完整指南(附代码)

当你的STM32F0没有VTOR&#xff1a;用SRAM重映射实现IAP升级的完整指南&#xff08;附代码&#xff09; 在嵌入式开发中&#xff0c;IAP&#xff08;In-Application Programming&#xff09;功能对于远程固件更新至关重要。然而&#xff0c;当使用Cortex-M0内核的STM32F0系列芯…...

Android 11文件权限避坑指南:为什么你的APP无法修改原文件?

Android 11存储权限深度解析&#xff1a;从沙盒机制到实战解决方案 在去年的一次应用升级中&#xff0c;我们团队遇到了一个棘手的问题&#xff1a;用户反馈图片编辑后无法保存到原位置。经过排查&#xff0c;发现这是Android 11引入的存储权限机制变化导致的。作为开发者&…...