计算机视觉
nudt_qxx
这个作者很懒,什么都没留下…
展开
-
YOLOX自定义数据训练
有点个人笔记的意思,写的不是特别详细1.数据转成voc格式ln到dataset目录下面;2.exps/example/yolox_voc/yolox_voc_s.py下修改self.num_classes;3.data/datasets/voc_classes.py修改class name;4.yolox/exp/yolox_base.py下修改epoch值和train_size,数据较少,epoch可以改小,train_size和自己数据集大小保持一致;5.下载预训练模型yolox_m.pth6.p原创 2021-09-09 11:55:00 · 397 阅读 · 0 评论 -
Detectron2自定义数据集进行训练
Detectron2对coco数据格式优先支持。所以在开始之前建议把自己数据修改为标准的coco格式,各种类型数据转coco格式脚本见:转换工具箱。注:这个大佬的数据转换工具,在box标注那里貌似会偏移一个像素,不知道修复没有。但是如果对检测box的定位精度不是要求很苛刻的话,这个并不会有太大影响。Detectron2训练自己数据1.第一步当然是安装Detectron2:系统软件要求:...原创 2019-12-22 11:54:46 · 7984 阅读 · 11 评论 -
Python查看两张图差异
#coding=utf-8from PIL import Imageimport mathimport operatorfrom functools import reducedef compare(pic1,pic2): ''' :param pic1: 图片1路径 :param pic2: 图片2路径 :return: 返回对比的结果 ''...转载 2019-12-20 15:09:28 · 965 阅读 · 0 评论 -
单张图根据坐标提取多个mask
三个矩形区域,已经设置有坐标,提取后背景黑色,mask区域白色,且三个mask都在最后的final.png内。#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include <iostream>#include <stdio.h>#include <ve...原创 2019-10-30 19:31:31 · 740 阅读 · 0 评论 -
Apollo感知模块算法详解
原文出处:https://github.com/ApolloAuto/apollo/blob/master/docs/specs/perception_apollo_3.0.mdhttps://github.com/ApolloAuto/apollo/blob/master/docs/specs/perception_apollo_3.0_cn.md感知Apollo 3.0 June...转载 2018-08-30 15:55:27 · 25482 阅读 · 6 评论 -
Python根据欧拉角求旋转矩阵
利用numpy和scipy,我们可以很容易根据欧拉角求出旋转矩阵,这里的旋转轴我们你理解成四元数里面的旋转轴 import numpy as np import scipy.linalg as linalg import math #参数分别是旋转轴和旋转弧度值 def rotate_mat(self, axis, radian): rot...原创 2018-08-13 11:01:39 · 11112 阅读 · 0 评论 -
DL&ML评测之IoU,ROC,AUC和mAP详解
基本概念:1. TP,FP,TN,FNTP:True Positive,预测为正样本_实际也为正样本的特征数FP:False Positive,预测为正样本_实际为负样本的特征数TN:True Negative,预测为负样本_实际也为负样本的特征数FN:False Negative,预测为负样本_实际为正样本的特征数![image](/uploads/da0b3762ec...原创 2018-07-30 16:50:36 · 3773 阅读 · 0 评论 -
自动驾驶算法岗位实习简单面试
Using c++ to write a queue. Need support function push(), pop()答案:#include &amp;amp;amp;amp;lt;iostream&amp;amp;amp;amp;gt;#include &amp;amp;amp;amp;lt;string&amp;amp;amp;amp;gt;using namespace std;templa原创 2018-07-25 18:21:37 · 9246 阅读 · 0 评论 -
Pytorch实现手写数字mnist识别
import torchimport torchvision as tvimport torchvision.transforms as transformsimport torch.nn as nnimport torch.optim as optimimport argparse# 定义是否使用GPUdevice = torch.device("cuda" if torch.cu...原创 2018-06-17 17:08:56 · 2417 阅读 · 1 评论 -
tensorflow实现mnist手写数字识别
import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_datadata_path = 'F:\CNN\data\mnist'mnist_data = input_data.read_data_sets(data_path,one_hot=True) #offline datasetx...原创 2018-06-16 08:52:56 · 550 阅读 · 0 评论 -
19校招AI算法面经(百度+京东+美团+地平线offer)转载 2018-08
本文章系转载,出处:https://www.nowcoder.com/discuss/95895作者:董洪义 链接:https://www.nowcoder.com/discuss/95895 来源:牛客网目前已经拿到了几家口头offer,还有在面试中的,在此回馈一波牛客,有问题欢迎指正与讨论; 会不断更新~写这个的原因一是总结一下自己这几个月的过程;二是提供一些面经;京...转载 2018-09-13 16:37:45 · 2962 阅读 · 0 评论 -
tensorflow 2.0预览版安装和入门教程
下一代TensorFlow终于可以尝鲜了。今天凌晨,谷歌AI团队的Martin Wicke在TensorFlow官方社区发帖,兴奋地通知TensorFlow 2.0开发者预览版已经放出。当然现在还是一个很早期的nightly夜版,也就是说,这个版本更新速度会非常快,同时也意味着不稳定因素更多。Martin Wicke在帖子里也明确说了这一点,现在放出的TensorFlow 2.0开发者测试版...原创 2019-01-11 15:03:06 · 5851 阅读 · 6 评论 -
numpy实现目标检测中的IOU和NMS
本文系转载,出处:http://www.manongjc.com/article/37951.html交并比(Intersection-over-Union,IoU),目标检测中使用的一个概念,是产生的候选框(candidate bound)与原标记框(ground truth bound)的交叠率,即它们的交集与并集的比值。最理想情况是完全重叠,即比值为1。计算公式:代码实现1:de...转载 2019-02-21 21:38:28 · 4712 阅读 · 2 评论 -
maskrcnn benchmark自定义数据集的方法
maskrcnn benchmark自定义数据集的方法1、拷贝数据集到根目录的datasets下(和demo同级目录)如maskrcnn-benchmark/datasets/jinnan/jinnan2_round1_train_201903052、修改paths_catalog.py路径为maskrcnn-benchmark/maskrcnn_benchmark/config/pa...转载 2019-03-25 14:18:56 · 2048 阅读 · 1 评论 -
mmdetection 多尺度测试开启
当然在issue:https://github.com/open-mmlab/mmdetection/issues/135 里面陈凯博士说的很清楚,这里以faster-rcnn为例,看下如何开启多尺度测试提分:文件准备git clone https://github.com/open-mmlab/mmdetectioncd ..mkdir models && cd mode...原创 2019-06-01 15:43:37 · 7170 阅读 · 13 评论 -
mmdetection加入SENet-154 backbone
代码搬用自:https://github.com/open-mmlab/mmdetection/issues/5881. 在mmdet/models/backbones中新建senet.py,加入以下内容:from __future__ import print_function, division, absolute_importfrom collections import Ordere...原创 2019-06-02 14:46:16 · 6281 阅读 · 10 评论 -
C++实现NMS(非极大值抑制)
具体原理解析和numpy实现见本人另一篇博客:numpy实现目标检测中的IOU和NMS这里直接上C++代码://!//! \brief Performs non maximum suppression on final bounding boxes//!std::vector<int> nonMaximumSuppression(std::vector<std::pai...原创 2019-07-25 10:54:12 · 2680 阅读 · 0 评论 -
OpenCV把当前文件夹下的png批量转为jpg
Python代码,只需要glob和opencv两个依赖,直接上代码:#!/usr/bin/env pythonfrom glob import glob import cv2 pngs = glob('./*.png') for j in pngs: img =...原创 2019-08-24 10:28:41 · 1394 阅读 · 2 评论 -
ORB_SLAM2系列之三:ORB_SLAM2跑RGBD SLAM数据集
简介ORB-SLAM2是一套完整的SLAM方案,提供了单目,双目和RGB-D三种接口。它能够实现地图重用,回环检测和重新定位的功能。无论是在室内的小型手持设备,还是到工厂环境的无人机和城市里驾驶的汽车,ORB-SLAM2都能够在标准的CPU上进行实时工作。ORB-SLAM2在后端上采用的是基于单目和双目的光束法平差优化(BA)的方式,这个方法允许米制比例尺的轨迹精确度评估。此外,ORB-SLA...原创 2017-12-02 17:23:15 · 10243 阅读 · 2 评论 -
实时语义分割框架FCIS的官方代码安装和运行
介绍继图像分类、物体检测之后,精确到像素级别的物体实例分割就成为更具挑战性和实用性的视觉识别任务。前两个任务在近年来取得了迅速的进展,已经有了不少优雅有效的方法。然而,实例分割任务却还缺少一个标杆性的工作。为此,来自清华大学和微软研究院的李益、齐浩之、代季峰、季向阳、危夷晨合作,利用全卷积神经网络(FCN)在图像语义分割和实例分割预测方面的优势,提出了一种新的架构 FCIS。FCIS 是首个全卷积、原创 2018-01-04 15:23:50 · 4569 阅读 · 4 评论 -
ORB特征提取匹配opencv3代码实现
#include <iostream>#include <opencv2/core/core.hpp>#include <opencv2/features2d/features2d.hpp>#include <opencv2/highgui/highgui.hpp>using namespace std;using namespace cv;int main ( int argc, char原创 2017-12-12 22:13:19 · 3289 阅读 · 0 评论 -
BRIEF描述子介绍及其opencv3实现
引出SIFT特征采用了128维的特征描述子,由于描述子用的浮点数,所以它将会占用512 bytes的空间。类似地,对于SURF特征,常见的是64维的描述子,它也将占用256bytes的空间。如果一幅图像中有1000个特征点(不要惊讶,这是很正常的事),那么SIFT或SURF特征描述子将占用大量的内存空间,对于那些资源紧张的应用,尤其是嵌入式的应用,这样的特征描述子显然是不可行的。而且,越占有越大的空原创 2017-12-11 10:47:01 · 5011 阅读 · 0 评论 -
Python 把蓝底照片转化为白底照片
本文系转载,出处:http://blog.csdn.net/haofan_/article/details/76618362。import cv2import numpy as npimg=cv2.imread('yay.jpg') #原始图片#缩放rows,cols,channels = img.shapeimg=cv2.resize(img,None,fx=0.5,fy=0.5)转载 2017-11-20 13:00:22 · 5944 阅读 · 7 评论 -
C++ opencv把蓝底照片转化为白底照片
本文系转载,出处:http://blog.csdn.net/qq_37059483/article/details/77840976。#include <opencv2/opencv.hpp>#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include <opencv2/imgproc/imgpro转载 2017-11-20 13:04:12 · 3139 阅读 · 0 评论 -
利用华硕Xtion Pro Live 在ROS-kinetic下跑rgbdslam_v2
接上一篇Ubuntu 16.04 ROS-kinetic安装华硕Xtion Pro Live 驱动,这里把华硕Xtion Pro Live的驱动安装成功之后,我们可以尝试用这个kinect来跑一下 RGBD-SLAM-V2。 RGBD-SLAM-V2程序是由F. Endres大大写的。为什么首先选这个程序呢?因为它的原理在我们前面的博客中介绍过了。它是一个基于深度相机、Pose graph (图原创 2017-11-28 16:34:22 · 1033 阅读 · 0 评论 -
VS2015下配置Boost1.65.1和opencv3.3
最近入坑机器视觉,需要opencv和boost库,今晚找教程很快配置成功,这里记录下配置过程。配置boost1.下载解压 地址:boost_1_65_1.zip,然后解压到自己的目录,我的目录是D:\boost_1_65_1。2.编译 找到VS2015自带的x64本机工具命令提示符,进入解压目录并执行该目录下的bootstrap.bat,执行后该目录下会生成b2.exe和bjam.exe。执行.原创 2017-11-14 21:20:53 · 1357 阅读 · 1 评论 -
Ubuntu 16.04 ROS-kinetic安装华硕Xtion Pro Live 驱动
今天老师提供了一个华硕的kinect设备,名叫Xtion Pro Live,拿来尝试跑一下ORBSLAM。驱动安装首先需要安装下设备驱动,在Ubuntu 16.04 ROS-kinetic环境下直接在命令行下输入:sudo apt-get install ros-kinetic-rgbd-launch ros-kinetic-openni2-camera ros-kinetic-openni2-la原创 2017-11-28 15:45:09 · 4141 阅读 · 4 评论 -
SLAM介绍
SLAM是Simultaneous Localization and Mapping的缩写,意为“同时定位与建图”。它是指运动物体根据传感器的信息,一边计算自身位置,一边构建环境地图的过程。目前,SLAM的应用领域主要有机器人、虚拟现实和增强现实。其用途包括传感器自身的定位,以及后续的路径规划、场景理解。两大类随着传感器种类和安装方式的不同,SLAM的实现方式和难度会有很大差异。粗略来说,SLAM主原创 2017-11-10 21:23:43 · 2296 阅读 · 0 评论 -
ORB_SLAM2系列之一:Ubuntu 编译安装ORB_SLAM2
环境Ubuntu 14.04 +ROS indigo解决依赖首先需要编译安装GLEW和Pangolin安装GLEW:sudo apt-get install libx11-devsudo apt-get install libgl1-mesa-dev sudo apt-get install libglu1-mesa-dev sudo apt-get insta...原创 2017-11-29 18:53:24 · 1609 阅读 · 0 评论 -
Python opencv用笔记本摄像头检测道路拐角
这里利用了Harris角点来检测物体边缘和路口拐角,其原理是:人眼对角点的识别通常是在一个局部的小区域或小窗口完成的。如果在各个方向上移动这个特征的小窗口,窗口内区域的灰度发生了较大的变化,那么就认为在窗口内遇到了角点。如果这个特定的窗口在图像各个方向上移动时,窗口内图像的灰度没有发生变化,那么窗口内就不存在角点;如果窗口在某一个方向移动时,窗口内图像的灰度发生了较大的变化,而在另一些方向上没有发生原创 2017-12-05 19:43:37 · 1114 阅读 · 1 评论 -
编译ORB-SLAM2提示:undefined reference to symbol '_ZN2cv6String10deallocateEv'
环境Ubuntu 14.04 +opencv3.3.1编译orb-slam2,报错:undefined reference to symbol '_ZN2cv6String10deallocateEv'详细报错信息如下:/usr/bin/ld: warning: libopencv_core.so.3.3, needed by ../Thirdparty/DBoW2/lib/libDBoW2.so,原创 2017-12-17 21:56:50 · 9000 阅读 · 0 评论 -
ORB_SLAM2系列之四:利用华硕Xtion Pro Live跑ORB_SLAM2
网上关于深度相机跑ORB_SLAM2的教程大多数是以Kinect作为传感器的。高博的博客中有一篇是用的Kinect2,在ROS运行的orb_slam2。今天我们来试一试不用ROS,通过OpenNI2直接调用xtion获取rgb数据和depth数据来重建环境。我的建议,要么xtion要么kinect2, 因为kinect很鸡肋,xtion比它轻巧,kinect2比它分辨率高。这里找到一份在ORB_SL原创 2017-12-15 21:39:20 · 1548 阅读 · 0 评论 -
opencv3调用笔记本摄像头批量拍摄图片
出处:利用摄像头拍照并保存。环境Win10,VS2015+opencv3.3.1代码:#include<opencv2\opencv.hpp> #include<opencv2\highgui\highgui.hpp> #include<opencv2\imgproc\imgproc.hpp> #include<iostream> #include<stdio.h> using转载 2017-12-14 21:37:04 · 2727 阅读 · 0 评论 -
ORB_SLAM2系列之二:ORB_SLAM2跑单目SLAM
接上一篇ORB_SLAM2系列之一:Ubuntu 14.04 ROS indigo下编译安装ORB_SLAM2,ORB_SLAM2提供了单目,双目和rgbd接口,这里我们先来尝试运行下最简单的单目SLAM(MonoSLAM)。理论上编译成功之后直接进入到ORB_SLAM2/Examples/Monocular文件夹下去执行文件就可以了,不过需要解决个错误:error while loading sh原创 2017-11-29 22:33:12 · 3437 阅读 · 0 评论 -
opencv3计算摄像头内参
ORB-SLAM2跑单目SLAM需要设定相机参数到yaml文件,这里来说下如何利用opencv进行相机参数设定。环境Win10,VS2015+opencv3.3.1对摄像机进行标定可以使用直接使用摄像头也可以事先拍好照片。利用自己摄像头批量拍摄图片见:[opencv3调用笔记本摄像头批量拍摄图片]。(http://blog.csdn.net/xiangxianghehe/article/detail转载 2017-12-14 22:12:30 · 4872 阅读 · 0 评论 -
Opencv3中FeatureDetector未定义标识符,不在cv命名空间下的解决办法
参考:Clion 下配置 Opencv3环境Win10 64位 + Clion 2017.1 + cmake-3.10.0-win64-x64 +opencv3.3.1 + tmd-gcc (tdm64-1) 5.1.0 + git version 2.13.1.windows.2 文件准备1.opencv-3.3.1-vc14.exe 2.opencv_contrib 3.mingw-w64-原创 2017-12-11 17:33:30 · 6242 阅读 · 0 评论 -
Win10下Clion配置opencv3
本人不想在爱机装一个vs2013或者vs2015这种庞然大物,可是手头要弄一个基于windows的opencv项目,就只好装了个Clion,期间踩了不少坑,记录一下。 参考网址:http://www.zerovalues.com/2017/02/20/clion-CV32-Win10-64-cfg/ 一.准备工作: 1.安装tmd-gcc:在官网链接下载最新的tmd-gcc安装包。本人是win原创 2017-04-27 23:16:49 · 7717 阅读 · 4 评论 -
Ubuntu下opencv3.3和opencv_contrib的编译安装
文件准备1.opencv-3.3.1.zip 2. opencv_contrib-3.3.1.zip准备先安装以下依赖包sudo apt-get install build-essential sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev ...原创 2017-12-12 11:19:54 · 27088 阅读 · 13 评论