easypr

[硬核科普]神经网络:从神经元到深度学习

僤鯓⒐⒋嵵緔 提交于 2021-02-16 10:01:57
“ 原作者 :计算机的潜意识 重新排版 :「曲水流觞TechRill 」 , 转载请同时注明两个出处。 全文 :18K字,阅读需1小时 原文 : https://www.cnblogs.com/subconscious/p/5058741.html ” 神经网络是一门重要的机器学习技术。它是目前最为火热的研究方向--深度学习的基础。学习神经网络不仅可以让你掌握一门强大的机器学习方法,同时也可以更好地帮助你理解深度学习技术。 本文以一种简单的,循序的方式讲解神经网络。适合对神经网络了解不多的同学。本文对阅读没有一定的前提要求,但是懂一些 ‍‍‍‍‍ ‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ ‍‍‍ 机器学习 参见本公众号另一篇: [硬核科普]从机器学习谈起 基础会更好地帮助理解本文。 神经网络是一种模拟人脑的神经网络以期能够实现类人工智能的机器学习技术。人脑中的神经网络是一个非常复杂的组织。成人的大脑中估计有1000亿个神经元之多。 图1 人脑神经网络 那么机器学习中的神经网络是如何实现这种模拟的,并且达到一个惊人的良好效果的?通过本文,你可以了解到这些问题的答案,同时还能知道神经网络的历史,以及如何较好地学习它。 由于本文较长,为方便读者,以下是本文的目录: 一.[前言] 二.[神经元] 三.[单层神经网络(感知器)] 四.[两层神经网络(多层感知器)] 五.[多层神经网络

围观!一套开源的,基于SpringBoot的车牌识别系统(附项目地址)

好久不见. 提交于 2021-02-09 06:02:39
gitee开源地址 https://gitee.com/admin_yu/yx-image-recognition 介绍 spring boot + maven 实现的车牌识别及训练系统 基于java语言的深度学习项目,在整个开源社区来说都相对较少;而基于java语言实现车牌识别EasyPR-Java项目,最后的更新已经是五年以前。 本人参考了EasyPR原版C++项目、以及fan-wenjie的EasyPR-Java项目;同时查阅了部分opencv官方4.0.1版本C++的源码,结合个人对java语言理解,整理出当前项目 这是一个入门级教程项目,本人目前也正在学习图片识别相关技术;大牛请绕路 当前项目在原有EasyPR项目基础上,增加了绿牌识别功能,只不过当前的训练库文件包含绿牌的样本太少,还需要重新增加绿牌样本的训练,后续会逐步上传 当前已经添加基于svm算法的车牌检测训练、以及基于ann算法的车牌号码识别训练功能 后续会逐步加入证件识别、人脸识别等功能 包含功能 黄 蓝 绿 黄蓝绿车牌检测及车牌号码识别 单张图片、多张图片并发、单图片多车牌检测及识别 图片车牌检测训练 图片文字识别训练 包含两种依赖包的实现方式:基于org.bytedeco.javacpp包的实现方式;基于org.opencv官方包的实现方式 org.opencv官方包,提供了java语言api

开源!基于SpringBoot的车牌识别系统(附项目地址)

坚强是说给别人听的谎言 提交于 2020-12-30 14:36:35
今天推荐一个基于SpringBoot的车牌识别系统。 介绍 spring boot + maven 实现的车牌识别及训练系统 基于java语言的深度学习项目,在整个开源社区来说都相对较少;而基于java语言实现车牌识别EasyPR-Java项目,最后的更新已经是五年以前。 本人参考了EasyPR原版C++项目、以及fan-wenjie的EasyPR-Java项目;同时查阅了部分opencv官方4.0.1版本C++的源码,结合个人对java语言理解,整理出当前项目 这是一个入门级教程项目,本人目前也正在学习图片识别相关技术;大牛请绕路 当前项目在原有EasyPR项目基础上,增加了绿牌识别功能,只不过当前的训练库文件包含绿牌的样本太少,还需要重新增加绿牌样本的训练,后续会逐步上传 当前已经添加基于svm算法的车牌检测训练、以及基于ann算法的车牌号码识别训练功能 后续会逐步加入证件识别、人脸识别等功能 包含功能 黄 蓝 绿 黄蓝绿车牌检测及车牌号码识别 单张图片、多张图片并发、单图片多车牌检测及识别 图片车牌检测训练 图片文字识别训练 包含两种依赖包的实现方式:基于org.bytedeco.javacpp包的实现方式;基于org.opencv官方包的实现方式 org.opencv官方包,提供了java语言api;java项目可以通过build path方式或者环境变量的方式引用;

基于SpringBoot的车牌识别系统(附项目地址)

我的未来我决定 提交于 2020-10-11 00:30:00
   ★★★ 建议 星标 我们 ★★★   公众号改版后文章乱序推荐,希望你可以点击上方“ Java进阶架构师 ”,点击右上角,将我们设为 ★ “ 星标 ”!这样才不会错过每日进阶架构文章呀。       2020年Java原创面试题库连载中   (共18篇)   【032期】JavaEE面试题(四)Spring(2)   gitee开源地址    https://gitee.com/admin_yu/yx-image-recognition 介绍   spring boot + maven 实现的车牌识别及训练系统   基于java语言的深度学习项目,在整个开源社区来说都相对较少;而基于java语言实现车牌识别EasyPR-Java项目,最后的更新已经是五年以前。   本人参考了EasyPR原版C++项目、以及fan-wenjie的EasyPR-Java项目;同时查阅了部分opencv官方4.0.1版本C++的源码,结合个人对java语言理解,整理出当前项目   这是一个入门级教程项目,本人目前也正在学习图片识别相关技术;大牛请绕路   当前项目在原有EasyPR项目基础上,增加了绿牌识别功能,只不过当前的训练库文件包含绿牌的样本太少,还需要重新增加绿牌样本的训练,后续会逐步上传   当前已经添加基于svm算法的车牌检测训练、以及基于ann算法的车牌号码识别训练功能  

神经网络浅讲:从神经元到深度学习

纵然是瞬间 提交于 2020-08-20 07:10:45
  神经网络是一门重要的机器学习技术。它是目前最为火热的研究方向 -- 深度学习的基础。学习神经网络不仅可以让你掌握一门强大的机器学习方法,同时也可以更好地帮助你理解深度学习技术。   本文以一种简单的,循序的方式讲解神经网络。适合对神经网络了解不多的同学。本文对阅读没有一定的前提要求,但是懂一些 机器学习 基础会更好地帮助理解本文。   神经网络是一种模拟人脑的神经网络以期能够实现类人工智能的机器学习技术。人脑中的神经网络是一个非常复杂的组织。成人的大脑中估计有 1000 亿个神经元之多。 图1 人脑神经网络   那么机器学习中的神经网络是如何实现这种模拟的,并且达到一个惊人的良好效果的?通过本文,你可以了解到这些问题的答案,同时还能知道神经网络的历史,以及如何较好地学习它。   由于本文较长,为方便读者,以下是本文的目录:   一. 前言   二. 神经元   三. 单层神经网络(感知器)   四. 两层神经网络(多层感知器)   五. 多层神经网络(深度学习)   六. 回顾   七. 展望   八. 总结   九. 后记   十. 备注 一. 前言   让我们来看一个经典的神经网络。这是一个包含三个层次的神经网络。红色的是 输入层 ,绿色的是 输出层 ,紫色的是 中间层 (也叫 隐藏层 )。输入层有 3 个输入 单元,隐藏层有 4 个 单元,输出层有 2 个 单元。后文中

EasyPR--开发详解(7)字符分割

99封情书 提交于 2019-12-16 17:01:59
  大家好,好久不见了。   一转眼距离上一篇博客已经是 4 个月前的事了。要问博主这段时间去干了什么,我只能说:我去“ 外面看了看”。 图1 我想去看看      在外面跟几家创业公司谈了谈,交流了一些大数据与机器视觉相关的心得与经验。不过由于各种原因,博主又回来了。   目前,博主的工作是在本地的一个高校做科研。而研究的方向主要是计算机视觉。 图2 科研就是不断的探索过程   由于我所做的是计算机视觉方向,跟EasyPR本身非常契合。未来这个这个系列的博客会继续下去,并且以后会有更加专业的内容。   目前我研究的方向是文字定位,这个技术跟车牌定位很像,都是在图中去定位一些语言相关的位置。不同之处在于,车牌定位只需要处理的是在车牌中出现的文字,字体,颜色都比较固定,背景也比相对单一(蓝色和黄色等)。   文字定位则复杂很多,研究界目前要处理的是是各种类型,不同字体,且拥有复杂背景的文字。下图是一张样例: 图3 文字定位图片样例   可以看出,文字定位要处理的问题是类似车牌定位的,不过难度要更大。一些文字定位的技术也应该可以应用于车牌的定位和识别。   未来EasyPR会借鉴文字定位的一些思想和技术,来强化其定位的效果。 一.前言   今天继续我们 EasyPR的 开发详解。   这几个月我收到了不少的邮件问:为什么 EasyPR 开发详解教程中只有车牌定位的部分,

EasyPR--开发详解(2)车牌定位

元气小坏坏 提交于 2019-12-10 04:24:45
转自https://www.cnblogs.com/subconscious/p/4013591.html  EasyPR的项目地址在这: GitHub 。要想运行EasyPR的程序,首先必须配置好openCV,具体可以参照这篇 文章 。   在前两篇文章中,我们已经初步了解了EasyPR的大概内容,在本篇内容中我们开始深入EasyRP的程序细节。了解EasyPR是如何一步一步实现一个车牌的识别过程的。根据EasyPR的结构,我们把它分为六个部分,前三个部分统称为“Plate Detect”过程。主要目的是在一副图片中发现仅包含车牌的图块,以此提高整体识别的准确率与速度。这个过程非常重要,如果这步失败了,后面的字符识别过程就别想了。而“Plate Detect”过程中的三个部分又分别称之为“Plate Locate” ,“SVM train”,“Plate judge”,其中最重要的部分是第一步“Plate Locate”过程。本篇文章中就是主要介绍“Plate Locate”过程,并且回答以下三个问题:   1.此过程的作用是什么,为什么重要?   2.此过程是如何实现车牌定位这个功能的?   3.此过程中的细节是什么,如何进行调优? 1.“Plate Locate”的作用与重要性   在说明“Plate Locate”的作用与重要性之前,请看下面这两幅图片。 图1

EasyPR的基本使用

无人久伴 提交于 2019-11-27 16:35:56
1、easypr下载运行 第一步可以去下载easypr的zip的包,然后解压,我用的是码云新建项目,从git导入,这样子下载比较快一点 git: https://github.com/liuruoze/EasyPR # cd EasyPR 进入工程文件 我们可以看到很多的文件,现在应该注意 build.sh 与 cmakelists.txt这两个文件就ok了。 #vim CMakeLists.txt 加入set( OpenCV_DIR "/home/andy/opencv-3.2.0/build") 注意,这里的opencv路径是自己安装时候的路径 如果现在运行 #./build.sh 会编译到一半报错、 对于上面这个问题需要按照提示的错误去找 在github上看到一个答案解决了这个问题 : Opencv3.2版本的支持,编译前仅需要将config.h中将#define CV_VERSION_THREE_ZERO改为#define CV_VERSION_THREE_TWO即可。 2、在Linux下安装EasyPr遇到的问题: easypr/src/util/kv.cpp:11: void easypr::Kv::load(const string&): Assertion `reader' failed. 解决方案: 在include/easypn/config

easyPR基本使用

二次信任 提交于 2019-11-27 15:22:13
1、easypr下载运行 第一步可以去下载easypr的zip的包,然后解压,我用的是码云新建项目,从git导入,这样子下载比较快一点 git: https://github.com/liuruoze/EasyPR # cd EasyPR 进入工程文件 我们可以看到很多的文件,现在应该注意 build.sh 与 cmakelists.txt这两个文件就ok了。 #vim CMakeLists.txt 加入set( OpenCV_DIR “/home/andy/opencv-3.2.0/build”) 注意,这里的opencv路径是自己安装时候的路径 如果现在运行 #./build.sh 会编译到一半报错、 对于上面这个问题需要按照提示的错误去找 在github上看到一个答案解决了这个问题 : Opencv3.2版本的支持,编译前仅需要将config.h中将#define CV_VERSION_THREE_ZERO改为#define CV_VERSION_THREE_TWO即可。 2、在Linux下安装EasyPr遇到的问题: easypr/src/util/kv.cpp:11: void easypr::Kv::load(const string&): Assertion `reader’ failed. 解决方案: 在include/easypn/config