miivii域控制器(Xavier)实现TensorRT加速后的Ultra-Fast-Lane-Detection项目

2023-05-16

TRT_ONNX2是神力模型转换工具链
鸡汤哥知乎金天

一、配置TRT_ONNX2

1、安装依赖

(2020.09.30更新)昨天刷了JetPack4.4,很好用!只需要下载编译thor即可,其他依赖项原生满足。
在这里插入图片描述

(1)TensorRT 7

(2020.09.29更新)TensorRT是深度学习推理(Inference)优化器,主要针对NVIDIA GPU,应用于模型部署、实际预测阶段。TensorRT通过分析深度学习模型,将各层进行横向、纵向合并,减少CUDA对输入/输出张量的读写时间,从而使模型更小、更快、更高效,加速推理过程。Tensorflow\Caffe深度学习框架训练出来的模型,可以直接丢进TensorRT框架中去,对模型进行分析优化。PyTorch\Caffe2等框架训练出来的模型,需要先转化为ONNX通用深度学习模型,然后才能丢进TensorRT中优化。详细的TensorRT介绍参考TensorRT(1)-介绍-使用-安装。

nvidia官网TensorRT各版本下载
Installing TensorRT

(2020.09.28更新)域控制器刷机后自带tensorrt5.1.6.1,鸡汤哥说工具链不支持tensorrt5,因为该版本的很多接口过时了,因此参照安装教程,卸载了自带的tensorrt。

我看了安装教程,主要是安装一些python接口和库,而项目中主要用到tensorrt中的c++库,因此下载TensorRT 7.0.0.11 for Ubuntu 18.04 and CUDA 10.0 tar package(这里还有坑,make时报错今天没有解决),在~/目录下解压,将文件夹重命名为TensorRT,并执行

$ ln -s /home/nvidia/TensorRT /home/nvidia/cola/trt_onnx2

就会在trt_onnx2文件夹下创建一个TensorRT软链接文件,它是软链接到/home/nvidia/TensorRT目录的。

这里有2点要注意:一是安装包解压位置必须是~/,二是必须重命名为TensorRT,这是项目作者在编译规则中制定了的,不这样做make就报错。如图在cmake时,TensorRT的头文件和库文件总是包含在特定路径之下
在这里插入图片描述

(2)gflags

(2020.10.02更新)JetPack4.4不需要再另外配置gflags

(3)thor

安装编译thor
thor是一个C++库,为深度学习提供大量的工具、算法和可视化模块。

build_full.sh安装完整版,在配置glog时,同时执行了源码安装和sudo apt安装,把环境搞得乱七八糟,导致最后刷机。

build_simple.sh安装简化版本,客服大佬说安装简化版本时,能自动把需要的依赖全部安装上。于是执行了命令build_simple.sh,如愿以偿地报了错:
在这里插入图片描述
显示需要OpenCV4.0,而在系统中检测出来了3.2.0和3.3.1。欲仙欲死的Xavier配置OpenCV4.0之路开始了:
a. 按照百度上各路大神的“TX2配置OpenCV教程”、“Xavier配置OpenCV攻略”,我需要先执行sudo apt-get purge libopencv*删除系统中现有的opencv,一顿操作过后,我发现/usr/lib/aarch64-linux-gnu中opencv相关的文件都不存在了。然而我进入python,import cv2后,发现一切正常!!这不是我想要的结果啊,我刚才都做了什么??
b. 先不管了,接下来配置4.0.0版本,仍然是参照各路大神的操作,进行源码安装,cmake步骤要了亲命,使用cuda的、不使用cuda的、使用opencv_contrib的,试了各种各样的camke命令,无一例外都失败了,各种闻所未闻见所未见的bug蜂拥而来。。。草泥马
c. 群里请教,有位大佬推荐了一个看起来很牛逼的安装方法,然并卵
d. 最大的疑惑是,系统里从哪冒出来一个3.2.0的版本?

删除CMakeLists.txt里对OpenCV4.0的指定: 时间花了不少,我感觉自己解决不了这个问题,于是请教鸡汤哥。鸡汤哥说把CMakeLists.txt里指定的4.0去掉,不必安装4.0版本。试了下,还真起作用,同时产生了新的问题:
在这里插入图片描述
显示找到了opencv3.2.0,谁配置的你?
在这里插入图片描述
配置protobuf: 貌似是protobuf没有安装,参考Protobuf安装步骤,protobuf-cpp-3.13.0下载链接,提取码eibq。安装时间大约半天,中间没出什么岔子,protobuf测试参考google protobuf安装与使用,注意两点:一是.proto文件名称是addressbook.proto,二是两个.cpp文件中,包含addressbook.pb.h头文件时要加绝对路径#include "/tmp/address.pb.h",否则会报错找不到该文件。以为一切就绪,然而还是那个错误:
在这里插入图片描述
(2020.09,30更新)JetPack4.2和4.4版本都是自带protobuf的,不用另外配置。今天用JetPack4.4试了一下,不需要任何其他操作,./build_simple一次成功。

修改CMakeLists.txt中libprotobuf.so读取路径: 鸡汤哥又提供了一种思路——看看报错提示的那个路径有没有.so,没有就是有问题,有时候有但可能只是残存的错误软链接,把那个文件拷贝下看看。
按照提示自然是不能找到.so文件的,arm架构怎么可能会有x86的路径,我在根目录下搜索了libprotobuf.so,结果是这样的:
在这里插入图片描述
.so文件是有的,但不在x86目录下,那么为什么会出现x86这个神奇的路径?我想到编译时需要的各种头文件、库、依赖都是在CMakeLists.txt里指定的,于是打开CMakeLists.txt,果然看到了写死的路径:
在这里插入图片描述

  • 这种方法是把库的路径写死了,理论上打开第一个注释,就会自动寻找需要的protobuf库,这个有待在新的域控制器上实验,这里就不折腾了。
  • 鸡汤哥说自动查找动态库时,默认链接libprotobuf.a,但是链接.a文件就会出错,因此写死了路径,链接.so。目前没有好的解决办法。

修改.so的路径后终于将thor编译成功
在这里插入图片描述
在这里插入图片描述

折腾几天,或许最大的收获并不是thor编译成功本身,而是在这个死去活来的过程中,我意识到其实强如鸡汤哥这样的大佬,在面对疑难bug时,也并不能一剑封喉,一上来就找到解决办法,而是在理解编译原理的基础上,找到造成bug的可能原因,然后一个个试验,这是个不断试错的过程。

(4)opencv

Xavier上配置OpenCV,可以说是苦海无边!参考上一步编译thor。
(2020.10.2更新)JetPack4.4刷机后自带OpenCV4.1.1,不需要另外配置。

2、编译

TensorRT的坑在这里:TensorRT/lib/中有两个.so文件不兼容
在这里插入图片描述
用readelf命令查看elf格式文件信息,Machine显示x86-64,目前推测原因是:TensorRT安装包是在x86平台上编译生成.so共享库文件,在arm架构上不兼容,暂时没有找到解决办法。
在这里插入图片描述
(2020.09.29更新)Nvidia官网上没有看到支持arm架构的TensorRT版本,鸡汤哥说Xavier平台不能单独安装TensorRT等,它们是随JetPack一起烧录进去的。JetPack4.2烧进去的是TensorRT5.1.6.1,问了米文,JetPack烧进的是TensorRT7,下载烧写镜像,刷机。

(2020.09.30更新)刷了JetPack4.2,自带TensorRT7.1.3,OpenCV4.1.1,这两个都不需要另外配置了,只需要下载编译thor。终于编译成功trt_onnx2
在这里插入图片描述

二、运行(2020.10.3更新)

1 配置onnx-tensorrt,.onnx 转 .trt

要先配置onnx-tensorrt,将*.onnx模型转换为*.trt模型。参考onnx-tensorrt,下载源码进行编译。

BUG 1 cmake版本太低

参考Jetson TX2上升级cmake方法

BUG 2 源代码下载不完全

third_party/onnx/目录下是空的,进github里一看,onnx这里是一个链接,在third_party/文件夹下源码下载链接对应的源码即可。
在这里插入图片描述

BUG 3 $ onnx2trt my_model.onnx -o my_engine.trt报错

在这里插入图片描述
一种方法是:用./onnx2trt代替onnx2trt
另一种方法是:build文件夹路径下,终端执行sudo make install,将编译出来的二进制文件、库、配置文件等放到相应的目录下,参考linux系统应用编译构建:make 、 make all 、 make clean 、 make install 区别,模型转换命令就可以正常执行。
在这里插入图片描述

在这里插入图片描述

2 检测视频

将上一步转换得到的.trt模型复制到trt_onnx2/models/文件夹下,终端执行命令

$ ./build/examples/demo_ultra_fast_lane_det -trt_f ./models/lx_engine.trt -data_f ../video.mp4

在这里插入图片描述

在这里插入图片描述

(2020.10.2更新)国庆献礼,终于跑通Ultra Faster Lane Detection TensorRT加速项目!从8月20号来恒大城开始,就一直饱受车道线检测的虐待折磨,时常心如死灰,生无可恋。在找项目,换模型,配环境,解决bug的苦闷日子里,我经常去楼道里锻炼身体来转移注意力,或是去房顶眺望远方,不断地问天问地问自己,这种屡试屡错、原地踏步、毫无进展的日子什么时候才是个头?好在项目和甲方都不允许我放弃,逼我硬着头皮死磕,现在总算看到了胜利的曙光。
现大体总结下在车道线项目我走过的“山路十八弯”:
目标:检测出车道线,并把车道点通过ROS消息发布出去,要求适时性要好。
过程:
(1)a.整个项目都要基于ROS;b.之前试验过传统方法,受光照、阴影、道路磨损、转弯不稳定等诸多因素影响,达不到上车要求,于是我锁定了目标方法的2个条件:基于ROS和深度学习方法。无人驾驶汽车系统入门(三十)——基于深度神经网络LaneNet的车道线检测及ROS实现同时具备了我设定的两个条件,简直不要太爽,因此在这个项目上花费了大量的时间与精力。程序依赖tensorflow和sklearn库,而tf又不好下载,arm上安装难度又大,折腾了一个星期,终于总结出了米文域控制器(基于Xavier)安装tensorflow-gpu,然而在安装成功的时候,我发现烧写的JetPack4.2里面自带tensorflow1.13,欲哭无泪。历经艰难终于把环境配置好,程序的运行又出现了各种各样的版本、模型输入bug,我甚至对着大段大段的报错一行行修改源码,连warning都不放过,然并卵。我怀疑是不是用的模型有问题,试了github源项目作者提供的模型,又试了原始的lanenet模型,都以失败告终。半个月过去了,我的进展只是证明了这个项目跑不通!那时候心态开始崩溃,我被迫彻底放弃了这个我曾经寄予厚望的完美匹配的项目。
(2)在光哥的催问下,我决定退而求其次,先用传统方法实现一个初级版本,之后再探索深度学习方法。传统的OpenCV方法本来是在设定目标条件时就被我排除在外的,但是在项目进度的压力下,实在是没有什么办法。疫情期间,我在家里实现过无人驾驶技术入门(十五)| 再识图像之高级车道线检测,现在只需要把它改造成ROS版本,我对此还是很有信心的。我在域控制器上复制了之前在台式机上正常运行的程序,结果出人意料,失败了。在台式机上运行时,程序有一个致命的bug,有时候会莫名其妙地报“容器不能为空”的bug,锁定了出问题的代码,同时锁定了程序报错时检测的那一帧图片,发现图片里车道线很清晰,光线也还好,上一帧检测的好好的,下一帧就报错。这个问题不会一开始就报错,而是程序运行一段时间过后报错。而在Xavier上,刚运行就报这个错,各种改,各种加判断条件都无济于事。那时候我完全慌了,深度学习方法行不通,传统方法又报错,这个功能是不是就实现不了了???我问师兄要了份他改造过的代码,还是没运行通。心里一慌,根本没办法静下心来再认真看代码、改代码了。我从怀疑代码、怀疑项目,开始怀疑自己,一度觉得每天吃饭都是多余。
(3)与光哥讨论后,看了Nvidia和Autoware,前者准确度太差,后者没有视觉检测车道线模块,也放弃了。
(4)怀疑归怀疑,睁眼起来,项目还是要搞的。我用残存的一点思考力对浪费的将近3周的时间作了小结。OpenCV方法的套路都是大体相同的,代码非常相似。这个运行不通,其他的传统方法一定也不行。这次算是彻底堵死了传统方法的路。但是深度学习方法不一样,框架多,模型多,一个不行可以换另一个。最终确定:**还是要用深度学习方法,因为实在找不到用ROS实现的现成项目,这次没有基于ROS的限制,**只要能运行通就好,基于ROS自己来改。又反复看了lanenet-lane-detection,最终因为报错涉及到模型本身,放弃了。在完成深度学习大作业时,我实现过PINet,回顾了下,发现加入了后处理,每秒只有10帧左右,适时性太差,去掉后处理程序,检测结果太差,放弃。这期间的各种尝试、各种失败,可以看基于ROS的车道线检测项目记录。
(5)实验课期间,请教了班里几个同学,接触到了mana,想着死马当活马医,再试试。先是在miivii域控制器(基于Xavier)上复现Ultra-Fast-Lane-Detection源论文项目,然后就是这篇实现加速项目的记录。自己本来就菜,很多时候大佬的一句话,就需要我花费一天甚至两三天的时间来进行尝试消化,期间各种辛酸真是一言难尽。

死磕40天,今天总算是看到了胜利的曙光,后面ROS版本改造会更复杂,而且基本没有人再指导了。mike加油~~~

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

miivii域控制器(Xavier)实现TensorRT加速后的Ultra-Fast-Lane-Detection项目 的相关文章

  • ORB-SLAM2建立自己的数据集

    ORB SLAM2建立自己的数据集 使用ZED2拍摄视频剪裁视频分割图片运行数据集记录 使用ZED2拍摄视频 这里没有使用程序将ZED2双目相机拍摄成两幅画面 xff0c 而是直接使用软件拍摄视频 若有大佬有相关代码还是很希望能发我下 拍的
  • STM32—DMA功能讲解串口发送

    目录 一 DMA基本介绍 1 DMA的定义 2 DMA数据传输 二 DMA功能框图 编辑 1 DMA请求 2 通道 3 仲裁器 三 DMA数据配置 1 传输方向及地址 2 传输数据大小及单位 3 传输完成 三 DMA初始化结构体详解 1 D
  • 最新 Xilinx vivado IP许可申请

    最新 Xilinx vivado IP许可申请 xilinx的fpga使用vivado开发 xff0c zynq系列fpga的SOC开发成为主流 xff0c 加快fpga开发 xff0c 也进一步提高了fpga开发的灵活性 xilinx提供
  • C++调用Yolov3模型实现目标检测

    C 43 43 调用Yolov3模型实现目标检测 使用开源权重文件 xff0c 此训练模型包含80种物体 文件下载地址 xff1a 预训练权重文件 xff1a https pjreddie com media files yolov3 we
  • 无人驾驶-控制-坐标系转化

    无人驾驶 坐标系转化 一 坐标系概念1 1 WGS 84坐标系1 1 1 简介1 1 2 角度范围1 1 3 基本参数1 1 4 坐标系图示 1 2 ECEF地心坐标系1 2 1 简介1 2 2 坐标系图解 1 3 ENU东北天坐标系1 3
  • 几何实体图形保存成stl格式的ascII和二进制文。用Vc++语言读入文件,给三角网格坐标值乘以2,并保存到另一stl文件。输出完成工作所用的执行时间

    1 题目 xff1a CAD CAM软件生成几何实体图形 xff0c 图形形状不限 xff0c 但图形需包含曲面 xff0c 分别保存成stl格式的ascII和二进制文 用Vc 43 43 语言读入文件 xff0c 给所有三角网格坐标值乘以
  • windows下vscode连接Linux中的MySQL(非常实用)

    于初学Linux系统的小伙伴来说 xff0c 由于对Linux系统及其在windows下的环境配置比较生疏 xff0c 所以当使用windows下vscode连接Linux中的MySQL xff0c 并进行相关研发时 xff0c 颇为头疼
  • UDP通信实现(客户端和服务器端)

    服务器端 xff1a include lt stdio h gt include lt stdlib h gt include lt unistd h gt include lt string h gt include lt arpa in
  • conda环境的激活与关闭

    激活conda环境 conda activate 关闭conda环境 conda deactivate 打开终端自动进入conda环境 conda config set auto activate base true 关闭打开终端自动进入c
  • C语言结构体字节对齐规则

    注 xff1a 图片中蓝色圆圈表示空闲的字节空间 xff0c 黄色表示成员占有的字节空间 编译器一般默认4字节对齐 xff0c 当然也有8字节对齐的 xff0c 但是如果结构体没有使用8字节的数据类型 xff0c 其实也可以认为是4字节对齐
  • c语言输出对齐的方法

    关于c语言输出对其方法 左对齐右对齐附乘法表代码 左对齐 当输出多个数据时 xff0c 由于每个数据的字符长度不同 xff0c 所以需要对齐 xff0c 左对齐时方法如下 xff1a span class token function pr
  • 多线程与网络编程

    一 网络协议 应用层 HTTP FTP TFTP SMTP SNMP DNS 传输层 TCP UDP 网络层 ICMP IGMP IP ARP RARP 数据链路层 由底层网络定义的协议 物理层 由底层网络定义的协议 二 TCP与UDP x
  • const和define区别与比较

    xff08 1 xff09 就起作用的阶段而言 xff1a define是在编译的预处理阶段起作用 xff0c 而const是在编译 运行的时候起作用 xff08 2 xff09 就起作用的方式而言 xff1a define只是简单的字符替
  • FreeRTOS中任务栈内存分配

    前言 在RAM中大多数的空间分配为任务栈和系统栈两部分 任务栈 xff1a 顾名思义就是用来跑任务的 xff0c 当我们xTaskCreate一个任务时 xff0c 但是在这块任务栈里面动态分配空间 系统栈 xff1a 任务栈是不使用这里的
  • 网络编程(0816-林雪阵)

    完成seclect TCP客户端 include lt stdio h gt include lt sys types h gt include lt sys socket h gt include lt arpa inet h gt in
  • yolov5获取边框坐标

    这里使用的是5 0版本 打开detect py xff0c 找到 Write results模块 xff0c 找到 save one box ctr 43 鼠标点击 xff0c 进入general py xff0c 会自动定位到 save
  • ROS介绍以及常用指令

    ROS 1 什么是ros ROS 的雏形诞生 xff1a 斯坦福大学人工智能实验室的STAIR 机器人项目这个项目希望完成一个服务机器人原型 xff0c 在视觉的辅助下 xff0c 可以在复杂环境中运动 xff0c 还可以通过机械臂操控环境
  • 基于ROS的YOLOV3实现目标检测项目过程记录

    2020 08 07 问题记录 1 要命的darknet ros 整体逻辑是用yolo检测出目标 然后通过ros节点将目标类别和位置信息发布出来 因此选择ros darknet 2个问题 1 依赖opencv和boost boost库安装过
  • 【Jetson目标检测SSD-MobileNet应用实例】(五)根据输出的检测结果,使用串口和STM32配合进行电机控制

    Jetson目标检测SSD MobileNet应用实例 xff08 一 xff09 win11中配置SSD MobileNet网络训练境搭建 Jetson目标检测SSD MobileNet应用实例 xff08 二 xff09 制作自己的数据
  • QT5.14串口调试助手:上位机接收数据解析数据帧+多通道波形显示+数据保存为csv文件

    由于业务需要 xff0c 在上个月做了一个关于qt的设计 xff0c 在设计中主要需要解决的问题就是接收单片机采集到的数据并在上位机将数字实时的通过波形显示出来 xff0c 然后上位机要有保存下数据文件的功能 xff0c 便于后续的软件读取

随机推荐

  • 如何使用Cmake编译

    目录 一 Cmake是一种跨平台编译工具 二 CMake说明 三 编写CMakeList txt 四 使用 cmake 一 Cmake是一种跨平台编译工具 比make更高级 xff0c 使用起来要方便得多 CMake主要是编写CMakeLi
  • 51单片机串口通信篇

    串行通信 基本介绍波特率通信校验内部结构 并行通信串行通信串行通信方式同步通信异步通信 串行口的控制寄存器SCON寄存器PCON寄存器中断源及优先级 串口通信配置步骤 相关程序简单例程1简单例程2 基本介绍 单片机通信是指单片机和单片机 或
  • 0基础学会 UDP通信(内附C语言源码)

    include lt sys types h gt include lt sys socket h gt ssize t sendto int socketfd const void buf size t len int flags con
  • C++ --头文件和类的声明

    函数 function 是为了处理数据 数据的实质就是变量 xff08 variables xff09 C是所有的函数都可以去处理任意声明的变量 C 43 43 面向对象的编程思想就是 把函数名和变量名封装起来 xff08 也就是类 xff
  • gcc编译可执行文件和cmake编译可执行文件

    gcc编译 gcc的下载 xff08 下载mingw xff0c 里面包含gcc xff09 下载安装MinGW w64详细步骤 xff08 c c 43 43 的编译器gcc的windows版 xff0c win10真实可用 xff09
  • 常用传感器讲解十九--超声波感器(HC-SR04)

    常用传感器讲解十九 超声波感器 xff08 HC SR04 xff09 具体讲解 HC SR04超声波距离传感器的核心是两个超声波传感器 一个用作发射器 xff0c 将电信号转换为40 KHz超声波脉冲 接收器监听发送的脉冲 如果接收到它们
  • C++中vector作为参数的三种传参方式(传值 && 传引用 && 传指针)

    c 43 43 中常用的vector容器作为参数时 xff0c 有三种传参方式 xff0c 分别如下 xff1a function1 vector vec xff0c 传值 function2 vector amp vec xff0c 传引
  • 斯坦福机器狗的介绍

    添加链接描述 斯坦福机器狗的介绍 Stanford Doggo 现在已经能完成走路 慢跑 跳舞 跳跃等动作 xff0c 偶尔还能表演一下后空翻 机械结构组成 同轴机制 同轴机制 xff08 coaxial mechanism xff09 会
  • 基于ROS的车道线检测项目记录

    2020 09 06 任务 xff1a 传统OpenCV方法ROS版本改造 选取大神陈光的高级车道线检测方法进行改造 xff0c 总体逻辑是 xff1a 第一 创建订阅者 xff0c 接收摄像头发布的数据 xff0c 用cv bridge将
  • ACEINNA发布用于自动驾驶汽车的IMU330RA

    IMU技术是自动驾驶汽车中ADAS导航系统和安全系统的关键构成部分 常规环境下 xff0c 感知传感器 xff08 激光雷达 摄像头 雷达 里程计等 xff09 用来确保车辆行驶在正确的路径上 但是 xff0c 如果感知传感器由于车辆位置或
  • 无刷电机与odrive

    无刷电机 无刷电机的优点 能获得更好的扭矩转速特性高速动态响应高效率长寿命低噪声高转速 无刷电机的简介 无刷直流电机由电动机主体和驱动器组成 xff0c 是一种典型的机电一体化产品 由于无刷直流电动机是以自控式运行的 xff0c 所以不会像
  • 无刷舵机 数字舵机 模拟舵机

    舵机 1 无刷舵机 xff1a 由 xff1a 电机 减速齿轮组 反馈电位器 控制电路构成 主电机可以使用无刷电机 xff0c 减少磨损延长使用寿命 模拟舵机需要给它不停的发送PWM信号 xff0c 才能让它保持在规定的位置或者让它按照某个
  • PCA9685如何通过iic协议控制多个舵机

    iic协议 即I2C xff0c 一种总线结构 能够有效减少芯片管脚和线路连接的数量 例如 内存中的SPD信息 通过IIC xff0c 与BX芯片组联系 xff0c IIC 存在于英特尔PIIX4结构体系中 随着大规模集成电路技术的发展 x
  • 无人机电池模块

    3 电池模块 xff1a 1 xff1a 电池的多少mah什么意思 xff1f 表示电池容量 xff0c 如5200mah电池 xff0c 表示以5 2A的电流放电 xff0c 可持续放电1小时 但是 xff0c 实际的放电时间还是要参考厂
  • 每日漏洞 | 跨站请求伪造

    01 漏洞描述 HTTP的无状态性 xff0c 导致Web应用程序必须使用会话机制来识别用户 一旦与Web站点建立连接 访问 登录 xff0c 用户通常会分配到一个Cookie xff0c 随后的请求 xff0c 都会带上这个Cookie
  • 每日漏洞 | rsync未授权访问

    01 漏洞描述 rsync是Linux Unix下的一个远程数据同步工具 xff0c 可通过LAN WAN快速同步多台主机间的文件和目录 xff0c 默认运行在873端口 由于配置不当 xff0c 导致任何人可未授权访问rsync xff0
  • 每日漏洞 | 不安全的HTTP方法

    01 漏洞描述 HTTP HTTP报文 中介绍了HTTP的请求方法 在这些方法中 xff0c HTTP定义了一组被称为安全方法的方法 xff1a GET HEAD OPTIONS TRACE xff0c 这些方法不会产生什么动作 xff0c
  • 每日漏洞 | Host头攻击

    01 漏洞描述 HTTP HTTP报文 最后一节 xff0c 简单的介绍了一下首部字段 xff0c 其中就包含了Host首部字段 为了方便获取网站域名 xff0c 开发人员一般依赖于请求包中的Host首部字段 例如 xff0c 在php里用
  • 每日漏洞 | HTTP.sys远程代码执行

    01 漏洞描述 上篇文章介绍了Host头攻击 xff0c 今天我们讲一讲HTTP sys远程代码执行漏洞 HTTP sys是Microsoft Windows处理HTTP请求的内核驱动程序 xff0c 为了优化IIS服务器性能 xff0c
  • miivii域控制器(Xavier)实现TensorRT加速后的Ultra-Fast-Lane-Detection项目

    TRT ONNX2是神力模型转换工具链 鸡汤哥知乎金天 一 配置TRT ONNX2 1 安装依赖 xff08 2020 09 30更新 xff09 昨天刷了JetPack4 4 xff0c 很好用 xff01 只需要下载编译thor即可 x