- 博客(79)
- 资源 (11)
- 收藏
- 关注
原创 Stable diffusion Qrcode二维码设计
参观完回家,想买几个欧洲建筑摆设,可惜没搜到合适的。要不先设计几个建筑二维码,过过眼瘾。然而,AI设计二维码的技术还在发展中,效果还不是特别完美。但至少,下面贴出来的二维码都支持微信扫一扫和长按识别。端午假期逛了东莞的华为欧洲小镇,发现自己非常喜欢欧洲建筑的宏伟壮观(可能跟青少年时常玩中世纪题材的游戏😂)。感兴趣可加微信沟通。
2023-06-24 22:48:21 229
原创 【制作数字人】零门槛通过三维重建技术生成个人三维模型
听起来是很高深的技术,实际上也确实是一门很高深的技术。入门的第一步,是不是都很想使用捏脸技术,捏出自己的样貌。但要知道,这种原始的捏脸技术,效率太低了,如果没有美术专业背景和米开朗基罗的雕琢技术,估计捏一周也不会满意。要制作出自己的复制人,第一步是通过三维重建,生成自己的脸,然后再通过MetaHuman技术,把脸合成到三维模型中,最后再捏脸修改。经简单了解,现在做得最好的数字人都是基于虚幻引擎(即UE)的MetaHuman,超写实的风格、自然的表情、飘逸的发型,一切都让数字人看着像真人。
2022-11-21 22:05:27 1729 1
原创 解决Unity2021下使用JobSystem找不到NativeList
官方一直大力推DOTS,我看JobSystem还挺好用,但发现Unity2021默认没带NativeList这个类,需要安装一个依赖包。
2022-11-04 16:21:14 1877 3
原创 手机是如何进入元宇宙的?(结合Android和UE4技术)
步骤有以下几步:获取手机旋转信息命令发送到三维世界轴向转换角度初始化获取手机旋转数据Android手机可以直接通过SensorManager获取手机旋转数据,如下面代码拿到的rotator就是手机旋转的四元数数据。private SensorManager sensorManager;private Sensor rotationSensor = null;public static float[] rotator = new float[4];void init(){ sens
2021-12-18 22:10:34 4811
原创 UE4.26 PAK热更新(动态加载外部资源)
打包PAK打包PAK需要用到UE4自带的UnrealPak工具,工具路径在\Epic Games\UE_4.26\Engine\Binaries\Win64。终端cd到该路径,输入以下命令就可以把data目录下所有资源打包成a.pak>UnrealPak a.pak -create=d:\data代码部分首先,修改build.cs, 在PublicDependencyModuleNames中添加PakFile接着,代码里挂载和加载pak文件.hTArray<FSoftObjec
2021-08-13 17:31:14 2954 1
原创 UE4 文件选择框OpenFileDialog在Shipping环境下崩溃报错
**解决方案:**需要把依赖developer的三个模块(DesktopPlatform、DirectoryWatcher、SlateFileDialogs)源码拷贝到项目中,重新编译即可。具体步骤:新建一个Plugin把developer路径(UE_4.26\Engine\Source\Developer)里的目录(DesktopPlatform、DirectoryWatcher、SlateFileDialogs)拷贝到Plugin的Source路径下修改目录文件名为(MyDeskto
2021-07-16 11:01:26 1661 1
原创 UE4.26像素流送之公网部署(自建TURN服务器)
像素流送(Pixel Streaming),是UE4力推的网站部署方案。官方从UE4.24开始,默认取消了对HTML5打包的支持,转用这种新颖的方式。这种方式的最大好处是,对客户的电脑性能基本没有要求,只需要带宽足够,客户就可以像观看高清电影一样流畅使用三维软件。像素流送的部署主要分局域网和公网部署。本文主要针对公网部署。正文本方案用到Vultr的服务器,5美金一个月,使用我的推荐码,可以获取100美金试用金额。点击打开Vultr官网注册Vultr服务器安装coturn服务电脑启动UE4推
2021-06-29 19:35:00 6516 8
原创 UE4解决WebUI或WebBrowser无法播放直播流的问题
问题原因: UE4的WebBrowser自带的cef3为3071版本,默认不支持h264等直播流,导致web里的直播流无法播放。而很流行的WebUI也是基于WebBrowser开发出来的,所以有一样的问题。解决方案: 修改cef3源码,改成支持h264,重新编译,然后在UE4安装目录下替换相关文件(csdn里能搜索到网友编译好的win64版本)。替换路径如下:\Epic Games\UE_4.26\Engine\Binaries\ThirdParty\CEF3\Win64,替换所有文件\UE_4.2
2021-06-12 20:18:04 8380 8
原创 UE4接入Protobuf库
官网下载Protobuf源码源码可以下载protobuf-cpp-3.15.8.zpi,提取里面的src/google,按下图文件目录放置。图中的Source为UE4项目的Source目录。分别新建ProtoBuf.cpp、Protobuf.h、Protobuf.Build.cs,代码如下Protobuf.h#pragma once#include "CoreMinimal.h"ProtoBuf.cpp#include "Protobuf.h"#include "Modules/M.
2021-05-11 15:52:53 716
原创 UE4 项目优化经验(性能、资源管理、打包等优化)
文章目录一、如何查看性能指标二、性能优化的方式优化帧率优化UE4项目启动速度优化打包速度和缩小包容量采用Jenkins进行持续集成交付删除不用资源三、打包失败处理代码编译失败发版打包失败其他缓存路径关闭VSync(Vertical Sync)Profiler工具分析逻辑线程参考文档一、如何查看性能指标可通过输入命令,在界面上呈现当前软件的性能数据。在游戏运行阶段,可按键盘~,显示命令输入框。命令stat fps,简单输出帧率命令stat unit,输出游戏逻辑线程和渲染线程耗费的时间命令stat
2021-01-13 11:33:14 6422 1
原创 Jenkins无法安装plugins,提示超时,修改源或者手动下载即可
方法一:修改源进入 Manage Jenkins -> Manage Plugin -> Advanced,最下面有 Update Site 设置为:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json修改服务器配置,进入 jenkins安装目录 , /updates/default.json ,将其中的 updates.jenkins-ci.org/download 替换为 mirrors.
2021-01-08 09:05:38 646
原创 UE4打包失败、编译失败等异常问题收集
UE4 打包问题记录代码无法编译成功编译出错,utf-8问题异常详情: 忘了记录,印象中lod信息里有乱码,但一闪而过,最后报了M2076 还是什么的。解决方案: 好像是因为有中文名称的文件资源,git config --global core.quotepath false打包失败Rider编译没问题,重新编译后报错异常详情: Rider重新编译报错,说无法打开文件dll,但居然偶尔编译成功;使用UE4打包会报详细点的错误,在log文件里查到编译停在自己写的Cpp,报错为“Proce
2020-12-17 09:29:39 7470
原创 UE4日常使用技巧锦集
应用Actor实例的修改到源蓝图(类似Unity把gameobject的修改更新到prefabs)方法:选中要保存的Actor点击Details界面中Edit Blueprint弹窗中选择Apply Instance Changes to Blueprint即可
2020-12-08 10:29:57 372
原创 解决Android项目中调用高于minSdkVersion版本的依赖库lib/sdk/api导致无法编译成功的问题
问题描述在AndroidStudio项目中,为避免重复造轮子,经常需要引入一些依赖库,但有时候引入的依赖库比项目minSdkVersion还要高,此时项目会无法编译成功,报出以下error。Manifest merger failed : uses-sdk:minSdkVersion 19 cannot be smaller than version 24 declared in library [:sdk-release:] /Users/dvlee/.gradle/caches/transforms
2020-11-29 23:02:17 1536
原创 【UE4】一个实现Web穿透,用HTML开发UI的方式——WebUI的用法
如何导入UE4的插件PluginsUE4如何跟WebBrowser交互,互调传参一、下载和导入插件首先到官网下载对应版本的依赖库Github地址是:https://github.com/tracerinteractive/UnrealEngine把依赖库解压后放置在游戏引擎安装目录的Plugins目录下面:如我的路径是 ..../Epic Games\UE_4.23\Engine\Plugins\Runtime打开例程项目,点开插件管理页面,Edit->Plugins,勾选刚加入..
2020-11-09 11:37:55 15587 9
原创 UE4 C++实现获取指定目录的所有蓝图类UBlueprint和UBlueprintGeneratedClass
获取指定目录的所有蓝图文件的UBlueprintGeneratedClassTArray<UClass*> UFileBFLibrary::getAllClassFromFolder(FString* path){ FString folderpath(*path); UObjectLibrary* lib = UObjectLibrary::CreateLibrary(UObject::StaticClass(), false, GIsEditor); lib-&g
2020-10-30 17:35:14 3060
原创 判断CUDA和CUDNN是否安装成功并正常使用
最近又捡起YOLOv3来练练手,检测医学B超图像。重新搭建环境,由于网速时快时慢,搭建起来相当痛苦,最终还是搭建完成了。下面分享下如何判断CUDA是否正常使用。正文一、判断安装情况首先是判断cuda是否安装成功。一般安装路径为/usr/local/cuda使用nvcc -v命令可以输出cuda版本然后是判断cudnn,这个库安装很简单,只需把cudnn的include和lib64里面的文件拷到cuda相应目录即可,所以判断是否安装的方式是,到cuda的include和lib64,用ls |
2020-10-28 21:47:03 28205 1
原创 UE4通过C++代码实现蓝图方法(UFUNTION暴露代码接口)
学习了一段时间Unreal engine 4,UE4里的蓝图提供了非常便捷的方式,可以让非软件开发人员很轻松地调用方法函数,在零代码的情况下实现游戏逻辑。蓝图之所以那么方便,是因为软件开发工程师预先把很多方法函数封装成了蓝图方法,有了这些蓝图方法,非软件人员就需要通过简单的拖拽接线就能写逻辑了。有时候我们也可以把一些复杂的逻辑通过c++代码的方式实现,封装成蓝图函数,提供给非软件人员使用。下面就是讲述UFUNCTION的用法:暴露C++方法我们可以通过定义UFUNCTION() 宏和一些自定义来暴露
2020-10-28 15:46:45 5285
原创 解读UE4家装Demo《HomeDecoration》的蓝图实现
因项目需要,最近在学习UE4。相比Unity确实比较难上手,但如果有Unity基础,可以很快理解UE4里面的概念,比如Actor对应Unity的GameObject,ActorComponent对应Unity的Component,而UE4还多了很多像Pawn、Character、PlayerController等等的类或者概念,需要时间适应。UE4的项目可以用纯蓝图、纯C++或者蓝图结合C++三种实现方式,我建议程序员一开始就直接学C++的实现方式,因为蓝图里面的对象、函数、事件都是跟C++里的代码一一对
2020-10-23 16:46:47 1752 20
原创 制作YOLOv5的数据集
在这里推荐我常用的标注工具 VIA,用久了,很多转化脚本都是基于这个工具导出的格式,所以没用其他标注工具了。VIA可以在线标注,地址是:http://www.robots.ox.ac.uk/~vgg/software/via/via.html标注完数据后,保存项目,导出一份json下面代码是把json转换成YOLOv5的格式import osimport jsonanno_file_path = '' // json路径saveFolder = r'./txt'if not os.pat
2020-08-14 17:25:20 2239 1
原创 Windows环境搭建CenterNet
Github上搜了一下,发现CenterNet关注量最多的就是下面的实现https://github.com/xingyizhou/CenterNet搭建过程遇到好多问题,一一解答。这个issue分享的是在Windows下搭建CenterNethttps://github.com/xingyizhou/CenterNet/issues/7issue作者使用的环境是Pytorch 1.1 ...
2020-03-31 09:54:45 1792 6
原创 windows环境下安装CUDA(用GPU训练Tensorflow-YOLOv3)
今天终于搞到一台带1080独显的PC,之前一直用CPU训练,效率极其低下。训练tensorflow-yolov3这个网络模型,图集400张,4个分类,要训练十多个小时才能看到检出效果,现在可以尝试使用GPU训练了。之前对GPU训练还不太了解,以为要改代码,现在才知道,其实不需要的。关键就是搭建好cuda环境NVIDIA显卡驱动(https://www.nvidia.cn/Downloa...
2019-07-19 18:57:01 3803 1
原创 Yolo v3 学习笔记摘录
作为一名移动端开发人员,我觉得现在是入门深度学习的最佳时机,毕竟tensorflow也发展好几年了,Facebook也推出了pytorch,github上已经有很多开源的各种神经网络的源码,可以比较轻易的实现一些震撼自己的效果。之前在某公司的计算机视觉部工作,受到深度学习工程师的耳濡目染,离职后,自己才真正去尝试数据采集、标注、训练、移植Android端等步骤,算是草草入门了。下面分享几段学...
2019-07-11 16:00:05 407 1
原创 如何在PC端测试转换后的TFLite模型
上篇讲述如何把tensorflow模型转换成tflite模型,用于部署到移动端。这篇分享如何在PC端对tflite模型进行预测,测试模型是否可用首先,加载tflite模型,查看模型的输入输出import numpy as npimport tensorflow as tfimport cv2# Load TFLite model and allocate tensors.inter...
2019-06-30 11:57:04 5224 12
原创 如何把Tensorflow模型转换成TFLite模型
深度学习迅猛发展,目前已经可以移植到移动端使用了,TensorFlow推出的TensorFlow Lite就是一款把深度学习应用到移动端的框架技术。使用TensorFlowLite 需要tflite文件模型,这个模型可以由TensorFlow训练的模型转换而成。所以首先需要知道如何保存训练好的TensorFlow模型。一般有这几种保存形式:CheckpointsHDF5SavedM...
2019-06-30 11:24:05 8402 4
原创 如何标注mask用于图像分割模型训练(VIA标注semantic segmentation数据集的mask)
近几年深度学习发展非常迅猛,深度学习用于图像识别、分割等方面效果非常好,像mask rcnn这类的网络已经可以做到对象分割了(instance segmentation)。训练图像分割模型,需要标注大量mask图片,而网上找到的标注工具只能导出json文件,今天分享下如何把json文件转化成mask 图片。首先,使用VIA标注工具,标注物体轮廓,导出json文件。json文件里包括了图片中物体...
2019-06-25 11:14:35 16908 28
原创 神奇了!AR技术可测量实物体积!
通过ARKit、ARCore实现的测量真实世界物品体积的demo应用未完待续实现步骤:平面识别这是AR库提供的功能,打开摄像头后,拿着手机对着桌面来回平移一小段距离,即可把平面识别出来,大概不到两秒钟时间即可把平面识别出来。当然,所测量的物品要放置在识别出来的平面里。输入锚点锚点应该是ARCore里面的概念,在识别出平面后,通过输入屏幕的二维点可以转换生成三...
2019-04-08 14:52:26 7564 9
原创 快速体验物联网通信中常用的CoAP与MQTT
今天快速入门了一下CoAP与MQTT,跑下网上的demo,感受下这两个物联网很流行的通信库都是怎么玩的。CoAPCoAP是一个类似http协议的,但比http更轻便小型的通信协议。基于UDP,跟一样http一样使用get、post、put等方法。下载libcoap源码git clone https://github.com/authmillenon/libcoap.git编译和...
2019-04-03 17:54:07 969
原创 快速入门深度学习——跑通TensorFlow的MNIST图集
学编程都喜欢运行HelloWorld,而深度学习的HelloWorld便是跑通MNIST。MNIST是一个手写数字的图集库,图集非常精小,非常适合作为深度学习练手的图集。跑完下面的demo,会对TensorFlow训练模型和识别图片数字这个流程有个整体的概念。首先导入需要的库,能正常输出tensorflow的版本号表示环境没有问题。若环境存在问题,请先阅读上一篇文章。from __...
2019-02-15 16:37:46 633 1
原创 快速入门深度学习——Tensorflow
环境搭建IDE使用PyCharmPython版本 3.6.8(3.7版本无法安装TensorFlow)代码测试TensorFlow环境安装成功from __future__ import absolute_import, division, print_functionimport tensorflow as tffrom tensorflow import keras# 输出T...
2019-02-13 18:03:34 347
原创 记录几个Android JNI的使用技巧
jclass localClass = env-&gt;FindClass(“com/dv/MyJni”);jmethodID methodID = env-&gt;GetStaticMethodID(localClass,“onMeasureResult”, “(FFF)V”);env-&gt;CallStaticVoidMethod(localClass,methodID,1.2f,1.1...
2018-12-28 17:26:48 346
原创 Android 工程调用FastCV库
FastCV是高通为提高在ARM芯片乃至晓龙芯片的图像处理算法效率,专门定制的一个CV库。网上有人专门对比过和opencv大部分算法的处理时间,接近十倍于opencv的速度。所以很值得尝试把原来OpenCV的接口改用FastCV来实现。Github上面搜索到FastCV的demo,地址如下:https://github.com/dongxiawu/FastcvDemo拉下代码后,顺利编译,在...
2018-11-14 04:39:39 1061
原创 Android使用OpenCV
读大学时报了一个课程叫《动目标检测》,那时候大受启发,原来摄像头可以这么玩的,通过摄像头捕捉图像,经过图像处理和分析找出运动目标。上了那个课程,简直就是打开了视野,后来做了一些简单的体感游戏,基于两帧相减得出运动的像素,通过运动的像素分析出玩家的肢体运动,从而操控游戏。当时水平有限,还没深入了解光流之类的算法,但已经了解到图像处理的高深莫测,是未来发展的很好的方向。摄像头是机器人的眼睛,开发摄像头...
2018-09-15 17:21:20 1261
原创 使用CMake编译native代码
从AndroidStudio2.2版本开始,官方新增了并默认使用cmake为Android的ndk编译方式。如何使用?新建Android工程,勾选C++支持,即可新建一个标准的native开发工程。其中“CMakeLists.txt”为cmake编译的配置文件在项目model app的“build.gradle”文件里面,我们可以看到以下代码android { ...
2018-09-13 18:13:33 656
原创 VINS 学习
开启VINS学习之旅之前一直在寻找合适的AR库实现测距,测试过大部分网上能找到的AR库,发现问题多多,实现不了。于是从这周开始,我们打算转移方向,学习VIO的底层库,用这些库实现体积测量。我们找到好几个实现SLAM的库,包括VINS-MONO、ORB-SLAM等等,VINS在github上面有Mobile的版本,可惜是iOS的,不是Android的。不过总比没有移动端的版本好,可以先从iP...
2018-09-10 17:56:50 937 2
原创 玩各种各样的AR库,调研下MAXST的能力
这段时间都在研究测量箱子体积的项目,通过手机摄像头对准箱子进行拍照,箱子体积就出来了。很多这方面的研究都使用参考物像证件、A4纸、人民币等。我们不使用任何参考物,使用SLAM的技术,市面上很多AR库都自称有SLAM功能,其中ARCore和ARKit最受追捧。我们使用ARCore已经实现了测试箱子体积的功能,效果挺好,可惜只能在支持ARCore的设备上运行,中低端手机都不支持。为了在中低端手机上...
2018-09-04 20:04:14 1288
原创 Unity3D的Dotween动画库入门
前两年在做VR launcher的时候,同事们已经使用Dotween实现一些界面动画了,当时没花时间去学习,今天捡回来看一下。Dotween在Unity的Assetstore里面可以找到,有免费的版本。目前就是使用免费的版本。Dotween的命名规范命名前缀有助于开发者记忆或者快速调用需要的接口,可以看到Dotween的接口设计比较重视这方面。在导入Dotween库之后,我...
2018-08-13 16:21:02 1174
WebUI-4.26-修复打包问题
2021-03-17
计算机图形学(第3、第4版本)
2020-11-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人