add many README

1.3
Fenix 10 years ago
parent 84e079006d
commit f36affeee5

@ -3,15 +3,35 @@ EasyPR
EasyPR是一个中文的开源车牌识别系统其目标是成为一个简单、高效、准确的车牌识别引擎。
目前EasyPR的版本是1.0在未来会发布下一个版本1.1。
相比于其他的车牌识别系统EasyPR有如下特点
* 它基于openCV这个开源库。这意味着你可以获取全部源代码并且移植到java等平台。
* 它能够识别中文。例如车牌为苏EUK722的图片它可以准确地输出std:string类型的"苏EUK722"的结果。
* 它的识别率较高。图片清晰情况下车牌检测与字符识别可以达到90%以上的精度。
### 注意
### 更新
目前EasyPR的版本是1.1,相比上一个版本,有以下更新。可以在[ChangeLog](doc/ChangeLog.md)中找到更多信息:
(这次的更新内容较多,为了跟你现有的项目和代码不冲突,请谨慎选择全部更新,最好新起一个目录试试新增的功能和内容):
* svm准确率改进。使用rbf核替代liner核在车牌判断的准确率提升了8个百分点。
* 增加两个特征提取方法,并提供了通用的回调函数接口供开发者建立新的特征。
* 增加了Debug模式可以在image/tmp文件夹下看到所有输出的中间图片。
* 增加了LifeMode模式相比默认模式更适合在生活场景下定位车牌。
* 增加了批量测试功能这个功能可供测试EasyPR在多幅图片上的整体表现效果。
* 引入了GDTS(General Data Test Set通用数据测试集)这个概念作为EasyPR准确率的评测数据集。
* 为了配合GDTS的数据仅用于正常途径(例如学习和研究),引入了新的[GDSL协议](images/GDSL.txt)。
* 模块化与完善了SVM训练的功能。提供了一个方便简单的训练窗口。这些增加的功能是为了配合即将推出的SVM开发详解这篇文章。
* 完善了SVM训练的功能。引入了三个数据集的概念即learn datatrain datatest data。
* 使用了PreciseRecallFSocre三个指标作为SVM模型准确率评判的参数与改善的依据。
* 引入了levenshtein距离作为EasyPR整体识别准确率误差的评判参数与改善依据。
* SVM训练数据中增加了数百张新数据(未经直方图均衡化的车牌图片和非车牌图片)
* 增加了一个命令行窗口,作为测试与训练的辅助工具。
注意上一个版本中image文件下的test.jpg如果有同学下载了请删除。它的格式不符合新的GDSL协议的约定。
如果想使用测试图片可以使用1.1版本中新增的test.jpg替代。
### 兼容性
EasyPR是基于opencv2.4.8版本开发的2.4.8以上的版本应该可以兼容以前的版本可能会存在不兼容的现象。opencv3.0的版本还没有经过测试。
@ -38,7 +58,7 @@ EasyPR不需要安装开发者直接在其上做改动。如果想使用DLL
### 使用
使用Git克隆一份拷贝到你本机或者直接下载zip压缩吧。使用vs2010或以上版本的IDE选择“从现有代码创建项目”引用EasyPR的目录第一次运行请排除ann和svm两个训练cpp
使用Git克隆一份拷贝到你本机或者直接下载zip压缩吧。使用vs2010或以上版本的IDE选择“从现有代码创建项目”引用EasyPR的目录。
以下表格是本工程中所有目录的解释与关系:
@ -46,12 +66,23 @@ EasyPR不需要安装开发者直接在其上做改动。如果想使用DLL
|------|----------
| src | 所有源文件
| model | 机器学习的模型
| train | 训练代码与数据
| train | 训练数据与说明
| image | 测试用的图片
| general_test | GDTS通用数据测试集
| natvie_test | NDTS本地数据测试集
| doc | 相关文档
| tmp | 存放临时图片的目录
以下表格是src目录中所有文件的解释与关系:
以下表格是src目录下子目录的解释与关系:
|目录 | 解释
|------|----------
| core | 核心功能目录
| include | 相关头文件
| test | 测试目录,包括单图测试与批量测试
| train | 训练目录,存放训练数据
| util | 辅助功能目录
以下表格是src目录中一些核心文件的解释与关系:
|文件 | 解释
|------|----------
@ -62,17 +93,26 @@ EasyPR不需要安装开发者直接在其上做改动。如果想使用DLL
| chars_identify | 字符鉴别
| chars_recognise | 字符识别,是字符分割与字符鉴别功能的组合
| plate_recognize | 车牌识别,是车牌检测与字符识别的共有子类
| features | 特征提取回调函数集合
| prep.h | 预包含头文件
| test.cpp | 测试
以下表格是src目录中一些辅助文件的解释与关系:
| util.h | 辅助功能头文件
| main.cpp | 主命令行窗口
| test.cpp | 单例测试
| accuracy_test.cpp | 批量测试
| svm_train.cpp | svm训练函数
| generate_gdts.cpp | GDTS生成函数
### 问题
如果有任何问题或者建议请在issues里直接提交或者发emaileaspr_dev@163.com。
如果有任何问题或者建议请在issues里直接提交或者发emaileasypr_dev@163.com。
建议与问题一经采纳即会将您的贡献大名列入EasyPR的感谢名单 Credits )中。
### 鸣谢
taotao1233唐大侠,
taotao1233唐大侠, jsxyhelu, 如果有一天, 学习奋斗, 袁承志, 圣城小石匠,

@ -0,0 +1,58 @@
EasyPR版本更新
======
目前EasyPR的版本是1.1相比上一个版本1.0,有以下更新(这次的更新内容较多,为了跟你现有的项目和代码不冲突,请
谨慎选择全部更新,最好新起一个目录试试新增的功能和内容):
* svm准确率改进。使用rbf核替代liner核在车牌判断的准确率提升了8个百分点。
![svm准确率改进](doc/res/svm_upgragde.png)
* 增加两个特征提取方法,并提供了通用的回调函数接口供开发者建立新的特征。
![fetures](doc/res/fetures.png)
* 增加了Debug模式可以在image/tmp文件夹下看到所有输出的中间图片。
![Debug模式](doc/res/debug.jpg)
* 增加了LifeMode模式相比默认模式更适合在生活场景下定位车牌。
![LifeMode模式](doc/res/lifemode.jpg)
* 增加了批量测试功能这个功能可供测试EasyPR在多幅图片上的整体表现效果。
![批量测试](doc/res/batch_operation.jpg)
* 引入了GDTS(General Data Test Set通用数据测试集)这个概念作为EasyPR准确率的评测数据集。
![GDTS](doc/res/general_test.jpg)
* 为了配合GDTS的数据仅用于正常途径(例如学习和研究),引入了新的[GDSL协议](images/GDSL.txt)。
![GDSL](doc/res/gdsl.jpg)
* 模块化与完善了SVM训练的功能。提供了一个方便简单的训练窗口。这些增加的功能是为了配合即将推出的SVM开发详解这篇文章。
![SVM训练](doc/res/svm_train.jpg)
* 完善了SVM训练的功能。引入了三个数据集的概念即learn datatrain datatest data。
![SVM训练集](doc/res/svm_data.jpg)
* 使用了PreciseRecallFSocre三个指标作为SVM模型准确率评判的参数与改善的依据。
![SVM指标](doc/res/svm_rate.jpg)
* 引入了levenshtein距离作为EasyPR整体识别准确率误差的评判参数与改善依据。
![levenshtein](doc/res/levenshtein.jpg)
* SVM训练数据中增加了数百张新数据(未经直方图均衡化的车牌图片和非车牌图片)
请自行解压train/data/plate_detect_svm/learn下的压缩文件查看相关信息。
* 增加了一个命令行窗口,作为测试与训练的辅助工具。
注意上一个版本中image文件下的test.jpg如果有同学下载了请删除。它的格式不符合新的GDSL协议的约定。
如果想使用测试图片可以使用1.1版本中新增的test.jpg替代。

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 453 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

@ -0,0 +1,91 @@
General Data Share License
通用数据共享协议
Version 0.1, 2015-01-25
当您开始使用EasyPR中的GDTS(General Data Test Set通用数据测试集)也就是image/general_test里的任何数据时您必须遵守以下协议的条款。
EasyPR只允许对GDTS里的数据进行非商业性目的的使用任何商业行为(售卖或者随产品附赠等)都属于违反本协议的约定。EasyPR保留任何权利。
本协议的起草参考了以下两大协议GPL v2.0与ODL(Open Database License)。其核心思想与两大协议基本相同,但也有许多异同的地方。
与GPL协议相同的地方在于本协议也属于“传染性”协议当您使用拷贝转移了GDTS中数据(或其中一部分时),您务必要保证这个协议与数据同行。
同时假若你把GDTS中数据(或其中一部分时)进行修改或与其他数据进行合并那您需要保证新的数据集也必须遵循此GDSL协议的约定条款。
与GPL协议不同的地方在于GPL协议保护的是代码(code)以及基于代码的工作(work),而本协议保护的是数据(data)。本协议中所保护的数据仅保护这些
原始的图片数据,并不针对于您通过这些图片数据训练出的模型以及您通过这些图片数据截取出的仅包含车牌的图片。
与ODL协议相同的地方在于本协议与ODL协议都是保护数据(data)的协议并且也提倡数据的开放共享。但ODL协议针对的主要是结构化数据
而本协议主要针对的是图片数据。另外ODL协议强调的开放不限制对数据的商业性使用但本协议规定了数据仅仅只能用于非商业的目的与行为
包括学习与研究,但不包括商业性销售与随产品赠送等等。
目前本版本的协议为0.1修正稿,任何建议都可以跟本协议的组织方联系(easypr_dev@163.com) 。
本协议主要分为三个部分:
1.版权声明:约定了对GDTS数据使用的规范。
2.捐赠说明:说明了如何对GDTS数据进行捐赠的流程。
3.免责声明:声明免责条款。
如果您仅仅是使用EasyPR进行开发与研究那您仅需要读取第一部分。如果您愿意对EasyPR进行捐赠那您需要读取第二部分。
第三部分声明了EasyPR在各个部分的免责条款。
一.版权声明
EasyPR中GDTS(通用数据测试集)的数据仅用作学习与研究之用。尽管EasyPR遵循的是商业友好的开源协议Acache2.0,但那个协议仅适用于您对代码的修改与出售。
这些测试数据集并不在您可以修改并且出卖的范围之内请确保这些数据集仅仅作为您进行EasyPR图像测试效率的验证与参考。
这些图片是用来测试EasyPR的效果与指标的仅仅用于开源学习目的任何商业化的使用这些数据例如出卖数据或者将这些数据作为产品的附赠都是不允许的。
为了保证EasyPR中使用的测试数据不有任何侵犯权利的可能性每个在GDTS(通用数据测试集)上上传的数据都具有以下几个特征:
1.年代久远,不具有时效性的数据(例如,至少半年以前的数据)或者已经处理过相关版权事宜的数据
2.在上传前使用EasyPR提供的函数对图片进行模糊化裁剪性处理确保图片不透露任何可能关于地点时间位置等相关信息
3.在上传前使用EasyPR提供的反人脸识别工具进行处理确保图片不侵犯到任何人的隐私权和肖像权
如果您发现EasyPR中存在任何侵犯你可能权利的图片时请跟我们联系(easypr_dev@163.com) 。我们的工作人员会跟您协商,将这些图片修改或做删除处理。
二.捐赠说明
EasyPR里的数据来源广泛部分来自于网络公开途径也由于好心的网友以及匿名人士对EasyPR的捐赠。通过这些数据
有效地改善了EasyPR的识别效果与准确率为推广开源车牌识别技术在中国的发展做出了贡献。如果你愿意你也可以向EasyPR捐赠。
在一般的开源与众包软件中捐赠的方式一般是金钱等物质性财产。但EasyPR的捐赠略有不同我们不接受财物的捐赠相反我们接受的是数据的捐赠。
如果你有车牌的图片符合以下三个条件并且你愿意捐赠给EasyPR作为研究与开发的帮助那么你可以跟我们联系(easypr_dev@163.com) 并选择捐赠5-30张图片。
捐赠方式可以选择公开或匿名并且你可以选择捐赠后的数据是纳入GDTS作为通用测试集或者保持私密性仅仅作为EasyPR核心团队训练与测试的图片。
捐赠的图片数据不需要太多我们建议你不要捐赠超过30张以上的图片。感谢您为中国开源软件与数据开源所做出的贡献
EasyPR中GDTS(通用数据测试集)的捐赠条件:
为了保证EasyPR中使用的测试数据不有任何侵犯权利的可能性每个在GDTS(通用数据测试集)上上传的数据都具有以下几个特征:
1.年代久远,不具有时效性的数据(例如,至少半年以前的数据)或者已经处理过相关版权事宜的数据
2.在上传前使用EasyPR提供的函数对图片进行模糊化裁剪性处理确保图片不透露任何可能关于地点时间位置等相关信息
3.在上传前使用EasyPR提供的反人脸识别工具进行处理确保图片不侵犯到任何人的隐私权和肖像权
只有经过以上处理满足以上三个条件的数据EasyPR才会纳入到GDTS里作为车牌识别的准确率衡判依据。
任何不满足以上三个条件的数据EasyPR都会保持这些数据的隐秘不公开等特性并且确保这些数据处于保密状态。
这些研究仅仅作为开源社区学习机器学习、深度学习、图像识别以及计算机视觉的相关资料与参考,不会作为任何商用或者恶意窥探目的。
三.免责声明
EasyPR中GDTS(通用数据测试集)的使用仅仅是为了研究与学习目的。
任何使用这些数据进行商用或者恶意窥探目的的行为都违反EasyPR所遵循的开源法则以及研究目的。EasyPR不对这些带来恶意行为后果者
所造成的后果负有责任尽管从道义上讲EasyPR谴责这些行为。当恶意使用者以及用数据牟利者违反了EasyPR约定的这些条款时
也就意味着EasyPR不会对他们所造成的任何行为负有责任。
当您使用这些数据时就意味着您已经同意EasyPR的这些约定您对EasyPR
通用测试数据集的滥用以及恶意窥探目行为的后果需要您自己承担EasyPR及其开源团队与贡献者不承担任何相关的责任。
EasyPR团队保留所有权利。
联系方式
EasyPR开发团队的官方邮箱
(easypr_dev@163.com)
###当你复制了EasyPR声明权利的这些数据(或者其中一部分)的同时,您也必须将这份协议复制一份,并保持协议与数据时刻在一起的关联性。

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 483 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 342 KiB

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save