前言
PSNR的算法非常简单,但与实际工程的距离又非常近。你可以在各种项目中看到它和它的变体。个人认为,PSNR非常适合作为入门SIMD(Single
Instruction Multiple Data)汇编的研究对象。
性能优化的过程离不开各种开发工具,而“开发脚手架”的搭建,以及性能分析的过程往往不会在源代码中有所体现。这篇文章是我入门SIMD汇编的自学记录,同时也希望能给后来者做一些脚手架搭建方法上的参考。如有错漏欢迎直接给我的blog提PR或给我发邮件。
本文将涉及以下知识点:
如何使用docker搭建一个不干扰宿主机的调试环境。
利用Compiler Explorer编译代码...
译者序
Pin是Rust针对自引用结构体在移动时发生指针悬垂所提出的解决方案。本文是一篇Rust官方论坛语言设计板块的帖文的中译(机翻+人工精修),主要讨论Pin的不健全性(Unsoundness)。
在阅读前需要牢记一个印象:大部分“平凡”对象如i32、String都是Unpin的,这意味着这些对象可以被安全地移动到其他内存位置,只有Future等自引用对象才有必要成为!Unpin。
正文
最近@withoutboats(Rust异步设计的核心参与者)向我提出了一个挑战。他要求我提出一个具有不同保证(也就是不靠屏蔽&mut T来实现自引用安全)的Pin版本,并说明这个新Pin的...
前言
本文主要解读Takanori
Senoh在聚焦式光场图像的多视角转换方向上做的一系列工作。我们假定阅读者已经掌握了一定的背景知识。下面直接切入正题。
m57272
- Conversion of Single-focused Plenoptic 2.0 Lenslet Image to Multiview
Image
文章链接
Introduction
文章首先点明主旨:本文引入了一个新的Lenslet to
Multiview转换软件。然后介绍了一些背景,列举了一些创新点。最后是一大堆输入参数的简写,下文中我们会将它们全部替换为人类可读的形式。
Lenslet Image to
...
译者序
这篇文章是The
fastest production-ready image resize out there. Part 1. General
optimizations的DeepL机翻+人工复核。如有翻译问题可在评论区指出。其作者Alex
Karpinsky系Pillow-SIMD的开发者。
上一篇的翻译在这。
前言
在此前的介绍性文章中,我对图像缩放的挑战进行了全面总结。结果发现这个故事相当长,而且有点半生不熟:它没有包含一行代码。
不过,如果没有前面的总结,就很难谈及具体的优化方法。当然,我们可以将一些技术应用到手头的任何代码中。例如,缓存计算或减少分支。但我认为,如果...
译者序
项目要求写一个header-only的高性能图像缩放实现,目标是将任意大小图片缩小至8x8的大小,同时完成灰度化。我不论怎么改进都要比OpenCV-AVX2慢个三倍左右。遂打算写个专栏研究一下当前主流的开源图像缩放实现(OpenCV、Pillow-SIMD等),顺带入门一下算法性能调优。
这篇文章是The Fastest
Image Resize
Part0的DeepL机翻+人工复核。如有翻译问题可在评论区指出。其作者Alex
Karpinsky系Pillow-SIMD的开发者。
前言
我为现代x86架构处理器设计了最快的图像缩放算法实现。我想与大家分享我的经验,希望能给予那些同...
论文链接
IEEE
Explore
官方PDF
写在前面
这篇文章是光场相机标定(Light Field Camera
Calibration)的经典。对光场相机的基础知识介绍较为详尽,方便快速入门。所提出的方法也已经历过生产实践的检验。
Abstract
开头是一段对光场相机应用的背景介绍,这里直接略过。
想实现深度估计就必须做相机标定(Camera
Calibration)。本文提出了一个稳健的、自动化的相机标定技术。
Introduction
第一段简要介绍了一下光场相机的发展历程。
第二段提到Raytrix以“虚深度”(Virtual
Depth)的形式提供物到相机的距离。并且引...
工具
静态分析、修复与代码格式化
ruff
使用Rust实现的针对Python的静态分析与修复工具。一大批双修大神在积极地维护ruff并推进新特性。特点是支持海量规则。截止至本文最后一次更新时,ruff已经可以完全替代isort(对导入包排序)、pylint(静态检查)和black(代码格式化)。并且它的速度快得离谱。
附上本人使用的pyproject.toml配置参数:
12345678910111213[tool.ruff]line-length = 120target-version = "py310"[tool.ruff.format]quote-style ...