一直保持的追求有三点:技术、快乐、财富,这里记录每周值得分享的内容,周五把欢乐送达。
技术
1、NeRF
NeRF 是来自伯克利大学和谷歌的最新研究成果,只需要输入少量静态图片,将不同角度的场景渲染 3D 场景。
比如上述的动图,就是根据 20 张多视角的图片,合成的 3D 效果。
NeRF 不是那种通用的模型,比如使用数据集训练出模型后。
用这个模型,可以将任何多张的多视角的图片,都渲染成 3D 场景。
针对不同的场景图片,都需要训练一个针对这个场景的模型,然后进行 3D 场景渲染。
不过训练起来还算简单,只需要一个 GPU 训练 10 个小时左右即可。
虽然稍显麻烦,但是 NeRF 可谓是做到了 360 度无死角 3D 高清渲染。
项目地址:点击查看
2、nbnhhsh
nbnhhsh 这个拼音缩写你能看懂是什么意思吗?
它是「能不能好好说话?」的拼音首字母缩写。
现在,社交平台上流行拼音首字母缩写指代特定词句的文化。
这种流行语有很多,比如 ghs?意思就是「搞黄色?」,再比如 u1s1 意思就是「有一说一」。
初次碰到,你可能需要百度一下,才知道,哇,原来是这个意思哦!
这还算好的,最恐怖的是微博、知乎的一些八卦消息,清一色的都是人名缩写,你根本都不知道在说谁,然而却看着别人用缩写聊着很欢。
怀疑人生,有木有!
看到这些缩写,有些人可能会略显暴躁,比如 nbnhhsh 的作者吐槽道:
项目作者称,为了让常人勉强能理解这一门另类沟通方式、做了这一个划词翻译油猴脚本。
除了油猴脚本,作者也提供了独立网页翻译。
输入整段文字,自动适配缩写部分,并完成翻译提示。
妈妈再也不用担心我看不懂拼音缩写了!
项目地址:点击查看
3、3D Photo Inpainting
与上文提到的 NeRF 相似,3D Photo Inpainting 也是一种 3D 场景渲染算法。
不同的是,3D Photo Inpainting 算法只需要一张图片即可,该算法已被 CVPR 2020 收录。
3D Photo Inpainting 只用单张图片就能完成 3D 场景渲染的原因在于,它使用的是 Inpainting 技术,也就是纹理修复。
纹理修复,就是修复遮挡的背景,比如我曾经在《程序员欢乐送(第40期)》中推荐过的deepfill v2。
左侧为原图,中间为框选图,涂抹掉想要去掉的目标,右侧为修复好的背景。
3D Photo Inpainting 就是利用类似这种的背景修复技术,实现 3D 场景渲染的。
效果上,一定比 NeRF 略差,因为毕竟是从单张图片渲染出来的。比如上图,小孩头部的后面背景,属于遮挡部分,这部分就需要进行背景修复,但修复的结果与真正多角度拍摄出来的真实背景,一定还是有些差距。
项目地址:点击查看
4、wtfpython
Python,是一个设计优美的解释型高级语言,它提供了很多能让程序员感到舒适的功能特性。但有的时候,Python 的一些输出结果对于初学者来说似乎并不是那么一目了然。
wtfpython 就是一个收集 Python 中那些难以理解和反人类直觉的例子,以及鲜为人知的功能特性的有趣项目,同时它也为你讲解这些现象背后真正的原理。
比如一个在互联网上非常有名的例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | >>> a = 257 >>> b = 257 >>> a == b True >>> a = 257 >>> b = 257 >>> a is b False >>> a = 256 >>> b = 256 >>> a is b True |
如何解释上述例子呢?对于前面两个例子,有一定基础的人,应该可以立马给出正确答案,那就是 Python 中 is 和 == 是有区别的:
- is 运算符检查两个运算对象是否引用自同一对象 (即,它检查两个运算对象是否相同)。
- == 运算符比较两个运算对象的值是否相等。
a 和 b 不是同一个对象,所以用 is 运算符检查返回 False。
但,你知道第三个例子,为啥又是 True 吗?
wtfpython 项目中就指出了原因:
256 是一个已经存在的对象,而 257 不是。
当你启动 Python 的时候,数值为 -5 到 256 的对象就已经被分配好了。这些数字因为经常被使用,所以会被提前准备好。
Python 通过这种创建小整数池的方式来避免小整数频繁的申请和销毁内存空间。
是不是很反人类?更反人类直觉的是,如果 a 和 b 定义在一行,那这个结果又是什么呢?
1 2 | >>> a, b = 257, 257 >>> a is b |
wtfpython 里有很多这类的有趣例子,感兴趣的朋友,去这个项目里看一看答案吧,中英文都有。
项目地址:点击查看
5、DBFace
DBFace 是一个轻量级的实时人脸检测方法,模型仅有 7M,其有着更快的检测速度与更高的精度,刚刚开源的最新算法。
该项目在保持较小参数量的前提下,检测精度比以往的轻量级模型高很多,并且只需要 OpenCV 和 PyTorch 就能运行。
DBFace 不仅模型体积小,在 WiderFace 数据集上的测试中也均取得了最高的检测精度。
项目地址:点击查看
6、FairMOT
FairMOT 算法如其名,它是一个多目标跟踪算法。
刚刚开源,仅随 CenterTrack 之后,这是一个实时的多目标跟踪算法,也是采用 CenterNet 作为底层。(Anchor Free 这么香的嘛)
作者称这类框架为 one-shot MOT 框架,一个是类似于 CenterTrack 的基于 CenterNet 的联合检测和跟踪的框架。
项目地址:点击查看
7、zoombot
还记得因为疫情,在家上网课、远程办公开会的日子吗?
风水轮流转,国外的人们也体会到了被网络视频会议支配的"恐惧"。
国外的视频会议平台 Zoom 也在最近一段时间,业务量有了爆炸性增长。
使用视频会议软件,让摄像头对着自己拍摄老半天总觉得有点别扭。更何况你总得整理好仪容,穿上正式一点的上衣什么的。像我当初远程办公头发凌乱的样子去视频,是一定不行的。
有没有办法避免这种尴尬呢?
最近,一名美国的工程师 Matt Reed 找到了使用 AI 技术创造虚拟形象的方法。
用 AI 模拟自己的形象,代替自己参会,并与他人进行交流,看起来是个"完美"的解决方案。
用地球上已有的技术,要如何造出一个能在视频会议中出现的虚拟人?
- 能听懂别人说啥,需要语音转文字、语义理解的技术;
- 能回应别人的话,需要具备多轮对话和 TTS 能力(文本到语音);
- 说话的时候还得对口型和表情,需要用到 GAN;
就这些,听起来就够复杂了。
Matt 采用了最简单粗暴的方式:
把自己的视频录下来,再一句一句设定好回复。
如此一来,你就可以化身一个没有感情的开会机器了。
- 「How are you?」——「我很感谢您的问候。」
- 「你明白了吗?」——「我没听清你在说什么。」
- 「再见!」——「稍后再聊。」
没错,这就是一个浑水摸鱼的搞笑项目。
项目地址:点击查看
快乐
1、谢谢妈妈,妈妈真好
2、六级到底有多难过
财富
定投能赚钱吗?有的朋友这样问我。那,今天就再说说定投。
定投,就是一种投资策略,每个月定时定额买入一只股票或者基金。
对于普通人来说,定投宽指数基金是相对安全的。
在股市下跌的时候,一直买入,可以有效摊低成本,积累了筹码后,待股市上涨,就可以迅速翻红,实现盈利。盈利后,制定止盈计划,落袋为安,比如我在《程序员欢乐送(第53期)》实现的 20% 多的盈利,就是这么做的。
但是,这个盈利并不是那么顺利的,500 ETF 在前期跌了很久。如果选择定投,也就等于选择了接受长期的浮亏。
每天看着亏钱,继续坚持定投,是需要一定的毅力和耐心的。
对定投者来说,浮亏不可怕,永远下跌才可怕。
定投怎么才能盈利?选的基金长期看,得走微笑曲线。
如果你买的基金,可能没法走出微笑曲线,或者你不清楚是否会走出微笑曲线,那么就不要投了。
选择自己有信心的基金,很重要。选择一个合适的入场时机,说实话,也是有用的。
同一只基金,同一时间买入,不同的人,最后赚的钱也不会一样,因为还涉及怎么止盈。
要知道,股票账户里赚的钱,都只是数字,那是浮盈,只有落袋为安,放到银行卡里的才是真金白银。
定投什么基金,什么时候买,什么时候卖,决定了这次定投能赚多少。
定投,也不是闭着眼睛投,就一定能赚到钱的。
定投这种策略,能够让人们喜欢,也是符合多方利益的。定投者,相对容易能赚到钱,而基金公司也可以在熊市保住客户,长期赚取管理费,如果都是择时策略,那么熊市都看空市场,都空仓,基金公司也亏啊。
定投,不是什么灵丹妙药,只能说,算是一种相对简单的基金投资方式,适合每个月工资有结余的人买入。
一直看我这系列的朋友,应该知道,新一轮的定投我从上个月开启的,这周三,我又添加了一些钱进去,目前总共进去8000多一点。
后续计划是,500ETF每个月投3000左右,创业板每个月投3000左右。
如果对于这些理财感兴趣的,可以留言给我,人多的话,后面可以再开个理财小专栏,有钱一起赚嘛!
哦,对了,上期说的打新可转债,我也行动了,可气的是这中签概率太可恶,申请了5个,没有一个中签的,好气哦~
最后
本周的程序员欢乐送,到此结束,下周再会。
2020年8月17日 下午12:29 沙发
哦豁