车道线检测CLRNet算法复现在Tusimple数据集测试demo

0 写在前面

分享最近在车道线检测方面的工作,详细跟大家说下我的配置环境和过程,欢迎自动驾驶的朋友来交流学习,助力自动驾驶早日落地。

分享一篇今年CVPR车道线检测方向的新工作——CLRNet: Cross Layer Refinement Network for Lane Detection,是自动驾驶创业公司飞布科技和浙江大学合作完成的。

参考代码:https://github.com/Turoad/clrnet

参考原文:https://arxiv.org/abs/2203.10350

介绍:车道线检测任务是一种高次层次信息都依赖的任务,本篇文章中提出了一种级联优化(从高层次的特征到低层次的特征)的车道线检测算法,极大限度利用了高低维度的特征去优化车道线在高分辨率下的预测准确度。不同与之前的LaneeATT中直接特征index的方案,提出了基于双线性采样的线型RoI提取算子(ROIGather)

车道线检测是无人驾驶系统感知模块的重要功能,主要由搭载在车身上的视觉摄像头来完成,对于车道线检测任务,CNN网络的高层次语义信息具有较强的抽象表达能力,可以更加准确判别是否为车道线。而低层次特征中包含较为丰富的纹理信息,可以帮助车道线进行精确定位。使用不同的特征级别对于准确的车道检测非常重要,但这方面的研究仍然不足,并且在港口、城市道路等真实场景中,车道线经常存在破损、被遮挡等情况。为此,文章提出了跨层优化网络(CLRNet),首先检测具有高级语义特征的车道,然后基于低级特征进行细化,充分利用车道检测中的高级和低级特征,提出了ROIGather来收集全局上下文信息,进一步增强了车道的特征表示。此外,设计了整体维度的Lane IoU loss来约束整体车道线的回归精度。

配置环境

1.Prerequisites  Installation:

Only test on Ubuntu18.04 and 20.04 with:

Python >= 3.8 (tested with Python3.8)

PyTorch >= 1.6 (tested with Pytorch1.6)

CUDA (tested with cuda10.2)

Other dependencies described in requirements.txt

2.Clone this repository:

git clone https://github.com/Turoad/clrnet

3.Create a conda virtual environment and activate it (conda is optional)

  • conda create -n clrnet python=3.8 -y
    conda activate clrnet 
  • 安装pytorch,基于cuda10.2安装1.9.1
  • conda install pytorch==1.9.1 torchvision==0.10.1 torchaudio==0.9.1 cudatoolkit=10.2 -c pytorch
  • python setup.py build develop

报错:ImportError: cannot import name ‘nms_impl’ from partially initialized module ‘lanedet.ops’ (most likely due to a circular import)

分析:没有安装setup.py

4.准备Tusimple数据集

数据目录如下所示:

 由于Tusimple数据没有提供语义分割标签,所以需要自己准备

打开终端,执行:

python tools/generate_seg_tusimple.py --root data/Tusimple

生成对应的seg_label

5.Getting Started

For training, run:

python main.py configs/clrnet/clr_resnet34_tusimple.py --gpus 0

For testing, run:

python main.py configs/clrnet/clr_resnet18_tusimple.py --validate --load_from tusimple_r18.pth --gpus 1 

 6.Visualization

run:

​

python main.py configs/clrnet/clr_resnet18_tusimple.py --validate --load_from tusimple_r18.pth --gpus 1 --view
​

生成的result在work_dirs文件夹里面,如下图所示:

效果好的可视化示例:

7.视频demo(自己训练测试的)

动态-哔哩哔哩https://t.bilibili.com/734992612459544576?share_source=pc_native

【CVPR2022车道线检测SOTA工作CLRNet在Tusimple数据集训练测试demo,助力自动驾驶早日落地】https://www.bilibili.com/video/BV1QG4y1G7X9?vd_source=ee36d11fdc4ead2bc0650f7fd81063b1

8.车道线检测相关工作

当前的基于CNN的车道线检测方案主要分为以下三类:基于分割的车道线检测、基于anchor的车道线检测、基于曲线参数化拟合的车道线检测

  1. 基于分割的方案由于需要在整张图上进行逐像素的预测且没有将车道线当做一个完整单元,所以往往比较ineffective and time-consuming。
  2. 基于anchor的方案中,在一些复杂场景中的起点很难识别,这造成相对欠佳的性能表现。
  3. 基于参数化拟合的方案虽然回归更少的参数,但对于预测的参数较为敏感,如高阶系数的错误预测可能造成车道线形状的变化。尽管基于参数化的方案有更快的推理速度,但在精度上有一定的瓶颈。

最后,写作能力也有限,有不对的地方欢迎大家批评指正!

<think>好的,用户想了解MCPModel Context Protocol)的相关信息及其在IT领域的应用。首先,我需要从提供的引用资料中提取关键点,并组织成一个结构清晰的回答。 根据引用[1],MCP是一个开放协议,用于AI应用与本地或远程资源的安全交互。引用[2]提到它实现了LLM应用与外部数据源的无缝集成,由uv这个Python包管理器支持。引用[3]则说明了其客户端-服务器架构、数据交换形式、安全机制和未来扩展计划。 接下来,我需要将信息分点整理,确保涵盖定义、核心功能、技术架构、应用场景、安全机制和未来发展。同时,要生成相关问题,帮助用户深入理解。要注意使用中文,正确应用LaTeX格式,比如提到协议版本时用$v1.0$,并引用标识。最后,检查是否符合所有系统级指令,特别是引用标注的位置和格式是否正确。</think>### MCPModel Context Protocol)模型上下文协议解析 #### 一、定义与核心功能 MCP是一种实现AI应用程序与本地/远程资源安全交互的开放协议,通过标准化接口支持LLM与外部数据源的无缝集成[^1][^2]。其核心功能包括: 1. 构建$AI \leftrightarrow Resource$双向通信通道 2. 支持JSON、XML、Protobuf等多种数据格式交换 3. 提供动态资源分配机制,如内存管理$M_{alloc}(size)$ 4. 实现访问控制策略$P_{access} = \{user, resource, permission\}$ #### 二、技术架构 采用客户端-服务器模式,当前架构包含: $$Client \xrightarrow[SSL/TLS]{REST API} Server \xrightarrow{Resource Manager} Data Sources$$ 其中uv工具包(Rust编写)提供快速部署能力,支持Python环境下的依赖管理 #### 三、典型应用场景 1. 企业知识库实时检索:$\exists x \in KB, query(x) \rightarrow result$ 2. 分布式计算资源调度 3. 多模态数据处理流水线 4. 联邦学习中的安全数据交换 #### 四、安全机制 协议内置三重防护: 1. 传输层加密:$E_{AES-256}(data)$ 2. 访问控制矩阵:$ACL = \bigcup_{i=1}^{n}(user_i, resource_i)$ 3. 操作审计日志:$\log(t)=\sum event(t_i)$ #### 五、未来发展路径 根据路线图,2024年将实现: 1. OAuth 2.0集成:$Auth_{flow} = code \rightarrow token$ 2. 跨云平台适配:$AWS \oplus Azure \oplus GCP$ 3. 量子安全加密升级:$QKD_{BB84}$协议支持[^3] ```python # MCP基础调用示例 import mcp client = mcp.Client(api_key="your_key") response = client.query( resource="database", operation="SELECT * FROM table WHERE condition='value'", format="SQL" ) print(response.data) ```
评论 73
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值