色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

由TensorFlow Lite構建無人駕駛微型汽車,可感應車道、讀取交通標志

Tensorflowers ? 來源:TensorFlow ? 作者:TensorFlow ? 2020-10-21 10:44 ? 次閱讀

文 /Miguel de Andrés-Clavera,產品經理,Google PI

在本文中,我想與大家分享我們用 TensorFlow Lite 為今年 Google I/O 大會構建并展示的演示。很遺憾今年沒能夠進行現場演示,期待這篇文章能為您帶來樂趣與啟發!

TensorFlow Lite
https://tensorflow.google.cn/lite

Pixelopolis 概覽

Pixelopolis 是一套由 TensorFlow Lite 構建的無人駕駛微型汽車。每輛微型汽車都裝配有一部 Pixel 手機,使用手機上的攝像頭檢測和理解周圍的信號。手機使用了Pixel Neural Core 芯片(Edge TPU 支持的端側機器學習),可感應車道、避免碰撞和讀取交通標志。

Pixel Neural Core 芯片
https://blog.google/products/pixel/pixel-4/

Edge TPU
https://cloud.google.com/edge-tpu/

邊緣計算是這類項目的理想實現選擇。由于延遲問題,不推薦使用基于云來進行視頻處理和檢測物體。而設備端操作將大幅提升速度。

用戶可以通過“站點”(手機端的一個應用)與 Pixelopolis 進行交互,選擇車輛的目的地。車輛將自動導航到該目的地,并在應用顯示車輛行程的實時視頻流,這樣用戶便可以查看車輛周圍及所檢測到的物體。

△ 站點應用界面(Pixelopolis 還內置了多語言支持)

△ 車輛應用

工作原理

使用設備端的前置攝像頭,我們可以實時保持車道、進行定位和目標檢測。不僅如此,示例中的 Pixel 4 還支持通過 USB-C 接口的擴展,如控制電機或其他電子元件,車輛可在檢測到其他車輛時停車,或者以正確的交互方式實現轉向。

如果您對技術細節感興趣,下文將繼續為您介紹車輛的主要組件以及我們的構建過程。

保持車道

我們探索用于保持車道的多種模型 。作為基線,我們使用卷積神經網絡 (CNN) 來檢測每幀圖像內的交通指示線,并以每幀為一個單位調整方向盤,這種方案效果良好。我們還通過添加了 LSTM 并使用前期拍攝的多個幀改進了方案。經過更多實驗后,我們采用了與這篇論文類似的模型架構。

論文
https://images.nvidia.com/content/tegra/automotive/images/2016/solutions/pdf/end-to-end-dl-using-px.pdf

△ CNN 模型的輸入和輸出

模型架構

net_in = Input(shape = (80, 120, 3)) x = Lambda(lambda x: x/127.5 - 1.0)(net_in) x = Conv2D(24, (5, 5), strides=(2, 2),padding="same", activation='elu')(x) x = Conv2D(36, (5, 5), strides=(2, 2),padding="same", activation='elu')(x) x = Conv2D(48, (5, 5), strides=(2, 2),padding="same", activation='elu')(x) x = Conv2D(64, (3, 3), padding="same",activation='elu')(x) x = Conv2D(64, (3, 3), padding="same",activation='elu')(x) x = Dropout(0.3)(x) x = Flatten()(x) x = Dense(100, activation='elu')(x) x = Dense(50, activation='elu')(x) x = Dense(10, activation='elu')(x) net_out = Dense(1, name='net_out')(x) model = Model(inputs=net_in, outputs=net_out)

數據收集

在使用此模型之前,我們需要為訓練車輛收集圖像數據。但當時我們并沒有汽車或軌道可以使用。因此,我們決定使用模擬器。我們使用 Unity 以及 Udacity 中的模擬器項目來收集車道保持數據。

△ 模擬器中的軌道中上設有多個路徑點

通過在軌道上設置多個路徑點,微型汽車可以行駛到不同的地點,并從中收集數據。在此模擬器中,我們每 50 毫秒收集一次圖像數據和轉角數據。

微型汽車
https://assetstore.unity.com/packages/essentials/asset-packs/standard-assets-for-unity-2017-3-32351

圖像增強

△ 各種環境下的數據增強

由于所有數據收集工作都是在模擬器內完成,我們需要在場景中創建各種不同的環境,因為我們希望模型能夠應對不同的光照、背景環境和其他噪聲的影響。

我們將以下變量添加到場景中:隨機的 HDRI 球體(具有不同的旋轉模式和曝光值)、隨機的環境亮度和顏色以及隨機出現的車輛。

訓練

△ 第一層神經網絡的輸出

由于我們僅使用模擬器來訓練機器學習模型,方案有可能在現實環境中無法奏效,或無法一次嘗試就成功。在我們的實驗中,車輛在軌道上行駛數秒后便會因各種原因偏離軌道。

△ 早期版本中玩具車偏離了軌道

后來,我們發現這是由于我們大多使用直線軌道訓練模型。為解決這種數據不均衡的問題,我們在場景中添加了各種形狀的曲線。

△(左)方形軌道與(右)彎曲軌道

修正數據集不均衡的問題后,車輛便開始能夠在彎道處正確轉向。

△車輛在彎道處成功轉彎

使用最終軌道設計進行訓練

△ 最終的軌道設計

我們開始為車輛設計更復雜的路況,如:在軌道上添加多個路口,更多可選擇的路線,我們希望車輛能夠應對這些新路況。但是,我們立即遇到了新的問題:當車輛試圖在路口處轉彎時,由于看到軌道外的隨機出現的物體而轉向并撞到了側方軌道。

△ 在具有多種路線的軌道中訓練模型

我們測試了多種解決方案,并選擇了最為簡單有效的一種。我們僅裁剪圖像底部 ? 的部分,并將其錄入到車道保持模型中,然后將模型輸入尺寸調整為 120x40,有效地化解了上述問題。

△ 裁剪圖像底部以實現車道保持

目標檢測

我們使用目標檢測是出于兩個目的。一是定位。每輛車都需要通過檢測周圍環境中的物體來獲知其在城市中的位置(在本例中,我們所檢測的是城市中的交通標志)。另一個則是檢測其他車輛,以免車輛相撞。

選擇目標檢測器模型時,TensorFlow 目標檢測模型庫中已提供了許多模型。但針對 Pixel 4 Edge TPU 設備,我們使用了 ssd_mobilenet_edgetpu 模型。

提供
https://github.com/tensorflow/models/tree/master/research/object_detection

Pixel 4 的“Neural Core” Edge TPU 上使用 ssd_mobilenet_edgetpu 模型可實現目前最快的 MobileNet 目標檢測。每幀僅用時 6.6 毫秒,該檢測速度對于實時應用的要求而言已綽綽有余。

ssd_mobilenet_edgetpu
https://storage.cloud.google.com/mobilenet_edgetpu/checkpoints/ssdlite_mobilenet_edgetpu_coco_quant.tar.gz

△ Pixel 4 Edge TPU 模型性能

數據標注和模擬

我們使用模擬器和真實場景中的圖像數據來訓練模型。接下來,我們使用 Unreal Engine 4 開發了自己的模擬器。模擬器會生成隨機物體和隨機背景,以及可在 TensorFlow 目標檢測 API中使用的 Pascal VOC 格式注解文件。

Unreal Engine 4
https://www.unrealengine.com/

TensorFlow 目標檢測 API
https://github.com/tensorflow/models/tree/master/research/object_detection

△ 使用 UE4 的目標檢測模擬器

對于從真實場景拍攝的圖像,我們需要使用 labelImg 工具進行手動標注。

△ 使用 labelImg 執行數據標注

訓練

△ 損失報告

我們使用 TensorBoard來監控訓練進度及評估 mAP(平均精度,需要手動執行該步驟)。

TensorBoard
https://tensorflow.google.cn/tensorboard

△ TensorBoard 界面

△ 檢測結果和實際標簽

TensorFlow Lite

由于我們希望在運行 Android 的 Pixel 4 設備上運行機器學習模型,需將模型轉換為 .tflite 格式。當然,對于 iOS 和其他設備(包括微控制器)也可使用 TensorFlow Lite。以下是我們執行的步驟:

車道保持

首先,我們使用以下代碼將車道保持模型從 .h5 格式轉換為 .tflite 格式:

import tensorflow as tf converter = tf.lite.TFLiteConverter.from_keras_model_file("lane_keeping.h5") model = converter.convert() file = open("lane_keeping.tflite",'wb') file.write( model ) file.close()

現在,模型已經為該 Android 項目準備就緒。接下來,我們在應用中建立車道保持類。我們從此處的示例 Android 項目著手。

目標檢測我們必須將模型 checkpoint (.ckpt) 轉換為 TensorFlow Lite 格式 (.tflite)

使用 export_tflite_ssd_graph.py 腳本將 .ckpt 轉換為 .pb 文件(TensorFlow 目標檢測 API 中已提供該腳本)

使用 toco: TensorFlow Lite Converter 將 .pb 轉換為 .tflite 格式

export_tflite_ssd_graph.py
https://github.com/tensorflow/models/blob/master/research/object_detection/export_tflite_ssd_graph.py

使用 Neural Core

我們使用此處提供的 Android 示例項目。然后,我們使用以下代碼修改了 delegate 以使用 Pixel 4 Edge TPU。

Interpreter.Options tfliteOptions = new Interpreter.Options(); nnApiDelegate = new NnApiDelegate(); tfliteOptions.addDelegate(nnApiDelegate); tfLite = new Interpreter(loadModelFile(assetManager, modelFilename),tfliteOptions);

此處
https://tensorflow.google.cn/lite/models/object_detection/overview

實時視頻流

在用戶選擇目的地后,車輛將開始無人駕駛。車輛行駛期間會將其周圍影像以視頻流傳輸到“站點”手機。剛開始實現此部分時,我們意識到無法流式傳輸原始的視頻流,因為需要在多部車載手機和“站點”手機之間傳輸,數據量很大。因此我們將原始圖像幀壓縮為 JPEG 格式,然后以 HTTP Content-type:multipart/x-mixed-replace 的 http 協議流式傳輸 JPEG。這樣,我們就可以同時傳輸多個視頻流,且設備之間無明顯延遲。

服務器應用

服務器堆棧

服務器端使用 NodeJS 與 MongoDB。

叫車

由于站點和車輛數量眾多,我們需要找到匹配兩者的有效方案。我們構建了類似熱門打車應用的預訂系統。我們的預訂系統包含 3 個步驟。首先,車輛連接到服務器,并告知服務器車輛已準備好,可供預訂。然后,站點 App 連接到服務器,并向服務器查詢車輛。最后,服務器將查找準備就緒的車輛并將兩者匹配,并為匹配好的站點 App 和車輛 App 儲存設備 ID。

導航

△ 節點/連線

由于將有多輛車穿梭于城市各處,我們需要找到一種有效的導航方法。我們采用了“節點/連線”的概念。節點是地圖上的一處地點,連線是兩個節點之間的路徑。然后,我們將每個節點映射到城市中的實際標志處。

△ 軌道和標志位置俯視圖

在站點應用中選擇目的地后,站點便會向服務器發送節點 ID,接著,服務器將返回一個包含節點及其屬性列表的對象,以便車輛知道行程目的地以及將看到的預期標志。

電子設備

部件

我們首先使用 NUCLEO-F411RE 作為開發板。我們選擇使用 Dynamixel 配置電機

△ NUCLEO-F411RE

我們設計并開發了用于諸如電機等其他組件的屏蔽罩,以精簡車輛底盤內的布線量。屏蔽罩包含三個部分:1) 電池電壓測量電路,2) 帶 MOSFET 的 On/Off 開關,3) 按鈕。

△(左)屏蔽罩和電機,(右)電源插座、電源開關、電機啟動按鈕、電機重置按鈕、開發板狀態 LED、電機狀態 LED

在后面的階段中,我們希望縮減車輛尺寸,因此我們從 NUCLEO-F411RE 遷移到 NUCLEO-L432KC,因為其尺寸更小。

△ NUCLEO-L432KC

車輛底盤和外觀

第一代

△ 第一代設計

我們設計并使用 PLA 材料 3D 打印了車輛底盤。前輪為腳輪。

第二代

△ 第二代設計

我們在開發板上添加了電池測量電路,在手機拆下后開發板后將切斷電源。

第三代

△ 第三代設計

我們添加了狀態 LED 指示燈,以實現輕松調試。在上一版本中,我們遇到了電機過熱的問題,因此在此版本中,我們在電機上添加風扇來改善通風效果。我們還在開發板上添加了 USB Type-C 電力傳輸電路,使手機可以使用車載電池。

第四代

△ 第四代設計

我們將所有控制按鈕和狀態 LED 指示燈都移動到了車輛后部,以方便操作。

第五代

△ 第五代設計

此為最終版本,我們需要盡可能縮小車輛尺寸。首先,我們將開發板從 NUCLEO-F411RE 改為 NUCLEO-L432KC,以實現更小占用空間。然后,我們將前輪更改為球形腳輪。接下來,我們將開發板的位置重新調整到車輛頂部,并將電池疊放到開發板下方。最后,我們取消了 USB Type-C 電力傳輸電路,因為我們希望電池電量能夠全部供應給開發板和電機而非手機,從而延長行駛時間。

性能指標

未來計劃

我們計劃在多個方面改善體驗:

電池

目前,電機和控制器驅動板由三組 3000mAh 鋰離子電池供電,我們設計了一個充電電路來充電。充電時,車輛需移動到充電站,并將電源適配器插入車輛后部進行充電。這種設計有很多不足:車輛在充電時無法行駛,且充電時間長達數小時。

△ 3000mAh 鋰離子電池(左)與 18650 鋰離子電池(右)

我們希望通過更換為 18650 鋰電池來縮短充電過程。后者因容量大、體積小的特點,廣泛用于筆記本電腦、工具和電動自行車等電子產品中。這樣,當車子沒電時僅需更換電池,并用電池充電器為舊電池充電,而無需將車輛一直停放在充電站。

定位

△ SLAM 定位

定位過程對于此裝置而言至關重要,我們希望在應用內加入 SLAM 技術來提高定位的穩定性。我們相信這將大大改善轉彎機制。

了解詳情

非常感謝您的閱讀!手機攝像頭配合 TensorFlow,再加上一點點想象力,可以實現萬千可能。希望這篇文章能夠帶給您靈感并將其應用于自己的項目 - 我們在本項目中收獲了很多知識與經驗,希望您也能在您的項目中有所收獲。本文提供了多項資源的鏈接,供您深入研究不同領域,您也可以從 TensorFlow Hub的開發者學習社區中提供的大量機器學習模型和教程來進一步學習相關知識。

TensorFlow Hub
https://tfhub.dev/

如果您對制造無人駕駛汽車興趣濃厚,并且想要深入了解機器學習和深度學習如何推動無人駕駛汽車行業的發展,請查看 Udacity 中的無人駕駛汽車納米學位項目。對于希望在無人駕駛汽車的各個方面(包括計算機視覺傳感器融合與定位)獲得全面培訓的工程師和學生而言,此項目是理想的選擇。

無人駕駛汽車納米學位項目
https://www.udacity.com/course/self-driving-car-engineer-nanodegree--nd013

致謝

本項目的實現離不開以下杰出才干的專業與付出:Sina Hassani、Ashok Halambi、Pohung Chen、Eddie Azadi、Shigeki Hanawa、Clara Tan Su Yi、Daniel Bactol、Kiattiyot Panichprecha Praiya Chinagarn、Pittayathorn Nomrak、Nonthakorn Seelapun、Jirat Nakarit、Phatchara Pongsakorntorn、Tarit Nakavajara、Witsarut Buadit、Nithi Aiempongpaiboon、Witaya Junma、Taksapon Jaionnom 和 Watthanasuk Shuaytong。

責任編輯:xj

原文標題:Pixelopolis:由 TensorFlow Lite 構建無人駕駛微型汽車

文章出處:【微信公眾號:TensorFlow】歡迎添加關注!文章轉載請注明出處。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 無人駕駛
    +關注

    關注

    98

    文章

    4058

    瀏覽量

    120477
  • 微型汽車
    +關注

    關注

    0

    文章

    2

    瀏覽量

    5372
  • tensorflow
    +關注

    關注

    13

    文章

    329

    瀏覽量

    60530
  • TensorFlow Lite
    +關注

    關注

    0

    文章

    26

    瀏覽量

    621

原文標題:Pixelopolis:由 TensorFlow Lite 構建無人駕駛微型汽車

文章出處:【微信號:tensorflowers,微信公眾號:Tensorflowers】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    智能駕駛在城市交通中的應用

    智能駕駛在城市交通中的應用日益廣泛,以下是對其在城市交通中幾個主要應用場景的分析: 一、無人駕駛出租車/網約車服務 提高出行效率 :無人駕駛
    的頭像 發表于 10-23 15:55 ?685次閱讀

    特斯拉推出無人駕駛Model Y

    北京時間10月11日,特斯拉“WE,ROBOT”發布會正式舉行,在特斯拉發布會上,特斯拉推出無人駕駛Model Y。 在發布會上;埃隆·馬斯克乘坐Robotaxi亮相。馬斯克透露預計特斯拉明年將在
    的頭像 發表于 10-11 16:05 ?1047次閱讀

    文遠知行獲加州無人駕駛汽車載人測試許可

    中國自動駕駛領域的創新先鋒文遠知行,近日傳來喜訊,正式獲得美國加州公用事業監管機構的批準,獲準在加州進行無人駕駛汽車的載人測試。這一里程碑式的突破,標志著文遠知行的自動
    的頭像 發表于 08-14 17:42 ?628次閱讀

    FPGA在自動駕駛領域有哪些應用?

    低,適合用于實現高效的圖像算法,如車道線檢測、交通標志識別等。 雷達和LiDAR處理:自動駕駛汽車通常會使用雷達和LiDAR(激光雷達)等多種傳感器來獲取環境信息。FPGA能夠協助完成
    發表于 07-29 17:09

    5G賦能車聯網,無人駕駛引領未來出行

    無人駕駛車聯網應用已成為智能交通領域的重要發展趨勢。隨著無人駕駛技術的不斷進步和5G網絡的廣泛部署,5G工業路由器在無人駕駛車聯網中的應用日益廣泛,為
    的頭像 發表于 07-24 10:10 ?789次閱讀
    5G賦能車聯網,<b class='flag-5'>無人駕駛</b>引領未來出行

    無人駕駛汽車應用晶振TSX-3225

    近幾年以來,無人產品推出了太多的產品,有無人超市,無人機,無人售貨機,無人駕駛汽車等多種科技在高
    的頭像 發表于 06-18 10:55 ?411次閱讀
    <b class='flag-5'>無人駕駛</b><b class='flag-5'>汽車</b>應用晶振TSX-3225

    PMP30781.1-微型汽車 2W 輔助電源 PCB layout 設計

    電子發燒友網站提供《PMP30781.1-微型汽車 2W 輔助電源 PCB layout 設計.pdf》資料免費下載
    發表于 05-17 15:10 ?0次下載
    PMP30781.1-<b class='flag-5'>微型汽車</b> 2W 輔助電源 PCB layout 設計

    現代汽車、起亞與百度簽署智能網聯汽車戰略合作框架協議

    現代汽車與起亞攜手百度,共同在北京簽署了智能網聯汽車領域的戰略合作框架協議。這一協議標志著雙方將在智能網聯汽車無人駕駛、智能
    的頭像 發表于 05-08 11:25 ?693次閱讀

    百度開放車道級地圖數據,助力高級駕駛無人駕駛

    5月1日期,百度地圖將向高級輔助駕駛行業提供全量車道級地圖數據(LD地圖)。該數據已經覆蓋全國360個地級市及超過360萬公里的高速公路及城市道路。值得關注的是,該LD輕圖已通過相關車企的高級輔助駕駛
    的頭像 發表于 04-30 16:54 ?1296次閱讀

    用于自動駕駛,無人駕駛領域的IMU六軸陀螺儀傳感器:M-G370

    用于自動駕駛,無人駕駛的IMU慣導模塊六軸陀螺儀傳感器:M-G370。自2020年,自動駕駛,無人駕駛已經迎來新突破,自動駕駛
    發表于 04-02 11:44 ?0次下載

    吉利汽車成功完成全球首個無人駕駛漂移!

    吉利汽車成功完成全球首個無人駕駛漂移!
    的頭像 發表于 03-27 14:17 ?753次閱讀
    吉利<b class='flag-5'>汽車</b>成功完成全球首個<b class='flag-5'>無人駕駛</b>漂移!

    32.768K晶振X1A000141000300適用于無人駕駛汽車電子設備

    科技的發展帶動電子元器件的發展電子元器件-“晶振”為現代的科技帶來了巨大的貢獻,用小小的身體發揮著大大的能量。近兩年無人駕駛汽車熱度很高,不少汽車巨頭都已入局。但這項技術的難度不小,相信在未來幾年
    發表于 03-20 14:21 ?0次下載

    5G車載路由器引領無人駕駛車聯網應用

    隨著無人駕駛技術的不斷發展,車聯網正逐漸成為實現智能交通的重要組成部分。5G車載路由器將在車聯網的應用中起到至關重要的作用,它能夠滿足無人駕駛應用的低時延、高速率和實時控制等需求,進一步推動
    的頭像 發表于 02-19 11:48 ?799次閱讀
    5G車載路由器引領<b class='flag-5'>無人駕駛</b>車聯網應用

    小馬智行啟動深圳中心城區無人駕駛商業化運營

    小馬智行近日宣布,已在深圳市寶安區啟動中心城區無人駕駛商業化運營。該公司已獲得深圳市寶安區頒發的智能網聯汽車無人商業化試點許可,標志著其在無人駕駛
    的頭像 發表于 02-04 10:53 ?909次閱讀

    無人駕駛汽車,不聽指揮,只看路燈?

    無人駕駛洞見分析
    電子發燒友網官方
    發布于 :2024年02月02日 18:04:30
    主站蜘蛛池模板: 成人无码精品1区2区3区免费看| 蜜芽最新域名解析网站| 天天噜日日噜夜夜噜| wwwzzz日本| 女教师杨雪的性荡生活| 最新国产av.在线视频| 激情女人花| 亚洲精品乱码8久久久久久日本| 国产精品-区区久久久狼| 乳欲性高清在线| 超大BBWWW| 人体内射精一区二区三区| caoporn超碰| 女教师二十三岁| FREEHDXXXX学生妹| 女人和男人插曲视频大全| 97视频在线免费播放| 免费A级毛片无码无遮挡内射 | 一个人免费视频在线观看| 国产一区二区三区影院| 亚洲第一国产| 国产在线观看www| 亚洲精品97福利在线| 国外色幼网| 亚洲欧洲日本无在线码播放| 国产在线综合色视频| 亚洲免费视频在线| 交换:年轻夫妇-HD中文字幕| 亚洲午夜久久久精品电影院| 精品网站一区二区三区网站| 亚洲午夜久久久精品电影院| 久久re视频这里精品青| 在教室做啊好大用力| 麻豆第一区MV免费观看网站 | 亚洲综合网国产精品一区| 精品无人区麻豆乱码1区2| 伊人久久大香线蕉综合亚洲| 久久亚洲AV成人无码国产漫画| 最近日本MV字幕免费观看视频| 美国一级黄色| xx69美国|