比赛因为疫情凉了,没事干写写文章吧
视频效果:https://www.bilibili.com/video/BV1qU4y157dV
啥也不说先上图片看效果

项目介绍:Android端从摄像头中获取的含有交通标志物图片进行识别。
交通标志物包括:直行、掉头、左转、右转、禁止通行、禁止直行

项目实现步骤:
1、准备图片 每种标志物的图片120张就足够
2、通过EasyDL物体检测去训练图片
3、训练完后EasyDL可以下载一个对应的应用例程
4、将应用例程迁移到自己的程序里面

步骤一
如何获取图片呢?
可以通过摄像头录到的视频来一帧一帧的把图片给提取出来。
python+opencv来实现。
直接上代码:

import cv2
cap=cv2.VideoCapture("turnright (11).avi")#输入视频
isOpened=cap.isOpened
i=0
while(isOpened):if i==10:breakelse:i=i+1(flag,frame)=cap.read()fileName='turnright'+str(i)+'.jpg'#照片名字print(fileName)if flag==True:cv2.imwrite(fileName,frame,[cv2.IMWRITE_JPEG_CHROMA_QUALITY,100])#输出照片

上面代码自行测试调试理解

步骤二
百度大脑训练图片,网站操作视频来训练图片
https://ai.baidu.com/easydl/vision/
训练完成后

步骤三
下载训练好的SDK
通过官方文档调试

步骤四
阅读API文档移植到自己的程序里面
只需要从例程中移植出TestInferDetectionTask类

/*** 通用arm 物体检测*/
public class TestInferDetectionTask{private static final int NUM_OF_RUNS = 1;private static final int NUM_OF_API_CALLS = 1;private static final float CONFIDENCE = 0.5f;private static final String TAG = "TestInferDetectionTask";private static final String SERIAL_NUM = "BC57-01EC-32B2-BF02";public static Rect rect=null;public static String TrafficFlag() {String resString = null;try {for (int i = 0; i < NUM_OF_RUNS; i++) {/* 以下逻辑请放在同一个线程里执行,比如使用ThreadHandler *//* 1. 准备配置类,初始化Manager类。可以在onCreate或onResume中触发,请在非UI线程里调用 */InferConfig config = new InferConfig(XcApplication.getContext().getAssets(), "infer");InferManager manager = new InferManager(XcApplication.getContext(), config, SERIAL_NUM);/* 2.1 准备图片,作为Bitmap输入 */InputStream is = XcApplication.getApp().getAssets().open("test.jpg");Bitmap image = BitmapFactory.decodeStream(is);is.close();/* 2.2 推理图片及解析结果 */List<DetectionResultModel> models_results = null;String resStr = "";for (int j = 0; j < NUM_OF_API_CALLS; j++) {//                    models_results = manager.detect(image, CONFIDENCE);models_results = manager.detect(MainActivity.bitmap, CONFIDENCE);// 在模型销毁前可以不断调用。但是不支持多线程。// 解析结果if (models_results != null) {if (models_results.size() > 0) {resStr += models_results.get(0).getLabel() + ", " + models_results.get(0).getConfidence();resString = models_results.get(0).getLabel();}}Log.e(TAG, "识别结果: " + resStr);Log.e(TAG, "识别结果: " + resString);rect=models_results.get(0).getBounds();Log.e(TAG, "外包围矩形:"+rect);Log.e(TAG, "外包围矩形上:"+models_results.get(0).getBounds().top);Log.e(TAG, "外包围矩形左:"+models_results.get(0).getBounds().left);Log.e(TAG, "外包围矩形右:"+models_results.get(0).getBounds().right);Log.e(TAG, "外包围矩形下:"+models_results.get(0).getBounds().bottom);Log.e(TAG, "外包围矩形宽:"+models_results.get(0).getBounds().width());Log.e(TAG, "外包围矩形高:"+models_results.get(0).getBounds().height());}/* 3. 销毁模型。可以在onDestroy或onPause中触发,请在非UI线程里调用 */manager.destroy();}} catch (Exception e) {e.printStackTrace();Log.e(TAG, "错误: ");}return resString;}//识别结果转换//直行0x01 左转0x02  右转0x03  掉头0x04  禁止直行0x05  禁止通行0x06public static int trafficFlag(String res){int which=1;if (res!=null){if (res.equals("go_straight")){Log.e(TAG, "识别直行");which=1;}else if (res.equals("turn_left")){Log.e(TAG, "识别左转");which=2;} else if (res.equals("turn_right")){Log.e(TAG, "识别右转");which=3;}else if (res.equals("turn_around")){Log.e(TAG, "识别掉头");which=4;}else if (res.equals("no_straight")){Log.e(TAG, "识别禁止直行");which=5;}else if (res.equals("no_turn")){Log.e(TAG, "识别禁止通行");which=6;}}return which;}
}

这期间肯定会遇到各种各样的问题,但是你只能查官方文档和google或百度,不断地遇到问题不断地解决问题。你我之间都是从零开始。

Android使用百度大脑EasyDL识别交通标志物相关推荐

  1. 直播实录|百度大脑EasyDL是如何帮助NLP文本提升标注效率的?又如何进行复杂文本分类的?

    百度大脑EasyDL是如何帮助NLP文本分类用户提升标注效率的?业界领先的文本分类智能标注产品效果如何?在百度产品经理夜巡的带领下,你将会学习到EasyDL专业版文本分类模型最新上线的智能标注功能的具 ...

  2. 快消零售行业核心场景痛点解决:百度大脑EasyDL零售版功能详解

    对于快消品牌商而言,许多工作都围绕着提高产品销量展开.然而,即便是在电商网购盛行的今天,线下门店的购买量仍然是产品销量的重要部分. 因此,品牌商在不断优化策略提高线下门店的产品销量.其中,洞察和提升商 ...

  3. 百度大脑EasyDL专业版重磅升级 预置网络更丰富,开发更灵活

    百度大脑EasyDL是基于飞桨框架PaddlePaddle推出的面向企业打造的零门槛AI开发平台,可为各行业有AI模型开发需求的企业及开发者,提供从数据管理与标注.模型训练.服务部署的全流程支持,使用 ...

  4. 得力人脸识别考勤机密码设置_百度大脑人脸识别公有云日均调用量过亿 成为业内第一...

    "刷脸"时代的背后,是技术"一日千里"的快速发展和演进.9月26日,百度来到深圳并召开了百度大脑人脸识别新产品及伙伴计划发布会.会上,百度首次公开人脸识别公有云 ...

  5. 百度大脑EasyDL多人标注重磅上线啦

    今天给大家带来的是百度大脑EasyDL多人标注重磅上线,助力团队协作标注的相关信息,下面我们来看具体内容! 无论是企业的AI业务应用开发,还是高校师生团队的AI科研项目,想要获取高精度模型,除了需要选 ...

  6. 直播实录|百度大脑EasyDL邀一线专家分享肿瘤识别

    本次的EasyDL产业应用系列直播课将在下周迎来最后一期--领域信息处理NLP专场.在NLP专场中,在下周二和下周三,6月9号与10号,我们分别为大家带来业界领先的文本分类智能标注产品介绍,并由猎头咨 ...

  7. android人脸检测开发——百度大脑离线识别SDK

    有些仿制google mobile vision API嫌疑,但还要收费. https://ai.baidu.com/tech/face/detect 百度人脸离线识别SDK http://ai.ba ...

  8. 直播知识点实录|百度大脑EasyDL产业应用系列 质检专场

    EasyDL产业应用系列[安全生产及数据处理]公开课,课程中不仅介绍了EasyDL在安全生产领域的落地案例与实战演示,还有新上线的EasyData智能数据服务平台功能与介绍.没有参加课程的小伙伴也不用 ...

  9. 直播实录|百度大脑EasyDL·NVIDIA专场 视频场景数据处理

    视频场景数据处理及模型训练 时间:2020年5月29日 讲师:NVIDIA高级解决方案架构师张海军主要负责NVIDIA Jetson系列产品技术及架构相关的解决方案. [直播回放] EasyDL-Je ...

  10. 直播实录|如何使用百度大脑EasyDL构建互联网内容安全方案?

    如何使用EasyDL构建互联网内容安全方案 时间:2020年6月2日 讲师:百度AI技术生态部高级产品经理 Nathan [直播回放] 如何使用EasyDL构建互联网内容安全方案:https://ww ...

最新文章

  1. Nature:拟南芥微生物组功能研究3人工重组微生物群落
  2. 无线网***工具进攻方法及防范技巧
  3. 什么数据库比mysql效率高_牛x!一款比传统数据库快 100-1000 倍的数据库,来认识一下?...
  4. 使用MyBatis框架时发现的一些小bug
  5. 搭建PC架构的ISCSI存储系统
  6. m2eclipse简单使用,创建Maven项目 ,运行mvn命令(转)
  7. SQL Server schema 用法
  8. 闪讯钳制下Linux系统上网解决方案
  9. 14个免费的 GIS 软件:以开源的方式绘制地图
  10. 计算机屏显内容超过屏幕了,电脑屏幕超出工作频率范围修复方法
  11. Z(zombie)僵尸进程和孤儿进程
  12. python图片分析中央气象台降水量预报_获取中央气象台网的气象数据 全流程技术解析(python 爬虫)...
  13. Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Process
  14. 决策树可视化:鸢尾花数据集分类(附代码数据集)
  15. [系统安全] 二十一.PE数字签名之(中)Signcode、PEView、010Editor、Asn1View工具用法
  16. 10条SKETCH的秘诀,为你提高工作的效率
  17. 论文:lda2vev:Mixing Dirichlet Topic Models and Word Embeddings to Make lda2vec
  18. 苹果手机换鸿蒙系统,鸿蒙横空出世了,换掉苹果机你愿意吗?
  19. 计算机vf中rest是什么意思,vf常用命令(全)
  20. 成都大数据三大平台正式上线

热门文章

  1. 移动内部疯传的11篇VoLTE学习笔记,看懂了你也是技术大神(二)
  2. 云服务器延迟测试,云服务器网络延迟和丢包
  3. Android 手机和盒子遥控器
  4. mac Segmentation Fault
  5. SSH known_hosts / authorized_keys 的解释
  6. OpenStack排错记录---ResourceProviderCreationFailed和You are not authorized to perform the requested actio
  7. 2022.4.21 python中关于sklearn 0.18的错误—— cannot import name comb
  8. python模拟生成微软序列号,python生成随机序列号
  9. Auditing SQL Server SQL Statements
  10. linux修改为英文环境、中文输入