写点什么

仅需一小时,教你用豆包 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:109295

评论

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

提高工作效率的神器:基于前端表格实现Chrome Excel扩展插件

葡萄城技术团队

chrome Excel 插件 扩展

iphone14到手了?你还需要一个专职管家!

淋雨

iphone 备份

图解Kafka中的数据采集和统计机制

石臻臻的杂货铺

kafka Kafka实战 10月月更

TiDB5.0.0-rc性能测试

TiDB 社区干货传送门

版本测评 新版本/特性发布

业务系统发布新版本咋流量保障

CTO技术共享

个人成长 灰度发布 10月月更

信息安全 Dapr 策略咋控制

CTO技术共享

个人成长 dapr 10月月更

WorkPlus数智化移动平台,打造政企强安全的超级门户

BeeWorks

一站式移动工作平台,让企业实现运营管理全面数字化

BeeWorks

新来个技术总监,给团队引入了这款开发神器,同事直呼哇塞

Liam

前后端分离 开发 Postman API 开发效率

直击面试!Github爆火2022最新Java面试八股文+简历模板+面试软技能分享

程序员小毕

程序员 程序人生 后端 java面试 简历

6 种 K8s 协同工具,助你提高工作效率

Daocloud 道客

Kubernetes 云原生 kubectl 命令行工具

报告发布|“双轮驱动”重磅升级,天猫联合瓴羊、罗兰贝格发布《天猫DTC企业经营指南 :以人为本,品牌致胜》

瓴羊企业智能服务

Go语言入门02—运算符

良猿

Go golang 后端 10月月更

万物皆可集成系列:低代码通过Web API

葡萄城技术团队

集成 数据录入

阿里平头哥RISC-V补丁并入安卓系统源代码,RISC-V与安卓融合再提速

Lily

【案例】星环科技×某能源企业:数据中台实践

星环科技

澜舟科技机器翻译新进展:汉语与世界15 种主要语言的翻译超越谷歌

澜舟孟子开源社区

人工智能 机器翻译 nlp 澜舟科技

网络安全实战之靶场渗透技术

网络安全学海

黑客 网络安全 信息安全 渗透测试 漏洞挖掘

技术内幕 | StarRocks Pipeline 执行框架(下)

StarRocks

数据库

虚拟集群vcluster 多租户实战演练

CTO技术共享

个人成长 集群管理 10月月更

React + Springboot + Quartz,从0实现Excel报表自动化

葡萄城技术团队

React SpringB

KubeCube 版本转换:K8s 升级再也不用担心影响老版本了

网易数帆

开源 Kubernetes 云原生 KubeCube 企业号十月 PK 榜

没错!在 Excel 中也能对海量数据进行明细钻取啦

Kyligence

数据分析 海量数据

校招面试真题 | 面试官必问面试题之你有什么想问我的?

霍格沃兹测试开发学社

结果公布!1024开发者狂欢季踏浪而来,参与赛道主题征文赢取精美奖品!

InfoQ写作社区官方

OpenHarmony 元宇宙 Web3.0 热门活动 “程”风破浪的开发者

锋云智慧开启“1024猿媛囤书日”活动,千锋原创教材普惠广大技术学习者

千锋IT教育

【原创】k8s 微服务滚动发布(服务持续可用)实践笔记

车江毅

k8s 不停机发布 滚动发布

一篇带你了解如何使用纯前端类Excel表格构建现金流量表

葡萄城技术团队

管理 流量

GPU在高性能仿真计算中的应用

Finovy Cloud

高性能 GPU算力

HCI 解决方案对比:Harvester 和 OpenStack

Rancher

Kubernetes k8s rancher

【kafka原理】Kafka生产者 (分区策略和ACK应答机制)

石臻臻的杂货铺

kafka Kafka实战 10月月更

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