周报5<仅供自己学习>

news2024/11/29 20:59:33

文章目录

  • 一、NeRF代码
    • 1.齐次化位姿坐标
    • 2.理解rays_d和rays_o
    • 3.min_line_dist的函数
      • 问题1:该函数的作用
      • 问题2:为何要计算ray_d的外积
        • ①形成投影矩阵
          • (1)投影矩阵
          • (2)投影矩阵的性质
          • (3)投影长度的计算
        • ②A_i和b_i的含义!!!
    • 4.最小二乘法
      • ①目标
      • ②数学模型
        • (1)目标函数
        • (2)方程的解
      • (3)残差r=Ax-b的空间意义
        • 问题:什么是值域空间
      • (4)目标求解
  • 二、集合论到位运算
    • 1.哈希表
      • ①属性
      • ②表现方式
      • ③结构
    • 2.二级制和集合论的关系
    • 3.位运算的优势
    • 4.集合与集合
      • 交集
      • 并集
      • 对称差
      • 包含于
    • 5.集合与元素
      • 单元素集合
      • 全集
      • 补集
      • 属于
      • 添加元素
      • 删除元素
      • 取最小元素
    • 6.一些库函数
    • 7.遍历集合

一、NeRF代码

def spherify_poses(poses, bds):
    
    p34_to_44 = lambda p : np.concatenate([p, np.tile(np.reshape(np.eye(4)[-1,:], [1,1,4]), [p.shape[0], 1,1])], 1)
    
    rays_d = poses[:,:3,2:3]
    rays_o = poses[:,:3,3:4]

    def min_line_dist(rays_o, rays_d):
        A_i = np.eye(3) - rays_d * np.transpose(rays_d, [0,2,1])
        b_i = -A_i @ rays_o
        pt_mindist = np.squeeze(-np.linalg.inv((np.transpose(A_i, [0,2,1]) @ A_i).mean(0)) @ (b_i).mean(0))
        return pt_mindist

1.齐次化位姿坐标

p34_to_44 = lambda p : np.concatenate([p, np.tile(np.reshape(np.eye(4)[-1,:], [1,1,4]), [p.shape[0], 1,1])], 1)

2.理解rays_d和rays_o

①rays_d表示相机坐标系的z轴向量,也就是向前向量
②rays_o表示相机坐标系在世界坐标系的原点坐标

3.min_line_dist的函数

问题1:该函数的作用

问题2:为何要计算ray_d的外积

①形成投影矩阵

(1)投影矩阵

任意向量v,左乘d的外积,形成的结果为(d·v)d,d·v是向量的点乘,是标量,也就是说结果平行于向量d,从而达到了将v向量投影到了向量d的方向上

(2)投影矩阵的性质

投影矩阵的秩为1,表示行和列都线性相关,并且都和d线性相关

(3)投影长度的计算

v·d/||d||

②A_i和b_i的含义!!!


我的理解是
A_i是一个系数
我们先看A_i@ray_o
假设绿线是光线向量。那么红线就是原点和相机原点的向量,也就是A_i中的np.eye(3)@ray_o
刚才我们已经外积是一个投影矩阵,那么外积@ray_o,就是将红线投影到绿线上,也是绿线的红线部分,那么(np.eye(3) - rays_d * np.transpose(rays_d, [0,2,1]))@ray_o,就是进行向量的减法,就是蓝线的,取反方向就是灰线

4.最小二乘法

因为这个函数在实现最小二乘法,所以我进行了具体的学习

①目标


举例



求第三个式子最小的x1,x2取值

②数学模型

(1)目标函数

最小化残差求出参数x的值

(2)方程的解

(3)残差r=Ax-b的空间意义


b正交A的值域:这里可以联想到B_id的作用

问题:什么是值域空间

(4)目标求解


二、集合论到位运算

1.哈希表

①属性

模表大小
哈希函数

②表现方式

数组+链表(解决哈希冲突)

③结构

数组 链表 哈希函数 插入 获取 删除

2.二级制和集合论的关系

在这里插入图片描述
也就是加入集合{0,2,4} 用二进制表示10101

3.位运算的优势

并行运算

4.集合与集合

交集

A&B

并集

A|B

对称差

A⊕B

A&~B
A⊕B

包含于

A&B=B
A|B=A

5.集合与元素

单元素集合

1<<2 ={2}

全集

1<<3-1 ={0,1,2}

补集

((1<<4)-1)⊕s

属于

判断i是否属于s
(s<<i)&1=1

添加元素

(1<<i)|s

删除元素

~(1<<i)&s
s⊕(1<<i)
删除最小
s&(s-1)

取最小元素

s&~(s-1)

6.一些库函数

集合大小
__builtin_popcount(s) C/C++
s.bit_count() python
二进制长度
__lg(s)+1 C++
log2(s)+1 c
s.bit_length() python

7.遍历集合

#include<stdio.h>
int main()
{
    unsigned int s =5;
    int n=3;
    for (int i = 0; i < n; i++) {
    if ((s >> i) & 1) { printf("%d in range\n",i);}
    }
}

最小元素遍历

for(int s=n;s&(~s+1);s-=s&(~s+1))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2218515.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络编程基础-IO模型深入理解

一、IO的基本概念 什么是IO&#xff1f; I/O就是计算机内存与外部设备之间拷贝数据的过程 什么是网络IO&#xff1f; 网络IO是指在计算机网络环境中进行的输入和输出操作&#xff0c;涉及数据在网络设备之间的传输。 网络IO操作可以是发送请求、接收响应、下载文件、传输数…

adb devices没找到安卓设备的解决办法

要想让设备让adb识别到&#xff0c;要开启设备的开发者模式&#xff0c;并且开启USB调试功能&#xff1a; 然后重新运行&#xff1a;就找到了

Linux零基础教程学习(黑马)

1.初识Linux 1.2远程连接Linux系统 图形化、命令行 对于操作系统的使用&#xff0c;有2种使用形式&#xff1a; 图形化页面使用操作系统 以命令的形式使用操作系统 不论是Windows还是Linux亦或是MacOS系统&#xff0c;都是支持这两种使用形式。 图形化&#xff1a;使用操作…

前端页面使用google地图api实现导航功能,开发国外网站免费简单好用

开发国外软件的时候&#xff0c;想使用goole map实现导航等功能&#xff0c;可以使用google的api来做&#xff0c;官方文档地址&#xff1a;https://developers.google.com/maps/documentation/urls/get-started?hlzh-cn &#xff0c;比如&#xff1a; 支持的请求的操作&…

基于MATLAB/octave的容积卡尔曼滤波(CKF)【带逐行注释】

介绍 CKF的三维滤波程序例程 产品概述 我们的 MATLAB 数据处理工具是专为科研人员、工程师和数据分析师设计的高效解决方案。该工具提供了一系列强大的功能&#xff0c;能够快速处理和分析大规模数据集&#xff0c;适用于各种科学和工程应用&#xff0c;包括信号处理、图像分…

Redis Search系列 - 第四讲 支持中文

目录 一、支持中文二、自定义中文词典2.1 Redis Search设置FRISOINI参数2.2 friso.ini文件相关配置1&#xff09;自定义friso UTF-8字典2&#xff09;修改friso.ini配置文件 三、实测中文分词效果 一、支持中文 Redis Stack 从版本 0.99.0 开始支持中文文档的添加和分词。中文…

什么是大数据分析:定义、优缺点、应用、机遇和风险

大数据分析的概念已经成为我们社会不可或缺的一部分。众多公司和机构已经开发了大数据应用程序&#xff0c;取得了不同程度的成功。社交媒体平台和传感器等技术正在以前所未有的速度生成数据&#xff0c;就像一条装配线。如今&#xff0c;几乎所有东西都是物联网的一部分&#…

C#教程笔记

C#开发的程序依附.NET平台 编译器->IL中间语言->CLR->机器指令 .NET CORE平台 跨平台 .cs后缀名 快捷键 CtrlKD格式化CtrlL或CtrlX删除一行CtrlY反撤销cwTab快速生成命令行输出Ctrl空格或CtrlJ获取提示///方法注释CtrlMO代码全部折叠CtrlML代码全部展开 上升沿0变1 安…

硬件产品经理的开店冒险之旅(下篇)

缘起&#xff1a;自己为何想要去寻找职业第二曲线 承接上篇的内容&#xff0c;一名工作13年的普通硬件产品经理将尝试探索第二职业曲线。根本原因不是出于什么高大上的人生追求或者什么职业理想主义&#xff0c;就是限于目前的整体就业形式到了40岁的IT从业人员基本不可能在岗…

Spring Boot技术栈在电影评论网站中的应用

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统&#xff0c;它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等&#xff0c;非常…

【论文阅读】Bi-Mamba+: Bidirectional Mamba for Time Series Forecasting

文章目录 概要阅读背景知识引言创新之处 研究方法概述方法部分的核心模块多尺度打补丁&#xff08;Multi-Scale Patching&#xff09;Mamba&#xff1a;全局模式专家Local Window Transformer&#xff08;LWT&#xff09;&#xff1a;局部变化专家长短期路由器&#xff08;Long…

Aatrox-Bert-VITS2部署指南

一、模型介绍 【AI 剑魔 ①】在线语音合成&#xff08;Bert-Vits2&#xff09;&#xff0c;将输入文字转化成暗裔剑魔亚托克斯音色的音频输出。 作者&#xff1a;Xz 乔希 https://space.bilibili.com/5859321 声音归属&#xff1a;Riot Games《英雄联盟》暗裔剑魔亚托克斯 …

LLM:参数高效微调方法总结

可以分为基于适配器、基于提示的。 一、基于适配器的方法 其核心思想是在预训练模型的各层之间插入轻量级的额外模块——适配器&#xff0c;通过仅微调这些适配器模块以适应特定的下游任务&#xff0c;同时冻结原模型的大部分参数。 1.Lora系列 原始的Lora LoRA 表示通过低…

DFS算法经典题目: Leetcode 51.N皇后

DFS算法经典题目&#xff1a; Leetcode 51.N皇后 题目详情如下 这道题如果使用暴力解法的话&#xff0c;需要对N个皇后放在每个地方都进行枚举并判断是否可行&#xff0c;时间复杂度非常之高&#xff0c;肯定是过不了的&#xff0c;所以需要使用其他解法。 根据题目可以知道每…

RT-Thread之STM32使用定时器实现输入捕获

前言 基于RT-Thread的STM32开发&#xff0c;配置使用定时器实现输入捕获。 比如配置特定通道捕获上升沿&#xff0c;该通道对应的引脚有上升沿信号输入&#xff0c;则触发捕获中断。 一、新建工程 二、工程配置 1、打开CubeMX 进行工程配置 2、时钟使用外部高速晶振 3、配置…

链栈的基本算法

初始化一个链栈 &#xff0c;将元素e&#xff0c;f&#xff0c;g&#xff0c;h&#xff0c;i依次进栈&#xff0c;获取栈顶元素&#xff0c;将栈中元素依次出栈并输出 链栈的表示 既采用链式储存结构实现的栈 具体代码 #include <stdio.h> #include <stdlib.h>…

安装TDengine数据库3.3版本和TDengine数据库可视化管理工具

安装TDengine数据库3.3版本和TDengine数据库可视化管理工具 一、下载安装包二、解压安装包三、部署四、启动服务五、进入数据库六、创建数据库、表和往表中插入数据七、测试 TDengine 性能八、使用数据库九、查询数据十、TDengine数据库可视化界面 一、下载安装包 TDengine-cl…

RHCE——例行性工作

准备工作 [rootlocalhost ~]# cat /etc/yum.repos.d/aliyun.repo [ali-app] nameali-app baseurlhttps://mirrors.aliyun.com/centos-stream/9-stream/AppStream/x86_64/os/ gpgcheck0[ali-base] nameali-base baseurlhttps://mirrors.aliyun.com/centos-stream/9-stream/Base…

Qt - 地图相关 —— 1、加载百度在线地图(附源码)

效果图 开始加载地图 1、百度地图开发者网站中注册,获取密钥 2、进入开发文档中 将下图内容保存到本地文件中,文件名为"index.html"文件即可。接着将内容中的“您的密钥”改为刚刚创建应用出来的AK密钥即可。 然后双击打开若在浏览器中正常看到下图右侧地图则说明没…

现代物流管理:SpringBoot技术突破

3系统分析 3.1可行性分析 通过对本智能物流管理系统实行的目的初步调查和分析&#xff0c;提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本智能物流管理系统采用SSM框架&#xff0c;JAVA作为开发语…