Loading... 19届全国大学生智能汽车竞赛地平线组中存在一个二维码扫描任务。然而传统二维码扫描对画面清晰度有较高要求,且耗时较长。注意到比赛过程中使用的二维码固定,且只是二分类任务。因而提出使用一个简单的卷积神经网络实现二维码的二分类任务。 输入为1x32x32的灰度图像,输出为两类别的置信度。 ```python class SimpleCNN(nn.Module): def __init__(self, num_classes=2): super(SimpleCNN, self).__init__() self.conv1 = nn.Conv2d(1, 32, kernel_size=3, padding=1) self.pool = nn.MaxPool2d(kernel_size=2, stride=2, padding=0) self.conv2 = nn.Conv2d(32, 64, kernel_size=3, padding=1) self.fc1 = nn.Linear(64 * 8 * 8, 128) self.fc2 = nn.Linear(128, num_classes) def forward(self, x): x = self.pool(torch.relu(self.conv1(x))) x = self.pool(torch.relu(self.conv2(x))) x = x.view(-1, 64 * 8 * 8) x = torch.relu(self.fc1(x)) x = self.fc2(x) return x ``` ![模型结构示意图](https://hibanaw.com/usr/uploads/2024/07/3889158756.svg) © 允许规范转载 赞 富婆饿饿饭饭