Groups
Sign in
Groups
HappyOCR
Conversations
About
Send feedback
Help
关于HappyOCR之三
14 views
Skip to first unread message
benliud
unread,
Dec 28, 2007, 2:54:26 AM
12/28/07
Reply to author
Sign in to reply to author
Forward
Sign in to forward
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to HappyOCR
HappyOCR的识别速度大约在5-8个/秒(1.7g单核CPU),是比较慢的,尚书就快的多,但是HappyOCR是纯网络识别,没有用到任何特
征值来缩小范围,如果选2级字库来识别,则每个字都要交给6000多个网络去识别,这样一来当然会比较慢些。要优化速度则需要添加特征值过滤。内存占用
也比较大,因为所有识别网络都需要装入内存来做,但512M内存的机器跑是没问题的,1G就更好了。
训练网络数据是比较麻烦的事,因为丢失了这些数据,所以这几天我又重新开始训练网络了。以前做过约30万字库的训练,三台机器(都不够快)跑大约两周训
练出了所有二级字的识别网络。这次重写了训练程序,一来为求更快的训练速度,二来为求多线程支持,毕竟很多人都有双核机了,有多线程支持可以更快,早年
很少,都是单核的就没必要。现在在我1.7g单核上跑,大约需要2小时做出一个文字区。这样算起来约需要150小时算完,当然,这样算出来的网络只是基
本可用,因为这次只用了6万个字来训练,要想识别率更好,还需要导入更多字体和不同分辨率的字体,开源以后或许有人愿意去做吧,训练大的字库确实需要很
长时间,我就不过分烧自己的CPU了,没效率,现在有双核的人还挺多。字库越多,则识别率越高,当然前提是输入的字是对的。如果我有大型机的话,我希望
字库能做到2000万,不过在PC上计算,一两台是解决不了问题的。不过开源以后会好算点,因为可以分工来计算不同的字再合起来,有兴趣的可以算算,当
前程序使用的是空闲时间,不影响正常程序。
单网络识别有个好处就是可以在学习新的字体时,不会过分干扰到其他已经训练好的网络,因为各网络的识别是独立的,这样,在识别过程中,随着新的不能识别
的字添加到字库里,网络可以越来越准确。BP网络采用576*3*1的结构,3为隐层节点数,从经验来看够用了,学几十种字体没问题,2就似乎少了,4
影响速度及空间。
Reply all
Reply to author
Forward
0 new messages