【dod】面向数据指南

开新坑了,这回要读一读 Richard Fabian 的 DodBook。这本书主要介绍了一些程式模式于面向数据的实现方式,但也仅仅是介绍,正文几乎没有给到任何代码范例,故我也仅仅提炼一些关键的理念,以备不时之需。

Read More

Share

【和弦分解】Low Roar《Bones》

出自 Death Stranding Orignial Sound Track

1=D, Capo=2

First of march, it’s clear to me

It’s something that’s uncomforting

Your body has a way with me

But I’m exactly where I wanna be

But I’m a long way from home

Read More

Share

看山不是山,看云不是云

回看上一篇日志,已经是一年之前的事情了,结束了百无聊赖的大学生活,开始买车买房、求职相亲……当然不是。如果生活能如此一帆风顺该多好,然而这种看似“平庸”的生活竟成了奢望。

Read More

Share

【CV】相机标定时各种参数干什么用的?!

本文高度致敬张正友的文章《A Flexible New Technique forCamera Calibration》,同时介绍如何在 OpenCV 中实现其方法。虽然看不懂原理,不过东拼西凑姑且能弄出个能用的纯过程代码,放在这里供大伙看个乐。

Read More

Share

【CMake】依赖包调用一瞥

花了一天,终于把 IK 系列连接在了一起,这一波硬读代码,属实有些影响生活了!

本文将列出几个载入外部包的方法,代码已同步至 timrockefeller/IKCMake

Read More

Share

【熟肉】无人机相机采集图像序列的快速三维重建

原文标题:Rapid 3D Reconstruction for Image Sequence Acquired from UAV Camera

首发于:MDPI

Yufu Qu *, Jianyu Huang and Xuan Zhang
Department of Measurement Technology & Instrument, School of Instrumentation Science & Optoelectronics
Engineering, Beihang University, Beijing 100191, China; Hjy448@buaa.edu.cn (J.H.);
zhangxuanaj@buaa.edu.cn (X.Z.)

Correspondence: qyf@buaa.eud.cn; Tel.: +86-010-8231-7336
Received: 23 November 2017; Accepted: 11 January 2018; Published: 14 January 2018

摘要

1
In order to reconstruct three-dimensional (3D) structures from an image sequence captured by unmanned aerial vehicles’ camera (UAVs) and improve the processing speed, we propose a rapid 3D reconstruction method that is based on an image queue, considering the continuity and relevance of UAV camera images.

为了加快无人机相机采集图像三维重建过程,我们提出了一种基于图像序列相关度的快速重建方法。

1
The proposed approach first compresses the feature points of each image into three principal component points by using the principal component analysis method. In order to select the key images suitable for 3D reconstruction, the principal component points are used to estimate the interrelationships between images.

该方法首先利用主成分分析法(Principal Components Analysis, PCA)将每幅图像的特征点压缩为 3 个主成分点。利用主成分点估计图像之间的相互关系,可以为选择适合三维重建的关键帧提供依据。

1
Second, these key images are inserted into a fixed-length image queue. The positions and orientations of the images are calculated, and the 3D coordinates of the feature points are estimated using weighted bundle adjustment. With this structural information, the depth maps of these images can be calculated.

其次,将这些关键帧插入到一个固定长度的图像队列中。计算图像的位置和方向,并使用加权束平差(weighted bundle adjustment)估计特征点的三维坐标。利用这些结构信息,可以计算出这些图像的深度图。

1
Next, we update the image queue by deleting some of the old images and inserting some new images into the queue, and a structural calculation of all the images can be performed by repeating the previous steps.

接着通过删除一些旧图像和插入一些新图像来更新图像队列,并重复前面的步骤对所有图像进行结构化计算。

1
Finally, a dense 3D point cloud can be obtained using the depth–map fusion method. The experimental results indicate that when the texture of the images is complex and the number of images exceeds 100, the proposed method can improve the calculation speed by more than a factor of four with almost no loss of precision.

最后利用深度图融合方法得到密集的三维点云。实验结果表明,当图像的纹理复杂且图像数量超过 100 时,该方法可以将计算速度提高 4 倍以上,几乎不损失精度。

1
Furthermore, as the number of images increases, the improvement in the calculation speed will become more noticeable.

此外,随着图像数量的增加,相较原方法计算速度也会明显地提高。

Keywords: UAV camera; multi-view stereo; structure from motion; 3D reconstruction; point cloud

Read More

Share

观逆向:还是得学会汇编

前几日和朋友聊起各式音游,对解包产生了很大兴趣。当然也被科普了各种防逆向知识,由此想罗列一番做个随笔。

JAVA: class loader 热加载

加壳的目的无非两种:压缩或加密。类似于 Minecraft Forge,在运行时中将所需要的字节码转入内存中,这种方式能很好地隐藏 OEP。

而对策便是直接替换class loader,将写入内存的部分输出到文件中,便能获取到所有运行时源码。

字节码按规律修改

在《Project SEIKAI》中,游戏资源被一种特殊的方式所加密。其步骤为:开头128个字节每8个字节的前5个字节二进制取反。这种方法可谓异常简单,只需对比一遍原生 Unity 未加密的资源包二进制文件就能找出规律。

refer: 解包PJS资源的进一步探索, 黑鲸.

CPU级加壳

这种方式是将在指令头做一个映射,修改译码过程。这种方式可能连操作系统都不一定能捕捉到。

卷尾

加壳的方式非常之多,还有 int3 陷阱等不再赘述。我也推荐他试着逆向原神,不过难度确实很大,据我所知成功的也仅寥寥几人。日厂手游开发中 Unity 使用率越来越高,这也导致了很多 Unity 上的安全问题能在各种产品中重现。而回忆当年《Love Live!》用的自家引擎,也算是一种原始的加壳方式吧。

Share

【西加加】模板虽奇,难如上青天

本文记录了摸模板的心路历程,卖惨自闭随处可见。

Read More

Share

经济与管理 札记

《新编经济与管理教程》一书的笔记,由概念切入,旨于能够在这资本吃人的社会站住一席之地。

Read More

Share

手撕ECS #2: Archetypes and Vectorization

原文链接:Building an ECS #2: Archetypes and Vectorization

上回说到如何访问 Entity 所拥有的 Components,这一章将会探索如何储存 Component 数据。久闻 ECS 以高性能自称,来看看它到底有何能耐。

Read More

Share