刘昊

来自CGTWiki
跳转至:导航搜索
刘昊证件照.jpg

个人简介

生于1999年4月14日,籍贯黑龙江省齐齐哈尔市拜泉县。

2016级    北京邮电大学     信息与通信工程学院          信息工程             本科
2020级    北京邮电大学     信息光子学与光通信研究院    电子科学与技术       研究生

主要从事三维显示和计算机图形学方面的工作.

Liu Hao is studying for a bachelor's degree in Information Engineering at Beijing University of Posts and Telecommunications. He is currently engaged in 3D display and computer graphics.

Tel: 15501277678
Email: haoliu@bupt.edu.cn
CET4:428 CET6:408

电脑配置:

	
电脑型号	X64 兼容 台式电脑 

操作系统	Windows 10 专业版 64位 ( DirectX 12 )
	
处理器	英特尔 Core i7-8700K @ 3.70GHz 六核 (一键超频)

主板	华硕 PRIME Z370-A ( Z370 芯片组 )

内存	16 GB ( 金士顿 DDR4 3000MHz )

主硬盘	三星 SSD 860 PRO 256GB ( 256 GB / 固态硬盘 )

显卡	Nvidia GeForce GTX 1070 ( 8 GB / 影驰 )

显示器	SAMAUNG S24E390

声卡	瑞昱  @ 英特尔 High Definition Audio 控制器

网卡	英特尔 Ethernet Connection  I219-V / 华硕

任务进展

早会

8.19--8.20 整理移植615全屏UI功能,在新UI中移植矢量符号加载功能。
8.23--8.25 继续整理移植615全屏UI功能,新添加了二三维矢量切换的功能。
9.6--9.8 将添加的矢量符号写入xml中。
9.9 添加从xml中删除矢量符号,准备615需要的地图数据并编写地图数据的下载、整理和发布的流程。
9.10 完成矢量符号的删除功能,添加在列表中选中矢量名称,让地图上对应的矢量高亮功能。
9.13 按照可以更换矢量的思路改写添加矢量标号功能,根据选择添加对应的模型;修复切换时鼠标点击地球的问题。
9.14 计划解决自定义添加矢量符号的接口。
9.16 将需要的二维矢量模型需求提交给美工;继续完善加载矢量的功能。
9.23 寻找的三维模型大小不一,需要将模型统一大小;缩小部分模型是出现了纹理丢失的问题正在寻找原因。
9.24 解决在相机移动时,二维矢量与地球的地形重叠是发生闪烁的现象。

还未解决的问题列表

大模型的pagelod化

unity 加载倾斜摄影的数据

2021年

九月份

24日

  • 将二维矢量面和三维的模型加入场景。

23日

  • 将找到的20个三维矢量模型和画的20个二维矢量加到地球上,还需调整以便获得更好的显示效果。
20个三维矢量模型

14日

13日

  • 解决了二三位矢量切换过程中未选中矢量选中地球时的卡死bug,具体是在模型外添加一个osg的包围盒,点击后进行碰撞检测时就无需寻找点中的节点,可以直接通过选中的包围盒控制矢量的显示和隐藏。

六月份

24日

  • 加载国界线和省界线

17日,加载矢量数据

  • 将矢量数据上传至GeoServer服务,并在osgEarth文件中成功调用矢量数据。
加载矢量效果图

四月份

25日,Unity加载osgb倾斜摄影数据

Unity加载倾斜摄影数据

3日,Unity中未能成功加载osgb倾斜摄影数据

  • Unity中加载倾斜摄影数据,能看到模型的形状如下图,但报错(Unable to read beyond the end of the stream)依然没有解决。
Unity加载osgb加载效果

三月份

osg、osgearth编译未成功

3.29

  • 编辑了osg3.6.3,在使用编译好的3rdparty时,发现第三方库缺少freetype271d.pdb,编译时会警告如下,加上文件就好了。编译osgearth还是报错未解决。
编译osg3.6.3报错

3.26

  • 编辑osgEarth2.9版本报错,配置的库有gdal、curl、sqlite3、goes四个,暂时没找到问题所在。

unity3D利用mx插件成功加载成武化工园区倾斜摄影

3.21 unity3D加载成武化工园区倾斜摄影(文件大小7G),显示分辨率1920*1080,在加载模型时帧率15帧左右,加载完成时帧率可以接近20帧。

一月份

1.28 重要结论:GPUinstance程序加载百万面片数模型的显示效果在十几帧左右,相比正常程序加载大规模数据模型优势不大。

不同面片数、分辨率对帧率的影响测试结果图:

不同视点数下模型面片数对帧率的影响.png
不同面片数单视点分辨率对帧率的影响.png


1.25 重要测试结果:GPUinstance可以加载带有纹理的osgb猴字模型(3936个三角面片);帧率在不放大可达到144帧,放大后会下降到50帧。

  • 碰到的问题:
  1. 开始导出的模型没有纹理,程序跑不通;给模型贴了纹理后,GPUinstance可以正常运行。
  2. GPUinstance在我的电脑上依然没有跑通,程序正常运行,没有bug,但是不显示模型。
  3. 模型放大帧率会下降明显。
  • 下一步计划:
  1. 寻找程序问题,跑通GPUinstance程序。
  2. 测试在不同三角面片数条件下的帧率情况和不同分辨率以及视点数情况下的帧率。

1.21

  • 配合张泷师兄测试使用GPUinstance调用osgdem生成的数据。

1.17

  • osgdem生成的osgb文件的目录和名称与倾斜摄影文件的目录和名称不同,目前的办法只能修改转格式工具的代码。

1.11

  • 根据全球第八、十层高程数据生成球形地形,第八级地形文件可以显示市级名称,第十级数据可以显示到乡镇名称。但是在第十级数据中出现了中国区域与其他区域显示亮度明显不同的问题,使用其他的软件无法打开第十级的源数据,怀疑是原本数据的问题。

1.7

  • 处理全球第八层高程数据,建立地形。
全球第八级数据.png

1.4

  • 基于osg3.6.3编译了osgdem文件:VPB.zip,从水经注上下载了北京市的高程数据进行测试,没有找到纹理数据,测试结果如图。
北京市地形.png

2020年

十二月份:安徽电力项目

12.8

  • 计划:生成并保存多视点图像(8K以上),进行(r,g,b)三通道分别编码。

12.7

  • 计划:有一个bug,漫游时视角朝向不变,解决这个问题。
  • 总结:解决了视角不变的问题,设置了漫游速度。

12.6

  • 计划:先做插值处理数据,按照数据让相机在场景中自动漫游。
  • 总结:完成自动读取储存好的数据,进行场景漫游。

12.5

  • 计划:将师兄做好的路径漫游并生成保存多视点图像(8k以上)加到模型中,进行(r,g,b)三通道分别编码。
  • 总结:完成读取exccel表格中数据。

12.4

  • 计划:调整光场模型,编写脚本输出五个数据(摄影机位置,朝向,向上矢量,相机间距,人眼到零平面距离)
  • 总结:完成脚本,记录以上数据。

12.3总结

  • 已经完成双视点立体shader,陈莹莹师姐给的光场摄像头脚本也加到模型中,计划调整模型,记录关键帧。

十一月份

11.28

  • 完成测试Unity下加载倾斜摄影数据,帧率平均在30帧。

11.15

十月份

10.20

10.11

八月份

8.30

  • 修改绘制专利图片
  • 测试帧率(发布版本帧率约为19帧)

8.23

  • 跑通了人脸关键点标记模型,HyperLandmark
  • 完成了专利一种三维模型检索方法,已上传ONLYOFFICE

8.16

  1. 信通院郭军团队网络搜索教研中心:Web多媒体搜索与挖掘 (陈光老师做网络搜索、信息检索及图像识别方向)
  2. 网研院网络研究中心:基于内容的多媒体检索(多媒体语义覆盖网络与跨媒体检索和分布式检索系统构建与优化)
  3. 计算机学院: 王晓茹老师(精准搜索与大数据数据挖掘) 冯方向老师(跨模态检索) 姜美玉老师(精准搜索和推荐)

学习笔记

C++

  • question one

关于int main( int argc, char* argv[], char **env )中arg和argv参数的解析及调试

参数 类型 具体作用
int argc int 用来统计程序运行时发送给main函数的命令函参数的个数,VS中默认为1
char*argv[] 字符串数组 用来存放字符串参数的指针数组,每一个元素指向一个参数
cha**env 字符串数组 使用较少


针对第二个参数:

       argv[0]指向程序运行的全路径名 
       argv[1]指向在DOS命令行中执行程序名后的第一个字符串 
       argv[2]指向执行程序名后的第二个字符串 
       argv[3]指向执行程序名后的第三个字符串 
       argv[argc]为NUL

调试方法

  1. 在cmd中调试.exe程序,在.exe后加入要输入的命令行数据(例如字符串,文件)。
  2. 在VS项目中依次打开【项目】—>【属性】—>【调试】—>【命令参数】->输入命令行数据,如多个字符串参数,需要用空格隔开。
  3. 最简单的方法就是在不变动原始程序的基础上,将与argc或argv有关的代码注释或替换掉。比如将“Mat Image=imread(argv[1]);”替换成“Mat Image=imread(“1.jpg”);”。

OSG

绘制几何体

2020年终总结

工作总结:

  • 1.调研人脸关键点标记模型,测试运行帧率(8月)
  • 2.撰写了一篇专利。(9月)
  • 3.解决了在光场设备上显示大规模倾斜摄影数据的问题。(11月)
  • 4.学习并编写记录unity相机坐标姿态,并自动漫游的脚本。(12月)
  • 5.完成安徽电力项目的模型展示、自动漫游、雷电效果等。(12月)

占用资源:

  • 1.一个学硕名额,感谢实验室各位老师的信任与栽培。
  • 2.一个实验室工位,研一工位时分复用。

自我评价:

  • 1.总结进入实验室半年的时间里,功劳与苦劳约等于占用资源。
  • 2.求学长路漫漫,吾将慢慢思索。