【大廠AI課學習筆記NO.53】2.3深度學習開發任務實例(6)數據采集

這個系列寫了53期了,很多朋友收藏,看來還是覺得有用。

后續我會把相關的內容,再次整理,做成一個人工智能專輯。

今天學習到了數據采集的環節。

這里有個問題,數據準備包括什么,還記得嗎?

數據準備包括了數據采集、數據清洗、數據標注、數據驗收、數據交付5個核心過程。

這里要區分數據標注和特征工程中的打標簽。

根據確認的需求,采集對應的圖片,圖片采集需要注意:

  • 使用真實的玩具車進行數據采集
  • 覆蓋不同場景
  • 涵蓋所有可能的光照情況
  • 涵蓋所有可能的交通標志,推動了一大類 非線性映射函數學習問題 的解決

采集數量:根據任務要求不同略有差異,玩具車場景任務較為簡單,總計采集1萬張圖片。

采集方式:讓小車在不同場景形式,使用攝像頭錄制視頻,然后將每幀導出為jpg格式圖片。

?

這里有一些特定的工具,來進行視頻圖像的采集。

延伸學習:


  • 圖像采集
    • 使用玩具車上的攝像頭錄制視頻。
    • 將視頻分解為圖像幀,以便進一步處理。
  • 圖像預處理
    • 調整圖像大小、裁剪、旋轉等,使其適合輸入到神經網絡中。
    • 歸一化圖像,通常是將像素值縮放到0-1之間。
    • 可能還需要進行圖像增強,如亮度調整、對比度增強、噪聲減少等。
  • 數據標注
    • 對于監督學習,你需要標注數據集。這意味著你需要手動或通過半自動工具為圖像中的交通標志牌打上標簽。
    • 開源工具如LabelImg或CVAT可用于圖像標注。
  • 模型訓練
    • 選擇一個深度學習框架,如TensorFlow、PyTorch等。
    • 構建或選擇一個預訓練的卷積神經網絡(CNN)模型來進行圖像分類或目標檢測。
    • 使用標注的數據集來訓練模型。
    • 調整模型參數(超參數調優)以優化性能。
  • 模型評估與優化
    • 使用驗證集評估模型的性能,查看準確率、召回率等指標。
    • 根據評估結果進行模型優化,如調整網絡結構、增加數據等。
  • 部署與測試
    • 將訓練好的模型部署到玩具車上,這可能需要將模型轉換為適合嵌入式設備或邊緣計算的格式。
    • 在實際環境中測試模型的表現,確保它能夠準確地識別交通標志牌。
  • 實時視頻處理
    • 使用OpenCV等庫實時捕獲和處理視頻流。
    • 將每一幀圖像輸入到部署好的模型中進行預測。
    • 根據預測結果做出相應的動作或決策。

開源工具方面,除了之前提到的標注工具外,還有以下一些建議:

  • 深度學習框架:TensorFlow、PyTorch、Keras等。
  • 圖像處理庫:OpenCV、PIL等。
  • 模型轉換工具:如TensorRT、OpenVINO等,用于將模型轉換為適合部署的格式。
  • 邊緣計算平臺:如NVIDIA Jetson系列,適用于在嵌入式設備上運行深度學習模型。

關鍵技術包括卷積神經網絡(CNN)的設計與訓練、目標檢測算法(如YOLO、SSD等)、圖像預處理與增強技術、模型壓縮與優化技術(如量化、剪枝等)以及實時視頻處理技術。這些技術的具體實現會根據你的需求和硬件條件而有所不同。

攝像頭選擇:

  1. 分辨率:選擇至少VGA(640x480像素)或更高分辨率的攝像頭。更高的分辨率通常意味著更清晰的圖像,有助于提高識別準確性。

  2. 幀率:至少30幀每秒(FPS)的幀率是比較理想的,這樣可以捕捉到流暢的視頻,并有助于實時處理。

  3. 焦距和視場角:根據玩具小車的大小和行駛速度,選擇合適的焦距和視場角(FOV)。寬視場角有助于捕捉更多的環境信息,但可能會犧牲圖像的清晰度。

  4. 接口類型:選擇適合你的處理設備的接口類型,比如USB或MIPI CSI。

  5. 尺寸和重量:確保攝像頭足夠小巧輕便,以便安裝在玩具小車上而不會對其性能造成太大影響。

處理器和邊緣計算設備:

是的,你需要一個處理器或邊緣計算設備來運行你的深度學習模型并處理攝像頭捕捉到的圖像。以下是一些可能的選項:

  1. 微控制器/單片機:對于一些基本的圖像處理和簡單的機器學習模型,像Arduino或ESP32這樣的微控制器可能就足夠了。但它們可能不適合運行復雜的深度學習模型。

  2. 單板計算機:像Raspberry Pi或NVIDIA Jetson Nano這樣的單板計算機更適合運行深度學習模型。它們有足夠的處理能力來處理視頻流,并且有足夠的內存來存儲和加載模型。

  3. 邊緣計算設備:NVIDIA Jetson系列(如Jetson Nano、Jetson TX2/TX2i、Jetson AGX Xavier)是專為機器學習和人工智能應用設計的邊緣計算設備。它們具有強大的GPU,可以加速深度學習推理,并且尺寸小巧,適合安裝在玩具小車上。

集成到玩具小車上:

  1. 物理安裝:確保攝像頭和處理設備可以穩固地安裝在玩具小車上,并且攝像頭的視角能夠清晰地捕捉到交通標志。

  2. 電源管理:你需要一個合適的電源解決方案來為攝像頭和處理設備供電。這可能包括電池、電壓轉換器等。

  3. 數據傳輸:確保攝像頭和處理設備之間的數據傳輸是穩定和高效的。這可能涉及到選擇合適的接口和線纜。

  4. 實時性能優化:對于實時應用,你可能需要優化你的深度學習模型和圖像處理流程,以確保它們可以在你的處理設備上實時運行而不會造成太大的延遲。

總之,選擇合適的攝像頭和處理設備是實現玩具小車識別交通標志的關鍵步驟。根據你的需求和預算,你可以從上述建議中選擇適合你的組件。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/712003.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/712003.shtml
英文地址,請注明出處:http://en.pswp.cn/news/712003.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ZStack Cube超融合入選IDC《中國超融合基礎架構市場評估》報告

近日,IDC發布了《中國超融合基礎架構市場評估,2023》。IDC針對中國超融合基礎架構市場的發展現狀展開了調研,明確了最終用戶構建融合型云平臺的痛點和難點,闡述了市場中各技術服務提供商的服務方案和優勢,并對未來中國…

vue3+ts+vite數據大屏自適應總結(兩種方法)

總結一下我常用的數據大屏自適應方法 目錄 1、通過css縮放方案: 利用transform:scale 進行適配2、采用rem布局, 根據屏幕分辨率大小不同,調整根元素html的font-size, 從而達到每個元素寬高自動變化,適配不…

接口測試實戰--mock測試、日志模塊

一、mock測試 在前后端分離項目中,當后端工程師還沒有完成接口開發的時候,前端開發工程師利用Mock技術,自己用mock技術先調用一個虛擬的接口,模擬接口返回的數據,來完成前端頁面的開發。 接口測試和前端開發有一個共同點,就是都需要用到后端工程師提供的接口。所以,當…

Redis速學

一、介紹Redis 基本概念和特點 Redis是一個開源的內存數據庫,它主要用于數據緩存和持久化。其數據存儲在內存中,這使得它具有非常快的讀寫速度。Redis支持多種數據結構,包括字符串、哈希、列表、集合和有序集合,這使得它非常靈活…

書生·浦語大模型圖文對話Demo搭建

前言 本節我們先來搭建幾個Demo來感受一下書生浦語大模型 InternLM-Chat-7B 智能對話 Demo 我們將使用 InternStudio 中的 A100(1/4) 機器和 InternLM-Chat-7B 模型部署一個智能對話 Demo 環境準備 在 InternStudio 平臺中選擇 A100(1/4) 的配置,如下圖所示鏡像…

微店商品詳情 API 支持哪些商品信息的獲取?

微店(Weidian)并沒有一個公開的、官方維護的API文檔來供開發者使用。這意味著,如果你想要獲取微店商品詳情或其他相關信息,你通常需要通過微店官方提供的方式來實現,例如使用其開放平臺、官方SDK或聯系微店的技術支持獲…

Spring常見面試題知識點總結(三)

7. Spring MVC: MVC架構的概念。 MVC(Model-View-Controller)是一種軟件設計模式,旨在將應用程序分為三個主要組成部分,以實現更好的代碼組織、可維護性和可擴展性。每個組件有著不同的職責,相互之間解耦…

11.Prometheus常見PromeQL表達式

平凡也就兩個字: 懶和惰; 成功也就兩個字: 苦和勤; 優秀也就兩個字: 你和我。 跟著我從0學習JAVA、spring全家桶和linux運維等知識,帶你從懵懂少年走向人生巔峰,迎娶白富美! 關注微信公眾號【 IT特靠譜 】,每天都會分享技術心得~ …

YOLO算法

YOLO介紹 YOLO,全稱為You Only Look Once: Unified, Real-Time Object Detection,是一種實時目標檢測算法。目標檢測是計算機視覺領域的一個重要任務,它不僅需要識別圖像中的物體類別,還需要確定它們的位置。與分類任務只關注對…

【矩陣】【方向】【素數】3044 出現頻率最高的素數

作者推薦 動態規劃的時間復雜度優化 本文涉及知識點 素數 矩陣 方向 LeetCode 3044 出現頻率最高的素數 給你一個大小為 m x n 、下標從 0 開始的二維矩陣 mat 。在每個單元格,你可以按以下方式生成數字: 最多有 8 條路徑可以選擇:東&am…

安裝 Ubuntu 22.04.3 和 docker

文章目錄 一、安裝 Ubuntu 22.04.31. 簡介2. 下載地址3. 系統安裝4. 系統配置 二、安裝 Docker1. 安裝 docker2. 安裝 docker compose3. 配置 docker 一、安裝 Ubuntu 22.04.3 1. 簡介 Ubuntu 22.04.3 是Linux操作系統的一個版本。LTS 版本支持周期到2032年。 系統要求雙核 C…

C++的模板template

一、什么是模板 C中的模板分為類模板和函數模板,并不是一個實際的類或函數,這指的是編譯器不會自動為其生成具體的可執行代碼。只有在具體執行時,編譯器才幫助其實例化。 二、為什么引入模板 拿我們最常見的交換函數來舉例子,如果…

代碼隨想錄 二叉樹第二周

目錄 101.對稱二叉樹 100.相同的樹 572.另一棵樹的子樹 104.二叉樹的最大深度 559.N叉樹的最大深度 111.二叉樹的最小深度 222.完全二叉樹的節點個數 110.平衡二叉樹 257.二叉樹的所有路徑 101.對稱二叉樹 101. 對稱二叉樹 已解答 簡單 相關標簽 相關企業 給你一…

《求生之路2》服務器如何選擇合適的內存和CPU核心數,以避免丟包和延遲高?

根據求生之路2服務器的實際案例分析選擇合適的內存和CPU核心數以避免丟包和延遲高的問題,首先需要考慮游戲的類型和對服務器配置的具體要求。《求生之路2》作為一款多人在線射擊游戲,其服務器和網絡優化對于玩家體驗至關重要。 首先,考慮到游…

Java應用程序注冊成Linux系統服務后,關閉Java應用程序打印系統日志

Java應用程序有自己的日志框架,有指定位置的日志文件,不需要在系統日志里記錄,占用磁盤空間。 1.Linux系統文件目錄 /etc/systemd/system/ 找到要修改的Java應用程序服務配置 比如bis-wz-80.service 2.設置不打印日志 StandardOutputnull S…

centos7 搭建 harbor 私有倉庫

一、下載安裝 1.1、harbor 可以直接從 github 上下載:Releases goharbor/harbor GitHub 這里選擇 v2.10.0 的版本 wget https://github.com/goharbor/harbor/releases/download/v2.10.0/harbor-offline-installer-v2.10.0.tgz 1.2、解壓 tar zxvf harbor-offlin…

L2 網絡 Mint Blockchain 正式對外發布測試網

Mint Blockchain 是由 NFTScan Labs 發起的聚焦在 NFT 生態的 L2 網絡,致力于促進 NFT 資產協議標準的創新和 NFT 在現實商業應用場景中的大規模采用。 Mint Blockchain 于 2024 年 2 月 28 號正式對外發布測試網,開始全面進入生態開發者測試開發階段。 …

2403C++,C++11玩轉無棧協程

原文 C11里也能玩無棧協程了? 答案是:可以! 事實上異網在很早時,C11里就可用無棧協程寫異步代碼了,只不過用起來不太方便,來看看C11里怎么用異網無棧協程寫一個回音服務器的吧. #包含 <異網.h> #包含 <內存> #包含 <向量> #包含 <異網/產生.h> 用 …

c++異常機制(5)-- 繼承與異常

我們在c異常機制(3)中自定義類型&#xff0c;我們將相應的異常封裝成了類&#xff0c;在類中實現一些方法&#xff0c;對異常進行處理。其中每一個類都實現了print()方法。 我們使用throw拋出相應異常的虛擬對象&#xff0c;在catch參數中進行匹配&#xff0c;但是如果有很多異…

Springboot項目集成短信驗證碼(超簡單)

操作流程 注冊驗證碼平臺創建驗證碼模版開始集成&#xff08;無需引入第三方庫&#xff09; 注冊并登陸中昱維信驗證碼平臺 獲取AppID和AppKey。 創建驗證碼模版 創建驗證碼模版&#xff0c;獲取驗證碼模版id 開始集成 創建controller import org.springframework.web.bi…