自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

原创 c++中互斥锁实现读写锁

#include <bits/stdc++.h>using namespace std;class RWlock{public: RWlock(int state_):state(state_){} void rlock(){ unique_lock<mutex> lck(mtx); while(state<0){ cond.wait(lck); } state++;

2020-09-11 15:32:35 444

原创 c++ STL中迭代器删除元素

对于序列容器vector, deque来说,使用erase (itertor)后,后边的每个元素的迭代器都会失效,但是后边每个元素都会往前移动一个位置,当前的迭代器指针直接指向了下一个元素;。对于关联容器map set 来说,使用了erase(iterator)后,当前元素的迭代器失效,但是其结构是红黑树,删除当前元素的,不会影响到下一个元素的迭代器,所以在调用erase之前,记录下一个 ...

2020-04-19 21:34:26 607

转载 c++ 线程池的实现

  线程池(英语:thread pool):一种线程使用模式。线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价。线程池不仅能够保证内核的充分利用,还能防止过分调度。可用线程数量应该取决于可用的并发处理器、处理器内核、内存、网络sockets等的数量。 例如,线程数一般取cpu数量+2比...

2020-03-18 12:04:46 273

原创 c++ 实现String类的注意要点

自定义实现c++中的string类型。通常c++ string的基本功能如下:class String{public: String(const char *str = nullptr);// 普通构造函数 String(const String &other);// 拷贝构造函数 ~String(void);// 析构函数 String & opera...

2020-03-08 16:23:58 204

原创 排序算法总结

冒泡排序算法核心思想:将无序表中的所有记录,通过两两比较关键字,得出升序序列或者降序序列。核心代码(以升序为例): for(int i=0;i<arr.size();i++) { for(int j=0;j<arr.size()-i-1;j++) { if(arr[j]>arr[j+1]) ...

2020-02-27 19:11:21 132

原创 c++中using 关键字

作用1.在当前文件中引入命名空间,比如using namespace std。2.等效于typedef的作用,该方法是在c++11中引入的。比如:using uVec = std::vector<int>;typedef std::vector<int> tVec;int main(){ int a[3]={1,2,3}; //v1,v2,v3...

2020-02-27 18:47:48 224

原创 跨模态检索Coupled CycleGAN: Unsupervised Hashing Network for Cross-Modal Retrieval

核心思想   本论文是无监督方法,主要由两层循环对抗网络构成,外层的循环对抗网络主要是使不同模态提取更有代表性的公共特征向量,内层循环对抗网络使学的高质量的哈希编码。  外层循环对抗网络:过程描述:图像通过卷积提取特征作为FrealIF_{real}^IFrealI​,然后通过生成器GfI−>TG_f^{I->T}GfI−>T​(是一个encode->decode...

2020-02-27 17:57:25 1873 3

原创 跨模态检索CM-GANs: Cross-modal Generative AdversarialNetworks for Common Representation Learning

核心思想:  这篇论文主要是通过对抗训练文本和图像,是它们学习到共同的特征表示。本论文由四个对抗训练过程组成(详细看损失函数)。图像自身的对抗网络,文本自身的对抗网络,图像对文本的对抗网络、文本对图像的对抗网络。  图像自身的对抗网络:通过图像卷积学习到到特征向量(不是最终的特征表示,论文中为hi),作为真实数据,重建(也就是decode过程)的特征向量(论文中为ri)作为假数据,来构建对...

2020-02-27 17:37:41 1291

原创 多模态检索Deep Cross-Modal Hashing

什么是多模态检索?现实生活中常有图搜图,文本搜文本,视频搜视频的应用,这些都是单模态检索。多模态检索就是,不同类别之间的搜索,比如用文本搜图,用图搜文本等,这类情况称为多模态检索。这篇论文的意义?传统的都是手动提取特征方法,这篇论文将特征提取和二进制码生成一起构成一个端到端的学习过程。贡献提出了一个端到端的学习框架直接离散优化生成二进制编码实验证明效果很好网...

2020-02-27 17:24:33 8617 9

原创 c++中静态绑定和动态绑定

动态绑定和静态绑定是为了支持类中的多态。静态和动态分别对应着编译期和运行期。静态对象:是在编译期就确定了类型,不能改变。动态对象:在运行期间确定的类型,可以改变其类型。静态绑定:绑定的是对象的静态类型,某特性(比如函数)依赖于对象的静态类型,发生在编译期。动态绑定:绑定的是对象的动态类型,某特性(比如函数)依赖于对象的动态类型,发生在运行期class base{public: ...

2020-02-27 17:00:11 160

STL源码剖析

该电子书是STL源码剖析的扫描版,pdf格式,字迹清晰,带有书签目录。

2019-03-01

Effective C++中文版

本书是effective c++的扫描版,pdf文件,字迹清晰,并且带有标签目录。

2019-03-01

稠密重建(MVS)的几种方法详解

详细讲解了稠密重建中常用的方法,SFM的析稀疏重建,和包括基于体素的稠密重建、基于点云扩散的三维稠密重建、基于深度图融合的稠密方法等。

2018-10-29

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

TA关注的人

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