圓創力科技

 找回密碼
 立即註冊

QQ登錄

只需一步,快速開始

查看: 14992|回復: 0

HuskyLens 產品介紹與操作

[複製鏈接]
iop0611651 發表於 2020-4-21 11:25 | 顯示全部樓層 |閱讀模式
原文譯自http://wiki2.dfrobot.com.cn/HUSKYLENS_V1.0_SKU_SEN0305_SEN0336
—————————
1. 產品簡介
HuskyLens二哈識圖是一款簡單易用的AI視覺感測器,內置6種功能:人臉識別、物體追蹤、物體識別、巡線追蹤、顏色識別、標籤(二維碼)識別。僅需一個按鍵即可完成AI訓練,擺脫繁瑣的訓練和複雜的視覺演算法,讓你更加專注於項目的構思和實現。
HuskyLens板載UART / I2C介面,可以連接到Arduino、Raspberry Pi、LattePanda、micro:bit等主流控制器,實現硬體無縫對接。HuskyLens直接輸出識別結果給控制器,你無需折騰複雜的演算法,就能製作非常有創意的項目。


2. 技術規格
  • 處理器:Kendryte K210
  • 圖像感測器:
    • SEN0305 HuskyLens: OV2640(200W圖元)
    • SEN0336 HuskyLens PRO: OV5640(500W圖元)

  • 供電電壓:3.3~5.0V
  • 電流消耗:320mA@3.3V, 230mA@5.0V(電流值為典型值;人臉識別模式;80%背光亮度;補光燈關閉)
  • 連線介面:UART,I2C
  • 顯示幕:2.0寸IPS,解析度320*240
  • 內置功能:人臉識別,物體追蹤,物體識別,巡線追蹤,顏色識別,標籤識別
  • 尺寸:52mm*44.5mm

3. 介面與按鍵說明


3.1 介面
  • USB介面:連接到電源,給HuskyLens供電;也可以連接到電腦的USB介面,給HuskyLens升級固件
  • 4pin介面(UART模式)
    [td]
    序號
    標注
    管腳功能
    用途
    1TTXHuskyLens的串口資料發送管腳
    2RRXHuskyLens的串口資料接收管腳
    3-GND電源負極
    4+VCC電源正極
  • 4pin介面(I2C模式)
    [td]
    序號
    標注
    管腳功能
    用途
    1TSDA串列資料線
    2RSCL串列時鐘線
    3-GND電源負極
    4+VCC電源正極


小提示:
  • USB介面與4pin介面,任接一個,即可對HuskyLens供電。
  • 由於板載了電源自動切換電路,USB介面與4pin介面可以同時接電源,且優先使用USB介面上的電源。
  • 請確保電源電壓與功率足夠,防止HuskyLens工作異常。

3.2 功能按鍵與學習按鍵
功能按鍵與學習按鍵的基本操作如下:
  • 向左或向右撥動“功能按鍵”,切換到不同的功能
  • 短按“學習按鍵”,學習指定的物體;長按“學習按鍵”,從不同的角度和距離持續學習指定的物體;如果HuskyLens之前學習過,則短按“學習按鍵”,可讓HuskyLens忘記當前功能下所學的
  • 長按“功能按鍵”,進入當前功能的二級功能表參數設置介面,向左、向右撥動或向下短按“功能按鍵”即可設置相關參數



4. 升級韌體
使用本產品之前,強烈建議你升級到最新版本的韌體,特別是Kickstarter的眾籌支持者。
4.1 windows系統
建議使用windows 10作業系統升級HuskyLens的韌體,簡單方便。操作步驟如下:
  • 下載K-Flash軟體。點擊下載K-Flash。(如果K-Flash無法打開請先點擊下載運行環境 安裝再運行K-Flash)。
  • 下載USB轉串口晶片CP2102的驅動程式。點擊此處 選擇適合您的驅動。(注:也可使用Mind+中的一鍵安裝驅動功能安裝此驅動。)
  • 下載最新的韌體. 點擊下載V0.4.6Stable版本
    在本教程中,使用HUSKYLENSWithModelV0.4.6Stable.kfpkg韌體。
  • 運行K-FLASH軟體, 然後點擊“...”按鈕,載入韌體。
  • 請按照以下參數值,來設置 K-Flash軟體:

  • Device: 選擇您電腦上的COM口,其名字含有“Silicon Labs CP210x USB to UART Bridge”字樣
  • Baud rage: 2000000
  • Chip: In-Chip
  • 不勾選 "Open terminal after flash"



  • 點擊“Flash”按鈕。燒錄過程大概需要5分鐘左右。韌體中有大更新,因此上傳時間會有點長。

  • 出現彈窗,提示“Successful”,則韌體的升級就完成了。

4.2 linux或mac系統
使用linux或mac系統,也可以升級HuskyLens的韌體。以ubuntu 18.04.4為例進行演示。
  • 根據你的作業系統類型,安裝合適的CP2102N驅動程式。點擊此處 下載。
    ubuntu 18.04.4中,HuskyLens插上即可識別,可不安裝驅動。
  • 下載最新的韌體和kflash.py腳本。giteegithub 查看所有版本的固件。
    在本教程中,使用HUSKYLENSWithModelV0.4.6Stable.kfpkg固件。 建議把整個HuskyLens/HUSKYLENSUploader倉庫複製到本地,方便操作。
  • 如你的作業系統中還沒有安裝 pip3,請先安裝。命令列如下:

sudo apt install python3-pip
mac系統中,安裝pip3的命令列如下:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.co ... l/master/install.sh)"brew install python3
  • 安裝pyserial,命令列如下:

sudo pip3 install pyserial
  • 進入HUSKYLENSUploader資料夾。

cd HUSKYLENSUploader
  • 運行以下命令列,上傳固件:

sudo python3 kflash.py -b 2000000 HUSKYLENSWithModelV0.4.6Stable.kfpkg
  • 等待上傳完成即可。

5. 常規參數設置5.1 設置中文語言
功能表介面的預設語言為英文。本教程使用中文語言介面。要將功能表介面的語言設置為中文,請按照如下步驟操作:
  • 向右撥動“功能按鍵”,至螢幕頂端顯示“General Settings”。
  • 向下短按或長按”功能按鍵“,進入“General Settings”的二級功能表參數設置介面。
  • 向右撥動“功能按鍵”,選擇“Language”參數(位於最後一個),然後短按“功能按鍵”,再向右撥動“功能按鍵”選擇“簡體中文”,再短按“功能按鍵”,此時HuskyLens會自動切換到中文語言。

5.2 進入常規設置
進入常規設置的二級功能表並調整各個參數的操作方法如下:
  • 選擇“常規設置”:向右撥動“功能按鍵”,至螢幕頂端顯示“常規設置”。
  • 進入”常規設置“介面:向下短按或長按”功能按鍵“,即可進入

  • 調整各個參數:向左或向右撥動“功能按鍵”,選擇需要設置的參數,然後短按“功能按鍵”進入所選參數的設置,向左或向右撥動“功能按鍵”調整所選參數,再短按“功能按鍵”,確認該參數
  • 保存並退出:參數調整完畢後,向左撥動“功能按鍵”,直至選擇“保存並返回”,然後短按“功能按鍵”,螢幕上會顯示“是否保存參數”的提示,默認選擇“確認”,此時,短按“功能按鍵”即可保存設置好的參數,並自動退出“常規設置”的二級功能表介面。

小提示:
  • 常規設置裡的各項參數,都是通過左右撥動“功能按鍵”和按下“功能按鍵”來進行選擇和設置的。
  • 設置好參數之後,務必選擇“保存並返回”,才能將設置好的參數保存下來

5.3 常規設置的參數項
常規設置的二級功能表參數設置介面,包含了10個不同的參數。
  • 協定種類
    HuskyLens支持三種不同串列傳輸速率的串口協定(9600,115200,1000000),也支援I2C協定。此外,還支援自動識別協定,也就是,HuskyLens會自動切換成串口或I2C協議。建議使用自動識別協定,簡單方便。默認設置為自動識別。
  • 螢幕亮度
    螢幕可以調節亮度,範圍為1~100。預設值為80。
  • 功能表自動隱藏
    如果有一段時間不操作HuskyLens,那麼螢幕上的功能表會自動隱藏。你可以設置這個等待時間,範圍為1~100秒。預設值為10秒。
  • LED開關
    HuskyLens板載了2個LED補光燈。你可以打開或者關閉補光燈。預設值為關。
  • LED亮度
    LED補光燈可以調節亮度,範圍為1~100。預設值為50。
  • RGB開關
    HuskyLens板載了一顆RGB指示燈,你可以打開或者關閉RGB指示燈。預設值為開。
  • RGB亮度
    RGB指示燈也可以調節亮度,範圍為1~100。預設值為20。
  • 初始化設置
    通過初始化設置,把Huskylens恢復到出廠狀態
  • 版本號
    當前固件的版本資訊
  • 語言
    目前HuskyLens支援中文和英文兩種語言。通過語言設置,選擇你需要的語言。

6. 顏色與座標6.1 顏色指示
各個功能中,螢幕中央的方框、“+”字的顏色定義是統一的,有助於你瞭解當前HuskyLens所處的狀態。
[td]
顏色
狀態
由橙色漸變到黃色,再由黃色漸變到橙色未學習過,待學習
黃色正在學習中
藍色已學習過,且識別到學習過的東西
RGB指示燈目前僅用於人臉識別功能的狀態指示,顏色定義如下:
[td]
顏色
狀態
藍色未學習過,偵測到人臉
黃色正在學習中
綠色已學習過,且識別到學習過的人臉
6.2 坐標系
當HuskyLens識別學過的物體時,在螢幕上會有彩色方框將其框選,你可以得知這些方框的座標、長寬。HuskyLens的坐標系如下所示, 這有助於你瞭解彩色方框的座標值。
7. 各功能說明7.1 人臉識別
本功能可以偵測任何臉部輪廓;識別、追蹤學習過的人臉。


識別單個人臉
默認設置為學習並識別單個人臉。


操作設置
向左撥動“功能按鍵”,直至螢幕頂部顯示“人臉識別”。


學習與識別
  • 偵測人臉:
    把HuskyLens對準有人臉的區域,螢幕上會用白色框自動框選出檢測到的所有人臉,並分別顯示“人臉”字樣。
    若此時螢幕中央的“+”字沒有對準任何人臉框,則另一面的RGB燈不亮。
    若此時螢幕中央的“+”字對準在任意人臉框內,則另一面的RGB燈亮藍色。
    小提示:
    如需讓HuskyLens學習或識別自己的臉,也就是自拍,此時看不到螢幕,那麼可以根據RGB指示燈的不同顏色來確定狀態。

  • 學習人臉:
    將HuskyLens螢幕中央的“+”字對準需要學習的人臉,短按“學習按鍵”完成學習。如果識別到相同的臉,則螢幕上會出現一個藍色的框並顯示”人臉:ID1“。這說明已經可以進行人臉識別了。
    然而,上述操作只是讓HuskyLens學習了人臉的一個角度(維度),但實際上人臉是立體的,因此人臉有多個角度。如果人臉角度變化了,比如正臉換成了側臉,那HuskyLens不一定能識別出來。為解決這個問題,HuskyLens內置有持續學習的功能,能錄入人臉的各個角度,讓HuskyLens越學越準確。
    錄入各個角度人臉的操作方法如下:(注:開始學習新的人臉之前,先要讓HuskyLens忘記已經學習過的人臉。操作方法參考“忘記學過的人臉”章節。)
    將HuskyLens螢幕中央的“+”字對準需要學習的人臉,長按“學習按鍵”不鬆開,此時螢幕中會在人臉上顯示黃色框並標識“人臉:ID1”,說明HuskyLens正在學習人臉。然後,將HuskyLens螢幕中央的黃色框依次對準同一個人的臉的不同角度,如正臉、側臉(也可以是同一個人的多張照片),錄入此人臉的各個角度。學習過程中,RGB燈為黃色。
    接著,鬆開“學習按鍵”,結束學習。如果HuskyLens識別到學習過的人臉,則螢幕上,這個人臉會被藍色的框選中,並顯示”人臉:ID1“。
    小提示: 如果螢幕中央沒有“+”字,說明HuskyLens在該功能下已經學習過了(已學習狀態)。如要讓HuskyLens學習新的人臉,則需要讓HuskyLens忘記已學的人臉。

  • 人臉識別:
    HuskyLens學習過的人臉資訊會自動保存起來。後續,當HuskyLens檢測到學習過的人臉時,會將該人臉用藍色方框框選出來並標識“人臉:ID1”,邊框大小會隨著人臉大小而變化,並自動追蹤人臉。此時RGB指示燈為綠色。

  • 忘記學過的人臉:
    如果螢幕中央沒有“+”字,說明HuskyLens在該功能下已經學習過了(已學習狀態)。如要讓HuskyLens學習新的人臉,則需要刪除之前學習過的人臉資訊,也就是讓HuskyLens忘記已學的人臉。
    刪除已學東西的操作方法如下:
    在當前功能下,短按“學習按鍵”,螢幕提示“再按一次遺忘!”。在倒計時結束前,再次短按“學習按鍵”,即可刪除上次學習的東西,螢幕中央顯示“+”字,說明HuskyLens已經準備好學習新東西了。如果不小心短按了“學習按鍵”,螢幕已經提示“再按一次遺忘!”,但又不想刪除已學習的東西,那麼在倒計時結束前,不要有任何操作即可。

讓HuskyLens忘記所學東西的操作方法,在其他功能下,也是完全一樣的,後續不再複述。


識別多個人臉
默認設置為學習並識別單個人臉。如要學習並識別多個人臉,則需要在人臉識別功能的二級功能表參數設置中打開“學習多個”選項。
操作設置
  • 向左撥動“功能按鍵”,至螢幕頂部顯示“人臉識別”。
  • 長按“功能按鍵”,進入人臉識別功能的二級功能表參數設置介面。
  • 向左或向右撥動“功能按鍵”,選中“學習多個”,然後短按“功能按鍵”,接著向右撥動“功能按鍵”打開“學習多個”的開關,即:進度條顏色變藍,進度條上的方塊位於進度條的右邊。再短按“功能按鍵”,確認該參數。
  • 向左撥動“功能按鍵”,選中“保存並返回“,短按”功能按鍵“,螢幕提示”是否保存參數?“。預設選擇”確認“,此時短按”功能按鍵“,即可保存參數,並自動返回到人臉識別模式。



學習與識別
  • 學習多個人臉:
    將HuskyLens螢幕中央的“+”字對準需要學習的人臉,長按“學習按鍵”完成第一個人臉的學習(各個角度)。鬆開”學習按鍵“後,螢幕上會提示:”再按一次按鍵繼續!按其他按鍵結束“。如要繼續學習下一個人臉,則在倒計時結束前短按“學習按鍵”,可以繼續學習下一個人臉。如果不再需要學習其他人臉了,則在倒計時結束前短按”功能按鍵”即可,或者不操作任何按鍵,等待倒計時結束。
    本章節中,我們需要繼續學習下一個人臉,因此在倒計時結束前短按“學習按鍵”。然後將HuskyLens螢幕中央的“+”字對準需要學習的下一個人臉,長按“學習按鍵”完成第二個人的臉的學習。以此類推。
    HuskyLens標注的人臉ID與錄入人臉的先後順序是一致的,也就是:學習過的人臉會按順序依次標注為“人臉:ID1”,“人臉:ID2”,“人臉:ID3”,以此類推,並且不同的人臉ID對應的邊框顏色也不同。
    小提示:如果螢幕中央沒有“+”字,說明HuskyLens在該功能下已經學習過了(已學習狀態)。如要讓HuskyLens學習新人臉,則需要讓HuskyLens忘記已學的。操作方法參考“忘記學過的人臉”章節。

  • 識別多個人臉:
    HuskyLens學習過的人臉資訊會自動保存起來。後續,當HuskyLens檢測到學習過的人臉時,會將這些人臉用方框框選出來並標識ID,第一個學習的人臉標注為“人臉:ID1”,第二個學習的人臉標注為“人臉:ID2”,第三個學習的人臉標注為“人臉:ID3”,以此類推。不同的人臉ID對應的邊框顏色也不同,邊框大小會隨著人臉大小而變化,並自動追蹤人臉。


7.2 物體追蹤
本功能可以學習並追蹤一個指定的物體。只能追蹤一個物體,暫不支援追蹤多個物體。
操作設置
  • 向左或向右撥動“功能按鍵”,至螢幕頂部顯示“物體追蹤”。
  • 長按“功能按鍵”,進入物體追蹤功能的二級功能表參數設置介面。
  • 向右撥動“功能按鍵”,選中“學習開啟”,然後短按“功能按鍵”,接著向右撥動“功能按鍵”打開“學習開啟”的開關,即:進度條顏色變藍,進度條上的方塊位於進度條的右邊。再短按“功能按鍵”,確認該參數。
  • 同樣的方法,打開“自動保存模型”的開關。
  • 也可以設置“學習框長寬比”和“學習框大小”來調整學習框的尺寸,以便於更好的匹配所學物體的尺寸。
  • 向左撥動“功能按鍵”,選中“保存並返回“,短按”功能按鍵“,螢幕提示”是否保存參數?“,默認選擇”確認“,此時短按”功能按鍵“,即可保存參數,並自動返回到物體追蹤模式。

學習與追蹤
  • 學習物體:
    把HuskyLens對準需要追蹤的物體,調節物體與HuskyLens的距離,將物體包含在螢幕中央的橙黃色方框內。如不方便,包含特徵鮮明的局部亦可。長按“學習按鍵”不鬆開,並調整角度和距離,使得HuskyLens從不同的角度和距離學習該物體。學習過程中,螢幕上的黃框會標注“學習中:ID1”。
    當HuskyLens在不同的角度和距離都能追蹤到該物體時,就可以鬆開“學習按鍵”結束學習了。
    小提示: 如果螢幕中央沒有橙黃色方框,說明HuskyLens之前學習過一個物體,請參照“忘記學過的人臉”章節進行操作。

  • 追蹤物體:
    移動HuskyLens或者目標物體,螢幕中的框會自動追蹤目標物體。追蹤物體時,會顯示“學習中:ID1”,表示HuskyLens一邊追蹤物體,一邊學習,這樣設置有助於提高物體追蹤的能力;也可以長按“功能按鍵”,進入二級功能表參數設置,選擇“學習開啟”,關閉此參數。
    當識別結果滿足要求,達到預期效果,就可關閉一邊追蹤一邊學習的功能,方法是:長按“功能按鍵”,進入物體追蹤功能的二級功能表參數設置,選擇“學習開啟”,關閉此參數即可(進度條顏色變白,進度條上的方塊位於進度條的左邊)。
    小提示:
    追蹤物體時,每次只能追蹤一個物體,可以是任何有明顯輪廓的物體,甚至是各種手勢。

7.3 物體識別
本功能可識別這是什麼物體,並追蹤。目前僅支援20種物體,分別為:飛機、自行車、鳥、船、瓶子、巴士、汽車、貓、椅子、牛、餐桌、狗、馬、摩托車、人、盆栽植物、羊、沙發、火車、電視。
20種物體的英文名稱,分別為:aeroplane, bicycle, bird, boat, bottle, bus, car, cat, chair, cow, diningtable, dog, horse, motorbike, person, pottedplant, sheep, sofa, train, tvmonitor.
預設設置為只標記並識別一個物體。本章節採用標記並識別多個物體為例進行演示。
操作設置
  • 向左或向右撥動“功能按鍵”,直至螢幕頂部顯示“物體識別”。
  • 長按“功能按鍵”,進入物體識別功能的二級功能表參數設置介面。
  • 向左或向右撥動“功能按鍵”,選中“學習多個”,然後短按“功能按鍵”,接著向右撥動“功能按鍵”打開“學習多個”的開關,即:進度條顏色變藍,進度條上的方塊位於進度條的右邊。再短按“功能按鍵”,確認該參數。
  • 向左撥動“功能按鍵”,選中“保存並返回“,短按”功能按鍵“,螢幕提示”是否保存參數?“,默認選擇”確認“,此時短按”功能按鍵“,即可保存參數,並自動返回到物體識別模式。

標記與識別
  • 偵測物體:
    把HuskyLens對準目標物體,在螢幕上,會有白色框自動框選出識別到的所有物體,並顯示對應的物體名稱。目前只能識別並框選20種物體,其餘物體無法識別和框選。
  • 標記物體:
    把HuskyLens對準目標物體,當螢幕上顯示的物體被檢測到並顯示其名字時,將螢幕中央的“+”字對準該物體的白色框中央,短按“學習按鍵”進行標記。此時,框體顏色由白色變為藍色,並顯示其名字和ID1,同時有消息提示:“再按一次繼續,按其他按鍵結束”。如要繼續標記下一個物體,則在倒計時結束前按下“學習按鍵”,可以繼續標記下一個物體。如果不再需要標記其他物體了,則在倒計時結束前按下”功能按鍵”即可,或者不操作任何按鍵,等待倒計時結束。
    HuskyLens顯示的物體ID與標記物體的先後順序是一致的,也就是:ID會按順序依次標注為“ID1”,“ID2”,“ID3”,以此類推,並且不同的物體ID對應的邊框顏色也不同。


  • 識別物體:
    HuskyLens再次遇到標記過的物體時,在螢幕上會有彩色的邊框框選出這些物體,並顯示物體名稱與ID。邊框的大小隨著物體的大小而變化,自動追蹤這些物體。同類物體,有相同顏色的邊框、名字和ID。支援同時識別多類物體,比如同時識別出瓶子和鳥。
    這個功能,可以作為一個簡單的篩選器,從一堆物體中找出你需要的物體,並做追蹤。
    小提示:
    此功能不能區分同類物體間的不同,比如:只能識別出這是貓,但不能識別出這是什麼貓。有別於人臉識別,人是一類,但可以區分不同的人臉。

7.4 巡線追蹤
本功能可以追蹤指定顏色的線條,做路徑預測。默認設置為只追蹤一種顏色的線條。本章節以只追蹤一種顏色的線條為例進行說明。
操作設置
  • 向左或向右撥動“功能按鍵”,直至螢幕頂部顯示“巡線”。
  • 長按“功能按鍵”,進入巡線功能的二級功能表參數設置介面。
  • 向左或向右撥動“功能按鍵”,選中“學習多個”,然後短按“功能按鍵”,查看“學習多個”的開關是否處於關閉狀態。如果沒關,就向左撥動“功能按鍵”關閉“學習多個”的開關,即:進度條顏色變白,進度條上的方塊位於進度條的左邊。再短按“功能按鍵”,確認該參數。
  • 如果環境光線比較暗,可以打開補光燈。參照上述方法,將“LED開關”打開即可。


  • 向左撥動“功能按鍵”,選中“保存並返回“,短按”功能按鍵“,螢幕提示”是否保存參數?“,默認選擇”確認“,此時短按”功能按鍵“,即可保存參數,並自動返回到巡線模式。

學習與追蹤
  • 學習線條:
    將HuskyLens螢幕上的“+”字對準目標線條,將橙黃色的方框對準背景色。建議HuskyLens的視野範圍內只有需要學習的線條,並且沒有交叉線。儘量將HuskyLens與目標線條保持平行,然後HuskyLens會自動檢測線條,並出現白色的箭頭。然後短按“學習按鍵”即可,白色箭頭變成了藍色箭頭。


  • 巡線追蹤:
    當HuskyLens檢測到學習過的線條時(即:同一種顏色的線條),HuskyLens的螢幕上會顯示藍色的箭頭,箭頭的指向表示路徑預測的方向。


小提示:
  • 學習線條時,儘量把HuskyLens的位置調節到與線條平行。
  • 識別的線條可以是任何與背景有明顯色差的單色線條,建議線條與背景色有足夠的色差,以保證巡線的穩定。
  • HuskyLens可以根據線條的顏色不同,進行多個線條的學習與巡線,但是線條必須是與背景有明顯色差的單色線條。大多數情況下,巡線用的線條,只有一種顏色。為了保證穩定性,建議只對一種顏色的線條進行巡線。
  • 線條的顏色與環境光線有很大關係,建議巡線的時候,保持環境光線的穩定。

7.5 顏色識別
本功能可以學習、識別、追蹤指定的顏色。
默認設置為只學習、識別並追蹤一種顏色。本章節採用學習、識別並追蹤多種顏色為例進行說明。
操作設置
  • 向左或向右撥動“功能按鍵”,直至螢幕頂部顯示“顏色識別”。
  • 長按“功能按鍵”,進入顏色識別功能的二級功能表參數設置介面。
  • 向左或向右撥動“功能按鍵”,選中“學習多個”,然後短按“功能按鍵”,接著向右撥動“功能按鍵”打開“學習多個”的開關,即:進度條顏色變藍,進度條上的方塊位於進度條的右邊。再短按“功能按鍵”,確認該參數。
  • 向左撥動“功能按鍵”,選中“保存並返回“,短按”功能按鍵“,螢幕提示”是否保存參數?“,默認選擇”確認“,此時短按”功能按鍵“,即可保存參數,並自動返回到顏色識別模式。


學習與識別
  • 偵測顏色
    將HuskyLens螢幕中央的“+”字對準目標顏色塊,螢幕上會有一個白色方框,自動框選目標顏色塊。調整HuskyLens與顏色塊的角度和距離,讓白色方框儘量框住整個目標色塊。
  • 學習顏色
    偵測到顏色後,按下“學習按鍵”學習第一種顏色,然後鬆開“學習按鍵”結束學習,螢幕上有消息提示:“再按一次繼續,按其他按鍵結束”。如要繼續學習下一種顏色,則在倒計時結束前按下“學習按鍵”,可以繼續學習下一種顏色。如果不再需要學習其他顏色了,則在倒計時結束前按下”功能按鍵”即可,或者不操作任何按鍵,等待倒計時結束。 HuskyLens顯示的顏色ID與學習顏色的先後順序是一致的,也就是:ID會按順序依次標注為“ID1”,“ID2”,“ID3”,以此類推,並且不同顏色對應的邊框顏色也不同。
  • 識別顏色
    如HuskyLens遇到相同或近似的顏色,螢幕上會有彩色邊框框選出色塊,並顯示該顏色的ID,邊框的大小隨顏色塊的面積一起變化,邊框會自動跟蹤色塊。多種不同的顏色可以同時識別並追蹤,不同顏色對應的邊框顏色也不同。
    當出現多個相同顏色的色塊時,相隔的色塊不能被同時識別,只能一次識別一個色塊。
    小提示: 環境光線對顏色識別的影響很大,對於相近的顏色,HuskyLens有時會誤識別。建議保持環境光線的穩定,在光線適中的環境中使用此功能。

7.6 標籤識別
本功能可以偵測二維碼標籤;學習、識別、追蹤指定的二維碼標籤。
默認設置為只學習、識別並追蹤一個二維碼標籤。本章節採用學習、識別並追蹤多個二維碼標籤為例進行說明。
操作設置
  • 向左或向右撥動“功能按鍵”,直至螢幕頂部顯示“標籤識別”。
  • 長按“功能按鍵”,進入標籤識別功能的二級功能表參數設置介面。
  • 向左或向右撥動“功能按鍵”,選中“學習多個”,然後短按“功能按鍵”,接著向右撥動“功能按鍵”打開“學習多個”的開關,即:進度條顏色變藍,進度條上的方塊位於進度條的右邊。再短按“功能按鍵”,確認該參數。
  • 向左撥動“功能按鍵”,選中“保存並返回“,短按”功能按鍵“,螢幕提示”是否保存參數?“,默認選擇”確認“,此時短按”功能按鍵“,即可保存參數,並自動返回到標籤識別模式。


學習與識別
可用下面的二維碼標籤來測試。
  • 偵測標籤
    當HuskyLens檢測到二維碼標籤時,螢幕上會用白色框自動框選出檢測到的所有二維碼標籤。
  • 學習標籤
    將HuskyLens螢幕中央的“+”字對準需要學習的標籤,短按或長按“學習按鍵”完成第一個標籤的學習。鬆開”學習按鍵“後,螢幕上會提示:”再按一次按鍵繼續!按其他按鍵結束“。如要繼續學習下一個標籤,則在倒計時結束前按下“學習按鍵”,可以繼續學習下一個標籤。如果不再需要學習其他標籤了,則在倒計時結束前按下”功能按鍵”即可,或者不操作任何按鍵,等待倒計時結束。
    本章節中,需要繼續學習下一個標籤,因此在倒計時結束前按下“學習按鍵”,然後將HuskyLens螢幕中央的“+”字對準需要學習的下一個標籤,短按或長按“學習按鍵”完成第二個標籤的學習。以此類推。
    標籤ID與錄入標籤先後順序是一致的,也就是:學習過的標籤會按順序依次標注為“標籤:ID1”,“標籤:ID2”,“標籤:ID3”,以此類推,並且不同的標籤對應的邊框顏色也不同。
  • 識別標籤
    HuskyLens再次遇到學習過的標籤時,在螢幕上會有彩色的邊框框選出這些標籤,並顯示其ID。邊框的大小會隨著二維碼標籤的大小進行變化,邊框自動追蹤這些二維碼標籤。


8. micro:bit教程
本章節使用Mind+軟體和MakeCode網頁版,分別用幾個案例演示具體的用法。
先用mind+軟體進行演示。

8.1 Mind+(基於Scratch3.0)簡介
Mind+是一款基於Scratch3.0開發的青少年程式設計軟體,支援arduino、micro:bit、掌控板等各種開源硬體,只需要拖動圖形化區塊即可完成程式設計,還可以使用python/c/c++等高級程式設計語言,讓大家輕鬆體驗創造的樂趣。
  • Mind+支援microbit、掌控板、arduino三平臺圖形化及代碼程式設計。
  • 下載Mind+V1.6.2 RC2.0及以上版本,官網http://mindplus.cc下載。

8.2 Mind+載入HUSKYLENS擴展
  • 軟體右上角開關切換到上傳模式>打開左下角擴展>選擇一個主控板。
  • 選擇主控板之後,對應支援的擴展模組標籤變成可選狀態,點擊感測器,右上角搜索Huskylens,點擊載入模組,然後返回程式設計介面。

8.3 mind+案例:人臉識別
本案例演示如何把HuskyLens連接到micro:bit主機板,然後micro:bit主機板從HuskyLens讀取人臉識別結果。如果HuskyLens偵測到任意人臉,則micro:bit的點陣屏顯示笑臉,否則顯示哭臉。
HuskyLens與micro:bit的通信介面採用I2C介面。
準備材料硬體連線圖
下圖只作為連線示意圖,HuskyLens的R和T管腳(此處其功能則為SCL與SDA)分別連接到micro:bit的SCL與SDA管腳,說明HuskyLens與micro:bit的通信介面採用I2C介面。
推薦採用micro:bit擴展板,簡化連線。
小提示:
HuskyLens消耗的電流比較多,可達3.3V 320mA以上,單靠mciro:bit主機板供電是不夠的,因此需要外接供電,可通過micro:bit擴展板的外接供電介面或者HuskyLens的USB介面實現。
HUSKYLENS常規設置
把HuskyLens的通訊模式設置為I2C或者自動識別,推薦自動識別,無需反復調節通訊協定,簡單方便。


範例程式
  • 拖動積木進行程式設計,製作一個簡單的人臉識別項目。

預期效果
  • 連接設備,選擇microbit對應的COM口(第一次使用mcirobit點擊一鍵安裝驅動,install驅動),上傳程式到設備。
  • 當有人進入HUSKYLENS畫面中時mciro:bit顯示笑臉,沒有人時顯示哭臉。


8.4 Mind+模組說明[td]
積木
說明
初始化,僅需執行一次,放在主程序開始和迴圈執行之間,可選擇I2C或串口,I2C地址不用變動。注意HuskyLens端需要在設置中調整“輸出協定”與程式中一致或者使用“自動識別”,否則讀不出資料,。
切換Huslylens上演算法(無需撥動機械按鈕),可以隨時切換到其他演算法,同時只能存在一個演算法,注意切換演算法需要一些時間。
主控板向HuskyLens請求一次資料存入“結果”(存在主控板的記憶體變數中,一次請求刷新一次存在記憶體中的資料),之後可以從“結果”中獲取資料,此模組調用之後“結果”中才會獲取到最新的資料。
從請求得到的“結果”中獲取是否IDx已經進行了學習
從請求得到的“結果”中獲取是否IDx在畫面中,方框指螢幕上目標為方框的的演算法,箭頭對應螢幕上目標為箭頭的演算法,當前僅為巡線演算法時選擇箭頭,其他演算法都選擇方框。
從請求得到的“結果”中獲取IDx的參數,如果此ID在畫面中沒有或沒有學習則會返回-1
從請求得到的“結果”中獲取IDx的參數,如果此ID在畫面中沒有或沒有學習則會返回-1 ,此模組對應“巡線”演算法的輸出結果
從請求得到的“結果”中獲取當前演算法下已經學習了多少個目標,注意HuskyLens端長按選擇鍵開啟高級設置後可以設置是否學習多個目標。
從請求得到的“結果”中獲取當前演算法下當前視野中所有的“方框”或“箭頭”的數量,包括沒有學習或者已經學習的目標。
從請求得到的“結果”中獲取當前演算法下相同ID的目標的數量,例如兩個相同的人臉照片都在視野中則此數量為2。
從請求得到的“結果”中獲取當前演算法下IDx的第y個方框的參數,同一個ID可能有多個目標(例如同一個人的兩張照片同時出現在視野中),注意同一個ID下的目標順序是隨機的。
此積木與上一個積木效果相同,區別是此積木讀取的是箭頭的數據。
從請求得到的“結果”中獲取當前介面中是否有方框或箭頭,包含已學習(id大於0)和未學習的,有一個及以上則返回1。
從請求得到的“結果”中獲取當前介面中靠近中心的方框資訊,未學習的框id為0,沒有則返回-1
此積木與上一個積木效果相同,區別是此積木讀取的是箭頭的數據。
從請求得到的“結果”中獲取當前介面中第N個(順序隨機)方框資訊,包含已學習(id大於0)和未學習的。
此積木與上一個積木效果相同,區別是此積木讀取的是箭頭的數據。
更多:Mind+有HuskyLens詳細專題教程,請點擊此處跳轉到該教程。
下面使用makecode軟體進行演示。


8.5 MakeCode簡介
MakeCode 是一個免費開源平臺,旨在打造有吸引力的電腦科學學習體驗,為實際程式設計奠定基礎。網頁版可以線上程式設計和下載固件。點擊進入專為micro:bit打造的makecode網頁版。


8.6 MakeCode載入HUSKYLENS外掛程式
  • MakeCode網頁版中新建一個項目,然後,點擊右上方的“更多”按鈕(齒輪圖示),在其下拉式功能表中選擇“擴展”,打開擴展介面。

  • 在搜索框中輸入https://github.com/tangjie133/pxt-huskylens ,然後點擊搜索按鈕(搜索框右邊的放大鏡按鈕),就能看到HuskyLens外掛程式,然後點擊它,就能把HuskyLens的外掛程式載入進來了。

  • 程式設計介面中,你就能看到Huskylens模組,點擊它,就會彈出指令積木塊。



8.7 makecode案例:人臉識別
本案例演示如何把HuskyLens連接到micro:bit主機板,然後micro:bit主機板從HuskyLens讀取人臉識別結果。如果HuskyLens認出主人(學習過的人臉),則micro:bit的點陣屏顯示笑臉,否則顯示哭臉。
HuskyLens與micro:bit的通信介面採用I2C介面。
準備材料

硬體連線圖
下圖只作為連線示意圖,HuskyLens的R和T管腳(此處其功能則為SCL與SDA)分別連接到micro:bit的SCL(P19)與SDA(P20)管腳,說明HuskyLens與micro:bit的通信介面採用I2C介面。
推薦採用micro:bit擴展板,簡化連線。
小提示:
HuskyLens消耗的電流比較多,可達3.3V 320mA以上,單靠mciro:bit主機板供電是不夠的,因此需要外接供電,可通過micro:bit擴展板的外接供電介面或者HuskyLens的USB介面實現。
HUSKYLENS常規設置
把HuskyLens的通訊模式設置為I2C。
也可以設置為“自動識別模式”,無需反復調節通訊協定,簡單方便。


範例程式
預期結果
  • 上傳上述代碼至micro:bit主機板。
  • 參考前面講解人臉識別功能的章節,讓HuskyLens學習完一個人臉,比如你的臉。
  • 當HuskyLens識別到你的臉後,micro:bit主機板上的點陣屏會顯示笑臉,如果不是你的臉,或者沒有人臉出現,則顯示哭臉。

8.8 MakeCode模組說明[td]
模組
說明
初始化。只需要執行一次,放在主程序開始位置。需要將HuskyLens的介面輸出協定設置為I2C或自動。初始化成功為“√”錯誤為“×”
切換演算法(功能)。選擇你需要的演算法,暫時只能選擇一個。切換演算法需要一段時間,切換成功,切換成功為笑臉,錯誤則反之。
micro:bit向HuskyLens請求一次資料,並存入“結果”(存儲在micro:bit的記憶體變數中,一次請求刷新一次存儲在記憶體中的資料),之後可以從“結果中獲取資料”。只有調用此模組之後才會得到最新的資料。
從請求得到的“結果”中獲取IDx是否已經學習。
從請求得到的“結果”中獲取IDx的方框或箭頭是否在畫面中。
從請求得到的“結果”中獲取IDx方框的參數, 有:方框的中心x座標、中心Y座標、長度、寬度。
從請求得到的“結果”中獲取IDx箭頭的參數,有:X起點、Y起點、X終點、Y終點。

9. Arduino教程
本章節使用Arduino IDE,分別用幾個案例演示具體的用法。


9.1 安裝Arduino庫
  • 下載HUSKYLENS Arduino Library. 點擊giteegithub下載。
  • 解壓下載的庫檔,將“HUSKYLENS”資料夾複製粘貼至Arduino IDE所在的“libraries”資料夾下。
  • 庫資料夾的名字必須為“HUSKYLENS”。
  • 所有.h和.cpp檔必須放在庫資料夾的根目錄下,絕不可以放在二級目錄或資料夾中。


9.2 Arduino案例:串口列印物體座標資料
本案例演示如何把HuskyLens連接到Arduino主機板,然後Arduino主機板從HuskyLens讀取資料,並將讀到的資料在串口監視器中列印出來。分UART模式和I2C模式,分別演示。
準備材料UART模式硬體連線圖
HUSKYLENS常規設置
把HuskyLens的通訊模式設置為UART,串列傳輸速率9600。
也可以設置為“自動識別模式”,無需反復調節通訊協定,簡單方便。

範例程式
  1. #include "HUSKYLENS.h"
  2. #include "SoftwareSerial.h"

  3. HUSKYLENS huskylens;
  4. SoftwareSerial mySerial(10, 11); // RX, TX
  5. //HUSKYLENS green line >> Pin 10; blue line >> Pin 11
  6. void printResult(HUSKYLENSResult result);

  7. void setup() {
  8.     Serial.begin(115200);
  9.     mySerial.begin(9600);
  10.     while (!huskylens.begin(mySerial))
  11.     {
  12.         Serial.println(F("Begin failed!"));
  13.         Serial.println(F("1.Please recheck the "Protocol Type" in HUSKYLENS (General Settings>>Protocol Type>>Serial 9600)"));
  14.         Serial.println(F("2.Please recheck the connection."));
  15.         delay(100);
  16.     }
  17. }

  18. void loop() {
  19.     if (!huskylens.request()) Serial.println(F("Fail to request data from HUSKYLENS, recheck the connection!"));
  20.     else if(!huskylens.isLearned()) Serial.println(F("Nothing learned, press learn button on HUSKYLENS to learn one!"));
  21.     else if(!huskylens.available()) Serial.println(F("No block or arrow appears on the screen!"));
  22.     else
  23.     {
  24.         Serial.println(F("###########"));
  25.         while (huskylens.available())
  26.         {
  27.             HUSKYLENSResult result = huskylens.read();
  28.             printResult(result);
  29.         }   
  30.     }
  31. }

  32. void printResult(HUSKYLENSResult result){
  33.     if (result.command == COMMAND_RETURN_BLOCK){
  34.         Serial.println(String()+F("Block:xCenter=")+result.xCenter+F(",yCenter=")+result.yCenter+F(",width=")+result.width+F(",height=")+result.height+F(",ID=")+result.ID);
  35.     }
  36.     else if (result.command == COMMAND_RETURN_ARROW){
  37.         Serial.println(String()+F("Arrow:xOrigin=")+result.xOrigin+F(",yOrigin=")+result.yOrigin+F(",xTarget=")+result.xTarget+F(",yTarget=")+result.yTarget+F(",ID=")+result.ID);
  38.     }
  39.     else{
  40.         Serial.println("Object unknown!");
  41.     }
  42. }
複製代碼
預期結果
  • 上傳上述代碼至Arduino主機板
  • 參考前面講解各個功能的章節,讓HuskyLens學習完一個新東西,比如人臉。
  • 打開Arduino IDE的串口監視器查看結果。
    當HuskyLens處於人臉識別、物體追蹤、物體識別、顏色識別、標籤識別模式時,則列印的結果如下圖:
    當HuskyLens處於巡線追蹤模式時,則列印的結果如下圖:


I2C模式硬體連線圖
HUSKYLENS常規設置
把HuskyLens的通訊模式設置為I2C。
也可以設置為“自動識別模式”,無需反復調節通訊協定,簡單方便。

範例程式
  1. #include "HUSKYLENS.h"
  2. #include "SoftwareSerial.h"

  3. HUSKYLENS huskylens;
  4. //HUSKYLENS green line >> SDA; blue line >> SCL
  5. void printResult(HUSKYLENSResult result);

  6. void setup() {
  7.     Serial.begin(115200);
  8.     Wire.begin();
  9.     while (!huskylens.begin(Wire))
  10.     {
  11.         Serial.println(F("Begin failed!"));
  12.         Serial.println(F("1.Please recheck the "Protocol Type" in HUSKYLENS (General Settings>>Protocol Type>>I2C)"));
  13.         Serial.println(F("2.Please recheck the connection."));
  14.         delay(100);
  15.     }
  16. }

  17. void loop() {
  18.     if (!huskylens.request()) Serial.println(F("Fail to request data from HUSKYLENS, recheck the connection!"));
  19.     else if(!huskylens.isLearned()) Serial.println(F("Nothing learned, press learn button on HUSKYLENS to learn one!"));
  20.     else if(!huskylens.available()) Serial.println(F("No block or arrow appears on the screen!"));
  21.     else
  22.     {
  23.         Serial.println(F("###########"));
  24.         while (huskylens.available())
  25.         {
  26.             HUSKYLENSResult result = huskylens.read();
  27.             printResult(result);
  28.         }   
  29.     }
  30. }

  31. void printResult(HUSKYLENSResult result){
  32.     if (result.command == COMMAND_RETURN_BLOCK){
  33.         Serial.println(String()+F("Block:xCenter=")+result.xCenter+F(",yCenter=")+result.yCenter+F(",width=")+result.width+F(",height=")+result.height+F(",ID=")+result.ID);
  34.     }
  35.     else if (result.command == COMMAND_RETURN_ARROW){
  36.         Serial.println(String()+F("Arrow:xOrigin=")+result.xOrigin+F(",yOrigin=")+result.yOrigin+F(",xTarget=")+result.xTarget+F(",yTarget=")+result.yTarget+F(",ID=")+result.ID);
  37.     }
  38.     else{
  39.         Serial.println("Object unknown!");
  40.     }
  41. }
複製代碼
預期結果
  • 上傳上述代碼至Arduino主機板
  • 參考前面講解各個功能的章節,讓HuskyLens學習完一個新東西,比如人臉。
  • 打開Arduino IDE的串口監視器查看結果。I2C模式下的結果與UART模式下的結果一樣,此處不再贅述。

9.3 Arduino庫函數說明10. 樹莓派教程
本章節使用樹莓派進行演示,說明如何把HuskyLens連接到樹莓派,然後樹莓派從HuskyLens讀取資料。通信方式為I2C。
10.1 初始化樹莓派
你必須啟用樹莓派的I2C埠。先運行一個終端(terminal),然後按照下述步驟進行操作:
  • 運行 sudo raspi-config
  • 使用鍵盤上的方向鍵,往下,選擇 5 Interfacing Options,然後進入
  • 往下,選擇P5 I2C.
  • 提示“Would you like the ARM I2C interface to be enabled?”,選擇Yes,之後提示“The ARM I2C interface is enabled.”
  • 使用鍵盤上的方向鍵,往右,選擇Finish。
  • 運行sudo reboot now,重啟樹莓派。
  • 重啟完成後,運行一個終端,輸入: sudo apt-get install -y i2c-tools
  • 運行sudo apt-get install python-smbus
  • 運行 sudo pip3 install pyserial


至此,樹莓派的初始化就完成了。


10.2 I2C連線說明
本章節,HuskyLens採用I2C介面與樹莓派通信。HuskyLens與樹莓派的管腳線序,如下圖所示。
樹莓派腳位圖
HuskyLens腳位圖(I2C模式)
標注
管腳功能
用途
TSDA串列資料線
RSCL串列時鐘線
-GND電源負極
+VCC電源正極
硬體連線圖
小提示:
HuskyLens消耗的電流比較多,可達3.3V 320mA或5V 230mA以上。建議你把HuskyLens連接到樹莓派的5V電源管腳上,以提供給HuskyLens足夠的電源。


10.3 程式設計指南
  • 把huskylensPythonLibrary.py文件放到你的專案檔案夾中
  • 在你的python文件 (如test.py)中,導入該庫,腳本如下:
    1. from huskylensPythonLibrary import HuskyLensLibrary
    複製代碼

  • 初始化HuskyLens,腳本如下:
    1. my_Var= HuskyLensLibrary("I2C","",address=0x32)
    複製代碼

  • 現在可以調用庫裡面的函數了,比如:
    1. # Check if HuskyLens can recieve commands
    2. print(my_Var.command_request_knock())
    3. # Get all the current blocks on screen
    4. blocks=my_Var.command_request_blocks()
    5. # Print the data
    6. print(blocks)
    複製代碼

10.4 API說明
  1. command_request()
  2.      => Return all data

  3. command_request_blocks()
  4.      => Return all blocks on the screen

  5. command_request_arrows()
  6.      => Return all arrows on the screen(only in line tracking mode)

  7. command_request_learned()
  8.      => Return all learned objects on screen

  9. command_request_blocks_learned()
  10.      => Return all learned blocks on screen

  11. command_request_arrows_learned()
  12.      => Return all learned arrows on screen(only in line tracking mode)

  13. command_request_by_id(idVal)
  14.      *idVal is an integer
  15.      => Return the object with id of idVal

  16. command_request_blocks_by_id(idVal) *idVal is an integer
  17.      *idVal is an integer
  18.      => Return the block with id of idVal

  19. command_request_arrows_by_id(idVal) *idVal is an integer(only in line tracking mode)
  20.      *idVal is an integer
  21.      => Return the arrow with id of idVal

  22. command_request_algorthim(ALG_NAME)
  23.     * ALG_NAME is a string whose value can be the following
  24.         "ALGORITHM_OBJECT_TRACKING"
  25.         "ALGORITHM_FACE_RECOGNITION"
  26.         "ALGORITHM_OBJECT_RECOGNITION"
  27.         "ALGORITHM_LINE_TRACKING"
  28.         "ALGORITHM_COLOR_RECOGNITION"
  29.         "ALGORITHM_TAG_RECOGNITION"
  30.         "ALGORITHM_OBJECT_CLASSIFICATION"

  31. command_request_knock()
  32.     => Returns "Knock Recieved" on success
複製代碼


10.5 樹莓派案例: 讀取座標資料
本案例演示樹莓派主機板從HuskyLens讀取目標物體的座標資料,並將這些資料在終端中列印出來。
準備材料硬體連線圖
參考10.2章節“I2C連線說明”
HuskyLens常規設置
把HuskyLens的通訊模式設置為I2C。
也可以設置為“自動識別模式”,無需反復調節通訊協定,簡單方便。

範例程式
下述代碼已經寫入test.py文件。 點擊此處查閱或下載。
  1. # Import the library
  2. from huskylensPythonLibrary import HuskyLensLibrary
  3. # Initlialize the HuskyLens
  4. test = HuskyLensLibrary("I2C","",address=0x32)
  5. print("First request a knock: {}".format(test.command_request_knock()))

  6. # Change to face recognition algorhtim
  7. test.command_request_algorthim("ALGORITHM_FACE_RECOGNITION")

  8. # Display a simple menu where you can call every function in a loop!
  9. ex=1
  10. print("""
  11.         Menu options:
  12.         1) command_request()
  13.         2) command_request_blocks()
  14.         3) command_request_arrows()
  15.         4) command_request_learned()
  16.         5) command_request_blocks_learned()
  17.         6) command_request_arrows_learned()
  18.         7) command_request_by_id() ***format 7 ID_VAL***
  19.         8) command_request_blocks_by_id() ***format 8 ID_VAL***
  20.         9) command_request_arrows_by_id() ***format 9 ID_VAL***
  21.         10) Exit
  22.         """)
  23. while(ex==1):
  24.     v=input("Enter cmd number:")
  25.     numEnter=v
  26.     if(numEnter=="10"):
  27.         ex=0
  28.     v=int(v[0])
  29.     if(v==1):
  30.         print(test.command_request())
  31.     elif(v==2):
  32.         print(test.command_request_blocks())
  33.     elif(v==3):
  34.         print(test.command_request_arrows())
  35.     elif(v==4):
  36.         print(test.command_request_learned())
  37.     elif(v==5):
  38.         print(test.command_request_blocks_learned())
  39.     elif(v==6):
  40.         print(test.command_request_arrows_learned())
  41.     elif(v==7):
  42.         print(test.command_request_by_id(int(numEnter[2:])))
  43.     elif(v==8):
  44.         print(test.command_request_blocks_by_id(int(numEnter[2:])))
  45.     elif(v==9):
  46.         print(test.command_request_arrows_by_id(int(numEnter[2:])))
複製代碼
預期結果
  • 在終端裡,運行下述腳本:
    python3 test.pyCopy
  • 讓HuskyLens學習一個新的東西,比如你的臉。具體操作方法可以參考前面幾個章節(如7.1章節)。
  • 讓HuskyLens對準你的臉。然後再終端中輸入命令編號,你將得到結果,如下圖所示:

結果顯示的是識別框中心點x座標,y座標,寬度,高度,和ID號。格式如下:
[識別框中心點的x座標, 識別框中心點的y座標, 識別框的寬度, 識別框的高度, 所學物體的ID號]

11. 更多文檔


您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

QQ|Archiver|手機版|小黑屋|圓創力科技有限公司 IOP Robotic Technology Co.,Ltd Tel: 07-3924582 Fax: 07-3924001

GMT+8, 2024-4-19 11:59 , Processed in 0.036523 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回復 返回頂部 返回列表