解决方案-智慧海关之商品标签违限成分检测


一、商品标签违限成分检测的目的和意义

近年来全球化进程日益加深,人员货物出入境总量越来越多,流通速度越来越快,来自世界各地的人们携带了大量的形形色色的商品出入境,商品标签语种也不尽相同,违限成分多种多样,海关关员检查违禁品的工作强度和难度也越来越大。为了提高查验效率,降低劳动强度和难度,本项目深入研究智能文本识别技术,探索通过拍照识别鉴别商品成分标签内是否含有敏感成分的新方法。


文字检测主要解决的问题是哪里有文字,文字的范围有多大。文本识别是在文本检测的基础上,对文本内容进行识别,将图像中的文本信息转化为文本信息。到目前为止,印刷文本的OCR技术已经比较成熟了,也得到了广泛的应用。但是标签粘贴于商品上面,受包装物的影响,就容易发生形变,再加上内容欠缺上下文关系,识别精度大大降低。


二、解决方案内容

随着人工智能的快速发展,利用深度学习框架和算法,基于海量标注数据进行对象检测模型训练,将传统OCR技术和新型人工智能技术相结合,能够获得较高的文本识别精度。同时结合敏感词搜索和智能翻译能力,开发面向一线海关关员的智能终端效率工具,可大大提高通关效率,提升监管质量。

(1)构建一体化的端到端网络,同时对文字检测和识别进行训练,从计算机视觉领域出发,与自然语言处理技术、知识图谱进行交叉融合,通过语义及知识的深度挖掘提升OCR性能,开发并优化“WiseEyes智能文本图像识别引擎”。

(2)实现印刷标签(多语种)云端智能识别。利用智能终端(ANDROID和IOS)对商品标签进行拍照、自由裁剪后通过“WiseEyes智能文本图像识别引擎”自动把文字(多语种)识别转换为字符文本并提供复制和翻译功能。

(3)根据用户要求建设敏感词(多语种)对比库,提供智能查询功能,当识别出来的文本含有敏感词(含类似)时,自动作出警示。支持数十种语言,具体语种详见附件:语种清单。

(4)提供用户管理功能(使用时需要输入用户名和密码),包括查询统计每个用户的识别图片、结果和数量。


三、应用示意和系统结构图


本系统将智能OCR能力、敏感词库及智能检索功能部署在云端,将敏感词库从关系数据库加载到内存中,可根据业务运营情况及时升级OCR智能算法,提高印刷标签的识别精度;快速调整敏感词库;升级敏感词检索算法,充分发挥云端系统的优势,保证前端业务顺利进行。


本产品包括了云端应用以及终端应用两部分。终端支持Android、iOS两种操作系统,提供如下主要功能:

(1)拍照识别标签文本并进行违限成分检测
对商品标签上的文字进行精准识别,识别后会对识别结果进行敏感词检测,基于庞大的敏感词库,检测商品中是否包含违禁成分。

(2)识别结果一键拷贝

一键复制识别后的文本到剪贴板,方便后续操作。

(3)自动翻译

将识别后的文本翻译为中文,支持五十余种主流语言。详见后续列表。

(4)识别历史查阅

管理员查看所有识别历史,一般用户查看自己识别历史。
(5)系统运维管理Portal

用户管理、权限管理、违限成分数据库和知识库管理等。

(6)系统设置
OCR功能相关配置和调优。


四、产品创新

(1)OCR识别引擎的创新

本项目的文本检测任务采用应用最广的CTPN Connectionist Text Proposal Network)模型,其基本假设是单个字符相较于异质化程度更高的文本行更容易被检测,因此先对单个字符进行类似R-CNN的检测,之后又在检测网络中加入了双向LSTM,使检测结果形成序列提供了文本的上下文特征,再将多个字符合并得到文本行。

(2)应用创新

由于印刷标签的多样性,OCR识别结果无法做到完全不错不漏的地步,敏感词的快速变化也导致最终检测结果出现误报或漏报问题。为此我们从如下几方面来提高检测的准确性:

  • 云端存储可扩展多语种敏感词库

敏感词库是指海关重点检查或限制进出口的物品,可以是某种成分、某种动植物或相关制品等。我们在设计上将敏感词库进行分类管理,将统一敏感成分的不同语种及缩写形式全部存入敏感词库,以应对海关面对的多语种环境支持,并支持敏感词库动态扩展。

  • 可配置的智能匹配算法

为了提高敏感词检出算法的准确性,我们引入了敏感词智能检索算法。同时为了达到更好效果,提取出可能影响匹配结果的部分作为可配置参数,供运营人员根据不同场景动态配置。


六、技术特点

通过对深度学习技术OCR领域的特化,利用积累的大量印刷标签标注数据经过机器学习后,我们发现基于深度学习的OCR相较于传统方法表现更为出色,而其中的关键,如图像预处理、文字检测和文本识别正是传统OCR方法的精髓,因此我们仍需要从传统方法中汲取经验,使其与深度学习有机结合,进一步提升智能OCR的表现质量。另一方面,作为深度学习的推动力,数据起到了至关重要的作用,收集广泛而优质的数据也是现阶段提升智能OCR性能和精度的重要举措之一。


在敏感词检索方面,本系统开发了多种容错算法,提高了敏感词检索命中率。但鉴于敏感词的快速变化以及印刷标签的不规范,也存在误报现象。未来通过进一步推广试用,合理配置相似字符库及容错参数,积累印刷标签数据,升级智能检索算法。


七、测试结果

使用日常商品标签图库、互联网搜索引擎等获取商品标签图22+56张。其中含有违限成分10张。此外,为进行多语种识别测试,选择一段比较典型的文字:“三唑仑是一种镇静催眠药,因半衰期超短,只有1到2个小时,临床上多用于以入睡困难为主的失眠病人,但因其成瘾性极强,在中国已归入精神药品一类管制”,将上述文字做成各种语言版本的商品标签,形成56张测试图集。

上述照片都已做好记录,人工获得每张图片内的文字、字符个数和单词个数,并检查里面包含的违限成分情况。将上述测试图片集逐个输入应用软件系统,记录识别和违限成分检测结果,并按以下方法评价识别精度和性能:

(1)字符识别准确率TP1,即识别对的字符数占总识别出来字符数的比例,可以反应识别错和多识别的情况,但无法反应漏识别的情况。

(2)字符识别召回率TP2,即识别对的字符数占实际字符数的比例,可以反应识别错和漏识别的情况,但是没办法反应多识别的情况,可以配套字符识别准确率一起使用。

(3)违限成分检出率TP3:TP3 = 检出数量/含有违限成分图片总量*100%

(4)检测性能:利用耗时检测性能,以ms为单位。


样本名称

特点

TP1

TP2

TP3

耗时
   (ms)

实际
字符数

识别出
字符数

错误

多识别

遗漏

识别
风险

实际
风险

语言

1.jpg

曲面

91.94%

91.30%

100.00%

132

115

124

1

9

0

1

1

英语

2.jpg

平面

100.00%

100.00%

-

121

109

109

0

0

0

0

0

英语

3.jpg

曲面

98.44%

98.44%

-

189

64

64

0

1

0

0

0

英语

4.jpg

曲面

100.00%

100.00%

-

340

275

275

0

0

0

0

0

英语

5.jpg

曲面

100.00%

100.00%

-

265

226

226

0

0

0

0

0

英语

6.jpg

平面

100.00%

100.00%

100.00%

285

1215

1215

0

0

0

1

1

德语

7.jpg

皱褶

99.40%

99.40%

-

120

335

336

1

1

0

0

0

英语

8.jpg

平面

100.00%

100.00%

-

248

39

39

0

0

0

0

0

希腊语

9.jpg

曲面

99.69%

99.69%

100.00%

102

649

649

1

1

0

1

1

英语

10.jpg

平面

100.00%

100.00%

-

378

108

108

0

0

0

0

0

德语

11.jpg

平面

99.89%

99.89%

100.00%

320

948

948

1

0

0

3

3

日语

12.jpg

平面

100.00%

100.00%

100.00%

280

553

553

0

0

0

1

1

日语

13.jpg

曲面

100.00%

100.00%

-

269

155

155

0

0

0

0

0

日语

14.jpg

平面

99.86%

99.86%

100.00%

120

723

723

1

0

0

1

1

日语

15.jpg

平面

100.00%

100.00%

-

158

302

302

0

0

0

0

0

法语

16.jpg

反光

99.91%

99.91%

-

268

1126

1126

1

0

0

0

0

西班牙语

17.jpg

反光

95.68%

95.67%

-

321

1131

1133

35

8

6

0

0

日语

18.jpg

褶皱

99.62%

99.62%

100.00%

421

797

797

3

0

0

1

1

德语

19.jpg

褶皱

100.00%

100.00%

100.00%

374

632

632

0

0

0

1

1

英语

20.jpg

褶皱

98.15%

98.15%

100.00%

280

324

324

6

0

0

1

1

越南语

21.jpg

混排

97.85%

97.85%

-

224

2419

2419

52

0

0

0

0

多语言

22.jpg

曲面

92.50%

92.00%

100.00%

232

150

160

2

10

0

1

1

德语

0_01.png

印刷

100.00%

100.00%

100.00%

135

281

281

0

0

0

1

1

南非语

0_02.png

印刷

98.46%

98.48%

100.00%

186

198

195

3

0

0

1

1

阿拉伯

0_03.png

印刷

96.00%

95.83%

100.00%

134

120

125

5

0

0

1

1

阿萨姆语

0_04.png

印刷

100.00%

100.00%

100.00%

156

235

235

0

0

0

1

1

阿塞拜疆

0_05.png

印刷

100.00%

100.00%

100.00%

210

248

248

0

0

0

1

1

白俄罗斯语

0_06.png

印刷

99.20%

99.19%

100.00%

202

247

249

2

0

0

1

1

孟加拉

0_07.png

印刷

100.00%

100.00%

100.00%

196

241

241

0

0

0

1

1

保加利亚

0_08.png

印刷

100.00%

100.00%

100.00%

148

246

246

0

0

0

1

1

加泰罗尼亚

0_09.png

印刷

98.61%

98.68%

100.00%

187

76

72

1

0

0

1

1

中文

0_10.png

印刷

100.00%

100.00%

100.00%

153

224

224

0

0

0

1

1

克罗地亚语

0_11.png

印刷

100.00%

100.00%

100.00%

136

232

232

0

0

0

1

1

捷克语

0_12.png

印刷

99.59%

99.59%

100.00%

128

242

242

0

1

0

1

1

丹麦语

0_13.png

印刷

100.00%

100.00%

100.00%

169

251

251

0

0

0

1

1

荷兰语

0_14.png

印刷

98.80%

98.80%

100.00%

194

250

250

0

3

0

1

1

英语

0_15.png

印刷

100.00%

100.00%

100.00%

148

240

240

0

0

0

1

1

爱沙尼亚语

0_16.png

印刷

100.00%

100.00%

100.00%

175

289

289

0

0

0

1

1

菲律宾语

0_17.png

印刷

100.00%

100.00%

100.00%

167

274

274

0

0

0

1

1

芬兰语

0_18.png

印刷

100.00%

100.00%

100.00%

240

273

273

0

0

0

1

1

法语

0_19.png

印刷

99.13%

99.13%

100.00%

231

229

229

0

2

0

1

1

德语

0_20.png

印刷

98.83%

98.84%

100.00%

186

258

256

3

0

0

1

1

希腊语

0_21.png

印刷

82.91%

85.41%

100.00%

194

185

158

27

0

0

1

1

希伯来语

0_22.png

印刷

99.59%

99.59%

100.00%

234

245

245

1

0

0

1

1

印地语

0_23.png

印刷

100.00%

100.00%

100.00%

265

224

224

0

0

0

1

1

匈牙利语

0_24.png

印刷

99.59%

99.59%

100.00%

257

241

241

1

0

0

1

1

冰岛语

0_25.png

印刷

99.20%

99.20%

100.00%

213

251

251

2

0

0

1

1

印尼语

0_26.png

印刷

100.00%

100.00%

100.00%

310

260

260

0

0

0

1

1

意大利语

0_27.png

印刷

96.84%

96.84%

100.00%

154

95

95

3

0

0

1

1

日语

0_28.png

印刷

100.00%

100.00%

100.00%

128

296

296

0

0

0

1

1

哈萨克语

0_29.png

印刷

100.00%

100.00%

100.00%

173

83

83

0

0

0

1

1

韩语

0_30.png

印刷

100.00%

100.00%

100.00%

162

250

252

0

0

0

1

1

吉尔吉斯斯坦

0_31.png

印刷

100.00%

100.00%

100.00%

271

229

229

0

0

0

1

1

拉脱维亚语

0_32.png

印刷

100.00%

100.00%

100.00%

239

269

269

0

0

0

1

1

立陶宛语

0_33.png

印刷

100.00%

100.00%

100.00%

282

220

220

0

0

0

1

1

马其顿语

0_34.png

印刷

100.00%

100.00%

100.00%

394

249

249

0

0

0

1

1

马拉语

0_35.png

印刷

100.00%

100.00%

100.00%

348

269

269

0

0

0

1

1

蒙古语

0_36.png

印刷

100.00%

100.00%

100.00%

267

209

209

0

0

0

1

1

尼泊尔语

0_37.png

印刷

100.00%

100.00%

100.00%

249

247

247

0

0

0

1

1

挪威语

0_38.png

印刷

100.00%

100.00%

100.00%

134

212

212

0

0

0

1

1

普什图语

0_39.png

印刷

100.00%

100.00%

100.00%

143

219

219

0

0

0

1

1

波斯语

0_40.png

印刷

100.00%

100.00%

100.00%

182

281

281

0

0

0

1

1

波兰语

0_41.png

印刷

100.00%

100.00%

100.00%

167

239

239

0

0

0

1

1

葡萄牙语

0_42.png

印刷

100.00%

100.00%

100.00%

191

270

270

0

0

0

1

1

罗马尼亚语

0_43.png

印刷

100.00%

100.00%

100.00%

373

288

288

0

0

0

1

1

俄语

0_45.png

印刷

100.00%

100.00%

100.00%

282

210

214

0

0

0

1

1

塞尔维亚语

0_46.png

印刷

100.00%

100.00%

100.00%

264

243

243

0

0

0

1

1

斯洛伐克语

0_47.png

印刷

100.00%

100.00%

100.00%

274

237

237

0

0

0

1

1

斯洛文尼亚

0_48.png

印刷

100.00%

100.00%

100.00%

258

250

250

0

0

0

1

1

西班牙语

0_49.png

印刷

100.00%

100.00%

100.00%

185

254

254

0

0

0

1

1

瑞典语

0_50.png

印刷

100.00%

100.00%

100.00%

196

96

96

0

0

0

1

1

泰米尔语

0_51.png

印刷

100.00%

100.00%

100.00%

174

240

240

0

0

0

1

1

泰语

0_52.png

印刷

100.00%

100.00%

100.00%

245

231

231

0

0

0

1

1

土耳其语

0_53.png

印刷

100.00%

100.00%

100.00%

278

266

266

0

0

0

1

1

乌克兰语

0_54.png

印刷

99.56%

99.56%

100.00%

212

227

227

1

0

0

1

1

乌尔都语

0_55.png

印刷

100.00%

100.00%

100.00%

312

259

259

0

0

0

1

1

乌兹别克语

0_56.png

印刷

100.00%

100.00%

100.00%

163

229

229

0

0

0

1

1

越语

繁体中文

印刷

94.74%

94.74%

100.00%

152

76

76

4

0

0

1

1

中文

平均值


99.15%

99.17%

100.00%

221










八、附件

本产品支持多语种文字识别,以下为支持的语种列表:

Afrikaansaf南非语、Arabicar阿拉伯、Assamese   as阿萨姆语、Azerbaijaniaz阿塞拜疆、Belarusian be白俄罗斯语、Bengali    bn孟加拉、Bulgarian bg保加利亚、Catalan   ca加泰罗尼亚、Chinese   zh中文,包括简体中文和繁体中文、Croatian   hr克罗地亚语、Czech     cs捷克语、Danish    da丹麦语、Dutch     nl荷兰语、English   en英语、Estonian   et爱沙尼亚语、Filipino   fil菲律宾语、Finnish   fi芬兰语、French    fr法语、German   de德语、Greek     el希腊语、Hebrew    he希伯来语、Hindi     hi印地语、Hungarian hu匈牙利语、Icelandic is冰岛语、Indonesianid印尼语、Italian   it意大利语、Japaneseja日语、Kazakh   kk哈萨克语、Korean   ko韩语、Kyrgyz   ky吉尔吉斯斯坦语、Latvian lv拉脱维亚语、Lithuanianlt立陶宛语、Macedonianmk马其顿语、Marathi   mr马拉语、Mongolian mn蒙古语、Nepali    ne尼泊尔语、Norwegian no挪威语、Pashtu    ps普什图语、Persian   fa波斯语、Polish    pl波兰语、Portuguesept葡萄牙语、Romanian   ro罗马尼亚语、Russian   ru俄语、Sanskrit   sa梵文、Serbian   sr塞尔维亚语、Slovak    sk斯洛伐克语、Slovenian sl斯洛文尼亚语、Spanish   es西班牙语、Swedish   sv瑞典语、Tamil     ta泰米尔语、Thai th泰语、Turkish   tr土耳其语、Ukrainian uk乌克兰语、Urdu      ur乌尔都语、Uzbek     uz乌兹别克语、Vietnamesevi越语。