## 基本功能
- 调用摄像头拍照并识别照片中的物体
- 加载本地图片或包含图片的文件夹逐张识别
## 环境依赖
项目基于python3.6开发,推荐使用pycharm打开。没有将venv依赖包目录加入git上传,请自行安装依赖。
- 安装依赖,在项目根目录下输入`pip install -r requirements.txt`
主要包含以下模块:
- opencv或cv2
- PySide2
- keras
- tensorflow
## 识别模型说明
模型脚本现有两个(Jupyter Notebook编写),`Keras_Cifar_CNN_Introduce.ipynb`是自行设计搭建的CNN网络,结构及性能如下。
```
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
conv2d_1 (Conv2D) (None, 32, 32, 32) 896
_________________________________________________________________
dropout_1 (Dropout) (None, 32, 32, 32) 0
_________________________________________________________________
conv2d_2 (Conv2D) (None, 32, 32, 32) 9248
_________________________________________________________________
max_pooling2d_1 (MaxPooling2 (None, 16, 16, 32) 0
_________________________________________________________________
conv2d_3 (Conv2D) (None, 16, 16, 64) 18496
_________________________________________________________________
dropout_2 (Dropout) (None, 16, 16, 64) 0
_________________________________________________________________
conv2d_4 (Conv2D) (None, 16, 16, 64) 36928
_________________________________________________________________
max_pooling2d_2 (MaxPooling2 (None, 8, 8, 64) 0
_________________________________________________________________
conv2d_5 (Conv2D) (None, 8, 8, 128) 73856
_________________________________________________________________
dropout_3 (Dropout) (None, 8, 8, 128) 0
_________________________________________________________________
conv2d_6 (Conv2D) (None, 8, 8, 128) 147584
_________________________________________________________________
max_pooling2d_3 (MaxPooling2 (None, 4, 4, 128) 0
_________________________________________________________________
flatten_1 (Flatten) (None, 2048) 0
_________________________________________________________________
dropout_4 (Dropout) (None, 2048) 0
_________________________________________________________________
dense_1 (Dense) (None, 2500) 5122500
_________________________________________________________________
dropout_5 (Dropout) (None, 2500) 0
_________________________________________________________________
dense_2 (Dense) (None, 1500) 3751500
_________________________________________________________________
dropout_6 (Dropout) (None, 1500) 0
_________________________________________________________________
dense_3 (Dense) (None, 200) 300200
_________________________________________________________________
dropout_7 (Dropout) (None, 200) 0
_________________________________________________________________
dense_4 (Dense) (None, 10) 2010
=================================================================
Total params: 9,463,218
Trainable params: 9,463,218
Non-trainable params: 0
_________________________________________________________________
```
`Keras_Cifar_ResNet.ipynb`是Kares官网上提供的ResNet程序,包含V1和V2两个版本。
自设计的模型由于全连接层较多训练好的模型大约有100MB,就不放在repo里了,训练大约10分钟可以跑完200个epoch(batch_size=500),结果如下:
**val_acc: 0.8215**
**scores: 0.8128**
crosstab:
| lab\pre | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| :----: | :----: | :----: | :----: |:----: |:----: | :----: | :----: | :----: | :----: | :----: |
| 0 | 797 | 8 | 62 | 18 | 9 | 5 | 13 | 3 | 72 | 13 |
| 1 | 7 | 933 | 4 | 5 | 3 | 1 | 4 | 0 | 7 | 36 |
| 2 | 29 | 0 | 775 | 34 | 58 | 34 | 51 | 9 | 10 | 0 |
| 3 | 13 | 2 | 69 | 693 | 35 | 112 | 51 | 16 | 5 | 4 |
| 4 | 9 | 1 | 57 | 57 | 792 | 23 | 39 | 21 | 1 | 0 |
| 5 | 1 | 45 | 184 | 25 | 697 | 13 | 26 | 2 | 1 |
| 6 | 3 | 3 | 36 | 51 | 19 | 15 | 869 | 0 | 4 | 0 |
| 7 | 10 | 2 | 26 | 49 | 57 | 35 | 2 | 813 | 1 | 5 |
| 8 | 32 | 13 | 13 | 17 | 8 | 2 | 6 | 3 | 898 | 8 |
| 9 | 18 | 60 | 6 | 23 | 4 | 1 | 10 | 4 | 13 | 861 |
当前得到的效果较优的模型文件`cifar10_ResNet29v2_model.068.h5`,是`Keras_Cifar_ResNet.ipynb`脚本采用Cifar10数据集在Google Colab上进行训练(Python3&GPU加速),迭代70个epoch,择取验证集最佳的一次(第68次,val_acc=85.65%),训练过程约1小时。
## 使用说明
- 安装环境依赖
- 运行根目录下的`main.py`
项目默认加载相对路径中的`Images`文件夹来打开图片或图片文件夹,默认加载`Models/cifar10_ResNet29v2_model.068.h5`作为打开项目时的使用的模型,如有需要请自行修改`Core/CameraMainWin.py`和`Core/ImageRecognition.py`
## 项目结构
```
IMG-REC
├── Core
│ ├── CameraMainWin.py # 主界面逻辑
│ ├── ImageRecognition.py # 图片识别类
│ ├── ResultWid.py # 多张图片识别结果页面逻辑
│ └── SingleResultWid.py # 单张图片识别结果页面逻辑
├── Images # 图片集默认打开此文件夹
│ ├── dataset3 # 网上找的图片集
│ └── myset # 自己拍摄的图片集
├── Models # 训练好的模型
│ ├── cifar100_ResNet20v1_model.155.h5 # 数据集_网络结构_训练次数
│ └── cifar10_ResNet29v2_model.068.h5 # 代码默认加载的模型
├── NetJupyterNotes
│ ├── cifar10_model.ipynb # 自行设计编写的模型脚本
│ └── Keras_Cifar_ResNet.ipynb # Keras官网的ResNet示例脚本
├── Qt_Ui # QtDesigner生成的布局文件和py-uic转换后的布局脚本
│ ├── cameraWin.ui
│ ├── resultWid.ui
│ ├── singleResultWid.ui
│ ├── ui_cameraWin.py
│ ├── ui_resultWid.py
│ └── ui_singleResultWid.py
├── LICENSE
├── main.py
├── README.md
└── requirement.txt
```
## 作者和版权声明
本项目采用[MIT协议](https://github.com/Jyunmau/IMG-REC/blob/master/LICENSE)。
项目程序主逻辑及打包发布和resnet训练由@Jyunmau完成。
自建模型设计及训练由@cagaha完成。
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
人工智能项目资料- 【探索人工智能的宝藏之地】 无论您是计算机相关专业的在校学生、老师,还是企业界的探索者,这个项目都是为您量身打造的。无论您是初入此领域的小白,还是寻求更高层次进阶的资深人士,这里都有您需要的宝藏。不仅如此,它还可以作为毕设项目、课程设计、作业、甚至项目初期的立项演示。 【人工智能的深度探索】 人工智能——模拟人类智能的技术和理论,使其在计算机上展现出类似人类的思考、判断、决策、学习和交流能力。这不仅是一门技术,更是一种前沿的科学探索。 【实战项目与源码分享】 我们深入探讨了深度学习的基本原理、神经网络的应用、自然语言处理、语言模型、文本分类、信息检索等领域。更有深度学习、机器学习、自然语言处理和计算机视觉的实战项目源码,助您从理论走向实践,如果您已有一定基础,您可以基于这些源码进行修改和扩展,实现更多功能。 【期待与您同行】 我们真诚地邀请您下载并使用这些资源,与我们一起在人工智能的海洋中航行。同时,我们也期待与您的沟通交流,共同学习,共同进步。让我们在这个充满挑战和机遇的领域中共同探索未来!
资源推荐
资源详情
资源评论
收起资源包目录
实践作业,基于卷积神经网络的图像识别.zip (21个子文件)
资料总结
NetJupyterNotes
cifar10_model.ipynb 247KB
Keras_Cifar_ResNet.ipynb 18KB
Core
ImageRecognition.py 3KB
ResultWid.py 1KB
CameraMainWin.py 4KB
SingleResultWid.py 974B
main.py 609B
LICENSE 1KB
.idea
IMG-REC.iml 466B
misc.xml 405B
modules.xml 266B
Qt_Ui
ui_resultWid.py 4KB
resultWid.ui 3KB
singleResultWid.ui 2KB
ui_singleResultWid.py 3KB
cameraWin.ui 3KB
ui_cameraWin.py 4KB
requirement.txt 679B
README.md 7KB
Models
cifar10_ResNet29v2_model.068.h5 10.1MB
cifar100_ResNet20v1_model.155.h5 3.43MB
共 21 条
- 1
资源评论
妄北y
- 粉丝: 1w+
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功