精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

電子發燒友App

硬聲App

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

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

3天內不再提示
創作
電子發燒友網>電子資料下載>電子資料>使用人工智能識別您的視覺內容

使用人工智能識別您的視覺內容

2023-07-03 | zip | 0.17 MB | 次下載 | 免費

資料介紹

描述

介紹

我最近在 startuphuscle.xyz 上聽到了Mycroft.ai的首席執行官 Joshua Montgomery討論他的公司為將開源替代語音助手推向市場所做的努力。無論您擁有一張圖像還是數十億張圖像,距離使用人工智能識別您的視覺內容僅幾步之遙。

預測類型取決于您運行輸入的模型。AI 已卸載到云中的 clarifai 服務器。基本上,您向 clarifai 發送一張圖片,然后 clarifai 將在該圖片中找到的一組標簽/單詞/概念發回給您。

?

Clarifai 提供的 api 是幾種不同的語言,其中一種是 python這使其非常適合與 Mycroft 技能一起使用,因為它們也是用 python 編寫的。有一個非常慷慨的開發人員選項,無需任何費用即可使用,讓您可以訪問 clarifai 的標準模型以及創建和訓練自己的模型的能力。

如果你想開始破解計算機視覺/機器學習項目,你真的應該考慮 clarifai。

使用 Mycroft Mark I

Mycroft Mark I 是一個“嵌入式Linux 應用程序,在無頭模式下運行在 Raspberry Pi 上。無頭意味著您必須將顯示器和鍵盤連接到 Mark I,或者最好使用ssh從計算機登錄您的 Mark I。在 Mycroft 社區論壇中提供了有關執行此操作的全面信息,更一般地,在Derek Molloy 的 Exploring Raspberry Pi: Interface to the Real World with Embedded Linux 1st Edition 中對于任何有興趣超越使用 pi 的基礎知識的制造商來說,這都是一本令人難以置信的書。

我不會在這里詳細介紹,但這里有一些ssh提示:

  • 在您的桌面/筆記本電腦上打開許多終端窗口
  • 您可以將桌面上的文本剪切并粘貼到 nano 編輯器中
  • 在您的 Mycroft 上下載并安裝feh以查看圖像

您可以在 feh 了解有關 feh 的更多信息- 一個快速輕便的圖像查看器為了使用 feh 通過 ssh 查看圖像,請使用 -X 開關來打開 x windows 終端:

ssh -X 

如果 x 終端窗口“超時”并且一段時間后不允許您查看,只需將其殺死并如上所述創建另一個 x 終端窗口。

將 PiCamera 添加到 Mycroft Mark I

Raspberry Pi 3 位于 Mycroft Mark 1 的核心,但 PiCamera 連接器沒有暴露,因此您必須做一些手術來連接 PiCamera。我從 adafruit 購買了 2 米長的 PiCamera 帶狀電纜來連接相機。就長度而言,這可能有點矯枉過正,但太短會更糟。

下面的一組圖片將對您有所幫助,但是正如您所見,PiCamera 功能區已經到位。這些照片是我事后拍的!但我認為你將能夠跟隨。

1. 第一步是取下腳墊。每個腳墊都隱藏著一顆螺絲。使用內六角扳手松開并取下它們。

?
poYBAGOYPkqAQbLkAAE2mX5JGcg148.png
?

2. 打開后,您將看到樹莓派不幸的是,必須從底層板上的柱子上取下 Pi,以露出 PiCamera 帶狀電纜連接器。

?
pYYBAGOYPlGAalDFAAIS5dHp9zM476.jpg
?

3. Raspberry Pi 已從柱子上取下,帶狀電纜連接器暴露在外。

?
pYYBAGOY1ECAWtOhAAIVL5e0UeI552.jpg
?

4. 現在將帶狀電纜穿過機箱頂部的線性通風口。

?
poYBAGOY1ESAFwjFAAHcLyFN_WM430.png
?

5. 設置的最后一部分是為相機配備一個漂亮的外殼。在thingiverse上有很多你可以選擇的。我已經嘗試了好幾次,到目前為止,我最喜歡的是migrassi 的PiCamera 2 Axis Rotating Holder,在下面可以看到它坐在 Mycroft 的頂部。我使用 GizmoDorks HIPS 3mm 在我的 lulzbot mini 上打印了它。支架和相機插槽需要一些打磨才能正確安裝。將相機插入插槽時要小心。當我打印它時,它很合身!

?
poYBAGOY1FuAImY-AAosVMmJMRE399.jpg
手術成功,病人活了下來!
?

將相機連接并放置在其外殼中后,請確保將您的 pi 配置為使用相機:

sudo raspi-config 

然后,您將獲得以下菜單并按下選項 5 接口選項。

?
poYBAGOY1F2AT2G5AADqEUmpCN0026.png
?

然后從那里選擇并按照提示進行操作。建議在此之后重新啟動。

?
pYYBAGOY1GGAAkbXAADi6oGej_k107.png
?

安裝 Clarifai

請在開始安裝 clarifai 之前通讀一遍!否則在重新啟動時,你會以僵尸 Mycroft 告終,深情地盯著你,但永遠是黃色的眼睛,但默默無聞!

安裝 clarifai python api 很簡單:

pip install clarifai 

但是,這樣做會取消在 Mark 1 上運行的 Pillow 版本,并安裝名為 Pillow 的庫的 2.9.0 版本。因此,如果您在安裝 clarifai 后出于任何原因重新啟動 Mark I,Mycroft 將無法工作,但您仍然可以ssh進入它。快速查看/var/log/mycroft-skills.log可以看出:

Traceback (most recent call last):
 File "/usr/local/bin/mycroft-skills", line 9, in <module>
   from pkg_resources import load_entry_point
 File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3147, in <module>
   @_call_aside
 File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3131, in _call_aside
   f(*args, **kwargs)
 File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3160, in _initialize_master_working_set
   working_set = WorkingSet._build_master()
 File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 668, in _build_master
   return cls._build_from_requirements(__requires__)
 File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 681, in _build_from_requirements
   dists = ws.resolve(reqs, Environment())
 File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 870, in resolve
   raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'pillow==4.1.1' distribution was not found and is required by mycroft-core

所以我們需要 4.1.1 版本的 Pillow,而不是 clarifai 安裝的 2.9.0!但不要只是 sudo pip install Pillow 因為這將安裝 Pillow 5.0.0 而 Mycrfot 將無法使用它。而是卸載 Pillow 并強制安裝 4.1.1 版本:

sudo pip install Pillow==4.1.1

但我們還沒有到那里!重新啟動后,我仍然得到了黃疸和沉默的治療!再次查看/var/log/mycroft-skills.log顯示:

Traceback (most recent call last):
 File "/usr/local/bin/mycroft-skills", line 9, in <module>
   from pkg_resources import load_entry_point
...
pkg_resources.DistributionNotFound: The 'future==0.16.0' distribution was not found and is required by mycroft-core 

所以我只是發出了以下命令,

sudo pip install future=0.16.0

閉上眼睛重新啟動!他還活著!最后一步是確保您授予對 Mycroft 的訪問權限以使用 PiCamera:

 sudo usermod -a -G video mycroft

我不記得在我之前的 clarifai 和 mycroft 項目中必須經歷所有這些,所以一定有一些變化。經驗教訓:始終閱讀安裝消息,并在出現問題時始終查看 /var/log/mycroft-skills.log。現在樂趣可以開始了!

使用 Clariai

clarifai python api 易于使用。我建議在嘗試將其集成到技能中之前編寫一些測試腳本并嘗試一下。這將使您有機會熟悉它并解析它發回的 json 包。

此外,您可以調試大部分視覺功能,而不必在調試語音組件時擔心這一點。完成此操作后,將 clarifai 方面融入您的技能非常容易,想想“剪切和粘貼”。

clarifai文檔必讀的,我有幾個項目也會對您有所幫助:

在這篇文章中,我將專注于創建和訓練自定義模型。繼續為您注冊免費的 clarifai 開發者帳戶,獲取您的 api 密鑰并創建一個應用程序!

創建、訓練和使用自定義模型

Clarifai 有許多現成可用的訓練模型,例如顏色、名人、旅行等等。然而,他們沒有“石頭剪刀布”模型。這就是定制模型發揮作用的地方。clarifai 文檔中詳細描述了創建自定義模型我將在這里展示我如何應用該過程來創建我的“石頭剪刀布”模型。

定制模型流程:

  • 添加帶有相關概念的圖像
  • 創建模型
  • 訓練模型
  • 使用模型

我用作創建和訓練模型的實用程序的所有腳本的完整代碼都在我的 github 頁面上。

我在石頭、紙或剪刀的每個位置制作了手的圖像。這些是用 iPhone 拍攝的照片,我用我自己、我的妻子和兒子作為“手”模型。然后我制作了一個簡單粗暴的腳本,用我的概念不是概念將這些圖像“上傳”到 clarifai。我分別加載每個圖像:

clarifai_app.inputs.create_image_from_filename(filename="rock1.jpg", concepts=['rock'], not_concepts=['paper','scissors'])

添加所有具有相關概念的圖像后,您必須創建模型。這非常簡單,只需要一行代碼。

model = clarifai_app.models.create('rockpaperscissors', concepts=['rock','paper','scissors'])

模型 id 只是您給它的名稱,在本例中為“rockpaperscissors”。您的圖像已加載,您的模型已制作完成。現在,您的模型將需要一些培訓才能正常工作:

from clarifai.rest import ClarifaiApp
app = ClarifaiApp(api_key='YOU API KEY HERE')
model = app.models.get('rockpaperscissors')
model.train()

Clarifai 不僅返回概念,還將返回一個關聯值,該值表示 clarifai 對它所報告的概念在圖像中的信心程度。

當我在對初始圖像進行訓練后首次測試模型時,模型將所有東西都識別為具有高置信度值的巖石。所以你需要做一些后續培訓。我訓練了用 iPhone 拍攝的圖像,石頭、紙和剪刀各 10 個。現在我正在查看來自我辦公桌上 PiCamera 的圖像。

所以為了進一步訓練模型,我做了一個簡單的命令行菜單驅動腳本。我在 ssh 的 Mark I 命令行上運行它。我也可以將這個過程整合到 Mycroft 技能中。也許我會,但為了讓模型盡快訓練并運行,我去了 cli old school!

以下是顯示使用 testModel.py 腳本運行的輸出跟蹤。概念右側的值表示已在圖片中觀察到概念的置信度。

------------------------------
  RPS - TEST MODEL MENU
------------------------------
0. Exit
1. Take Test picture
------------------------------
Enter your choice [0-1] : 1
Taking a picture...
scissors : 0.98923486
paper : 0.005966468
rock : 6.13205e-05
Enter your choice [0-1] : 1
Taking a picture...
scissors : 0.9895846
paper : 0.0037088227
rock : 0.0001315531
Enter your choice [0-1] : 1
Taking a picture...
paper : 0.95485735
scissors : 0.22752154
rock : 0.00014038719
Enter your choice [0-1] : 1
Taking a picture...
paper : 0.89271563
scissors : 0.1276629
rock : 0.00030472572

使用這個腳本,我測試了 20 輪 RPS 的隨機序列。在本次訓練中,模型已經使用我的手在 63 張圖像(Rock 18、Paper 24、Scissors 21)上進行了訓練。我的模型 80% 正確。Clarifai 有一個模型瀏覽器,可讓您查看圖像、概念、標簽、值等。這是自定義模型的關鍵工具。

?
pYYBAGOY1GSAHT33AAG-igzoesg077.jpg
Clarifai 模型瀏覽器視圖
?

通過查看這些圖像以及使用 testModel.py 腳本返回給我的值。我可以看到,我沒有在巖石圖像上訓練它足夠“手掌”,并且模型與巖石和紙張最“混淆”。所以我使用我的 trainModel.py 腳本用 5 個以上的巖石和圖像以及 4 個以上的紙質圖像來訓練模型。在此之后,使用相同的序列,clarfiai 定制模型得分 90%!現在我擔心這個模型正在學習我的手,所以我讓我兒子瀏覽了同樣的 20 張圖像。. .得分75%!懷疑得到證實。

使用這些知識,在未來,我將把模型訓練給更多的人,來自不同的人。此外,我并沒有真正正確使用返回的分數。返回的一些分數彼此非常接近。我們可以利用這一事實讓 Mycroft 要求再進行一輪,而不是回答錯誤或對沖并要求確認。我們還可以使用一種訓練機制,讓 mycroft 定期要求確認,尤其是在置信度值接近時。

借助慷慨的免費開發人員選項以及對圖像和操作的較大允許限制,我們可以輕松地改進這個模型。事實上,僅用 10 張圖片就可以看到模型從 80% 提高到 90%,這向我展示了我們可以多快將其打造為可靠且通用的模型。

技能

一旦我確信我的自定義 clarifai 模型運行良好,我就準備將其納入一項技能中。有關創建 Mycroft 技能的一般信息,請參閱。我將重點介紹我在這里找到的一些重要方面。

Mycroft 技能位于 /opt/mycroft/skills 文件夾中。此文件夾中的每個文件夾都代表一項技能。

?
poYBAGOY1GaAIYH8AADdn2YkgvI800.png
?

該技能的目錄結構比較簡單。主要操作發生在__init__.py文件中。在這里,我們創建技能并創建一個列表,以包含稍后在游戲和游戲邏輯中使用的單詞。

class RockPaperScissorsSkill(MycroftSkill):
    def __init__(self):
        super(RockPaperScissorsSkill, self).__init__(name="RockPaperScissorsSkill")
        self.gameChoices = ['rock','paper','scissors']

Mycroft 可以通過使用適應意圖解析器或 Padatious 來確定您想要運行的技能。Adapt 將.vocab文件中的關鍵字與話語中檢測到的詞(您在喚醒詞“Hey Mycroft”之后所說的)匹配。Padatious 使用神經網絡模式匹配方法將話語與.vocab文件中的句子進行比較。

我喜歡 Padatious 方法,因為它允許您對自然語言非常接近地建模話語。每種方法都有其優點和缺點,但對于自然發音短語的快速技能發展,我更喜歡 Padatious。它還沒有真正支持會話上下文,這是一個減號,但我認為這將在未來發生變化。

在初始化函數中,我們創建了 clarifai 應用程序并使用它來訪問我們之前創建的rockpaperscissors模型。創建您的 clarifai 帳戶和應用程序后,“api_key”對您來說是唯一的。我將它放在技能目錄的 settings.json 文件中以增加靈活性。

def initialize(self):
        self.load_data_files(dirname(__file__))
        self.clarifai_app = ClarifaiApp(api_key=self.settings["api_key"])
        self.rpsModel = self.clarifai_app.models.get('rockpaperscissors')
        self.register_intent_file('rps.intent',self.handle_rps)

一項技能可以根據所說的內容(識別的話語)執行許多任務。這些話語中的每一個都與一個處理程序配對。在這種情況下,只有一個處理程序def handle_rps()您可以在這里看到 Mycroft 沒有作弊,他只是隨機選擇石頭、紙或剪刀,并且這個“選擇”保存在一個列表中。Mycroft 的選擇保存在索引 0 中。然后他提示玩家選擇。這可以通過對話文件來完成,然后您可以為開始提示添加一些變化,因為對話文件中的行將被隨機選擇。我只是在這里保持簡單,并使用了self.speak()函數。

  
def handle_rps(self,message):
    rpsRound = []
    rpsRound.append(self.mycroftChoice())
    self.speak("O K lets play")
    self.speak("rock paper scissors go")
    rpsRound.append(self.playerChoice())
    self.speak("i chose " + rpsRound[0])
    self.speak("you chose " + rpsRound[1])
    self.gameLogic(rpsRound)

然后,Mycroft 將通過評估來自 clarifai 自定義模型的響應來確定玩家選擇了什么。

def playerChoice(self):
    self.take_picture()
    resp = self.rpsModel.predict_by_filename(self.settings["img_location"] +     'rps.jpg')
return self.parseResponse(resp)

?

?

?

?

?

?

?

?


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

評論

查看更多

下載排行

本周

  1. 1普中科技HC6800-EM3使用操作手冊
  2. 21.69 MB   |  3次下載  |  2 積分
  3. 2PCB板EMC/EMI的設計技巧
  4. 0.20 MB   |  3次下載  |  免費
  5. 3MSP430?閃存器件引導加載程序(BSL)
  6. 1.45MB   |  2次下載  |  免費
  7. 4PL4807單節鋰離子電池充電器中文手冊
  8. 1.36 MB   |  2次下載  |  免費
  9. 5JFG-AS02微量程扭矩傳感器數據表
  10. 0.32 MB   |  1次下載  |  免費
  11. 6LTH7充電電路和鋰電池升壓5V輸出電路原理圖
  12. 0.04 MB   |  1次下載  |  免費
  13. 7OPAx320x精密CMOS運算放大器
  14. 2.22MB   |  1次下載  |  免費
  15. 8BQ77207EVM用戶指南
  16. 865.23KB   |  1次下載  |  免費

本月

  1. 1XL4015+LM358恒壓恒流電路圖
  2. 0.38 MB   |  154次下載  |  1 積分
  3. 2PCB布線和布局電路設計規則
  4. 0.40 MB   |  35次下載  |  免費
  5. 3智能門鎖原理圖
  6. 0.39 MB   |  13次下載  |  免費
  7. 4GB/T4706.1-2024 家用和類似用途電器的安全第1部分:通用要求
  8. 7.43 MB   |  11次下載  |  1 積分
  9. 5JESD79-5C_v1.30-2024 內存技術規范
  10. 2.71 MB   |  10次下載  |  免費
  11. 6elmo直線電機驅動調試細則
  12. 4.76 MB   |  9次下載  |  6 積分
  13. 7WIFI智能音箱原理圖完整版
  14. 0.09 MB   |  7次下載  |  10 積分
  15. 8PC1013三合一快充數據線充電芯片介紹
  16. 1.03 MB   |  7次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935115次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
  4. 1.48MB  |  420061次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233084次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191367次下載  |  10 積分
  9. 5十天學會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183333次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81581次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73806次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65985次下載  |  10 積分