人工智能
王壹浪
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ModuleNotFoundError: No module named ‘picamera‘
1.On Windows, execute: set READTHEDOCS=True2'.On Unix based systems, execute: export READTHEDOCS=True3.Now execute: pip install picamera原创 2021-03-12 01:43:06 · 2328 阅读 · 1 评论 -
计算机视觉基础之简单目标识别
检测到运动:定义关键事件。 将视频剪辑写入包含事件的文件。步骤1:使用计算机视觉技术检测彩球的存在。 步骤#2:在视频帧中四处移动时跟踪球,并在移动时绘制其先前位置。from collections import dequefrom imutils.video import VideoStreamimport numpy as npimport argparseimport cv2import imutilsimport timeap = argparse.Argum...原创 2021-03-12 01:32:03 · 1283 阅读 · 0 评论 -
计算机视觉入门之构建一个扫描仪
源代码:# import the necessary packagesfrom transform import four_point_transformfrom skimage.filters import threshold_localimport numpy as npimport argparseimport cv2import imutils# construct the argument parser and parse the argumentsap = argpa...原创 2021-03-11 23:31:17 · 842 阅读 · 0 评论 -
anaconda安装环境适配的第三方库
输入anaconda search -t conda库名查看在使用 anaconda show 文件名 就会告诉如何安装对应的库原创 2021-03-09 21:01:46 · 476 阅读 · 0 评论 -
计算机视觉基础之质心跟踪算法1
质心跟踪算法依赖于(1)现有对象质心(即,质心跟踪器之前已经看到的对象)与(2)视频中后续帧之间的新对象质心之间的欧几里得距离。质心跟踪算法的主要假设是一个给定的对象将潜在地移动在后续的帧之间,但距离为帧中的质心之间和将小比对象之间的所有其它距离。因此,如果我们选择将质心与后续帧之间的最小距离相关联,则可以构建对象跟踪器。另外,我们将在旧对象无法与任何现有对象匹配的情况下(总共N个后续帧)注销旧对象。步骤1:接受边界框坐标并计算质心步骤2:计算新边界框与现有对象之间的欧几里得距离步骤3:更新(.原创 2021-02-10 20:52:21 · 1872 阅读 · 0 评论 -
计算机视觉入门教程之将输出图像写入磁盘
#将输出图像写入磁盘cv2。imwrite (args [ “ output” ] ,image )原创 2021-02-10 15:36:32 · 418 阅读 · 0 评论 -
计算机视觉入门教程之图像的屏蔽和按位运算
一个典型的操作,我们可能想要应用的是采取我们的蒙版和按位添加到输入图像,只保留蒙面部分区域:mask = thresh.copy()output = cv2.bitwise_and(image, image, mask=mask)cv2.imshow("Output", output)cv2.waitKey(0)...原创 2021-02-10 13:54:43 · 520 阅读 · 0 评论 -
计算机视觉入门教程之图像的侵蚀和膨胀
侵蚀和膨胀通常用于减少二进制图像中的噪声。为了减小前景对象的大小,我们可以通过多次迭代来侵蚀掉像素:mask = thresh.copy()mask = cv2.erode(mask, None, iterations=5)cv2.imshow("Eroded", mask)cv2.waitKey(0)同样,我们可以在蒙版中前景区域。要扩大区域,同样地,膨胀会增加地面物体的大小:mask = thresh.copy()mask = cv2.dilate(mask, None, i原创 2021-02-10 13:45:53 · 1201 阅读 · 0 评论 -
计算机视觉入门教程之显示检测到的图像轮廓数量
text→形状轮廓数量的字符串len(cnts)→计算此图像中的对象总数text = "I found {} objects!".format(len(cnts))cv2.putText(output, text, (10, 25), cv2.FONT_HERSHEY_SIMPLEX, 0.7, (240, 0, 159), 2)cv2.imshow("Contours", output)cv2.waitKey(0)...原创 2021-02-10 13:36:49 · 656 阅读 · 0 评论 -
计算机视觉入门教程之检测和绘制图像轮廓
在图像中我们有6个图形的轮廓,我们使用代码来计算和查找轮廓。查找前景对象的轮廓(即轮廓),使用阈值化处理后的图像:cnts = cv2.findContours(thresh.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)cnts = imutils.grab_contours(cnts)output = image.copy()在轮廓上循环,在输出图像上用3px粗紫色绘制每个轮廓线outline,然后一次显示一个输出轮廓:f原创 2021-02-10 13:14:38 · 796 阅读 · 0 评论 -
计算机视觉入门教程之将图像阈值处理
图像阈值化是图像处理管道的重要中间步骤。阈值处理可以帮助我们去除较亮或较暗的图像区域和轮廓。阈值设置所有像素值小于225到255(白色;和所有像素值>= 225到255(黑色;背景),从而分割图像thresh = cv2.threshold(gray, 225, 255, cv2.THRESH_BINARY_INV)[1]cv2.imshow("Thresh", thresh)cv2.waitKey(0)代码示意:图像灰度化以后小于225的像素设置为黑色,大于的设置为白色。左为边缘计算以原创 2021-02-10 13:01:22 · 1231 阅读 · 0 评论 -
计算机视觉入门教程之将图像边缘计算
边缘检测可用于查找图像中对象的边界,对于分割目的非常有效。让我们执行边缘检测以查看该过程如何工作:应用边缘检测,我们可以在其中找到对象的轮廓:执行命令:python3 tuxiang.py -i jp.pngedged = cv2.Canny(gray, 30, 150)cv2.imshow("Edged", edged)cv2.waitKey(0)...原创 2021-02-10 12:52:42 · 1247 阅读 · 0 评论 -
计算机视觉入门教程之将图像转换为灰度
加载输入图像(它的路径是通过命令行提供的)参数),并将图像显示到屏幕上:image = cv2.imread(args["image"])cv2.imshow("Image", image)cv2.waitKey(0)将图像转换为灰度:gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)cv2.imshow("Gray", gray)cv2.waitKey(0)...原创 2021-02-10 12:47:50 · 969 阅读 · 0 评论 -
计算机视觉入门教程之导入argparse使用命令行参数
下面我们将学习到如何使用必需的命令行参数运行脚本:首先导包并且构造解析器:import argparseimport imutilsimport cv2ap = argparse.ArgumentParser()ap.add_argument("-i", "--image", required=True, help="path to input image")args = vars(ap.parse_args())...原创 2021-02-10 12:37:16 · 735 阅读 · 0 评论 -
计算机视觉入门教程之在图像上绘图(打标签标注)
在输入图像上绘制矩形,圆形和直线。在图像上覆盖文本。流程:1.我们制作原始图像的副本,并将副本存储为output。2.我们继续绘制称为output 就位,因此我们不会破坏原始图像。output = image.copy()cv2.rectangle(output, (320, 60), (420, 160), (0, 0, 255), 2)cv2.imshow("Rectangle", output)cv2.waitKey(0)添加关键区域:画一个蓝色的20px(填充)圆在图原创 2021-02-09 22:58:53 · 1452 阅读 · 0 评论 -
计算机视觉入门教程之平滑图像(模糊处理)
在许多图像处理管道中,我们必须对图像进行模糊处理以减少高频噪声,从而使我们的算法更容易检测和理解图像的实际内容,而不仅仅是使“混淆”算法的噪声。在OpenCV中,对图像进行模糊处理非常容易,并且有多种方法可以完成图像处理。使用到函数:GaussianBlur应用11x11内核的高斯模糊平滑图像,在降低高频噪声时非常有用。blurred = cv2.GaussianBlur(image, (11, 11), 0)cv2.imshow("Blurred", blurred)cv2.waitK.原创 2021-02-09 22:29:26 · 660 阅读 · 0 评论 -
计算机视觉入门教程之旋转图像
#首先使用OpenCV顺时针旋转图像45度,计算图像中心,然后构造旋转矩阵,然后最后应用仿射经线。center = (w // 2, h // 2)M = cv2.getRotationMatrix2D(center, -45, 1.0)rotated = cv2.warpAffine(image, M, (w, h))cv2.imshow("OpenCV Rotation", rotated)cv2.waitKey(0)...原创 2021-02-09 22:11:08 · 1030 阅读 · 0 评论 -
计算机视觉入门教程之调整图像大小
调整图像大小为200x200px,忽略纵横比:resized = cv2.resize(image, (200, 200))cv2.imshow("Fixed Resizing", resized)cv2.waitKey(0)效果:原创 2021-02-09 21:52:31 · 1173 阅读 · 0 评论 -
计算机视觉入门教程之裁剪图片
接之前教程代码:提取100 × 100像素的ROI(感兴趣的区域),输入图像x=320,y=60, x=420,y=160roi = image[0:100, 320:420]cv2.imshow("ROI", roi)cv2.imwrite("cv_cut_thor.jpg", roi)cv2.waitKey(0)效果:原创 2021-02-09 21:47:43 · 358 阅读 · 0 评论 -
计算机视觉入门教程之显示像素
在上一篇的基础上:(B, G, R) = image[100, 50]print("R={}, G={}, B={}".format(R, G, B))访问位于x=50, y=100的RGB像素,记住OpenCV以BGR顺序存储图像,而不是RGB顺序。原创 2021-02-09 21:05:44 · 249 阅读 · 0 评论 -
计算机视觉入门教程之加载图片
1.安装Ubuntu2.安装opencv和imutils3.学习编写加载图片代码# import the necessary packagesimport imutilsimport cv2# load the input image and show its dimensions, keeping in mind that# images are represented as a multi-dimensional NumPy array with# shape no. rows原创 2021-02-09 20:56:27 · 267 阅读 · 0 评论 -
道路网络上的k近邻:实验旅程和内存实现技术报告
道路网络上的Aknearest neighbor(kNN)查询根据给定位置的网络距离检索knearest point of interest (POIs)。今天,在无处不在的移动计算时代,这是一个非常切题的问题。虽然欧几里得距离已经被用来作为一种启发式的搜索最接近的poi的道路网络距离,其有效性还没有被彻底的研究。最新的方法在查询性能方面有了显著的改进。早期的研究提出了基于磁盘的索引,并将其与主存储器中的当前技术进行了比较。然而,最近的研究表明,主要的记忆比较是具有挑战性的,需要仔细的适应。为了解决这些问题原创 2021-01-26 00:14:09 · 622 阅读 · 0 评论 -
cuDNN v7.6.5 (November 5th, 2019), for CUDA 10.1)下载链接
https://developer.nvidia.com/compute/machine-learning/cudnn/secure/7.6.5.32/Production/10.1_20191031/cudnn-10.1-windows10-x64-v7.6.5.32.zip原创 2020-10-13 11:17:32 · 8195 阅读 · 3 评论 -
openpose安装使用教程
1.下载最新gpu版本的openposehttps://github.com/CMU-Perceptual-Computing-Lab/openpose/releases/tag/v1.6.02.下载项目,打开model文件夹,双击getModels.bat文件下载模型。3.在项目内打开cmd控制台输入命令bin\OpenPoseDemo.exe --video examples\media\video.avi查看效果...原创 2020-10-03 18:02:06 · 5588 阅读 · 2 评论 -
行为识别模型action-recognition-master解读
1.dataset.py用于下载需要使用的数据集hmdb51:import requestsimport osimport globdef download_file(URL, destination): session = requests.Session() response = session.get(URL, stream = True) save_response_content(response, destination) def save原创 2020-10-01 21:09:09 · 913 阅读 · 0 评论 -
torch.autograd.Variable(target.cuda(async=True)) ---用async调用cuda()出现 SyntaxError: invalid syntax
直接把cuda(async=true)中的async=true去掉即可。原创 2020-09-27 11:22:18 · 2951 阅读 · 1 评论 -
python批量删除文件名的前几个字符
1.创建一个记事本文件并更改后缀名为.bat2.写入:@echo offsetlocal enabledelayedexpansion ::批量去掉文件名前N个字符,如果有文件夹会搜索文件夹下的每个文件进行修改set /p format=请输入需要操作的文件格式:set /p deletenum=请输入需要删除文件名前多少个字符:for /r %%i in (.) do ( for /f "delims=" %%a in (' dir /b "%%i\*.%format%" 2原创 2020-09-21 16:03:44 · 3643 阅读 · 4 评论 -
Human3.6M数据集下载
# Download H36M annotations mkdir data cd data wget http://visiondata.cis.upenn.edu/volumetric/h36m/h36m_annot.tar tar -xf h36m_annot.tar rm h36m_annot.tar # Download H36M images mkdir -p h36m/images cd h36m/images wget http://visiondata.cis.upenn.edu/volu原创 2020-09-21 15:45:33 · 3799 阅读 · 0 评论 -
TypeError: unsupported operand type(s) for +: ‘NoneType‘ and ‘str‘
把对应文件夹里面_int_.py文件删除就好了。。。原创 2020-09-20 00:21:35 · 762 阅读 · 0 评论 -
智能数字图像处理之FastRCNN(pytorch)代码解读之faster_rcnn_framework.py
class FasterRCNNBase(nn.Module):广义R-CNN的主要类。参数:支柱(nn.Module):项(nn.Module):roi_heads (n . module):从RPN获取特性+建议并计算探测/遮罩。转换(n . module):执行从输入到feed的数据转换该模型def __init__(self, backbone, rpn, roi_heads, transform):-》参数重新赋值給变量 super(FasterRCNNBase, se...原创 2020-09-19 23:05:31 · 2783 阅读 · 3 评论 -
智能数字图像处理之FastRCNN(pytorch)代码解读之my_dataset.py
def __init__(self, voc_root, transforms, train_set=True):-》voc_root训练集所在根目录,transforms预处理方法,train_set boolean变量 self.root = os.path.join(voc_root, "VOCdevkit", "VOC2012") self.img_root = os.path.join(self.root, "JPEGImages")-》图像根目录 ...原创 2020-09-19 22:35:39 · 1322 阅读 · 1 评论 -
智能数字图像处理之FastRCNN(pytorch)代码解读之spilt_data.py
这是一个脚本生成train.txt等txt文件1.files_path = "./VOCdevkit/VOC2012/Annotations"-》记住文件路径2.if not os.path.exists(files_path): print("文件夹不存在") exit(1)-》检测路径存不存在3.val_rate = 0.5-》验证集比例4.files_name = sorted([file.split(".")[0] for file in os.listdir(fil...原创 2020-09-19 21:35:13 · 706 阅读 · 0 评论 -
智能数字图像处理之FastRCNN(pytorch)代码解读之predict.py
解读create_model方法:1.backbone = resnet50_fpn_backbone()-》默认使用resnet50_fpn_model的resnet50_fpn_backbone方法2. model = FasterRCNN(backbone=backbone, num_classes=num_classes)-》调用FasterRCNN建立模型3.device = torch.device("cuda:0" if torch.cuda.is_available() e..原创 2020-09-19 21:02:42 · 1570 阅读 · 1 评论 -
智能数字图像处理之FastRCNN(pytorch)代码解读之train_mobilenet.py
首先看一下系统架构:解读create_model方法1.backbone = MobileNetV2(weights_path="./backbone/mobilenet_v2.pth").features-》加载MobileNetV2预训练模型 backbone.out_channels = 1280-》设置输出通道2.anchor_generator = AnchorsGenerator(sizes=((32, 64, 128, 256, 512),), ...原创 2020-09-17 22:29:08 · 2606 阅读 · 1 评论 -
智能数字图像处理之FastRCNN(pytorch)代码解读之train_resnet50_fpn.py
解读create_model方法1.num_classes:分类数2.backbone = resnet50_fpn_backbone() model = FasterRCNN(backbone=backbone, num_classes=91)-》调用faster_rcnn_framework的FasterRCNN方法,传入分类数num_classes为91原创 2020-09-17 18:30:05 · 3899 阅读 · 0 评论 -
计算机视觉知识点之RCNN/Fast RCNN/Faster RCNN
Rcnn第一步:输入图像,采用Selective Search 从原始图片中提取2000个左右区域候选框第二步:划分区域提案,进行归一化:将所有候选框变为固定大小的(227*227)区域,对每个候选区域,使用深度网络提取特征第三步:CNN网络提取特征 送入每一类的SVM分类器,判别是否属于该类第四步:NMS(非极大值抑制)区域边框,采用DPM精修边框的位置先模型输入为一张图片,然后在图片上提出了约2000个待检测区域,然后这2000个待检测区域一个一个地(串联方式)通过卷积...原创 2020-09-17 16:46:04 · 1972 阅读 · 0 评论 -
计算机视觉知识点之COCO数据集和pytorch
COCO数据集方面:COCO数据集现在有3种标注类型:1, object instances(目标实例), 2, object keypoints(目标上的关键点), 3, image captions(看图说话)使用JSON文件存储。每种类型又包含了训练和验证,所以共6个JSON文件。Object Instance 类型的标注格式1,整体JSON文件格式数据集中的instances_train2017.json、instances_val2017.json这两个文件就.原创 2020-09-17 16:36:21 · 1801 阅读 · 0 评论 -
《机器学习》实战之分类
1.k-means优点:精度高,对异常值不敏感,无数据输入假定缺点:计算复杂度高,空间复杂度高适用范围:数值型和标称型最近的邻居输入:inX:与现有数据集进行比较的向量(1xN)数据集:大小m已知向量的数据集(NxM)标签:数据集标签(1xM向量)k:用于比较的邻居的数量(应该是奇数)输出:最流行的类标签创建数据集和标签:def createDataSet(): group = array([[1.0,1.1],[1.0,1.0],[0,0],[0,0.1]])...原创 2020-09-17 13:19:17 · 641 阅读 · 0 评论 -
智能数字图像处理:图卷积SGN代码(pytorch)之main.py解读
1.os.environ["CUDA_VISIBLE_DEVICES"] = '0'->目的:使用CUDA环境变量CUDA_VISIBLE_DEVICES来限定CUDA程序所能使用的GPU设备.2.parser = argparse.ArgumentParser(description='Skeleton-Based Action Recgnition')-》创建解析器,使用 argparse 的第一步是创建一个 ArgumentParser 对象。fit.add_fit_args(parser原创 2020-09-15 15:51:40 · 2862 阅读 · 1 评论 -
智能数字图像处理:图卷积SGN代码(pytorch)之fit.py和util.py解读
fit.py作用:解析器:argparse.ArgumentParser返回一个添加了fit所需参数的解析器args = parser.add_argument_group('Training', 'model training')-》对命令行参数进行概念型分组。 args.add_argument('--network', type=str, help='the neural network to use')-》用于命令项选项与参数解析的模块...原创 2020-09-15 14:00:31 · 693 阅读 · 0 评论
分享