ConvNext品鉴-东方Project角色识别

前言 为了给例会群里搞点乐子,于是决定搞一个东方角色的识别,首先想到的其实就是ConvNext网络,对于这个一百来个角色的分类任务,它足以胜任。 qwqpap/touhou_guess · Hugging Face ConvNext网络介绍 (99+ 封私信 / 90 条消息) ConvNeXt—— 一个能挑战 Vision Transformer 的卷积神经网络(万字长文,从原理到代码演示) – 知乎 懒得介绍了,看看知乎得了 数据来源 预期的角色数量大概在120多人,有一些旧作的角色可能被狠狠抛弃了。 事后发现纯狐和三花也被忘掉了) 每个角色大概100多个图片,最开始的数据集来自于Preacher-26/touhou-embeddings-dataset · Datasets at Hugging Face 特别感谢Preacher老师的分享。 之后再次获得了Renko_1055的神秘python脚本,使我的数据集数量获得了极大的提高。 稍微修改一下…

讯飞赛道2024年比赛视觉部分代码讲解

前言 虽然比赛结果一坨屎,但是不影响我把自己写的部分给opensource 总共包含的部分 * 数据标注,预处理与增强部分。 * 模型转换与推理 * 视觉巡线部分(一坨 第一部分:部署巡线代码 如果只是想看看巡线的效果的话,你需要在车上首先启动底盘节点。 电脑上只有早期早期版本的巡线代码,车上的还没拷贝出来(悲 估计要等两天了。 在一代车与二代车都能运行,但是针对二代车的摄像头参数调整,所以在一代车估计不太行 你需要把以下两部分的代码放在车上同一个目录下,注意,应使用python3。 第一个脚本命名为:new_tinkin.py,第二个命名为line_potral_2.py(第二个无所谓叫啥其实,但是你最后要运行它。) # -*- coding: utf-8 -*- import cv2 import numpy as np class LineFinder: def __init__(self)…

[中文]在RK3888上使用YoloV5

前言 因为讯飞车换了主控,所以需要重新部署一下模型在RK3588上面,写来给学弟们以后用。 顺便一提,这个板子真他妈恶心啊我操。 部署分为三个部分,训练,转换与推理,我们一步一步来。 训练 选择你的版本 因为很多神秘的原因,我们不得不使用某一特定版本输出的权重文件才能够在最后一步推理的时候成功,所以这一步至关重要,需要这个仓库的内容。 airockchip/yolov5: YOLOv5 in PyTorch > ONNX > CoreML > TFLite (github.com) 值得注意的是你需要在这个仓库下训练。 关于环境安装的问题就不在此赘述了,这搞不懂后面你也看不懂。 预处理你的数据 对于讯飞比赛而言,我们并不需要模型具有良好的泛化性,换言之,可以尽情地使用各种数据增强的方法而完全不在乎过拟合的问题,故我们的输入只需要每个classes五张图片即可。 相关代码在我自己的github仓库里面 qwqpap/auto_maker (git…

To find the race line by Edge detection algorithm with OpenCV

Before the start The purpose of doing this is finish the 19th Xun Fei smart car track line following part job. The approach to accomplish this involves resizing and cropping the image, followed by blurring, edge detection, erosion, and then detecting the track edges to achieve the goal of line…

红蓝锥桶招中识别

前言 SLAM写不出来,整个纯视觉凑合凑合得了 main import cv2 import numpy as np import time import numba class FindMiddleLine: def __init__(self, raw_img): self.raw_img = raw_img def find_line(self): img = self.raw_img down_width = 640 down_height = 320 down_points = (down_width, down_height) small_img = cv2.resize(…

DIY激光雷达

前言:用arduino 和舵机和激光测距搓的,具体实现明天再写,好困啊\ Part1 什么是激光雷达 雷达很好理解(这里不讨论相控阵那种怪物),想象成旋转的测距仪。用电磁波发射与返回的时间差测得距离,而波长变化的测量甚至可以使用开普勒效应来得知被测物体的速度。 而我们因为没有能够在实验室这么小范围内还能正常定向发射的电磁波原(有也买不起,买得起也会被抓去谈话)所以退而求其次使用了激光测距的方法,原理与电磁波一模一样,都是电磁波嘛(笑。但是测量速度的功能就给砍了。 Part2 搓一个 那么对于角度的感知本来想用步进电机的,但是考虑到丢步的问题,还得用霍尔或者别的啥方法来校准,实在不太优雅,所以选择了舵机作为旋转的底座。 理论存在,实践可行,返回的数据包括角度与距离,那么只需要可视化这两个数据就可以啦,显示我们使用了一块oled的小屏幕,基本所有的东西都是自己以前做过的,所以非常好写。 #include <Wire.h> #include <Servo.h> #include <SparkFun_…

基于opencv的自动标注yolov5数据集

前言: 具体使用请查看我的github仓库: https://github.com/qwqpap/auto_maker 再需要yolo识别物体之前,通常需要漫长的标注过程,而本程序主打一个自动化 把目标图片放进以目标名字命名的文件夹 把目标名字文件夹放在images文件夹下面 确保每个类别的图片数量是一致的 把背景图片放在back文件夹 Part 1 一点线性代数 我们可以发现在对图片进行仿射变换时,只需要对原图片的一组基向量进行变化即可 那么在进行透视变换的时候就需要对三个想来进行同时的变换即可 具体的数学计算看代码吧,太晚了我想睡一会了 这个:言って。好好听 下面有两个版本,分别是仿射变换和透视变换,效果都还行,目前GitHub上面是透视变换的版本qwq。 import pyautogui as gui import cv2 import numpy import os import time import glob import cv2 import num…