Skip to content

nyacat/rune_detection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rune_detection

媒婆斯多利符文识别工具

目录说明

backup 模型训练结果
cfg 模型配置文件
data 数据集设置
dataset_tools 数据集工具
utils 项目使用过的小工具
weights yolov4的Pre-trained weights

特点

  • 响应速度极快1
  • 识别率高达99%2 3
  • 提供http api接入,方便多平台多语言调用

1 NVIDIA GeForce 750Ti级别显卡能做到5fps,即1秒识别5张图片

2 识别率为当前数据集训练8000step后的结果

3 该识别率并未包含矿,花的数据,即矿,花的数据集需自行采集并重新训练

安装说明

硬件部分

显卡必须N卡,至少Compute capability 5.0以上 或 NVIDIA Jetson Nano以上, 具体看wikipedia的表

如果没有N卡,请确保你有足够的时间跟强爆炸的CPU来跑训练

系统环境部分

Windows/Linux都必须安装CUDA 10.1,暂未测试CUDA 11兼容性,若无N卡无视该要求

具体参考 yolo环境需求

Python部分

代码仅支持Python3

Linux发行版下注意pip对应的版本

  1. 安装opencv

    # 本机使用
    pip install opencv-python
    # 服务器使用
    pip install opencv-python-headless
  2. 安装sklearn

    # 仅本机
    pip install scikit-learn==0.19.2
  3. 安装http api依赖

    # web核心
    pip install sanic
    # mysql
    pip install PyMySQL aiomysql
  4. 安装标记工具

    pip install labelImg

注意事项

  • 如需http api启用CUDA,请自行编译opencv with cuda, 参考该链接,重新编译后,手动指定python使用编译后的opencv或不使用上面的命令安装opencv
  • 服务器需要MySQL 5.5以上,动手能力强的可以手动修改成SQLite数据库
  • NVIDIA 20系列显卡以上可以开启cudnn_half加速训练
  • 有其他问题请发issue

原理

先使用Labelmg手动标记数据集,接着AlexeyAB的yolov4训练模型,最后使用opencv调用模型并返回结果

使用

  1. 先自行编译darknet,Linux参考该链接 Windows参考该链接,并且把darknet.exe放入项目根目录

  2. 采集符文图像,放入utils/runes_orig,并使用utils/cut_img.py进行裁剪

  3. 使用LabelImg标记裁剪后的数据集

    1. 这里注意类别名字为up down left right
    2. 顺序必须跟上面的顺序一致
  4. 把标记完成的数据集文件夹放到dataset_tools里,并改名为final

  5. 生成的train-runes.txttest-runes.txt放入项目根目录的data

  6. 把标记完成的数据集内容全部移动到data/runes

  7. 下载pre trained文件到项目根目录的weights目录下

  8. 使用命令darknet.exe detector train data\runes.data cfg\yolov4-tiny-runes.cfg weights\yolov4-tiny.conv.29开始训练

    1. 20系列显卡大概需要2-3小时,取决于显卡

    2. 10系列显卡大概需要4-6小时

    3. CPU没试过,建议慢慢等

      如果训练时间超过我说的时间,建议检查第一步是否正确执行完成

  9. backup文件夹拿出best后缀的文件,放入server/darknet/weights

  10. cfg文件夹拿出yolov4-tiny-runes-test.cfg,放入server/darknet/cfg

  11. 进入server目录执行python app.py,到此完成

About

No description, website, or topics provided.

Resources

License

Stars

2 stars

Watchers

2 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages