基于内容的视频信息检索系统

2023-11-18

基于内容的视频信息检索系统

汪志强

(江西财经大学信息管理学院 09信息管理与信息系统2班)

摘 要: 本文从基于内容的视频信息检索技术的发展历史出发,对基于内容的视频检索系统的技术要点及主要的功能模块进行了讨论和分析,并说明了当今技术存在的缺陷,最后提出了以后可能的商业应用的发展方向。

关键词: 基于内容的视频信息检索; 镜头边缘检测; 关键帧提取; 特征描述

1 引言

1.1 背景

伴随着信息时代的到来,计算机技术和网络技术的发展,海量的信息在全球被采集、传输、流通和应用。特别是数码照相机、数码摄像机等数字化产品的出现,让图像和视频进一步成为人们喜闻乐见的信息交流方式。据统计,人类获取的信息80%是通过视觉获取的, 而其中视频信息直观、生动,是人类生活中最有效的交流方式,而这对我们管理视觉信息的方法提出了更高的要求。例如,在公安部门查看犯罪现场的录像时,办案人员查找某些镜头来确认犯罪人员的出现和离开时间,在没有行之有效的视频信息检索方法的情况下,就需要有经验的办案人员到录像库逐一搜寻视频的拷贝,然后花上数小时人工来回浏览录像,查找和选定要用的特定镜头,工作效率很低。所以对于高效的视频检索系统,必须具备视频自动检索功能。

视觉信息有其自身的特点那就是数据量大,抽象程度低,所以视觉信息膨胀带来的问题也非常严重,也正是由于这种情况,很多视频信息因无有效的检索技术导致信息无法及时处理而浪费,特别是在竞争激烈的当今,如何有效的描述视觉信息、如何实现基于内容的信息检索成为各部门的研究热点。

1.2 技术概要

在基于内容的信息检索中,基于内容的视频信息检索必将成为科研人员必须解决的问题之一。文献[1]介绍了基于内容的视频信息检索实现的基本方法,通过对非结构化的视频数据进行结构化分析和处理,采用视频分割技术,将连续的视频流划分为具有特定语义的视频片段———镜头,作为检索的基本单元,在此基础上进行代表帧的提取和动态特征的提取,形成描述镜头的特征索引:依据镜头组织和特征索引,采用视频聚类等方法研究镜头之间的关系,把内容相近的镜头组合起来,逐步缩小检索范围,直至查询到所需的视频数据,按照用户要求返回给用户。其中镜头检测技术、镜头聚类技术、视频数据库组织和索引技术、基于运动特征的视频检索技术、面向查询的特征提取和匹配技术及显示和交互技术是视频检索中的关键技术,如何处理好这些问题,直接关系到视频检索系统的性能,这也是当今的研究热点问题。

1.3 商业运用

在当今的时代,视频检索系统在商业上渐渐得到青睐,正如新闻报道“视频搜索精准竞速 技术元年开启[2]”所阐述的那样,当今越来越需要准确的检索视频,我们将迎来一个新的技术元年。视频信息检索技术将在各个行业上得到运用,不管是安防还是破案又或者是广告的投放,这都将会是一个新的市场,随着视频信息检索技术的成长,“海量视频检索离安防监控还有多远?[3]”将不再遥远,正确的应用该技术,将为我们的安防提供更可靠的支持。新的广告投放方式“有趣的视链技术[4]”将变成主流,而与之对应的的新的营销方式“视链广告打开视频营销新空间 [5]”将改变大家以往的思维模式。可以这么说,当今的视频行业的发展,催出视频信息检索技术的发展,同时也将影响着该技术在商业上的运用,其产生的价值和展现出的市场前景,将值得期待。

2 基于内容的视频信息检索系统

下图是基于内容的视频检索系统的工作框架图[6]

 

图1  基于内容的视频检索系统工作框图

我们可以看出,用户使用可视化的界面操作,可选择三种不同的方式进行检索,如范例查询、文字查询、视觉浏览等。用户通过一个关键字或者关键内容的键入,系统根据此查找多维索引,通过在线的数据库的匹配,自动提取特征,这种特征可以使纹理、图像颜色、物体形状等等。然后通过在线的相似度匹配可以得到用户需要的信息。离线时,可以通过标引员进行手工的标引。其主要特点如下:

( 1) 基于内容的检索直接对视频数据库中的图像、视频、音频内容进行分析,抽取特征和语义。对视频信息的描述更加具体、客观和全面。利用这些内容特征建立索引进行检索准确率会大大提高。

( 2) 基于内容的视频信息检索为我们提供了更多的视频内在信息, 比如视频段的运动活动性、摄像机运动方式或者是关键帧的主颜色、纹理特征等重要信息, 并且这些信息都可以作为视频信息的特征值进行匹配查询。

( 3) 基于内容的视频信息检索为我们提供了多样灵活的检索方式。我们既可以上载一段关于日出的视频或是仅仅上载一幅有关日出的图像,来查找视频数据库中与日出相关的视频信息,也可以通过一幅手工画出的日出草图对视频数据库中的视频信息进行查询,这些查询方式在传统的检索系统中是无法想象的。

3 基于内容的视频检索系统的实现方式

3.1视频信息的特征

一、关键帧

关键帧是计算机动画术语,帧——就是动画中最小单位的单幅影像画面,相当于电影胶片上的每一格镜头。在动画软件的时间轴上帧表现为一格或一个标记。关键帧——相当于二维动画中的原画,指角色或者物体运动或变化中的关键动作所处的那一帧[7]。关键帧与关键帧之间的动画可以由软件来创建,叫做过渡帧或者中间帧在一组连续运动的镜头中,通过分析每个镜头的光流量,找到的变化最小的那个镜头。这便是关键帧。在视频信息中,人们常用关键帧来标识场景、故事等高层语义单元。

二、镜头

影视中所指的镜头,并非物理含义或者光学意义上的镜头,而是指承载影像、能够构成画面的镜头。镜头是比帧更高级的视频基本单元,镜头是组成整部影片的基本单位。若干个镜头构成一个段落或场面,若干个段落或场面构成一部影片。因此,镜头也是构成视觉语言的基本单位。它是叙事和表意的基础。在影视作品的前期拍摄中,镜头是指摄像机从启动到静止这期间不间断摄取的一段画面的总和;在后期编辑时,镜头是两个剪辑点间的一组画面;在完成片中,一个镜头是指从前一个光学转换到后一个光学转换之间的完整片段[8]

三、切换

它是镜头间最常见的过渡方式, 表现为在相邻两帧间发生突变性的镜头转换。

四、视频段落

在时间上连续的镜头是相关的, 因为这一组镜头是一个情节。显然, 视频段落是一种比镜头具有更高抽象层次的结构。

3.2 实现方式

基于内容的视频信息检索系统主要通过以下三种方式实现:

(1) 基于图象的方式:将视频资料进行镜头检测和关键帧提取后,用镜头的关键帧来代表镜头。通过对关键帧的特征提取( 如: 纹理、直方图等) 以及手工注释的方法来实现对视频信息的内容描述。在检索端通过对视频信息关键帧的匹配来实现对视频信息的检索。在前面提到的视链广告便是其中应用之一。

 

图2 视链技术的实现

(2) 基于视频的特有信息: 先将视频信息中包含的视频特有信息( 如: 主运动方向、运动矢量等) 提取出来, 然后用一定的算法对提取出的数值进行处理, 将得到的数据作为视频资料的内容描述。检索端通过对特征数据的匹配来实现视频信息的检索。

(3) 图象和视频的特有信息相结合: 具体思路就是将方法( 1) ( 2)有效的结合起来实现视频信息的检索。

4 检索系统的模块功能和相关技术

视频信息检索就是对视频信息的处理和加工,而基于内容的视频信息检索系统的主要结构如下图所示。

 

我们可以看出,这个系统主要实现特征的发现,相似性比较,最后访问数据库得到用户所要的返回结果。而从对视频信息处理流程的角度,视频信息检索主要分成三个部分: 视频的预处理、镜头处理和视频描述,下面将针对这三个部分展开讨论。

4. 1 视频预处理

视频预处理部分其实只包括一个功能:读入视频资料,但是这部分的功能也是很重要的。在当今的时代,由于监控设备行业的门槛比较低,所以各种公司并存,而每个公司所使用的录像存储格式又各不相同,用的播放器也是五花八门的,这就给读取视频带来一定的困难,这也是首先必须解决的问题,概括起来只有一句话: 载入各种格式的视频资料,并将视频资料上载到视频资料数据库中。这一部分存在着很大的技术障碍,必须解决视频的存储格式、编码问题。

视频资料的载入

基于内容的视频信息检索,首先要面对的是海量的信息量,这种海量不仅仅体现在其容量大得惊人,也同样体现在视频的格式编码不尽相同、良莠不齐。根据百度百科资料[9]显示光视频的大的编码分类就有多达9种,各种编码的方式也不同。为了能将如此多种类的视频资料读入到数据库中进行处理,预处理部分必须具备以下功能:

(1) 将模拟信号数字化,压缩数字化后的数据并进行存储。

(2) 对应于每一种格式的数字信号都要有相应的解码器进行解码。

(3) 为了对视频信号做进一步的处理, 例如存储、格式转换, 预处理模块要具有相应的编解码和转码功能。

4. 2 镜头处理

在基于内容的视频信息检索系统中镜头处理是最重要的一部分,只有利用了视频资料所包含的特有的视频信息才能使检索系统得到更加符合人们需求的检索结果,而大部分视频特有信息正是在这部操作中被提取出来。镜头处理部分完成的功能是将视频资料分割成镜头并进行相应的处理,这部分包括: 镜头检测、关键帧提取和视频聚类。

4. 2. 1 镜头检测

正如我之前分析的,视频主要由一个个镜头连接而成。镜头实际上是一段时间的视频信号,在这段时间内,摄像机可以由各种运动及变焦等操作,但没有摄像机信号的中断,因此,一段镜头内的图像不会有大的变换。故而镜头既能反映出这段视频拍摄时的特征信息,也能反映后期制作中所加入的编辑信息,所以一般认为镜头是视频的基本物理单元。

首先要做的就是确定一个镜头的开始和结束,自动地实现镜头的分割,形成最基本的索引单元,我们称之为镜头的边界检测。在此之前我们需要了解,镜头之间的基本切换方式,这是对镜头进行边缘检测的首要条件,常见的切换方式有:突变(切变) 和渐变(如叠化、淡入、淡出等)。镜头边界检测方法可分为模板匹配法、直方图法、基于边缘的方法和基于模型的方法等。此外在面对不同的视频格式,如数字视频、模拟视频抑或压缩与非压缩视频时,又要考虑更多的因素,这里面也涉及了更多的技术。

4. 2. 2 提取关键帧

帧是构成镜头的基本部分,而关键帧又是一个镜头序列中包含这个镜头最重要信息的代表帧,其基本上能够代表这个镜头反映的所有的信息,进而我们可以将对镜头的检测和提取,变成对帧的处理,因为在对帧的处理技术,已趋于完善,各种理论也详尽。这样便巧妙的实现了转换。

随着而来的问题是,如果去确定一个镜头的关键帧,成为了一个难点。通常我们要求关键帧必须具备以下的几个条件:(1)关键帧必须能够准确完整地反映镜头的主要事件;(2)为了便于后期的数据处理,我们提取的关键帧数据量应尽量少且不宜太复杂。

在文献[10]中提及了几个关于关键帧的选取方法,其介绍了比较经典的有帧平均法和直方图平均法。这些方法对于提取关键帧有着可观的作用。

(1)帧平均法

其基本思想是从镜头中抽取所有帧在某个位置上像素值的平均值,然后将镜头中该点位置的像素值最接近平均值的帧作为关键帧

(2)直方图平均法

将镜头中所有帧的统计直方图取平均, 然后选取与该平均直方图最接近的帧作为关键帧。

但是不管是哪种方法,都存在着一定的缺点。

4. 2. 3 视频聚类

在对镜头进行分析后,我们主张进行视频的聚类。之所以进行视频的聚类,主要是基于以下的考虑。

首先,一段视频可能很大,包含了很多个镜头,如果单一的对每一个镜头都进行分析,那将会是很大的工作量,不仅如此,单一的处理镜头,也将会失去视频的时间性、运动性和连续性。但是如果将相似的镜头组织在一起,则是对视频信息的进一步抽象。用户可以通过视频聚类得到的结果对视频段进行快速的浏览,同时这也可以作为检索的结果反馈给用户这丰富了检索结果的形式,这对于用户来说是极大的便利。

其次,镜头聚类也是对视频数据的进一步压缩。虽然已经实现了利用镜头的关键帧来代表镜头,利用关键帧技术,实现对视频的处理,但是从图象访问的角度来看,数据量还是太大。假如一个故事场景可分成600~ 1500个镜头,那就是有600~1500个关键帧,如果一个连续剧有50集那至少也有3000~750000个关键帧。倘若我们再将这个连续剧的数字扩大到电视剧库,那也将会是一个庞大的数字,海量的关键帧,这对以后的视频描述和数据库处理都将是个难题。但是通过视频聚类可以实现,同属一个分类的关键帧实现聚类,缩小检索的范围,提高检索的效率。

4. 3 视频检索的实现

在实现了视频片断被分割成独立的镜头以后,只是完成了对视频片断的初步加工。我们还无法对镜头和关键帧进行检索,原因是还没有为之设置一个匹配的标准,这个时候需要我们提取视频片断的特征值并将特征值按标准进行描述,之后我们才能实现对视频的检索。

4. 3. 1 提取特征值

镜头是视频检索的最小单位。视频分割成镜头后,就要对各个镜头进行特征提取,得到一个尽可能充分反映镜头内容的特征空间,这个特征空间将作为视频聚类和检索的依据。

视频数据的特征分为静态特征和动态特征

²  静态特征提取

Ø  静态特征的提取主要针对关键帧,可以采用通常的图像特征提取方法,如提取颜色特征、纹理特征、形状和边缘特征等。由于数字图像处理的知识由于不是本文的重点所以不做阐述。

²  运动特征提取

Ø  视频数据的运动特征,主要反映视频数据的时域变化,而且往往是用户检索时所能给出的主要内容,例如用户可能要求检索有变焦的视频片段,或者在监控系统中检索某个对象从画面上消失的关键帧。因而对视频数据进行特征提取必须研究其运动特征。由于运动特征无法从一幅静止图像中获得,故必须对视频序列进行分析。运动分析的方法有X 线断层分析,它把一个镜头的视频序列看成一个整体,通过对这个序列沿时间轴进行切片,从而得到x- t 切片图像和y- t 切片图像。然后分析切片图像,即可以得到镜头的运动情况。

5 存在的问题及应用前景

基于内容的视频检索系统能够使用户通过自己输入的视频特征来实现快速有效地浏览和播放视频文件,所以基于内容的视频检索系统有着极其巨大而且美好的应用前景。

当前也存在着一些问题急需解决:

(1)面向查询检索的特征提取与匹配[11]

目前,基于特征检索的视觉信息提取受限于多媒体对象的底层特征:如图像的颜色、形状、纹理等, 动态视频内容的查询大部分只集中在运动对象形状、运动轨迹等运动特征这一层次的查询上, 这种建立在低级特征基础上的模型主要存在两个问题:1)查询过程不够直观, 对于初次接触该系统的人来说很难使用这种系统。他们更希望能避免使用特征来描述内容, 而直接用语义层次的查询方式。2)特征本是缺乏语义的, 所以即使对特征测度的良好匹配也不能保证检索结果会如用户所期望的那样。由于上述的原因, 系统的操作及其输出都和用户的查询要求以及对系统的期望有相当大的距离。

(2)视频库的组织和索引

多媒体信息是非结构化的,对这些非结构化的数据要结构化才能有效地进行利用。使视频数据从线性的无组织状态转化成容易进行高层处理的有组织的数据,对实现基于内容的检索至关重要。而目前的索引结构模型通常都是停留在对镜头提取关键帧或注释镜头的方法上。

(3)确定一个客观的评价基于内容的视频检索系统的标准。

我们知道任何一个系统都需要一个详尽的标准,进行合理地规范,但是目前的发展情况来看,视频检索系统还未形成一个可靠、通用的标准。

(4)尽快实现视频描述的标准化、通用化、商品化

在该技术在发展之期,希望视频的描述能够实现标准化,通用化。并且利用该技术实现商业上的运用,如前文提到的视链技术,根据目前的情况了解,我们知道投入视链广告的企业并不多,这也说明了该项技术并不是特别的完善,还需要我们进一步的研究和改进。

参考文献:

[1]孙树生,黄焱.基于内容视频信息检索系统的分析研究[M] 电视技术,2006:85~85

[2]吕静.视频搜索精准竞速技术元年开启[DB/OL]. http://tech.qq.com/a/20120414/000080.htm

[3]陈薇荔.海量视频检索离安防监控还有多远[DB/OL].http://www.cps.com.cn/secu/jsqy/2011/0929/2NMDAwMDI5MTQ2Ng.html

[4]北京商报社多媒体数字报刊[DB/OL]. http://www.bjbusiness.com.cn/site1/bjsb/html/2012-03/30/content_170510.htm?div=-1

[5]吴清华.视链广告打开视频营销新空间[DB/OL]. http://www.01ny.cn/article-175526-1.html

[6]胡吉明.浅析基于内容的视频信息检索技术[M] 图书馆研究,2004

[7]mini_smile.关键帧[EB/OL].http://baike.baidu.com/view/585654.htm

[8]luoyi529.镜头[EB/OL]. http://baike.baidu.com/view/163723.htm

[9]tingyu527.视频格式[EB/OL]. http://baike.baidu.com/view/2272.htm

[10]杨有山,张秀丽.基于内容的视频信息检索[M] 自然科学出版社,2004

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于内容的视频信息检索系统 的相关文章

  • 大型网站架构改进历程:存储的瓶颈

    编者按 本文转自博客园的 夏天的森林 在看这篇之前 大家可以移步看 大型网站架构改进历程 存储的瓶颈 一 二 三 四 上文里我遗留了两个问题 一个问题是数据库做了水平拆分以后 如果我们对主键的设计采取一种均匀分布的策略 那么它对于被水平拆分
  • OpenCV2.4.13+VS2013开发环境配置

    转载自 http blog csdn net SherryD article details 51734334 List1 完成 写在前面 之前电脑很杂乱的装了OpenCV的2个版本 在配置OpenCV和VS2013环境时死活配不好 但是接
  • 使用python将视频切分为图片

    coding UTF 8 import cv2 import numpy as np import random import os 定义保存图片函数 image 要保存的图片名字 addr 图片地址与相片名字的前部分 num 相片 名字的
  • 【看后必会】一步步教你用React写一个markdown实时编辑器!

    1 实现效果 最近在用React写一个博客管理系统 有一个功能是添加新文章 在新建文章的页面 我希望做到像CSDN这样 左边是编辑区 markdown格式 右边是预览区 实时更新 编辑文本的同时 在预览区就能看到效果 就自己动手实现了一个这
  • 修改网站图标以apache tomcat为例

    路径在 opt apache tomcat 9 0 6 webapps ROOT 把该路径下的favicon ico文件换成自己的 名字必须也是要favicon ico
  • 记一次通过binlog日志恢复MySQL数据库的经历

    通过binlog日志恢复MySQL数据库的数据 一 起因 起因是我在自己服务器上搭建的博客被黑客攻击 黑客删除了我的数据库并且要求支付比特币才给我恢复 博客所有的表和数据都被清空 只留下了勒索金额和地址 如图 穷鬼如我当然是 二 恢复数据
  • simple and useful command lines

    pip list grep package name 显示获取已安装包的信息 包名与版本号 pip show package name 能显示该安装的包的相关信息 其中包括它的安装路径 实际上包通常被安装在python安装目录下的lib s
  • 小爱控制HA上的开关(红外线)

    小爱同学控制homeassistant in 树莓派 by 红外线 前言 租了房子以后一直想搞智能家居自动化各种事情 最近终于腾出空可以搞辣 研究了一圈感觉拆开关太麻烦了 零火线还要撬开关 租的房子不敢瞎搞 想了一下可以用arduino 树
  • 项目研发心得总结

    前言 近期因学校实验室项目需求 组建6人小团队研发一个网站 框架采用 NET MVC EF 数据库为SQL Server 简单总结一二 一 数据库设计方面 网站的根基 数据库 最开始源自于和甲方进行需求沟通 由于甲方节奏较缓慢 在未完全确定
  • chm文件打开后,只能看到目录,不显示内容解决方法

    右键单击对应chm文件 选择 属性 打开 常规 选项卡 点击 属性区域 的 解除锁定 文件即可打开 并查看内容
  • LCD操作原理

    一 LCD原理介绍 LCD内部内部结构 1 lcd由Framebuffer lcd屏幕 信号线 电子枪 lcd控制器组成 2 Framebuffer提供显示数据 lcd屏幕显示 信号线传输Frambuffer中的数据和lcd控制器发出的信号
  • 解决mysql忘记密码无法登陆问题

    当我们忘记mysql密码的时候我们不仅无法访问数据库 也无法修改密码 这是个很头疼的问题 下面是跳过用户验证登陆数据库的小技巧 第一步 打开我们安装mysql的目录 复制 D PhpStudy PHPTutorial MySQL bin 地
  • 用例模型与概念模型的区别和联系

    1 首先研究它究竟是什么 what 三者的定义 用例 即use case 一种描述系统需求的方法 用例建模 使用用例的方法来描述系统需求的过程 概念模型 是现实世界到机器世界的一个中间层次 2 怎样关联的 how 分析业务过程 建立用例模型
  • 解决keil文件用vscode打开乱码

    打开用户设置 输入encoding 勾选Auto Guess Encoding 如图 就可以自动识别文件的编码了 这样打开GBK和UTF8编码的带中文的文件 就不用手动切换编码了 在vscode文件中可以设置自动保存 你就不用手动ctrl
  • sonar scanner配置

    sonar scanner配置 这里记录如何配置sonar scanner扫描C C 项目代码 话不多说 先上官网链接 文章目录 sonar scanner配置 1 环境 1 1 SonarSource Build Wrapper 1 2
  • Java基于Selenium动态抓取页面

    Java基于Selenium动态抓取页面 前情介绍 解决 思路 编码 解决过程中遇到的问题一 解决过程中遇到的问题二 总结 前情介绍 前段时间开发了一个功能 通过HttpClient访问某个页面 获取页面的全部html内容 之后通过抓取过来
  • visual studio code 2019远程连接服务器

    一 安装sftp 二 配置sftp 按住ctrl ship p键 得到以下画面 选择SFTP Config 当右下角出现 意思时需要一个文件夹 点击open folder后 选择或者创建一个文件夹 再回来按住ctrl shif p就会看到一
  • fatal: unable to access ‘https://github.com/xxx‘: Failed to connect to github.com

    执行这两行命令 端口号改成自己代理服务器的端口 我的是7890 git config global https proxy 127 0 0 1 7890 git config global http proxy 127 0 0 1 7890
  • git revert讲解

    git的工作流 工作区 即自己当前分支所修改的代码 git add xx 之前的 不包括 git add xx 和 git commit xxx 之后的 暂存区 已经 git add xxx 进去 且未 git commit xxx 的 本
  • visio2016上下标

    之前的visio版本是有上下标的快捷按钮的 但是在visio2016中没有了 需要选中文字之后在 字体 选项卡 点击右下角的小箭头 在 位置 中选择上下标 或者使用快捷键 选中要成为上标的文字 ctrl shift 选中要成为下标的文字 c

随机推荐

  • 计算机系统(一)——冯诺依曼体系

    现代计算机的基本结构是由冯诺依曼提出的 冯诺依曼的体系结构体系如下图所示 计算机由运算器 控制器 存储器 也就是内存 输入设备 输出设备五大部件组成 其中运算器和控制器组成cpu 在冯诺依曼体系中 数据先从输入设备输入到内存中 运算时数据从
  • 解决使用SpringBoot上传文件大小受限问题

    今天在做项目学习的过程中 需要用到文件上传 启动项目正常 访问上传post请求突然报出了一个异常 特此记录一下 1 控制台异常 org springframework web multipart MaxUploadSizeExceededE
  • 一起赚美元①

    译者 一只椰子 知识星球链接 https t zsxq com iAiIyfm 本文的主人公叫迈克 他在采访里面提到 自动化工具这一法宝已经轻松帮他实现每个月 12 5万美元的利润 对他而言 年入100万美元 根本不是梦 1 主人公简介 我
  • 看完这篇,成为Grafana高手!

    背景 QQ直播前端团队接入腾讯云前端性能监控 RUM 后 对目前的监控能力以及上报数据进行了梳理 并着手进行了前端性能监控的专项建设 其中监控数据大盘建设是不可或缺的一环 可视化的监控大盘可以清晰明了的观察到各项目运行情况 宏观上能快速进行
  • 【ESP32S2】使用ESP32S2开发板制作U盘,支持无线访问

    文章目录 前言 一 开发环境 二 硬件介绍 三 下载esp idf 四 下载esp iot solution 五 配置idf 1 执行下载脚本 2 设置环境变量 3 声明外部组件 六 构建例程 七 烧写Flash 八 使用方法 九 感谢 前
  • 深度学习之Python,OpenCV中的卷积

    这篇博客将介绍图像内核和卷积 如果将图像视为一个大矩阵 那么图像内核只是一个位于图像顶部的微小矩阵 从左到右和从上到下滑动内核 计算输入图像和内核之间的元素乘法总和 称这个值为内核输出 内核输出存储在与输入图像相同 x y 坐标的输出图像中
  • 3D游戏第九次作业

    3D游戏第九次作业 1 血条 Health Bar 的预制设计 具体要求如下 分别使用 IMGUI 和 UGUI 实现 使用 UGUI 血条是游戏对象的一个子元素 任何时候需要面对主摄像机 分析两种实现的优缺点 给出预制的使用方法 IMGU
  • 2、为什么选择URP

    为什么选择URP 现在所在项目为SLG类项目 有同屏200 英雄的需求 Unity传统渲染管线的动态批处理有个限制是Skined Mesh Renderer不能进行动态批处理 英雄如果不采用Skined Mesh Renderer又不能满足
  • C++实现简单的固定大小内存分配器

    背景介绍 最近在了解性能优化相关的知识 了解到内存分配是一个可优化性能的方向 在相关书籍中看到一个固定大小的内存分配器实现 觉得挺有意思的 这里跟大家分享 据说比通用的内存分配malloc 性能有不少提升 源码实现 这里的代码是根据 c性能
  • Java会话技术

    会话技术 会话指的是客户端浏览器和服务端之间的度偶次请求和响应 当打开浏览器 访问网站地址后 会话开始 当关闭浏览器 或者到了过期时间 会话结束 就像打电话只要不挂电话就是一次会话 会话过程中产生的数据可以通过会话技术Cookie Sess
  • 抖音Scheme全网最全,startActivity地址

    例子 部分参数可省略 跳转主页并关注 snssdk1128 user profile 72673737181 refer web gd label click wap profile bottom type need follow need
  • oracle值相等时排序规则,Oracle中排序列中值相同引发的问题

    有个表 表名是Policy 有三个字段 a b c 这个表有两行 c列中的数据始终为0 我运行一下的sql语句 这个问题在Oracle的新闻中心被提出了一段时间 有个表 表名是Policy 有三个字段 a b c 这个表有两行 c列中的数据
  • vue element ui table 过滤功能实现

    Element UI代码
  • python中的list如何深度拷贝

    在 Python 中 可以使用 copy 模块中的 deepcopy 函数来进行深度拷贝 示例 import copy original list 1 2 3 4 5 6 7 8 9 copied list copy deepcopy or
  • c++全局变量的使用方式

    c 全局变量的使用方式 在cpp文件中定义 在头文件中定义 在cpp文件中定义 主函数中的使用 extern int aa extern int bb 在头文件中定义 在主函数中 在 h文件中声明 需要加extern关键字 在 cpp文件中
  • Linux环境下gcc编译链接库-lz -lrt -lm -lc都是什么库?

    编译链接库 lz lrt lm lc都是什么库 lz 压缩库 Z lrt 实时库 real time shm open系列 lm 数学库 math lc 标准C库 C lib dl 是显式加载动态库的动态函数库
  • Linux下ImageNet2012数据集下载及其配置

    简明扼要 一 训练集下载 137G http www image net org challenges LSVRC 2012 nnoupb ILSVRC2012 img train tar 验证集下载 http www image net
  • FCN模型训练中遇到的困难

    FCN模型训练中遇到的困难 标签 深度学习FCN神经网络caffe 2017 02 24 10 54 2675人阅读 评论 6 收藏 举报 分类 深度学习 18 版权声明 本文为博主原创文章 未经博主允许不得转载 前前后后大概忙了3个月了
  • 嵌入式数据库sqlite3【进阶篇】-子句和函数的使用,小白一文入门

    更多信息请关注公众号 一口Linux 在 嵌入式数据库sqlite3 基础篇 基本命令操作 小白一看就懂 一文中讲解了如何实现sqlite3的基本操作增删改查 本文介绍一些其他复杂一点的操作 比如where order by having
  • 基于内容的视频信息检索系统

    基于内容的视频信息检索系统 汪志强 江西财经大学信息管理学院 09信息管理与信息系统2班 摘 要 本文从基于内容的视频信息检索技术的发展历史出发 对基于内容的视频检索系统的技术要点及主要的功能模块进行了讨论和分析 并说明了当今技术存在的缺陷