
机器视觉
文章平均质量分 69
机器视觉、机器学习、卷积神经网络等相关哲学、数学、技术话题。
许野平
非常喜欢软件设计这份工作,有不错的数学基础,喜欢读书、摄影与音乐。
展开
-
Stable Diffusion ControlNet 的 control model(控制模型)
在Stable Diffusion(SD)中,ControlNet的control model(控制模型)扮演着至关重要的角色,它们是实现精细图像控制的关键组件。原创 2024-09-25 13:47:08 · 616 阅读 · 0 评论 -
Stable Diffusion 的 ControlNet 主要用途
SD(Stable Diffusion)中的ControlNet是一种条件生成对抗神经网络(Conditional Generative Adversarial Network, CGAN)的扩展技术,它允许用户通过额外的输入条件来控制预训练的大模型(如Stable Diffusion)的生成过程。ControlNet在SD的数据流中扮演着关键角色,它位于模型生成过程的输入端,通过引入额外的条件信息来指导图像的生成。原创 2024-09-25 13:36:00 · 676 阅读 · 0 评论 -
SD(Stable Diffusion)模型的基本工作数据流
SD模型的基本工作数据流包括数据预处理、潜在空间编码、文本引导下的潜在空间生成、扩散模型生成图像、图像解码以及图像优化与后处理。这些步骤共同构成了SD模型从文本描述到图像生成的完整过程。通过这个过程,SD模型能够生成与输入文本高度匹配的高质量图像。原创 2024-09-25 12:39:55 · 1183 阅读 · 0 评论 -
python下常用的图像处理工具
需要注意的是,每个工具都有其独特的特点和适用场景,因此在选择使用哪个工具时,应根据具体的图像处理需求和项目要求进行考虑。同时,建议查阅相关的文档和教程,以更好地了解这些工具的使用方法和功能。除了上述提到的工具外,还有一些其他的库也值得一试,如SimpleITK(用于医学图像处理)、mahotas(专注于计算机视觉任务)等。原创 2024-04-28 16:12:28 · 673 阅读 · 3 评论 -
一分钟看懂深度学习中的准确率(Accuracy)、精度(Precision)、召回率(Recall)和 mAP
1. 真假阳性阴性我们查体的时候,经常会听说检测结果呈”真阳性“、”假阴性“等说法。其中”真“、"假"说的是检查结果的对错。”真“意味着检测结果是正确的,"假"意味着检测结果是错误的。”阳性“、"阴性"说的是这次的检查结果。阳性,意味检测出了预定的目标。阴性,意味着没查出预定的目标。一共四种组合:检测结果英文术语含义真阳性true positive正确地检测到阳性结果:即检测结果正确,并且结果呈现阳性假阳性false positive错误地检测到阳性结果:即原创 2021-11-23 20:10:41 · 46591 阅读 · 7 评论 -
用最浅显的方法,讲明白光流法原理
光流法用来分析视频中每个像素的运动方向和速度大小。该方法基于一个关键性的假设——像素在运动过程中,其亮度 III 恒定不变。1. 一维数轴上移动的像素我们考虑一个最简单的情况,一维的图像,像素分布在数轴上。因此,图像像素的亮度 III 可以用其横坐标 xxx 来描述:I=I(x)(1)\tag1I = I(x)I=I(x)(1)考虑到视频图像随时间 ttt 会发生变化,因此,视频图像的亮度可用下面的函数来描述:I=I(x,t)(2)\tag2I=I(x, t)I=I(x,t)(2)假设时原创 2021-06-02 18:11:16 · 525 阅读 · 0 评论 -
问题收录:DeepStream-5.0 dsexample crashes
I am trying on gstdsexample.cpp file.(basic DeepStream 5.0 example of gst-plugin) on Jetson nano. I added 613 ~ 615 lines as suggested by the comment below. But it crashes.613 CUgraphicsResource *cu;原创 2021-05-21 14:57:21 · 312 阅读 · 0 评论 -
走向必然王国:如何有把握地构建 GStreamer 管道?
GStreamer 是一款非常优秀的媒体流构建工具。由于相关参考资料缺乏,官网介绍不够详尽,初学者往往费尽周折,也搞不定一个定制的管道架构,最后只好从网络上东拼西凑,摸着别人的例子过河。如果您有类似的困惑,本文将带领您走出这个困境,迈出正确构建 GStreamer 管道的第一步。1. 最简单的视频管道由于一个管道至少有一个起点和一个终点,因此最简单的管道至少有两个元素,一个用来做 src(流的起点),另一个做 sink(流的终点)。videotestsrc:提供测试视频信号源。它绝对不会出错,可以原创 2021-05-07 11:58:43 · 1528 阅读 · 2 评论 -
gst-rtsp-server 的第一个程序:建立自己的 rtsp 服务器
1. 源代码:demo.c建立项目目录:demo,并在其中创建 C 语言源代码 demo.c。代码如下:#include <gst/gst.h>#include <gst/rtsp-server/rtsp-server.h>int main (int argc, char *argv[]) { GMainLoop *loop; GstRTSPServer *server; GstRTSPMountPoints *mounts; GstRTSPMediaFac原创 2021-05-04 16:59:48 · 2854 阅读 · 3 评论 -
DeepStream 官方应用示例源代码目录
C/C++ Sample Apps Source DetailsPlugin and Library Source DetailsPython Sample Apps Source DetailsPython BindingsMetaData AccessSample Application Source DetailsDeepStream Reference Application - deepstream-appApplication ArchitectureReference原创 2021-04-30 17:52:04 · 850 阅读 · 2 评论 -
DeepStream:插件和代码库细节
Plugin or libraryPath inside sources directoryDescriptionDsExample GStreamer plugingst-plugins/gst-dsexampleTemplate plugin for integrating custom algorithms into DeepStream SDK graph.GStreamer Gst-nvmsgconv plugingst-plugins/gst-nvmsgconv...原创 2021-04-30 17:29:14 · 715 阅读 · 2 评论 -
DreepStream 官方示例程序概览
DeepStream SDK 软件包包括插件、库、应用程序和源代码的存档。sources 目录位于 /opt/nvidia/deepstream/deepstream-5.1/sources,可用 Debian 安装(在 Jetson 或 dGPU 上)或 SDK 管理器安装。对于 tar 包,源文件位于解压缩的 deepstream 包中。DeepStream Python 绑定和示例应用程序作为单独的包提供。有关详细信息,请参阅 https://github.com/NVIDIA-AI-IOT/deep原创 2021-04-30 17:12:35 · 1218 阅读 · 1 评论 -
DeepStream 快速入门
英伟达® DeepStream软件开发工具包(SDK)是一个用于构建智能视频分析(IVA)管道的加速人工智能框架。DeepStream 可运行在 NVIDIA T4、NVIDIA Ampere 和 NVIDIA® Jetson™ Nano、NVIDIA® Jetson AGX Xavier™、NVIDIA® Jetson Xavier NX™、 NVIDIA® Jetson™ TX1 和 TX2。1. 安装 Jetson在安装 DeepStream SDK 之前,本节介绍如何准备 Jetson。1.原创 2021-04-30 15:35:06 · 7604 阅读 · 3 评论 -
Jetson Nano:用 gst-launch-1.0 显示摄像头捕获的图像
gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM),width=3820, height=2464, framerate=21/1, format=NV12' ! nvvidconv flip-method=0 ! 'video/x-raw,width=960, height=616' ! nvvidconv ! nvegltransform ! nveglglessink -e原创 2021-04-30 15:10:09 · 3499 阅读 · 2 评论 -
Jetson Nano:设置 DeepStream 的 include 路径
如果不设置 DeepStream 的 include 路径,自己编写的 C 语言程序是无法编译的。设置方法如下:编辑 /etc/profile 文件,在文件最后加入下面两行,重启系统后正常。C_INCLUDE_PATH=$C_INCLUDE_PATH:/opt/nvidia/deepstream/deepstream-5.1/sources/includesexport C_INCLUDE_PATH...原创 2021-04-30 14:24:32 · 213 阅读 · 0 评论 -
快速入门:GStreamer 常用元素及其用法
0. 目标本教程提供了一个值得了解的方便的 GStreamer 元素列表。它们的范围从允许您轻松构建复杂管道的强大的一体式元素(如 playbin)到在调试时非常有用的小助手元素。为了简单起见,下面的例子是使用 gst-launch-1.0 工具给出的(在《基础教程10: GStreamer工具》中了解它)。如果要查看正在协商的焊盘封口,请使用-v命令行参数。1. BinsBin 的英文原意是箱子的意思,在 GStreamer 中表示若干元素的集合。利用多个元素组合在一起,可以完成一件复杂的任务。G原创 2021-04-22 14:37:28 · 4745 阅读 · 1 评论 -
gst-inspect-1.0 命令详解
这是 `gst-inspect-1.0` 工具的Linux手册页。因此,在路径规范和插件名称方面,它非常以Linux为中心。请耐心等待,因为它是重写为更一般。1. 名称gst-inspect-1.0 打印有关GStreame r插件或元素的信息2. 命令格式gst-inspect-1.0 [OPTION…] [PLUGIN|ELEMENT]3. 说明gst-inspect-1.0是一个工具,它可以打印出可用 GStreamer 插件的信息、特定插件的信息或特定元素的信息。当在没有PLUGIN原创 2021-04-16 11:26:53 · 5065 阅读 · 0 评论 -
gStreamer 官方教程资源大全
1. 入门教程:Basic tutorials这里列一个GStreamer入门课程清单,大家按需选择吧。基础教程1:Hello world!—— 惯例性的 “Hello world” 程序基本教程2:GStreamer概念基础教程3:动态管道基础教程4:时间管理基础教程5: GUI工具包集成基础教程6:媒体格式和Pad功能基本教程7:多线程和Pad可用性基础教程8:管道短路操作基础教程9:媒体信息收集基本教程10:GStreamer工具基本教程11:调试工具基础教程12:流媒体基原创 2021-04-16 10:33:52 · 2525 阅读 · 0 评论 -
值得 Jetson 程序员收藏的代码:视频流硬解码至 GPU 内存的源代码范例
如何用 Jetson 的 GPU 实现硬解码?如何把解码后的数据保存在 GPU 内存?如何在 GPU 内存内完成对数据的操作?是每一位关心算法效率的程序员所关心的事情。但是,Jetson 的开发参考资料中,并没有专门就这一问题系统给出解答。本文把散落在各处的参考资料结合在一起,并参照英伟达官方提供的源代码,整理成一个完整的演示程序,并构造 CMake 文件,完成编译。原创 2021-03-25 11:03:36 · 1811 阅读 · 0 评论 -
英伟达 Jetson 程序员必读:图像的格式、存储、转换、预处理和后处理
有关使用这些函数的示例,请参见 cuda-examples.py 作为对下面伪代码的补充。在进入这里之前,建议您先阅读上一页关于摄像头流媒体和多媒体的内容,了解有关视频捕获和输出、加载/保存图像等方面的信息。1. 图像管理1.1 图像格式尽管视频流API和DNN对象(如imageNet、detectNet和segNet)期望图像为RGB/RGBA格式,但为传感器采集和低级别I/O定义了多种其他格式:位深度表示每像素的有效位数有关YUV格式的详细规范,请参阅fourcc.org网站注意:在原创 2021-03-25 09:59:34 · 1504 阅读 · 1 评论 -
英伟达 Jetson 程序员必读:摄像头流媒体和多媒体的程序设计
摄像头流媒体和多媒体0. 引言1. 流媒体的 URI 标识1.1 输入流1.2 输出流2. 命令行参数2.1 Input Options2.2 输出选项3. MIPI CSI摄像头4. V4L2摄像机4.1 V4L2格式5. RTP5.1 传输RTP5.2 远程查看RTP6. RTSP7. 视频文件7.1 编解码器7.2 调整输入大小7.3 循环输入8. 图像文件8.1 序列9. 源代码9.1 Python 源代码9.2 C++ 源代码0. 引言该项目通过各种接口和协议支持流式视频源和图像,包括:M原创 2021-03-24 17:38:58 · 598 阅读 · 0 评论 -
英伟达 Jetson 程序员必读:运行实时摄像机识别演示
运行实时摄像机识别演示这个 imagenet.cpp / imagenet.py 我们以前使用的示例也可以用于实时相机流。支持的摄像机类型包括:MIPI CSI摄像机(csi://0)V4L2摄像机(/dev/video0)RTP/RTSP流(rtsp://username:password@ip:port)有关视频流和协议的更多信息,请参阅“摄像头流和多媒体”页。下面是在照相机提要上启动程序的一些典型场景(运行–help以获取更多选项):C++$ ./imagenet csi://0原创 2021-03-24 16:31:20 · 1079 阅读 · 0 评论 -
英伟达 Jetson 程序员必读:基于深度学习的图像识别算法的 C++ 代码编写范例
编码你自己的图像识别程序(C++)1. 项目 my-recognition2. 设置项目3. 源代码3.1 包含文件3.2 声明main()函数,并解析命令行3.3 从磁盘加载映像3.4 加载图像识别网络3.5 对图像进行分类3.6 解释结果3.7 结束代码4. 创建 CMakeLists.txt5. Build 项目6. 运行刚编译好的程序1. 项目 my-recognition现在,我们将从头开始创建一个新的图像识别程序,名为 my-recognition。此程序将能够作为repo之外的独立项目存在原创 2021-03-24 16:18:26 · 1064 阅读 · 0 评论 -
英伟达 Jetson 的 CSI、USB、RTSP 摄像头连接字符串
The imagenet.cpp / imagenet.py samples that we used previously can also be used for realtime camera streaming. The types of supported cameras include:MIPI CSI cameras (csi://0)V4L2 cameras (/dev/video0)RTP/RTSP streams (rtsp://username:password@ip:port原创 2021-03-24 15:39:55 · 531 阅读 · 0 评论 -
英伟达 Jetson Nano 新手必备:使用CSI或USB摄像头拍摄第一张照片
英伟达 Jetson Nano 新手必备:使用CSI或USB摄像头拍摄第一张照片1. 引言1.1 支持的摄像头1.2 nvgstcapture2. 在屏幕上开始捕获和预览显示2.1 CSI摄像机2.2 USB摄像头3. 拍照并保存到磁盘3.1 CSI摄像机3.2 USB摄像头4. 捕获视频并保存到磁盘4.1 CSI摄像机4.2 USB摄像头5. 在容器内使用相机5.1 CSI摄像机5.2 USB摄像头6. 有用的资源1. 引言本指南将向您展示如何快速启动和运行CSI和USB摄像头。通过遵循本指南,您将能原创 2021-03-24 14:16:57 · 21544 阅读 · 10 评论 -
英伟达 Jetson Nano 必备:官方开发资源大全
以下指南将帮助您了解有关开发人员工具包和设置理想开发人员环境的更多信息:1. 开发套件用户入门指南英文版:Jetson 2GB Developer Kit User Guide中文版《Jetson 2GB 开发套件用户入门指南》入门指南详细介绍了开发人员工具包的所有输入和输出以及如何使用它们。2. 快速入门你的第一个 Jetson 容器了解什么是容器,以及如何在开发人员工具包中下载和使用它们。安装设置 VNC无头模式并不意味着只有命令行。了解如何从另一台计算机与开发人员工具包的Lin原创 2021-03-24 11:34:14 · 4087 阅读 · 4 评论 -
Nvidia Jetson SDK(JetPack)的 pkgconfig 文件(PC 文件)
用 C/C++ 开发 Jetson 模组,需要 JetPack 的 pkgconfig 文件。相关文件保存在目录 /usr/lib/pkgconfig 下。目录下存了几十个 pc 文件,我今天要用到视频流解码的相关内容,估计与下面几个文件相关:nvgraph-10.2.pcnvidia-ml-10.2.pcnvrtc-10.2.pcnvToolsExt-10.2.pcnvgraph-10.2.pc 用于加速图像分析,内容如下:cudaroot=/usr/local/cuda-10.2li原创 2021-03-20 16:43:22 · 293 阅读 · 0 评论 -
GStreamer入门教程源代码解析:basic-tutorial-1.c
#include <gst/gst.h>intmain (int argc, char *argv[]){ GstElement *pipeline; GstBus *bus; GstMessage *msg; /* Initialize GStreamer */ gst_init (&argc, &argv); /* Build the pipeline */ pipeline = gst_parse_launch原创 2021-03-17 16:38:38 · 711 阅读 · 0 评论 -
基于 OpenCV 和 GStreamer 显示 RTSP 视频流
我在 stackoverflow 上看到一个讨论话题,选择其中有价值的部分,整理一下供大家参考。问题IP 摄像机的 RTSP URL 地址为 rtsp://admin:@192.168.0.27/channel=1&stream=0.554. 用 OpenCV 打开这个视频流。#include <opencv2/opencv.hpp>int main() { cv::VideoCapture cap; if (!cap.open("rtsp://admin:@192原创 2021-03-17 16:30:42 · 7845 阅读 · 0 评论 -
如何使用硬件解码器在python中解码RTSP流?(NVidia JetSon Nano)
我有NVIDIA Jetson Nano和FullHD Ip相机。摄像机流RTSP / h264。我想从这台相机的python脚本中解码帧以进行分析。CPU 解码因此,我尝试使用类似的方法:# import the necessary packagesfrom imutils.video import VideoStreamimport imutilsimport timeimport cv2# grab a reference to the webcamprint("[INFO] sta转载 2021-03-17 15:59:58 · 6266 阅读 · 5 评论 -
摄像头的MIPI接口、DVP接口和CSI接口
我们常用的电脑摄像头接口是USB接口,而常见的智能手机上的摄像头是MIPI接口,还有一部分的摄像头(比如说某些支持DVP接口的硬件)是DVP接口;通俗的讲,USB是串行通用串行总线(Universal Serial Bus)的简称,而MIPI是移动行业处理器接口(Mobile Industry Processor Interface),DVP是数字视频端口(digital video port)的简称,CSI是相机串行接口(CMOS Sensor Interface)的简称。Camera 工作原理介绍一原创 2021-03-17 14:13:54 · 59104 阅读 · 3 评论 -
英伟达 Jetson Nona/TX1/TX2/NX 新手必读:官方开发者资源链接
英伟达官方资源:Nano 入门手册英伟达深度学习AI网站英伟达开发者博客jetbot智能小车学习原创 2021-03-15 12:57:41 · 1625 阅读 · 0 评论 -
英伟达 nano 新手必读:Jetson Nano 2GB 开发者套件入门指南
引言NVIDIA®Jetson Nano™ 2GB开发工具包是教学、学习和开发人工智能和机器人技术的理想选择。有了一个活跃的开发人员社区并准备好构建开源项目,您将找到开始工作所需的所有资源。它以低廉的价格提供了令人难以置信的人工智能性能,并使人工智能和机器人技术的世界为每个人提供了完全相同的NVIDIA软件和工具,用于在所有行业创造突破性的人工智能产品。A Jetson Nano 2GB Developer Kit includes a non-production specification Jets原创 2021-03-15 12:48:50 · 9894 阅读 · 0 评论 -
Opencv 中 FOURCC 编码
FOURCC 是“Four character code”的缩写,也称为4CC。编码定义如下:0-91978: A.M.Paredes predictor2VUY: 2VUY / BlackMagic3IV0: 3ivx3IV1: 3ivx3IV2: 3ivxADVERTISEMENTS3IVD: FFmpeg DivX (MS MPEG-4 v3)3IVX: 3ivx8BPS: Planar RGB CodecAAAS4: Autodesk Animator codec (RLE)原创 2021-01-28 16:51:08 · 5702 阅读 · 0 评论 -
GStreamer:一个包含三个元素的管道
先贴代码吧:#include <gst/gst.h>int main(int argc, char *argv[]) { GstElement *pipeline, *source, *sink; GstBus *bus; GstMessage *msg; GstStateChangeReturn ret; /* Initialize GStreamer */ gst_init(&argc, &argv); /* Create the ele原创 2021-01-17 17:53:02 · 315 阅读 · 0 评论 -
GStreamer 代码详解:连接 IP 网络摄像机
0. 源代码下面是本文讨论的代码。我试了一下,扩展名必须是 *.c,改成 *.cpp 的话无法编译。这个原因我回头再研究。#include <gst/gst.h>int main (int argc, char *argv[]){ GstElement *pipeline; GstBus *bus; GstMessage *msg; gst_init (&argc, &argv); pipeline = gst_parse_launch("play原创 2021-01-17 17:40:19 · 961 阅读 · 2 评论 -
OpenCV 4.5.1 在 Ubuntu 18下的安装详解
1. 下载源代码首先下载源代码,官网下载比较费时,搞了三天都没下来,在 优快云 上找了一下资源解决此问题。2. 把源代码复制到和是目录因为支持 cmake,所以这个过程反而不复杂。在 home 目录建了个文件夹 opencv ,代码拷贝近来,这个文件夹的位置并不重要,因为后面有一个安装步骤,可以把将来开发需要的头文件、编译好的库文件等安装到各自的部署文件夹中。3. 安装 ubuntu 需要的功能具体过程我参考了网上的介绍,过程如下。下面的三条命令,是安装 ubuntu 操作系统需要的功能。如果原创 2021-01-16 12:39:41 · 1530 阅读 · 3 评论 -
图解 IoU 计算原理和代码实现
一、IoU 的原理图解IoU 用来计算目标检测的准确度。如下图所示,检测算法预测的目标框和真实的目标框之间会产生一定偏差,如何衡量这种偏差呢?IoU 用两个方框的交集面积除以并集面积,如下图:二、IoU 计算的代码假设帧数目标框(x1,y1,x2,y2),预测目标框(u1,v1,u2,v2),C语言代码如下:float IoU(float x1, float y1, float x2, float y2, float u1, float v1, float u2, float v2){ fl原创 2020-05-19 11:40:27 · 3832 阅读 · 1 评论 -
笔记:CIFAR-01 和 CIFAR-100 数据集内容和格式详解
详细介绍 CIFAR-10 和 CIFAR-100 数据集内容和数据格式。原创 2020-05-01 13:08:06 · 12177 阅读 · 0 评论 -
Visual Object Classes Challenge 2012 (VOC2012) 简介
介绍Visual Object Classes Challenge 2012 (VOC2012) 的整体情况。原创 2020-04-28 10:20:21 · 2191 阅读 · 0 评论