WSL中的GPU原理总结
WSL中的GPU原理总结
自wsl(Windows Subsystem on Linux)发布以来,许多性能已经得到了长足的进步。经过多年的发展,该项目从一个玩具项目发展成现在可以真正用于生产环境的项目,给需要使用Linux环境但是又不想脱离Windows便利生态的开发者们来说带来了福音。wsl的图形性能也受到许多人的关注,特别是自微软2020build大会官方发布支持图形界面的wslg之后,wsl的图形性能发展进入了快车道。本文主要结合微软和英伟达提供的资料简要总结了一下wsl中调用GPU的原理以及使用GPU进行3D渲染加速和CUDA编程可能遇到的问题。
原理关于wsl是如何调用GPU加速的主要参考了这篇微软推出的博客。这篇博客里把大概的原理讲清楚了,简单来说就是hyperv虚拟机虚拟了一个/dev/dxg硬件,这个硬件通过WDDM(Windows Display Driver Model)(版本不低于2.9)共享了Windows端的显卡,然后在这个虚拟出的硬件上建立了一个Direct 3D的API实现了在Linux上使用Direct 3D(真的会有人在Linux上用这个吗。。。) ...
强化学习仿真器Raisim进行深度强化学习的初步尝试
强化学习仿真器Raisim进行深度强化学习的初步尝试本文主要结合Raisim官方实例,介绍如何使用Raisim进行深度强化学习。本文主要参考了Raisim官方文档,以及Raisim的github仓库中的一些例子。部分内容使用AI辅助生成。
raisimGymTorch是raisim的Gym环境示例。还提供了一个简单的基于pytorch的RL框架,但它应该可以很好地与任何其他RL框架配合使用。该项目使用pybind11作为python接口,这样的好处是将矢量化环境包装在C++中,以便使用OpenMP在C++中完成并行化,这极大地提高了仿真速度。这里直接上官方的图。
如图所示,该框架定义了Environment类型,在该类中完成环境的定义。然后VectorizedEnvronment将Environment进行矢量化,以便在C++中进行并行化。最后riasim_gym.cpp和RaisimVecEnv.py使用pybind11将上述C++环境封装成python包供其他RL框架调用。并行化的过程是在C++中完成的,因此可以大大提高仿真速度。
RaisimGymTorch的使用可以参考官方文 ...
强化学习仿真器Raisim的安装,配置,与初步使用
强化学习仿真器Raisim的安装,配置,与初步使用
写在前面 – 最近入坑了强化学习,看了一些基础理论后觉得需要实操一下,于是便研究了一下Raisim这个仿真器。这个仿真器使用的人较少,网上资料也不多,所以在这里记录一下,以便后续查阅。不过说实话,新入强化学习的坑还是建议从OpenAI的gym(gymnasium)看起,毕竟资料多,而且也有很多成熟的算法可以直接使用。不像Raisim是一个单纯的仿真器,gym是一个完整的强化学习框架,可以直接使用,以及配合”stable baseline3”使用可以很快速的将demo跑起来。不过Raisim的优点也很明显,就是仿真速度快,而且可以直接使用C++进行编程,并利用OpenMP并行加速。所以在一些对速度要求较高的场景下,Raisim还是很有优势的。
本文主要介绍了Raisim仿真器的安装,配置,并简要介绍API,以及如何使用Raisim仿真器来进行强化学习仿真环境的搭建。本文主要参考了Raisim官方文档,以及Raisim的github仓库中的一些例子。部分内容使用AI辅助生成。
Raisim简介和安装Raisim是由ETH Zurich的 ...
Image Segmentation via Spectral Clustering
Image Segmentation via Spectral Clustering
Abstract-Image Segmentation is a classic computer vision problem, which is also one of the foundation stones for many computer vision applications, e.g., 3D reconstruction, object tracking. This paper implemented two classic image segmentation methods via spectral clustering. Namely, the image segmentation based on K-means clustering and image segmentation based on normalized cuts and spectral clustering. Although nowadays most image segmentation method ...
基于图像雅可比的目标跟踪控制
基于图像雅可比的目标跟踪控制本文从李群李代数的方式对二轴云台的目标跟踪控制(视觉伺服)问题进行了推导。基于图像的视觉伺服(IBVS)问题多使用基于解析几何的方法进行推到,但是似乎很少有人使用李群李代数进行推到。本文使用李代数完成对基于图像雅可比的视觉伺服问题推导,相比于解析几何的方法,我认为在面对更多更复杂关节的情况下,李代数的方法更具有通用性。下面将介绍系统模型,并基于此模型开始推导。
系统建模
系统模型如上图所示,该系统由两个相机和一个二关节云台构成,其中C1相机为广角相机,C2相机为长焦相机。该系统将使用C1相机检测目标,并控制C2相机跟踪目标。该系统的目标是使C2相机的视野中始终包含目标,即在C1相机能看到目标的情况下使目标在C2相机视野中移动。{C1},{C2}坐标系为前文所述两相机的坐标系; {G1},{G2}为电机法兰坐标系; {M1}{M2}为电机基座坐标系,{M}系与{G}系的z轴同方向共线。
目标目标是使C2相机的视野中始终包含目标,即在C1相机能看到目标的情况下使目标在C2相机视野中移动。为了实现上述目标,我们需要获得长焦相机中目标像素坐标与相机光心坐标的误差与云 ...
Research Report of 360VO Visual Odometry Using A Single 360 Camera
Research Report of 360VO: Visual Odometry Using A Single 360 Camera
Abstract—This article is a review and evaluation of the paper 360VO: Visual Odometry Using A Single 360 Camera in the 2022 IEEE International Conference on Robotics and Automation (ICRA). Starts from this article and summarizes the method of it and then presents the related works. Then, some improvement directions are proposed for this article. Finally, the commercial value and social value of the visual slam field are discussed ...
Visual Place Recognition via HMM Filter and Smoother
Visual Place Recognition via HMM Filter and Smoother
Abstract—Visual position recognition affects the safety and accuracy of automatic driving. To accurately identify the location, this paper studies a visual place recognition algorithm based on HMM filter and HMM smoother. Firstly, we constructed the traffic situations in Canberra city. Then the mathematical models of the HMM filter and HMM smoother were performed. Finally, the vehicle position was predicted based on the algorithms. Experiment ...
EasyMVS -- A Simple Multi-View Stereo lib
EasyMVS: A Simple Multi-View Stereo libEasyMVS is a simple SFM(Structure From Motion) and MVS(Multi-View Stereo) project, which aims to perform 3D reconstruction tasks quickly and concisely with existing algorithms for Monocular, Stereo, RGBD cameras. This project currently supports OpenCV pinhole cameras but can be easily extended to other types of cameras, such as fish-eye cameras.
overview of the EasyMVS 3D reconstruction pipeline
THIS PROJECT IS NOT FINISHED YET, CANNOT ACHIEVE DESIRED ...
Python 软件注册信息生成器
软件注册信息生成器
最近一个项目由于需要防止在多台电脑上使用,也为了防止用户无限期使用,于是简单做了一个注册器。由于用户电脑不能联网,因此就不能做联网验证,所以其实用户也很容易破解。
开源地址: 点击这里
使用说明
使用前请使用pip install pycryptodome命令按照软件包
使用DecryptModule.py模块进行解密运算,该模块运行在用户的计算机中。
使用EncryptModule.py 进行加密运算,该模块仅需运行在LICENSE管理员的计算机中。
LICENSE签发过程
首先生成加密解密用的密钥对,命令如下:
123python3 ./EncryptModule.py -k LICENSE#将得到 LICENSE-Decrypt.key 和 LICENSE-Encrypy.key 两个文件,分别用于解密和加密
第二步根据用户机器的唯一识别码,过期时间,和加密密钥产生LICENSE文件,命令如下:
1234567891011python ./EncryptModule.py -g Input Private Key File Name:LICEN ...
安装黑苹果并启用secure boot
在ASUS ROG枪神3上安装黑苹果并启用secure boot
最近瞎折腾黑苹果,其实装黑苹果现在倒是挺简单,去 ~~~gayhub~~~ github上找EFI,再去找个系统镜像,并做个启动盘,改下EFI就差不多行了。如果实在有搞不定的硬件,现在有各种渠道找人来远程做一下也挺方便。但是我发现有关secure boot的资料太少了,而且这些方法我用着都或多或少有问题,没法完全成功,因此在这里记录一下我安装的步骤,也算是提供一种不同的解决方案吧。
安装黑苹果安装过程网上资料很多,这里简单记录一些注意事项和安装工具。
注意Windows如果开启了bitlocker请一定要找到还原密钥再进行操作,不然会导致bitlocker被锁住!!!
注意安装前需要在bios中关闭secure boot
Mac硬盘刻录工具transmac,下载地址:https://www.acutesystems.com/scrtm.htm 有15天试用期,不需要破解,反正就用一下,下次要用重新安装一下就好,本人极度鄙视破解软件等盗窃知识产权的行为!
黑果小兵的博客,https://blog.dalians ...