<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • x
    x

    采用 TinyML 和 OpenMV 實現機器視覺 - 第 1 部分

    發布時間:2022-7-7 14:25    發布者:eechina
    關鍵詞: TinyML , OpenMV , 機器視覺
    機器學習和 tinyML 可以為嵌入式系統工程師解決許多應用問題。有一個很難從頭開始編碼的獨特問題,那就是圖像中物體的檢測和識別。恰好,物體的檢測和識別是 tinyML 的一個完美應用。然而,啟動 tinyML 和機器視覺 (MV) 項目可能會很復雜。在接下來的幾篇文章中,我們將探討如何使用 OpenMV 攝像頭啟動 MV。

    介紹 OpenMV Cam H7

    假設你對使用微控制器的低功率應用 MV 感興趣。在這種情況下,你要么定制設計攝像頭模塊,要么找一個市面上有售的攝像頭模塊。從頭創建模塊會很有趣,但費錢、耗時。一個有趣的市售解決方案是 OpenMV Cam。

    OpenMV Cam 是一款類似 Arduino 的小型開發板,包括開發者實現 MV 入門所需的一切。首先,必須明白硬件是有不同版本的。最新版本是 OpenMV Cam H7(圖 1)。Cam H7 基于 STMicroelectronics STM32H743VI 的微控制器,采用 Arm Cortex-M7 架構,時鐘速度為 480 MHz。該零件還具有 1 MB SRAM 和 2 MB 閃存。在使用 MV 和學習應用工作時,有大量的內存可用總是一件好事。Cam H7 使用 MT9M114 攝像頭模塊,可以每秒 40 幀 (fps) 的速度捕捉 640 x 320 8 位灰度圖像,或以 40 - 80 fps 的速度捕捉 320 x 240 QVGA 圖像?梢愿鶕眯枨蟾淖償z像頭模塊。


    圖 1:OpenMV Cam H7 模塊擁有開始 MV 設計所需的一切。(圖片來源:OpenMV)

    OpenMV 的開發環境

    OpenMV 集成開發環境 (IDE) 如圖 2 所示,是開發者與 Cam H7 的互動途徑。有了 IDE,開發者能夠對將在模塊上運行的 Python 腳本進行編輯。Cam H7 使用 MicroPython,這是一個專門用于在基于微控制器的系統上運行的 C Python 端口。開發人員可以連接 Cam H7,將腳本加載到設備上并運行應用。集成開發環境也可用于獲取 Cam H7 幀緩沖器圖像的實時反饋。


    圖 2:OpenMV 的開發環境包括開發者對 Cam H7 進行編程并與之互動所需的一切,如文本編輯器、終端和圖像捕捉顯示窗口。(圖片來源:OpenMV)

    對于那些希望使用該模塊實現機器視覺并最終進行機器學習的開發者,不需要看得很遠。OpenMV 集成開發環境包含的示例腳本涵蓋從將系統置于低功耗模式,到物體和人臉檢測等示例腳本。還有將模塊與諸如 Wi-Fi、慣性測量裝置 (IMU) 等外部開發板連接的示例,以及其他選項。

    檢測圖像中的一個圓

    OpenMV IDE 包括一個 HelloWorld 腳本,允許開發人員連接攝像頭并拍攝圖片,為幀緩沖器提供信息。在這篇文章中,用具體的示例講解更能激發我們的興趣。在本示例中,可以檢測圖像中的一些東西,比如圓。

    如果你打開 OpenMV IDE,點擊 File->Examples->Feature-Detection->find_circles.py(見圖 3),就會出現用于檢測圓的腳本。測試這個腳本超級簡單;首先,我們需要準備一張紙或一張便條,畫一個圓(請不要評價我的繪畫能力,會驚掉你的下巴。。接下來,在 IDE 左下方,你會發現一個連接按鈕。點擊該按鈕,連接 Cam H7。然后,點擊連接按鈕下房的綠色播放按鈕。最后,將 Cam H7 對準你畫的圓圈,并在 OpenMV IDE 中監視幀緩沖區。


    圖 3:在 OpenMV IDE 中導航至 find_circles.py 示例腳本。(圖片來源:Beningo Embedded Group)

    你將看到,在幀緩沖器中會周期性地畫出一個紅色的圓,與你畫的圓重疊,如圖 4 所示。請注意,盡管我的繪畫能力有待提高,但 Cam H7 仍然能夠檢測到所拍攝的圖像中有一個類似圓的圖形。在這個系列博客文章中,這是我們第一次檢測圓圈,但不是最后一次!讓我們看一下示例腳本,了解其工作原理。


    圖 4:find_circles.py 示例腳本將在幀緩沖區添加一個紅色的圓,并在檢測到圓時突出顯示。(圖片來源:Beningo Embedded Group)

    分析 find_circles.py 示例

    OpenMV IDE 提供的圓檢測腳本直截明了。首先,該腳本導入所需的 Python 庫,并初始化攝像頭傳感器和時鐘,如列表 1 所示。

    副本
    import sensor, image, time

    sensor.reset()
    sensor.set_pixformat(sensor.RGB565) # grayscale is faster
    sensor.set_framesize(sensor.QQVGA)
    sensor.skip_frames(time = 2000)
    clock = time.clock()

    列表 1:攝像頭傳感器的初始化示例代碼。(代碼來源:OpenMV)

    接下來,一個無限循環會持續運行該應用,就像在任何標準嵌入式應用中一樣。然后,也是最后,就是促使檢測進行的魔法。我們花點時間來研究列表 2。

    副本
    while(True):
      clock.tick()
      img = sensor.snapshot().lens_corr(1.8)

      for c in img.find_circles(threshold = 2000, x_margin = 10, y_margin = 10, r_margin = 10,
          r_min = 2, r_max = 100, r_step = 2):
        img.draw_circle(c.x(), c.y(), c.r(), color = (255, 0, 0))
        print(c)

      print("FPS %f" % clock.fps())

    列表 2:讀取攝像頭傳感器并搜索圖像中的圓代碼示例。(代碼來源:OpenMV)

    列表 2 中的代碼從截取圖像開始。然后,使用 OpenMV 庫中一種名為 find_circles 的方法搜索圖像中的圓。你可以閱讀實際源代碼例子中的注釋,了解參數細節,但我們最感興趣的是 r_min、r_max 和 r_step 參數。r_min 參數指定可以檢測的圓的最小半徑。r_max 參數設定圓的最大半徑值。在此例子中,程序將看到 2 到 100 像素之間的圓。

    檢測到圓時,draw_circle 方法以及圓的 x、y 和半徑值被用來在檢測到的圓上畫一個圓。你會注意到,顏色是用 R、G 和 B 符號指定的,在此例中,所畫的圓為紅色。

    總結

    開發者可以使用機器視覺和 TinyML,并應用于幾乎無限的用例。在這篇博客中,我們只是介紹了 OpenMV Cam H7 和 OpenMV IDE,讓你開始運行,檢測圓。不過,檢測圓并不需要 tinyML,只需要一些庫函數。在下一篇博客中,我們將探索內置的機器學習示例,然后再引入一個更復雜的示例,然后以此為例訓練、部署我們的檢測項目。
    本文地址:http://www.portaltwn.com/thread-795495-1-1.html     【打印本頁】

    本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
    您需要登錄后才可以發表評論 登錄 | 立即注冊

    廠商推薦

    • Microchip視頻專區
    • EtherCAT®和Microchip LAN925x從站控制器介紹培訓教程
    • MPLAB®模擬設計器——在線電源解決方案,加速設計
    • 讓您的模擬設計靈感,化為觸手可及的現實
    • 深度體驗Microchip自動輔助駕駛應用方案——2025巡展開啟報名!
    • 貿澤電子(Mouser)專區

    相關視頻

    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷