Yolov5 tf-lite方式导出

在之前的文章《Yolov5 Android tf-lite方式集成》中,导出tf-lite方式的模型使用的是https://github.com/zldrobit/yolov5.git中的tf.py。晚上尝试用yolov5 最新版本的代码的export.py导出,如果不想修改命令行参数,可以字节修改以下代码:

# 需要修改参数 data weights batch-size
def parse_opt():
    parser = argparse.ArgumentParser()
    parser.add_argument('--data', type=str, default=ROOT / 'data/ads.yaml', help='dataset.yaml path')
    parser.add_argument('--weights', type=str, default=ROOT / 'best.pt', help='weights path')
    parser.add_argument('--imgsz', '--img', '--img-size', nargs='+', type=int, default=[640, 640], help='image (h, w)')
    parser.add_argument('--batch-size', type=int, default=1, help='batch size')
    parser.add_argument('--device', default='cpu', help='cuda device, i.e. 0 or 0,1,2,3 or cpu')
    parser.add_argument('--half', action='store_true', help='FP16 half-precision export')
    parser.add_argument('--inplace', action='store_true', help='set YOLOv5 Detect() inplace=True')
    parser.add_argument('--train', action='store_true', help='model.train() mode')
    parser.add_argument('--optimize',default=True, action='store_true', help='TorchScript: optimize for mobile')
    parser.add_argument('--int8', action='store_true', help='CoreML/TF INT8 quantization')
    parser.add_argument('--dynamic', action='store_true', help='ONNX/TF: dynamic axes')
    parser.add_argument('--simplify', action='store_true', help='ONNX: simplify model')
    parser.add_argument('--opset', type=int, default=13, help='ONNX: opset version')
    parser.add_argument('--topk-per-class', type=int, default=100, help='TF.js NMS: topk per class to keep')
    parser.add_argument('--topk-all', type=int, default=100, help='TF.js NMS: topk for all classes to keep')
    parser.add_argument('--iou-thres', type=float, default=0.45, help='TF.js NMS: IoU threshold')
    parser.add_argument('--conf-thres', type=float, default=0.25, help='TF.js NMS: confidence threshold')
    parser.add_argument('--include', nargs='+',
                        default=['torchscript', 'onnx'],
                        help='available formats are (torchscript, onnx, coreml, saved_model, pb, tflite, tfjs)')
    opt = parser.parse_args()
    print_args(FILE.stem, opt)
    return opt
Continue Reading

Yolov5 Android tf-lite方式集成

上一篇文章中提到的torchscript方式在手机上实际的检测效果差了很多,于是尝试了另外两种方式,第二种方式目前还有问题,所以就先不写了。这篇文章介绍的是第三种方法。zldrobit创建了一个ftlite的分支,https://github.com/zldrobit/yolov5.git。要使用这个方法文章中步骤也写的比较详细了。

1.克隆相关的分支:

git clone https://github.com/zldrobit/yolov5.git
cd yolov5
git checkout tf-android
Continue Reading

Yolov5 Android torchscript方式集成

搜索了一下,目前要在手机端实现yolov5检测,找到了如下三种方式:

  • tocrchscript方式,也就是目前本文采用的方式,参考链接:https://blog.csdn.net/djstavaV/article/details/118078013
  • ncnn方式,参考链接:https://zhuanlan.zhihu.com/p/275989233?utm_source=qq https://zhuanlan.zhihu.com/p/400975662
  • tf-lite方式,参考链接:https://github.com/zldrobit/yolov5
Continue Reading

Yolov5 安卓检测效果让人无语

上图左边是手机上的效果,右边是pc上的效果,这tm的是同一个模型?转换模型参考的文章:https://github.com/pytorch/android-demo-app/tree/master/ObjectDetection 

https://blog.csdn.net/djstavaV/article/details/118078013 修改了各种参数和方法,效果差别不大。这个东西应该怎么搞?谁能给点建议?

Android Skip Ads Android Project【截屏部分】

作为安卓自动跳过广告三部曲的第二部分,主要是实现系统截屏功能。继《Android Skip Ads Yolov5 Project》之后,下一步就是获取当前屏幕的截图,把截图传入分析引擎实现广告跳过按钮的识别,最后一步是按钮点击。

要在安卓系统上实现截图(截取整个屏幕,并且需要截取其他app的界面),通常有下面三个方法:

1.直接调用系统的截屏工具,需要root权限

adb shell screencap -p /sdcard/sreenshot1.png
Continue Reading

秀人集爬虫 【21.9.21】【Windows】

xiurenji.exe 可执行文件名称
帮助:
-h 显示帮助说明
必选参数:
-a 整站爬取
-q 搜索爬取,针对关键字搜索之后对于搜索结果页进行爬取
可选参数:
-p 指定下载目录,默认下载路径为当前exe所在目录下的images文件夹
-s 指定服务器地址,例如:http://www.xiurenji.vip url不要带最后的/

更新日志:

增加-s 参数支持:
-s 指定服务器地址,例如:http://www.xiurenji.vip url不要带最后的/
Continue Reading