基于云的树莓派卷积神经网络签名验证系统
立即解锁
发布时间: 2025-08-29 11:18:53 阅读量: 7 订阅数: 14 AIGC 

# 基于云的树莓派卷积神经网络签名验证系统
## 1. 树莓派与卷积神经网络(CNN)
树莓派的计算能力相较于标准游戏本或张量笔记本显著较低。不过,通过利用预训练网络,它仍能在不影响其他因素的情况下实现模型的准确性。此外,还可以用这种方法实现更复杂的架构,如 VGG 16。在训练前对模型进行剪枝,仅会以精度的小幅下降为代价。
### 1.1 轻量级 CNN 模型的合理性
在一些应用中,轻量级 CNN 模型有其合理性。例如,在结构健康监测中,有架构使用五层 CNN 和一个最大丢弃层,虽能达到 100% 的准确率并击败最先进的算法,但依赖非常简单的像素化图像作为数据集,不适用于签名验证,因为签名是高度复杂的对象。为解决这一问题,有人引入了深度可分离卷积来降低卷积层本身的计算成本。L - CNN 文件大小仅为典型 VGG - 16 架构的 5%,但仍能在检测运动中的人体存在方面产生显著的准确性。不过,该模型主要用于检测视频中基于人类的对象的存在,对准确性要求不高,因此也不太适合签名验证。
### 1.2 树莓派部署 CNN 算法的考量
树莓派是部署 CNN 算法的可行设备,但关键是要认识到应用的需求及其与树莓派局限性的关系。各种低特征任务可以直接在树莓派上进行训练,但要执行高精度的验证过程,则需要部署更深层次的网络,目前在兼容的计算机上进行更为可行。此外,在树莓派上进行超参数调整需要更长时间,会影响模型的优化过程。为了在树莓派上直接构建一个可部署的模型,最好先在个人计算机上训练一个强大的基础模型,这有助于判断定制模型的充分性。
## 2. 树莓派启用的云系统
物联网应用的关键在于对任何系统中可用数据的远程访问。借助树莓派的功能,用户可以通过互联网将其连接到更大的设备间系统。在签名验证系统中,通过树莓派收集的所有数据都可以存储在云中,用户可以在其他设备上访问这些签名,用于验证过程监控和模型训练。
### 2.1 云存储设置方式
设置云存储有多种方式:
- **使用开源软件 ownCloud**:安装 ownCloud 后,云文件的访问不受本地限制。它运行在用户的私有服务器上,用户可以避免存储空间和连接客户端数量的限制,存储容量取决于服务器的物理能力。在本文的案例中,ownCloud 利用了安装在树莓派上的 64GB 微型 SD 卡空间。为了实现 ownCloud,使用 PHP 和 NGINX 来运行云软件。NGINX 是一个开源的 HTTP 服务器,以高性能、简单配置和低资源消耗著称,并且由于其事件驱动架构,在负载下用户只需要少量且可预测的内存。此外,NGINX 上的 SSL 证书使云连接完全加密和安全。
- **连接知名云存储提供商**:树莓派也可以连接到谷歌云端硬盘或 Dropbox 等知名云存储提供商。这些服务通常提供免费存储和高可访问性等多项福利,无需用户亲自维护服务器。如果用户的驱动器无法提供足够的存储空间作为云存储,这是一个优势。
### 2.2 Pushbullet 的使用
为了通知用户程序的状态,采用了第三方应用 Pushbullet。它可以轻松地将数据从手机传输到 PC,在本文的案例中,用于将数据直接从树莓派传输到智能手机,数据传输通过云进行,不受本地限制。通过这个应用,用户可以收到树莓派上签名验证的进度和结果通知,有助于巩固签名验证系统。
Pushbullet 的安装和使用步骤如下:
1. 在树莓派终端中通过 `pip pushbullet.py` 安装 Pushbullet 包。
2. 注册用户可获得唯一的 API 密钥,用于同步账户内注册的所有设备。
3. 将推送通知的代码集成到树莓派的主代码流中,当用户运行程序时,该功能会将通知发送到所有选定的设备。
## 3. 系统硬件和环境设置
### 3.1 硬件选择
将产品开发系统分为两部分:一是开发用于签名验证的 CNN 分类模型并在单板计算机(SBC)上实现;二是集成物联网系统,使系统便携且能远程运行。
- **笔记本电脑**:由于笔记本电脑具有更多的计算能力,CNN 的开发在笔记本电脑上进行。为确保模型训练能在笔记本电脑上完成,为 NVIDIA GPU 启用了 CUDA,它是一个并行计算平台,常用于使用 GPU 训练深度学习。所用笔记本电脑的规格如下表所示:
| 戴尔 G5 技术规格 | 详情 |
| --- | --- |
| CPU | Intel® Core™ i5 - 8300H CPU @ 2.30GHz |
| RAM | 8192MB |
| GPU | NVIDIA GeForce GTX 1050Ti |
- **树莓派 4**:作为主要设备,用于捕获图像、验证签名和将图像上传到云。选择树莓派的主要原因是其尺寸小且紧凑,便于产品携带。树莓派有内置的相机插槽,可用于捕获签名图像,还有 Wi - Fi 适配器,便于连接互联网并将数据上传到云存储。树莓派相机使用标准的 500 万像素 1080 相机模块板,重量仅 3g,尺寸为 25mm × 20mm × 9mm,适合移动应用。
### 3.2 软件开发环境
- **笔记本电脑**:使用 Python 3.7.7 在 PyCharm IDE 中开发 CNN,利用 TensorFlow 和 Keras 库来配置深度学习模型和进行数据处理应用,如图像增强和模型评估。
- **树莓派**:使用 Python 3.7 在 Thonny IDE 中捕获图像并运行预训练的深度学习模型进行验证过程。与 PC 不同,树莓派运行 TensorFlow Lite,它能实现低延迟的设备端机器学习。
## 4. 云存储和应用设计
### 4.1 云存储设置
创建一个便携式且可通过云访问的签名验证系统是主要目标之一。树莓派将捕获的签名图像上传到云,以便使用高性能计算机进行未来的模型训练。
选择 ownC
0
0
复制全文
相关推荐








