999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

谷歌Tensorflow框架在自動(dòng)駕駛汽車(chē)車(chē)輛識(shí)別功能中的應(yīng)用

2018-10-26 08:19:22吳麗華
汽車(chē)實(shí)用技術(shù) 2018年20期
關(guān)鍵詞:深度模型

吳麗華

?

谷歌Tensorflow框架在自動(dòng)駕駛汽車(chē)車(chē)輛識(shí)別功能中的應(yīng)用

吳麗華

(比亞迪產(chǎn)品規(guī)劃及汽車(chē)新技術(shù)研究院,廣東 深圳 518118)

文章研究了基于谷歌深度學(xué)習(xí)框架Tensorflow的圖像識(shí)別在智能駕駛汽車(chē)領(lǐng)域里應(yīng)用的可能性。使用卷積神經(jīng)網(wǎng)絡(luò)模型,將車(chē)輛圖片作為訓(xùn)練集輸入神經(jīng)網(wǎng)絡(luò),通過(guò)多次訓(xùn)練校正神經(jīng)網(wǎng)絡(luò)參數(shù),最終可以得到可以識(shí)別汽車(chē)圖片的神經(jīng)網(wǎng)絡(luò)模型。通過(guò)學(xué)習(xí)Tensorflow建模,編程的完整流程,為進(jìn)一步使用Tensorflow構(gòu)建圖像識(shí)別應(yīng)用打下了基礎(chǔ)。

Tensorflow;卷積神經(jīng)網(wǎng)絡(luò);圖像識(shí)別

1 概述

Tensorflow是谷歌基于DisBelief進(jìn)行研發(fā)的新一代深度學(xué)習(xí)軟件庫(kù)。 Tensorflow為張量從流圖的一端流動(dòng)到另一端的計(jì)算過(guò)程。是一個(gè)將復(fù)雜的數(shù)據(jù)結(jié)構(gòu)傳輸至深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)中進(jìn)行分析和處理過(guò)程的系統(tǒng)。本文基于tensorflow框架,搭建了一套完整的車(chē)輛圖片識(shí)別系統(tǒng),對(duì)深度學(xué)習(xí)的圖像獲取與預(yù)處理,識(shí)別訓(xùn)練,識(shí)別結(jié)果整定方面做了詳細(xì)的研究。

2 Tensorflow深度學(xué)習(xí)框架

Tensorflow使用圖來(lái)表示計(jì)算任務(wù),在執(zhí)行計(jì)算操作之前需要將圖構(gòu)建完成。每一個(gè)非葉子節(jié)點(diǎn)都視為一種操作,葉子節(jié)點(diǎn)則表示特殊的操作類(lèi)型,比如返回常量值或者變量值。創(chuàng)建圖的最后階段需要向圖中添加一個(gè)初始化操作的節(jié)點(diǎn),其作用是將所有的變量進(jìn)行初始化。圖創(chuàng)建完成后,才能啟動(dòng)圖。啟動(dòng)圖的第一步是創(chuàng)建一個(gè)Session對(duì)象,如果無(wú)任何創(chuàng)建參數(shù),會(huì)話構(gòu)造器將啟動(dòng)默認(rèn)圖。然后進(jìn)行變量的初始化操作、運(yùn)行操作節(jié)點(diǎn)、更新變量值。在神經(jīng)網(wǎng)絡(luò)優(yōu)化算法中,最常用的方法是反向傳播算法。圖1主要展示了使用反向傳播算法訓(xùn)練神經(jīng)網(wǎng)絡(luò)的流程圖。反向傳播算法需要實(shí)現(xiàn)一個(gè)迭代的過(guò)程。在每次迭代的開(kāi)始,需要選取小部分訓(xùn)練數(shù)據(jù),通過(guò)計(jì)算訓(xùn)練數(shù)據(jù)的預(yù)測(cè)答案與真實(shí)答案進(jìn)行比對(duì),相應(yīng)的更新神經(jīng)網(wǎng)絡(luò)的參數(shù),從而達(dá)到優(yōu)化模型的目的。

圖1 神經(jīng)網(wǎng)絡(luò)反向傳播優(yōu)化流程圖

3 TF構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)

本文采用的訓(xùn)練模型是仿照LeNet5 CNN架構(gòu),LeNet 5最早是在1998年由Yann Lecun博士提出的。它是最早的CNN之一,專(zhuān)門(mén)用于對(duì)手寫(xiě)數(shù)字進(jìn)行分類(lèi)。就是兩個(gè)卷積層(每個(gè)卷積層后加一個(gè)池化層)加兩個(gè)全連接層加最后一個(gè)softmax輸出分類(lèi)結(jié)果。

Lenet5架構(gòu)如下圖所示:

圖2 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)

本文的構(gòu)建的TF卷積神經(jīng)網(wǎng)絡(luò)主要有5種結(jié)構(gòu)組成:

(1)輸入層。輸入層是整個(gè)神經(jīng)網(wǎng)絡(luò)的輸入,在處理圖像的卷積神經(jīng)網(wǎng)絡(luò)中,它一般代表了一張圖片的像素矩陣。

(2)卷積層。從名字就可以看出,卷積層是一個(gè)卷積神經(jīng)網(wǎng)絡(luò)中最為重要的部分。卷積層中每一個(gè)節(jié)點(diǎn)的輸入只是上一層神經(jīng)網(wǎng)絡(luò)的一小塊,這個(gè)小塊常用的有3*3或者5*5。卷積層試圖將神經(jīng)網(wǎng)絡(luò)中的每一小塊進(jìn)行更加深入地分析從而得到抽象程度更高的特征。

(3)池化層(pooling)。池化層神經(jīng)網(wǎng)絡(luò)不會(huì)改變?nèi)S矩陣的深度,但是它可以縮小矩陣的大小。

(4)全連接層。如圖所示,在經(jīng)過(guò)多輪卷積層和池化層的處理之后,在卷積神經(jīng)網(wǎng)絡(luò)的最后一般會(huì)是由1到2個(gè)全連接層來(lái)給出最后的分類(lèi)結(jié)果。

(5)Softmax層,該層主要用于分類(lèi)問(wèn)題。通過(guò)softmax層,可以得到當(dāng)前樣例屬于不同種類(lèi)的概率。

程序運(yùn)行構(gòu)建的卷積神經(jīng)網(wǎng)絡(luò),讀取已經(jīng)打亂順序的訓(xùn)練圖像集,每訓(xùn)練一遍則保存新的ckpt文件,該文件為訓(xùn)練模型的參數(shù)文件。通過(guò)調(diào)整訓(xùn)練步長(zhǎng)和訓(xùn)練次數(shù),我們就可以訓(xùn)練出可以使用的模型文件。訓(xùn)練程序代碼如下:

def run_training():

train_dir = '/data/train/'

logs_train_dir = '/logs/train/'

train,train_label = input_data.get_files(train_dir)

train_batch,train_label_batch = input_data.get_batch(train, train_label,IMG_W,IMG_H,BATCH_SIZE,CAPACITY)

train_logits = model.inference(train_batch, BATCH_SIZE, N_CLASSES)

train_loss = model.losses(train_logits, train_label_batch)

train_op = model.trainning(train_loss, learning_rate)

train_acc = model.evaluation(train_logits,train_label_batch)

summary_op = tf.summary.merge_all()

sess = tf.Session()

train_writer = tf.summary.FileWriter ( logs_train_dir, sess. graph)

saver = tf.train.Saver()

sess.run(tf.global_variables_initializer())

coord = tf.train.Coordinator()

threads = tf.train.start_queue_runners (sess=sess,coord= coord)

try:

for step in np.arange(MAX_STEP):

if coord.should_stop():

break

_,tra_loss,tra_acc = sess.run([train_op,train_loss,train_acc])

if step % 50 == 0:

print('Step %d, train loss = %.2f, train accuracy = %.2f%%' %(step, tra_loss, tra_acc))

summary_str = sess.run(summary_op)

train_writer.add_summary(summary_str, step)

if step % 2000 == 0 or (step + 1) == MAX_STEP:

checkpoint_path = os.path.join(logs_train_dir, 'mode2. ckpt')

saver.save(sess, checkpoint_path, global_step = step)

except tf.errors.OutOfRangeError:

print ('Done training -- epoch limit reached')

finally:

coord.request_stop()

coord.join(threads)

sess.close()

然后,運(yùn)用訓(xùn)練好的模型,我們可以代入ckpt參數(shù)文件,檢測(cè)測(cè)試圖片分辨類(lèi)別。代碼實(shí)例如下:

with tf.Session() as sess:

print('reading checkpoints...')

ckpt = tf.train.get_checkpoint_state(logs_train_dir)

if ckpt and ckpt.model_checkpoint_path:

global_step =ckpt.model_checkpoint_ path.split('/') [-1]. split('.')[-1]

saver.restore(sess,ckpt.model_checkpoint_path)

print('Loading success, global_step is %s'% global_step)

else:

print ('No checkpoint file found')

prediction = sess.run(logit, feed_dict={x: image_array})

max_index = np.argmax(prediction)

通過(guò)訓(xùn)練模型,最終可以得到訓(xùn)練集的正確率為 100%;測(cè)試集數(shù)據(jù)集正確率為 90%以上。

4 總結(jié)

本文構(gòu)建了一種基于卷積神經(jīng)網(wǎng)絡(luò)的圖像識(shí)別方法,由輸入層,卷積層,池化層,全連接層和softmax層構(gòu)成,對(duì)于識(shí)別圖像有著不錯(cuò)的效果。目前,深度學(xué)習(xí)廣泛的應(yīng)用于學(xué)術(shù)界和工業(yè)界。Tensorflow有著編程簡(jiǎn)單、優(yōu)化算法集成度高,使用靈活的特性,利用Tensorflow將會(huì)使建模,編程,分析效率大大提高。本文介紹了Tensorflow平臺(tái)下神經(jīng)網(wǎng)絡(luò)模型構(gòu)建的一般方法和流程,并且得到了較高識(shí)別率精度的模型。對(duì)構(gòu)建更復(fù)雜的神經(jīng)網(wǎng)絡(luò)具有一定的參考意義。

[1] 章敏敏,徐和平等.谷歌Tensorflow機(jī)器學(xué)習(xí)框架及應(yīng)用[J].微型機(jī)與應(yīng)用,2017(5).

[2] 曹大有,胥帥.基于Tensorflow預(yù)訓(xùn)練模型快速、精準(zhǔn)的圖像分類(lèi)器[J].漢江師范學(xué)院院報(bào),2017(3).

[3] 鄭澤宇,顧思宇.Tensorflow 實(shí)戰(zhàn)Google深度學(xué)習(xí)框架[m].電子工業(yè)出版社.

[4] 黃文堅(jiān),唐源.tensorflow實(shí)戰(zhàn)[m].中國(guó)工信出版集團(tuán),電子工業(yè)出版社.

Application of Google Tensorflow Framework in Automatic Driving Vehicle Identification Function

Wu Lihua

(BYD Product Planning and Automotive New Technology Research Institute,Guangdong Shenzhen 518118)

This paper make the research on the Google deep learning Framework, Tensorflow, and study the image recognition utilization possibility in the intelligent drive area. The model used in this paper is based on Convolutional Neural Network (CNN), we collect auto images for the image data set, which used as training set. Through multiple training tests we set the parameters of the Convolutional Neural Network and set up one CNN model used for auto image recognition. During the tensorflow model programming process, we set up the whole process for deep learning training, which are useful for the later tensorflow image recognition applications.

Tensorflow; Convolutional Neural Network; image recognition

U471.4

B

1671-7988(2018)20-38-03

U471.4

B

1671-7988(2018)20-38-03

吳麗華,就職于比亞迪產(chǎn)品規(guī)劃及汽車(chē)新技術(shù)研究院。

10.16638/j.cnki.1671-7988.2018.20.013

猜你喜歡
深度模型
一半模型
深度理解一元一次方程
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
深度觀察
深度觀察
深度觀察
深度觀察
3D打印中的模型分割與打包
FLUKA幾何模型到CAD幾何模型轉(zhuǎn)換方法初步研究
主站蜘蛛池模板: 国内精品一区二区在线观看| 欧美日韩午夜视频在线观看| 2020国产免费久久精品99| jijzzizz老师出水喷水喷出| 亚洲欧美成人影院| 久久中文电影| 国产精品亚洲精品爽爽| 国产午夜在线观看视频| 9啪在线视频| 亚洲成A人V欧美综合天堂| 毛片基地视频| 一级毛片免费高清视频| 久久久国产精品免费视频| 国产免费羞羞视频| 亚洲妓女综合网995久久| 中文字幕有乳无码| 国产在线第二页| 四虎成人免费毛片| 99re热精品视频中文字幕不卡| 日韩第一页在线| 国产理论精品| 在线观看亚洲人成网站| 日韩在线网址| 97在线公开视频| 欧美日韩中文字幕在线| 一本一道波多野结衣av黑人在线| 免费看a级毛片| 亚洲免费福利视频| 99青青青精品视频在线| 91精品国产一区自在线拍| 精品99在线观看| 亚洲精品视频免费看| 成人欧美日韩| 日本人又色又爽的视频| 免费看av在线网站网址| 国产jizz| 天天色天天综合网| 国产成人高清精品免费5388| 国产成人高清精品免费软件| 国产91线观看| 亚洲专区一区二区在线观看| 亚洲视屏在线观看| 午夜福利网址| 日本三区视频| 一本无码在线观看| 国产95在线 | 亚洲国产亚综合在线区| 日韩精品中文字幕一区三区| 精品国产免费观看| 欧美日韩中文国产| 激情影院内射美女| a级毛片免费看| 91蜜芽尤物福利在线观看| 一级毛片免费高清视频| 亚洲欧美日韩久久精品| 国产91精品调教在线播放| 欧美日韩成人| 五月婷婷综合网| 国产欧美日韩免费| 亚洲人成影院午夜网站| 好吊色妇女免费视频免费| 无码综合天天久久综合网| 亚洲不卡影院| 国产激情无码一区二区APP| 日本高清视频在线www色| 久无码久无码av无码| 草逼视频国产| 亚洲天堂网视频| 中文字幕免费在线视频| 国产va在线观看| 国产成人精品一区二区| 人人91人人澡人人妻人人爽| 亚洲一区无码在线| 免费人成视网站在线不卡| 在线色国产| 一级毛片免费播放视频| 爽爽影院十八禁在线观看| 亚洲人成影视在线观看| 日本成人精品视频| 精品人妻系列无码专区久久| 久久www视频| 国产精品女主播|