Unity接入百度AI實現(xiàn)通用物體和場景識別
接口介紹:
可識別超過10萬類常見物體和場景,接口返回大類及細(xì)分類的名稱,并支持獲取識別結(jié)果對應(yīng)的百科信息;還可使用EasyDL定制訓(xùn)練平臺,定制識別分類標(biāo)簽。廣泛適用于圖像或視頻內(nèi)容分析、拍照識圖等業(yè)務(wù)場景。
創(chuàng)建應(yīng)用:
在產(chǎn)品服務(wù)中搜索圖像識別,創(chuàng)建應(yīng)用,獲取AppID、APIKey、SecretKey信息:


查閱官方文檔,以下是通用物體和場景識別接口返回數(shù)據(jù)參數(shù)詳情:

定義數(shù)據(jù)結(jié)構(gòu):
using System;
/// <summary>
/// 通用物體和場景識別
/// </summary>
[Serializable]
public class AdvancedGeneralRecognition
{
/// <summary>
/// 唯一的log id,用于問題定位
/// </summary>
public float log_id;
/// <summary>
/// 返回結(jié)果數(shù)目,及result數(shù)組中的元素個數(shù)
/// </summary>
public int result_num;
/// <summary>
/// 返回結(jié)果數(shù)組
/// </summary>
public AdvancedGeneralRecognitionResult[] result;
}
/// <summary>
/// 通用物體和場景識別結(jié)果
/// </summary>
[Serializable]
public class AdvancedGeneralRecognitionResult
{
/// <summary>
/// 圖片中的物體或場景名稱
/// </summary>
public string keyword;
/// <summary>
/// 置信度,0-1
/// </summary>
public float score;
/// <summary>
/// 識別結(jié)果的上層標(biāo)簽,有部分錢幣、動漫、煙酒等tag無上層標(biāo)簽
/// </summary>
public string root;
/// <summary>
/// 百科詞條
/// </summary>
public BaikeInfo baike_info;
}
[Serializable]
public class BaikeInfo
{
/// <summary>
/// 對應(yīng)識別結(jié)果百度百科頁面鏈接
/// </summary>
public string baike_url;
/// <summary>
/// 對應(yīng)識別結(jié)果百科圖片鏈接
/// </summary>
public string image_url;
/// <summary>
/// 對應(yīng)識別結(jié)果百科內(nèi)容描述
/// </summary>
public string description;
}
下載C# SDK:

下載完成后將AipSdk.dll動態(tài)庫導(dǎo)入到Unity中:

以下是調(diào)用接口時傳入的參數(shù)詳情:

封裝調(diào)用函數(shù):
using System;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 圖像識別
/// </summary>
public class ImageRecognition
{
//以下信息于百度開發(fā)者中心控制臺創(chuàng)建應(yīng)用獲取
private const string appID = "";
private const string apiKey = "";
private const string secretKey = "";
/// <summary>
/// 通用物體和場景識別
/// </summary>
/// <param name="bytes">圖片字節(jié)數(shù)據(jù)</param>
/// <param name="baikeNum">返回百科信息的結(jié)果數(shù),默認(rèn)不返回</param>
/// <returns></returns>
public static AdvancedGeneralRecognition AdvancedGeneral(byte[] bytes, int baikeNum = 0)
{
var client = new Baidu.Aip.ImageClassify.ImageClassify(apiKey, secretKey);
try
{
var options = new Dictionary<string, object>
{
{ "baike_num", baikeNum },
};
var response = client.AdvancedGeneral(bytes, options);
AdvancedGeneralRecognition recognition = JsonConvert.DeserializeObject<AdvancedGeneralRecognition>(response.ToString());
return recognition;
}
catch (Exception error)
{
Debug.LogError(error);
}
return null;
}
}
using System.IO;
using UnityEngine;
public class Example : MonoBehaviour
{
private void Start()
{
ImageRecognition.AdvancedGeneral(File.ReadAllBytes(Application.dataPath + "/Picture.jpg"), 1);
}
}到此這篇關(guān)于Unity接入百度AI實現(xiàn)通用物體和場景識別的文章就介紹到這了,更多相關(guān)Unity物體和場景識別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
WCF基礎(chǔ)介紹并創(chuàng)建簡單應(yīng)用程序
這篇文章介紹了WCF基礎(chǔ)并創(chuàng)建簡單WCF應(yīng)用程序,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-01-01
c# DateTime常用操作實例(datetime計算時間差)
字符串操作DateTime操作,datetime計算時間差,取當(dāng)前時間,更多方法看下面代碼2013-12-12
c#不使用windows api函數(shù)打開我的電腦和獲取電腦驅(qū)動器信息
這篇文章主要介紹了c#不使用windows api函數(shù)打開我的電腦和電腦驅(qū)動器信息的方法,大家參考使用2013-12-12
C#使用GZipStream解壓縮數(shù)據(jù)文件的方法
這篇文章主要介紹了C#使用GZipStream解壓縮數(shù)據(jù)文件的方法,實例分析了C#中GZipStream方法的原理與使用技巧,需要的朋友可以參考下2015-04-04

