AI 实战篇 |十分钟学会【动物识别】,快去寻找身边的小动物试试看吧【送书】

news2024/11/17 8:39:32

请添加图片描述

  • 🎬 博客主页:https://xiaoy.blog.csdn.net

  • 🎥 本文由 呆呆敲代码的小Y 原创,首发于 CSDN🙉

  • 🎄 学习专栏推荐:Unity系统学习专栏

  • 🌲 游戏制作专栏推荐:游戏制作

  • 🌲Unity实战100例专栏推荐:Unity 实战100例 教程

  • 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!

  • 📆 未来很长,值得我们全力奔赴更美好的生活✨

  • ------------------❤️分割线❤️-------------------------

      • 前言
  • AI 实战篇 |十分钟学会【动物识别】,快去寻找身边的小动物试试看吧
    • 一、准备工作
    • 二、正文操作流程
        • 2.1 新建一个Unity工程
        • 2.2 导入 动物识别 .dll文件
        • 2.3 新建交互类
        • 2.4 使用图片进行 动物识别
        • 2.5 后台查看报表
        • 2.6 领取试用资源
    • 总结
    • 👑 评论区抽奖送书

请添加图片描述


前言

  • 以前一直觉得一些AI技术非常的高级又复杂,但是到了现在这些技术其实已经早就被日常规范化了。
  • 我们只需要借助一些平台封装好的SDK就可以拿来直接使用相应的功能。
  • 比如上期写了一篇借助百度AI开放平台 写了一篇关于人脸识别的文章:
  • AI 实战篇 |基于 AI开放平台实现 人脸识别对比 功能,超详细教程【附带源码】
  • 内容介绍的很详细,关于怎样获取SDK以及在控制台创建应用都已经进行了说明。
  • 那本篇文章就来再学习一下 AI图像识别技术 之 动物识别 ,十分钟学会制作加使用,一起来看看吧!

AI 实战篇 |十分钟学会【动物识别】,快去寻找身边的小动物试试看吧

在这里插入图片描述

一、准备工作

在开始之前要有一些准备工作需要进行,如前往百度AI平台获取SDK以及创建应用等。

这里可以去上一篇人脸识别中查看具体的操作,就不多做说明了,步骤都是一样的。

只需要在创建应用接口选择时选择我们需要的功能接口即可。
在这里插入图片描述
同时选择多个接口,只需要在使用的时候通过入参灵活指定需要调用的模型服务,传入图像,返回指定模型的识别结果。

这一步最终的目的是从下载的SDK中拿到两个库,在后面会用到。

解压后,打开 net35 文件夹将 AipSdk.dllNewtonsoft.Json.dll 中添加为引用。
在这里插入图片描述


二、正文操作流程

2.1 新建一个Unity工程

新建一个Unity打开后 打开 File>BuildSettings -> PlayerSettings -> OtherSettings

改变Api Compatibility Level.NET2.0,若本来就是则不需要修改。

在这里插入图片描述

2.2 导入 动物识别 .dll文件

Assets下新建一个Plugins文件夹,注意不要拼错单词哦~

将上面讲到的两个文件AipSdk.dll Newtonsoft.Json.dll放入该文件夹。

在这里插入图片描述
然后新建一个测试场景和脚本,命名随意。

打开动物识别的C#官方文档:https://ai.baidu.com/ai-doc/IMAGERECOGNITION/1k3bcxhb1

文档中的步骤挺详细,可以结合文章与文档共同参考 ~

2.3 新建交互类

定义一个客户端,此时要用到之前创建的应用的 APPIDAPIKeySecretKey

在这里插入图片描述
代码如下:

using Baidu.Aip.ImageClassify;
using UnityEngine;

public class AnimalRecognitionDemo : MonoBehaviour
{
    [Header("设置APPID/AK/SK")]
    public string APP_ID = "输入你的 App ID";
    public string API_KEY = "输入你的 Api Key";
    public string SECRET_KEY = "输入你的 Secret Key";
    ImageClassify client;

    private void Awake()
    {
        client = new ImageClassify(API_KEY, SECRET_KEY);
        client.Timeout = 60000;  // 修改超时时间
    }
}

2.4 使用图片进行 动物识别

在这里插入图片描述
在这里插入图片描述

这里先准备一张小猫的照片,只要是动物就行,看自己喜好。
在这里插入图片描述
然后放到Unity的 StreamingAssets/AnimalDetect 文件夹下

我这里的图片名字为 Cat1.png ,在测试的时候改为自己的即可。

实例代码如下:

    public void AnimalDetectDemo()
    {
        var image = File.ReadAllBytes(Application.streamingAssetsPath + "/AnimalDetect/Cat1.png");

        // 调用动物识别,可能会抛出网络等异常,请使用try/catch捕获
        var result = client.AnimalDetect(image);
        Debug.Log(result);

        // 如果有可选参数
        var options = new Dictionary<string, object>{
            {"top_num", 3},
            {"baike_num", 5}
        };
        // 带参数调用动物识别
        result = client.AnimalDetect(image, options);
        Debug.Log(result);
    }

这是一个功能展示效果:
在这里插入图片描述

不带百科信息的返回值如下:

{
  "result": [
    {
      "score": "0.30621",
      "name": "波斯猫"
    },
    {
      "score": "0.222449",
      "name": "异国短毛猫"
    },
    {
      "score": "0.0785699",
      "name": "美国刚毛猫"
    },
    {
      "score": "0.0775081",
      "name": "英国短毛猫"
    },
    {
      "score": "0.0304954",
      "name": "欧洲短毛猫"
    },
    {
      "score": "0.0237903",
      "name": "乳黄色猫"
    }
  ],
  "log_id": 1588736538952080052
}

带百科信息的返回值如下:

{
  "result": [
    {
      "score": "0.30621",
      "name": "波斯猫",
      "baike_info": {
        "baike_url": "http://baike.baidu.com/item/%E6%B3%A2%E6%96%AF%E7%8C%AB/585",
        "image_url": "https://bkimg.cdn.bcebos.com/pic/cc11728b4710b9123e0206d7cefdfc03934522dc",
        "description": "波斯猫(Persian cat)是以阿富汗的土种长毛猫和土耳其的安哥拉长毛猫为基础,在英国经过100多年的选种繁殖,于1860年诞生的一个品种。波斯猫是最常见的长毛猫,波斯猫有一张讨人喜爱的面庞,长而华丽的背毛,优雅的举止,故有“猫中王子”、“王妃”之称,是世界上爱猫者最喜欢的纯种猫之一,占有极其重要的地位。"
      }
    },
    {
      "score": "0.222449",
      "name": "异国短毛猫",
      "baike_info": {
        "baike_url": "http://baike.baidu.com/item/%E5%BC%82%E5%9B%BD%E7%9F%AD%E6%AF%9B%E7%8C%AB/4630871",
        "image_url": "https://bkimg.cdn.bcebos.com/pic/e61190ef76c6a7efac2ebfa1f5faaf51f3de6628",
        "description": "1960年左右,美国的育种专家将美国短毛猫,波斯猫进行交配繁育,期待改进美国猫的皮毛颜色并增加其体重,这样就诞生了异国短毛猫。在1966年被 CFA 承认为新品种。在育种期间,它还和俄罗斯蓝猫及缅甸猫杂交。1987 年以来,该品种的允许杂交品种被限定为波斯猫一种。FIFE 在 1986 年承认了异国短毛猫。该品种在美国已经非常普遍,在欧洲也在逐渐风行起来。异国短毛猫除拥有浓密皮毛外,还保留了波斯猫独特的可爱表情与圆滚滚的体型。性格也如波斯猫般文静、亲切,能慰藉主人的心,体形为中型到大型的短脚型,头部宽而圆,鼻子有明显的凹陷,皮毛有柔和的光泽,性情独立,不爱吵闹。"
      }
    },
    {
      "score": "0.0785699",
      "name": "美国刚毛猫",
      "baike_info": {}
    }
  ],
  "log_id": 1588736543378695878
}

我们拿到这个返回值之后就可以对结果进行一个编辑加展示,以达成我们想要的一个效果。

2.5 后台查看报表

可以在监控报表中查看我们的应用使用情况。

在这里插入图片描述

2.6 领取试用资源

如果使用上述代码一直调用失败,可以检查一下是否领取了免费的试用资源。

{
  "error_code": 18,
  "error_msg": "Open api qps request limit reached"
}

在控制台选择 产品服务 -> 人工智能 -> 图像识别
在这里插入图片描述

进入 图像识别 之后选择 领取免费资源

在这里插入图片描述

选择全部,然后领取即可。这里的免费试用资源调用量都是有限的,也有一个有效期,我们用来测试是足够的,但是如果这个调用量不够,那就需要去购买资源啦!

在这里插入图片描述


总结

  • 本文对 动物识别 做了一个简单的学习使用教程。
  • 在使用了AI平台的SDK之后,我们在最上层使用其实没有用到什么技术。只是负责调用对应的API接口就可以实现我们想要的效果。
  • 不得不说现在想要开发一个新功能是越来越方便了,前提是会学习和借助工具。
  • 如果真的是从零开始实现这个功能,那么就要进行一系列的AI算法训练等等操作。
  • 不过我们作为开发人员,懂得如何正确的使用现有的工具就已经可以满足基本需求了!
  • 学会了动物识别,不能允许身边的小动物能逃过我们的魔爪!把他们统统拍一遍,然后看看分别都是什么品种吧哈哈~

👑 评论区抽奖送书

最后在评论区进行抽取三名 优质评论 的小伙伴送下面这本书籍

  • 博主这有一些Unity相关的书籍,是由 清华大学出版社 赞助的,在此感谢~大家喜欢的也可以去官方购买!

  • 在这里搞个小活动抽奖送给大家,对看书感兴趣的小伙伴可以参加一波呀,刚开始可能参与的不多,抽中概率很大哦!

  • 《Unity和C#游戏编程入门(第5版)》

  • 一本非常经典的Unity编程宝典,可以迅速提高编程水平!

  • 尤其是想从事Unity开发的小伙伴,这本书就可以让你了解相关知识,对症下药可以极大地提高学习效率!

在这里插入图片描述

🎁抽奖规则

规则如下:

🚀 规则如下🚀
  • 给本篇博客文章 点赞 收藏 评论 三连,然后在评论区评论里 送一本书籍,总共抽三本!

  • 总共抽三本,中的几率还是很大的哦~ 想看书的小伙伴参与起来!

  • 中奖信息周四下午本篇文章评论区公布!记得留意呀!

  • 没抽到的,但是喜欢这本书的小伙伴也可以在网上自行购买哈,官方正品商店购买即可!

🚀 规则如上🚀

🎄《Unity和C#游戏编程入门(第5版)》推荐理由(⭐⭐⭐⭐⭐)

  • 1 适用对象
    本书既适合非计算机软件专业出身的编程小白,也适合即将走上工作岗位的广大毕业生,以及已经有编程经验但想转行做Unity方向的专业人士。同时,还可以作为广大职业院校、培训班的教学参考用书。

  • 2 图书简介

  • 通过简单易懂的步骤和示例学习C#基础编程

  • 掌握如何在Unity中创建和应用脚本

  • 用C#实现诸如角色控制和射击等基本游戏机制

  • 理解接口与抽象类的概念

  • 利用新版C#的强大功能解决复杂的编程问题

  • 熟悉堆栈、队列、异常、错误处理等其他C#核心概念

  • 探索游戏中人工智能(AI)的基础知识并将其应用于控制敌人行为

书本图片如下,喜欢的小伙伴参与起来!也可以购书链接自行购买哦~

喜欢的小伙伴可以尝试抽奖一下呀!

抽不到的小伙伴喜欢的也可以自行购买哦,这本书还是很不错的!


在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/11704.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机毕业设计node.js+vue在线日程管理系统

项目介绍 我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,在线日程管理系统被用户普遍使用,为方便用户能够可以随时进行在线管理自己的日程的数据信息,特开发了基于在线日程管理…

【Pytorch with fastai】第 11 章 :使用 fastai 的中级 API 进行数据处理

&#x1f50e;大家好&#xff0c;我是Sonhhxg_柒&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f4dd;个人主页&#xff0d;Sonhhxg_柒的博客_CSDN博客 &#x1f4c3; &#x1f381;欢迎各位→点赞…

第2关:子节点创建、列出、删除

子节点创建、列出 首先&#xff0c;需要启动服务器&#xff0c;并使用zkCli.sh连接服务器&#xff0c;进入客户端命令行界面&#xff08;如第一关所述&#xff09;。 创建子节点类似于创建新的节点&#xff0c;子节点也具有四种类型的节点。唯一的区别是&#xff1a;子节点的…

redis学习4-list

基本的数据类型&#xff0c;列表,redis命令是不区分大小写的 在redis中&#xff0c;我们可以把list玩成&#xff0c;线&#xff0c;队列&#xff0c;阻塞队列&#xff01; 所有的list命令都是用l开头的 [rootcentos7964 bin]# redis-cli -p 6379 127.0.0.1:6379> LPUSH li…

Oracle Primavera Unifier计划管理器(Planning Manager)

目录 一、前言 二、介绍 一、前言 在计划管理器中&#xff0c;Oracle Primavera Unifier 用户可以计划新项目/外壳和提案&#xff0c;并为已在 Unifier 中运行的项目/外壳创建预测。他们不能像在 Unifier 中管理真实项目/外壳那样管理计划的项目/外壳;但是&#xff0c;他们可…

Observer

一些比较方便的 DOM 监测的 API。 一个 Observer 实例具备的实例方法&#xff1a; observe。向监听的目标集合添加一个元素。unobserve。停止对一个元素的观察。disconnect。终止对所有目标元素的观察。… 一、IntersectionObserver 提供了一种异步检测目标元素与祖先元素或…

图解LeetCode——792. 匹配子序列的单词数(难度:中等)

一、题目 给定字符串 s 和字符串数组 words, 返回 words[i] 中是s的子序列的单词个数 。 字符串的 子序列 是从原始字符串中生成的新字符串&#xff0c;可以从中删去一些字符(可以是none)&#xff0c;而不改变其余字符的相对顺序。 例如&#xff0c; “ace” 是 “abcde” 的…

css3对页面打印设置的一些特殊属性,如@page,target-counter等

公司内部应业务需求&#xff0c;需要将html生成pdf并能打印&#xff0c;前后台都各有方式&#xff0c;这里综合比较选择用java去生成&#xff0c;避免了前端生成带来的诸多问题&#xff0c;后台用的框架是 iTextPdf 但是在做的同时发现用iText实现的pdf生成和公司的业务需要生成…

Spring学习第6篇: 基于注解使用IOC

大家家好&#xff0c;我是一名网络怪咖&#xff0c;北漂五年。相信大家和我一样&#xff0c;都有一个大厂梦&#xff0c;作为一名资深Java选手&#xff0c;深知Spring重要性&#xff0c;现在普遍都使用SpringBoot来开发&#xff0c;面试的时候SpringBoot原理也是经常会问到&…

【数据链路层】封装成帧和透明传输和差错控制

注&#xff1a;最后有面试挑战&#xff0c;看看自己掌握了吗 文章目录前言链路层功能功能封装成帧和透明传输组帧的四种方法透明传输差错控制检错编码差错链路层的差错控制检错编码纠错编码链路层代码实现&#x1f343;博主昵称&#xff1a;一拳必胜客 &#x1f338;博主寄语&a…

27.gateway的限流实战(springcloud)

1 什么是限流 通俗的说&#xff0c;限流就是限制一段时间内&#xff0c;用户访问资源的次数&#xff0c;减轻服务器压力&#xff0c;限流大致分为两种&#xff1a; 1. IP 限流&#xff08;5s 内同一个 ip 访问超过 3 次&#xff0c;则限制不让访问&#xff0c;过一段时间才可继…

E-Prime心理学实验设计软件丨产品简介

拖放设计 通过将对象拖放到时间轴上来构建文本、图像、声音和视频的实验。利用我们的实验库中的免费模板和预建实验。 计时精度 E-Prime 3.0 将计时精度报告到毫秒精度级别。请务必使用我们的测试工具来确认您的计算机硬件能够进行关键计时。将Chronos添加到您的研究设置中&a…

Kubernetes 系统化学习之 资源清单篇(三)

Kubernetes 是一个可移植的、可扩展的开源平台&#xff0c;用于管理容器化的工作负载和服务&#xff0c;可促进声明式配置和自动化。Kubernetes 拥有一个庞大且快速增长的生态系统。 根据不同的级别&#xff0c;可以将 Kubernetes 中的资源进行多种分类。以下列举的内容都是 K…

轻松学习jQuery控制DOM

✅作者简介&#xff1a;热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏&#xff1a;前端开发者…

ESP8266--Arduino开发(驱动WS2812B)

文章目录一、WS2812彩灯介绍二、安装Adafruit_NeoPixel驱动库三、Adafruit_NeoPixel库常用接口四、使用示例五、网页端控制WS2812B灯带实例一、WS2812彩灯介绍 WS2812是一个集控制电路与发光电路于一体的智能外控LED光源&#xff0c;外型与5050LED灯珠相同&#xff0c;每个灯珠…

Linux修改默认登录端口22

目录 一、编辑sshd配置 二、重启sshd 三、防火墙开放端口 四、重启防火墙 五、测试连接 六、防火墙关闭22端口 前言&#xff1a;ssh登录的默认端口是22&#xff0c;如果不修改默认端口的话&#xff0c;会不安全&#xff0c;默认端口会遭到攻击&#xff0c;为了安全要修…

JavaEE之HTTP协议 Ⅰ

文章目录前言一、协议格式总结二、认识URL三、认识"方法"(method)1.GETGET请求的特点2.POSTPOST 请求的特点总结前言 网络技术中,最核心的概念,就是"协议",HTTP就是应用层典型的协议 应用层,很多时候需要程序员自定义应用层协议,也有一些现成的协议,供我们…

代码随想录算法训练营第57天 | 647. 回文子串 516.最长回文子序列 dp总结

代码随想录系列文章目录 动态规划篇 —— 区间dp 文章目录代码随想录系列文章目录动态规划篇 —— 区间dp647. 回文子串516.最长回文子序列代码随想录中动态规划总结647. 回文子串 题目链接 回文子串还是很难的我觉得&#xff0c;所以应该多做几遍 这道题的dp数组代表就不是问…

Linux之用户操作【用户的增删改查你要的都有】【详细】

目录用户相关介绍添加用户useradd [选项] 用户名passwd 用户名细节说明删除用户userdel 用户名userdel -r 用户名查询用户id 用户名切换用户su 用户名默认输入su切换到管理员目录用户组groupadd 组名userdel 组名补充&#xff1a; useradd -g 用户组 用户名补充&#xff1a;use…

BigLEN(rat)脑内最丰富的多肽之一、LENSSPQAPARRLLPP

BigLEN(rat) TFA 是脑内最丰富的多肽之一&#xff0c;是有效的 GPR171 激动剂&#xff0c;其EC50 值为1.6 nM。 BigLEN(rat) TFA, one of the most abundant peptides in brain, is a potent GPR171 agonist, with an EC50 of 1.6 nM[1][2].编号: 200557 中文名称: BigLEN(rat)…