# 航天智慧物流车 **Repository Path**: fu-shuying/2023-7-ai_car_contest ## Basic Information - **Project Name**: 航天智慧物流车 - **Description**: 全国大学生智能车竞赛图像识别 YOLOv5应用 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-03-10 - **Last Updated**: 2024-03-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: YOLOv5 ## README # 航天智慧物流车 #### 介绍 全国大学生智能车竞赛-航天智慧物流组 主要负责图像识别功能部署、应用、实现 #### 软件架构 硬件架构说明 智能车:轻舟智能车 开发板:Jetson Nano 控制板:stm32 软件架构说明 运行环境:linux、pytorch-gpu、YOLOv5 #### 使用说明 针对倒车入库识别部署YOLOv5 1. 利用小车现场拍照,采集数据集 ![输入图片说明](image/image1.png) 2. 标注数据集,为YOLO格式 倒车入库共四种标识-航天、三院、星航、机电,其中航天、三院对应需将小车倒车停入a库,而星航、机电对应需将小车停入b库; 于是对数据集进行四个标识的长方形标注,并设定对应的a、b类标签; ![输入图片说明](image/image2.png) 3. 制作mycoco数据集 ``` mycoco ├─all_images ├─all_labels ├─images │ ├─train │ └─val ├─ImageSets └─labels ├─train └─val ``` 4. 修改`yolov5-master/data/mycoco.yaml` ``` train: ../mycoco/images/train/ val: ../mycoco/images/val/ nc: 2 names: ['a','b' ] ``` 5. 修改train.py当中相关路径 ``` parser.add_argument('--data', type=str, default=ROOT / 'data/mycoco.yaml', help='dataset.yaml path') ``` 6. 运行train.py 使用`yolov5s.pt`进行训练 7. 最终实现小车到达指定点位,自动加载模型,预测结果(运行detect.py) ![输入图片说明](image/image3.png) #### 前期尝试 1. 利用cnocr识别图片文字 安装cnocr及其依赖 ``` sudo pip3 install cnocr ``` ``` sudo pip3 install -U numpy grpcio absl-py py-cpuinfo psutil portpicker six mock requests gast astor termcolor protobuf keras-applications keras-preprocessing wrapt google-pasta setuptools testresources ``` 安装tensorflow ``` sudo pip3 install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v45 tensorflow ``` 2. 使用easyocr 3. 使用paddle-ocr #### 报错解决 1. h5py安装失败: 先安装Cython `sudo pip3 install Cython` 再安装h5py `sudo pip3 install h5py` 2. ubuntu系统下执行sudo apt-get update报错无法连接上: ①在ubuntu的设置界面下,找到网络->网络代理,设置为已禁用 ②在终端运行命令env | grep -i proxy,显示大致内容有http_proxy,https_proxy 和HTTP_PROXY这三项,对应地使用命令将其全部删除: ``` unset http_proxy unset https_proxy unset HTTP_PROXY ``` ③删除ect/apt目录下apt.conf文件内容 ``` sudo su echo >apt.conf ``` 3. 安装pytorch gpu(最终使用) 4. 编译安装opencv ①解决初始编译报错`cmake pip install cmake` ②更新软件包: ``` sudo apt update sudo apt install -y build-essential cmake git libgtk2.0-dev pkg-config libswscale-dev libtbb2 libtbb-dev sudo apt install -y python-dev python3-dev python-numpy python3-numpy sudo apt install -y curl ``` ③安装视频和图像格式: ``` sudo apt install -y libjpeg-dev libpng-dev libtiff-dev libjasper-dev sudo apt install -y libavcodec-dev libavformat-dev sudo apt install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev sudo apt install -y libv4l-dev v4l-utils qv4l2 v4l2ucp libdc1394-22-dev ``` ④下载镜像 ``` curl -L https://github.com/opencv/opencv/archive/4.1.0.zip -o opencv-4.1.0.zip curl -L https://github.com/opencv/opencv_contrib/archive/4.1.0.zip -o opencv_contrib-4.1.0.zip ``` ⑤解压并创建目录 ``` unzip opencv-4.1.0.zip unzip opencv_contrib-4.1.0.zip cd opencv-4.1.0/ mkdir release cd release/ ``` ⑥编译 ``` cmake -D WITH_CUDA=ON \ -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.1.0/modules \ -D WITH_GSTREAMER=ON \ -D WITH_LIBV4L=ON \ -D BUILD_opencv_python2=ON \ -D BUILD_opencv_python3=ON \ -D BUILD_TESTS=OFF \ -D BUILD_PERF_TESTS=OFF \ -D BUILD_EXAMPLES=OFF \ -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local .. ``` ⑦用Contribs模块编译OpenCV ``` make -j4 sudo make install ``` 编译时间较长,一度以为成功不了,最后功夫不负有心人,长久等待赢来的是安装成功 #### 参与贡献 1. 创建本仓库 2. 部署pytorch gpu环境 3. 利用小车收集现场红绿灯、倒车入库标识图像,完成YOLOv5训练 4. 编写代码,将模型预测融入ros代码,完成小车到达目标点位自动识别并返回预测结果,使小车完成下一步操作 5. 提交代码