侯捷C++面向对象程序设计
About 侯捷手把手教学C++ video-part1; video-part2; 课件与代码; 1.简介 编写规范的class代码(object based,单一class); 学习class之间的关系(object oriented,多个class)—继承/复合/委托; 主要学习c++ 98/c++11,以c++ 98为主; 同时关注C++ 语言和C++标准库; 推荐书籍:C++ Primer, The C++ Programming Language (C++11), Effective C++ 11, The C++ Standard Library, STL源码剖析; 2.头文件与类声明 数据和函数包在一起打包成class,与struct有一些差别。 C++代码的基本形式: .h(header files, class声明); .cpp(#include<iostream.h>, #include “own_file.h”, 标准库和自己的引用方式不同); .h(标准库); 头文件防卫式声明(任意include头文件,不会重复include): #ifnd ...
二分图搜无向定长环
About 这个问题来源于中兴举办的2020优招算法比赛“傅里叶派”,要求是对提供的数据进行二分图建模,然后找出4,6,8,10,12,14的无向图的总数量,同时有时间和禁止多线程操作要求。起先,我是把数据当成随机生成的普通数据,然后利用DFS(B站上有个up主讲的DFS和BFS系列非常浅显易懂,链接)和拼接单链组合成环,最后利用python的set哈希去重的方法来实现的,在一阶段数据上((256+640,256+640)大小的邻接矩阵)大概可以进1分钟至1分半钟。后面,随着第二阶段数据的增大((1344+1344,1344+1344)大小的邻接矩阵),运行时间急剧增加,大概到了30分钟。实际上,算法的主要瓶颈在去重时间上(去重数据达到亿级别的字符串),为了降低去重时间,我花了不少时间去Google,包括数据库的一些去重,或者使用bitmap位图等,考虑到硬件限制,试了一下bloom filter,但是由于hash碰撞等原因,可能出现一些误判,而且随着查重数量的增大,占用的内存也会增大。最后的测试时间上与set相比没有什么优势。 最后跟朋友交流,发现数据的一些规律得以解决。原来主办方给 ...
[MIT]计算机科学课堂中学不到的知识
About homepage; lecture video; 2020年初始刚放出的公开课,十分实用,千呼万唤始出来。主要是介绍一些CS领域常用的工具和技巧,这些对于平时科研,工作都有很大的帮助。正如在课程介绍和评论中说的,"It’s not computer science. It is computer literacy." 相关资源:阮一峰老师的bash脚本教程 Lecture 1. Course overview + the shell 官方讲义比较系统和简练,其中包含一些练习题。 date #显示时间 # echo 后面跟上要输出的文本echo Helloecho "Hello World"echo Hello\ Worldecho $PATHwhich echo#讲解绝对路径和相对路径pwd # print working diretorycd # change working pathcd .. #进入当前目录上一目录# 讲解输入代码要注意相对路径和绝对路径ls #当前路径下的文件ls .. # 当前路径前一层的文件夹下的文件 ...
Stanford CS231n 笔记
About homepage; 2017 lecture video; 中文笔记 课程相关时间安排,课件,参考资料,作业详见homepage链接,以最新版为主; 官方的assignments和notes做得非常好,强烈推荐学习和反复观看; 时间原因,学习19版的时候恰好2020版春季课程将要开始,这一版换了team,里面加了不少新的research介绍,尤其是非监督,自监督之类的,因此会加入一下2020版的内容; 个人比较喜欢Justin Johnson的讲课风格和深度,因此配合他在UMICH (University of Michigan) 的 EECS498: Deep Learning for Computer Vision课一起看,可以相互补充(和CS231N有很大重叠, 但也些不同); Lecture1. Introduction Related courses in Stanford: CS131: Computer Vision: Foundations and Applications CS231a: Computer Vision, from 3D Re ...
旷视2017年深度学习实践课程
About 视频; 课件关注“旷视研究院”公众号回复“深度学习实践PPT”可获取; 这套课程虽然是2017年的,但是涉及的内容还是很全面的,很多工作现在都发挥着不小的作用,所以并不过时,仍然值得一看。建议观看者是有过一定基础的人,刚入门者最好一开始不要看此系列课程,个人觉得第五课神经网络压缩,第六课基于DL的目标检测,第十课GAN,第十一课Person Re-Identification讲得比较好。 1. Introduction computer vision 在AI中的地位属于感知(perception)智能(还包括speech),另外一块是认知(cognitive),包括NLP和AGI(通用人工智能); 人使用眼睛和大脑认识世界,电脑使用图像传感器和算力来视觉感知周围环境; 大脑皮层的出现,灵活,结构化,计算处理; CV和AI的关系:其中非常重要的一个task/不同的研究工作和成果/作为关键应用; 现阶段的CV任务:classification (image)/ detection (region) /segmentation (pixel,实例,语义,全景)/ sequ ...
2019-2020:漫长的告别
搭博客的时间大概只有一年,当初是因为受到pluskid网站和博客的影响,觉得做一个有趣的人,学习自己想了解的,放淡自己的心态是是每天很重要的事,因此想记录下来,有些规划,也好作为充实自己的见证,搁以前每年都来一个总结这件事我是不怎么做的。求学生涯没有结束,每年都是反复地上课,做项目,似乎都是浑浑噩噩度过,科研中的磕碰和一些不甘心也会时不时消磨自己的意志,让自己在怀疑,焦虑,麻木,强迫的交织中蹒跚着。我之前也知道很多励志结论,他们说的都很对,但每个人的生活总是悲喜交加的,而大多数情况下都是在平平无奇中暗生悲戚,羁绊越多的人似乎悲戚越浓。 2019年的寒假里,我翻看了很多pluskid的博客内容,其中以年终总结最多。一开始我是被博主优秀的履历所吸引,后来在那些博客里我读到了对于生活细节的热爱,以及对于艺术,真理和其他人类活动的浓郁兴趣,真诚,质朴同时又很能温暖人,所以算是“始于履历,陷于才华”吧!(厚脸皮地说,有一种惺惺相惜之感)。罗曼罗兰在《米开朗琪罗传》中有句很出名的话:“Il n’ya qu’un héroïsme au monde : c’est de voir le monde ...
RCNN-series-in-object-detection(续)
About 自Faster R-CNN后,基于深度学习的目标检测框架大致形成,且精度也较为不错。在这之后,围绕着对图像数据更深层次理解,以及根据现有结构进行改进成为了一个主流点。 Speed/accuracy trade-offs for modern convolutional object detectors object detection in 20 years: a survey IoU-uniform R-CNN: Breaking Through the Limitations of RPN https://arxiv.org/pdf/1909.02466v2.pdf R-FCN Introduction 内容有参考: blog1 Content FPN Introduction Feature Pyramid Networks(FPN)考虑到了卷积神经网络中各个尺度特征图的作用,认为像Fast R-CNN和Faster R-CNN这样的目标检测网络只用了一个特征图去来做RoI 和搜寻proposal,不一定能很好地处理全部尺寸的物体,虽然这种方式是为了speed- ...
尝试远程控制Ubuntu服务器
About 暑假实习用公司的显卡的经历很舒服,所以寒假回家之前,想在教研室的工作站上搭个ssh,方便回家也可以用显卡跑网络。但是自己对这方面知识不是很了解,尤其是端口映射之类的操作,所以导致外网登陆服务器的时候折腾了一点时间,最后勉强利用ngork进行了内网穿透。。。使用过程中发现,ngork似乎有些延迟,加上scp传文件问题(我是win利用git bash登Ubuntu服务器)一直没解决,还是放弃了ssh转战了teamviewer(还是有点香的。。) ssh 我安装的时候没关心密匙之类的问题,也没去修改ssh 的config文件,直接在Ubuntu 18.04上安装openssh-server就好了。 在Ubuntu终端上输入: sudo apt-get updatesudo apt-get openssh-server# 启动sshsudo service ssh start# 重启sudo service ssh restart# 查看有没有启动ps -aux | grep ''ssh''# 关闭sshsudo /etc/init.d/s ...
RCNN series in object detection
About Faster R-CNN是目标检测领域中"two-stage"的代表性方法,其精度高,适应性强,兼具学术和工程价值。整个框架由于吸取了很多先前工作的经验,因此比较庞大,而且细节很多,因此需要认真研读下相关paper和Faster R-CNN的python代码。 在此之前,先贴上一位博主做的“The Modern History of Object Recognition — Infographic”,其中也包括了“one-stage"的方法,不过2017年以后的没再更新了。 R-CNN Introduction 内容有参考blog1和blog2。 R-CNN(Rich feature hierarchies for accurate object detection and semantic segmentation)是将深度学习应用于目标检测的开山之作,以前传统的目标检测算法使用滑动窗口法依次判断所有的可能区域,在该文章中,采用selective search方法先预先提取一系列可能是物体的候选区域(foreground),之后将这些候 ...
FutureMapping2
About 继第一篇FutureMapping之后,视觉SLAM领域内的奠基者Andrew Davison最近又将他的和别人讨论的有关未来空间AI对地图构建,机器人协同定位,以及动态问题等新想法撰写成了新的论文FutureMapping2,置顶在了自己的推特上,表示欢迎大家交流自己的想法。 总的来说,这篇文章干货还算是很多的,主要是着眼于factor graph(因子图)和Gaussian Belief Propagation(GBP,高斯置信传播)对整体,动态机器人建图等问题的潜力和前景,不仅在数学上进行一些tutorial,还给出了三个python demos。由于我对视觉SLAM只是了解整体特点,其中各种计算细节和优化方法并没有认真看过和代码书写过,因此读完这篇充满amazing reflections的文章之后我只能把握到整体的idea和一些实现方法。对于GBP和factor graph 结合构建的数学模型,我将在后续花时间弄懂后再对该blog进行补充。 非常建议对SLAM或者机器视觉领域感兴趣的同行阅读此论文,相信会帮助您开阔思路! Content Idea Abstr ...