<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_17853613的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_17853613</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_17853613]]></copyright><item><title><![CDATA[GoLevelDB —— Log]]></title><link>https://blog.youkuaiyun.com/qq_17853613/article/details/117413250</link><guid>https://blog.youkuaiyun.com/qq_17853613/article/details/117413250</guid><author>qq_17853613</author><pubDate>Mon, 31 May 2021 11:30:37 +0800</pubDate><description><![CDATA[GoLevelDB —— Log


auther: jaegerwang
项目地址：https://github.com/goleveldb/goleveldb
开发分支：develop
联系方式：QQ：1823738952，欢迎一起写


LogWriter
先讲写日志的部分。
WriteableFile
我们先从可写文件讲起，先看定义（这里不讨论他的实现，只讨论如何使用）：
class LEVELDB_EXPORT WritableFile {
 public:
  WritableFile() = ]]></description><category></category></item><item><title><![CDATA[64位操作系统——（三）应用层]]></title><link>https://blog.youkuaiyun.com/qq_17853613/article/details/109635204</link><guid>https://blog.youkuaiyun.com/qq_17853613/article/details/109635204</guid><author>qq_17853613</author><pubDate>Thu, 12 Nov 2020 01:12:41 +0800</pubDate><description><![CDATA[64位操作系统——（三）应用层

作者：王赛宇
参考列表：

主要参考：《一个六十四位操作系统的设计与实现》——田雨**（本章中大量使用了本书中的图片）**
《Using as》 ——Dean Elsner &amp;  Jay Fenlason  &amp; friends
nasm 用戶手册
处理器startup.s 常见汇编指令…


在上一章中，我们完成了操作系统内核层的框架，之所以说是框架，是因为对于每一个小的分支，我们只是完成了最基础的部分。在上一章的最后一节中，我们创建了一条init进程，在进]]></description><category></category></item><item><title><![CDATA[64位操作系统——（二）kernel]]></title><link>https://blog.youkuaiyun.com/qq_17853613/article/details/109635180</link><guid>https://blog.youkuaiyun.com/qq_17853613/article/details/109635180</guid><author>qq_17853613</author><pubDate>Thu, 12 Nov 2020 01:09:59 +0800</pubDate><description><![CDATA[64位操作系统——（二）kernel

作者：王赛宇
参考列表：

主要参考：《一个六十四位操作系统的设计与实现》——田雨
《Using as》 ——Dean Elsner &amp;  Jay Fenlason  &amp; friends
nasm 用戶手册
处理器startup.s 常见汇编指令…


前情提要
在第一章节中，我们学习、研读了bootloader的代码，bootloader可以被分为两个过程：

boot：计算机上电，自检完成后自动执行0x7c00处的boot程序，该程序被限制了大小5]]></description><category></category></item><item><title><![CDATA[基于字典树的前向/后向分词器]]></title><link>https://blog.youkuaiyun.com/qq_17853613/article/details/109510448</link><guid>https://blog.youkuaiyun.com/qq_17853613/article/details/109510448</guid><author>qq_17853613</author><pubDate>Thu, 05 Nov 2020 13:37:05 +0800</pubDate><description><![CDATA[NLPHW2——基于字典树的前向/后向分词器

作者： 王赛宇
完成列表：

基于字典树的前向分词器
在字典树前向分词器的基础上改进为后向分词器

重要说明：项目必须运行在GBK编码环境下

这次作业的目标是实现一个前向、后向分词器。在了解算法后，我认为这里最关键的技术是：如何在一个大的词库中快速的匹配当前的字符串？那么我们先从这个问题的由来开始学起：
什么是前向分词器？
其原理非常简单，实质上就是以句子中的某一个字为起点，从最大长度开始检索，寻找以该字为起点能够组成的最长词语，进行分词的方法，看一个例子：]]></description><category></category></item><item><title><![CDATA[64位操作系统——bootLoader]]></title><link>https://blog.youkuaiyun.com/qq_17853613/article/details/109127807</link><guid>https://blog.youkuaiyun.com/qq_17853613/article/details/109127807</guid><author>qq_17853613</author><pubDate>Sat, 17 Oct 2020 01:49:26 +0800</pubDate><description><![CDATA[64位操作系统——bootLoader

作者：王赛宇
参考列表：

《一个64位操作系统的设计与实现》
《nasm用户手册》
各种博客


第一部分： 写一个简单的引导程序并且显示一些字符
    org 0x7c00 ; 将程序加载到0x7c00位置，即：指定程序的起始地址

BaseOfStack equ 0x7c00


; 将CS寄存器的段基址设置到DS、ES、SS中
Label_Start:

    mov ax, cs
    mov ds, ax
    mov es, ax
    mo]]></description><category></category></item><item><title><![CDATA[操作系统LAB0]]></title><link>https://blog.youkuaiyun.com/qq_17853613/article/details/109069135</link><guid>https://blog.youkuaiyun.com/qq_17853613/article/details/109069135</guid><author>qq_17853613</author><pubDate>Wed, 14 Oct 2020 11:35:58 +0800</pubDate><description><![CDATA[操作系统lab0

作者：王赛宇

操作系统
我这里用的是Ubuntu 20.04 LTS，这个不强求吧，从16.04到20.04应该都没问题。这边是双系统，因为早就装好了，所以就不装虚拟机了。
C语言
sudo apt-get install gcc

这个不多谈了，直接给个文件吧
test.c
#define GLOBAL_NUM 10
#include&lt;stdio.h&gt;
int glo_var;
void funcA(){
    printf("funA:");
    int a[GL]]></description><category></category></item><item><title><![CDATA[自己动手做OS——Day2]]></title><link>https://blog.youkuaiyun.com/qq_17853613/article/details/108366931</link><guid>https://blog.youkuaiyun.com/qq_17853613/article/details/108366931</guid><author>qq_17853613</author><pubDate>Wed, 02 Sep 2020 17:43:12 +0800</pubDate><description><![CDATA[自己动手做OS——Day2
我们在昨天做了一个简单的输出一句话的小扇区，现在我们需要继续学习。
1　介绍文本编辑器
这个我们就不写了，我推荐VSCode，听说notepad++的作者是港独，鄙视他所以不用np++，不多谈了sublime也不错的。
2　继续开发
接下来，作者想让我们继续学习他写的代码，我们把这些代码直接po上来(我根据我昨天写的代码进行了一些更改，与作者的并不完全相同)：
; hello-os
; TAB=4

        ORG     0x7c00          ; 指明程序的装]]></description><category></category></item><item><title><![CDATA[自己动手做OS——Day1]]></title><link>https://blog.youkuaiyun.com/qq_17853613/article/details/108354275</link><guid>https://blog.youkuaiyun.com/qq_17853613/article/details/108354275</guid><author>qq_17853613</author><pubDate>Wed, 02 Sep 2020 01:10:22 +0800</pubDate><description><![CDATA[自己动手做OS——Day1
先简单说明一下，这里我就只做一些简单记录，不再像以前一样长篇大论写过程介绍了，我这里只写我原来不知道的。
1 先动手操作
run.bat
copy helloos.img ..\..\..\REF\tolset\z_tools\qemu\fdimage0.bin
..\..\..\REF\tolset\z_tools\make.exe -C ../../../REF/tolset/z_tools/qemu

我的目录结构和作者的不大一样，所以最后写出来的东西也和他的不大一样，这里]]></description><category></category></item><item><title><![CDATA[SLAM学习笔记（五）——后端优化（一）]]></title><link>https://blog.youkuaiyun.com/qq_17853613/article/details/108329153</link><guid>https://blog.youkuaiyun.com/qq_17853613/article/details/108329153</guid><author>qq_17853613</author><pubDate>Mon, 31 Aug 2020 20:45:55 +0800</pubDate><description><![CDATA[SLAM学习笔记（五）——后端优化（一）
先说明一下，书里面第八讲视觉里程计二，我写的文档丢失了，暂时先不去管他了，先继续往后看吧，之前是准备先做一个VO框架的，但是仔细思考了一下，准备先来实现一下这边，然后再去做那个VO框架。
我个人认为这里在我未来的项目中，不会是我做的重点，所以我在这块不做太过详细的学习。
EKF后端
我们知道，实际上，仅有前端的SLAM就可以支持简单的定位、建图的工作了，但是前端的结果往往是粗糙的，后端的存在就是为了继续优化前端的结果。它的本质是一种状态估计问题，主流的后端可以分为以]]></description><category></category></item><item><title><![CDATA[LeetCode刷题记录——109. 有序链表转换二叉搜索树]]></title><link>https://blog.youkuaiyun.com/qq_17853613/article/details/108230962</link><guid>https://blog.youkuaiyun.com/qq_17853613/article/details/108230962</guid><author>qq_17853613</author><pubDate>Tue, 25 Aug 2020 23:28:26 +0800</pubDate><description><![CDATA[LeetCode刷题记录——109. 有序链表转换二叉搜索树
题面
给定一个单链表，其中的元素按升序排序，将其转换为高度平衡的二叉搜索树。
本题中，一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。
分析
先来看到概念，什么是二叉搜索树？就是对于每一个节点，都满足以下性质：

左子树上所有点的值都小于自己
右子树上所有点的值都大于自己

接下来，我们将这个问题分为三个阶段：

谁来当根？
谁来当左儿子？
谁来当右儿子？

首先我们知道，我们要建一颗平衡的二叉搜索树，所以根据]]></description><category></category></item><item><title><![CDATA[lab3纠错记录]]></title><link>https://blog.youkuaiyun.com/qq_17853613/article/details/108230922</link><guid>https://blog.youkuaiyun.com/qq_17853613/article/details/108230922</guid><author>qq_17853613</author><pubDate>Tue, 25 Aug 2020 23:26:03 +0800</pubDate><description><![CDATA[lab3 Debug记录
错误类型

其他的暂时没有看出异常，但是最后进行sw时出现了zzz，遂调出所有关于regfile的信号进行观察。
相关指令如下，逐条进行纠错：
使用测试的指令
.data
   a:  .word  3
.text  0x0000
main: 
	addi $2, $0, 5 		# initialize $2=5 		0  20020005
	addi $3, $0, 12 	# initialize $3=12 		4  2003000c
	addi $7, $3,-9 		#]]></description><category></category></item><item><title><![CDATA[最优化技术——阅读报告]]></title><link>https://blog.youkuaiyun.com/qq_17853613/article/details/108230917</link><guid>https://blog.youkuaiyun.com/qq_17853613/article/details/108230917</guid><author>qq_17853613</author><pubDate>Tue, 25 Aug 2020 23:24:41 +0800</pubDate><description><![CDATA[最优化技术——阅读报告
梯度下降——从批量下降到Nesterov加速法
如今，在神经网络魔性的训练过程中梯度下降被广泛的使用，它主要用于权重的更新，即对参数向某一方向进行更新和调整，来最小化损失函数。其主要原理是：

通过寻找最小值，控制方差，更新模型参数，最终使模型收敛。

**什么是梯度？**梯度是一个向量。函数在各个方向的斜率是方向导数，而斜率最大的方向是梯度，梯度的方向方向导数变化最快的方向。传统的梯度下降法对模型进行多次迭代，在迭代的过程中对模型参数进行更新，更新过程如下：
θ=θ−α∂J(θ)∂]]></description><category></category></item><item><title><![CDATA[最优化技术——牛顿法]]></title><link>https://blog.youkuaiyun.com/qq_17853613/article/details/108230851</link><guid>https://blog.youkuaiyun.com/qq_17853613/article/details/108230851</guid><author>qq_17853613</author><pubDate>Tue, 25 Aug 2020 23:22:02 +0800</pubDate><description><![CDATA[最优化技术——牛顿法
没错，到期末了，我又开始学最优化了
参考目录

牛顿法与拟牛顿法学习笔记（一）牛顿法

解决的问题
解决的是无约束的极小化问题，用数学语言描述如下：
minxf(x)(0)
\mathop{min}\limits_{x}f(x) \tag{0}
xmin​f(x)(0)
简单一维牛顿法
从现有极小值估计点出发，对f(x)做泰勒展开，进而找到极小值的下一个估计值。设xkx_kxk​是当前极小值的估计值，有：
φ(x)=f(xk)+f’(xk)(x−xk)+12f’’(xk)(x−xk)2]]></description><category></category></item><item><title><![CDATA[初次使用GIT简单记录]]></title><link>https://blog.youkuaiyun.com/qq_17853613/article/details/108230849</link><guid>https://blog.youkuaiyun.com/qq_17853613/article/details/108230849</guid><author>qq_17853613</author><pubDate>Tue, 25 Aug 2020 23:17:32 +0800</pubDate><description><![CDATA[初次使用GIT简单记录
之前一直听说过git，但是一直没有直接使用git来管理自己的代码，现在随着需要coding的科目的增多，再加上自己有了一台阿里云服务器，于是想到使用远程git来管理自己的代码，于是就有了这篇博客，最近事情有点多，实在没时间更新图形学的博客了，等期末考试结束了，我必更新。
本文内容主要参考：git - 简易指南
上面这篇文章，看起来非常舒服，比我写的好多了，推荐大家直接看上面这个，下面些属于我自己探索路上写的一些笔记。
git的安装
以我为例，我的环境是本地deepinv20，服务器c]]></description><category></category></item><item><title><![CDATA[组成原理-lab1难点之流水线]]></title><link>https://blog.youkuaiyun.com/qq_17853613/article/details/108230754</link><guid>https://blog.youkuaiyun.com/qq_17853613/article/details/108230754</guid><author>qq_17853613</author><pubDate>Tue, 25 Aug 2020 23:11:26 +0800</pubDate><description><![CDATA[组成原理Lab1详解
流水线理解笔记
由于在做组成原理实验的时候，碰到了流水线这个概念，感觉什么都不懂，所以从头开始做做试验来理解一下这个概念，其中的Demo来自于重庆大学组成原理实验指导书Lab1，它的作者是
lvyufeng@cqu.edu.cn
我在作者提供的代码、描述的基础上进行了仿真实验，结合个人理解写下了这篇博客，这个博客以实验、代码为基础，根据行为仿真结果来进行讨论。
错误说明


在最终的实现中，rst与流水线的刷新不应融合到一起，流水线的刷新应当用于流水线的部分刷新，而rst应该用于整体刷]]></description><category></category></item><item><title><![CDATA[python图像处理笔记-十二-图像聚类]]></title><link>https://blog.youkuaiyun.com/qq_17853613/article/details/108230734</link><guid>https://blog.youkuaiyun.com/qq_17853613/article/details/108230734</guid><author>qq_17853613</author><pubDate>Tue, 25 Aug 2020 23:05:27 +0800</pubDate><description><![CDATA[python图像处理笔记-十二-图像聚类
学习内容
这一章主要在学习的是聚类算法以及其在图像算法中的应用，主要学习的聚类方法有：

KMeans
层次聚类
谱聚类

并将使用他们对字母数据及进行聚类处理，以对比效果。
聚类是什么？
有ｎ个点，把这ｎ个点通过某种方法分成ｋ类就是聚类算法在做的事情，聚类做的越好，分出来的ｋ类的类与类之间差异越明显，同一个类中的差异也越不明显。
K-means
聚类思想：
K-means需要给出最终簇的数量k。它的核心思路是：从某个状态开始，通过不断的迭代来更新中心点的位置，来让]]></description><category></category></item><item><title><![CDATA[python图像处理笔记-十一-多视图重建与立体图像]]></title><link>https://blog.youkuaiyun.com/qq_17853613/article/details/108230722</link><guid>https://blog.youkuaiyun.com/qq_17853613/article/details/108230722</guid><author>qq_17853613</author><pubDate>Tue, 25 Aug 2020 23:04:05 +0800</pubDate><description><![CDATA[python图像处理笔记-十一-多视图重建与立体图像
多视图重建
由于照相机运动给我们提供了三维结构，所以这样计算三维重建的方法通常称作SFM （Structure from Motion，从运动中恢复结构）。我们假设摄像机已经标定，计算重建可以分为下面四个步骤：

检测特征点，在两幅图像中匹配
由匹配计算出基础矩阵
由基础矩阵计算照相机矩阵
三角形剖分这些三维点

我们前面已经把者四个东西都做过了，但是当图像间的点包含不正确的匹配关系时，需要一个文集爱你方法来估计矩阵。
稳健估计基础矩阵
类似于稳健计算单]]></description><category></category></item><item><title><![CDATA[python图像处理笔记-十-外极几照相机和三维结构的计算]]></title><link>https://blog.youkuaiyun.com/qq_17853613/article/details/108230676</link><guid>https://blog.youkuaiyun.com/qq_17853613/article/details/108230676</guid><author>qq_17853613</author><pubDate>Tue, 25 Aug 2020 23:01:19 +0800</pubDate><description><![CDATA[python图像处理笔记-十-外极几照相机和三维结构的计算
到这里就已经到书中的第五章了，进度大概是在50%。这一章介绍的如何处理多个视图，以及如何利用多个视图的几何关系来回复照相机位置信息和三维结构。通过在不同视点拍摄出的图像，可以使用特征匹配来计算出三维场景点以及照相机位置。
外极几何
多视图集合是利用在不同视点所拍摄图像间的关系，来研究照相机之间或特征之间关系的一门科学。图像的特征往往是兴趣点，这一章使用的也是兴趣点特征，多视图几何中最重要的内容是双视图几何。
做什么？
有一个场景的两个视图以及视图中]]></description><category></category></item><item><title><![CDATA[python图像处理笔记-九-简单标定、姿态估计与增强现实]]></title><link>https://blog.youkuaiyun.com/qq_17853613/article/details/108230411</link><guid>https://blog.youkuaiyun.com/qq_17853613/article/details/108230411</guid><author>qq_17853613</author><pubDate>Tue, 25 Aug 2020 22:44:03 +0800</pubDate><description><![CDATA[python图像处理笔记-九-简单标定、姿态估计与增强现实
一种简单的标定方法：
在上一个笔记中我们学习了张正友标定法，并且挖了一个用张正友标定法标定相机的坑，但是这个坑目前还填补上。这一节里面我们要学的是用一种非常简单的方法进行标定，方法如下：
需要准备的东西

一个矩形（一本书就可以了）
一个卷尺
一个平面

操作步骤
数据测量

测量你选的矩形的边长：dX,dYdX,dYdX,dY。
将照相机和标定物体放置在平面上，使得照相机的背面和标定物体平行，同时物体位于照相机图像视图的中心，你可能需要调整照相机]]></description><category></category></item><item><title><![CDATA[图形学笔记（八）——针孔照相机模型与照相机标定]]></title><link>https://blog.youkuaiyun.com/qq_17853613/article/details/105751605</link><guid>https://blog.youkuaiyun.com/qq_17853613/article/details/105751605</guid><author>qq_17853613</author><pubDate>Sat, 25 Apr 2020 16:15:01 +0800</pubDate><description><![CDATA[python图像处理笔记-八-针孔照相机模型与照相机标定
前几天去忙别的事情了，大概有一个周没有更新了，周末有时间了赶紧学一手。这里对应的是书中的第四章
，能坚持到这里的话，就已经啃完了书的三分之一了。
参考教材：

python计算机视觉编程
视觉SLAM十四讲，从理论到实践

针孔照相机模型
针孔摄像机模型（有时称作摄影照相机模型），是计算机视觉中广泛应用的照相机模型。原因是：

简单
精度足...]]></description><category></category></item></channel></rss>