自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 收藏
  • 关注

原创 【C++PrimerPlus笔记】第四章 复合类型

C++PrimerPlus第四章复合类型,本章介绍了C++的三种复合类型,数组、结构体和指针。

2023-09-02 15:45:43 357

转载 wsl图形化界面设置

即可以使用Linux图形化界面。登录远程桌面,计算机名称为。安装xorg和xfce4。

2023-08-26 16:05:50 350 1

原创 VVC系列(四)initCULevel代码解读

3、添加划分模式,默认添加顺序是QT、TTV、TTH、BTV 、BTH和Non-split,因为是保存在堆栈中,测试顺序相反。值得注意的是,当current CU的 QtDepth 小于左侧和上侧相邻CU的 QtDepth 时,或者 current CU的决策深度较浅时,会将QT的测试顺序放在BT之前。4、添加测试模式,此时的QP range是Non-split的,包括 intra、inter、IBC 和 palette等模式。的开始被调用,将需要测试的划分模式和编码模式加入堆栈。确定划分模式是否合法,

2022-12-09 16:54:44 776 2

原创 VVC系列(三)xCompressCTU、xCompressCU和xCheckModeSplit解析

判断是否需要执行IBC模式(帧内块复制技术,屏幕内容编码的一种技术,参考区域不局限在相邻像素行,而是可以利用当前帧所有已编码区域,预测待编码CU)该函数的主要部分是一个do-while循环,遍历子CU的区域,和x265相同的是,也会比较当前累计的cost和最优cost,用来进行提前终止。判断是否开启了 CTU Dual Tree技术,如果开启,需要对色度分量进行一次预测。维护需要测试的mode,通过一个do-while循环,尝试各种划分模式。用来存储当前compress区域各种模式下的数据,

2022-10-30 17:29:15 1209

原创 QT下载安装和Visual Studio环境配置

QT下载安装和VS2017 Professional 环境配置

2022-10-21 15:40:42 2540

原创 VVC系列(二)编码结构和块划分准则

介绍了VVC的编码结构和四叉树划分准则

2022-10-01 17:47:34 1172

原创 VVC系列(一)VTM下载编译

VTM下载编译

2022-10-01 16:05:45 861

原创 diffusion model原理和算法伪代码

本文从前置数学知识和VAE出发,介绍了扩散模型的原理,最后给出了伪代码实现。

2022-07-08 17:07:19 2308 1

原创 论文解读-Variational Image Compression With a Scale Hyperprior

本文发表在ICLR2018,作者Balle沿袭了ICLR2017上的工作,增加了可以提取边信息的Hyperprior,进一步消除了图像在latent space上的空间相关性,同时改进了此前的分段线性函数拟合边缘概率分布的做法。本文所提出的方法在PSNR上接近HEVC BPG,而在SSIM上则超过了HEVC BPG。在此前的框架中,解决微分熵不可导的操作是设计了一个entropy model py^(y^)p_{\hat{y}}(\hat{y})py^​​(y^​)以逼近图像xxx在latent space

2022-07-03 17:08:41 2430

原创 1-end2end_optimized_image_compression

本文发表在2017年的ICLR上,主要贡献是提出了一套包括分析变换(analysis transformation)、均匀量化器(uniform quantizer)和综合变换(synthesis transformation)的端到端图像压缩框架,并使用代理函数的形式将量化和离散熵等不可导的步骤松弛为可导的步骤,作者同时证明,在特定条件下,本文的松弛化后的损失函数在形式上类似于变分自编码器(variable autoencoder)的似然。......

2022-07-02 18:26:49 912

原创 如何使用vscode连接colab

本文主要参考自Running Google Colab with VS code | Simen Eide,使用vscode通过ssh连接到Google colab,并在colab上拉取Github上的repo进行训练,效果如下图所示:如果下面的步骤出现问题,可以参考Wassim Benzarti的 colab-ssh获取最新的配置步骤。Google colab端的操作打开一个新的Google colab notebook新建一个cell,输入下面的命令,挂载你的Google drive

2022-02-22 22:25:23 7553 3

原创 2105_TIP_DeepQTMT:一种VVC帧内编码块划分的深度学习方法

论文题目:Deep QTMT_一种VVC帧内编码块划分的深度学习方法来源:2021,TIP,BUAA概述需要解决的问题:简化在VVC中占据了编码时间的97%以上的编码块划分过程本文的贡献:创建了大规模数据集提出了多阶段停止的CNN网络架构(MSE-CNN)以适应灵活的多阶段QTMT结构提出了自适应损失函数,综合了分割模式的不确定数量和最小化率失真损失的目标建立了一个多临界点的可调节编码复杂度和率失真损失的trade-off的决策框架SOTA:相比于之前的SOTA方法,降低了VVC 44

2022-02-19 18:06:12 1723 4

原创 modern_cpp_5-C++ STL container&iterator

文章目录C++ 容器 (Container)基本用法获得容器的长度判断容器是否为空获取最后一个数据清除成员什么情况下使用容器?常见容器`std::array``std::vector``std::map``std::unordered_map`Iterating over mapsMuch More about containerC++迭代器 (Iterators)STL AlgorithmsC++ 容器 (Container)基本用法获得容器的长度我们在之前常常使用sizeof()获得数组的长度:

2022-02-17 22:07:05 873 2

原创 HM下载调试_ubuntu20

文章目录下载编译运行Reference之前的文章,我们介绍了如何在windows10上下载并调试HM16.20,这里我们介绍如何在Ubuntu上下载调试HM16.20。下载我们已经知道了HM通过SVN(subversion)管理代码,所以这里我们首先安装subversionsudo apt-get install subverison安装完成后,输入下面的命令查看是否安装成功subserve --version然后在本地新建一个空文件夹,命名为HM_1620_dmap,输入如下命令安装H

2022-01-27 15:19:45 1086

原创 modern_cpp_4-C++ Functions

文章目录函数命名建议函数返回值返回类型自动推导和返回多个值RVO(Return Value Optimization)局部变量和静态变量默认参数传递较大的参数应使用`Const Reference`实验:Cost of passing by valueinlineOverloadingNaive overloadingGood Practices & Bad Practices实践Namespaces函数命名建议Google-Style使用驼峰法命名函数,例如CamelCase,并且更加倾向于将

2022-01-23 17:27:20 349

原创 modern_cpp_hw2

文章目录A. First C++ program: Guessing Game (5 points)A.1 Requirements to pass the testsA.2 TipsA.3 AnswerB. Inut Parameters and streams (5points)B.1 Requirements to pass the testsB.2 Answer作业地址:homework_2.pdf (uni-bonn.de)练习内容:C++ Functions提交的注意事项:你需要提供t

2022-01-22 19:28:06 599

原创 C++代码自动检测工具clang-format和clang-tidy

文章目录`clang-format`安装方法命令格式使用案例更多关于`clang-format``clang-tidy`简单介绍检测原理安装方法使用方法更多关于`clang-tidy`clang-format这里的clang-format是一种可以格式化排版多种不同语言的代码,包括LLVM和Google等不同风格,-style=google,表示应用Google的格式化风格。安装方法sudo apt-get install clang-format命令格式clang-format [optio

2022-01-22 16:01:41 7667

原创 modern_cpp_3-C++ Basic Syntax

文章目录Spoiler Alert(补充)1. c++17中的for循环和Python 3.x中的for循环对比2. Built-in types3. C-style strings are evil4. Any variables can be `const`5. I/O streams6. Program input parametersLecture 2的Slides:Modern C++ for Computer Vision Lecture 2: C++ Basic Syntax (uni-bo

2022-01-22 00:47:13 317

原创 modern_cpp_hw1

文章目录Assignment A (4 points)Assignment B (6 points)Exercise1: Build by hand (2 points)Task 1: Build the ipb_arithmetic library (1 point)Task 2: Build the example program (1 point)Answer for Task1Exercise2 : Build by cmake (2points)Answer for Task2Exercise3

2022-01-21 17:09:18 262

原创 modern_cpp_2-Build System

文章目录Linux中的文件操作重定向实验常见的文件操作命令chaining commandsinstalling packages in ubuntuBuilding SystemLibrariesfunctiondeclaration & definitionBuild a CMake project通过build一个小型项目,体会库文件的创建和调用。Linux中的文件操作重定向实验我们编写了以下程序,用于重定向实验:/*example.cpp*/#include<iostream&gt

2022-01-21 17:03:27 657

原创 modern_cpp_1-在ubuntu上搭建c++开发环境

文章目录搭建环境安装build-essential安装gdb测试测试vim和g++测试gdb补充Ubuntu命令vim命令gdb命令google code style sheetMore about c++ReferenceModern C++系列的博客是根据Bonn University的Modern C++课程所作的笔记,兼具笔者个人的实践和思考,谬误之处还请指出。课程链接 搭建环境Linux上搭建C++开发环境,最重要的就是vim、 gcc/g++ 和 gdb,其中vim是文本编辑器

2022-01-21 16:58:53 497

原创 ubuntu配置git并使用github管理项目

git安装和配置# 安装git$ sudo apt-get install git# 配置本地用户名为xm$ git config --global user.name "xm"# 配置邮箱$ git config --global user.email "xmfeng2000@126.com"# 检查配置信息$ git config --global --list# 确认无误后生成公钥,此时输出的内容会显示公钥的保存目录,默认是/home/用户名/.ssh/id_rsa.pub$ ss

2022-01-20 18:31:57 999

转载 VS2017 使用指南

文章目录VS2017项目构成1. 解决方案资源管理器2. 子系统3. 运行VS2017项目执行步骤路径宏项目属性Release和Debug的区别win32和win64的区别大型项目开发的文件夹管理头文件的路径问题引用头文件的原理结论DLL动态链接如何查看程序调用的动态链接文件?外部依赖模块实战:opencv的使用实战:多项目开发启动项目设置和项目依赖关系设置Project2.dll的导出和导入头文件与重复定义符号VS2017 Debug内存溢出内存泄漏远程调试整理本文参考自Visual Studio_lu

2022-01-19 16:10:14 6200

原创 modern_cpp_1-在ubuntu上搭建c++开发环境

文章目录搭建环境安装build-essential安装gdb测试测试vim和g++测试gdb补充Ubuntu命令vim命令gdb命令google code style sheetMore about c++ReferenceModern C++系列的博客是根据Bonn University的Modern C++课程所作的笔记,兼具笔者个人的实践和思考,谬误之处还请指出。课程链接https://www.bilibili.com/video/BV1xZ4y1X7dN搭建环境Linux上搭建C++开发环

2022-01-18 21:29:34 1155

原创 PyTorch日积月累_4_utilities和torchvision

文章目录`torch.utils.data`构造映射类型的数据集构造方法例1 `torchvision.DatasetFolder`例2 用于猫狗分类的数据抽象类 `DogCat`Note:构造可迭代类型的数据集采样模块`torch.utils.data.sampler``torchvision``torchvision`概览`torchvision.transforms`这篇博客主要介绍torch.utils.data的数据集载入、torchvision.transforms的数据预处理。torch.

2022-01-18 00:30:16 843

原创 PyTorch日积月累_3-neural network

文章目录神经网络工具箱 `nn.Module`1. 简单的线性回归类2. 感知机3. 常用方法1. 卷积层和池化层2. RNN、LSTM3. 损失函数4. 其他类型的层两种特殊Module`nn.Sequential``nn.ModuleList`PyTorch中的优化器1. 优化器的基本使用方法2. 针对网络不同部分设置不同学习率3. 在运行过程中调整学习率其他1. `nn.Module`对象和`torch.functional`的区别区别使用习惯案例2. 初始化策略实践:搭建ResNet34神经网络工

2022-01-17 23:05:21 698

原创 x265笔记_4_CompressCTU源码分析

文章目录Before `compressCTU``compressCTU`输入参数处理流程重要变量`m_parame``rd_level``amp`和`rect`重要函数`compressIntraCU`输入参数处理流程1. 参数初始化2. 计算划分前的代价2.1 当存在可用的模式集合时2.2 当不存在可用的模式集合时3. 计算划分后的代价3.1 更新划分标识位`mightSplit`3.2 计算划分后的代价4. 更新Best mode4.1 比较`md.pred[PRED_INTRA]`和`md.pred

2022-01-08 22:34:23 2997 3

原创 x265笔记_3_并行处理机制

HEVC中的并行处理机制,x265中的并行处理

2021-12-31 23:40:35 2140

原创 x265笔记_2_整体调试和初步的源码分析

文章目录x265的入口函数`main``main`调用的部分函数编码函数`api->encoder_encode``Encoder::encode``FrameEncoder::startCompressFrame`函数调用关系Referencex265的入口函数mainx265的入口函数是cli\Source Files\x265.cpp中的main函数,该函数的执行流程:解析并设置参数,cliopt.parse()和cliopt.output->setParam;根据参数创建编码器e

2021-12-30 23:46:44 1120

原创 x265笔记_1_下载调试

Windows环境下载编译x265

2021-12-30 10:42:25 897 2

原创 HM笔记_3_帧内块划分源码分析

文章目录CTU层次CU层次1. 参数初始化(读取BestCU数据和参数、初始化用于计算BestCU RD cost的量化参数QP)2. 计算BestCU的RD cost2.1 初始化TempCU,计算帧间模式的RD cost2.2 计算帧间和帧内模式的PD cost3. 计算BestCU划分后的子CU的RD cost(递归调用,并保存RD cost最优的CU)4. 递归终止条件最近需要研究HM的与块划分有关的函数(TAppEnc),但是网上可参考的资料很少,加上这部分的代码比较繁杂,所以本文基于最新的16

2021-12-19 16:48:50 825 1

原创 HM笔记_2_命名规则

文章目录工程的命名规则类、变量和函数的命名规则1. 类的命名2.变量的命名3.函数的命名4. 例子本文转载自 HEVC中的命名规则,并稍作修改。工程的命名规则HM16.20共分为9个工程:1. TAppCommon,2. TAppDecoder,3. TAppDecoderAnalyser,4. TAppEncoder 5. TAppMctsExtractor ,6. TLibCommon,7. TLibDecoder, 8. TLibDecoderAnalyser,9. TLibEncoder,10

2021-12-18 16:43:45 270 3

原创 HM笔记_1_下载调试

文章目录HM下载HM运行本文主要参考了HEVC之路0:HM16.18的运行+码流分析 - 只因有你pi - 博客园 (cnblogs.com)在此表示感谢。HM下载HM不能直接从网页下载,而是采用SVN管理代码的——首先,下载合适版本的TortoiseSVN,这里我们下载的是最新版本1.14.1-64bit:下载后双击安装,一直点确定就行。安装完成后在要下载HM的文件夹(此处为D:\HM)右键,选择Repo-browser:在弹出的URL框中输入HM的下载地址:https://hevc.h

2021-12-16 17:13:07 729 4

原创 《TCP-IP详解》笔记(更新中)

文章目录一、概述二、链路层1. 封装格式2. 环回接口3. MTU与路径MTU三、IP协议1. IP首部2. IP路由选择的工作机制3. 特殊的IP地址4. IP的未来四、ARP协议1. ARP介绍2. 隐藏在ARP背后的概念3. ARP高速缓存4. ARP分组格式5. ARP代理(实验)6. 免费ARP五、ICMP1. ICMP报文的结构2. ICMP报文的类型3. ICMP的应用:ping本文主要参考了《TCP/IP详解-卷1》、Yes-Lab视频和lifei6671的笔记的内容,在此表示感谢。一、

2021-12-13 22:15:10 1862

原创 2106_视频处理与压缩技术_中文综述

文章目录1. 视频处理技术1.1 视频超分辨1.2 视频恢复2. 视频压缩技术2.1 混合编码框架的传统技术2.2 混合编码技术的深度学习技术2.3 多视点/立体视频压缩题目:视频处理与压缩技术(中文综述)来源:中国图象图形学报,贾川民,马海川等[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZVDmnDzq-1639227544361)(Image4md/image-20211211161102459.png)]1. 视频处理技术1.1 视频超分辨一般分为传统信号

2021-12-11 20:59:30 2986

原创 21_nips_深度学习损失景观的嵌入原则

文章目录深度学习损失景观的嵌入原则1. DNN实践与传统泛化理论的矛盾2. 考察DNN训练过程3. 理论证明outline核心证明实验验证4. 启发对训练和泛化的意义对优化的意义对于剪枝的意义5. 系列其他工作QA本篇总结的图文来自机器之心承办的NeurlPS Meetup China 2021上来自上海交通大学张曜宇老师的报告。深度学习损失景观的嵌入原则作者:张曜宇 上海交通大学1. DNN实践与传统泛化理论的矛盾实践:复杂的DNN模型效果好理论:复杂模型通常应该会过拟合2. 考察DNN训练

2021-12-11 16:07:01 2791

原创 Python日积月累_7_使用协程实现多任务

协程1. 借助生成器实现两个函数的并发# 借助生成器实现 两个子函数的并发import timedef task1(): while True: print("---1---") time.sleep(1) yielddef task2(): while True: print("---2---") time.sleep(1) yielddef main(): t1 =

2021-12-10 22:24:45 503

原创 1903_DCC_基于CNN和块边界划分概率向量的多分块模式下的加速块划分

文章目录概述方法1. CNN-based analysis2. Probable split selection3. Encoder constraints and speed-ups实验**Title :CNN-based driving of block partitioning for intra slices encoding **来源:2019,Data Compression Conference(DCC,CCF-B)概述CNN本文基于ResNet提出了支持多分区模式的CU块划分加速

2021-12-10 18:14:04 744

原创 RNN+LSTM笔记

文章目录RNN1. Naive RNNLSTM概述内部结构为什么LSTM缓解了RNN的梯度消失问题RNN循环神经网络(Recurrent Neural Network,RNN)是一种用于处理序列数据的神经网络。相比一般的神经网络来说,他能够处理序列变化的数据。比如某个单词的意思会因为上文提到的内容不同而有不同的含义,RNN就能够很好地解决这类问题,因此在机器翻译、问答系统等NLP领域有很重要的应用。1. Naive RNN其中,x表示当前状态下数据的输入,h表示接收到的上一个节点的输入,y表示当前

2021-12-09 23:15:52 405

原创 1806TIP_ETH-CNN和ETH-LSTM应用在HEVC帧内编码块划分加速

文章目录Title: Reducing Complexity of HEVC_ A Deep Learning ApproachIntroduction相关工作1. 启发式算法(heuristic approaches)2. 基于学习的方法(learning-based approaches)从回归的视角看待CU划分建立帧内模式数据集降低HEVC帧内模式复杂度——ETH-CNN1. 一种新的划分决策表达(HCPM)2. ETH-CNN structure for learning HCPM降低HEVC帧间

2021-12-09 22:21:17 14118

空空如也

空空如也

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

TA关注的人

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