写点什么

仅需一小时,教你用豆包 MarsCode 学会图像物体识别

  • 2024-12-11
    北京
  • 本文字数:2358 字

    阅读完需:约 8 分钟

大小:702.15K时长:03:59
仅需一小时,教你用豆包 MarsCode 学会图像物体识别

今天教大家如何通过豆包 MarsCode 低代码实现图像物体智能检测。轻松了解购物同款识别、动植物品种识别、车辆违章识别的底层逻辑,并进行初步应用。快码住这期干货满满的教程,一起用代码炼出火眼金睛。

课前准备

安装豆包 MarsCode


在启动编码工作前,我们需要先下载安装豆包MarsCode 编程助手。


以在 Visual Studio Code 中为例,需要先打开 VSCode 扩展窗口,在搜索框搜索 MarsCode,找到豆包 MarsCode 后单击 「install」,完成安装,登录后即可使用豆包 MarsCode 编程助手。


获取课程代码


复制如下链接至浏览器,即可获取代码:

https://sourl.cn/2WRZVH

git clone https://gitcode.com/langgptai/ImageDetection.git
复制代码

安装 Python 环境


Windows 系统安装 Python


打开如下官方网站,点击适合自己电脑配置的版本即可下载👇

https://www.python.org/downloads/


🌟注意要记住自己安装的 Python 版本,之后会用到~

配置 VSCode


1. 安装 Python 必备扩展:


打开 VSCode,点击左侧扩展图标(或直接按快捷键:Ctrl+Shift+X ),搜索并安装以下扩展:

  • Python(Microsoft 出品,必装)



  • Python Extension Pack(包含多个实用工具)

  • Python Indent(自动缩进)

  • Python Path(路径管理)


2. 配置 Python 环境


  • 按快捷键 Ctrl+Shift+P(macOS 用 Command+Shift+P)

  • 输入"Python: Select Interpreter"


  • 选择之前安装的 Python 版本


3. 创建和运行第一个 Python 程序


  • 点击"文件 > 新建文件"

  • 保存为.py 文件(如:hello.py)

  • 输入示例代码:

printf("hello world!");
复制代码


  • 右键点击编辑器,选择"在终端中运行 Python 文件" 或点击右上角的运行按钮(三角形图标)


安装 Git(可选,用于下载模型)


  • 访问以下网址: https://git-scm.com/downloads

  • 下载并安装 Git

  • 验证安装:git--version

FFmpeg 安装


Windows:


访问如下网址后:

https://www.ffmpeg.org/download.html,下载 Windows 版本(选择 Windows builds),解压下载的文件到指定目录(如 C:\ffmpeg)并添加以下环境变量:


  • 右键"此电脑" → 属性 → 高级系统设置 → 环境变量

  • 在"系统变量"中找到 Path

  • 点击"编辑" → "新建"

  • 添加 FFmpeg 的 bin 目录路径(如 C:\ffmpeg\bin)


验证安装:打开新的命令行窗口,输入 ffmpeg -version


Linux:


sudo apt updatesudo apt install ffmpeg
复制代码


Mac: 

brew install ffmpeg
复制代码


Python 依赖安装


  • 升级 pip:

python -m pip install --upgrade pip
复制代码


  • 安装主要依赖:

# 基础依赖pip install torch torchvisionpip install transformerspip install pillowpip install opencv-pythonpip install ultralyticspip install tqdmpip install ffmpeg-python# 如果下载速度慢,可以使用清华源:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple torch torchvisionpip install -i https://pypi.tuna.tsinghua.edu.cn/simple transformers pillow opencv-python ultralytics tqdm ffmpeg-python
复制代码


完成一系列的准备工作之后,终于来到了我们的实操环节!现在正式开始我们的课程跟练,开启 AI 视觉之旅~

课程跟练


首先打开前文提到的课程代码~


git clone https://gitcode.com/langgptai/ImageDetection.git
复制代码


再打开豆包MarsCode,输入提示词获取代码:


你能否用最新的yolo 进行目标检测
复制代码



通过更改代码中的图片路径,跟随图片操作运行代码即可对图像进行物体检测,得到如图效果,成功识别出照片中的人物。

下一步需要对图片中的物体是什么进行标注,我们可以在对话框输入如下关键词:

请把标签也绘制出来
复制代码



替换代码后,可获得如下效果:



观察图像可知有图片中还有其他低概率杂框,比如 Bench 和 Bottle 的识别框。

低概率:指代码识别物体正确概率。

如果需要去除掉低概率杂框,我们只需要在对话框输入如下提示词:


概率在 0.5以下的不绘制,其他代码不变
复制代码


即可得到如下图效果:


想要核对答案的朋友,我们也为大家准备好了完整代码~


import cv2from ultralytics import YOLO
# 加载模型model = YOLO("./models/yolo11s.pt") # 假设我们使用的是 YOLOv8 的 nano 模型
# 读取图片image_path = "media/image.png"image = cv2.imread(image_path)
# 进行目标检测results = model.predict(source=image, save=True, save_txt=True) # 保存检测结果为图片和文本文件
# 打印检测结果for result in results: boxes = result.boxes for box in boxes: if box.conf >= 0.5: # 只绘制概率在 0.5 及以上的检测结果 print(f"类别: {box.cls}, 置信度: {box.conf}, 边界框: {box.xyxy}")
# 提取类别标签和置信度 label = f"{model.names[int(box.cls)]} {float(box.conf):.2f}" # 绘制边界框和类别标签 x1, y1, x2, y2 = box.xyxy[0] x1, y1, x2, y2 = int(x1), int(y1), int(x2), int(y2) cv2.rectangle(image, (x1, y1), (x2, y2), (0, 255, 0), 2) cv2.putText(image, label, (x1, y1 - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
# 显示图像cv2.imshow("Image with Detection", image)cv2.waitKey(0)cv2.destroyAllWindows()
复制代码


接下来继续进行应用升级,进行车流检测。打开视频接下里输入如下提示词:


检测视频 cars.mp4 并保存检测结果
复制代码



可获取如下效果:



在其他常见的生活应用场景中,抖音的滤镜检测年龄玩法也是运用了类似的原理。现在我们来进行情绪识别的应用,或许也能轻松复刻类似滤镜玩法。


我们对豆包MarsCode 输入如下命令:

HF_ENDPOINT=https://hf-mirror.com python emotion.py
复制代码



即可加载情绪识别模型识别图像中人物情绪。



同样的,在模式选择中选择 3 并打开视频路径,类似的也可获得如下图效果👇



以上就是图像物体智能检测的全部内容,类似的原理还能用在非常多生活领域,欢迎大家运用今天所学知识,多多探索生活中更多可能性!

2024-12-11 10:108410

评论

发布
暂无评论
发现更多内容

LangChain 联合创始人下场揭秘:如何用 LangChain 和向量数据库搞定语义搜索

Zilliz

Milvus Zilliz #LangChain

牛刀低代码开发实战—物联网车载大气监测

牛刀专业低代码

低代码 低代码开发平台 起步牛刀低代码 牛刀低代码 低代码paas平台

以 AI 变革组织运营与管理,2023 Kyligence 用户大会盛大举行

Kyligence

数据分析 数智化

学科知识图谱学习平台项目 :技术栈Java、Neo4j、MySQL等超详细教学

汀丶人工智能

人工智能 自然语言处理 深度学习 neo4j 知识图谱

2023-07-14:讲一讲Kafka与RocketMQ中存储设计的异同?

福大大架构师每日一题

福大大架构师每日一题

H5页面秒开优化与实践

汽车之家客户端前端团队

给大模型穹顶,树一根存力支柱

脑极体

存储

Nautilus Chain 更换全新测试网,主网即将在不久上线

股市老人

牛刀专业低代码开发实战—招聘管理

牛刀专业低代码

低代码 低代码开发平台 起步牛刀低代码 牛刀低代码 牛刀专业低代码

火山引擎徐广治:边缘云,下一代云计算

火山引擎边缘云

云计算 边缘云 火山引擎边缘云

牛刀专业低代码开发实战—奖酬金预分配

牛刀专业低代码

低代码 牛刀低代码 低代码paas平台 java低代码 私有化低代码

大模型基础:理论与技术演进

永佳

2023年iOS App Store上架流程详解(上)

牛刀低代码开发实战—需求评审

牛刀专业低代码

低代码 低代码开发平台 牛刀低代码 低代码paas平台 java低代码

深入了解C++优先队列

芯动大师

蚂蚁集团积极参与《金融业分布式信息系统运维技术研究报告》的编写

TRaaS

官宣!Databend Cloud 和青云科技达成合作

Databend

“开放合作 共享未来”华秋联手伙伴共创硬件生态,助力物联网硬件加速创新

华秋电子

快速离线安装MySql数据库

zhengzai7

MySQL

24款绘画软件app推荐免费!手绘爱好者必备。

彭宏豪95

效率工具 软件推荐 科技 画图工具 绘图软件

从十万行代码定位undefined is not an object (evaluating 't.length')

汽车之家客户端前端团队

给我五分钟!让你掌握React的Redux中间件原理

汽车之家客户端前端团队

小巧玲珑的AVIF,你的网页图片换新装!

汽车之家客户端前端团队

Docker学习路线5:在 Docker 中实现数据持久化

小万哥

Java c++ Go Docker 后端

突破:GGX(Golden Gate)发布悉尼测试网,跨链基础设施迈出重要一步

股市老人

告别内卷,瓴羊飞渡,中国ToB生态迎来 iPhone 时刻

B Impact

HDC.Cloud 2023|邂逅AI,华为云CodeArts铸就研发效能10倍提升

华为云PaaS服务小智

华为 华为云 华为开发者大会2023

Amazon 上的数字孪生:使用 L3 预测性数字孪生来预测“行为”

亚马逊云科技 (Amazon Web Services)

Amazon

代码随想录Day16 - 二叉树(三)

jjn0703

仅需一小时,教你用豆包 MarsCode 学会图像物体识别_AI&大模型_豆包MarsCode_InfoQ精选文章