-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmain.lyx
4214 lines (2974 loc) · 87.5 KB
/
main.lyx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
#LyX 2.3 created this file. For more info see http://www.lyx.org/
\lyxformat 544
\begin_document
\begin_header
\save_transient_properties true
\origin unavailable
\textclass ctex-article
\begin_preamble
\usepackage{listings}
\usepackage{xcolor}
\usepackage{hyperref}
\ctexset{
part={
name={第,章},
number=\chinese{part}
},
section={
titleformat=\raggedright,
name={第,节},
number=\chinese{section}
},
subsection={
titleformat=\raggedright,
name={第,小节},
number=\chinese{subsection}
},
subsubsection={
titleformat=\raggedright,
name={},
number=\arabic{subsubsection}
}
}
\usepackage{chngcntr}
\end_preamble
\options UTF8
\use_default_options true
\maintain_unincluded_children false
\language chinese-simplified
\language_package default
\inputencoding auto
\fontencoding global
\font_roman "default" "Songti TC"
\font_sans "default" "Songti TC"
\font_typewriter "default" "default"
\font_math "auto" "auto"
\font_default_family default
\use_non_tex_fonts true
\font_sc false
\font_osf false
\font_sf_scale 100 100
\font_tt_scale 100 100
\use_microtype false
\use_dash_ligatures true
\graphics default
\default_output_format default
\output_sync 1
\bibtex_command default
\index_command default
\float_placement H
\paperfontsize 12
\spacing onehalf
\use_hyperref true
\pdf_bookmarks true
\pdf_bookmarksnumbered false
\pdf_bookmarksopen false
\pdf_bookmarksopenlevel 1
\pdf_breaklinks false
\pdf_pdfborder true
\pdf_colorlinks false
\pdf_backref false
\pdf_pdfusetitle true
\papersize default
\use_geometry true
\use_package amsmath 1
\use_package amssymb 1
\use_package cancel 1
\use_package esint 1
\use_package mathdots 1
\use_package mathtools 1
\use_package mhchem 1
\use_package stackrel 1
\use_package stmaryrd 1
\use_package undertilde 1
\cite_engine basic
\cite_engine_type default
\biblio_style plain
\use_bibtopic false
\use_indices false
\paperorientation portrait
\suppress_date false
\justification true
\use_refstyle 1
\use_minted 0
\index Index
\shortcut idx
\color #008000
\end_index
\leftmargin 3.6cm
\topmargin 2.6cm
\rightmargin 3.6cm
\bottommargin 2.6cm
\secnumdepth 3
\tocdepth 2
\paragraph_separation indent
\paragraph_indentation default
\is_math_indent 0
\math_numbering_side default
\quotes_style english
\dynamic_quotes 0
\papercolumns 1
\papersides 1
\paperpagestyle default
\tracking_changes false
\output_changes false
\html_math_output 0
\html_css_as_file 0
\html_be_strict false
\end_header
\begin_body
\begin_layout Standard
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
pagestyle{empty}
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
date{}
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
numberwithin{section}{part}
\end_layout
\end_inset
\end_layout
\begin_layout Title
\series bold
2019 年全国大学生信息安全竞赛
\begin_inset Newline newline
\end_inset
作品报告
\end_layout
\begin_layout Standard
\begin_inset VSpace 5cm*
\end_inset
\end_layout
\begin_layout Standard
\align center
\begin_inset Tabular
<lyxtabular version="3" rows="5" columns="2">
<features tabularvalignment="middle">
<column alignment="center" valignment="top">
<column alignment="left" valignment="top" width="0pt">
<row>
<cell alignment="center" valignment="top" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\size larger
作品名称:
\end_layout
\end_inset
</cell>
<cell alignment="left" valignment="top" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\size larger
基于深度学习的抗屏摄文档水印技术
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\end_layout
\end_inset
</cell>
<cell alignment="left" valignment="top" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\size larger
电子邮箱:
\end_layout
\end_inset
</cell>
<cell alignment="left" valignment="top" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\size larger
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\end_layout
\end_inset
</cell>
<cell alignment="left" valignment="top" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\size larger
提交日期:
\end_layout
\end_inset
</cell>
<cell alignment="left" valignment="top" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\size larger
2019年6月4日
\end_layout
\end_inset
</cell>
</row>
</lyxtabular>
\end_inset
\end_layout
\begin_layout Standard
\begin_inset Newpage newpage
\end_inset
\end_layout
\begin_layout Standard
\align center
\series bold
填写说明
\end_layout
\begin_layout Enumerate
所有参赛项目必须为一个基本完整的设计。作品报告书旨在能够清晰准确地阐述(或图示)该参赛队的参赛项目(或方案)。
\end_layout
\begin_layout Enumerate
作品报告采用A4纸撰写。除标题外,所有内容必需为宋体、小四号字、1.5倍行距。
\end_layout
\begin_layout Enumerate
作品报告中各项目说明文字部分仅供参考,作品报告书撰写完毕后,请删除所有说明文字。(本页不删除)
\end_layout
\begin_layout Enumerate
作品报告模板里已经列的内容仅供参考,作者可以在此基础上增加内容或对文档结构进行微调。
\end_layout
\begin_layout Enumerate
为保证网评的公平、公正,作品报告中应避免出现作者所在学校、院系和指导教师等泄露身份的信息。
\end_layout
\begin_layout Standard
\begin_inset Newpage newpage
\end_inset
\end_layout
\begin_layout Standard
\begin_inset CommandInset toc
LatexCommand tableofcontents
\end_inset
\end_layout
\begin_layout Standard
\begin_inset Newpage newpage
\end_inset
\end_layout
\begin_layout Standard
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
pagestyle{plain}
\end_layout
\begin_layout Plain Layout
\backslash
setcounter{page}{1}
\end_layout
\begin_layout Plain Layout
\backslash
part*{摘要}
\end_layout
\begin_layout Plain Layout
\backslash
addcontentsline{toc}{section}{摘要}
\end_layout
\end_inset
\end_layout
\begin_layout Standard
随着商业化进程加速,人们越来越重视个人知识产权的保护。但是成果的窃取盗用事件频频发生,这严重伤害了作者本身的利益。现在越来越多的盗取者使用拍照的形式盗取他人成果
,并将盗取的成果发布或转卖来谋取利益。例如在公司内部出现泄密者,将重要文件或展示在屏幕上的技术方案拍照泄露。因此我们需要一种技术,能从盗取者拍摄的照片中提取出水
印信息来进行泄密溯源。然而,因为屏摄引起的失真、摩尔纹、抖动等因素的影响,传统的文档水印技术已经不再适用。
\end_layout
\begin_layout Standard
针对这种情况,本作品提出了一种具有高不可见性、高鲁棒性且抗屏摄的中文文档水印方案。我们通过字体的不同来编码信息,同时训练了一个神经网络用于区分字体,以此提取文档
中水印信息。需要注意的是,选择的字体应该为肉眼不可区分的,否则盗取者可能会发现并去掉水印。我们选择了视觉上不可区分的两类字体,并通过众包技术进行相似度衡量,以确
保文字的相似性,从而实现编码消息的不可见性。
\end_layout
\begin_layout Standard
我们还实现了一个原型系统来演示效果,系统由两个模块组成:文档生成模块和信息恢复模块。文档生成模块分为水印信息编码和文档生成两个部分。将水印信息进行BCH编码后,
根据`0/1'比特串产生含有水印信息的文档。信息恢复模块分为文档矫正、切分字体、识别字体、信息解码四个部分。用户将在盗取者拍摄的照片进行校正,并按序切分成单个字
体图片。将字体图片输入分类网络得到比特串,再经过BCH解码就能恢复原始的水印信息。
\end_layout
\begin_layout Standard
系统演示了我们的算法对屏摄泄密文档的溯源能力,但算法的能力不仅限于抗屏摄,对其他泄密方式也具有很强的溯源能力。例如,文档被打印盗取。我们将文档扫描成图片进行字体
识别,这样就能得到打印文档中水印信息。对于直接拷贝的电子文档,提取出电子文档中的文字进行识别也可以恢复出水印信息。
\end_layout
\begin_layout Standard
\begin_inset Newpage newpage
\end_inset
\end_layout
\begin_layout Part
作品概述
\end_layout
\begin_layout Section
研究背景
\end_layout
\begin_layout Standard
随着信息化时代的到来,电子文档成为日常办公文档的主要形式。目前对于重要文件的泄密问题主要还是依靠传统的方案来解决,通过加密,访问控制,身份认证等手段对电子文档进
行保护。但是随着智能手机的普及,文档的泄密仅需在屏幕上展示文档,用手机拍摄文档两步即可完成,且拍照的行为本身不易被监控,所以我们需要在文档中嵌入水印来保证文档的
可溯源性,从而保护文档的知识产权。传统的文档水印主要针对图像处理过程,在经过屏摄信道后,嵌入的消息很难被无损的恢复,也就无法保证屏摄泄密的可溯源性。这使得设计一
种可以抵抗屏摄过程的文档水印方案势在必行。
\end_layout
\begin_layout Standard
针对文档的抗屏摄水印技术可以将屏幕编号和时间戳嵌入到文档中。在文件因拍照泄漏后,我们可以在屏摄图片中提取出嵌入的设备编号和时间戳信息找到泄密的设备及泄密时间,从
而缩小泄密的排查范围,起到溯源的作用。因此,研究此项技术有着迫切的需求与极大的价值。
\end_layout
\begin_layout Standard
本算法以中文这一广泛使用的象形文字为基础进行嵌入设计,不同的字形表示了不同的比特的消息,通过选择不同字形的字体,实现消息的嵌入。即使经过了屏摄处理之后,象形文字
的字体信息仍然可以保留。为了实现水印的不可见性,文档应用肉眼不可区分的多种字体构成。准确识别本身非常相近的字体是一个难点,特别是在经过屏摄处理之后。因为屏摄信道
会使字形信息产生大量失真。这一问题难以使用传统的算法进行解决,因此本作品使用深度学习技术构建了学习能力足够强的神经网络,同时拍摄了大量的训练数据来增强网络的泛化
能力。结合识别字体的神经网络和带有纠错能力的编码方案,本系统实现的字体编码文档水印技术可以大幅增强抗屏摄能力。
\end_layout
\begin_layout Section
相关工作
\end_layout
\begin_layout Standard
我们的工作基于Chang等人
\begin_inset CommandInset citation
LatexCommand cite
key "xiao2018fontcode"
literal "false"
\end_inset
提出的利用英文字体的差别进行水印嵌入工作。相比于他们的工作,我们有以下三个方面改进。第一个方面,选择的语言不同。英文字母只有26个,然而我们进行的中文字水印需要
识别的常用字就有3000及以上。这对我们的神经网络识别能力提出了非常高的要求,在采集训练集时数据量也会大大增加。第二个方面,中文字体和英文在字形上有很大不同。考
虑到中文字体有偏旁部首(整个字体不是连通的),分割取字也变得更有难度。第三个方面,我们是对屏幕上显示的文档拍照进行识别。在屏摄过程中产生的失真、摩尔纹、噪点等都
会大大影响神经网络模型的识别率。
\end_layout
\begin_layout Paragraph
编码字体的选择
\end_layout
\begin_layout Standard
我们的字体编码工作需要选择字形相似且不易被人察觉出差异的字体。目前有很多种选择字体的方法。近来,众包技术
\begin_inset CommandInset citation
LatexCommand cite
key "o2014exploratory"
literal "false"
\end_inset
以及提取相似度
\begin_inset CommandInset citation
LatexCommand cite
key "loviscach2010universe"
literal "false"
\end_inset
经常被使用。考虑到我们的系统只需要验证方案的可行性。我们在之前的已有的技术上做了改进,只选择部分可行字体进行实现,并使用众包技术验证字体的不可区分性。
\end_layout
\begin_layout Paragraph*
支持拍照后的字体识别
\end_layout
\begin_layout Standard
由于拍照会导致原本文档中的信息流失,大部分的水印技术都无法有效的抵抗屏摄信道带来的失真。Jiren等人
\begin_inset CommandInset citation
LatexCommand cite
key "zhu2018hidden"
literal "false"
\end_inset
提出了一种能够抵抗屏摄过程的图像水印算法,这与我们拍照后识别字体具有很大的相似度。但是,图像水印与字体水印还是有本质的差异。图像水印可以将水印信息置于整张图片中
(大部分是一个规则的矩形),水印面积更大,也更易识别水印区域。我们的字体水印识别别区域仅在字体本身,水印面积很小,每个字体的识别区域也不同。
\end_layout
\begin_layout Standard
之前也有很多识别图片中字体的工作,如Carlos
\begin_inset CommandInset citation
LatexCommand cite
key "aviles2005high"
literal "false"
\end_inset
等人提出的使用静态方法提取字体特征进行识别。进来,神经网络与深度学习技术崛起兴盛,使用神经网络识别字体的技术越来越多。Chen等人
\begin_inset CommandInset citation
LatexCommand cite
key "chen2014large"
literal "false"
\end_inset
就提出了一种规模可变的监督学习方法。随后Wang等人
\begin_inset CommandInset citation
LatexCommand cite
key "wang2015deepfont"
literal "false"
\end_inset
提出使用CNN识别字体的方案。我们的识别方法也运用了深度学习技术。基于ResNet18
\begin_inset CommandInset citation
LatexCommand cite
key "he2016deep"
literal "false"
\end_inset
,我们调整了模型的部分细节和参数以适应于整个任务。
\end_layout
\begin_layout Paragraph
在文档中添加水印信息
\end_layout
\begin_layout Standard
我们的工作与水印技术相关。各种载体上(图像、光照、音频、视频)的水印技术都被研究了多年。但是基于文档中文字的水印更有挑战性,目前较为成熟的水印方案也比较少。我们
在这里列出几种现有的文档中水印信息的方案。
\end_layout
\begin_layout Standard
第一种方案是wayner等人
\begin_inset CommandInset citation
LatexCommand cite
key "wayner1992mimic"
literal "false"
\end_inset
\begin_inset CommandInset citation
LatexCommand cite
key "wayner2009disappearing"
literal "false"
\end_inset
提出的cover text generation CTG。这种方案生成一种语法和句法上非常自然的文档,在词句之中隐藏信息。这种方案的缺点也是非常明显的——它不能
给定文档添加水印。
\end_layout
\begin_layout Standard
第二种方案是黄兴等人
\begin_inset CommandInset citation
LatexCommand cite
key "黄兴2013抗打印扫描的文本数字水印技术研究"
literal "false"
\end_inset
的工作,将字体边缘的像素翻转来进行编码。这种方案的缺点在于信息流失的可能性太大,特别是在屏摄后能识别出水印信息的概率非常小。而且,如果采用这种方法,对所有格式文
档适应的成本也非常高。
\end_layout
\begin_layout Standard
第三种方案利用了文档格式上的特征,例如改变文字大小、颜色、下划线等特征
\begin_inset CommandInset citation
LatexCommand cite
key "panda2015text"
literal "false"
\end_inset
。这种方案可以大大提高识别的准确度,但是没有保证水印的不可见性。
\end_layout
\begin_layout Paragraph
水印信息的编码解码
\end_layout
\begin_layout Standard
由于编码所采用的字体差别非常小,在屏摄过后字体差别会更小,神经网会有一定概率识别出错。在这种情况下,使用纠错码是非常有必要的。我们使用了BCH(127,50)
\begin_inset CommandInset citation
LatexCommand cite
key "bose1960class"
literal "false"
\end_inset
。该编码算法能允许48比特内出5比特错,即网络允许的BER为10%。只要我们的神经网络识别错误率在BCH编码允许内,就能完整的还原水印的信息。最终,我们的网络确
实达到了要求,能够还原出水印信息。
\end_layout
\begin_layout Section
特色描述
\begin_inset CommandInset label
LatexCommand label
name "sec:特色描述"
\end_inset
\end_layout
\begin_layout Subsection
作品特色
\end_layout
\begin_layout Standard
本作品实现了抗屏摄的文档字体水印技术。随着照相技术的普及,抗屏摄已经成为水印技术的重大难点。传统水印处理过的文档在通过屏摄、拍照处理后,会出现严重的失真,无法还
原出正确的水印信息。针对现有算法无法解决的这一难点问题,本作品创新性的使用了两种肉眼不可区分的字体作为作为信息载体表达不同消息,通过预编码的消息选择对应的字体生
成文档从而实现消息的嵌入。而在水印提取端,通过深度学习训练分类网络来实现不同字体的识别与分类,完成消息的解码。由于深度学习能学到更高级的特征,这意味着在失真严重
的屏摄图片中,运用神经网络仍然能提取出分类器所需要的特征进行信息的分类与还原。因此本作品的水印方案能够很好地解决屏摄后信息丢失的问题,即无损地从手机拍摄的水印文
档的图片中还原出原始信息。
\end_layout
\begin_layout Subsection
核心算法特色
\end_layout
\begin_layout Standard
深度学习数据集是深度学习最为重要的组成部分,我们分析了多种字符之间的相似性,并选定了两种字符集进行多角度拍摄,矫正、切割、制作了大量的数据集进行模型训练,在识别
屏摄后的字体上取得了很高的训练精度。在准确识别字体的基础上,根据测试得到的误码率选择了合适的纠错编码方案,达到了准确恢复水印信息的效果。为了演示字体识别的准确性
,本作品设定了一个易于处理的文档布局方式,并基于该布局方式实现了文档区域识别和单个文字分割,字体识别准确率达到了92.5%,结合BCH纠错码可以准确恢复水印信息。
\end_layout
\begin_layout Standard
我们核心的特色有以下四点:
\end_layout
\begin_layout Enumerate
字形的选择:
\end_layout
\begin_deeper
\begin_layout Standard
通过问卷调查,我们筛选出了人眼难以区分的两种字体用于信息编码。一方面,使用难以区分的字体能够使得水印对文档的视觉效果的影响尽可能小;另一方面,难以区分的字体可以
用于测试字体识别算法的识别能力,从而验证其有效性。
\end_layout
\end_deeper
\begin_layout Enumerate
数据集的制作:
\end_layout
\begin_deeper
\begin_layout Standard
文档在经过手机拍摄后不可避免的会出现各种噪点、模糊的情况。以及因为拍摄距离和拍摄角度等影响,拍摄过后的文档文字上还会出现摩尔纹或产生畸变。我们设计并且实现了畸变
矫正算法,并且在采集训练数据的过程中制造了各种环境情况,保证了神经网络的泛化能力足够抵抗大多数的屏摄情况。
\end_layout
\end_deeper
\begin_layout Enumerate
深度神经网络的设计:
\end_layout
\begin_deeper
\begin_layout Standard
采用人眼很难分辨的字体编码信息,需要网络有足够学习能力提取出不同字体的特征。我们设计并且不断改善网络的结构,针对于大量的数据集不断训练增强模型的分类能力。图片的
背景颜色和环境因素都会对神经网络的识别特征造成干扰,我们设计并实现了减少背景颜色和噪点等因素影响的数据预处理方案。
\end_layout
\end_deeper
\begin_layout Enumerate
水印编码方法的设计:
\end_layout
\begin_deeper
\begin_layout Standard
文档水印需要保障信息的完整性,所以必须选择有很强的纠错功能的编码方案。我们使用 BCH 编码方案对水印信息进行编码,从而保证即使在字体识别出现错误的情况下仍然能
够准确提取水印信息。
\end_layout
\end_deeper
\begin_layout Enumerate
微信客户端的实现:
\end_layout
\begin_deeper
\begin_layout Standard
为了演示这一系统的功能,我们实现了一个微信客户端小程序,用户通过该小程序提交文档、查看水印信息。
\end_layout
\end_deeper
\begin_layout Section
应用前景分析
\end_layout
\begin_layout Subsection
文档溯源
\end_layout
\begin_layout Standard
在政府及企业部门中,文档的保密性始终是一个重要的问题,机密文档的泄露将威胁企业及国家的安全,带来极大的风险。
\end_layout
\begin_layout Standard
传统的防止文档泄密的方案主要是从源头避免文档的泄露,对于重要文件的打印,可以采用限制打印、复印次数,或指定专人负责,以进行保密,打印文档时需要经过批准,审批,登
记等步骤,并定期对纸质文档进行销毁或归档处理。对于重要的电子文档往往采用访问控制、身份认证等手段进行保护。
\end_layout
\begin_layout Standard
尽管有这些保密措施,但在用户获得文档的副本后,其去向就难以控制,信息泄露的风险加大。当文档泄露后,如果能定位文档泄露源头并对其进行管控、跟踪和追责,就可以及时避
免更大的损失。但随着智能手机的普及,传统的方案已经不能解决屏摄泄密的问题。因此,对文档进行可溯源的处理有着迫切的需求与极大的价值。
\end_layout
\begin_layout Standard
要使文档可溯源,就要向其中加入水印。但是随着智能手机的普及,手机拍摄成为一种高危险的泄密方式。原始文档在屏摄处理后会造成大量失真,因此传统的水印信息无法保留。抗
屏摄的文档水印技术可以在屏摄过后的图片中恢复出原始的水印信息,文件泄露的图片被捕获后,通过水印信息即可对文档泄密源头进行管控追踪。因此研究这项技术有着极大的价值
。
\end_layout
\begin_layout Subsection
信息推送
\end_layout
\begin_layout Standard
在商业宣传和海报制作中,设计者往往会在其作品上添加二维码来方便用户获取详细信息,但是二维码形态相对固定,对作品的整体效果有一定的影响,因此在实际使用时人们往往会
为其加上多样的形态进行美化。如果能够在艺术宣传作品的文字中直接嵌入网站链接等信息,就能够免去二维码,增加信息维度,从而使设计更加美观而富有科技感。
\end_layout
\begin_layout Standard
\begin_inset Newpage newpage
\end_inset
\end_layout
\begin_layout Part
作品设计与实现
\end_layout
\begin_layout Section
系统设计
\end_layout
\begin_layout Standard
在核心算法的基础上,我们设计和实现了一个简单的原型系统用以展示我们的文档水印技术。
\end_layout
\begin_layout Subsection
使用流程
\end_layout
\begin_layout Subsubsection
文档发布
\end_layout
\begin_layout Standard
当用户需要发布一份带水印的文档时,首先将文档原文和水印信息提交至本系统,由本系统生成带有水印的文档,然后用户获取该文档,进行后续的处理和使用(如展示在屏幕上)。
\end_layout
\begin_layout Standard
\begin_inset Float figure
placement H
wide false
sideways false
status open
\begin_layout Plain Layout
\align center
\begin_inset Graphics
filename figures/doc-pub-steps.png
width 14cm
\end_inset
\begin_inset Caption Standard
\begin_layout Plain Layout
文档发布流程图
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Subsubsection
信息提取
\end_layout
\begin_layout Standard
当用户需要从带有水印的文档中恢复信息时,首先对文档进行拍照或扫描以得到电子版本,然后将该电子版本提交至系统,系统分析出水印内容后反馈呈现给用户。
\end_layout
\begin_layout Standard
\begin_inset Float figure
placement H
wide false
sideways false
status open
\begin_layout Plain Layout
\align center
\begin_inset Graphics
filename figures/doc-read.png
width 14cm
\end_inset
\begin_inset Caption Standard
\begin_layout Plain Layout
水印提取流程图。
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Subsection
系统架构
\end_layout
\begin_layout Standard
我们的原型系统使用服务端-客户端架构。如下图所示:
\end_layout
\begin_layout Standard
\begin_inset Float figure
placement H
wide false
sideways false
status open
\begin_layout Plain Layout
\align center
\begin_inset Graphics
filename figures/sys-arch.bmp
width 10cm
\end_inset
\begin_inset Caption Standard
\begin_layout Plain Layout
系统架构图。
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Paragraph
服务端
\end_layout
\begin_layout Standard
文档水印和提取的核心算法部署在服务端,此外,服务端含有图片文档切割、矫正、字符切分算法以及与客户端通信的功能。
\end_layout
\begin_layout Paragraph
客户端
\end_layout
\begin_layout Standard
向用户提供方便地与系统进行交互的接口,用户通过客户端获取文档、从文档中读取水印信息。客户端以多种形式呈现,包括 Web 页面、微信小程序、手机
App 等,本作品的演示系统中以微信小程序的形式提供客户端界面。
\end_layout
\begin_layout Section
功能模块
\end_layout
\begin_layout Subsection
文档生成模块
\end_layout
\begin_layout Standard
\begin_inset Float figure
wide false
sideways false
status open
\begin_layout Plain Layout
\align center
\begin_inset Graphics
filename figures/generator_1.png
width 15cm
\end_inset
\end_layout
\begin_layout Plain Layout
\begin_inset Caption Standard
\begin_layout Plain Layout
文档生成流程。
\end_layout
\end_inset
\end_layout
\begin_layout Plain Layout
\end_layout
\end_inset
\end_layout
\begin_layout Standard
用户选择需要嵌入的信息(url)和嵌入的文档内容。以二进制为例,模块对信息进行`0/1’编码, 将得到的`0/1’比特串进行BCH纠错编码得到最终的比特串。文档
生成器通过串中的0和1分别选择两种字体,按照顺序来生成符合内容要求的文档。
\end_layout
\begin_layout Subsection
信息恢复模块
\end_layout
\begin_layout Standard
\begin_inset Float figure
wide false
sideways false
status open
\begin_layout Plain Layout
\align center
\begin_inset Graphics
filename figures/recognize-flow-graph.png
width 8cm
\end_inset
\end_layout
\begin_layout Plain Layout
\begin_inset Caption Standard
\begin_layout Plain Layout
信息恢复流程。
\end_layout
\end_inset