CN109558778A - 一种基于多方法融合的目标跟踪算法 - Google Patents

一种基于多方法融合的目标跟踪算法 Download PDF

Info

Publication number
CN109558778A
CN109558778A CN201710932121.3A CN201710932121A CN109558778A CN 109558778 A CN109558778 A CN 109558778A CN 201710932121 A CN201710932121 A CN 201710932121A CN 109558778 A CN109558778 A CN 109558778A
Authority
CN
China
Prior art keywords
frame
algorithm
track
tracking
candidate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201710932121.3A
Other languages
English (en)
Inventor
杜博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Chang'e Mdt Infotech Ltd
Original Assignee
Wuhan Chang'e Mdt Infotech Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Chang'e Mdt Infotech Ltd filed Critical Wuhan Chang'e Mdt Infotech Ltd
Priority to CN201710932121.3A priority Critical patent/CN109558778A/zh
Publication of CN109558778A publication Critical patent/CN109558778A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/48Matching video sequences
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

本发明属于计算机视觉领域,尤其涉及一种基于多方法融合的目标跟踪算法。本发明使用集成学习的理论,能够将众多的跟踪算法级联成一个强跟踪器,同时吸收各跟踪算法的优点,从而能够应对目标跟踪的各种应用场景。在多算法融合过程中,主要是通过计算候选框的吸引力a来度量候选框与目标的距离。并提前给不同的算法按照某种规则进行权重赋值,然后根据其在融合算法中的表现动态剔除表现差的跟踪算法,最后使用并行技术来提高融合算法的时间性能。本发明可以提高目标跟踪的精度,且提供了一种宽泛的跟踪算法融合框架。

Description

一种基于多方法融合的目标跟踪算法
技术领域
本发明属于计算机视觉领域,尤其涉及一种基于多方法融合的目标跟踪算法。
背景技术
目标跟踪是计算机视觉中具有广泛应用的一个分支。随着视频采集设备的普及和成像质量的提高,目标跟踪技术被广泛应用于智能交通系统、目标识别、视频检索和人机交互等领域。针对目标跟踪问题的研究,国内外的学者做出了大量的贡献。在某些特定的领域,此类问题得到了完善的解决。例如针对手势的跟踪算法研究和针对车辆的跟踪算法研究。但是在众多的目标跟踪算法中,仍然没有一种方法能够适用于所有的研究领域。这是因为在目标跟踪的过程中,经常会发生目标被障碍物遮挡、光照变化、成像模糊和目标快速移动等因素。很多跟踪算法往往只在特定的应用场景才会有效,只能处理一种或两种目标跟踪过程中遇到的不利因素。因此找到一种在多领域能够保持高精度的目标跟踪算法具有非常广泛的现实意义。
发明内容
本发明主要是提供了一种多跟踪算法的融合框架,这个框架理论上能够容纳任意一种目标跟踪算法,同时通过并行执行多个目标跟踪算法,使得融合后的跟踪算法具有更强的鲁棒性,且在时间性能上也表现良好。
本发明提供的技术方案是,一种基于多方法融合的目标跟踪算法,包含以下步骤:
步骤1,选取第t帧目标跟踪的候选样本框,在i-1帧的跟踪结果周围,使用窗口滑动采样获得候选样本框。
步骤2,多进程执行M个跟踪算法,将不同的跟踪算法分发给计算机不同的进程,获得M个跟踪算法产生的结果:Ri={bi,1...bi,M}。
步骤3,计算每个跟踪算法在跟踪过程中的得分,将得分低的跟踪算法从当前的融合框架中移除,实现算法融合的淘汰选择机制。
对于算法j,其在第N帧的得分的计算如下所示:
算法j的得分sj是通过计算其前N帧跟踪结果bi,j,i∈[1,...,N]的吸引力和。在图像的第i帧,融合框架由M个跟踪算法组成,按照(1)计算其各自得分sj,j∈[1,...,M]。对这M个得分从高到低排序,将得分低的K个跟踪算法从融合框架中去除,步骤4再对剩下的跟踪算法进行融合得到最终的跟踪结果。
步骤4,计算每一候选框e在第i帧的吸引力ai(e)。对于每一个候选矩形框,首先定义一个参数,叫做吸引力a。候选框和目标的真实位置越近,那么此候选框的吸引力越强。在介绍吸引力a的计算方式之前,先介绍两个矩形框的距离计算方式,不失一般性,用b和c代表两个矩形框。
其中下标x,y,w和h分别代表矩形框的左上角横纵坐标、宽度和高度。是一个常量,用来控制跟踪结果尺度变化给距离计算带来的影响。如果从始至终,代表跟踪结果的矩形框大小保持不变的情况下:cw=bw,ch=bh将失去作用,公式(2)可以简化为:
对于候选框e在第i帧的吸引力ai(e)定义为:
σ在这里是一个常量,用来控制距离对吸引力的影响程度,防止出现因为距离过小导致影响力过大的情况,因此σ在本文提出的融合算法中影响很大,需要大量实验才能确定最终取值。
不同的跟踪算法性能差异巨大,基于这个事实,式(4)中对各跟踪算法赋予了不同的权值wj。通过计算不同算法在所有数据集上的结果和标定的真实结果之间的距离来确定各算法的权重:
其中gi v代表在数据集v上第i帧的标定结果。代表第j个算法在数据集v上的第i帧跟踪结果。
步骤5,在所有的候选框中,使用梯度下降的思想找出吸引力值最大的候选框作为当前的跟踪结果
与现有技术相比,本发明的有益效果是:
本发明和其它集成学习方法(online adaboost tracking(OAB)和EnsembleTracking(ET))相比,本发明的融合算法中单个学习器之间可以相似(使用相同的分类器),也可以完全不相同(使用不同的分类器),因此,发明的融合框架具有极大的扩展性。再者,与其他多特征融合算法不同的是,发明的融合算法并没有改变图像的特征,也没有将多种特征融合成一个新特征,在融合过程中,各特征和分类器都是独立的,因此,其在不同的数据集上能够发挥不同特征和分类器的优势。
附图说明
图1为本发明实施例中的集成学习原理图。
图2为本发明实施例中的目标跟踪的原理图。
具体实施方式
以下结合附图和具体实施例来对本发明做进一步的说明。
本发明提供了一种宽泛的跟踪算法融合框架,该融合算法使用集成学习[1]的理论,能够将众多的跟踪算法级联成一个强跟踪器,同时吸收各跟踪算法的优点。在多算法融合过程中,主要是通过计算候选框的吸引力a来度量候选框与目标的距离。并提前给不同的算法按照某种规则进行权重赋值,然后根据其在融合算法中的表现动态剔除表现差的跟踪算法,最后使用并行技术来提高融合算法的时间性能。该融合算法在精度上可以超过单个跟踪算法。
[1]Dietterich T G.Ensemble learning[J].The handbook of brain theoryand neural networks,2002,2:110-125.
引入吸引力a来度量候选框与目标的距离。本发明为候选矩形框设置了一个参数,叫做吸引力a,候选框和目标的真实位置越近,那么此候选框的吸引力越强。
引入带权重的跟踪算法融合策略。在完全没有先验知识的情况下,只能把所有的跟踪算法都看作具有相同的性能。事实上,不同的跟踪算法的性能差异巨大。基于这样一个事实,可以为不同的跟踪算法赋予不同的权重。通过计算不同算法在所有数据集上的结果和标定的真实结果之间的距离来确定算法的权重。
引入动态选择淘汰机制。在集成学习中,整个分类器由很多单个学习器组成。这些学习器的性能最终会影响到集成学习的效果。我们同样可以把问题迁移到多跟踪算法融合框架中来。当某个算法性能不佳时,会对最终的融合结果产生不利的影响。针对这种情况,引入动态选择淘汰机制,针对具体的数据集,动态的移除一些性能较差的跟踪算法,进一步增强融合的效果。
引入并行融合策略。集成学习相对于单个学习器,其分类性能更好,但是由于使用多个学习器进行级联,导致使用集成学习的算法在时间性能上表现一般。为了提高整个融合算法的精度,很多跟踪算法会被加入到融合框架中,进一步降低了融合算法的时间性能。针对这种现象,本发明提出了多跟踪算法并行融合策略。将不同的跟踪算法分发给不同的处理器,实现并行执行不同的跟踪算法,提高融合算法的时间性能。
图2为目标跟踪的原理图,近几年关于运动目标跟踪的方法大致分为五个组成部分[2],分别是Motion Model、Feature Extractor、Observation Model、Model Updater、Ensemble Post-processor。Motion Model即是在i-1帧的跟踪结果周围,使用窗口滑动采样获得候选样本框。Feature Extractor是跟踪系统非常重要的组成部分。如果特征选取恰当的话,能大大的提高跟踪系统的性能。Observation Model则是各种分类器,如果特征选取恰当的话,Observation Model反而显得不那么重要了。再者,Model Updater能够显著地影响跟踪系统的性能。Ensemble Post-processor是多个跟踪算法的融合过程。而本发明主要是针对第五个部分而提出的一种基于多方法融合的目标跟踪算法。
[2]Wang N,Shi J,Yeung D Y,et al.Understanding and Diagnosing VisualTracking Systems[C].IEEE International Conference on Computer Vision.IEEE,2015:3101-3109.
实施例提供的流程具体包括以下步骤:
步骤1,选取第t帧目标跟踪的候选样本框,在i-1帧的跟踪结果周围,使用窗口滑动采样获得候选样本框。采样获得候选样本框的个数(实施例中为2000个)越多,目标跟踪越可能精确。
步骤2,多进程执行M个跟踪算法(实施例中为6种不同的跟踪算法,分别是CT[3]、TLD[4]、Struck[5]、KCF[6]、DSST[7]和MUSter[8]),将不同的跟踪算法分发给计算机不同的进程(实施例中所用设备是一台具备I5 2.8GHz 8核CPU,8GB内存的笔记本电脑),获得M个跟踪算法产生的结果:Ri={bi,1...bi,M}。
[3]Zhang K,Zhang L,Yang M H.Real-time compressive tracking[C].European Conference on Computer Vision.Springer-Verlag,2012:864-877.
[4]Kalal Z,Mikolajczyk K,Matas J.Tracking-Learning-Detection[J].IEEETransactions on Pattern Analysis&Machine Intelligence,2012,34(7):1409-1422.
[5]Hare S,Saffari A,Torr P H S.Struck:Structured output tracking withkernels[C].International Conference on Computer Vision.IEEE,2011:263-270.
[6]Henriques J F,Rui C,Martins P,et al.High-Speed Tracking withKernelized Correlation Filters[J].IEEE Transactions on Pattern Analysis&Machine Intelligence,2014,37(3):583-596.
[7]Danelljan M,G,Khan F S,et al.Accurate Scale Estimation forRobust Visual Tracking[C]//British Machine Vision Conference.2014:65.1-65.11.
[8]Hong Z,Chen Z,Wang C,et al.Multi-store tracker(MUSTer):A cognitivepsychology inspired approach to object tracking[C].Proceedings of the IEEEConference on Computer Vision and Pattern Recognition.2015:749-758.
步骤3,计算每个跟踪算法在跟踪过程中的得分,将得分低的跟踪算法从当前的融合框架中移除,实现算法融合的淘汰选择机制。
对于算法j,其在第N帧的得分的计算如下所示:
算法j的得分sj是通过计算其前N帧跟踪结果bi,j,i∈[1,...,N]的吸引力和。在图像的第i帧,融合框架由M个跟踪算法组成,按照(1)计算其各自得分sj,j∈[1,...,M]。对这M个得分从高到低排序,将得分低的K个跟踪算法从融合框架中去除,再对剩下的跟踪算法进行融合得到最终的跟踪结果。这样的做法有一个缺点:对于每一帧图像,要计算M个跟踪算法的得分,带来了一定的时间性能消耗。为了增加多跟踪算法融合的时间性能,实施例中对动态选择淘汰过程进行了简化:计算视频的前30帧,M个算法的得分,移除得分最低的2个跟踪算法,再从31帧开始不再重新计算各个跟踪算法得分,在融合框架中只使用在前30帧得分最好的跟踪算法。需要注意的是:实施例中是通过大量实验,并兼顾时间性能和精度,综合考虑确定30帧之后不再进行淘汰选择机制。
步骤4,计算每一候选框e在第i帧的吸引力ai(e)。对于每一个候选矩形框,首先定义一个参数,叫做吸引力a。候选框和目标的真实位置越近,那么此候选框的吸引力越强。在介绍吸引力a的计算方式之前,先介绍两个矩形框的距离计算方式,不失一般性,用b和c代表两个矩形框。
其中下标x,y,w和h分别代表矩形框的左上角横纵坐标、宽度和高度。是一个常量(实施例中设置为5),用来控制跟踪结果尺度变化给距离计算带来的影响。如果从始至终,代表跟踪结果的矩形框大小保持不变的情况下:cw=bw,ch=bh将失去作用,公式(2)可以简化为:
对于候选框e在第i帧的吸引力ai(e)定义为:
σ在这里是一个常量(实施例中设置为0.02),用来控制距离对吸引力的影响程度,防止出现因为距离过小导致影响力过大的情况,因此σ在此发明提出的融合算法中影响很大,需要大量实验才能确定最终取值。
不同的跟踪算法性能差异巨大,基于这个事实,式(4)中对各跟踪算法赋予了不同的权值wj。通过计算不同算法在所有数据集上的结果和标定的真实结果之间的距离来确定各算法的权重:
其中gi v代表在数据集v上第i帧的标定结果。代表第j个算法在数据集v上的第i帧跟踪结果,实施例中这个结果已经由人工标定,由CVPR 2013 OOTB[9]给出。v代表全部的数据集,是广泛用于目标跟踪算法研究CVPR 2013 OOTB[9]上的51个视频集。
[9]Wu Y,Lim J,Yang M H.Online Object Tracking:A Benchmark[C].ComputerVision and Pattern Recognition.IEEE,2013:2411-2418.
步骤5,在所有的候选框中(实施例中为2000个),使用梯度下降的思想快速找出吸引力值最大的候选框作为当前的跟踪结果当然,当样本框采样个数不大时,可通过遍历的方式获得吸引力最大的候选框作为当前的跟踪结果
以上是本发明实施例涉及的一种基于多方法融合目标跟踪算法的实现步骤。通过使用集成学习理论,和带权重的跟踪算法、动态选择淘汰机制、并行融合策略的引入,可以提高跟踪的精度,同时也使得融合框架具有极强的可扩展性。
在具体实现时还有以下注意事项:
在对动态选择淘汰机制进行简化时,需要进行大量实验,并兼顾时间性能和精度,综合考虑确定多少帧之后不在进行淘汰选择机制。对于其他参数的确定,如σ,k以及候选框采样的个数,本领域技术人员可自行根据经验或者大量实验来确定。
具体实施时,本发明所提供方法可基于软件技术实现自动运行流程。
需要强调的是,本发明所述的实施例是说明性的,而不是限定性的。因此本发明包括并不限于具体实施方式中所述的实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他实施方式,同样属于本发明保护的范围。

Claims (1)

1.一种基于多方法融合的目标跟踪算法,其特征在于,包含以下步骤:
步骤1,选取第t帧目标跟踪的候选样本框,在i-1帧的跟踪结果周围,使用窗口滑动采样获得候选样本框;
步骤2,多进程执行M个跟踪算法,将不同的跟踪算法分发给计算机不同的进程,获得M个跟踪算法产生的结果:Ri={bi,1...bi,M};
步骤3,计算每个跟踪算法在跟踪过程中的得分,将得分低的跟踪算法从当前的融合框架中移除,实现算法融合的淘汰选择机制;
对于算法j,其在第N帧的得分的计算如下所示:
算法j的得分sj是通过计算其前N帧跟踪结果bi,j,i∈[1,...,N]的吸引力和;在图像的第i帧,融合框架由M个跟踪算法组成,按照(1)计算其各自得分sj,j∈[1,...,M];对这M个得分从高到低排序,将得分低的K个跟踪算法从融合框架中去除,步骤4再对剩下的跟踪算法进行融合得到最终的跟踪结果;
步骤4,计算每一候选框e在第i帧的吸引力ai(e);对于每一个候选矩形框,首先定义一个参数,叫做吸引力a;候选框和目标的真实位置越近,那么此候选框的吸引力越强;在介绍吸引力a的计算方式之前,先介绍两个矩形框的距离计算方式,不失一般性,用b和c代表两个矩形框:
其中下标x,y,w和h分别代表矩形框的左上角横纵坐标、宽度和高度;是一个常量,用来控制跟踪结果尺度变化给距离计算带来的影响;如果从始至终,代表跟踪结果的矩形框大小保持不变的情况下:cw=bw,ch=bh将失去作用,公式(2)可以简化为:
对于候选框e在第i帧的吸引力ai(e)定义为:
σ在这里是一个常量,用来控制距离对吸引力的影响程度,防止出现因为距离过小导致影响力过大的情况,因此σ在本文提出的融合算法中影响很大,需要大量实验才能确定最终取值;
不同的跟踪算法性能差异巨大,基于这个事实,式(4)中对各跟踪算法赋予了不同的权值wj;通过计算不同算法在所有数据集上的结果和标定的真实结果之间的距离来确定各算法的权重:
其中gi v代表在数据集v上第i帧的标定结果;代表第j个算法在数据集v上的第i帧跟踪结果;
步骤5,在所有的候选框中,使用梯度下降的思想找出吸引力值最大的候选框作为当前的跟踪结果
CN201710932121.3A 2017-09-27 2017-09-27 一种基于多方法融合的目标跟踪算法 Pending CN109558778A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710932121.3A CN109558778A (zh) 2017-09-27 2017-09-27 一种基于多方法融合的目标跟踪算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710932121.3A CN109558778A (zh) 2017-09-27 2017-09-27 一种基于多方法融合的目标跟踪算法

Publications (1)

Publication Number Publication Date
CN109558778A true CN109558778A (zh) 2019-04-02

Family

ID=65864288

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710932121.3A Pending CN109558778A (zh) 2017-09-27 2017-09-27 一种基于多方法融合的目标跟踪算法

Country Status (1)

Country Link
CN (1) CN109558778A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111476825A (zh) * 2020-03-10 2020-07-31 重庆邮电大学 基于多示例学习和核相关滤波器的抗遮挡目标跟踪方法
CN112036471A (zh) * 2020-08-28 2020-12-04 四川长虹电器股份有限公司 一种基于毫米波雷达的多人跟踪方法
CN115297008A (zh) * 2022-07-07 2022-11-04 鹏城实验室 基于智算网络的协同训练方法、装置、终端及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
C. BAILER 等: "A superior tracking approach: Building a strong tracker through fusion", 《ECCV 2014》 *
C. BAILER 等: "A superior tracking approach: Building a strong tracker through fusion", 《ECCV 2014》, 31 December 2014 (2014-12-31), pages 1 - 7 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111476825A (zh) * 2020-03-10 2020-07-31 重庆邮电大学 基于多示例学习和核相关滤波器的抗遮挡目标跟踪方法
CN111476825B (zh) * 2020-03-10 2022-08-26 重庆邮电大学 基于多示例学习和核相关滤波器的抗遮挡目标跟踪方法
CN112036471A (zh) * 2020-08-28 2020-12-04 四川长虹电器股份有限公司 一种基于毫米波雷达的多人跟踪方法
CN112036471B (zh) * 2020-08-28 2022-02-08 四川长虹电器股份有限公司 一种基于毫米波雷达的多人跟踪方法
CN115297008A (zh) * 2022-07-07 2022-11-04 鹏城实验室 基于智算网络的协同训练方法、装置、终端及存储介质
CN115297008B (zh) * 2022-07-07 2023-08-22 鹏城实验室 基于智算网络的协同训练方法、装置、终端及存储介质

Similar Documents

Publication Publication Date Title
CN100561503C (zh) 一种人脸眼角与嘴角定位与跟踪的方法及装置
CN109859241B (zh) 自适应特征选择和时间一致性鲁棒相关滤波视觉跟踪方法
WO2016138838A1 (zh) 基于投影极速学习机的唇语识别方法和装置
Chen et al. Using FTOC to track shuttlecock for the badminton robot
Capellen et al. ConvPoseCNN: Dense convolutional 6D object pose estimation
Huang et al. Sap: Self-adaptive proposal model for temporal action detection based on reinforcement learning
CN109558778A (zh) 一种基于多方法融合的目标跟踪算法
CN107844739B (zh) 基于自适应同时稀疏表示的鲁棒性目标追踪方法
Weber et al. Automated focal loss for image based object detection
CN112613579A (zh) 一种人脸或人头图像质量的模型训练方法、评估方法及高质量图像的选取方法
Li et al. Learning a dynamic feature fusion tracker for object tracking
CN104331700B (zh) 基于轨迹能量扩散图的组行为识别方法
Wei et al. Litetrack: Layer pruning with asynchronous feature extraction for lightweight and efficient visual tracking
CN113379802B (zh) 一种多特征自适应融合的相关滤波目标跟踪方法
Xie et al. Towards Hardware-Friendly and Robust Facial Landmark Detection Method
Cui et al. Research on visual tracking algorithm based on peak sidelobe ratio
Ruan et al. Relative pose estimation of visual SLAM based on convolutional neural networks
Tang et al. Evaluation of trackers for pan-tilt-zoom scenarios
CN109558777A (zh) 一种基于核相关滤波和帧差法的目标跟踪算法
Liang et al. Face detection using YOLOX with attention mechanisms
Mao Real-time small-size pixel target perception algorithm based on embedded system for smart city
Zhang et al. Tracking Method of Online Target-Aware via Shrinkage Loss
CN105809709B (zh) 一种基于位平面的运动目标跟踪方法
Hu et al. Spatio-temporal Self-learning Object Tracking Model Based on Anti-occlusion Mechanism.
Yue et al. Study on the deep neural network of intelligent image detection and the improvement of elastic momentum on image recognition

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190402

WD01 Invention patent application deemed withdrawn after publication