前言:
最近做了一个手写签名识别的项目,即判断签名的真伪。使用的深度学习框架为Pytorch,Opencv等等。数据集中共包含17个人的签名。使用resnet18网络进行训练。文末附有源码下载地址。
Bi 设 Dai 坐
视频效果如下所示:
深度学习脱机手写签名识别(Pytorch,Opencv)
resnet18模型结构:
resnet18实现代码
加载pytorch内部自带resnet18模型,代码较为简单:
from torchvision import models
import torch.nn as nn
#加载resnet18模型
net=models.resnet18(pretrained=False)
#因为输入图片为单通道图片,所以修改模型第一个卷积层
net.conv1=nn.Conv2d(1, 64, kernel_size=(7, 7), stride=(2, 2), padding=(3, 3), bias=False)
#因为分类个数为34,所以需要修改模型最后一层全连接层
net.fc=nn.Linear(in_features=512, out_features=34, bias=True)
# print(net)
数据集:
部分数据集图像如下所示:
训练模型:
代码如下所示:
from mymodel import net
from myDataset import MyData
import random
from torch.utils.data import DataLoader
import torch.nn as nn
import torch.optim as optim
import torch
from tqdm import tqdm
import matplotlib.pylab as plt
batch_size=20
Epoch=50
lr=0.0002
lines=open('data.txt','r').readlines