丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預覽,將在時失效
人工智能開發(fā)者 正文
發(fā)私信給AI研習社-譯站
發(fā)送

0

通過機器學習識別“迪士尼在逃公主”,程序員寵女的正確打開方式!

本文作者: AI研習社-譯站 2021-01-18 16:39
導語:我借用的我女兒所有迪士尼的公主人偶來建立了一個機器學習模型。

譯者:AI研習社(FIONAbiubiu、成語風

雙語原文鏈接:Princess Finder using React, ml5.js, and Teachable Machine Learning


到了慶祝的時候了!我們剛剛送走了圣誕老人。現(xiàn)在正等待新年的鐘聲敲響。所以我想到建立一個很酷的東西(至少我的七歲小公主會覺得)同時學一點機器學習。所以我們要做一個什么?

我借用的我女兒所有迪士尼公主人偶來建立一個機器學習模型,這個應用取名為“Princess Finder”,可以通過攝像頭將這些人偶的公主信息都識別出來。本文中我們將會學到這背后的一些知識以及擴展它們的可能性。

The Princess Finder

該 Princess Finder 應用是使用以下內(nèi)容構建的:

  • The Teachable Machine:如何簡單,快速地創(chuàng)建models可直接在應用程序或網(wǎng)站中使用的機器學習?可教學機器允許您將train計算機與圖像,聲音和姿勢一起使用。我們使用迪士尼公主創(chuàng)建了一個模型,以便我們可以Image Classification在應用程序中使用它來執(zhí)行。

  • ml5.js:這是使用您的Web瀏覽器進行的Web機器學習。它使用Web瀏覽器的內(nèi)置圖形處理單元(GPU)進行快速計算。我們可以像使用,可以用API如imageClassifier(model),classify等來進行圖像分類。

  • React:這是一個用于構建用戶界面的JavaScript庫。我們可以ml5.js在React應用程序中使用它,只需安裝并將其作為依賴項導入即可。

這是應用程序顯示的截圖,有93%的概率表明,這個娃娃是Jasmine(茉莉公主),它有明顯的金戒指標記。

通過機器學習識別“迪士尼在逃公主”,程序員寵女的正確打開方式!

鑒于我根本不像迪士尼公主(甚至沒有洋娃娃)。因此,我自己的圖像已正確分類,說No Dolls。

通過機器學習識別“迪士尼在逃公主”,程序員寵女的正確打開方式!

這是一個很棒的簡單演示。

通過機器學習識別“迪士尼在逃公主”,程序員寵女的正確打開方式!

幾個術語

如果您是機器學習的新手,您可能會發(fā)現(xiàn)其中一些術語有些不知所措。最好是從更高維的角度了解它們的含義以了解用法。

通過機器學習識別“迪士尼在逃公主”,程序員寵女的正確打開方式!

您可以從此處閱讀有關這些和其他機器學習術語的更多信息。

我們的Princess Finder應用程序使用Supervised Machine learning,我們有trained將model有很多examples的公主的照片。每個示例數(shù)據(jù)還包含一個label,用于通過名稱標識特定的公主。

Teachable Machine

我們可以使用Teachable Machine用戶界面通過幾個簡單的步驟來創(chuàng)建ML模型。首先,瀏覽到此鏈接。(需要VPN)您可以選擇圖像,聲音或姿勢項目。在我們的例子中,它將是一個圖像項目。

通過機器學習識別“迪士尼在逃公主”,程序員寵女的正確打開方式!

接下來,我們需要通過選擇示例(圖像和標簽)來定義分類。我們可以使用網(wǎng)絡攝像頭拍攝照片,也可以上傳圖像。

通過機器學習識別“迪士尼在逃公主”,程序員寵女的正確打開方式!

加載示例后,我們便開始培訓。這將為我們創(chuàng)建一個模型。

通過機器學習識別“迪士尼在逃公主”,程序員寵女的正確打開方式!

訓練完成后,您可以使用實時數(shù)據(jù)測試模型。滿意后,您可以導出模型以在應用程序中使用它。

通過機器學習識別“迪士尼在逃公主”,程序員寵女的正確打開方式!

最后,我們可以下載模型以在我們的應用程序中使用它。您可以選擇將模型上傳到云中,以使用URL進行使用。您也可以將項目保存到Google Drive。

通過機器學習識別“迪士尼在逃公主”,程序員寵女的正確打開方式!

如果您有興趣使用或擴展我創(chuàng)建的模型,則可以下載并將其導入“可教機器”界面。

使用ml5.js和React的用戶界面

現(xiàn)在我們有了一個模型。我們將使用該ml5.js庫導入模型,并使用實時流對圖像進行分類。我最熟悉的是React。您可以使用任何UI庫,框架或原始JavaScript。我已經(jīng)使用create-react-app啟動應用程序的骨架并在一分鐘內(nèi)運行。

安裝ml5.js依賴項

# Or, npm install ml5 
yarn add ml5

將模型解壓縮public到項目文件夾下。我們可以model在公共目錄下創(chuàng)建一個名為的文件夾,然后提取文件。

通過機器學習識別“迪士尼在逃公主”,程序員寵女的正確打開方式!

使用ml5.js庫來加載模型。我們將使用該imageClassifier方法來傳遞模型文件。此方法調用返回一個分類器對象,我們將在一段時間內(nèi)使用該對象對實時圖像進行分類。還要注意,一旦成功加載模型,我們將初始化網(wǎng)絡攝像頭設備,以便我們可以從實時流中收集圖像。

useEffect(() => {    
   classifier = ml5.imageClassifier("./model/model.json", () => {      
       navigator.mediaDevices        
           .getUserMedia({ video: true, audio: false })        
           .then((stream) => {          
               videoRef.current.srcObject = stream;          
               videoRef.current.play();          
               setLoaded(true);        
            });    
       });  
    }, []);

我們還需要在render函數(shù)中定義一個視頻組件

<video      
    ref={videoRef}      
    style={{ transform: "scale(-1, 1)" }}      
    width="200"      
    height="150" />

接下來,我們在分類器上調用classify()方法以獲取結果。該results是所有比賽的目標參數(shù)標簽的數(shù)組。

classifier.classify(videoRef.current, (error, results) => {   
    if (error) {      
        console.error(error);      
        return;   
    }   
    setResult(results); 
});

我們應該classify在指定的時間間隔內(nèi)使用方法調用。您可以使用一個稱為React的React Hook,useInterval進行相同操作。結果數(shù)組可能看起來像這樣,

通過機器學習識別“迪士尼在逃公主”,程序員寵女的正確打開方式!

請從此處找到App.js文件的完整代碼。就是這樣,您現(xiàn)在可以使用此result數(shù)組提供您想要的任何UI表示形式。在我們的例子中,我們在兩個React組件中使用了這個結果數(shù)組,

1.列出公主并突出顯示最匹配的那個

<Princess data={result} /

2.顯示儀表圖以指示匹配的置信度。

<Chart data={result[0]} /

Princess組件循環(huán)遍歷結果數(shù)組,并使用一些CSS樣式突出顯示它們,并呈現(xiàn)它們。

import React from "react";
const Princess = (props) => {  
   const mostMatched = props.data[0];  
   const allLabels = props.data.map((elem) => elem.label);  
   const sortedLabels = allLabels.sort((a, b) => a.localeCompare(b));  
       return (    
           <>      
               <ul className="princes">        
                   {sortedLabels.map((label) => (          
                       <li key={label}>            
                       <span>              
                       <img                
                           className={`img ${                  
                               label === mostMatched.label ? "selected" : null                
                       }`}                
                   src={                  
                       label === "No Dolls"                    
                           ? "./images/No.png"                    
                           : `./images/${label}.png`                
                   }                
                   alt={label}              
                   />              
                   <p className="name">{label}</p>            
                </span>          
              </li>        
            ))}      
         </ul>    
       </>  
      );
   };
export default Princess;

圖表組件就是這樣

import React from "react";
import GaugeChart from "react-gauge-chart";
const Chart = (props) => {  
   const data = props.data;  
   const label = data.label;  
   const confidence = parseFloat(data.confidence.toFixed(2));  
   return (    
       <div>      
           <h3>Classification Confidence: {label}</h3>        
           <GaugeChart        
               id="gauge-chart3"        
               nrOfLevels={3}        
               colors={["#FF5F6D", "#FFC371", "rgb(26 202 26)"]}        
               arcWidth={0.3}        
               percent={confidence}      
           />    
       </div>  
   );
};
export default Chart;

就是這樣。請從GitHub存儲庫中找到完整的源代碼。如果您喜歡這項工作,請隨時給項目加星號(?)。

https://github.com/atapas/princess-finder


AI研習社是AI學術青年和AI開發(fā)者技術交流的在線社區(qū)。我們與高校、學術機構和產(chǎn)業(yè)界合作,通過提供學習、實戰(zhàn)和求職服務,為AI學術青年和開發(fā)者的交流互助和職業(yè)發(fā)展打造一站式平臺,致力成為中國最大的科技創(chuàng)新人才聚集地。

如果,你也是位熱愛分享的AI愛好者。歡迎與譯站一起,學習新知,分享成長。

通過機器學習識別“迪士尼在逃公主”,程序員寵女的正確打開方式!

雷峰網(wǎng)版權文章,未經(jīng)授權禁止轉載。詳情見轉載須知。

通過機器學習識別“迪士尼在逃公主”,程序員寵女的正確打開方式!

分享:
相關文章

知情人士

AI研習社(yanxishe.com)譯站頻道,傳播前沿人工智能知識,讓語言不再成為學習知識的門檻。(原雷鋒字幕組)
當月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設置密碼以方便用郵箱登錄
立即設置 以后再說