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

電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>自主無人機著陸開源分享

自主無人機著陸開源分享

2022-10-27 | zip | 0.03 MB | 次下載 | 免費

資料介紹

描述

在過去的幾年里,我一直在StreamLogic開發(fā)工具,旨在讓在邊緣構建和部署計算機視覺變得更加容易。我最喜歡的目標平臺之一是來自 tinyVision.aiVision FPGA SoM :

很小的吧?中心,您可以看到來自 HiMax Imaging 的小型、低功耗且價格低廉的相機模塊。我一直在尋找我可能針對此平臺的新應用程序。

幾個月前,在一位商業(yè)伙伴提到他們使用無人機的一個農(nóng)業(yè)用例后,我退出了無人機。無人機是 tinyML 的一個很好的用例;它們需要大量傳感器數(shù)據(jù),并且對尺寸、重量和功率敏感。我對無人機幾乎一無所知,但我整個周末都在嘗試定位和研究開源無人機。在周末結束之前,我購買了一架無人機:Holybro 的QAV250 套件

這架無人機沒有預先組裝,并且是新手,幾個月前,我擁有所有正確的零件并將其從地面上取下來。但是,讓我們跳到故事的結尾。一旦我開始真正駕駛無人機,我就意識到 GPS 定位是多么的不準確。使用自動駕駛儀執(zhí)行自主任務時,您可能會發(fā)現(xiàn)您的無人機遠離計劃的飛行路徑。這在飛行和著陸中都非常危險。就在那時,我想出了這個項目的想法。

目標很簡單:使用自動駕駛儀安全著陸無人機。這有兩個部分:1)在預期的表面上著陸(在我的例子中是人行道)和 2)避免表面上的任何意外障礙物。為了實現(xiàn)這一點,我提出了一種計算機視覺算法檢測無人機降落時應該何時以及向哪個方向移動。

算法設計

我的解決方案在高層次上非常簡單。向下的攝像頭安裝在無人機的底部。當無人機緩慢下降著陸時,它會捕捉圖像進行分析。首先,將無人機正下方的平方米確定為著陸點。其次,還對八個方向(北、東北、東、東南、南、西南、西、西北)的附近站點進行評級。最后,如果附近任何一個站點的評分明顯優(yōu)于當前站點,則無人機的位置將沿相應方向調整。

這是從我的無人機拍攝的示例圖像:

pYYBAGNYsDiAU3J7AABPOgdbiWc028.png
?

如果我們繼續(xù)前進,中間的黑色方塊就是當前的著陸點。它周圍的標記方塊是評估可能的方向變化的候選站點。顯然,如果我們要降落在人行道上,我們想在這種情況下向東南移動。

嗯,這是高水平,但您可能仍然想知道 1)您如何知道一米的大小以及 2)您如何評價它?第一個很簡單,無人機已經(jīng)有一個高度傳感器,所以你可以估計無人機的高度。鑒于高度、一些相機規(guī)格和一些代數(shù),計算當前圖像的每米像素數(shù) (PPM) 非常簡單。在這種情況下,它的計算結果為 PPM = 168 / H。

對于第二個問題,這就是計算機視覺的用武之地。我們需要能夠對圖像進行任意裁剪,并獲得關于該圖像是無障礙路面的可能性的定量分數(shù)。實際值在這里并不重要,只要我們可以比較兩個分數(shù)來確定哪個更好。可以手工制作算法,但我選擇訓練卷積神經(jīng)網(wǎng)絡 (CNN) 來生成分數(shù)。

下一節(jié)將討論我是如何訓練 CNN 的,但讓我們看一下上圖的輸出:

poYBAGNYsDqALTP4AAAmonmQKIM201.png
?

此圖顯示當前著陸點(標記為 C)和所有 8 個方向的候選點的得分。毫無疑問,東南部是希望的贏家。

機器學習

如上所述,我選擇使用 CNN 為候選著陸點生成定量分數(shù)。具體來說,全卷積網(wǎng)絡(FCN)。這些與其他 CNN 的不同之處在于它們不以密集或全局池化層結束。最后一個卷積層的激活圖網(wǎng)絡輸出。正如您將看到的,這非常適合此應用程序。

訓練 FCN 有不同的方法,但我選擇先構建分類器 CNN,然后將其轉換為 FCN。讓我們先看看我是如何構建分類器的。

我想創(chuàng)建一個分類器,將小圖像塊分類為好或壞。但首先,我需要數(shù)據(jù)。自然地,我花了很多時間在互聯(lián)網(wǎng)上搜索一些公共數(shù)據(jù)集。不幸的是,沒有什么真正適合我的任務。我需要創(chuàng)建自己的數(shù)據(jù)集,但是如何創(chuàng)建?最后,我創(chuàng)建了自己的電池供電圖像記錄器

pYYBAGNYsEGAY0aKAAcrYEbxA2Q118.jpg
?

圖像記錄器每秒捕獲圖像并將它們寫入 SD 卡。這使我能夠在著陸期間從我的無人機收集圖像,如下所示:

poYBAGNYsEOAelHeAAA7FiOofMI253.png
?

手頭有許多圖像,我創(chuàng)建了三個不同類別的補丁數(shù)據(jù)集:

  • 地面(非人行道)
  • 路面
  • 未知(人行道邊緣/非人行道)

我最初收集了大約 2,000 個補丁。然后我花了很多時間嘗試訓練一個淺層網(wǎng)絡(2 個卷積層),但沒有取得多大成功。我嘗試了許多數(shù)據(jù)增強和網(wǎng)絡結構都無濟于事。網(wǎng)絡總是會在驗證集上生成隨機結果或做出恒定的選擇 (:sigh:)。

除了獲取更多數(shù)據(jù)外,別無他法。所以,我從我的圖像中收集了大約 1, 800 個補丁。Bingo,大約有 4, 800 個補丁,訓練表現(xiàn)良好,經(jīng)過一些實驗,我的網(wǎng)絡達到了 88% 的準確率。這是最終的網(wǎng)絡:

model = Sequential([
    layers.Input(shape=(tgt_width,tgt_height,3)),
    layers.Conv2D(10, 5, strides=2, padding='valid', activation='relu'),
    layers.Conv2D(3, 3, padding='valid'),
    layers.GlobalAveragePooling2D(),
])

這個模型只有 1, 033 個參數(shù)

有關完整的訓練過程,請參閱training.ipynb代碼存儲庫中的 Jupyter 筆記本。

全卷積網(wǎng)絡

有了地面補丁分類器,是時候將其轉換為我們可以應用于整個圖像的 FCN。查看上面的網(wǎng)絡,您可以看到通過移除 GlobalAveragePooling2D 層,我們最終得到了一個僅包含卷積層的網(wǎng)絡。它接受任何圖像大小并生成比例大小的激活圖。FCN 的結果實際上與以滑動窗口方式將補丁分類器應用于圖像中的所有補丁相同。輸出圖中每個位置的激活值是輸入圖像中相應位置的補丁的分類器結果。

這真的有效嗎?我們來看一下。這是示例圖像的渲染和 FCN 的相應輸出:

pYYBAGNYsEaALPseAAChIJZPiKo996.png
?

右圖顯示了路面類的 FCN 輸出。將正確圖像中的值與候選站點相加,可以得出該站點的分數(shù)。

這是呈現(xiàn)相同數(shù)據(jù)的另一種方法:

poYBAGNYsEmADdZoAAAwNmcSamM792.png
?

在這張圖片中,我用一個紅色正方形覆蓋了原始圖像,其透明度是路面類輸出的倒數(shù)(即越有可能是路面,越透明)。查看目標著陸點,紅色越多,得分越低。

創(chuàng)建 FCN 并將權重從訓練的分類器轉移到 FCN 的所有詳細信息都在evaluation.ipynb代碼存儲庫的 Python 筆記本中。

量化

我對網(wǎng)絡進行了量化,以使用 8 位權重和 8 位激活來獲得更好的運行時性能。您可以遵循 Tensorflow 文檔中描述的標準程序,但我使用了我自己的方法,該方法具有更簡單的量化模型。該過程在README代碼存儲庫中進行了詳細說明。

這是量化網(wǎng)絡的輸出示例:

poYBAGNYsE2AbbLWAABkO6docVE367.png
?

這與原始網(wǎng)絡的輸出幾乎沒有區(qū)別:

poYBAGNYsE-ATmH1AABj-ALKFpE329.png
?

硬件構建

我已經(jīng)有了一個帶有 Vision FPGA SoM 的硬件堆棧和一個來自Battery-powered Image Logger項目的微控制器不幸的是,結果證明微控制器太小了。計算 FCN 中每一層的輸入/輸出激活圖的大小,我們發(fā)現(xiàn)我們需要 48KB 的緩沖區(qū)空間。幸運的是,還有另一個符合要求的 Feather 板。

Feather M4 Express 不僅速度更快,而且擁有高達 192KB 的 RAM該項目不需要 SD 卡,因此我們的構建只是堆疊在 Feather M4 Express 上的 Vision FPGA SoM 板。

pYYBAGNYsFOAZshdAAbjEjVi0N0570.jpg
?

體積小、重量輕、電池供電!

執(zhí)行

從框圖中您可以看到 FPGA 被用作相機模塊和微控制器之間的橋梁。

poYBAGNYsFWAVJwGAABhr02-OG8327.png
?

FPGA 將捕獲的圖像以圖像傳感器的原始格式(即拜耳濾波器圖像)傳遞給微控制器。FPGA 的預構建編程文件在代碼庫中提供。

這讓微控制器的任務是:

  • 將圖像從 Bayer 轉換為 RGB 格式
  • 將圖像下采樣到 80x80
  • 執(zhí)行 FCN 推理
  • 對目標站點區(qū)域求和

所有這些任務的源代碼都包含在sketch代碼存儲庫的文件夾中。我將在這里對代碼做一些評論。

完整的原始圖像超過 100KB,雖然這個 MCU 有 192KB,但我不想不必要地浪費空間。下采樣的圖像只需要 20KB。您將在從 FPGA 讀取圖像的循環(huán)中看到,它在讀取時執(zhí)行拜耳轉換和下采樣,一次一個塊,因此我們只需要為下采樣圖像提供足夠的空間。

這個網(wǎng)絡沒有使用 CNN 框架,而是非常簡單,以至于我實現(xiàn)了自己的卷積和激活函數(shù)。這些在gndnet.cpp文件中定義。如果您有興趣了解有關卷積如何工作的更多信息,它的編寫方式非常簡單。我并不太擔心性能,但這些可能會被 ARM神經(jīng)網(wǎng)絡庫中的函數(shù)取代以獲得更好的性能。

結果

著陸算法與無人機飛行控制器的集成超出了此概念驗證的范圍。目標是設計和訓練算法,證明其有效性并獲得一些性能數(shù)據(jù)。

從質量上看,該算法看起來不錯。它已在用于培訓的站點以及未用于培訓的站點的測試圖像上進行了評估。結果非常令人鼓舞。當然,要投入生產(chǎn),人們可能希望對來自多個站點的數(shù)據(jù)進行訓練。

在性能方面,從圖像捕獲到分數(shù)計算的整個過程大約是 525 毫秒。這意味著略低于 2 FPS。這可能會起作用,因為無人機確實以相當慢的速度下降。但是,這很容易得到改善。例如,如果將 Bayer 轉換和下采樣功能移至 FPGA,則時間會縮短到 200 毫秒多一點。那將超過 4 FPS,這絕對足夠了。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1A7159和A7139射頻芯片的資料免費下載
  2. 0.20 MB   |  55次下載  |  5 積分
  3. 2PIC12F629/675 數(shù)據(jù)手冊免費下載
  4. 2.38 MB   |  36次下載  |  5 積分
  5. 3PIC16F716 數(shù)據(jù)手冊免費下載
  6. 2.35 MB   |  18次下載  |  5 積分
  7. 4dsPIC33EDV64MC205電機控制開發(fā)板用戶指南
  8. 5.78MB   |  8次下載  |  免費
  9. 5STC15系列常用寄存器匯總免費下載
  10. 1.60 MB   |  7次下載  |  5 積分
  11. 6模擬電路仿真實現(xiàn)
  12. 2.94MB   |  4次下載  |  免費
  13. 7PCB圖繪制實例操作
  14. 2.92MB   |  2次下載  |  免費
  15. 8零死角玩轉STM32F103—指南者
  16. 26.78 MB   |  1次下載  |  1 積分

本月

  1. 1ADI高性能電源管理解決方案
  2. 2.43 MB   |  452次下載  |  免費
  3. 2免費開源CC3D飛控資料(電路圖&PCB源文件、BOM、
  4. 5.67 MB   |  141次下載  |  1 積分
  5. 3基于STM32單片機智能手環(huán)心率計步器體溫顯示設計
  6. 0.10 MB   |  137次下載  |  免費
  7. 4A7159和A7139射頻芯片的資料免費下載
  8. 0.20 MB   |  55次下載  |  5 積分
  9. 5PIC12F629/675 數(shù)據(jù)手冊免費下載
  10. 2.38 MB   |  36次下載  |  5 積分
  11. 6如何正確測試電源的紋波
  12. 0.36 MB   |  19次下載  |  免費
  13. 7PIC16F716 數(shù)據(jù)手冊免費下載
  14. 2.35 MB   |  18次下載  |  5 積分
  15. 8Q/SQR E8-4-2024乘用車電子電器零部件及子系統(tǒng)EMC試驗方法及要求
  16. 1.97 MB   |  8次下載  |  10 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935121次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
  4. 1.48MB  |  420062次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233088次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191367次下載  |  10 積分
  9. 5十天學會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183335次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81581次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73810次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65988次下載  |  10 積分
主站蜘蛛池模板: 免费国产成人高清在线看软件 | 国精产品一区一区三区有限 | 蜜桃AV色欲A片精品一区 | aaa在线观看视频高清视频 | 18禁黄久久久AAA片 | 嫩草www视频在线观看高清 | 精品久久日日躁夜夜躁AV | 人妻天天爽夜夜爽三区麻豆A片 | 第一次处破女完整版电影 | 三级成年网站在线观看 | 一个人HD在线观看免费高清视频 | 小黄文污到你湿 | 最近免费中文MV在线字幕 | 国产精品久久久久秋霞影视 | 亚洲精品无码葡京AV天堂 | 父皇轻点插好疼H限 | 兔费看少妇性L交大片免费 偷偷要色偷偷 | 国拍自产精品福利区 | 日韩欧美精品有码在线播放 | 日本aa大片 | 激情丛林电影完整在线 | 色偷拍自怕亚洲在线 | 精品一区二区三区在线成人 | 大学生第一次破女在线观看 | 二色AV天堂在线 | 99精品视频| 好紧小嫩嫩水的10p 好紧好湿太硬了我太爽了小说 | 久久婷婷五月综合色丁香 | 国产午夜精品理论片久久影视 | 99热在线视频这里只精品 | 久青草国产在视频在线观看 | 亚洲精品拍拍央视网出文 | 玩弄放荡人妻一区二区三区 | 亚洲最大在线视频 | youjizz护士| 久久re6热在线视频精品66 | 7723手机游戏破解版下载 | 芭乐草莓樱桃丝瓜18岁大全 | 伊人久99久女女视频精品免 | 在线伦理电影网 | 18禁在线无遮挡羞羞漫画 |