码农三叔
学编程20年,乐于奉献,一往无前
展开
-
DeepSeek学习的秘籍:底层架构原理+部署+接入+应用实操
DeepSeek是一款由中国领先的人工智能初创公司开发的大型语言模型,旨在彻底革新技术领域。与OpenAI的ChatGPT不同,DeepSeek专注于技术研发和创新,目标是实现通用人工智能(AGI),即在广泛的任务中达到或超过人类的能力。DeepSeek采用混合专家(MoE)架构,拥有6710亿参数,但每次推理仅激活370亿参数,显著降低了计算成本。此外,DeepSeek支持多模态任务,能够处理文本、图像、视频等多种数据类型,展现出卓越的推理能力和灵活性。原创 2025-04-13 17:35:52 · 81 阅读 · 2 评论 -
(3-4-01)智能导航:基于YOLOv8深度学习的目标检测(1)
本项目是一个基于 YOLO 模型的目标检测和目标跟踪系统,本项目结合了目标检测和目标跟踪的任务,通过 YOLO 模型实现了对车辆的检测和跟踪。本项目使用的 YOLOv8 模型是YOLO 模型中的一版本,是一个常用的目标检测模型,通过训练和调整参数,可以适应不同的数据集和任务。整个流程展示了从数据准备到模型训练、推断和结果分析的完整项目流程。数据集准备:项目开始时,使用了一个数据集,该数据集包含了视频中的车辆,并提供了每个帧中车辆的位置和类别标签。原创 2025-01-20 17:14:24 · 479 阅读 · 4 评论 -
(14-5)基于Latent Diffusion Transformer的文生视频系统:扩散模型
在生成阶段,模型从随机噪声开始,利用逆向扩散过程生成数据。目录内的组件主要包括构建扩散过程的核心逻辑、时间步的管理与采样、扩散过程中高斯噪声的生成与操作,以及调整扩散步数和参数的工具。(4)下面代码定义了一个名为_warmup_beta的函数,旨在生成一个线性变化的beta序列,用于扩散模型的训练。文件diffusion_utils.py实现了与高斯分布相关的数学操作,包括计算高斯分布之间的KL散度、高斯分布的连续和离散对数似然,以及一个快速近似的标准正态分布的累积分布函数(CDF)。原创 2025-01-19 10:29:35 · 215 阅读 · 2 评论 -
(3-3-04)智能导航:目标跟踪技术(4)基于OpenCV的行人检测系统
(15)通过如下代码创建对象img_example,它是img的副本,并在帧索引为1035的位置添加了矩形框,这些矩形框的信息来自于video_labels数据框。(7)使用cap.release()释放cv2.VideoCapture对象所占用的资源的方法,在处理完视频后,特别是在不再需要使用该对象时,调用这个方法是很重要的。(19)使用如下Unix/Linux命令删除文件或目录,在这个命令中,-r表示递归删除,而out_test.mp4是要删除的文件或目录的名称。原创 2025-01-19 10:21:42 · 124 阅读 · 0 评论 -
(3-3-02)智能导航:目标跟踪技术(2)粒子滤波器算法+ 多假设跟踪算法
实现多假设跟踪(MHT)跟踪会涉及到一系列复杂的算法和数据处理步骤,我们下面的实例将演示一个简化版本,以展示MHT的基本概念。粒子滤波器(Particle Filter)是一种用于状态估计的贝叶斯滤波方法,通过在状态空间中采样一组粒子,然后根据测量信息对这些粒子进行权重更新,最终得到对目标状态的估计。例如下面是一个简单的实例,演示了使用粒子滤波器实现自动驾驶中目标的位置和速度估计的过程。观测数据带有噪声,并通过多个假设来跟踪每个观测,可视化结果如图3-11所示。图3-11 结果可视化。原创 2025-01-13 22:18:50 · 273 阅读 · 1 评论 -
(3-3-01)智能导航:目标跟踪技术(1)卡尔曼滤波器算法+扩展卡尔曼滤波器算法
卡尔曼滤波器(Kalman Filter)用于估计目标的状态(位置、速度等)并对其进行跟踪,这是一种递归算法,通过不断更新预测和测量,以获得更准确的目标状态。在上述代码中,使用卡尔曼滤波器来估计目标在时间上的位置,通过绘制测量数据、真实状态和卡尔曼滤波器估计的状态,可以看到卡尔曼滤波器如何在跟踪过程中提供更准确的状态估计。通过绘制这三条线,我们可以直观地比较测量数据、真实状态和卡尔曼滤波器的估计,从而评估卡尔曼滤波器在目标跟踪中的性能,我们可以看到卡尔曼滤波器在跟踪过程中能够提供更准确的状态估计。原创 2025-01-10 10:22:29 · 62 阅读 · 1 评论 -
(3-2-02)智能导航:基于深度学习的车道检测
在上述代码中,首先创建一个新的数据集实例 augmented_dataset,使用了相同的训练图像目录 x_train_dir、训练标签目录 y_train_dir,并指定了数据增强函数 get_training_augmentation() 和类别列表 CarlaLanesDataset.CLASSES。用于在一行中显示多个图像。(12)设置用于语义分割任务的模型、损失函数以及相应的预处理函数,在训练阶段,将使用这个模型进行训练,使用指定的损失函数进行损失计算,并应用预处理函数对输入图像进行处理。原创 2025-01-09 13:30:40 · 217 阅读 · 0 评论 -
(12-3-03)使用YOLOv8识别检测交通标志:基于YOLOv8的交通标志检测模型(3)使用测试集验证模型+使用测试集验证模型
评估结果包括模型在验证集上的精度(precision)、召回率(recall)、mAP50(平均精度)以及mAP50-95(更加严格的平均精度)。下面这段代码的功能是从指定的测试图像文件夹中选择9张图像进行预测,并在每张图像上绘制模型的预测结果。首先,代码加载并预处理图像(包括调整大小和归一化),然后使用已训练的模型进行预测,最后在子图中显示带有标注的预测结果。每张图像的预测结果会显示检测到的对象以及相应的标签。每个子图会展示一张测试图像,图像上会标注出检测到的交通标志或其他对象,并且会显示预测的标签。原创 2024-11-20 10:51:21 · 407 阅读 · 1 评论 -
(12-3-02)使用YOLOv8识别检测交通标志:基于YOLOv8的交通标志检测模型(2)验证步骤
包括训练损失(box_loss, cls_loss, dfl_loss)、模型评估指标(precision, recall, mAP)、以及验证集的损失值(val/box_loss, val/cls_loss, val/dfl_loss)。(2)下面代码用于读取训练过程中生成的results.csv文件,加载到pandas数据框中,并显示文件中的最后10行内容。执行后会生成一个包含10个子图的可视化图,每个子图展示训练过程中的不同性能指标和损失函数随训练轮次(epoch)变化的情况。原创 2024-11-19 16:56:42 · 212 阅读 · 1 评论 -
(12-3-01)使用YOLOv8识别检测交通标志:基于YOLOv8的交通标志检测模型(1)使用自定义交通标志数据集进行模型训练+训练步骤
平均精度均值(mAP) 是一种用于评估目标检测算法在识别和定位图像中的物体时的有效性指标。它综合了不同类别的精确度(Precision)和召回率(Recall),通过计算每个类别的平均精度(AP)并取平均值,mAP可以为算法的总体性能提供一个评估。延长训练轮次:增加训练轮次可以让模型学习更多模式,可能提升性能。可以在运行训练命令时通过--epochs参数指定更高的值。尝试不同的参数值:可以调整一些参数,以观察是否对结果有积极影响。原创 2024-11-16 16:58:02 · 647 阅读 · 3 评论 -
(12-2)使用YOLOv8识别检测交通标志:准备数据集
此外,图像的坐标轴被隐藏,以减少视觉干扰,最后通过 plt.tight_layout() 优化图像间的布局,使整个网格显示更整齐美观。在数据集部分,展示了模型训练前的一些准备步骤。检测完成后,会在图像上绘制出标注结果(如边界框和类别标签),然后将标注后的图像转换为RGB颜色格式,并显示出来。(1)下面代码用于从指定的图像文件夹中随机选择9张图像,并以3x3的网格形式显示这些图像。(2)下面这段代码用于获取指定图像的尺寸信息,包括宽度、高度和通道数,为训练步骤提供输入数据的形状信息,以便后续配置模型输入。原创 2024-11-13 17:01:54 · 186 阅读 · 0 评论 -
(12-1)使用YOLOv8识别检测交通标志:背景介绍+项目简介+准备环境
随着自动驾驶技术的不断发展和智能交通系统(ITS)逐步普及,交通标志的自动识别成为了交通安全和管理中的一个重要研究领域。交通标志不仅为驾驶员提供必要的指示信息,同时也是自动驾驶系统中重要的感知模块。准确、高效地识别和理解交通标志对自动驾驶系统的安全性和可靠性至关重要。在传统的交通标志识别方法中,通常依赖于人工设计的特征提取算法,这些方法在复杂环境下的表现往往受限于环境因素如光照、天气和角度等。而随着深度学习技术,尤其是卷积神经网络(CNN)在图像识别领域的突破,基于深度学习的交通标志识别方法逐渐成为主流。原创 2024-11-11 17:27:08 · 300 阅读 · 1 评论 -
(11-7)基于深度学习的实时地图导航:使用模型预测实时路径
文件example.ipynb展示了加载预训练模型以及使用模型进行预测的过程,并将结果保存为GIF动画。通过设置不同的路径来定制数据集和标签目录,并展示了模型的预测结果。在上述代码中,使用预训练的模型对地图数据进行预测,并将预测结果保存为GIF动画。这个动画显示了模型预测的车辆和道路信息,构建了预测的实时地图。效果如图10-1所示。图10-1 根据地图数据预测生成的实时地图。10.7 使用模型预测实时路径。原创 2024-10-31 17:28:52 · 208 阅读 · 1 评论 -
(11-3)基于深度学习的实时地图导航:计算交并比+训练模型
文件train.py是用于训练模型的主程序,通过读取配置文件并设置参数,创建模型、数据模块和可视化函数,然后执行训练过程。此文件支持从之前的检查点恢复训练,并设置了日志记录、模型保存、学习率监控等功能,使用了PyTorch Lightning库来管理训练过程。文件metrics.py定义了基于 PyTorch 的交并比(IoU)度量类和 IoU 度量的子类,用于计算预测与标签之间的交并比,并可以根据给定阈值和可见度遮罩进行计算。原创 2024-10-28 20:28:14 · 157 阅读 · 0 评论 -
(11-2-02)基于深度学习的实时地图导航:交叉视图变换器(1)计算损失值+计算交并比
文件metrics.py定义了基于 PyTorch 的交并比(IoU)度量类和 IoU 度量的子类,用于计算预测与标签之间的交并比,并可以根据给定阈值和可见度遮罩进行计算。在文件losses.py中定义了几种损失函数类,用于在模型训练中计算损失值,具体说明如下所示。原创 2024-10-22 11:43:47 · 113 阅读 · 0 评论 -
(11-2-01)基于深度学习的实时地图导航:交叉视图变换器(1)数据处理
(5)文件nuscenes_dataset_generated.py定义了函数 get_data 和类 NuScenesGeneratedDataset,分别用于加载和处理生成的数据集。这个数据模块类实现了数据集的加载和划分功能,并通过 PyTorch Lightning 的数据模块接口提供了训练和验证数据加载器,方便了模型的训练和评估过程。在本项目中,“data”目录提供了用于处理数据的完整工具集,包括数据增强、数据加载、转换和准备等功能,以支持模型训练和评估所需的数据处理流程。原创 2024-10-21 22:17:55 · 192 阅读 · 1 评论 -
(11-1)基于深度学习的实时地图导航:背景介绍+项目介绍+数据集+系统配置
在自动驾驶领域,深度学习技术的应用日益广泛,其中实时地图导航是深度学习发挥作用的关键领域之一。实时地图导航不仅需要精确的地理信息,还需要对周围环境进行实时分析和适应,以确保自动驾驶车辆能够安全、高效地行驶。环境感知:深度学习模型,尤其是卷积神经网络(CNN),被用于处理来自车辆传感器(如摄像头、激光雷达)的数据,以识别道路标志、交通信号、行人和其他车辆。地图构建与更新:深度学习算法能够从传感器数据中提取特征,帮助构建车辆周围的三维地图,并实时更新地图信息,以反映道路状况的变化。原创 2024-10-18 11:16:19 · 257 阅读 · 1 评论 -
(10-4-02)基于卡尔曼滤波器的实时跟踪系统:目标检测和跟踪(2)多目标跟踪+ 视频目标跟踪+目标跟踪可视化
类Tracker负责管理多个目标的跟踪过程,通过以下几个主要步骤来进行目标跟踪:预测每个目标的状态分布,更新目标的状态,进行目标与检测的匹配,管理和维护活动的跟踪目标,并根据检测结果初始化新的跟踪目标。(1)下面的代码实现了一个视频中目标跟踪的功能,首先加载视频文件,对每一帧图像进行目标检测和跟踪,使用 YOLOv3 模型进行目标检测,并通过深度学习特征编码器对目标进行特征提取。随后,卡尔曼滤波器用于预测目标的运动轨迹,并通过多目标跟踪算法管理目标的状态和匹配,实现对多个目标的持续跟踪和数据更新。原创 2024-09-18 11:04:24 · 505 阅读 · 0 评论 -
(10-4-01)基于卡尔曼滤波器的实时跟踪系统:目标检测和跟踪(1)
最近邻距离度量是一种用于目标跟踪和识别的算法,它通过计算特征向量之间的距离来确定两个样本的相似性。通过增量更新目标的特征库,最近邻距离度量能够动态适应目标的变化,确保在复杂环境中准确跟踪和匹配目标身份。下面的代码实现了非极大值抑制(Non-Maximum Suppression, NMS)算法,用于在目标检测任务中抑制重叠度超过设定阈值的边界框,保留检测置信度较高的框,以减少冗余的检测结果。下面的代码实现了一个最近邻距离度量功能,用于在目标跟踪场景中根据目标的特征计算与已有样本的最小距离。原创 2024-09-16 09:28:50 · 708 阅读 · 0 评论 -
(10-3)基于卡尔曼滤波器的实时跟踪系统:卡尔曼滤波器
(1)函数min_cost_matching的功能是通过线性分配算法解决跟踪和检测之间的匹配问题,此函数用于计算给定轨迹和检测之间的成本矩阵,并根据设定的阈值过滤掉高于最大距离的匹配。(3)函数gate_cost_matrix的功能是根据卡尔曼滤波器的状态分布来修正成本矩阵,通过对每个轨迹和检测对计算门控距离修正不可能的匹配项,将其成本设置为非常大的值。在本项目中,通过计算轨迹与检测之间的关联成本,应用线性分配算法来确定最佳匹配,同时考虑到卡尔曼滤波器预测的状态和门控距离,以提高匹配的准确性。原创 2024-09-15 17:06:35 · 538 阅读 · 0 评论 -
(10-2)基于卡尔曼滤波器的实时跟踪系统:提取特征向量
最后,从图像中的边界框提取补丁,利用预训练模型对这些补丁进行特征编码,并保存生成的特征向量。下面的代码实现了一个用于目标检测和特征提取的系统,其中类Detection用于表示图像中的一个检测结果,包括边界框坐标、置信度分数、类别名称和特征向量;下面代码的功能是从图像中的边界框提取图像补丁,并使用预训练模型对这些图像补丁进行特征编码,最后将生成的特征向量保存到指定目录中。具体包括加载保存的模型权重、设置YOLOv3模型的锚点(anchors)和输入图像的尺寸,以及设定检测对象的概率阈值。原创 2024-09-14 09:29:49 · 358 阅读 · 0 评论 -
(10-1)基于卡尔曼滤波器的实时跟踪系统:项目介绍+准备工作
随着计算机视觉和人工智能技术的飞速发展,实时目标跟踪已经成为许多应用领域中的重要技术。目标跟踪技术广泛应用于安全监控、智能交通、无人驾驶、运动分析等领域。卡尔曼滤波器作为一种经典的动态系统估计方法,因其在处理噪声和不确定性方面的优势,被广泛用于实时跟踪系统中。本项目旨在开发一个基于卡尔曼滤波器的实时跟踪系统,该系统能够高效地从视频中识别和追踪多个目标,为用户提供准确的目标位置和运动轨迹信息。这一技术不仅提高了目标跟踪的精度和稳定性,也为进一步的智能分析和决策提供了坚实的基础。原创 2024-09-13 10:13:51 · 436 阅读 · 0 评论 -
(9-2)汽车速度检测(OpenCV、PyTorch 和 SSD):车速检测
在下面的代码中,通过背景减除技术处理视频,以检测和高亮显示移动的物体,并在 Jupyter Notebook 环境中使用 Matplotlib 显示处理后的帧。如果检测到汽车并且有之前帧的位置数据则计算汽车的速度,若计算出的速度超过设定的速度限制则发出超速罚单,并记录在文本文件 Speeding_Ticket.txt 中。请看下面的的代码,使用预训练的目标检测模型(SSDLite320_MobileNet_V3_Large)从检测视频中的汽车,并根据检测到的车辆位置估算其速度。该模型用于检测视频中的汽车。原创 2024-09-10 13:30:56 · 1145 阅读 · 0 评论 -
(9-1)汽车速度检测(OpenCV、PyTorch 和 SSD):项目介绍+准备工作
随着城市化进程的加快和机动车数量的增加,交通管理成为了现代城市面临的重要挑战之一。超速驾驶不仅增加了交通事故的风险,还对道路安全构成了严重威胁。传统的交通监控系统通常依赖于人工监控和固定的测速设备,这些方法不仅成本高昂,而且效率有限。近年来,计算机视觉和深度学习技术的发展为交通监控提供了新的解决方案。通过实时分析视频数据,这些技术可以自动检测和跟踪车辆,并准确估算其速度,从而提高了交通管理的智能化水平。本项目旨在构建一个智能车速检测系统,利用计算机视觉和深度学习技术对视频中的车辆进行检测和速度估算。原创 2024-09-09 21:01:48 · 478 阅读 · 0 评论 -
(19-3)基于生成对抗网络假人脸生成系统:假人脸生成测试
接着,通过生成和显示多个图像网格(例如2x2和5x5的网格),可以更全面地观察生成器的效果和生成图像的质量。(3)运行下面的代码,函数plot_generated_images将会生成并显示一个 5x5 的图像网格,共包含 25 张由生成器生成的图像。(2)运行下面的代码,函数plot_generated_images将会生成并显示一个 2x2 的网格,其中包含四张由生成器生成的图像。执行后会看到一个 5x5 的图像网格,显示了 25 张由生成器生成的假人脸图像,如图2-8所示。图2-8 生成的假人脸。原创 2024-09-07 17:14:26 · 112 阅读 · 0 评论 -
(19-2)基于生成对抗网络假人脸生成系统:实现生成对抗网络(GAN)
生成器接受一个维度为 100 的随机向量作为输入,经过一系列的全连接层和卷积层,首先进行下采样处理,再进行上采样处理,最终生成一个 128x128x3 的图像。(1)下面代码定义了生成对抗网络(GAN)的训练步骤,在每个训练步骤中,生成器根据随机噪声生成假图像,并由判别器判断这些图像是否为真。接着,通过计算生成器和判别器的损失,分别更新它们的参数。(4)下面这段代码定义了用于训练生成对抗网络(GAN)的优化器和损失函数,使用 RMSprop 作为优化器,并通过二元交叉熵损失函数来计算生成器和判别器的损失。原创 2024-09-07 17:11:51 · 381 阅读 · 0 评论 -
(19-1)基于生成对抗网络假人脸生成系统:项目介绍+准备环境
在数字化和人工智能技术飞速发展的今天,生成对抗网络(GAN)已经成为一种突破性的技术,广泛应用于图像生成、数据增强和虚拟角色创建等领域。生成对抗网络通过对抗性训练的方式,使得生成器能够从噪声中生成高度逼真的图像,而判别器则负责判断这些图像的真实性。这种技术的进步为各行各业带来了前所未有的变革。在市场需求方面,虚拟人脸生成技术在娱乐、广告、社交媒体和模拟训练等领域具有巨大的潜力。例如,在娱乐产业中,制作高质量的虚拟角色和特效可以大幅提升影视作品的视觉效果;在广告行业,虚拟人脸可以用于个性化广告创作;原创 2024-09-06 21:15:08 · 293 阅读 · 0 评论 -
《图像视觉处理与识别实战》专栏内容总结、梳理
即日起,将基于计算机视觉的自动驾驶技术实战的内容也加入到本专栏中。原创 2024-09-04 08:19:34 · 731 阅读 · 0 评论 -
(10-6-02)传感器布局分析与优化系统:主程序(2)入口程序
编写文件run.py,这是本项目的入口程序,通过读取配置文件或命令行参数,加载传感器配置和车辆模型,创建仿真网格,计算传感器的单独覆盖率以及整个网格的覆盖率,最后生成报告和绘制相关图表。生成的盲区分析可视化报告如图5-8所示,看报告中的最后一行,这表示在当前的传感器布局中存在一个体积为457.16立方米的区域,该区域未被传感器检测到,即为盲点。运行项目,传感器布局全景可视化效果如图10-1所示。绘制的盲区可视化分析图如图5-8所示,通过此可视化图可以看出盲点在哪里。图5-8 盲区分析可视化报告图。原创 2024-05-19 20:28:48 · 521 阅读 · 0 评论 -
(10-6-01)传感器布局分析与优化系统:主程序(1)设置仿真参数
用户可以选择仿真环境的尺寸、单元格大小、是否使用扩展模式,选择车辆的3D模型文件,设置仿真结果保存路径和名称,以及选择在Z方向上的交叉截面数量和间距。(7)定义函数setup_ui,功能是配置GUI界面的各个部分,包括仿真网格设置、车辆3D模型选择、结果保存路径和名称设置以及交叉截面设置。(5)定义函数set_slices,功能是从用户输入中设置在Z方向上的交叉截面数量和间距,并在界面上显示相应信息。(4)定义函数set_vehicle,功能是允许用户选择车辆的3D模型文件,并在界面上显示所选文件路径。原创 2024-05-16 14:16:07 · 315 阅读 · 0 评论 -
(10-5-02)传感器布局分析与优化系统:绘图可视化(2)传感器布局、盲区和性能报告
(1)使用库PyVista和ReportLab设置绘图和表格的主题样式,通过pv.set_plot_theme(pv.themes.DocumentTheme())设置了PyVista的绘图主题为文档主题。编写文件plotting/report.py,生成包含传感器布局、盲区分析以及传感器性能指标的报告,报告内容包括可视化截图、保存的数据和生成的可视化图等,这样的报告可以用于分析和评估整个传感器系统的性能。(2)定义函数create_report,用于生成包含传感器布局、盲区分析和传感器性能指标的报告。原创 2024-05-15 14:48:37 · 440 阅读 · 0 评论 -
(14-3-03)OCR文本检测识别系统(OpenCV+TensorFlow Lite+TensorFlow+Android):运行OCR模型
(6)编写方法recognizeTexts(),功能是调用模型实现文字识别功能,通过copy()方法返回新的Bitmap对象,他的像素格式是ARGB_8888。在Android中界面显示图片时,需要的内存空间不是按图片的实际大小来计算的,而是按像素点的多少乘以每个像素点占用的空间大小来计算的。如果在图像中有文字,则显示识别结果,执行效果如图14-4所示。(9)编写方法getRandomColor(),功能是获取Android的随机颜色,然后用应用于识别结果的文字,这样达到了突出识别结果的效果。原创 2024-05-14 17:10:53 · 1244 阅读 · 3 评论 -
(10-5-01)传感器布局分析与优化系统:绘图可视化(1)
编写文件plots.py,定义了创建多个三维可视化图表的函数,用于展示传感器的布局、车辆的盲区、以及每个区域被传感器覆盖的情况。通过PyVista、Pandas和ReportLab等库,实现了对传感器数据的可视化展示、报告的自动生成以及各种指标的保存和展示,为传感器系统的分析提供了全面的视觉和定量支持。总体而言,文件plot_helpers.py 提供了在绘制模拟环境时所需的常量定义和配置参数,以及用于创建输出目录的辅助函数,这有助于简化可视化过程中的参数设置和文件夹管理。对上述代码的具体说明如下所示。原创 2024-05-13 21:32:40 · 597 阅读 · 0 评论 -
(10-4-02)传感器布局分析与优化系统:Sensors传感器(2)
根据配置信息,分别创建相机(Camera)、激光雷达(Lidar)和雷达(Radar)等不同类型的传感器对象,并将这些对象存储在一个传感器列表中。每个传感器对象都会根据配置文件中的位置、方向、视场等属性进行相应的初始化设置,以便在后续的环境模拟中使用。在本项目中,类Radar是激光雷达(Lidar)类的子类,但没有自己的实现。在初始化过程中,设置激光雷达的位置、水平和垂直视场角、检测范围等属性,并通过计算球坐标转换为笛卡尔坐标,创建用于可视化的pyvista网格。在上述代码中用到了如下所示的函数。原创 2024-05-09 16:48:56 · 436 阅读 · 0 评论 -
(10-4-01)传感器布局分析与优化系统:Sensors传感器(1)
在本项目中,"sensors"目录的功能是提供一个灵活且可配置的多传感器环境模拟工具,实现了对多种感器系统的模拟,其中包括相机(Camera)、激光雷达(Lidar)和雷达(Radar)等传感器。类Sensor包含了传感器的通用属性和函数,如旋转、平移、遮挡计算等,并提供了计算传感器性能指标的方法,包括遮挡体积、遮挡点比例和在不同区域的性能表现。相机通过计算覆盖区域内的点,进行遮挡检测,并计算性能指标,包括遮挡体积、覆盖体积、遮挡分数以及在不同区域的性能指标。在上述代码中用到了如下所示的函数。原创 2024-05-09 15:12:07 · 1038 阅读 · 0 评论 -
(10-3-04)传感器布局分析与优化系统:创建截面模拟传感器的性能
编写文件slice.py,定义了一个名为 Slice 的类,用于在三维网格上创建截面,模拟车辆感知系统的性能。它计算了在截面上的一系列度量标准,包括盲区的面积、到第一个被覆盖单元格的距离等,这些度量标准提供了对截面上传感器性能的详细评估。通过这些评估,可以更全面地了解车辆感知系统在特定方向上的盲区情况以及传感器的有效范围。原创 2024-05-06 13:59:37 · 305 阅读 · 2 评论 -
(14-3-02)OCR文本检测识别系统(OpenCV+TensorFlow Lite+TensorFlow+Android):图像操作
(2)编写方法setExifOrientation()用于设置Exif Orientation,这样可以实现对图像的修复功能。(6)编写方法bitmapToTensorImageForDetection(),功能是将位图转换为具有目标大小和标准化的检测模型的TensorImage。(1)编写方法decodeExifOrientation(),功能是将EXIF orientation(方向参数)枚举转换为转换矩阵。方法bitmapToTensorImageForDetection()的具体实现代码如下所示。原创 2024-05-06 10:46:56 · 532 阅读 · 0 评论 -
(10-3-03)传感器布局分析与优化系统:仿真环境模拟(2)
【代码】(10-3-03)传感器布局分析与优化系统:仿真环境模拟(2)原创 2024-05-03 10:45:54 · 91 阅读 · 0 评论 -
(10-3-02)传感器布局分析与优化系统:仿真环境模拟(2)
(2)编写文件grid.py,定义了一个名为 Grid 的类,该类用于创建一个三维网格,并在该网格上进行一系列计算。类Grid用于建模车辆所处环境的均匀网格,其中包括了对车辆周围区域、盲点、以及传感器覆盖度等进行计算和分析的功能。该类初始化时接受网格维度、间距、中心坐标、车辆模型等参数,通过 pyvista 库创建相应的网格。通过定义的方法,可以进行切片、获取周围区域的索引、设置传感器数据的组合与计算覆盖度等操作。此外,该类还支持在高级模式下对车辆模型的内部进行更复杂的计算。原创 2024-04-29 16:42:20 · 438 阅读 · 0 评论 -
(14-3-01)OCR文本检测识别系统(OpenCV+TensorFlow Lite+TensorFlow+Android):具体实现
本项目的主Activity功能是由文件app/src/main/java/org/tensorflow/lite/examples/ocr/MainActivity.kt实现的,功能是调用前面的布局文件tfe_is_activity_main.xml,在屏幕上方滑动显示要识别的图片,在屏幕下方显示检测结果。(2)通过oncreate()方法设置在程序启动时需要实例化的对象,此方法是在Activity创建时被系统调用的,是一个Activity生命周期的开始。对应实现代码如下所示。对应的实现代码如下所示。原创 2024-04-28 10:38:18 · 545 阅读 · 0 评论