第三期【百度大脑新品体验】手写诗一首,AI来读
wangwei8638 发布于2019-06 浏览:32560 回复:66
0
收藏
最后编辑于2022-04

偶然闲下来,翻出了年轻时曾写下的东西,时光荏苒,一声长叹。从中选出一首,将墨迹转为铅字,留作纪念。

一.平台接入

参照之前文档:

https://ai.baidu.com/forum/topic/show/943028

二.分析接口文档

1. https://ai.baidu.com/docs#/OCR-API/9ef46660

   (1)接口描述

对手写中文汉字、数字进行识别。

(2)请求说明

需要用到的信息有:

请求URL:https://aip.baidubce.com/rest/2.0/ocr/v1/business_license

Header格式:Content-Type:application/x-www-form-urlencoded

请求参数:

(3)返回示例

{

    "log_id": 620759800,

    "words_result": [

        {

            "location": {

                "left": 56,

                "top": 0,

                "width": 21,

                "height": 210

            },

            "words": "3"

        }

    ],

    "words_result_num": 1

}

2.获取accesstoken

#client_id 为官网获取的AK, client_secret 为官网获取的SK
client_id =【百度云应用的AK】
client_secret =【百度云应用的SK】

#获取token
def get_token():
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' + client_id + '&client_secret=' + client_secret
request = urllib.request.Request(host)
request.add_header('Content-Type', 'application/json; charset=UTF-8')
response = urllib.request.urlopen(request)
token_content = response.read()
if token_content:
token_info = json.loads(token_content.decode("utf-8"))
token_key = token_info['access_token']
return token_key


三.识别结果

 1.楷体

识别结果:

再看《英雄》

yMwang

西风穿林啸

将幡沙中扬

惜才终须斩

知义释帝王

大漠锁孤城

长河落残阳

何当催马去

月阑夜未央

2.行书

识别结果:

  再看《英雄》

mwwhng

西穿林啸

将幡沙中扬

惜才终须斩

知义释帝王

大漠锁孤城

长河落残阳

何当催马

月阑夜未央

四.源码共享

# -*- coding: utf-8 -*-

#!/usr/bin/env python

import urllib

import urllib.parse

import urllib.request

import base64

import json

#client_id 为官网获取的AK, client_secret 为官网获取的SK

client_id = '***************'

client_secret = '************************'



#获取token

def get_token():

    host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' + client_id + '&client_secret=' + client_secret

    request = urllib.request.Request(host)

    request.add_header('Content-Type', 'application/json; charset=UTF-8')

    response = urllib.request.urlopen(request)

    token_content = response.read()

    if token_content:

        token_info = json.loads(token_content.decode("utf-8"))

        token_key = token_info['access_token']

    return token_key



     # 读取图片

def get_file_content(filePath):

    with open(filePath, 'rb') as fp:

        return fp.read()





#获取手写识别结果

def get_license_plate(path):



    request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/handwriting"

   

    f = get_file_content(path)

    access_token=get_token()

    img = base64.b64encode(f)

    params = {"custom_lib": False, "image": img}

    params = urllib.parse.urlencode(params).encode('utf-8')

    request_url = request_url + "?access_token=" + access_token

    request = urllib.request.Request(url=request_url, data=params)

    request.add_header('Content-Type', 'application/x-www-form-urlencoded')

    response = urllib.request.urlopen(request)

    content = response.read()

    if content:

        license_plates = json.loads(content.decode("utf-8"))

        strover = '识别结果:'

        words_result = license_plates['words_result']

        for item in words_result:

            print(item['words'])

        return content

    else:

        return ''



image_path='F:\paddle\shu\skai.jpg'

get_license_plate(image_path)

五.意见建议

对于书写工整的手写文字识别准确度很高,测试准确度:楷体汉字达到100%,行书95%,书名号等标点符号也能正确识别,但对潦草字体和英文字母识别率不高,建议有针对性进行优化。

收藏
点赞
0
个赞
共66条回复 最后由用户已被禁言回复于2022-04
#47134******14回复于2020-01

标记分类数据 可不是一个轻松的工作

0
#46134******14回复于2020-01
#40 才能我浪费99回复
其实有时候数据比模型重要

是的,二者相辅相成

0
#45susan回复于2020-01

这个不错。

0
#44wangwei8638回复于2019-12
#43 才能我浪费99回复
模型调优的工作量比打标数据要少很多

部分打标也能用人工智能来做了

0
#43才能我浪费99回复于2019-12
#42 wangwei8638回复
核心工作还是要有人来做

模型调优的工作量比打标数据要少很多

0
#42wangwei8638回复于2019-12
#40 才能我浪费99回复
其实有时候数据比模型重要

核心工作还是要有人来做

0
#41才能我浪费99回复于2019-12
#38 wangwei8638回复
那只是模板,素材数据还是要自己准备

有了高质量的数据一般就能做出好的模型

0
#40才能我浪费99回复于2019-12
#38 wangwei8638回复
那只是模板,素材数据还是要自己准备

其实有时候数据比模型重要

0
#39才能我浪费99回复于2019-12
#36 风搅火回复
这是一定的,不断强化机器学习

还是需要数据来训练模型的

0
#38wangwei8638回复于2019-12
#37 风搅火回复
这个模型一定很抢手

那只是模板,素材数据还是要自己准备

0
#37风搅火回复于2019-12
#34 才能我浪费99回复
这个需要生成模型

这个模型一定很抢手

0
#36风搅火回复于2019-12
#17 小雨青青润无声回复
估计以后各种字体都能很好的识别的

这是一定的,不断强化机器学习

0
#35才能我浪费99回复于2019-12
#31 小雨青青润无声回复
机器就像人一样需要不断学习和完善

算法需要不断的优化

0
#34才能我浪费99回复于2019-12
#29 小雨青青润无声回复
如果写论文也能用AI就好了

这个需要生成模型

0
#33wangwei8638回复于2019-12
#29 小雨青青润无声回复
如果写论文也能用AI就好了

素材准备好,应该也可以

0
#32wangwei8638回复于2019-12
#30 小雨青青润无声回复
一般的考试可以,如果是重要的中、高考,应该还会有人再次复批

看来没什么是不可能的

0
#31小雨青青润无声回复于2019-12
#24 134******14回复
得提供多少数据才能让一项AI技术落地呢

机器就像人一样需要不断学习和完善

0
#30小雨青青润无声回复于2019-12
#23 wangwei8638回复
有这么智能?

一般的考试可以,如果是重要的中、高考,应该还会有人再次复批

0
#29小雨青青润无声回复于2019-12

如果写论文也能用AI就好了

0
#28wangwei8638回复于2019-12

现在写诗用Ai

0
TOP
切换版块