工作中你老子要用到物体识别,也有用到OCR识别,因为深度摄像头对玻璃和透明物体拿不到深度距离。所以用这种办法来配合获取识别物体坐标。
首先,我需要强调的是,印刷体的汉字OCR识别你直接调用接口AT两家都可以,自己去搜API。
第二,我做的这个是手写体,因为手写比印刷体复杂至少一万倍,所以增加了训练难度。它比caffe2训练mask训练难多了。
第三,老子开始跟你说怎么搞了:
1、准备数据集,去这个网站下载这两个zip文件:
http://www.nlpr.ia.ac.cn/databases/handwriting/Download.html
HWDB1.1trn_gnt.zip
HWDB1.1tst_gnt.zip
其中一个训练集,一个测试集,前者应该是训练,后者测试。
解压完成后,你会发现文件夹乱码,于是,要用convmv这个工具,在两个目录下分别执行
convmv -f GBK -t UTF-8 --notest -r ./
不要把数据集和测试集放在一个文件夹,否则执行完你就傻逼了。
搞好了往下走。
2、把所有图片生成标签txt和lmdb文件。
用两个文件搞定。
biaoqian.py
-------------------------------------------------
#-*-coding:utf-8-*-
import os
def IsSubString(SubStrList,Str):
flag=True
for substr in SubStrList:
if not(substr in Str):
flag=False
return flag
def GetFileList(FindPath,FlagStr=[]):
FileList=[]
FileNames=os.listdir(FindPath)
if len(FileNames)>0:
for fn in FileNames:
if len(FlagStr)>0:
if IsSubString(FlagStr,fn):
fullfilename=os.path.join(FindPath,fn)
FileList.append(fullfilename)
else:
fullfilename=os.path.join(FindPath,fn)