- 博客(36)
- 资源 (3)
- 收藏
- 关注
原创 【人工智能学习之PaddleOCR训练教程】
训练集txt文件中默认请将图片路径和图片标签用 \t 分割,如用其他方式分割将造成训练报错。" 图像文件名 图像标注信息 "train_data/rec/train/word_001.jpg 简单可依赖train_data/rec/train/word_002.jpg 用科技让复杂的世界更简单...|-rec|- train| ...
2024-10-12 12:29:58 788
原创 【人工智能学习之PaddleOCR快速上手】
在配置文件中,可以设置组建模型、优化器、损失函数、模型前后处理的参数,PaddleOCR从配置文件中读取到这些参数,进而组建出完整的训练流程,完成模型训练,在需要对模型进行优化的时,可以通过修改配置文件中的参数完成配置,使用简单且方便修改。而 L2 正则化中,添加正则化项的目的在于减少参数平方的总和。准确检测的标准是检测框与标注框的IOU大于某个阈值,正确识别的检测框中的文本与标注的文本相同。如果缺少带标注的数据,或者不想投入研发成本,建议直接调用开放的API,开放的API覆盖了目前比较常见的一些垂类。
2024-10-12 12:26:23 1613 1
原创 【人工智能学习之常用损失函数浅谈】
FLpt−αt1−ptγlogptFLpt−αt1−ptγlogptptp_tpt是模型预测的概率,对于正样本ptpp_t = pptp,对于负样本pt1−ppt1−p。αt\alpha_tαt是平衡因子,用于调整正负样本之间的权重,αt\alpha_tαt对于正样本和负样本可以取不同的值。γ\gammaγ。
2024-09-23 16:45:22 972
原创 【人工智能学习之卷积神经网络发展简述】
卷积神经网络的发展历程展示了从最初的生物启发到现代深度学习模型的演变。每一个阶段的关键创新都为后续的发展奠定了基础,使得 CNN 在图像识别、视频处理、自然语言处理等领域取得了巨大成功。未来,随着技术的不断进步,CNN 有望在更多领域发挥重要作用。
2024-09-23 16:44:59 974
原创 【人工智能学习之人脸识别】
注册需要采集上下左右转头的人脸图像,登录则需要将检测区的人脸与特征库进行比对(比对方法可以采取欧氏距离或者余弦相似度)。特征提取我选择的DeepFace中的Facenet512,读者也可以换成其它的模型或者自己训练的模型都可以,这里只做特征提取,所以我直接使用训练好的DeepFace中的Facenet512。common.py中的drawbbox中对bbox的使用有很强的参考性,它会让你明白返回的x, y, r, b分别是什么,以及你如何按照你的想法调整。思路:人脸检测->特征提取->注册/识别。
2024-09-12 16:36:32 603
原创 【人工智能学习之姿态估计】
通过模型可以得到鼻子,左眼,右眼,左耳,右耳,左肩,右肩,左肘,右肘,左腕,右腕,左臀,右臀,左膝,右膝,左踝,右踝的17个关节点,通过这些关节点设计算法即可判断人体姿态。姿态估计可以直接使用训练好的模型和权重model=“yolo_nas_pose_l”, weights=“coco_pose”。
2024-09-12 16:35:44 356
原创 【人工智能学习之商品检测实战】
商品自动识别,一个简单的商品检测项目,数据集读者可以自行拍摄,录制视频抽帧即可训练模型了。有什么交流意见可以评论或者私信我。这里放一个展示视频:商品检测效果视频。
2024-07-31 11:36:17 1187
原创 【计算机视觉学习之CV2图像操作(六)】
在图像处理中,霍夫变换用来检测任意能够用数学公式表达的形状,即使这个形状被破坏或者有点扭曲。函数:cv2.watershed()
2024-06-30 00:25:45 561
原创 【计算机视觉学习之CV2图像操作(五)】
Hu 矩是归一化中心矩的线性组合之所以这样做是为了能够获取 代表图像的某个特征的矩函数这些矩函数对某些变化如缩放 ,旋转,镜像映射( 除了 h1)具有不变形。比较两个形状或轮廓的相似度:cv2.matchShape。如果返回值越小, 匹配越好。它是根据 Hu 矩来计算的。查找图像轮廓:findContours。image:参数是寻找轮廓的图像;
2024-06-30 00:18:12 482
原创 【计算机视觉学习之CV2图像操作(四)】
非极大值抑制是一种边缘稀疏技术,非极大值抑制的作用在于“瘦”边。对图像进行梯度计算后,仅仅基于梯度值提取的边缘仍然很模糊。函数 cv2.isContourConvex() 可以可以用来检测一个曲线是不是凸的。函数 cv2.convexHull() 可以用来检测一个曲线是否具有凸性缺陷,并能纠正缺陷。将轮廓形状近似到另外一种由更少点组成的轮廓形状,新轮廓的点的数目由我们设定的准确度来决。性曲线总是凸出来的,至少是平的。凸包与轮廓近似相似,但不同,虽然有些情况下它们给出的结果是一样的。
2024-06-28 11:36:06 913
原创 【计算机视觉学习之CV2图像操作(三)】
傅里叶变换是一种数学工具,它能够将一个复杂数学函数(或信号)从时域(即随时间变化的表现形式)转换到频域(即由不同频率的成分组成的表示形式)。它的基本思想基于这样的事实:任何连续且满足一定条件的周期信号或非周期信号都可以被分解为一系列正弦波和余弦波的无限级数或积分,这些正弦波和余弦波具有不同的频率、振幅和相位。这里,𝜔 是频率变量,𝑒−𝑗𝜔𝑡 是复指数函数,代表不同频率的正弦波和余弦波的基础,而 𝐹(𝜔)在前面的部分我们介绍了如何绘制一维直方图,之所以称为一维,是因为我们只考虑了图像的一个。
2024-06-28 10:25:28 802
原创 【计算机视觉学习之CV2图像操作(二)】
这里包括的按位操作有:AND,OR,NOT,XOR 等。下面的例子就是教给我们如何改变一幅图的特定区域。如果我使用加法,颜色会改变,如果使用混合,会得到透明效果,但是我不想要透明。第一幅图的权重是 0.7,第二幅图的权重是 0.3。这其实也是加法,但是不同的是两幅图像的权重不同,这就会给人一种混合或者透明的感觉。任意一个二维图像,我们乘以一个仿射矩阵,就能得到仿射变换后的图像。通过修改 α 的值(0 → 1),可以实现非常酷的混合。图像上的算术运算,加法,减法,图像混合等。这里 γ 的取值为 0。
2024-06-27 16:15:48 649
原创 【计算机视觉学习之CV2图像操作(一)】
第三个参数就是当像素值高于(有时是小于)阈值时应该被赋予的新的像素值。当时这种方法并不适应与所有情况,尤其是当同一幅图像上的不同部分的具有不同亮度时。此时的阈值是根据图像上的每一个小区域计算与其对应的阈值。因此在同一幅图像上的不同区域采用的是不同的阈值,从而使我们能在亮度不同的情况下得到更好的结果。HSV 格式中,H(色彩/色度)的取值范围是 [0,179],S(饱和度)的取值范围 [0,255],V(亮。打开保存的图片,我们发现图片是纯蓝色的,由此我们可以知道opencv读入的图片是BGR格式。
2024-06-27 16:06:18 670
原创 【yolov8:报错AttributeError: ‘Segment‘ object has no attribute ‘detect‘】
今天在运行yolov8的Segment模式的val模型测验时报错:AttributeError: 'Segment' object has no attribute 'detect'
2024-06-26 10:46:18 1136
原创 【yolov8:metrics = model.val()报错TypeError: int() 】
TypeError: int() argument must be a string, a bytes-like object or a number, not 'KeyboardModifier'
2024-06-26 10:45:50 309
原创 【人工智能学习之标签工具labelme】
LabelMe是一个开源的图像标注工具,主要用于计算机视觉和机器学习任务中的图像数据标注。它允许用户在图像上创建和编辑矩形、多边形、椭圆等形状来标记感兴趣的区域(ROI),并可以为这些区域分配类别标签或描述性文本。LabelMe最初是由麻省理工学院的计算机科学与人工智能实验室(MIT CSAIL)开发的,支持JSON格式的标注输出,便于集成到深度学习和其他机器学习管道中进行训练数据的准备。此工具广泛应用于物体识别、图像分割、实例分割等领域的研究和应用开发。
2024-06-25 09:46:49 603
原创 【人工智能学习之手写数字识别K-means聚类算法的Python实现示例及损失设计】
softmax 是通过角度分类的,Arc-Softmax 加宽了角度间的分界线,从而达到加大类间距的目的。感兴趣的朋友也可以使用Relu()或者其它激活函数尝试,效果不是特别好,聚类比较随意。softmax函数大家都很熟悉,在此就不赘述了,不清楚的可以简单看一下下图。我们先使用多分类交叉熵损失函数,它可以衡量两个概率分布之间的距离。不过我们可以使用一些比较新的技术比如Mish()。Arc-Softmax可以直接替换分类的全连接层。当然,网络也可以换成卷积,效果会更好一些。在深度学习中:概率分布=特征分布。
2024-06-25 09:45:55 1061
原创 【人工智能学习之YOLOV5更换主干网络】
更换GhostNet主干网络比较简单,因为models/common.py里面已经写好了相关类的定义,如下图。最后在调用yaml文件时将原本的yoloXX.yaml切换为shufflenet.yaml即可。最后在调用yaml文件时将原本的yoloXX.yaml切换为mobilenet.yaml即可。最后在调用yaml文件时将原本的yoloXX.yaml切换为ghostnet.yaml即可。MobileNet的添加我们采取另一种方式。所以我们直接配置yaml文件即可。
2024-06-24 21:06:04 479
原创 【人工智能学习之骨龄检测实战】
分析我们获取的数据集,发现很多图片有雾感(即图像中像素几乎集中在一个区间,导致图片中的对比度不强,给我们呈现出雾感),会影响模型的训练,于是采用直方图均衡化来进行处理。克隆 repo,并要求在 Python>=3.8.0 环境中安装 requirements.txt ,且要求 PyTorch>=1.8。关节数据集是我处理过的,后文会讲述处理方法,大家可以自行调整。analyse_bone_age:检测手骨筛选关节。大家也可以使用自己或者其他的一些数据集进行训练。训练完成后,最优权重会按关节名称进行保存。
2024-06-24 21:05:23 2325 10
原创 【人工智能学习之卷积神经网络篇(三)】
MobileNetV1的核心思想是利用深度可分离卷积,相比于传统的卷积操作,在保持相同参数数量的情况下,显著减少了计算量,从而提高了网络的运算速度。与标准卷积网络不一样的是,我们将卷积核拆分成为但单通道形式,在不改变输入特征图像的深度的情况下,对每一通道进行卷积操作,这样就得到了和输入特征图通道数一致的输出特征图。在深度卷积的过程中,我们得到了8×8×3的输出特征图,我们用256个1×1×3的卷积核对输入特征图进行卷积操作,输出的特征图是8×8×256。而在高维度进行ReLU运算的话,信息的丢失则会很少。
2024-05-10 15:40:55 633
原创 【人工智能学习之卷积神经网络篇(二)】
全连接的缺点、卷积、卷积运算介绍池化、dropout、BatchNormal、残差信息瓶颈、分组卷积、通道混洗通道优化、经典模型
2024-05-09 18:37:02 918
原创 【人工智能学习之卷积神经网络篇(一)】
全连接的缺点、卷积、卷积运算介绍池化、dropout、BatchNormal、残差信息瓶颈、分组卷积、通道混洗通道优化、经典模型
2024-05-08 16:06:24 721 1
原创 基于Unity开发的联机解谜游戏的设计与实现
本文主要以一个初学者的视角描述了游戏的开发原理,以及详细的设计与实现,为后来希望开发同类游戏的研究者者们提供借鉴与参考。首先以地形编辑器Terrain制作地形并添加树木、湖泊、河流等等,结合游戏剧情根据不同的地形设计不同的路线与谜题。其次设计各种NPC和谜题所需机关,利用各种碰撞器、触发器、射线检测碰撞、对象绑定等技术实现玩家与各种机关、NPC和载具的交互。并且在开发过程中还需要采用Mirror框架完成客户端与服务器的同步。最后利用MySQL数据库记录游戏数据,从而实现一款第一人称开放世界类的解密游戏。
2023-09-01 11:09:59 3433 3
人工智能神经网络学习模型训练数据集四分类(摩托车、汽车、公交车、火车)图片大小96*96尺寸
2024-05-08
基于unity开发的解谜游戏
2023-03-18
unity-demo-秘密行动
2023-03-18
(C语言,Easy.x图形库,MySQL数据库)坦克大战.rar
2020-05-24
(C语言,Easy.x图形库,MySQL数据库,音效)推箱子(可视化).rar
2020-05-24
(C语言,Easy.x图形库,时间函数)打砖块游戏.rar
2020-05-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人