YOLO学习-API尝试

YOLO-V2实现识别单类

源码修改

修改cfg/voc.data

classess=20 改成 classes = 1
1

修改data/voc.names

只留下person这一类
2

修改examples/detector.c

  1. 修改run_detector函数
void run_detector(int argc, char **argv)//该函数中,第line=849行
int classes = option_find_int(options, "classes", 1);//最后一个参数修改成1

3
2.修改test_detector函数

void test_detector(char *datacfg, char *cfgfile, char *weightfile, char *filename, float thresh, float hier_thresh, char *outfile, int fullscreen)
//函数中,第line=604行
draw_detections(im, dets, nboxes, thresh, names, alphabet, l.classes); //l.classes改成 1 

4

重新编译和测试

  1. 编译
make clean
make
  1. 测试
./darknet detect cfg/yolov3.cfg  cfg/yolov3.weights /home/it/Yolo/crop001007.png 

参考文献

YOLO2论文介绍
YOLOV2回顾
YOLO-V2识别单物体
YOLO-V2代码详解
yolo v2文件结构和源码的简单梳理
yolo-v2只识别person
YOLO 9000论文翻译

### 关于AScript与YOLO #### AScript简介 AScript 是一种基于 ActionScript 3 (AS3) 的脚本语言,主要用于编写跨平台的自动化脚本。它具有类似于 AS3 的语法结构,适合初学者快速上手[^1]。 #### YOLO简介 YOLO(You Only Look Once)是一种实时目标检测算法,在计算机视觉领域广泛应用。其主要特点是速度快、精度高,适用于多种场景的目标识别任务[^5]。 目前未发现任何公开资料表明 AScript 和 YOLO 存在直接关联或集成的可能性。以下是可能的原因分析: 1. **技术栈差异** - AScript 主要用于移动端设备上的简单逻辑控制和自动化操作。 - YOLO 则是一个复杂的机器学习模型,通常运行在 Python 环境中,并依赖深度学习框架如 TensorFlow 或 PyTorch 进行训练和推理[^6]。 2. **功能定位不同** - AScript 更倾向于轻量级的任务处理,例如模拟点击、滑动等交互行为。 - YOLO 需要高性能计算资源支持,不适合嵌入到移动应用中的小型脚本环境中。 尽管如此,如果希望将两者结合起来实现某些特定需求,则可以通过以下方式尝试间接协作: - 使用 AScript 编写前端界面或者控制逻辑; - 调用外部 API 接口完成图像上传至服务器端进行 YOLO 处理后再返回结果给客户端显示出来。 下面提供一段伪代码展示如何通过 HTTP 请求调用远程服务来进行物体检测的功能演示: ```javascript // 假设存在一个 RESTful API 提供 YOLO 物体检测的服务 var url:String = "http://example.com/yolo-detect"; var request:URLRequest = new URLRequest(url); request.method = URLRequestMethod.POST; // 准备发送的数据包,这里假设需要传递图片文件路径作为参数之一 var variables:URLVariables = new URLVariables(); variables.imagePath = "/path/to/local/image.jpg"; // 替换为实际本地图片位置 request.data = variables; // 发送请求并监听响应事件 var loader:URLLoader = new URLLoader(); loader.addEventListener(Event.COMPLETE, onResultReceived); try { loader.load(request); } catch (error:Error) { trace("An error occurred while sending the request."); } function onResultReceived(event:Event):void { var result:Object = JSON.parse(URLLoader(event.target).data.toString()); if(result.success){ trace("Detected objects:",result.objects); // 输出检测到的对象列表 }else{ trace("Detection failed with message:",result.errorMessage); } } ``` 此示例仅作概念验证用途,请根据实际情况调整具体实现细节。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

piepis

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值