树莓派卷积神经网络实战车牌检测与识别

在这里插入图片描述

文章目录

  • 树莓派介绍
    • 1. 树莓派的硬件规格
    • 2. 树莓派的操作系统
    • 3. 树莓派的应用场景
  • 研究背景
  • 一、效果演示
    • 1.0 项目获取
    • 1.1 图像识别
    • 1.2 视频识别
  • 二、技术原理
    • 2.1 整体流程
    • 2.2 CCPD数据集介绍
    • 2.3 车牌定位
    • 2.4 车牌矫正
    • 2.5 车牌识别
      • 2.5.1 CRNN概述
      • 2.5.2 CRNN网络架构实现
      • 2.5.3 CNN结构
      • 2.5.4 RNN结构
    • 环境配置安装教程与资源说明
  • 参考文献

嵌入式树莓派车牌识别

树莓派介绍

在这里插入图片描述
树莓派(Raspberry Pi) 是一款由英国树莓派基金会(Raspberry Pi Foundation)开发的单板计算机,旨在促进计算机科学教育和实践,特别是面向学生、业余爱好者以及创客(Maker)社区。自2012年发布以来,树莓派迅速成为全球最受欢迎的开源硬件平台之一。

1. 树莓派的硬件规格

树莓派的硬件规格会随着版本的更新而变化,但所有版本都具有一定的共性,即体积小巧、低功耗、价格亲民,同时拥有丰富的接口和强大的扩展能力。以下是一些典型版本的硬件特点:

树莓派 4B(目前最常用的版本)

  • 处理器:Broadcom BCM2711, 四核 ARM Cortex-A72,1.5 GHz
  • 内存:2GB、4GB 或 8GB LPDDR4-3200 SDRAM
  • 存储:MicroSD 卡槽用于操作系统和数据存储,也可以通过 USB 接口使用外部存储设备
  • 显示:2个 Micro HDMI 接口,支持最多 4K 分辨率(3840×2160)
  • 网络
    • 以太网:Gigabit Ethernet(最大 300Mbps)
    • 无线:支持 2.4GHz 和 5GHz Wi-Fi,蓝牙 5.0
  • USB:2个 USB 3.0、2个 USB 2.0
  • 音频:3.5mm 音频接口,HDMI 音频输出
  • GPIO(通用输入输出):40 引脚 GPIO(可用于连接外部硬件,如传感器、LED、继电器等)
  • 电源:5V 3A USB-C 电源

树莓派 4B 的强大硬件使其能够运行 Linux 操作系统(如 Raspberry Pi OS)、各种轻量级应用,甚至可以作为桌面电脑、媒体中心、开发平台等使用。

2. 树莓派的操作系统

树莓派的操作系统大多数基于 Linux,Raspberry Pi OS(前身为 Raspbian)是官方推荐的操作系统。它基于 Debian Linux,优化了树莓派硬件,提供了图形化界面和丰富的软件包,适合教育和开发使用。其他流行的操作系统包括:

  • Ubuntu Mate:适合桌面使用,图形界面友好。
  • LibreELEC:一个基于 Linux 的媒体中心操作系统,用于家庭影院。
  • Windows IoT Core:微软为物联网设备设计的操作系统,适合开发嵌入式应用。
  • RetroPie:专为复古游戏设计的操作系统,可以将树莓派变成一个游戏机。

3. 树莓派的应用场景

树莓派的灵活性和扩展性使其在多种应用场景中得到了广泛使用,以下是一些常见应用:

教育与学习
树莓派最初的设计目标是用作教育工具,帮助学生学习编程、计算机科学和硬件原理。它支持多种编程语言,如 Python、Scratch、Java、C++,并且有大量教程和资源可供学习使用。

创客项目与原型开发
树莓派是创客和开发者的理想平台,尤其在物联网(IoT)和嵌入式开发中得到了广泛应用。通过 GPIO 引脚,树莓派能够与传感器、摄像头、LED、马达等外部设备连接,进行各种创新项目。例如,智能家居、自动化控制、机器人、无人机等。

服务器和网络设备
树莓派也可以用作轻量级服务器,比如 网络附加存储(NAS)、Web 服务器、数据库服务器,甚至是 VPN 服务器。由于其低功耗和小体积,树莓派成为了理想的家庭和小型办公室服务器。

智能家居
树莓派广泛应用于智能家居控制和自动化系统,例如,连接温湿度传感器、智能灯泡、运动检测器等设备,实现远程控制、自动化场景和数据监控。

机器人与自动化
树莓派具有丰富的 GPIO 接口,支持多种电机控制、传感器输入、图像处理等,使其成为机器人和自动化项目的理想平台。配合摄像头和 OpenCV(开源计算机视觉库),可以构建功能强大的视觉系统。

研究背景

  深度学习在车牌识别领域的研究背景源于计算机视觉和模式识别领域的发展。车牌识别是一种重要的图像处理任务,它在交通
管理、安防监控、停车管理等领域具有广泛的应用价值。传统的车牌识别方法往往依赖于手工设计的特征和规则,但这些方法在复杂场景下容易受到光照、遮挡、角度变化等因素的影响,导致识别率下降。

  深度学习的兴起为车牌识别带来了新的突破。以下是一些推动深度学习在车牌识别中应用的关键因素:

  1. 大规模数据集: 深度学习需要大量的标注数据来训练模型。近年来,大规模的车牌图像数据集被创建和共享,促进了基于深度学习的车牌识别方法的研究和发展。

  2. 卷积神经网络(CNN): 卷积神经网络是深度学习中的重要架构,在图像处理任务中取得了显著的成功。CNN能够自动从数据中学习特征,适应不同的图像变化和噪声。

  3. GPU计算能力: 深度学习训练需要大量的计算资源,特别是图形处理单元(GPU)的广泛应用加速了深度学习模型的训练过程,使得研究人员能够更快地实验和迭代模型。

  4. 深度模型的可扩展性: 深度学习模型在图像识别领域取得了突破,这种成功激发了研究人员将这些技术应用于车牌识别。模型的深度结构可以逐层提取更高级别的特征,从而提高识别性能。

  5. 迁移学习和预训练模型: 预训练的深度学习模型,如在大规模图像数据上预训练的ImageNet模型,可以作为车牌识别任务的初始模型,通过微调进行适应。这种迁移学习减少了在小型数据集上训练深度模型所需的时间和计算资源。

  6. 端到端学习: 深度学习可以实现端到端的训练,从原始图像数据直接学习识别任务,而无需手动设计特征提取步骤。这简化了识别流程并提高了系统的整体效率。


一、效果演示

  本文构建的AI智能车牌识别系统支持图像、视频以及摄像头三种图像输入。

1.0 项目获取

在这里插入图片描述

1.1 图像识别

在这里插入图片描述

1.2 视频识别

在这里插入图片描述

二、技术原理

2.1 整体流程

  深度学习车牌定位技术的目标是从输入图像中准确地定位车牌的位置,通常是通过预测车牌的边界框或四个关键点的位置来实现。以下是一种常见的深度学习车牌定位技术原理,用于获取车牌的四个点位置:

  1. 数据准备: 首先,需要准备一个包含车牌位置信息的训练数据集。这些数据集应该包括车牌图像和对应的标注,可以是车牌的边界框或者四个关键点的位置。标注数据可以通过手动标注或者自动化方法获得,本文采用中科大的CCPD开源数据集。

  2. 网络架构: 选择一个适合车牌定位任务的深度学习网络架构。一种常见的选择是基于卷积神经网络(CNN)的架构,例如Faster R-CNN、YOLO(You Only Look Once)或SSD(Single Shot MultiBox Detector)。这些网络可以同时预测边界框的位置和类别,适用于目标检测任务。

  3. 训练: 使用准备好的训练数据集对所选网络架构进行训练。训练过程涉及将输入图像传递给网络,然后通过反向传播优化网络的权重,使其能够准确地预测车牌位置。训练数据中的每个样本都包括输入图像和相应的车牌位置标注。

  4. 预测: 在训练完成后,将训练得到的网络应用于新的图像。通过将图像输入网络,网络将输出车牌位置的预测结果,这通常是一个边界框或四个关键点的坐标。

  5. 后处理: 根据网络输出的预测结果,可以使用一些后处理技术来提高定位的准确性。例如,可以使用非极大值抑制(NMS)来抑制重叠的边界框,只保留最有可能的车牌位置。

  6. 评估和调优: 对预测结果进行评估,可以使用评价指标如IoU(Intersection over Union)来衡量预测框与真实标注框的重叠程度。根据评估结果,可以对网络架构、训练参数等进行调优,以提高定位的准确性和稳定性。

2.2 CCPD数据集介绍

  CCPD是一个大型的、多样化的、经过仔细标注的中国城市车牌开源数据集。CCPD数据集主要分为CCPD2019数据集和CCPD2020(CCPD-Green)数据集。CCPD2019数据集车牌类型仅有普通车牌(蓝色车牌),CCPD2020数据集车牌类型仅有新能源车牌(绿色车牌)。

  在CCPD数据集中,每张图片仅包含一张车牌,车牌的车牌省份主要为皖。CCPD中的每幅图像都包含大量的标注信息,但是CCPD数据集没有专门的标注文件,每张图像的文件名就是该图像对应的数据标注。

  标注最困难的部分是注释四个顶点的位置。为了完成这项任务,数据发布者首先在10k图像上手动标记四个顶点的位置。然后设计了一个基于深度学习的检测模型,在对该网络进行良好训练后,对每幅图像的四个顶点位置进行自动标注。最后,数据发布者雇用了7名兼职工人在两周内纠正这些标注。CCPD提供了超过250k个独特的车牌图像和详细的注释。每张图像的分辨率为720(宽度)× 1160(高)× 3(通道)。实际上,这种分辨率足以保证每张图像中的车牌清晰可辨,但是该数据有些图片标注可能不准。不过总的来说CCPD数据集非常推荐研究车牌识别算法的人员学习使用。

  CCPD2019数据集主要采集于合肥市停车场,采集时间为上午7:30到晚上10:00,停车场采集人员手持Android POS机对停车场的车辆拍照进行数据采集。所拍摄的车牌照片涉及多种复杂环境,包括模糊、倾斜、雨天、雪天等。CCPD2019数据集包含了25万多幅中国城市车牌图像和车牌检测与识别信息的标注。主要介绍如下:

类别描述图像数量
CCPD-Base通用车牌图片200k
CCPD-FN车牌离摄像头拍摄位置相对较近或较远20k
CCPD-DB车牌区域亮度较亮、较暗或者不均匀20k
CCPD-Rotate车牌水平倾斜20到50度,竖直倾斜-10到10度10k
CCPD-Tilt车牌水平倾斜15到45度,竖直倾斜15到45度10k
CCPD-Weather车牌在雨雪雾天气拍摄得到10k
CCPD-Challenge在车牌检测识别任务中较有挑战性的图片10k
CCPD-Blur由于摄像机镜头抖动导致的模糊车牌图片5k
CCPD-NPc没有安装车牌的新车图片5k

CCPD图像样例如下
在这里插入图片描述

2.3 车牌定位

在这里插入图片描述

    def predict(self, img):img0 = copy.deepcopy(img)# 检测前处理img, r, left, top = self.detect_pre_precessing(img)y_onnx = self.session_det.run([self.session_det.get_outputs()[0].name],{self.session_det.get_inputs()[0].name: img})[0]# 检测后处理outputs = self.post_precessing(y_onnx, r, left, top)result_list = self.rec_plate(outputs, img0)return result_list

2.4 车牌矫正

  车牌矫正技术是指对于倾斜、变形或者在图像中有不同角度的车牌进行校正,使其在图像中呈现出水平且形状规整的状态。这
种矫正有助于提高车牌识别系统的准确性,使后续的识别算法能够更好地处理车牌图像。以下是一种常见的车牌矫正技术原理:

  1. 角度估计: 首先,需要对图像中的车牌进行角度估计,确定车牌相对于水平方向的倾斜角度。这可以通过计算车牌边界框的角度、车牌区域内文字的倾斜情况,或者其他特定的角度检测方法来实现。

  2. 透视变换: 一旦估计出角度,就可以应用透视变换(也称为仿射变换)来矫正车牌。透视变换是一种图像处理技术,可以将图像中的物体从一个视角投影到另一个视角,从而使其呈现出不同的形状和角度。

    在车牌矫正中,透视变换可以通过以下步骤实现:

    • 找到车牌的四个角点:可以使用边缘检测、轮廓检测或者角点检测算法来找到车牌的四个角点。
    • 定义目标形状:确定一个目标矩形,表示矫正后的车牌应该具有的形状和大小。
    • 计算透视变换矩阵:使用车牌的四个角点和目标矩形的四个对应点来计算透视变换矩阵。
    • 应用透视变换:将透视变换矩阵应用到原始图像上,使车牌区域变形为目标矩形的形状。
    # 透视变换得到矫正后的图像,方便识别def four_point_transform(self, image, pts):rect = self.order_points(pts)(tl, tr, br, bl) = rectwidthA = np.sqrt(((br[0] - bl[0]) ** 2) + ((br[1] - bl[1]) ** 2))widthB = np.sqrt(((tr[0] - tl[0]) ** 2) + ((tr[1] - tl[1]) ** 2))maxWidth = max(int(widthA), int(widthB))heightA = np.sqrt(((tr[0] - br[0]) ** 2) + ((tr[1] - br[1]) ** 2))heightB = np.sqrt(((tl[0] - bl[0]) ** 2) + ((tl[1] - bl[1]) ** 2))maxHeight = max(int(heightA), int(heightB))dst = np.array([[0, 0],[maxWidth - 1, 0],[maxWidth - 1, maxHeight - 1],[0, maxHeight - 1]], dtype="float32")M = cv2.getPerspectiveTransform(rect, dst)warped = cv2.warpPerspective(image, M, (maxWidth, maxHeight))# return the warped imagereturn warped

觉得不错的小伙伴,感谢点赞、关注加收藏哦!更多干货内容持续更新…

2.5 车牌识别

在这里插入图片描述

2.5.1 CRNN概述

  CRNN是一种深度学习算法,用于文字识别任务,其能够同时处理图像的空间特征和序列信息,使得文字识别变得更加高效和准确,CRNN整体流程如下图所示,CRNN算法的原理如下:

  首先,特征提取,输入的文字图像经过卷积层的特征提取。

  序列建模(Recurrent Sequence Modeling):提取的特征被输入到循环神经网络(RNN)中进行序列建模。

  序列分类(Sequence Classification):在CRNN的最后一步,通过全连接层将RNN输出的特征映射到文本的概率分布。

  CRNN算法的优点在于它能够同时捕捉到图像的局部特征和序列的上下文信息。卷积层能够提取图像的低级特征,如边缘、纹
理等,而循环神经网络则能够对特征序列进行建模,捕捉到文字的语义和上下文信息。

在这里插入图片描述

2.5.2 CRNN网络架构实现

  CRNN整体处理逻辑流程如下图所示
在这里插入图片描述

# 定义CRNN模型
class CRNN(nn.Layer):def __init__(self, num_classes):super(CRNN, self).__init__()self.cnn = nn.Sequential(nn.Conv2D(1, 64, kernel_size=3, stride=1, padding=1),nn.ReLU(),nn.MaxPool2D(kernel_size=2, stride=2),nn.Conv2D(64, 128, kernel_size=3, stride=1, padding=1),nn.ReLU(),nn.MaxPool2D(kernel_size=2, stride=2),nn.Conv2D(128, 256, kernel_size=3, stride=1, padding=1),nn.BatchNorm2D(256),nn.ReLU(),nn.Conv2D(256, 256, kernel_size=3, stride=1, padding=1),nn.ReLU(),nn.MaxPool2D(kernel_size=(2, 1), stride=(2, 1)),nn.Conv2D(256, 512, kernel_size=3, stride=1, padding=1),nn.BatchNorm2D(512),nn.ReLU(),nn.Conv2D(512, 512, kernel_size=3, stride=1, padding=1),nn.ReLU(),nn.MaxPool2D(kernel_size=(2, 1), stride=(2, 1)),nn.Conv2D(512, 512, kernel_size=2, stride=1),nn.ReLU())

2.5.3 CNN结构

  在CRNN框架中,CNN(Convolutional Neural Network)用于文字图像的特征提取。CNN通过卷积操作对输入的文字图像进行
滤波和特征提取,以捕捉图像中的局部信息和纹理特征,CRNN框架中CNN整体流程如下图所示。

在这里插入图片描述
  通过CNN的特征提取,CRNN能够从原始的文字图像中学习到具有语义和区分能力的特征表示,为后续的序列建模和文字识别

提供有用的输入。在CRNN框架中,CNN的参数通常是通过端到端的训练方式进行学习,以最大程度地提取和表示输入图像中的文字特征。

2.5.4 RNN结构

  在CRNN框架中,RNN(Recurrent Neural Network)用于对CNN提取的特征进行序列建模。RNN能够捕捉到序列数据中的上
下文信息,并通过时间步长的迭代来处理不定长度的输入序列,CRNN框架中RNN整体流程如下图所示。
在这里插入图片描述

  以下是CRNN框架中RNN实现的基本原理:

  特征序列:在CRNN中,CNN提取的特征图被转换成一个特征序列,以便RNN能够逐步处理序列数据。

  RNN单元:RNN单元是RNN的基本组成部分,它通过一个循环结构来处理序列数据。

  隐藏状态传递:RNN的隐藏状态在每个时间步之间传递。隐藏状态包含了序列数据的上下文信息,能够记忆之前时间步的信息,并影响后续时间步的计算。

  循环迭代:CRNN中的RNN单元会根据序列的长度进行多次循环迭代。

  序列特征建模:通过RNN的循环迭代,将序列数据中的上下文信息进行建模。

  在CRNN框架中,RNN的参数通常是通过端到端的训练方式进行学习,以最大程度地提取和表示序列数据中的文字特征。

环境配置安装教程与资源说明

离线安装配置文件说明

参考文献

[1] 基于挤压激励的轻量化注意力机制模块. 吕振虎;许新征;张芳艳.计算机应用,2022
[2] 基于深度学习的模糊车牌字符识别算法. 张彩珍;李颖;康斌龙;常元.激光与光电子学进展,2021
[3] 基于改进Faster R-CNN的核桃识别和定位. 樊湘鹏;许燕;周建平;刘新德;汤嘉盛.燕山大学学报,2021
[4] 自然场景下变形车牌检测模型DLPD-Net. 余烨;付源梓;陈维笑;刘海涛.中国图象图形学报,2021
[5] 基于深度学习技术的停车场收费管理系统设计与实现. 张立立;张振坤;刘明钊;沙毅.电子器件,2021
[6] 基于灰狼优化算法的车牌字符识别研究. 陈科全;吴耀光;陈一铭;穆协乐;张铁异.物联网技术,2021
[7] 车牌识别系统算法综述. 张松兰.电子技术与软件工程,2021
[8] 基于BP神经网络的智能车牌识别系统. 顾秀秀;朱明亮;吴琼;史洪玮.电脑知识与技术,2021
[9] 基于CNN的车牌识别精定位算法研究. 陈冬英;曾淦雄.福建江夏学院学报,2020
[10] 复杂场景下基于改进YOLOv3的车牌定位检测算法. 马巧梅;王明俊;梁昊然.计算机工程与应用,2021
[11] 复杂场景下的车牌识别算法研究. 王明俊.中北大学,2021
[12] 基于CNN卷积神经网络的车牌识别研究. 彭鹏.山东大学,2020
[13] 移动终端下基于联合学习的车牌识别系统. 郝欣宇.大连理工大学,2020
[14] 基于深度学习的车牌检测识别研究. 王潇凡.南京邮电大学,2019
[15] 基于深度学习的车牌识别的研究与应用. 刘珊珊.广东工业大学,2019
[16] 基于深度学习的车牌识别技术的研究与应用. 赵英彬.东华大学,2019
[17] 车载视频流车牌识别技术研究. 山显响.长春理工大学,2018

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/13166.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis入门概述

1.1、Redis是什么 Redis:官网 高性能带有数据结构的Key-Value内存数据库 Remote Dictionary Server(远程字典服务器)是完全开源的,使用ANSIC语言编写遵守BSD协议,例如String、Hash、List、Set、SortedSet等等。数据…

如何在自己电脑上私有化部署deep seek

要在自己的电脑上私有化部署 DeepSeek,通常需要以下步骤: 1. 环境准备 操作系统:确保你的电脑操作系统支持 Docker 或直接安装 Python 环境(如 Linux、Windows 或 macOS)。 Python 环境:安装 Python 3.7 …

【办公类-99-01】20250201学具PDF打印会缩小一圈——解决办法:换一个PDF阅读器

背景需求: 2024年1月13日,快要放寒假了,组长拿着我们班的打印好的一叠教案来调整。 “前面周计划下面的家园共育有调整,你自己看批注。” “还有你这个教案部分的模版有问题,太小(窄)了。考虑…

k8s集群

文章目录 项目描述项目环境系统与软件版本概览项目步骤 环境准备IP地址规划关闭selinux和firewall配置静态ip地址修改主机名添加hosts解析 项目步骤一、使用kubeadm安装k8s单master的集群环境(1个master2个node节点)1、互相之间建立免密通道2.关闭交换分…

HTTP和HTTPS协议详解

HTTP和HTTPS协议详解 HTTP详解什么是http协议http协议的发展史http0.9http1.0http1.1http2.0 http协议的格式URI和URL请求request响应response http协议完整的请求与响应流程 HTTPS详解为什么使用HTTPSSSL协议HTTPS通信过程TLS协议 HTTP详解 什么是http协议 1、全称Hyper Tex…

2025开源DouyinLiveRecorder全平台直播间录制工具整合包,多直播同时录制、教学直播录制、教学视频推送、简单易用不占内存

一、DouyinLiveRecorder软件介绍(文末提供下载) 官方地址:GitHub - ihmily/DouyinLiveRecorder 本文信息来源于作者GitHub地址 一款简易的可循环值守的直播录制工具,基于FFmpeg实现多平台直播源录制,支持自定义配置录制…

学习threejs,pvr格式图片文件贴图

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️PVR贴图1.2 ☘️THREE.Mesh…

Beans模块之工厂模块注解模块CustomAutowireConfigurer

博主介绍:✌全网粉丝5W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…

(一)DeepSeek大模型安装部署-Ollama安装

大模型deepseek安装部署 (一)、安装ollama curl -fsSL https://ollama.com/install.sh | sh sudo systemctl start ollama sudo systemctl enable ollama sudo systemctl status ollama(二)、安装ollama遇到网络问题,请手动下载 ollama-linux-amd64.tgz curl -L …

使用Pygame制作“贪吃蛇”游戏

贪吃蛇 是一款经典的休闲小游戏:玩家通过操控一条会不断变长的“蛇”在屏幕中移动,去吃随机出现的食物,同时要避免撞到墙壁或自己身体的其他部分。由于其逻辑相对简单,但可玩性和扩展性都不错,非常适合作为新手练习游戏…

【prompt实战】AI +OCR技术结合ChatGPT能力项目实践(BOL提单识别提取专家)

本文原创作者:姚瑞南 AI-agent 大模型运营专家,先后任职于美团、猎聘等中大厂AI训练专家和智能运营专家岗;多年人工智能行业智能产品运营及大模型落地经验,拥有AI外呼方向国家专利与PMP项目管理证书。(转载需经授权) 目录 1. 需求背景 2. 目标 3. BOL通用处理逻辑…

dl学习笔记(8):fashion-mnist

过完年懒羊羊也要复工了,这一节的内容不多,我们接着上次的fashion-mnist数据集。 首先第一步就是导入数据集,由于这个数据集很有名,是深度学习的常见入门数据集,所以可以在库里面导入。由于是图像数据集所以&#xff…

【Rust自学】20.2. 最后的项目:多线程Web服务器

说句题外话,这篇文章非常要求Rust的各方面知识,最好看一下我的【Rust自学】专栏的所有内容。这篇文章也是整个专栏最长(4762字)的文章,需要多次阅读消化,最好点个收藏,免得刷不到了。 喜欢的话…

Android学习21 -- launcher

1 前言 之前在工作中,第一次听到launcher有点蒙圈,不知道是啥,当时还赶鸭子上架去和客户PK launcher的事。后来才知道其实就是安卓的桌面。本来还以为很复杂,毕竟之前接触过windows的桌面,那叫一个复杂。。。 后面查了…

[创业之路-276]:从燃油汽车到智能汽车:工业革命下的价值变迁

目录 前言: 从燃油汽车到智能汽车:工业革命下的价值变迁 前言: 燃油汽车,第一次、第二次工业革命,机械化、电气化时代的产物,以机械和电气自动化为核心价值。 智能汽车,第三次、第四次工业革…

Spring Boot - 数据库集成07 - 数据库连接池

数据库连接池 文章目录 数据库连接池一:知识准备1:什么是数据库连接池?2:数据库连接池基本原理 二:HikariCP连接池1:简单使用2:进一步理解2.1:是SpringBoot2.x默认连接池2.2&#xf…

Python-基于PyQt5,Pillow,pathilb,imageio,moviepy,sys的GIF(动图)制作工具

前言:在抖音,快手等社交平台上,我们常常见到各种各样的GIF动画。在各大评论区里面,GIF图片以其短小精悍、生动有趣的特点,被广泛用于分享各种有趣的场景、搞笑的瞬间、精彩的动作等,能够快速吸引我们的注意…

使用线性回归模型逼近目标模型 | PyTorch 深度学习实战

前一篇文章,计算图 Compute Graph 和自动求导 Autograd | PyTorch 深度学习实战 本系列文章 GitHub Repo: https://github.com/hailiang-wang/pytorch-get-started 使用线性回归模型逼近目标模型 什么是回归什么是线性回归使用 PyTorch 实现线性回归模型代码执行结…

【蓝桥杯嵌入式】2_LED

1、电路图 74HC573是八位锁存器,当控制端LE脚为高电平时,芯片“导通”,LE为低电平时芯片“截止”即将输出状态“锁存”,led此时不会改变状态,所以可通过led对应的八个引脚的电平来控制led的状态,原理图分析…

尝试在Office里调用免费大语言模型的阶段性进展

我个人觉得通过api而不是直接浏览器客户端聊天调用大语言模型是使用人工智能大模型的一个相对进阶的阶段。 于是就尝试了一下。我用的是老师木 袁进辉博士新创的硅基流动云上的免费的大模型。——虽然自己获赠了不少免费token,但测试阶段用不上。 具体步骤如下&am…