自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

清欢

人间有味是清欢

  • 博客(224)
  • 收藏
  • 关注

原创 文章汇总

PythonPython手册(1) Anaconda & pip

2020-05-21 10:16:12 11580

原创 在 VS2019 中编译/使用 ZeroMQ

文章目录0. 前言1. libzmq 编译2. cppzmq 编译0. 前言目标:使用 VS2019 编译并使用 ZeroMQZeroMQ 对应的源码分别是 libzmq 和 cppzmq1. libzmq 编译第一步:使用 CMake 打开配置 libzmq第二步:配置 CMake。都用了默认配置,啥都没改,点击 Generate 然后点击 Open Project第三步:通过 VS2019 编译首先,右键选择 ALL_BUILD 然后生成即可然后,右键点击

2022-05-22 22:49:50 1003 1

原创 在 VS2019 中编译/使用 Protobuf

文章目录0. 前言1. VS2019 编译 Protobuf3. VS2019 项目中使用编译好的 Protobuf4. VS2019 的 CMake 项目中引入 Protobuf0. 前言由于对 Windows 和 VS2019 不太熟悉,在编译并使用 Protobuf 的过程中碰到很多问题,虽然没有完全解决,但勉强能用,这里记录一下。目标:使用VS2019编译 ProtobufVS2019 项目中使用编译好的 ProtobufWindows下的 CMake 项目中,引用编译好的 Prot

2022-05-21 23:36:37 3077 2

原创 Windows 中使用 VS2019 开发 CMake 项目

文章目录0. 前言1. 使用 VS2019 编译 SPDLOG2. 在 VS2019 中创建 CMake 项目引入 SPDLOG0. 前言目标:使用 VS2019 构建 CMake 项目,或导入、开发已有 CMake 项目。为什么要这么做?跨平台:目前的项目需要跨平台开发,主力平台是Linux,Windows主要做适配工作。世界上最好的IDE:2010的时候,我就是用VS开发的,现在也算是重操旧业……本文内容:以 SPDLOG 为例,使用 VS2019 编译已有的 CMake 项目

2022-05-16 18:08:28 7154

原创 C++ 项目中使用 Pre-commit 协助实现代码规范检查

文章目录0. 前言1. 工具简单介绍1.1 pre-commit 的简单使用1.2 clang-format1.3 cpplint2. 最佳实践2.1 配置文件2.2 安装依赖程序0. 前言多人项目开发需要统一代码规范,为了执行这些代码规范,需要有工具的辅助。目前选择的工具组合式:precommit:在执行 git commit 的时候进行代码检查。具体执行的命令就是通过下面几个工具。clang-format:代码格式检查(formatting工具,只检查格式)cpplint:C++代码静态

2022-04-24 10:36:08 2068

原创 VS2019 + OpenVINO 初体验

文章目录0. 前言1. OpenVINO 在 VS2019 中的配置2. OpenVINO 模型推理程序梗概0. 前言目标:在 Windows 上运行 OpenVINO 2021.4 版实现路径:之前打算用 CMake + MinGW + VSCode 的方案在 Windows 下进行 C++ 开发,但在执行 cmake 命令阶段就爆出一个 This Intel TBB package is intended to be used only in the project with MSVC

2022-04-18 15:04:54 4952 5

原创 ROS 使用记录(3) 自定义消息格式

文章目录0. 前言1. 创建 `.msg` 文件2. 构建 pkg 解析 `.msg` 文件3. 在其他 pkg 中使用自定义消息0. 前言ROS 中可通过 publisher/subscriber 和 topic 实现设计模式中的发布-订阅模式。而传递数据的基本数据结构就是message(消息)ROS 中定义了很多消息格式,比如数字、字符串、图片等。然而,在实际开发过程中,往往需要自己定义消息格式。自定义消息的实际使用可分为三个部分第一步:确定数据结构,创建 .msg 文件第二步

2021-09-03 11:22:58 1021

原创 ROS 小技巧 - 引用同一工作区中pkg

1. 需求要写的ROS代码比较多,有很多公共功能。希望把公共部分单独作为一个pkg,供同一工作区中的其他pkgs引用。参考:ROS:使用同一工作空间下不同包的头文件2. 实现本质上就是实现两个pkg(记为A与B),假设B引用A。如果只引用A中的头文件(而不是.so lib),那A的实现与普通pkg实现没有太大不同,需要注意的是,在 CMakeLists.txt 中需要catkin_package( # 这一行必须有 # 如果不是别的pkg要调用,下面这行没有也没事,原因

2021-09-02 19:47:07 308

原创 ROS 小技巧 - OpenCV4 与 CV_Bridge 配合使用

1. 现象ROS默认的Python版本是3.3,但我系统安装的是OpenCV4.5如果直接在pkg中使用cv_bridge和opencv4.5就会有问题。会有一些undefined reference问题参考资料:ROS 下使用Opencv4.4.0,并且使用cv_bridge转换msgs 与 opencv图像注意,重新编译并不能解决问题kinetic版本下,用OpenCV4.5.0编译cv_bridge失败,原因没细看,感觉上是API改变导致的。2. 解决

2021-09-02 19:08:11 2409 2

原创 ROS 小技巧 - Ctrl+C 退出 ROS 程序

1. 现象在使用 rosrun 启动 ROS 节点的时候,默认情况下使用 ctrl+c 无法退出程序。原因我也不太清楚,可能是 ROS 程序默认接管了所有信号量(ctrl+c就是一个信号量)2. 解决参考资料:官方文档-Initialization and Shutdown自定义信号量处理的函数(代码来自上面的文档)切换行号显示#include <ros/ros.h>#include <signal.h>void mySigintHandler(i

2021-09-02 12:30:24 5916 1

原创 ROS 小技巧 - VSCode 中设置 ROS 编译环境

1. 编译环境目标:在VSCode写代码时,能够正常解析ROS相关头文件,并跳转。流程第一步:在执行 catkin_make 的时候指定参数 -DCMAKE_EXPORT_COMPILE_COMMANDS=Yes第二步:在 c_cpp_properties.json 中添加 "compileCommands": "${workspaceFolder}/build/compile_commands.json"如果还是不能跳转,记得吧 build/devel 删了重来2. 运行环

2021-09-02 10:55:14 543 2

原创 ROS 使用记录(2) 日志系统与roslaunch

文章目录0. 前言1. 日志系统2. roslaunch0. 前言本文主要内容:ROS 中自带了日志系统,本文简单学习一下基本使用。ROS 中启动节点的主要方法就是 roslaunch,需要仔细学习一下用法。参考资料:官方文档-roscpp/Overview/Logging官方文档-rosconsole官方文档-roslaunch官方文档-roslaunch/XML官方文档-Roslaunch tips for large projectslaunch文件中param、ros

2021-09-02 10:26:43 2199

原创 侯捷 C++面向对象开发 (1) 面向过程

文章目录0. 前言第二课 - 头文件与类的声明第三课-构造函数第四课-函数传递与返回值第五课-操作符重载与临时对象第六课-复习Complex类的实现过程第七课-拷贝构造,构造复制,析构第八课-堆,栈与内存管理第九课-复习String类的实现过程第十课-扩展补充:类模版,函数模版,及其他0. 前言侯捷大佬所有C++课程之一全部课程参考这里本文对应的课程: 面向过程包括第二课到第十课,相关内容主要是以实现 Complex 类与 String 类为目标介绍了类创建的基本语法、思路

2021-09-01 23:48:56 238

原创 ROS 使用记录(1) ROS安装以及项目构建与运行

文章目录0. 前言1. ROS 安装2. Hello World 程序2.1 创建工作区2.2 创建 package2.3 编译 package2.4 运行 package0. 前言为了将深度学习模型部署到ROS系统中,接下去一段时间会学习很多ROS相关的内容,希望通过一段时间的学习,能达到侯捷老师说的“心中自有丘壑”。本文内容:ROS 的安装ROS 项目的构建与 hello world 项目的运行1. ROS 安装参考资料英文文档,中文文档ROS 的版本

2021-08-31 18:21:10 668

原创 TensorFlow Object Detection API 模型转换为 MNN (1)

文章目录0. 前言1. TFLite 生成流程1.1 运行 `export_tflite_ssd_graph.py` 脚本1.2 `tflite_convert` 工具使用2. TensorFlow Object Detection API 模型转换脚本2.1 过程2.2 测试结果附录TFLite 的输入与输出0. 前言最近在做目标检测模型的端侧部署,想把目前开源的一系列模型部署到 ARM CPU 下进行测试。常见的目标检测端侧模型主要都是 yolo 系列和 ssd 系列。ssd 系列模型中,

2021-08-23 15:39:10 602

原创 实时语义分割调研

文章目录0. 前言1. 语义分割概述2. 一些总结3. 论文浏览3.1 ENet3.2 ICNet3.3 BiSeNet3.4 CGNet3.5 DFANet3.6 Fast-SCNN3.7 BiSeNetV23.8 HyperSeg3.9 Rethinking BiSeNet For Real-time Semantic Segmentation0. 前言实时语义分割(real-time semantic segmentation),目标是能实时跑在CPU上。本文调研的基本都是普通的语义分割方法,

2021-08-05 16:59:57 4164 4

原创 CS194 Full Stack Deep Learning(5) Troubleshooting Deep Neural Networks

文章目录0. 前言1. 为什么深度学习调试很难?2. 调试策略与过程2.1. Start Simple2.2. Implement & Debug2.3. 评估模型2.4. 改进模型与数据集2.5. 超参数调节0. 前言相关资料fall2019资料《全栈深度学习第5期: 神经网络调试技巧》B站视频(字幕是自动生成的,但也差不多够用)为什么要聊聊深度学习调试(Troubleshotting)80%以上的时间在调试,剩下一点点时间在尝试新内容。主要内容:为什么深度学习调

2021-07-22 00:15:17 337

原创 PytorchVideo Transforms 详解

文章目录0. 前言1. Mix 操作2. 普通操作2.1 Norm 与其他2.2 Sample Strategy2.3 Resize & Crop3. “高端”数据增强4. create_video_transform0. 前言看到 PytorchVideo 中有 RandAugment 以及 AugMix,我有心把这些引入 MMAction2。在写代码之前,先详细了解下 PyTorchVideo Transforms 的细节。PytorchVideo Transforms 主要可分为

2021-07-10 16:52:28 2830 1

原创 Latex 入门笔记(2) 常用语法

文章目录0. 前言1. LaTeX 文档总体结构2. 字符相关3. 文档元素3.1 章节与目录3.2 标题页3.3 列表、引用、摘要、代码3.4 表格4. 排版格式4.1 字体、字号、下划线4.2 段落格式与间距0. 前言最近要写一些比较正式的文档,以前一直用 Word,但非常不喜欢。现在下定决心学习一下 Latex,希望通过三个笔记来入门安装与 VSCode 环境搭建常用语法(本文)模版推荐与使用参考资料LaTeX科技排版入门张敬信老师的LaTeX入门讲座一份其实很短

2021-07-10 01:13:50 595 2

原创 Latex 入门笔记(1) 安装以及 VSCode 环境搭建

文章目录0. 前言1. TexLive 安装2. VSCode 环境搭建0. 前言最近要写一些比较正式的文档,以前一直用 Word,但非常不喜欢。现在下定决心学习一下 Latex,希望通过三个笔记来入门安装与 VSCode 环境搭建(本文)常用语法模版推荐与使用本文主要内容TexLive 安装VSCode Latex Workshop 环境使用1. TexLive 安装第一步:从官网下载 TeX Live的iso包。第二步:解压镜像并启动安装。

2021-07-09 01:36:20 303 1

原创 全景分割调研(3) 当前研究现状

文章目录0. 前言1. 研究现状2. 单篇论文笔记2.1 Panoptic Feature Pyramid Networks2.2 Panoptic-DeepLab: A Simple, Strong, and Fast Baseline for Bottom-Up Panoptic Segmentation2.3 Fully Convolutional Networks for Panoptic Segmentation0. 前言全景分割调研系列文章分为4篇问题引入与性能指标常用数据集当前研

2021-07-06 18:44:44 1973

原创 记录一个 Python sys.path 相关BUG

文章目录1. BUG 描述2. 问题解决2.1 治标不治本的方法2.2 治本的方法2.3 原理探究1. BUG 描述环境一Ubuntu 16.04 中有多个 Python 版本,包括系统默认(即 sudo apt install python3)Python3.5 以及一个通过源码安装的 Python 3.6没有使用 anaconda 管理不同 Python 版本。环境二:有多个版本的Python,通过 anaconda 管理。BUG细节在指定Python环境(环境一的

2021-07-06 14:56:46 709

原创 全景分割调研(1) 问题引入与性能指标

文章目录0. 前言1. 问题引入1.1 要解决什么问题1.2 用了什么方法1.3 还存在什么问题&可借鉴之处2 性能指标2.1 对于性能指标的要求2.2 PQ 的定义与实现2.3 COCO 中的细节0. 前言全景分割调研系列文章分为4篇问题引入与性能指标(本文)常用数据集当前研究现状(现有模型分类以及当前常见研究方向)相关开源项目简介本文主要内容全景分割的引入(也就是这篇论文的笔记)全景分割常用性能指标介绍1. 问题引入相关资料:arxivgithub

2021-07-06 00:26:55 524

原创 GoogleTest 入门(1) 官网文档浏览

文章目录0. 前言1. Getting Started2 Googletest Primer0. 前言要转型成为C++工程师,要走的路还很长啊……最近写了不少C++代码和项目,单元测试都是自己随便写写,不成体系,希望能够了解下业界的写法,自己也学一学。单元测试框架好像没有什么悬念,就是googletest了。官方资料阅读官方资料:Github,文档GooglgTest是由之前两个项目 GoogleTest 和 GoogleMock 组成,所以在文档中,基本上也可以分为 Goo

2021-07-05 18:05:16 1855 3

原创 GoogleTest 入门(2) CMake 项目中引入 GTest

文章目录0. 前言1. 方式一:完全不使用CMake特殊语法2. 方式二:ctest3. 方式三:find_package4. 方式四:使用 CMake 中 GTest 相关的特殊语法0. 前言场景很简单:自己的项目中创建了一系列单元测试,如何引入 GTest,如何执行测试。准备工作:git clone https://github.com/google/googletest.gitcd googletestmkdir build && cd build &&

2021-07-05 18:04:22 6540

原创 C++ 日志工具 spdlog 简单实用

文章目录0. 前言1. 安装与引入1.1 安装1.2 其他项目中引入2. 使用2.1 构建logger2.2 设置日志等级2.3 自定义日志输出格式2.4 注册与获取2.5 输出日志3. 其他0. 前言参考资料:官网wiki就够用了1. 安装与引入1.1 安装因为spdloggit clone https://github.com/gabime/spdlog.gitcd spdlog && mkdir build && cd buildcmake .

2021-07-05 01:34:18 1979

原创 全景分割调研(2) 常用数据集

文章目录0. 前言1 COCO2 Cityscapes3 Mapillary4 KITTI5 Indian Driving Dataset附录COCO 数据集类别Cityscapes 类别0. 前言根据 paperswithcode 中描述,常用的全景分割数据集包括 COCO/Cityscapes/Mapillary/KITTI,下面分别介绍1 COCO官网,Github官网直接下载(只不过如果没有梯子,随缘进官网)数据:就是COCO2017的train/val/test数据集类别:

2021-07-02 19:29:31 2660

原创 Deepstream 资料阅读记录

文章目录0. 前言1 DeepStream: Next-Generation Video Analytics for Smart Cities2 DeepStream SDK3. DeepStream Getting Started4. NVIDIA DeepStream SDK Developer Guide0. 前言官方文档DeepStream: Next-Generation Video Analytics for Smart Cities,对应翻译DeepStream Getting S

2021-07-02 13:55:14 481

原创 CVPR2021 Tutorial & Workshop 调研

文章目录0. 前言Mobile Visual Analytics: A CVPR 2021 Tutorial2nd Comprehensive Tutorial on Video ModelingAffective Understanding in VideoLarge scale holistic video understandingThe Eighth International Workshop on Egocentric Perception, Interaction and Computing

2021-06-29 23:26:18 940 1

原创 MMDetection CenterNet 源码解析

文章目录0. 前言1. 模型构建2. `BaseDetector`3. `SingleStageDetector`4. `CenterNetHead`0. 前言CenterNet是我很喜欢的一篇论文,直观、好懂。然而,官方的 CenterNet 源码质量真的一般,看过的人应该都有这种感觉。好消息是,MMDetection 中复现了 CenterNet,可以参考这里此外,我想要复现时空行为检测中的 MOC-Detector,这篇文章也是基于 CenterNet 的,所以要捋一捋 Cente

2021-06-14 02:39:26 1745 7

原创 mmaction2 性能指标相关源码解析

文章目录0. 前言1. 训练时性能指标2. 验证/测试时性能指标0. 前言想实现一个TubeDataset,要实现性能指标相关功能。之前一直都没有仔细研究过相关源码,趁这个机会都看一下。从结构上看,性能指标相关源码可以分为:训练时性能指标:无法通过配置文件配置,每类任务(分类、定位、检测)都有固定的性能指标展示验证时性能指标:通过 EvalHook 实现,EvalHook中的核心流程与测试时完全一致。配置文件中 evaluation 选项的参数会传递到 dataset.evalua

2021-06-11 19:14:58 777 1

原创 时空行为检测数据集 MultiSports 详解

文章目录0. 前言1. 时空行为检测数据集现状2 MultiSports 介绍3 现有时空行为检测数据集统计与对比4 实验结果0. 前言相关资料官方资料:论文,官网,竞赛链接(2021.9.1)发布时间:ICCV 2021发布机构:南京大学一句话总结:机遇篮球、足球、体操、排球赛事的大型时空行为检测数据集。本数据集是 DeeperAction Workshop 三个赛道之一。数据集获取方式就是到竞赛链接下载(要先注册+申请)。下在下来的数据类似于 UCF101-24 和 JHMD

2021-06-09 13:40:26 1773 6

原创 HOI - Detecting and Recognizing Human-Object Interactions

文章目录0. 前言1. 要解决什么问题2. 用了什么方法3. 效果如何4. 还存在什么问题&可借鉴之处0. 前言相关资料:arxivgithub论文解读论文基本信息领域:HOI作者单位:FAIR发表时间:CVPR 2018一句话总结:扩展 Fast R-CNN,使用多任务训练实现HOI中 human/verb/object 三元组预测1. 要解决什么问题之前的主要工作都集中在单个人/物体的识别上,然而在现实世界中,人与物体之间是存在相互关系的。2. 用了

2021-06-08 15:25:10 411 1

原创 Backbone - Swin Transformer: Hierarchical Vision Transformer using Shifted Windows

文章目录0. 前言1. 要解决什么问题2. 用了什么方法3. 效果如何4. 还存在什么问题&可借鉴之处0. 前言相关资料:arxivgithub论文解读论文基本信息领域:Transformer作者单位:微软亚洲研究院发表时间:2021.3一句话总结:将 hierarchical 引入 Transformer1. 要解决什么问题CV和NLP任务相比,CV的特点是(换句话说,就是Transformer用在CV时可能存在的问题)large variation

2021-06-04 19:28:30 514

原创 行为识别 - No frame left behind: Full Video Action Recognition

文章目录0. 前言1. 要解决什么问题2. 用了什么方法3. 效果如何4. 还存在什么问题&可借鉴之处0. 前言相关资料:arxivgithub论文解读论文基本信息领域:行为识别作者单位:荷兰代尔夫特理工大学发表时间:CVPR 2021一句话总结:使用多帧activations累加结果计算一次梯度,来替代普通求梯度方式。1. 要解决什么问题现在行为识别的输入数据是一个视频的 coarsely sub-sampled frames,换句话说,就是从视频中提取

2021-06-03 18:59:06 907 6

原创 龙书《编译原理》摘要 第一章 引论

文章目录0. 前言1. 语言处理器2. 编译器基本结构3. 一些常用术语0. 前言最近开始研究TVM源码,总感觉自己抓不住主线。说是实现了新语言Relay,里面那些奇怪的东西是什么?是类似TF实现静态图吗?又感觉不太像。TVM叫深度学习编译器,网上找了个课程,看了一集,突然感觉打开了新世界的大门。不是科班出身,虽然本科数据结构学得很好,但根本没学过编译原理。看了课程之后,突然理解Relay的各种设计了(虽然细节不明白,但总体方向有点感觉了)。现在看Relay,都就一个思路:用C实

2021-06-03 15:56:52 357

原创 深度学习编译器系列视频摘要

文章目录0. 前言深度学习编译器(一)综述深度学习编译器(二)Auto TVM深度学习编译器(三) Auto Schedule0. 前言在B站黄雍涛博士发了几个深度学习编译器的视频,感觉说得挺好,所以记录一下。深度学习编译器(一)综述视频链接:深度学习编译器的作用:加速推理。深度学习编译器总架构一般分为前端与后端。前端:把各种各样的模型转换为编译器认识的形式(如TVM的Relay,一般都是DAG的形式),再进行各类图优化、算子融合等(都属于经典的《编译原理》的一部分)。后

2021-05-28 21:56:52 514

原创 Standford Compilers 摘要(1) Overview of Compilers

文章目录Lecture 1: IntroductionLecture 2: Stucture of a CompilerLecture 3: The Economy of Programming LanguagesLecture 1: Introduction实现编程语言的两种常见方式:编译器:本课程重点介绍,可认为是 offline,即先生成 exec,再通过 exec 和输入数据生成结果。解释器:非本课程内容,可认为是 online,直接输入程序以及输入数据,得到结果(没有exec)

2021-05-27 19:07:00 90

原创 C++ 日志工具 glog 简单实用

文章目录0. 前言1. 安装与 CMake 导入2. 源码修改2.1 初始化0. 前言参考资料Gihub-README 基本就够了(有个翻译)选择 glog 的主要原因在于好像其他库用得比较多。根据查到的资料看,glog 的速度较慢(参考这里)。1. 安装与 CMake 导入安装:实用的 0.5.0 版本使用 cmake 构建# wget https://github.com/google/glog/archive/refs/tags/v0.5.0.tar.gz

2021-05-20 16:29:03 1301

原创 C++ 性能分析工具调研

文章目录0. 前言1. gprof3. valgrind4. gperftools5. perf0. 前言目标:性能分析(profile)包含的内容特别多,但目前我只关注运行时间。详细要求:最终也没找到合适的(需要每个函数的平均运行时间),看来还是需要手写记录。参考资料PPT - C/C++调试、跟踪及性能分析工具综述:介绍了一些常用性能分析工具。How can I profile C++ code running on Linux?:很多很好的回答,建议把高赞的都看一遍,特别是这

2021-05-20 15:16:40 5134

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除