- 博客(59)
- 资源 (2)
- 收藏
- 关注
原创 OpenCV:绘制图像中mask的最小外接矩形
在计算机视觉和图像处理中,我们经常需要计算直线与外接矩形边的交点。这在进行边缘检测、图像分割、目标跟踪等任务时非常有用。本文将介绍如何使用OpenCV和NumPy计算直线与外接矩形边的交点,并展示如何在实际图像中绘制直线。
2024-01-24 11:41:23 571
原创 语义分割结果后处理与可视化:轮廓、中心点和重心标记
该脚本通过OpenCV实现了对语义分割结果的后处理和可视化,标记了轮廓、中心点和重心。用户可以根据实际需求调整阈值和颜色,以获得更符合自己应用场景的可视化效果。
2024-01-18 11:07:57 629
原创 图像质量评估:使用 SSIM 计算图像相似性
在图像处理领域,衡量两幅图像之间相似性的一种常见方法是使用结构相似性指数(SSIM)。SSIM 是一种全参考的图像质量评估指标,它不仅考虑了图像的亮度、对比度,还考虑了结构信息。在本文中,我们将介绍一个使用 Python 和 OpenCV 实现的 SSIM 计算脚本,并使用该脚本评估两幅图像的相似性。
2023-12-29 11:31:25 435
原创 批量图像分割评估脚本:使用Python和OpenCV
在计算机视觉任务中,图像分割是一项重要的任务,而对分割结果进行评估则是验证模型性能的关键一环。本文将介绍如何使用Python和OpenCV编写一个简单的批量图像分割评估脚本,以评估分割模型的性能。
2023-12-27 17:49:20 738
原创 图像分割模型GUI应用:基于Tkinter和MMseg实现
本篇博客介绍了一个使用Python的Tkinter库和MMseg图像分割库创建的图像分割模型GUI应用。该应用允许用户加载图像文件夹,浏览加载的图像,并对选定的图像执行分割推断,展示分割结果。这个应用演示了如何使用图形界面与深度学习模型结合,以交互式的方式进行图像分割任务。介绍图像分割任务的概念和应用领域,强调图像分割在计算机视觉中的重要性。说明使用Python的Tkinter库创建的图像分割GUI应用的目的和功能。
2023-08-30 14:18:19 290
原创 图像中不规则物体的长轴与短轴:OpenCV实现指南
7.使用OpenCV的cv2.ellipse()函数在原始图像上绘制椭圆,并使用cv2.circle()函数在图像上绘制长轴和短轴的四个端点,并分别用红色和蓝色表示。3.通过使用OpenCV的cv2.findContours()函数,找到图像中的所有轮廓。4.遍历所有轮廓,如果轮廓点的数量大于等于5个,则将这个轮廓拟合为一个椭圆。8.最后,显示带有椭圆和端点的图像,等待用户按下任意键后关闭显示窗口。6.使用计算得到的椭圆信息,计算出长轴和短轴的端点坐标。1.首先,读取图像并将其转换为灰度图像。
2023-07-26 09:01:13 1460
原创 交互式标注工具-Paddlelabel
PaddleLabel 是基于飞桨 PaddlePaddle 各个套件功能提供的配套标注工具。目前支持对分类、检测、分割、OCR 四种常见的计算机视觉任务数据集进行标注和管理,除基础的手动标注功能外也支持深度学习辅助标注,可以有效地提升标注效率。重点是free free free!!!优点:1.简单 一行 pip install 安装,手动标注直观易操作,机器学习后端安装即用无需复杂配置,极易上手2.高效支持交互式分割和多种预标注,显著提升标注效率和精度。
2023-06-29 10:32:09 2030 9
原创 模型量化小结
针对深度学习算法模型参数大,部署后会占用内存、计算量增加及能耗巨大。不利于后期的一个维护,是因为每一个任务单独进行。多任务学习可以有效的缓解以上问题。但多任务学习可能会带来一些问题,相似任务之间出现混乱。难训练,可以从另外一个角度出发,对模型进行量化:其主要是通过减少原始模型参数的数量或比特数来实现对内存和计算需求的降低,从而进一步降低能耗。
2023-04-04 14:55:24 731
原创 mmsegmentation 之修改输入通道
open-mmlab有许多非常实用的框架,其中目标检测的话mmdetection确实很实用。但语义分割的话当属mmsegmentation,这篇博客介绍mmsegmentation如何将输入图像通道数修改为单通道。3.吹一波,mmsegmentation确实很好用,接着第二步,这个地方不管你是用自定义数据集还是其他数据集,将transformer.py里的rgb2gray添加到训练验证数据处理阶段,举个例子4.此时你可能会遇到一些bug,第三步完后进行编译后直接训练可能会出现以下错误。网上解释的
2022-11-23 09:57:57 1289 7
原创 mmsegmentation 训练自己的数据集
open-mmlab有许多非常实用的框架,其中目标检测的话mmdetection确实很实用。但语义分割的话当属mmsegmentation,这篇博客就是介绍如何用mmsegmentation训练自己的数据集。mmdetection的环境mmsegmentation也可以用,有mmdetection环境的话就可以不用重新搭建了给个代码链接mmsegmentationmmsegmentation目录下新建一个data用于存放自己的数据集6.自己的任务可能类别与VOC类别不一样,需要对class进行修
2022-09-29 11:46:44 8082 11
原创 Unet系列论文总结
看了大概十篇左右Unet系列的论文,与原始Unet相比,性能虽然有一定的提升。但是模型的复杂程度也在增加,参数量、计算时间大大增多。也不是说小修小补不可以,大部分人还是做着小修小补的工作。并没有太多的亮点,哈哈哈,借用老板的话来说你就算做不出来也要学会去评判一个工作是否是个好工作。期待看到有突破性的工作。
2022-09-26 14:27:15 3897
原创 YOLO V5 实现课堂行为检测
课堂行为检测3.数据集划分及准备4.数据加载5.自定义配置文件6.训练7.测试测试效果不错,有需要的私聊。
2022-09-15 17:31:37 6239 53
转载 ConvMAE: Masked Convolution Meets Masked Autoencoders
Self-Supervised Learning,又称为自监督学习,机器学习分为有监督学习,无监督学习和半监督学习。而 Self-Supervised Learning 是无监督学习里面的一种,主要是希望能够学习到一种通用的特征表达用于下游任务 (Downstream Tasks) 。其主要的方式就是通过自己监督自己。作为代表作的 kaiming 的 MoCo 引发一波热议, Yann Lecun也在 AAAI 上讲 Self-Supervised Learning 是未来的大势所趋。ConvMAE: M
2022-08-31 10:52:07 665
原创 Opencv 实战五 图像拼接
图像拼接技术就是将数张有重叠部分的图像(可能是不同时间、不同视角或者不同传感器获得的)拼成一幅无缝的全景图或高分辨率图像的技术。有一说一opencv真的牛掰。
2022-05-13 13:59:42 7883 30
原创 Opencv实战四 图像匹配
图像匹配是指通过一定的匹配算法在两幅或多幅图像之间识别同名点,如二维图像匹配中通过比较目标区和搜索区中相同大小的窗口的相关系数,取搜索区中相关系数最大所对应的窗口中心点作为同名点。其实质是在基元相似性的条件下,运用匹配准则的最佳搜索问题。import cv2import numpy as npimport matplotlib.pyplot as pltimg1 = cv2.imread('1.jpg', 0)img2 = cv2.imread('2.jpg', 0)def cv_show(na
2022-05-11 13:49:05 3136
原创 小样本图像分类之 Prototypical Networks 复现
深度学习最大的诟病就是靠海量的数据就行驱动,与人的认知过程不一样,人可以只通过少量的训练样本就可以快速泛化到目标任务上。受人认知过程的影响。小样本学习被提出并成为当前一个比较热门的研究领域,但问题来了,做cv任务的话深度学习强大的特征表示能力还是很牛掰的。人们希望既能用上DCNN的特征表示能力又能做小样本,吐槽一下学术界对小样本的设置N-way K-shot,虽然每一个任务下样本很少,但是采样的方式就是一堆排列组合的方式。样本是少了,但任务多了。小样本图像分类现阶段主要的解决方法有三种:首先就是样本少了怎
2022-05-07 22:18:41 3077 6
原创 Opencv 实战(三)光流估计
import numpy as npimport cv2cap = cv2.VideoCapture('test.avi')# 角点检测所需参数feature_params = dict( maxCorners = 100, qualityLevel = 0.3, minDistance = 7)# lucas kanade参数lk_params = dict( winSize = (15,15)
2022-05-03 21:59:48 317
原创 长尾分布解决方法
在20世纪30年代,美国哈佛大学语言学家齐普夫发现,将一文本中的词按照它们在文本中的出现(或使用)次数由高至低排列,以r表示序号(又称等级),g(r)表示序号为r的词在文本中的出现次数,则r的某一幂次r(β)和g(r)的乘积渐近为一常数,即g(r)*r(β)≈c。人们将关系式g(r)=cr(-β)(β>0,c>0)称为齐普夫定律,因而,长尾分布就是齐普夫定律。说人话就是数据不均衡,举个栗子。若你现在要做一个十分类。但是每一类下面的图像数量不一,比如第一个类别样本为100,第二个类别样本只有10
2022-04-27 12:21:17 1084 2
转载 Opencv 实战(二)行人检测
行人实时检测详细资料在这import numpy as npimport cv2#输入测试视频cap = cv2.VideoCapture('test.avi')#形态学操作需要使用kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(3,3))#创建混合高斯模型用于背景建模fgbg = cv2.createBackgroundSubtractorMOG2()while(True): ret, frame = cap.re
2022-04-26 14:49:57 1485
转载 opencv实战(一) 目标跟踪
opencv yyds代码链接给一下添加链接描述import argparseimport timeimport cv2import numpy as np# config ap = argparse.ArgumentParser()#跟踪视频路径ap.add_argument("-v", "--video", default='./videos/los_angeles.mp4',type=str, help="path to input video file") #选择openc
2022-04-24 20:51:48 1209
原创 停车场空位检测 yolov5实战篇
给个代码链接yolov5下载源码解压不是吧不是吧不会有人还想着一个环境跑所有项目吧一天最无聊的事情又开始了先搭个环境conda create -n yolov5 python=3.6conda activate yolov5conda install pytorch==1.7.0 torchvision==0.8.0 torchaudio==0.7.0 cudatoolkit=11.0pip install yolov5/requirements.txt数据集的链接也给一下,下载不了弄
2022-04-22 20:10:20 1445 1
原创 yolo v3实时检测视频
import numpy as npimport cv2import osimport timedef video_demo(): # 加载已经训练好的模型路径,可以是绝对路径或者相对路径 weightsPath = "yolov3.weights" configPath = "yolov3.cfg" labelsPath = "coco.names" # 初始化一些参数 LABELS = open(labelsPath).read().strip
2022-04-18 15:36:24 1279
原创 VOC数据集转COCO数据集格式
# -*- coding=utf-8 -*-#!/usr/bin/pythonimport sysimport osimport shutilimport numpy as npimport jsonimport xml.etree.ElementTree as ETimport mmcv# 检测框的ID起始值START_BOUNDING_BOX_ID = 1# 类别列表无必要预先创建,程序中会根据所有图像中包含的ID来创建并更新PRE_DEFINE_CATEGORIES = {}
2022-04-12 14:49:43 299
原创 TL-实现CIFAR10分类
直接上干货用到的模型比较多可选择合适的模型进行实验import numpy as npfrom tensorflow.keras.utils import to_categorical, normalizefrom tensorflow.keras.layers import Densefrom tensorflow.keras.layers import GlobalAveragePooling2Dfrom tensorflow.keras.optimizers import Adamfro
2022-04-09 22:25:18 794
原创 CVPR2022 oral(一) Marginal Contrastive Correspondence for Guided Image Generation
论文代码暂未开源基于示例的图像翻译在条件输入和示例(来自两个不同的域)之间建立了密集的对应关系,以利用详细的示例样式来实现逼真的图像翻译。现有工作通过最小化两个域之间的特征距离来隐式地建立跨域对应关系。如果没有明确利用域不变特征,这种方法可能无法有效地减少域间隙,这通常会导致次优的对应和图像翻译。本文设计了一个边际对比学习网络(MCL-Net),它通过对比学习来学习领域不变的特征,以此进行基于真实示例的图像翻译。具体来说,作者设计了一种创新的边际对比损失,指导明确地建立密集对应。然而,仅与域不变语义
2022-04-09 22:07:22 560
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人