# 此项目不会维护 仅供入门学习使用 里面的模型也很简单
# 本科毕业设计:
主要目的是做一个基于图像的胶囊表面缺陷检测,结合opencv和图像处理技术,再通过深度学习训练个模型达到效果
目前问题:对于胶囊值缺了一角或者比较小的裂痕神经网络识别并不好,因为电脑配置不行,没试过VGG这些比较深的模型,
感觉只有用带注意力模块的卷积模型才能分类,因为这个问题其实和区分两个品种不同但是区别很小的动物的问题很像,尴尬的是
我没有能力去实现注意力网络
# 已经能分类简单缺陷:
完成作品的在文件夹FinalVer里面
VideoPart.py:获取摄像头图像,保存训练数据
Data_Trans.py:将图片和标记生成TFRecord格式的数据流
capsule_inspection.py:模型构建,训练和测试,里面虽然写了bn层但是没有使用,使用了bn好像反而会影响结果
# 训练数据格式:
我是将每一类的图像都放在了同一个文件夹,区分的方式是文件的名字(文件命名是在VideoPart中完成的)。读取
的时候使用了re模块匹配名称打上对应的标签,后来我觉得分文件夹更好,但是懒得改了。
类别命名方式:完整的胶囊:0_xxxxx.jpg,凹陷的胶囊:1_xxxxx.jpg,缺少身体的:3_xxxxx.jpg,缺少帽子的:4_xxxxx.jpg
# 照片质量:
[图片大概是这样](./train/0_src0.jpg)
每张照片我用的普通1080p的usb摄像头照的,然后截取的227x227大小的地方,实际上就是左上角的那一小块,背景是用临摹板(led
背照的板子)主要是为了消除阴影的影响,我也没测试过阴影影不影响。照相的时候会可以小台灯照一下目标,改变一下光照环境
增强数据。
# 训练数据数量:
每一类缺陷我照了3000张图片,最开始我用反转来增强数据,但是效果并不明显,可能是胶囊图像并不复杂,简单的反转增加亮度并
不能消除过拟合和不够泛化的问题,最后我还是手动调整胶囊位置多照几张,因为实在是照得累....于是就只照了3000张,其实每一
类实际照的胶囊数最多500个。
# 训练次数:
总共迭代了400次,用的自适应梯度下降,虽然不是很光滑的下降曲线,但是很快就是收敛到loss值只有0.2左右,我没有继续训练
不知道过拟合有没有发生,但是测试效果非常好,无论光照变化还是胶囊位置变化检测效果几乎百分之百。
MarcoPage
- 粉丝: 4320
- 资源: 8838
最新资源
- egui 的 D3D9 后端 .zip
- selective-scan-0.0.2-cp310-cp310-linux-x86-64.whl (CUDA12.1 不含core)
- EngineUtilities 是一个专为自定义游戏引擎设计的数学资源和数据结构库 .zip
- Spring Boot驱动的Web平台:手工艺品销售系统开发与实践
- ETHash 的 DirectX Compute Shader 实现.zip
- EVE Online 扩展 UI.zip
- Evergine 低级 API 示例 .zip
- ExaGear 的 DirectX 实用程序.zip
- Frank D. Luna 的“使用 DirectX 12 进行 3D 游戏编程简介”的非官方仓库 .zip
- selective-scan-0.0.2-cp310-cp310-linux-x86-64.whl.zip (CUDA 11.8 包含core)
- Frank D. Luna 的书《使用 DirectX 11 进行 3D 游戏编程简介》的 Visual Studio 2015 版本.zip
- Frank D. Luna 的书《使用 DirectX 11 进行 3D 游戏编程简介》的非官方源代码库 .zip
- Frank Luna 的《使用 DirectX 12 进行 3D 游戏编程简介》的 Vulkan 移植版.zip
- selective-scan-0.0.2-cp310-cp310-linux-x86-64.whl.zip(CUDA 12.1 包含core)
- Game Contra trên nền tảng DirectX,là đồ án môn học Nhập Môn Phát Triển Game - UIT.zip
- Gamebaby Rock Sun 的 D3D12 DirectX 光线追踪 C 风格示例(适合初学者).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈