赛事一览
街景图像店面招牌文字识别
  • 报名开始时间 2022-08-06
  • 报名结束时间 2022-10-07
  • 总奖金池 ¥1000000

一:项目概况

1、大赛介绍:

  • 数字经济时代,算法作为一种战略性科技要素已成为推进数字技术与实体经济深度融合的核心支撑。为发挥国家实验室作用,推动粤港澳大湾区大数据与人工智能算法生态体系建设,琶洲实验室(黄埔)受广州市黄埔区政府委托,自2022起创办《粤港澳大湾区(黄埔)国际算法算例大赛》(以下简称“大赛”),旨在打造大湾区首个以算法为主题的国际型竞赛,以此推动原始创新, 并带动数字经济的高质量发展。

  • 大赛以当前数字技术发展趋势和现实应用需求为牵引,面向全国遴选优质算法、汇聚全球高精尖技术、招揽国际算法高端人才。大赛坚持以科学性、引领性、实用性为原则,聚焦大数据、人工智能、物联网、云计算、元宇宙等新一代数字技术和互联网+、智能+等数字经济场景。 大赛采取每年聚焦不同主题的方式开展。首届算法大赛聚焦后深度学习时代AI 基础算法和智慧城市、智能制造等领域内的行业算法场景。

 

2、大赛赛程安排:

2022年8月6日-11月15日

  • 07月20日:大赛开启预报名

  • 08月06日10:00:大赛正式开启报名,进行线上开发

  • 10月07日10:00:大赛截止报名

  • 10月07日12:00:截止提交结果

  • 10月8日10:00-10月9日18:00:前20名提交审核文件

  • 10月10日-10月21日:进行成绩审核

  • 10月22日-10月25日:进行成绩最终评审

  • 10月26日:公布决赛名单

  • 11月1日10:00-11月4日10:00:提交B榜成绩

  • 11月5日-11月13日:评测组评测及审核B榜成绩

  • 11月15日:公布最终答辩名单 

3、大赛参赛人员:

大赛面向全社会开放,个人、高等院校、科研单位、企业、创客团队等人员均可报名参赛;
每位选手仅能加入一支参赛队伍,每只队伍组队上限5人。
注:(1)大赛组织机构单位中除了擂台赛,涉及题目编写、数据接触的人员禁止参赛;
     (2)主办方和竞赛制赛道出题方可参赛,不参与排名。

 

“关于组队”

您需要以团队为单位来参与竞赛,即便您是单人参赛也需要创建一支队伍。

组队详情:点击https://www.cvmart.net/document 

“关于平台使用”

此赛题属于线上全流程开发,如果您之前未使用过平台,请您先仔细阅读 《文档》(https://www.cvmart.net/document) ,遵照文档的说明进行操作能避免绝大部分新手问题,可以大大节省您的时间。

实操教程:

在线编码篇

https://www.bilibili.com/video/BV1TY4y1W7cV?spm_id_from=333.999.0.0&vd_source=e4649fd68df4b87a5edf4ef2a15b7e89
发起训练篇
https://www.bilibili.com/video/BV1AY4y1B7yT?spm_id_from=333.999.0.0&vd_source=e4649fd68df4b87a5edf4ef2a15b7e89
自动测试篇
https://www.bilibili.com/video/BV1TT4y1v7Kk?spm_id_from=333.999.0.0&vd_source=e4649fd68df4b87a5edf4ef2a15b7e89

 

 

4、报名须知:

1)在琶洲实验室(黄埔)官方活动页面进行报名参赛,后登录极市平台进行线上开发;
2)确保报名信息真实有效,一经发现,将取消参赛资格及激励;
3)参赛必读手册:https://www.cvmart.net/community/detail/6631
4)大赛官方微信群,扫码加入社群,及时获取大赛信息

 

二、赛制设置
1、竞赛制赛道介绍
竞赛赛道瞄准行业领域发展的共性关键技术,聚焦智慧城市、智慧健康、智能制造、智慧金融等行业领域,开发优质算法,以人工智能技术作为推动力,实现革命性的产业创新。竞赛制赛道将由各领域的国内头部企业针对其发展的行业共性的“卡脖子”难题定义赛题任务,并提供真实场景数据,面向全球汇聚大数据与人工智能高精尖技术,招揽全球人工智能算法高端人才。


2、赛题介绍
本竞赛制赛题由主办方提供街景照片及标注的店招框及内部文本行信息数据,参赛队伍依照赛题要求开发店面招牌识别解析方案,实现自然场景下街景图片的店面招牌检测及店招内部文字识别任务。

 

3、赛题比赛规则
大赛分为初赛和决赛两个比赛环节。
- 线上初赛
初赛时间:2022年8月6日-10月07日
初赛形式:线上完成算法开发;
初赛晋级规则:组委会进行成绩审核,赛题的排行榜总分排名前15名队伍进入决赛阶段。

初赛审核规则:初赛排行榜前20队伍,提供以下内容:

1、提供readme.md,里面包括了较详细的复现脚本命令说明文档,文档中还应包含测试性能最佳的模型保存路径,以便核实评测指标。

2、使用了外源数据或者开源预训练的OCR文本识别模型或语言模型,需要提供相应的文件地址和信息的文档。

提交邮箱:ruonan.zhang@extremevision.com.cn

初赛审核群:截止提交后排行榜前20名扫码添加极市小助手极小新企业微信进入初赛审核群

 

 

- 线上决赛 
决赛时间:2022年11月1日-11月15日
决赛形式:评测结果+线下答辩
决赛评选规则
进入决赛前15名提交历史最优结果,进行最终结果评测,决出排名前8名的队伍进入答辩环节

 

4、注意事项
各参赛队伍提交的代码和数据的版权归主办方及提供方共同所有。

  • 若发现有队伍存在违规作弊行为,决赛名额以及最终排名依照综合性能指标顺延。

  • 对于特征提取网络可以使用ImageNet预训练模型。对于OCR文本识别模型和语言模型可以使用外源数据和其他预训练模型。外源数据若未开源,需给出数据详细说明。除此之外,不得使用其他预训练模型和额外数据( 注意:文字检测模型和招牌检测模型不能使用私有数据和外源数据集 )。如发现将取消比赛资格并禁止参加主办方举办其他竞赛。

  • 违规作弊行为包括但不限于:
    模型代码与文档描述不符
    提交代码无法复现出评测结果
    利用测试集训练模型
    违规使用私有数据集进行训练
    违规使用私有数据集进行数据合成
    其它存在违反本次比赛规则的行为


一、项目概况

1、背景及意义

店面招牌是街景图像中的重要信息,自然场景下的文字识别也是计算机视觉的重要研究方向,两者结合的街景店面招牌文字识别技术正在大规模应用在地图导航及推荐、智能城市规划分析、商业区商业价值分析等实际落地领域,具有很高的研究价值和业务使用价值。

 

2、算法需求:
任务:店面招牌检测及店名文字解析
各参赛队伍需要根据赛事主办方提供的街景照片及标注开发店面招牌识别解析方案,实现自然场景下街景图片中的店面招牌检测,版面分析以及店名识别。

 

二、算法目标描述

识别场景:自然场景,街景
识别对象:店面招牌,店面招牌中的文字内容
环境要求:白天

 

三、算法输入输出需求     

输入:街景图像
输出:图像中店面招牌(随后简称“店招”)的位置(非图片中所有招牌),店招中店面名称(非店招中所有文本行内容)。
目标:提高算法在测试集上店招检测精度及店面名称解析准确性。

 

四、软硬件要求      

 描述算法推理环境的兼容性要求

1、软件要求:
CentOS7.6、Jittor1.3.4.15及以上、DTK21.10.1、Python3.8.3 或者
CentOS7.6、PyTorch1.10.0及以上、DTK22.04.1、Python3.7

2、硬件要求

DCU 卡*1 CPU 8核 24G 内存 

注:仅可使用Jittor,PyTorch两个框架进行线上开发

 

基于jittor 框架曙光相关配置说明:

1.配置环境变量 export  HIP_VISIBLE_DEVICES=0

2.配置是否使用GPU 加速 jittor.flags.use_cuda=1 

 

五、数据集说明     

本赛题提供三个数据集,分别为「店招及店名数据」,「招牌检测数据」和「招牌OCR数据」。评测集格式与「店招及店名数据」保持一致。以下为各数据集介绍:

 

1,店招及店名数据
数据描述:该数据集为街景图片,每张图片可能含有多个店面,每个店面含有多个招牌,有的是非店招牌,有的是店招牌。图片中也可能不含有店招牌。该数据集标签仅标注了每张图中的有效的店招牌的四边形框,以及其对应的店名。(有效店招牌:即形状完整,清晰,无严重遮挡且能体现出店铺特异性名称的招牌)
数据量描述:
训练集数据量:约5000张
测试集数据量:约500张,请注意测试集的店名文本行字符数不小于2,且不包含英文字符和特殊字符。
标签描述:
标签格式:txt格式
标签内容:x1,y1,x2,y2,x3,y3,x4,y4,store_name1,
                  x1,y1,x2,y2,x3,y3,x4,y4,store_name2,
                  .....
其中x1...y4为店招框的四个脚点坐标,四个脚点为顺时针排列,store_name1 为该店招框对应的店名。

数据示例:

2,招牌检测数据
数据描述:该数据集为街景图片,每张图片可能含有多个店面,每个店面含有多个招牌,有的是非店招牌,有的是店招牌。注意,这个数据集的店招牌也可能不是有效的,即在第一个数据集中没有店名标注。图片中也可能不含有店招牌。该数据集标签标注了每张图中所有招牌的四边形框。
数据内容:同1
数据量描述:
训练数据量与「店招及店名数据」一致。
标签描述:
标签格式:txt格式
标签内容:x1,y1,x2,y2,x3 ,y3,x4,y4,0,
                  x1,y1,x2,y2,x3,y3,x4,y4,1,
                  ......
              其中x1...y4为招牌框的四个脚点坐标,四个脚点为顺时针排列,0表示非店招牌,1表示店招。

数据示例(绿框为店招牌,红框为附属牌):

3,招牌OCR数据
数据描述:该数据集为全量招牌的特写数据,从上述街景数据中crop而来。每张图片中含有多行文本行。该数据集标签标注了每张图中所有文字的位置和内容。
数据内容:同1
数据量描述:
共14331张图像
标签描述:
标签格式:txt格式
标签内容:x1,y1,x2,y2,x3,y3,x4,y4,text1
          x1,y1,x2,y2,x3,y3,x4,y4,text2
          ......
          其中x1...y4为文字的四个脚点坐标,text为文字内容

 

数据示例:


六、比赛官方代码

为了支持国产生态发展,本次比赛使用计图Jittor框架提供比赛的baseline代码。

Jittor 是一个基于即时编译和元算子的高性能深度学习框架,整个框架在即时编译的同时,还集成了强大的Op编译器和调优器,为您的模型生成定制化的高性能代码。Jittor还包含了丰富的高性能模型库,涵盖范围包括:图像识别、检测、分割、生成、可微渲染、几何学习、强化学习等。

Jittor前端语言为Python,使用了主流的包含模块化和动态图执行的接口设计,后端则使用高性能语言进行了深度优化。更多关于Jittor的信息可以参考:
*  [Jittor官网](https://cg.cs.tsinghua.edu.cn/jittor/)
*  [Jittor教程](https://cg.cs.tsinghua.edu.cn/jittor/tutorial/)
*  [Jittor模型库](https://cg.cs.tsinghua.edu.cn/jittor/resources/)
*  [Jittor文档](https://cg.cs.tsinghua.edu.cn/jittor/assets/docs/index.html)
*  [Github开源仓库](https://github.com/jittor/jittor), [Gitee开源仓库](https://gitee.com/jittor/jittor)

比赛官方代码链接在这里(https://github.com/Jittor/OCR-Baseline)。使用之前请先通过pip install -U jittor更新Jittor框架。

 

七、自动测试说明

Python接口

用户需要按照要求实现如下函数接口,发起测试时,系统会调用文件/project/ev_sdk/src/ji.py,并将测试图片逐次送入process_image接口。 接口实现范例如下:

import json

def init():       # 模型初始化
    model = "您的深度学习模型"  ###开发者需要自行设计深度学习模型
    return model

def process_image(net, input_image, args=None):   
    dets = net(input_image)  
    '''
        input_image是np.array格式的
        假如 dets数据为
        dets = [[[[294.0, 98.0], [335.0, 91.0], [339.0, 115.0], [298.0, 122.0]], ('店面招牌', 0.9977550506591797)], 
                [[[237.0, 111.0], [277.0, 106.0], [280.0, 127.0], [240.0, 133.0]], ('文字识别', 0.9727065563201904)]]
    '''
    result = {"model_data": {"objects": []}}
    for box, text in dets:
        points = [box[0][0], box[0][1], box[1][0], box[1][1], box[2][0], box[2][1], box[3][0], box[3][1]]
        points = [int(x) for x in points]
        name = text[0]
        confidence = text[1]
        single_obj = {
            'points': points,
            'name': name,
            'confidence': confidence
        }
        result['model_data']['objects'].append(single_obj)
    return json.dumps(result)

'''
ev_sdk输出json样例
{
"model_data": {
    "objects": [
        {
            "points": [
                294,
                98,
                335,
                91,
                339,
                115,
                298,
                122
            ],
            "name": "店面招牌",
            "confidence": 0.9977550506591797
        },
        {
            "points": [
                237,
                111,
                277,
                106,
                280,
                127,
                240,
                133
            ],
            "name": "文字识别",
            "confidence": 0.9727065563201904
        }
    ]
    }
}
'''

 

八、评审标准(已更新)
评价指标是店面招牌识别准确率及召回率。
店面招牌检测框位置准确且招牌内店名行识别正确才判断为识别准确。
店面招牌识别召回率 = 店面招牌识别正确数/店面招牌真值数
店面招牌识别准确率 = 店面招牌识别正确数/店面招牌识别总数
最终成绩为准确率和召回率的F-score,计算公式为2*准确率*召回率/(准确率+召回率)。