日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 卷积神经网络 >内容正文

卷积神经网络

使用paddle框架无人驾驶 —— 卷积神经网络计算方向盘打角

發布時間:2023/12/29 卷积神经网络 92 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用paddle框架无人驾驶 —— 卷积神经网络计算方向盘打角 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

之前一直在弄車道線的檢測和識別,效果都不佳,要么車道線分割太慢了,要么容易出現丟線的情況處理的不是很好,所以索性直接用卷積神經網絡做一個線性擬合。

完整文章地址

古月居博客網站

效果

用魔法玩歐卡2,使用國產深度學習框架paddlepaddle部署無人駕駛

傳送門:視屏鏈接

數據采集

讀取歐卡2的數據做訓練集屬實花了我點功夫,步驟如下:

  • 首先安裝虛擬搖桿vJoySetup.exe
  • 在歐卡里設置操縱模式為鍵盤加vJoy
  • 然后用py代碼發送虛擬搖桿位置控制方向盤轉動
  • 用py代碼寫一個全局鍵盤監控的代碼,使用‘u’ ‘i’兩個按鍵來控制方向盤。
  • 我為什么不用pygame直接讀joy的角度呢?因為真的試了很久讀不到,好像是光標的問題,解決不了。

數據集

下載地址:csdn鏈接

數據集樣式:



log文件前面是圖片地址,空格后是角度

數據集處理代碼

import numpy as np import glob import os# 數據路徑 data_path = "../result/" trainList = '../train_data.txt' testList = '../test_data.txt' # 多少比例用作訓練集 ratio = 0.8# 只讀csv文件 with open(data_path + "log.txt",'r') as logFile:_list = logFile.readlines()# 判斷圖片數是否匹配ls_imgs = glob.glob(data_path + 'IMG/*.jpg')print(len(ls_imgs))print(len(_list))assert len(ls_imgs) == len(_list),'number of images does not match'if (os.path.exists(trainList)):os.remove(trainList)if (os.path.exists(testList)):os.remove(testList)with open(trainList, 'a') as f_train:with open(testList, 'a') as f_test:for index,_list in enumerate(_list):ang = int(_list.split(" ")[-1])img = _list.split(" ")[0]if index % (int(10*ratio) + 1) == 0:f_test.write(img + " " + str(ang) + "\n")else:f_train.write(img + " " + str(ang) + "\n")print("生成完畢,路徑:" + testList + " | " +trainList)

網絡結構

def cnn_model(image):conv1 = fluid.layers.conv2d(input=image, num_filters=24, filter_size=5, stride=2, act='relu')conv2 = fluid.layers.conv2d(input=conv1, num_filters=32, filter_size=5, stride=2, act='relu')conv3 = fluid.layers.conv2d(input=conv2, num_filters=64, filter_size=5, stride=2, act='relu')conv4 = fluid.layers.conv2d(input=conv3, num_filters=64, filter_size=3, stride=2, act='relu')conv5 = fluid.layers.conv2d(input=conv4, num_filters=64, filter_size=3, stride=1, act='relu')fc1 = fluid.layers.fc(input=conv5, size=100, act=None)drop_fc1 = fluid.layers.dropout(fc1, dropout_prob=0.1)fc2 = fluid.layers.fc(input=drop_fc1, size=50, act=None)drop_fc2 = fluid.layers.dropout(fc2, dropout_prob=0.1)predict = fluid.layers.fc(input=drop_fc2, size=1, act=None)return predict

優化方向

  • 優化網絡結構
  • 優化數據集
  • 對數據進行預處理,提高提取車道線的準確率和完全率以及速度,然后再利用處理的結構傳入卷積神經網絡訓練。

總結

以上是生活随笔為你收集整理的使用paddle框架无人驾驶 —— 卷积神经网络计算方向盘打角的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。