「数字图像处理」数字图像处理复习例题
自用资料,理性查看,可能有错!!!
简答题例题
图像有哪几种存储格式?两种格式有什么区别?
答:一共有点位图与矢量图两种存储格式;
点位图:图像由一个一个像素组成有如下特点:
不方便重复使用
色彩丰富
修改麻烦
放大有损失
矢量图:由代数方程式定义的线条或者曲线组成有如下特点:
可重复使用
色彩单调
放大无损失
修改简单
常用的客观图像质量评估方法有哪些?各有何特点?
答:常用的客观图像质量评估方法有均方误差、信噪比与峰值信噪比和结构相似度三种方法
均方误差(MSE)
MSE是指被评价图像与参考图像对应位置像素值误差的平方均值误差。MSE越大,说明图像对应像素值整体差异大,图像质量越差;反之,MSE越小,说明图像质量越好。
信噪比(SNR)与峰值信噪比(PSNR)
SNR:图像像素值的平方均值与均方误差的比值
均方误差相同,对于不同的图像,由于像素值不同,其信噪比很可能不一样 ,为消除图像像素值大小对评价指标的影响,通常采用峰值信噪比PSNR
结构相似度
MSE、SNR、PSNR等评价方法有时可能与人的视觉感受出现较大的差异。
...
「六级」六级翻译笔记
第一套
翻译部分
青藏铁路是世界上最高最长的高原铁路,全长1956公里,其中有960公里在海拔4000多 米之上,是连接西彍和中国其他地区的第一条铁路。由于铁路穿越世界上最脆弱的生态系统,在 建设期间和建成后都采取了生态保护措施,以确保其成为一条“録色铁路”。青藏铁路大大缩 短了中国内地与西藏之间的旅行时间。更重要的是,它极大地促进了西藏的经济发展,改善了 当地居民的生活。铁路开通后,愈来愈多的人选择乘火车前往西疲,这样还有机会欣赏沿线的美景。
1、找主干(谁是什么, 谁做什么, 什么被做)
Qing Zang railway is the railway of highest altitude in the world.
2、添枝加叶(添加修饰成分)
Qing Zang railway is the longest railway of highest altitude in the world,with a total length of 1956km, 960km of which are over the altitude of 4000 meters.
青藏铁路是世 ...
「操作系统」操作系统笔记
第一章
简答题
三种基本的OS
分时操作系统: 同时性,独立性,及时性,交互性
实时操作系统:提供及时响应和高可靠性
批处理操作系统:批量集中处理、多道程序运行、作业脱机工作
第二章处理器调度作业
简答题
处理器两种最基本的状态
用户态:只能运行用户程序,非特权指令
核心态:运行系统指令和全部程序
什么是中断
中断指在程序执行的过程遇到急需处理的事件中,暂时中止现行程序在CPU上的运行,转而执行相应的事件处理程序,待处理完成后再返回断电或调度其他程序执行的过程。
进程的状态转换
我们需要掌握的进程状态有:
创建态
就绪态
运行态
阻塞态
终止态
需要掌握状态的转化关系:
例题:请填空
解:
例题:在一单处理器系统中若 有5个用户进程在非管态的某一时刻处于运行状态的用户进程最多有填空1个,最 少有[填空2]个处于就绪状 态的用户进程最多有[填空3 个处于等待状态的用户进程 最多有[填空4]个在想从科协退休之后去哪里坐
答案:1;0;4;5
三态模型是什么?三种状态在什么时候发生转换?
答:三态模型包括:运行态、就绪态与等待态
当进程被调度的时候就绪态转 ...
「逆向工程」课程笔记
自用资料,理性查看,可能有错!!!
RVA 如何转换到FOA ?(10分)
RVA为00002010则FOA是多少?
虚拟偏移是1000
2010//1000 = 2 => 第二个节
2010%1000 = 10 => 偏移是10
则FOA是600+10 = 610
一个动态链接库的大小是20
PE文件在加载的过程中内存的变化过程
从PE头偏移80H,得到RVA
PE文件的开头(10分)
PE文件的开头都是MZ,DLL也是一种PE文件。DLL文件的开头地址一定是对齐粒度的整数倍
导出表结构题的结构
导出表结构体结构如下:
有三项需要仔细掌握:
NumberOfFunctions: 函数的数量,在导出表里不是以0作为结尾的,而是到足够数量后结束;
AddressOfFunction: 函数入口的地址
AddressOfNames:函数名字的地址
栈
栈会用在哪些场合?
保存程序临时的数值
保存程序的现场
传递函数参数
存放过程中局部变量
call指令的具体调用过程
将调用函数用到的参数入栈。
将call指令的下一 ...
「Gnuplot」Gnuplot绘图指北
简介
Gnuplot 是一款适用于 Linux,OS/2,MS Windows,OSX,VMS 和许多其他平台的便携式命令行驱动图形工具。源代码受版权保护,但免费分发(即,您不必为此付费)。它最初创建的目的是让科学家和学生能够交互式地将数学函数和数据可视化,但已经发展到支持许多非交互式用途,例如Web脚本。它也被Octave等第三方应用程序用作绘图引擎。自1986年以来,Gnuplot一直得到支持和积极发展。
支持许多不同类型的 2D、3D 图
支持许多不同类型的格式输出
交互式屏幕显示:跨平台(Qt、wxWidgets、X11)、特定平台(Windows、OS/2)
丰富的输出格式:postscript(含 eps)、PDF、PNG、LaTex ……
可鼠标操作的 web 显示格式:HTML5、SVG
安装
如果你是Mac用户你可以非常简单的使用以下命令进行安装
brew install gnuplot
Linux和Windows也可以非常简单的安装gnuplot,我这里就不写啦(偷懒)
「阅读」《科技论文写作与发表教程》阅读笔记
科技写作的流程
写作流程可以简单的分为一下几步:
调整心态
认真准备
抓紧去写
修改完善
认真准备
在很大程度上写作就是模仿,找几篇在你所属研究领域获得高度评价的论文
看看这些论文的:
包含那几个部分
依照什么顺序
各部分占用多大的篇幅
如果有小标题,小标题用的是什么类型?一般使用多少图表?图表一般是什么类型?
写作时遵守期刊对稿件的要求,认真阅读《投稿须知》
如果你还没有文献管理工具,是时候一个了 比如,EndNote,Referebce,Manager,Zotero等;
把设计论文的想法随时随地的记录下来
在在收集科研数据的时候,脑海中可能会出现一些撰写论文的想法,把这些想法记录下来
可以为各部分单独创建一个专用文件。记录这些想法有助于避免遗忘
当中演讲有助于论文写作
在研讨会(seminar)或者研究日上当众介绍自己的研究成果,还可以在学术会议上进行口头报告或者海报展示。当众演讲有助于形成论文的结构,听众提问有助于规划论文的内容
多做些准备工作,比如编制论文提纲 (outline)
提纲中可以列出某部分的要点,并对其进行反复分类、排序直到自己满意。 ...
「基础知识」图像缩放对于模型精度的影响
在基于卷积神经网络的应用过程中,图像Resize是必不可少的一个步骤。通常原始图像尺寸比较大,比如常见监控摄像机出来的是1080P高清或者720P准高清画面,而网络模型输入一般没有这么大,像Yolo系列目标检测的网络模型输入大小一般为608x608/416x416 等等。那么如何将大尺寸图像输入到网络模型呢?很容易想到的一个方法就是对原始图像进行Resize,将1920x1080的原始图像Resize到网络模型输入尺寸,比如608x608。在压缩图像的过程中,如果像尽最大可能的保留图像的特征就需要考虑很多的因素。
是否应该保证宽高的一致?
其实两种方式均可,前提是要保证模型训练和模型推理时的操作方式一致。也就是说,如果在网络模型训练时,所有的训练素材都是直接拉伸到网路的输入尺寸(不保持宽高比例),那么模型推理时也应该如此,反之亦然。其中保持宽高比例的做法一般是用增加padding的方式,然后用固定颜色填充,保证图像画面中部的内容不变形。下图说明两种方式的差异:
**其实对于网络模型来讲,图像是否变形其实不太重要。如果在训练的时候,模型认为一个变形的动物是猫,那么经过大量数据拟合后, ...
「C3121N」卷积神经网络
卷积神经网络
CS231N中还比较详细的说明了卷积神经网络的历史,有兴趣的可以去看一看,这里我就不记录卷积神经网络的历史了。
卷积神经网络可以应用在非常多的方面:分类、检索、目标检测、无人驾驶、人脸识别、视频处理、人体姿态估计、强化学习、医疗诊断、神经风格迁移等等都有卷积神经网络的影子。
卷积神经网络的基本结构
卷积神经网络有三个基础的组成部分:卷积层、池化层和全连接层。卷积层可以理解为特征的提取,池化层可以理解为把图像变小了,池化操作也可以叫做降采样。全连接层也就是最后的输出层。
什么是卷积
卷积运算
卷积的操作我认为可以用以下的描述来进行概括:
首先我们需要一个卷积核,常见的卷积核大小就是3x3的卷积核。卷积核在图像上进行滑动,每次滑动就进行一次卷积运算。经过卷积运算后就得到一个特征图。
下面这个图可以更好的说明卷积的运算过程:
卷积的运算过程就是相应区域的数字相乘后相加
如果只是单单的进行卷积我们会发现,中间的数经过了多次的运算。但是周围的数运算的次数是比较少的。这样对于周围的像素的不公平的。所以我们就可以在周围填充一圈的0。填充0一个是可以让周围的元素参与比 ...
「YOLOv3」从头实现YOLOv3目标检测(五)构建输入与输出管道
本教程转载于:https://blog.paperspace.com/how-to-implement-a-yolo-object-detector-in-pytorch/, 在原教程上加入了自己的理解,我的理解将用 这样的格式写出. ( 原博客中有错误的地方在本文中也进行了修正 )
这是从头开始实现 YOLO v3检测器的教程的第5部分。在上部分中,我们实现了一个将网络输出转换为检测预测的函数。有了一个可以工作的检测器,剩下的就是创建输入和输出管道了。
在这一部分中,我们将构建检测器的输入和输出管道。这包括从磁盘上读取图像,进行预测,使用预测结果在图像上绘制边框,然后将它们保存到下来。我们还将介绍如何让detector在视频流中实时工作。我们将介绍一些命令行标志,以允许对网络的各种超级参数进行一些调整实验。那么让我们开始吧。
创建一个文件叫做detector.py, 添加必要的导入在它的顶部。
123456789101112131415from __future__ import divisionimport timeimport torch import torch.nn as ...
「YOLOv3」从头实现YOLOv3目标检测(四)置信度阈值与NMS
本教程转载于:https://blog.paperspace.com/how-to-implement-a-yolo-object-detector-in-pytorch/, 在原教程上加入了自己的理解,我的理解将用 这样的格式写出. ( 原博客中有错误的地方在本文中也进行了修正 )
这是从头开始实现 YOLO v3检测器的教程的第4部分。在上一部分,我们实现了网络的前向传递。在这一部分中,我们通过一个目标置信度和一个非最大抑制度来筛选我们的检测结果。
在前面的部分中,我们建立了一个模型,输出给定一个输入图像的多个目标检测。准确地说,我们的输出是一个形状为 b x 22743 x 85的张量。B 是一批图像的数量,22743是每张图像预测的box的数量,85是包围盒属性的数量。
然而,正如第1部分所描述的,我们必须将我们的输出经过置信度阈值和非极大值抑制的过滤,以获得真实的检测结果。为此,我们将在utils.py中创建一个名为write_result的函数。
1def write_results(prediction, confidence, num_classes, nms_con ...