S1NH

世界在旅程的尽头终结

编译OpenCV with CUDA

编译方法官方文档写的特别清楚。此外,如果要使用python接口,编译完成后需要把opencv/site-packages目录下的cv2.so链接(或复制)到python/site-packages中,我执行的命令为sudo ln -s /usr/local/opencv3/lib/python2.7/dist-packages/cv2.so /usr/lib/python2.7/dist-packages/cv2.so(如果不清楚可以参照[翻译]Python 2.7 和 Python 3+ 的OpenCV 3.0 安装教程

查看Api和Guides推荐使用Zeal/Dash,就不用那么麻烦跑去官网搜索了:

阅读全文 »

Hikvision的web摄像头界面需要npapi的支持。Chrome42之前的版本都不支Npapi,Chrome42~45可以通过chrome://flags/#enable-npapi开启支持,Chrome45之后的版本不支持Npapi。

花了很久的时间找到了低版本的Chrome安装包,安装完以后依然无法执行插件。

仔细查阅文档后,发现只有Mac和Windows的Chrome对NPAPI提供支持

配置Matcaffe的时候碰到了两个小坑,记录一下:

第一个坑:

1
Invalid MEX-file '/root/caffe/matlab/+caffe/private/caffe_.mexa64': /matlab/r2016a/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /root/caffe/matlab/+caffe/private/caffe_.mexa64)

第二个坑与前一篇文章《在anaconda下安装caffe失败》错误相同。

1
2
3
4
5
6
7
8
9
10
11
12
Invalid MEX-file
'/home/xw/caffeBuild/caffe-master/matlab/+caffe/private/caffe_.mexa64':
/home/xw/caffeBuild/caffe-master/matlab/+caffe/private/caffe_.mexa64: undefined
symbol:
_ZN2cv8imencodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_11_InputArrayERSt6vectorIhSaIhEERKSB_IiSaIiEE

Error in caffe.set_mode_cpu (line 5)
caffe_('set_mode_cpu');

Error in caffe.run_tests (line 6)
caffe.set_mode_cpu();

阅读全文 »

Python 跟 Python3 完全就是两种语言

0x00 import caffe FAILED

环境为 Ubuntu 16 cuda 8.0 NVIDIA 361.77 Anaconda2。昨天莫名其妙Caffe不能用了:

1
2
3
4
5
6
7
8
>>> import caffe
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/duchengyao/project/caffe/python/caffe/__init__.py", line 1, in <module>
from .pycaffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, RMSPropSolver, AdaDeltaSolver, AdamSolver
File "/home/duchengyao/project/caffe/python/caffe/pycaffe.py", line 13, in <module>
from ._caffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, \
ImportError: /home/duchengyao/project/caffe/python/caffe/../../build/lib/libcaffe.so.1.0.0-rc3: undefined symbol: _ZN2cv8imencodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_11_InputArrayERSt6vectorIhSaIhEERKSB_IiSaIiEE

各种折腾都无效,重装Anaconda以后错误消失,import caffe 成功。

0x01 import FAILED again after “$conda install opencv”

conda install opencv 安装完Opencv后,又出现了同样的错误提示,卸载后错误消失。

Conda 安装后的Opencv 版本为2.4.10,而系统apt安装的版本为2.4.9.1。我尝试从conda 安装2.4.9版,可是需要处理很多conflict。

最后实在走投无路了准备换成Anaconda3,环境搭建完成后运行程序的时候简直尴尬了,各种库不兼容。终于知道为啥老鸟们调侃Python 跟Python3完全是两种语言了

0x02 解决方案

暂时的解决方案为放弃anaconda,全部用apt安装软件包,使用系统默认的Opencv,运行成功。

为什么计算机系的学生也应该学经济学?因为,从经营一家公司的角度来看,比起那些不懂的程序员,一个理解基本商业规则的程序员将会更有价值。就是这么简单。我无法告诉你有多少次我是那样地充满挫折感,因为我看到了太多提出一些疯狂的想法的程序员,这些想法在代码上也许可行,但在资本主义世界中毫无意义。如果你懂得商业规则,你就是一个更有价值的程序员,你会因此得到回报的,但是前提是你要去学习微观经济学。——《软件随想录》

阅读全文 »

今天的朋友圈都被王宝强和她出轨的老婆刷屏了
想起了一句话:“他们自以为美貌是自己人生的武器,却被自己的美貌支配着走进了困顿。”

Nvidia TX1

信用卡大小的 NVIDIA Jetson TX1 有内置ARM64 CPU,256 cores CUDA GPU,还内置了4G内存、16G emmc、Wi-Fi、蓝牙,集成度超级高,用来做机器人,嵌入式图像处理特别方便。 比较详细的一个介绍

阅读全文 »

转载自https://zhuanlan.zhihu.com/p/21533724

2016年的CVPR会议目标检测(在这里讨论的是2D的目标检测,如图1所示)的方法主要是基于卷积神经网络的框架,代表性的工作有ResNet[1](Kaiming He等)、YOLO[5](Joseph Redmon等)、LocNet[7](Spyros Gidaris等)、HyperNet[3](Tao Kong等)、ION[2](Sean Bell等)、G-CNN[6](Mahyar Najibi等)。在这里之所以把ResNet也放进来,是因为有效的特征对于目标检测领域是极为重要的。

2D目标检测示意图

阅读全文 »

其实我们的表面是一幅天真纯洁的样子,内心却始终悖逆潜行。
像冰冷的机器,心中没有远方,也不会去追问未来
时光很快就会把我们从微弱的闪光体变成一个无能的普通人。
我们要做的只有觉悟而已,去追求自由,去向往风居住的街道。
就像穿越稠密的交集望透世界,就像沉没在镂空的意境里寻找奇迹。

阅读全文 »

翻出了去年工程管理那边十二五结题时,帮他们画的图。百度了一下午,照猫画虎,闭门造车而成(不得不吐槽一下他们搞些课题,几个博士论文一凑,并没有什么研究,也没有什么价值,感觉纯属骗钱。)

阅读全文 »

最近记性特别差,做的东西如果不记下来,过几天就忘光了。照这样发展下去马上就老年痴呆了,趁年轻还是多学点东西

最近正在学习一些大数据、机器学习的一些算法,脑子一热准备把遗传算法/模拟退火算法这些经典的算法用动图模拟出来。在《白话大数据与机器学习》中有实现遗传算法的代码,本文基于教程上的代码进行修改,实现模拟遗传算法求极值的过程。

阅读全文 »

本文作者在2017年提出了L-ORB算法。速度是传统ORB算法的11倍、传统SIFT算法的639倍。将算法应用到嵌入式系统中性能提升了29倍,但其功耗低至10W。有兴趣的可以点击:杜承垚,袁景凌,陈旻骋,李涛. GPU加速与L-ORB特征提取的全景视频实时拼接[J]. 计算机研究与发展, 2017, 54(6): 1316-1325.


本文翻译自:Ghosh, Debabrata, and Naima Kaabouch. “A survey on image mosaicing techniques.” Journal of Visual Communication and Image Representation 34 (2016): 1-11.. 如有错误请指正。

一、简介

图像拼接在运动检测和跟踪、增强现实、分辨率增强、视频压缩和图像稳定等机器视觉领域有很大的应用。

如图所示,图像拼接分为四个步骤:图像匹配(registration)、重投影(reprojection)、缝合(stitching)和融合(blending)。

阅读全文 »

本文为整理的介绍爬山算法、模拟退火算法的资料。部分来源网络。

爬山算法(Hill Climbing)

介绍模拟退火前,先介绍爬山算法。爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近解空间中选择一个最优解作为当前解,直到达到一个局部最优解。

阅读全文 »

医学系的他们拿着极具喜感的骨头当武器,一场以厚朴一个不小心的摔倒为开始信号的青春的战役在那片明媚阳光下展开。一群不知天高地厚的少年在那个迷人的下午,本以为可以慢慢向微光移去,到最后却累得在地上爽快地大口喘气,动弹不得。抑郁的少年心事,辗转难眠的夜,都在这一场不知究竟为谁而打的架里融化消解。他们满身泥泞,拳头中透露出内心想宣泄而一直被压抑的阴暗和不满,寻求无法用语言所得的平衡,似乎都可以从对方身体上找回了。耳边响着《孤独的人是可耻的》那无奈的回响,观者仿佛能听见少年们的美梦“轰”地一下悄然坍塌,此时,最原始无力的宣泄远胜过语言的一切表达。

这场架就像是秋水青春里的一个分水岭,他同时失去了闪烁的柳青和平凡的白露,他得不到“天上的星星”,也丢失了“尘世的幸福”。观者们就这样跟随着男主人公秋水经历了一场阳光般暖黄中夹杂着晦涩的蓝绿冷色调和迷情却危险的红色相交叠的成长冒险,在摇晃不堪的镜头和情绪性表达里体验着青春离奇,生死别离。

阅读全文 »
0%