Tensor on Android学习笔记(三) ----将Yolo移植到android平台

yolo v2移植到android已经有很多案例了

这里博主学习了@chentyjpm 的DarknetDemoInAndroid 

项目地址在https://github.com/chentyjpm/DarknetDemoInAndroid

不过原博主提供的apk是经过优化的,我自己编译的还达不到原博主的效果,还需要再改善


然后我们要做的就是将v3版本移植够来

通过对比darknet中提供的python脚本,我们发现作者改变了其中几个接口,并将boxes props等属性封装进了detection


所以修改代码中darknet.cpp

        //get_network_boxes(l, im.w, im.h, net->w, net->h, thresh, probs, boxes, masks, 0, 0, hier_thresh, 1);
        detection * dets = get_network_boxes(net, im.w, im.h, thresh, hier_thresh, 0, 1, 0);
        //if (nms) do_nms_obj(boxes, probs, l.w*l.h*l.n, l.classes, nms);
        //if (nms) do_nms_sort(boxes, probs, l.w*l.h*l.n, l.classes, nms);
        if (nms) do_nms_obj(dets, l.w*l.h*l.n, l.classes, nms);
        //draw_detections(im, l.w*l.h*l.n, thresh, boxes, probs, masks, names, alphabet, l.classes);
        draw_detections(im, dets, l.w*l.h*l.n, thresh,names, alphabet,  l.classes);

然后将v3的模型和配置加进去。 

目前也还没有完成,通过logcat发现已经可以识别,但是在activity显示最终图片的时候闪退了,正在查找原因,感觉可能是v3输出图片的接口有了变化。

目前需要做的:

1.通过python脚本的流程捋一遍darknet源码的运行流程

2.通过.cfg或.so等去优化yolo在android机的运行效率

你可能感兴趣的:(Android,目标检测,深度学习,YOLO)