Use this package to train your keyhole and predict it rapidly and right
Project description
使用U-net作为模型主体用于训练和预测匙孔图像
目录
- 仓库更新 Top News
- 相关仓库 Related code
- 性能情况 Performance
- 所需环境 Environment
- 训练步骤 How2train
- 预测步骤 How2predict
- 评估步骤 miou
- 参考资料 Reference
Top News
2022-03:进行大幅度更新、支持step、cos学习率下降法、支持adam、sgd优化器选择、支持学习率根据batch_size自适应调整。
BiliBili视频中的原仓库地址为:https://github.com/bubbliiiing/unet-pytorch/tree/bilibili
2020-08:创建仓库、支持多backbone、支持数据miou评估、标注数据处理、大量注释等。
相关仓库
| 模型 | 路径 |
|---|---|
| Unet | https://github.com/bubbliiiing/unet-pytorch |
| PSPnet | https://github.com/bubbliiiing/pspnet-pytorch |
| deeplabv3+ | https://github.com/bubbliiiing/deeplabv3-plus-pytorch |
性能情况
unet并不适合VOC此类数据集,其更适合特征少,需要浅层特征的医药数据集之类的。
| 训练数据集 | 权值文件名称 | 测试数据集 | 输入图片大小 | mIOU |
|---|---|---|---|---|
| VOC12+SBD | unet_vgg_voc.pth | VOC-Val12 | 512x512 | 58.78 |
| VOC12+SBD | unet_resnet_voc.pth | VOC-Val12 | 512x512 | 67.53 |
所需环境
scipy==1.10.0 numpy==1.24.2 matplotlib==3.7.1 opencv_python==4.1.2.30 oonx==1.13.0 torch==1.7.1+cu110 torchvision==0.8.2+cu110 tqdm==4.64.1 pillow==9.4.0 h5py==3.8.0 PyQt5==5.15.7
训练步骤
一、训练voc数据集
1、将我提供的voc数据集放入VOCdevkit中(无需运行voc_annotation.py)。
2、运行train.py进行训练,默认参数已经对应voc数据集所需要的参数了。
二、训练自己的数据集
1、本文使用VOC格式进行训练。
2、训练前将标签文件放在VOCdevkit文件夹下的VOC2007文件夹下的SegmentationClass中。
3、训练前将图片文件放在VOCdevkit文件夹下的VOC2007文件夹下的JPEGImages中。
4、在训练前利用voc_annotation.py文件生成对应的txt。
5、注意修改train.py的num_classes为分类个数+1。
6、运行train.py即可开始训练。
预测步骤
一、使用预训练权重
a、VOC预训练权重
- 下载完库后解压,如果想要利用voc训练好的权重进行预测,在百度网盘或者release下载权值,放入model_data,运行即可预测。
img/street.jpg
- 在predict.py里面进行设置可以进行fps测试和video视频检测。
二、使用自己训练的权重
- 按照训练步骤训练。
- 在unet.py文件里面,在如下部分修改model_path、backbone和num_classes使其对应训练好的文件;model_path对应logs文件夹下面的权值文件。
_defaults = {
#-------------------------------------------------------------------#
# model_path指向logs文件夹下的权值文件
# 训练好后logs文件夹下存在多个权值文件,选择验证集损失较低的即可。
# 验证集损失较低不代表miou较高,仅代表该权值在验证集上泛化性能较好。
#-------------------------------------------------------------------#
"model_path" : 'model_data/unet_vgg_voc.pth',
#--------------------------------#
# 所需要区分的类的个数+1
#--------------------------------#
"num_classes" : 21,
#--------------------------------#
# 所使用的的主干网络:vgg、resnet50
#--------------------------------#
"backbone" : "vgg",
#--------------------------------#
# 输入图片的大小
#--------------------------------#
"input_shape" : [512, 512],
#--------------------------------#
# blend参数用于控制是否
# 让识别结果和原图混合
#--------------------------------#
"blend" : True,
#--------------------------------#
# 是否使用Cuda
# 没有GPU可以设置成False
#--------------------------------#
"cuda" : True,
}
- 运行predict.py,输入
img/street.jpg
- 在predict.py里面进行设置可以进行fps测试和video视频检测。
评估步骤
1、设置get_miou.py里面的num_classes为预测的类的数量加1。
2、设置get_miou.py里面的name_classes为需要去区分的类别。
3、运行get_miou.py即可获得miou大小。
Reference
https://github.com/ggyyzm/pytorch_segmentation
https://github.com/bonlime/keras-deeplab-v3-plus
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file learnkeyhole-0.1.3.tar.gz.
File metadata
- Download URL: learnkeyhole-0.1.3.tar.gz
- Upload date:
- Size: 41.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d86e1f74a37ad601da60ab3e5a6a2873885c7b6c4ac68fb992d6b8c31261156
|
|
| MD5 |
192bdac0ad938f51d39353b025ae8e96
|
|
| BLAKE2b-256 |
0e0dcf48e9f900b58f191dd32635043b2371134e9604c38bce35c0168ae033fe
|
File details
Details for the file learnkeyhole-0.1.3-py3-none-any.whl.
File metadata
- Download URL: learnkeyhole-0.1.3-py3-none-any.whl
- Upload date:
- Size: 47.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
feb063f3cf229f731f167458d95a9f07372fdc4e70f40c72800c8f963fa8cdb7
|
|
| MD5 |
d246fea5ef3d1c7fc7d3c700767702bc
|
|
| BLAKE2b-256 |
1eb3886c2f99a9992e63ea2c8b22de63108437c42914571855de276feca7fade
|