# 基于pytorch的颜色识别方案 **Repository Path**: blue-net-vision/ColorDetector-base-on-pytorch ## Basic Information - **Project Name**: 基于pytorch的颜色识别方案 - **Description**: 为了解决hsv颜色识别方案的低鲁棒性,决定开发一个基于深度学习的颜色识别方案,从而提高视觉的鲁棒性 - **Primary Language**: Python - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-07-28 - **Last Updated**: 2025-05-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 基于pytorch的颜色识别 本项目是针对工创比赛做的一次技术更新,希望构建一个神经网络代替传统的hsv颜色识别方法,以提高识别的准确率和鲁棒性。 ## 基本思想 工创物料的识别过程中给于定位点,代码会不断预测这个定位点内的颜色(通过神经网络模型) ## 实现思路 只需要训练一个可以快速分辨**红绿蓝白**的模型即可。然后向模型输入定位点周围的图像,即可预测出定位点周围的颜色(四分类问题) ## 文件夹规范 - datas: 存放数据集,包含 - train: 训练集,包含 - img: 图片 - label: 标签 - test: 测试集,包含 - img: 图片 - label: 标签 - model: 存放网络模型 - utils: 存放工具函数,包含文件 - dataset.py: 数据集类 - detect.py: 识别函数 - train.py: 训练代码 - test.py: 测试代码 - main.py: 主文件 特殊的,在`DataSet2`设计中,允许使用文件夹作为标签,如下所示 - datas: 存放数据集,包含 - train: 训练集,包含 - R: 标签名 - img: 图片 - G: 标签名 - img: 图片 - B: 标签名 - img: 图片 - W: 标签名 - img: 图片 - test: 测试集,包含 - R: 标签名 - img: 图片 - G: 标签名 - img: 图片 - B: 标签名 - img: 图片 - W: 标签名 - img: 图片 - model: 存放网络模型 - utils: 存放工具函数,包含文件 - dataset.py: 数据集类 - detect.py: 识别函数 - train.py: 训练代码 - test.py: 测试代码 - main.py: 主文件 ## 说明 在仓库中会包含一个训练好的模型,这个模型是目前训练的最好的模型,使用的时候将文件名改为`best_model.pth`即可 为了项目有较高的可移植性,对于不同的项目,只需要修改主文件的逻辑即可,这个项目只包含了一个简单的颜色识别模型,可以根据自己的需求修改 ## 使用方法 **注意**: pytorch的安装需要**64位系统**,安装树莓派系统或者Ubuntu的时候需要安装**64位系统**,否则无法安装pytorch 在具有cuda的Windows电脑环境下,建议使用`conda`环境,直接在命令行输入 ```shell conda env create -f requirements.yml ``` 而在Linux或者没有cuda环境的Windows电脑上,可以使用`pip`安装 ```shell pip install -r requirements.txt ``` 主文件中使用了与树莓派远程图传的代码,并且`main.py`部署在树莓派中,在树莓派上运行了`main.py`后,在本地电脑运行Debug.py文件,将查看末尾的注释,启动相关代码,即可在树莓派上运行深度学习,在本地电脑查看图像