亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        谷歌Tensorflow框架在自動駕駛汽車車輛識別功能中的應用

        2018-10-26 08:19:22吳麗華
        汽車實用技術(shù) 2018年20期
        關(guān)鍵詞:池化層圖像識別框架

        吳麗華

        ?

        谷歌Tensorflow框架在自動駕駛汽車車輛識別功能中的應用

        吳麗華

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

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

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

        1 概述

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

        2 Tensorflow深度學習框架

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

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

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

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

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

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

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

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

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

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

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

        (5)Softmax層,該層主要用于分類問題。通過softmax層,可以得到當前樣例屬于不同種類的概率。

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

        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()

        然后,運用訓練好的模型,我們可以代入ckpt參數(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)

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

        4 總結(jié)

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

        [1] 章敏敏,徐和平等.谷歌Tensorflow機器學習框架及應用[J].微型機與應用,2017(5).

        [2] 曹大有,胥帥.基于Tensorflow預訓練模型快速、精準的圖像分類器[J].漢江師范學院院報,2017(3).

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

        [4] 黃文堅,唐源.tensorflow實戰(zhàn)[m].中國工信出版集團,電子工業(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ī)劃及汽車新技術(shù)研究院。

        10.16638/j.cnki.1671-7988.2018.20.013

        猜你喜歡
        池化層圖像識別框架
        框架
        卷積神經(jīng)網(wǎng)絡模型研究分析*
        基于卷積神經(jīng)網(wǎng)絡的紙幣分類與點鈔
        廣義框架的不相交性
        基于深度學習卷積神經(jīng)網(wǎng)絡的人體行為識別研究
        科技傳播(2020年6期)2020-05-25 11:07:46
        基于Resnet-50的貓狗圖像識別
        電子制作(2019年16期)2019-09-27 09:34:50
        高速公路圖像識別技術(shù)應用探討
        圖像識別在物聯(lián)網(wǎng)上的應用
        電子制作(2018年19期)2018-11-14 02:37:04
        圖像識別在水質(zhì)檢測中的應用
        電子制作(2018年14期)2018-08-21 01:38:16
        基于全卷積神經(jīng)網(wǎng)絡的SAR圖像目標分類*
        免费av片在线观看网站| 亚洲啪啪视频一区二区| 亚洲精品一品区二品区三品区 | 亚洲美女av一区二区| 亚洲精品岛国av一区二区| 亚洲国产精品久久电影欧美| 极品美女扒开粉嫩小泬| 久久99精品久久久久久国产人妖| 中文字幕色资源在线视频| 亚洲精品久久久久久久蜜桃| 久久亚洲中文字幕无码| 国产呦系列呦交| 日本美女在线一区二区| 日本最新免费二区| 香蕉久久夜色精品国产2020| 亚洲国产色图在线视频| 精品国产亚洲av高清大片| 国产午夜鲁丝片av无码| 国产精品刺激好大好爽视频| 中文字幕中文一区中文字幕| 少妇一级淫片中文字幕| 国产午夜福利在线播放| 精品免费一区二区三区在| 亚洲日产乱码在线中文字幕| 国产精品久久久久9999无码| 狠狠久久亚洲欧美专区| 国产亚洲午夜高清国产拍精品不卡 | 亚洲av无码成人专区片在线观看| 伊香蕉大综综综合久久| 国产亚洲精品视频网站| 99无码熟妇丰满人妻啪啪| 国产精品久久久久免费a∨| 亚洲国产精品国自产拍av在线| 中文字幕精品一区久久| 激情偷乱人成视频在线观看| 中文字幕日产人妻久久| 亚洲视频在线观看第一页| 亚洲av永久无码精品网址| 亚洲AV一二三四区四色婷婷| 日本一区二区偷拍视频| 久久精品国产亚洲av麻豆图片|