-
摘要: 智能合约是一种无需中介、自我验证、自动执行合约条款的计算机交易协议,近年来随着区块链技术的日益普及而备受关注.区块链上的智能合约具有去中心化、去信任、可编程、不可篡改等特性,可灵活嵌入各种数据和资产,帮助实现安全高效的信息交换、价值转移和资产管理,最终有望深入变革传统商业模式和社会生产关系,为构建可编程资产、系统和社会奠定基础.本文致力于以区块链智能合约为研究对象,对已有的研究成果进行全面梳理和系统概述,提出了智能合约的基础架构模型并以此为研究框架阐述了智能合约的运行机制与基础架构,总结了智能合约的研究挑战与进展,介绍了智能合约的技术优势与典型应用领域,讨论了智能合约的发展趋势,以期为智能合约的后续研究提供参考.Abstract: Smart contracts are computerized transaction protocols that can self-verify and self-execute the terms of contracts without a trusted third-party intermediary. In recent years, smart contracts have attracted intensive attention with the increasing popularity of their main computational architecture, i.e., blockchain. Blockchain-enabled smart contracts are decentralized, trustless, programmable, and tamper-resistant, they can be flexibly embedded into a variety of data and assets to help achieve secure and efficient information exchange, value transfer and asset management. Thus, they are expected to deepen the revolution of traditional business models and social production relationships, and lay the foundation for building programmable assets, systems and societies. This article is dedicated to a comprehensive analysis and systematic overview of blockchain-enabled smart contracts. Specifically, we proposed a basic model of smart contracts which employs a six-layer architecture and used it as a research framework to explain the operating mechanism and infrastructure of smart contracts. We also summarized their research challenges and recent progresses, introduced their technical advantages and typical application fields, and discussed their future development trends. This article is aimed at providing helpful guidance and reference for future research efforts of blockchain-enabled smart contracts.
-
Key words:
- Blockchain /
- smart contracts /
- operating mechanism /
- basic framework /
- parallel blockchain
-
光流(Optical flow, OF)估计一直是图像处理与计算机视觉领域中一个核心的研究课题. 近年来, 随着计算机软硬件水平的提高, 各类光流估计算法层出不穷, 光流技术在跟踪[1-2]、运动分割[3-4]、导航[5-6]和图像配准[7-8]等应用领域凸显出了越来越重要的作用. 特别是在高速运动场景中, 由于空间物体运动位置的快速变化, 对运动数据的获取和光流的计算提出了更高要求, 连续且高精度的光流估计算法[9]更是被国内外学者广泛研究, 其获得的光流估计结果也能为后续各类视觉任务打下良好基础.
然而, 由于相机自身较低的时间分辨率, 传统光学相机在高速运动场景下, 难以连续捕捉到物体在成像平面中位置的快速变化, 导致输出图像帧存在运动模糊, 因此低帧率的数据使得基于传统相机的光流估计算法无法有效地进行连续的光流估计. 如图1(a)所示, 向右做高速运动的棋盘格由传统光学相机成像, 由于传统相机曝光时间较长, 棋盘格在亮度图像帧中出现了运动模糊. 通过传统Horn-Schunck算法[10]获得的光流结果如图1(b)所示, 随着棋盘格运动速度加快, 受到亮度图像运动模糊的影响, 传统算法所估计的光流精度逐渐降低, 甚至输出与实际运动反向的光流结果.
图 1 基于传统相机和基于事件相机的光流估计效果对比 ((a)传统相机输出图像帧序列; (b)传统Horn-Schunck 算法的光流估计结果; (c)事件相机输出事件流; (d)本文EDI-CLG算法光流估计结果)Fig. 1 Comparison of traditional camera and event camera based optical flow ((a) The samples of images acquired by traditional camera; (b) The results using Horn-Schunck algorithm; (c) The event data generated by event camera; (d) The results using the proposed EDI-CLG algorithm)近年来, 针对基于传统光学相机的光流估计算法易受运动模糊影响的问题, 基于事件相机[11-12]的光流估计算法受到了广泛关注. 事件相机是一种新型的仿生传感器, 不同于传统相机通过固定时间间隔采样获取图像帧, 该相机具有独立的像素, 这些像素只在场景的亮度变化超过一定阈值时异步地进行成像. 此外, 事件相机具有高时间分辨率的特性, 受运动模糊问题影响较少[13], 因此能够对空间物体的运动进行连续捕捉, 获取瞬时的运动数据有利于进行连续的光流估计. 图1(c)展示了棋盘格高速运动生成的事件点, 红色表示亮度增强, 蓝色表示亮度减弱. 可以看出, 事件相机捕捉到的运动信息在时间上具有连续性, 基于此估计出的如图1(d)所示的光流结果, 不仅在时间上具有连续性特征, 而且更加精确.
目前, 基于事件相机的光流估计算法主要分为单纯基于事件流算法和联合事件流与亮度图像算法两种. 由于事件流数据不能如图像帧一样完整地反映场景的纹理信息, 因此单纯基于事件流的光流估计算法[14-16]仅能反映事件点触发位置的光流信息, 无法得到完整的场景运动信息. 此外, 由于事件数据存在大量噪声[17], 也降低了光流估计的准确性. 动态和主动像素视觉传感器(Dynamic and active-pixel vision sensor, DAVIS)相机由Berner等[18]开发. 该传感器结合了动态视觉传感器(Dynamic vision sensor, DVS)[19-20] 和传统的主动像素传感器(Active pixel sensor, APS), 不仅输出异步事件流, 还可以输出固定帧率的亮度图像. 基于此, Almatrafi等[21]提出了联合DVS和APS数据的光流估计方法, 提高了事件相机光流估计的准确性和鲁棒性. 然而, 由于APS传感器输出的亮度图像依然不可避免地受到运动模糊影响且该算法由于依赖亮度图像获取空间梯度, 只能估计出建帧时刻的非连续光流, 因此并不能保证高速运动场景下光流的精度和连续性.
针对上述问题, 本文基于亮度恒定假设和事件产生模型利用事件相机输出事件流的低延时性质, 融合存在运动模糊的亮度图像帧, 提出基于事件相机的连续光流估计算法. 通过研究模糊图像帧与曝光时间内生成事件点之间的关系, 可以重建出连续的清晰亮度图像, 从而使算法受运动模糊的影响较少. 最后在计算光流时, 添加平滑约束获得更具鲁棒性的稠密光流, 最终实现高速运动场景下受运动模糊影响较小的连续光流估计.
本文的主要贡献如下:
1)针对基于传统光学相机的光流估计算法易受运动模糊影响问题, 本文通过研究模糊图像帧与曝光时间内生成事件点之间的关系, 理论上推导了联合事件和图像的连续光流模型, 建立了任意时刻光流、图像和事件之间的关系.
2)基于联合事件和图像的连续光流模型, 提出HS (Horn-Schunck)和结合局部与全局(Combining local and global, CLG)平滑约束的光流估计方法, 提升了重建光流的精度和平滑性.
3)通过实验表明, 本文方法不仅能够较大提升基于事件相机光流估计的精度, 同时还能解决目标高速运动条件下如何进行连续且稳定的光流估计问题. 因此, 对于高速运动的极端场景, 本文方法具有一定优势.
1. 相关算法概述
1.1 基于传统相机的光流估计
在基于传统相机的光流估计方法中, 光流可以通过连续图像帧间的相关性以及图像上特定像素在空间和时间上的变化得到. 一般地, 坐标$ (x,y) $上的像素在$ t $时刻的亮度值可以表示为${\boldsymbol{I}}(x,y,t)$, 为简便起见, 有时将$\boldsymbol I $的坐标变量默认省略. 在环境不变时, 用同一相机拍摄的图像序列之间有很强关联性, 因此可以引入光流的“亮度恒定”假设[10, 22]即随着时间的变化, 在图像平面移动的像素点亮度值不变. 对于$ t $时刻在坐标$ (x,y) $上的像素点, 经过$ \Delta t $时间, 移动到$ (x+\Delta x,y+\Delta y) $, 则:
$$ {\boldsymbol{I}}(x+\Delta x,y+\Delta y,t+\Delta t) = {\boldsymbol{I}}(x,y,t) $$ (1) 基于这一假设, 将式(1)按一阶泰勒展开后, 再忽略高阶项, 可以得到光流约束方程:
$$ \frac{\partial {\boldsymbol{I}}}{\partial x}\frac{\Delta x}{\Delta t} + \frac{\partial {\boldsymbol{I}}}{\partial y}\frac{\Delta y}{\Delta t} = -\frac{\partial {\boldsymbol{I}}}{\partial t} $$ (2) 令光流矢量$ {\boldsymbol{v}} = (v_1,v_2) $, 其中$v_1 = {\Delta x}/{\Delta t}$, $v_2 = {\Delta y}/{\Delta t}$分别表示像素在$ x $和$ y $轴上的运动速度即光流. 再令图像的空间梯度$ \nabla {\boldsymbol{I}} = (I_x,I_y) $, 其中$I_x =\frac {\partial {\boldsymbol{I}}}{\partial x}$, $I_y =\frac {\partial {\boldsymbol{I}}}{\partial y}$分别表示图像在$ x $和$ y $方向上的梯度. 则可以得到式(2)的矩阵形式:
$$ -\frac{{\rm{d}}{\boldsymbol{I}}}{{\rm{d}}t} = \nabla {\boldsymbol{I}}\cdot {\boldsymbol{v}} $$ (3) 但仅有光流约束方程不足以估计出二维运动场. 因此, Horn等[10]通过正则化方式提高全局空间的一致性, 提出速度平滑假设, 将问题转化为可求解的凸函数, 也就是HS光流法. Lucas等[22]提出基于光流场局部空间一致性的Lucas-Kanade光流, 提高算法的准确性和鲁棒性. 随后, Black等[23]提出分段平滑的假设来改进全局平滑, 黄波等[24]通过引入二维标号场改进了HS光流. Fortun等[25]则通过最小化光流的大小来引入额外的约束, 进一步提升了算法的精度.
然而, 由于传统相机的时间分辨率较低, 在某些高速运动的极端场景下, 容易出现运动模糊, 导致光流估计算法的性能急剧下降. 因此基于传统相机的光流估计算法无法有效地保证高速运动场景下光流估计的准确性和稳定性. 针对运动模糊问题, 现有方法大多数基于线性运动的假设, 在此基础上, 通过求解模糊问题得到相应的光流估计[26-27]. 但是, 由于场景运动较为复杂, 无法满足线性运动假设, 从而影响光流估计的精度[28].
1.2 事件相机成像原理
事件相机是受生物视觉系统启发的一类新型视觉传感器, 与传统相机存在一定区别. 传统相机基于帧进行成像, 输出同步图像帧, 像素点代表场景的绝对亮度; 事件相机基于像素点独立成像, 输出包含大量事件点的异步事件流, 事件流表示场景在对数域的亮度变化. 事件点数据包含了亮度变化事件的像素坐标、触发时间和极性三类信息. 在像素平面上, 若像素${\boldsymbol{u}} = (x,y)^{\rm{T}}$在$ t $时刻上的对数光强值与上一时刻的对数光强值之差超过一定的阈值$ C $, 则激发事件${\boldsymbol{e}}:=\left\langle {\boldsymbol{u}},t,p\right\rangle$:
$$ {\boldsymbol{V}}({\boldsymbol{u}},t)-{\boldsymbol{V}}({\boldsymbol{u}},t-\Delta t) = p \cdot C $$ (4) 式中, ${\boldsymbol{V}}:= \lg{\boldsymbol{I}}$表示图像对数域的亮度值; 阈值$ C>0 $; $ \Delta t $是距离该像素上一次激发事件经过的时间; $p\in{\left\{1,-1\right\}}$表示事件的极性, $ p $为正表示光强增强, 为负表示光强减弱.
与逐帧成像的传统相机相比, 逐像素点独立成像的事件相机延时极低, 能够及时响应像素的亮度变化并输出事件流, 从而记录任意时刻的亮度变化情况. 事件相机的低延时性质, 使其特别适用于高速和高动态范围场景的视觉任务, 例如自动驾驶[29]、高速同时定位与地图构建[30]、光流估计等.
1.3 基于事件相机的光流估计
针对基于事件相机的光流估计问题, 目前常见方法是将恢复图像像素强度作为预处理步骤, 以适应传统算法. 如Benosman等[14]利用短时间内事件的逐像素直方图来代替像素值, Bodo等[31]使用中心差分来改善空间梯度的质量, Tobias等[32]则利用空间梯度和时间梯度之间的耦合来提高鲁棒性. 但由于从事件到强度转换过程中信息的丢失, 这些算法与基于帧的光流估计算法相比, 精度较差.
另一种常见方法是利用事件相机的特性来估计光流. Gallego等[15]通过图像对比度最大化, 以产生运动补偿的图像来同时估计光流和深度. Lagorce等[16]开发算法来拟合时空流形以估计平滑的边缘运动. Liu等[33]提出一种基于事件的块匹配算法来估计光流的方向, 并在文献[34]中融合了速度的计算. Barranco等[35]提出一种基于相位的方法来计算高频纹理区域的光流, 并尝试重建强度信号, 以避免纹理边缘处可能存在的问题. Bardow等[36]通过建立窗口, 将亮度恒定和平滑先验组合为代价函数, 并通过变分法进行优化, 实现光流和亮度的估计. 这些算法在一定程度上提高了光流估计的精度, 但由于事件流数据不能如图像帧一样完整地反映场景的纹理信息, 因此基于事件相机的光流估计算法仅能反映事件点触发位置的光流信息, 无法得到完整的场景运动信息.
近年来, 联合事件生成模型和“亮度恒定”假设进行光流估计的方法[37]得到了广泛关注. 其中, 部分方法基于事件的二重积分(Event-based dou-ble integral, EDI)模型[38], 如Pan等[39]利用该模型提出了联合光流估计和亮度图像去模糊算法, 实验结果表明, 利用EDI模型可以降低运动模糊的影响, 有利于提升光流估计的精度. 因此, 本文算法同样基于EDI模型, 并通过结合事件流和亮度图像各自的优势, 提出基于事件相机的连续光流估计算法, 以解决现有的传统光流估计算法易受运动模糊的影响, 以及单纯基于事件流的光流估计算法空间信息不足的问题.
2. 基于事件相机的连续光流估计
本节研究基于事件相机的连续光流估计方法, 结构安排如下: 第2.1节简要介绍EDI模型, 第2.2节推导联合EDI模型和“亮度恒定”假设的连续稀疏光流估计方法, 第2.3节分别添加两种平滑约束, 最终求得对噪声具有鲁棒性的连续稠密光流场.
2.1 EDI模型
EDI模型[38]利用事件点的高时间分辨率优势, 可以重建出受运动模糊影响较少的连续清晰亮度图像. 相机APS模块具有曝光时间, 因此其输出的亮度图像在相机或场景内运动目标做高速运动的情况下, 会产生运动模糊. 假定第$ i $帧亮度图像为${\boldsymbol{Y}}[i] \in {\bf R}^{M \times N}$, 曝光时间为$ T $, 曝光起始时刻用$ t_i $表示, 则图像生成模型可以表示为:
$$ {\boldsymbol{Y}}[i] = \frac{1}{T}\int_{t_i}^{t_i+T}{\boldsymbol{I}}(t){\rm{d}}t $$ (5) 式中, $ {\boldsymbol{I}}(t) $表示在$t \in {\bf{R}}$时刻的瞬时清晰亮度图像, 这个生成模型可以解释为由于亮度图像$ {\boldsymbol{I}}(t) $在$ T $时间内的快速变化, 导致输出图像$ {\boldsymbol{Y}}[i] $模糊. 为了更直观地表示事件, 用连续时间信号来定义离散事件序列, 对于像素平面上的每一个像素$ (x,y) $, 定义$ {\boldsymbol{e}}_{xy}(t) $为连续时间$ t $的函数:
$$ {\boldsymbol{e}}_{xy}(t) = p\delta(t-t_{e}) $$ (6) 式中, $ \delta(\cdot) $表示狄拉克函数, $ t_e $表示事件被激发的时刻. 定义$ {\boldsymbol{I}}(f) $是$ f $时刻的瞬时清晰亮度图像, 结合式(4)和式(6), 可得:
$$ {\boldsymbol{I}}(t) = {\boldsymbol{I}}(f)\exp\left\{\int_{f}^{t}C\cdot {\boldsymbol{e}}_{xy}(\tau){\rm{d}}\tau\right\} $$ (7) 将式(7)代入亮度图像生成模型式(5), 可以得到曝光时间内的模糊图像与事件点, 以及时刻$ f $的瞬时清晰亮度图像之间的关系:
$$ \begin{split} {\boldsymbol{Y}}[i] =\;& \frac{1}{T}\int_{t_i}^{t_i+T}{\boldsymbol{I}}(f)\exp\left\{\int_{f}^{t}C\cdot {\boldsymbol{e}}_{xy}(\tau){\rm{d}}\tau\right\}{\rm{d}}t =\\ &{\boldsymbol{I}}(f)\cdot\frac{1}{T}\int_{t_i}^{t_i+T}\exp\left\{\int_{f}^{t}C\cdot {\boldsymbol{e}}_{xy}(\tau){\rm{d}}\tau\right\}{\rm{d}}t \end{split} $$ (8) 然后, 可以定义:
$$ {\boldsymbol{E}}_{i}(f) = \frac{1}{T}\int_{t_i}^{t_i+T}\exp\left\{\int_{f}^{t}C\cdot {\boldsymbol{e}}_{xy}(\tau){\rm{d}}\tau\right\}{\rm{d}}t $$ (9) 最终, 可将式(8)写为:
$$ {\boldsymbol{Y}}[i] = {\boldsymbol{I}}(f)\cdot {\boldsymbol{E}}_{i}(f) $$ (10) 式中, $ {\boldsymbol{E}}_{i}(f) $表示第$ i $帧亮度图像曝光时间内生成事件点的二重积分, $ {\boldsymbol{I}}(f) $表示任意时刻$ f $的瞬时清晰亮度图像, 两者均在时间上具有连续性特征. 式(10)将模糊图像、瞬时清晰亮度图像和事件点之间建立了联系. 而模糊图像和事件点是已知的, 就可以通过式(10)计算出任意时刻的瞬时清晰亮度图像.
2.2 基于EDI模型的连续光流估计
EDI模型仅仅考虑了模糊图像的去模糊问题, 本节进一步结合光流约束方程研究基于EDI模型的连续光流估计问题.
若将EDI模型重建出的瞬时清晰亮度图像看作式(3)中的亮度图像$ {\boldsymbol{I}} $, 即:
$$ {\boldsymbol{I}} = \frac{{\boldsymbol{Y}}[i]}{{\boldsymbol{E}}_{i}(f)} $$ (11) 则亮度图像$ {\boldsymbol{I}} $对时间$ f $求导得:
$$ {\boldsymbol{I}}_f = \frac{{\rm{d}}\left\{\frac{{\boldsymbol{Y}}[i]}{{\boldsymbol{E}}_{i}(f)}\right\}}{{\rm{d}}f} = \frac{-{\boldsymbol{Y}}[i]\cdot \frac{{\rm{d}}{\boldsymbol{E}}_i}{{\rm{d}}f}}{{\boldsymbol{E}}_{i}^{2}(f)} = -\frac{{\boldsymbol{Y}}[i]}{{\boldsymbol{E}}_{i}^{2}(f)}\cdot \frac{{\rm{d}}{\boldsymbol{E}}_i}{{\rm{d}}f} $$ (12) 可以结合式(3)和式(10), 推导出联合事件流和亮度图像的连续光流估计方法:
$$ \frac{{\boldsymbol{Y}}[i]}{{\boldsymbol{E}}_{i}^{2}(f)}\cdot \frac{{\rm{d}}{\boldsymbol{E}}_i}{{\rm{d}}f} = \nabla\left\{\frac{{\boldsymbol{Y}}[i]}{{\boldsymbol{E}}_{i}(f)}\right\}\cdot {\boldsymbol{v}}(f) $$ (13) 式中, $ {\boldsymbol{v}}(f) $表示$ f $时刻的光流场, 且关于$ f $连续. 另外, 根据式(9)可以求出导数$\frac{{\rm{d}}{\boldsymbol{E}}_i}{{\rm{d}}f}$:
$$ \begin{split} \frac{{\rm{d}}{\boldsymbol{E}}_i}{{\rm{d}}f} = \;& \frac{1}{T}\int_{t_i}^{t_i+T}\exp\left(\int_{f}^{t}C\cdot {\boldsymbol{e}}_{xy}(\tau){\rm{d}}\tau\right) \cdot \\ &\left(-C\cdot {\boldsymbol{e}}_{xy}(f)\right){\rm{d}}t =\\ &\frac{1}{T}\int_{t_i}^{t_i+T}\exp\left(\int_{f}^{t}C\cdot {\boldsymbol{e}}_{xy}(\tau){\rm{d}}\tau\right) \cdot \\ &\left(-C\cdot p\delta(f-t_{e})\right){\rm{d}}t =-Cp{\boldsymbol{E}}_{i}(f) \delta(f-t_e) \end{split} $$ (14) 则式(12)可更新为:
$$ {\boldsymbol{I}}_f = Cp\frac{{\boldsymbol{Y}}[i]}{{\boldsymbol{E}}_{i}(f)}\delta(f-t_{e}) $$ (15) 最终, 将式(14)代入式(13), 求得基于连续清晰亮度图像重建的光流计算公式:
$$ -Cp\frac{{\boldsymbol{Y}}[i]}{{\boldsymbol{E}}_{i}(f)}\delta(f-t_{e}) = \nabla\left\{\frac{{\boldsymbol{Y}}[i]}{{\boldsymbol{E}}_{i}(f)}\right\}\cdot {\boldsymbol{v}}(f) $$ (16) 上式给出了任意时刻$ f $的连续光流$ {\boldsymbol{v}}(f) $与模糊图像$ {\boldsymbol{Y}}[i] $和事件流数据$ {\boldsymbol{E}}_{i}(f) $之间的关系. 第2.3节中, 将利用这个关系并结合平滑约束, 进一步得到优化的光流估计.
2.3 平滑约束的连续光流估计
2.3.1 HS平滑约束的连续光流估计
HS光流法是一种基于全局的方法[40], 它除了需要满足Lucas-Kanade光流法的亮度恒定、时间连续和运动位移小的假设外, 还需要满足图像光流场全局平滑的假设. 使用$ {\boldsymbol{I}} $简化表示$ {\boldsymbol{I}}(f) $, 令光流矢量$ {\boldsymbol{v}} = (v_1,v_2) $, 定义一个能量函数:
$$\begin{split} {\boldsymbol{H}}(v_1,v_2) =\;& \iint[(I_x v_1+I_y v_2+I_f)^2\;+\\ &\alpha(\vert\nabla v_1 \vert^2+\vert\nabla v_2 \vert^2)]{\rm{d}}x{\rm{d}}y \end{split} $$ (17) 式中, $ I_x $、$ I_y $和$ I_f $分别表示图像$ {\boldsymbol{I}} $在$ x $、$ y $方向上的导数和对时间的导数, $ \nabla $表示求梯度, 该能量函数的$ (I_x v_1+I_y v_2+I_f)^2 $是灰度变化因子, $\alpha(\vert\nabla v_1 \vert^2\;+ \vert\nabla v_2 \vert^2)$是平滑因子, $ \alpha $为正则化参数, 调节光流场的平滑程度, 理想的光流场应该使得灰度变化因子和平滑因子之和最小, 即亮度恒定且运动平滑. 为了便于推导, 令:
$$ L = (I_x v_1+I_y v_2+I_f)^2+\alpha(\vert\nabla v_1 \vert^2+\vert\nabla v_2 \vert^2) $$ (18) 将$ L $对$ v_1 $和$ v_2 $分别进行求导, 得:
$$ \left\{\begin{aligned} &\Delta v_1-\frac{1}{\alpha}(I_x^2 v_1+I_x I_y v_2+I_x I_f) = 0 \\ &\Delta v_2-\frac{1}{\alpha}(I_x I_y v_1+I_y^2 v_2+I_y I_f) = 0 \end{aligned}\right.$$ (19) 式中, $ \Delta $是拉普拉斯算子操作, 可表示为:
$$ \Delta: = \partial_{xx}+\partial_{yy} $$ (20) 本文用以下公式代替:
$$ \Delta {\boldsymbol{m}}(x,y) = \bar{{\boldsymbol{m}}}(x,y)-{\boldsymbol{m}}(x,y) $$ (21) 式中, $ \bar{{\boldsymbol{m}}}(x,y) $为$ {\boldsymbol{m}}(x,y) $的拉普拉斯估计值:
$$ \begin{split} \bar{{\boldsymbol{m}}}(x,y) =\;& \frac{1}{6}[{\boldsymbol{m}}(x-1,y)+{\boldsymbol{m}}(x,y+1)\;+ \\ &{\boldsymbol{m}}(x+1,y)+{\boldsymbol{m}}(x,y-1)] \;+\\ &\frac{1}{12}[{\boldsymbol{m}}(x-1,y-1)+{\boldsymbol{m}}(x-1,y+1)]\; +\\ &\frac{1}{12}[{\boldsymbol{m}}(x+1,y+1)+{\boldsymbol{m}}(x+1,y-1)] \end{split}$$ (22) 进行拉普拉斯操作替换后, 将式(19)更新为:
$$\left\{ \begin{aligned} &(I_x^2+\alpha)v_1+I_x I_y v_2 = \alpha\bar{v}_1-I_x I_f \\ &(I_y^2+\alpha)v_2+I_x I_y v_1 = \alpha\bar{v}_2-I_y I_f \end{aligned}\right.$$ (23) 使用Gauss-Seidel迭代方法[40], 利用估计的空间梯度、时间导数和上一次迭代的速度估计结果来计算一组新的速度估计值, 得到迭代式:
$$ \left\{\begin{aligned} &v_1^{k+1} = \bar{v}_1^k-\frac{I_x(I_x\bar{v}_1^k+I_y\bar{v}_2^k+I_f)}{\alpha+I_x^2+I_y^2} \\ &v_2^{k+1} = \bar{v}_2^k-\frac{I_y(I_x\bar{v}_1^k+I_y\bar{v}_2^k+I_f)}{\alpha+I_x^2+I_y^2} \end{aligned}\right. $$ (24) 式中, $ \bar{v}_1^k $和$ \bar{v}_2^k $表示上一次迭代结果的拉普拉斯估计值. 将式(11)和式(15)代入迭代式(24), 计算$ v_1 $和$ v_2 $在第$ k $步迭代的估计值. 通过多次迭代收敛, 最终得到光流的估计结果. 本文设定迭代终止条件为光度一致性误差$\lambda_k := I_xv_1^k+I_yv_2^k+I_f$的变化小于某个阈值$ \lambda^{\theta} $:
$$ \vert \lambda_k-\lambda_{k-1} \vert < \lambda^{\theta} $$ (25) 本文实验中选取$ \lambda^{\theta} = 1\times10^{-6} $. 具体算法见算法1. 其中, 时间间隔$ \Delta f $将每一帧亮度图像的曝光时间$ T $进行${T}/{\Delta f}$等分, 决定了$ T $时间内的连续光流估计次数.
2.3.2 CLG平滑约束的连续光流估计
通常情况下, 基于局部的光流估计方法对噪声更具鲁棒性, 而基于全局的光流估计方法则产生更加精确的稠密光流场. CLG光流法[41]结合了局部方法和全局方法各自的优势, 产生对噪声具有鲁棒性的稠密光流场, 其最小化能量函数可以表示为:
$$ {\boldsymbol{H}}_{CLG}({\boldsymbol{\omega}}) = \iint({\boldsymbol{\omega}}^{\rm{T}}J_\rho(\nabla_3{\boldsymbol{I}}){\boldsymbol{\omega}}+\alpha\vert{\nabla{\boldsymbol{\omega}}}\vert^2){\rm{d}}x{\rm{d}}y $$ (26) 式(26)中各个参数的定义如下:
$$ {\boldsymbol{\omega}}:= (v_1,v_2,1)^{\rm{T}} $$ (27) $$ \vert{\nabla{\boldsymbol{\omega}}}\vert^2 := \vert{\nabla v_1}\vert^2+\vert{\nabla v_2}\vert^2 $$ (28) $$ \nabla_3{\boldsymbol{I}} := (I_x,I_y,I_f)^{\rm{T}} $$ (29) $$ J_\rho(\nabla_3{\boldsymbol{I}}) := K_\rho*(\nabla_3{\boldsymbol{I}}\nabla_3{\boldsymbol{I}}^{\rm{T}}) $$ (30) 式中, $ K_\rho $是高斯核, $ \rho $表示高斯核的邻域窗口大小, “$*$”表示卷积操作, 参数$ \alpha $调节平滑程度. 使用类似第2.3.1节中HS平滑约束迭代公式的推导过程, 可得CLG平滑约束的光流迭代公式:
$$ \left\{\begin{aligned} &v_1^{k+1} = \bar{v}_1^k\;-\\ &\;\;\;\;\qquad\frac{K_\rho*(I_x^2)\bar{v}_1^k+K_\rho*(I_xI_y)\bar{v}_2^k+K_\rho*(I_xI_f)}{\alpha+K_\rho*I_x^2+K_\rho*I_y^2} \\ &v_2^{k+1} = \bar{v}_2^k\;-\\ &\;\;\;\;\qquad\frac{K_\rho*(I_y^2)\bar{v}_2^k+K_\rho*(I_xI_y)\bar{v}_1^k+K_\rho*(I_yI_f)}{\alpha+K_\rho*I_x^2+K_\rho*I_y^2} \end{aligned}\right. $$ (31) 将式(11)和(15)代入迭代式(31), 计算$ v_1 $和$ v_2 $在第$ k $步迭代的估计值. 迭代收敛条件与第2.3.1节相同, 经过多次迭代, 最终得到连续稠密光流的估计结果. 与Pan等[39]方法不同的是, 本文方法利用EDI模型重建连续清晰亮度图像的优势, 推导出同样在时间上具有连续性的光流估计方法, 因此在高速运动的极端场景下具有一定的优势, 而文献[39]则基于曝光时间内光流恒定的假设, 对亮度图像进行去模糊操作.
算法1. 基于事件相机的连续光流估计算法
输入. 亮度图像序列 $ \{{\boldsymbol{Y}}[i]\}_{i=1}^l $, 事件流数据$ \{{\boldsymbol{e}}_{k}\}_{k=1}^m $, 时间间隔$ \Delta f $, 迭代初始值$ v_1=0 $、$ v_2=0 $, 参数$ \alpha $、$ \lambda^\theta $.
输出. 连续光流估计结果$ {\boldsymbol{v}}(f) $.
1) for 每一帧亮度图像$ {\boldsymbol{Y}}[i] $ do;
2)提取时间$ [t_i,t_i+T] $内对应的事件流;
3) for $f=t_i:\Delta f:(t_i+T)$ do;
4)根据式(9)计算$ f $时刻的事件点二重积分$ {\boldsymbol{E}}_i(f) $;
5)根据式(11)重建$ f $时刻的清晰亮度图像$ {\boldsymbol{I}} ;$
6)根据式(15)计算$ f $时刻的清晰亮度图像时间导数$ {\boldsymbol{I}}_f $;
7) while $ \vert \lambda_k-\lambda_{k-1} \vert > \lambda^{\theta} $ do;
8)根据式(24) (HS)或式(31) (CLG)计算连续光流$ {\boldsymbol{v}}(f) $;
9) end while;
10) end for;
11) end for.
3. 实验结果及分析
本文使用两组数据集对算法进行测试. 第1组来自Bodo等[31]提供的数据集, 由DAVIS240相机[18]录制且带有光流真实值. 该数据集场景简单, 所有事件点均由相机低速运动生成. 图2展示了该数据集中TranslBoxes、RotDisk和TranslSin三个数据的亮度图像和对应事件帧, 对应结果如图3、图4所示. 第2组是运动模糊数据集, 图5(a)展示了该数据集中三个数据的亮度图像, 前两行数据来自Pan等[38]提供的真实模糊事件数据集, 第3行数据为使用DAVIS346相机录制的真实模糊事件数据. 第2组数据集包含高速运动导致亮度图像模糊的更具挑战性的情况, 可以用于验证本文算法在极端场景下的鲁棒性, 但不带有光流真实值. 在实验中, 将本文提出的引入HS约束和CLG约束的连续光流估计模型分别命名为EDI-HS和EDI-CLG.
3.1 参数选取
算法1中待设定的参数为平滑约束的正则化参数$ \alpha $. 本文主要通过实验方式对该参数进行设置, 选择带有标准偏差的平均端点误差(Average end point error, AEE)和平均角度误差(Average angular error, AAE)以及均方误差(Mean square error, MSE)来作为光流精度的衡量指标. AEE表示光流大小与真实值的误差, 单位为%:
$$ {\rm{AEE}} = \frac{1}{N}\sum\limits_{i = 1}^{N}\sqrt{({\boldsymbol{v}}_{x,i}-{\boldsymbol{u}}_{x,i})^2+({\boldsymbol{v}}_{y,i}-{\boldsymbol{u}}_{y,i})^2}\frac{1}{|{\boldsymbol{u}}_i|} $$ (32) AAE表示光流方向与真实值的误差, 单位为(°):
$$ {\rm{AAE}} = \frac{1}{N}\sum\limits_{i = 1}^{N}\arccos \frac{{\boldsymbol{v}}_{x,i} {\boldsymbol{u}}_{x,i}+{\boldsymbol{v}}_{y,i} {\boldsymbol{u}}_{y,i}}{|{\boldsymbol{v}}_i||{\boldsymbol{u}}_i|} $$ (33) MSE可用如下公式表示:
$$ {\rm{MSE}}=\frac{1}{N}\sum\limits_{i = 1}^{N}[({\boldsymbol{v}}_{x,i}-{\boldsymbol{u}}_{x,i})^2+({\boldsymbol{v}}_{y,i}-{\boldsymbol{u}}_{y,i})^2] $$ (34) 式中, $ {\boldsymbol{v}}_i = (v_x,v_y)_i $表示第$ i $个光流测量值, ${\boldsymbol{u}}_i = (u_x,u_y)_i$表示相应的光流真实值.
采用第1组DAVIS240数据集进行实验, 通过观察不同的正则化参数对所计算光流的平均端点误差和平均角度误差的影响, 对参数进行选取. 在$ \alpha $取值为[0, 3000]范围内进行了大量实验, 通过实验发现, 在各数据集上, 当$\alpha > 2$时, 两种误差都随$ \alpha $的增大而升高, 光流质量变差. 因此, 图3展示了$ \alpha $取值在区间[0, 2]上对所得光流的平均端点误差和平均角度误差的影响曲线. 可以发现, 相较于平均角度误差, 平均端点误差受参数$ \alpha $的影响更小且平均端点误差随$ \alpha $的增大而缓慢升高, 平均角度误差随$ \alpha $的增大呈现先降低后升高趋势. 当$ \alpha = 0.75 $左右时, 可以同时保证两种误差均为较低, 因此在后续实验中设置$ \alpha = 0.75 $.
3.2 连续光流估计结果
为验证本文算法的精度, 将它们与现有的基于事件相机的光流估计算法进行比较, 分别为Almatrafi等[21]提出的联合DVS和APS数据的光流估计方法、图像对比度最大化光流估计法[15]和局部平面拟合光流估计法[16]. 将它们分别命名为DAVIS-OF、DVS-CM 和DVS-LP. 其中, DAVIS-OF光流估计算法在添加CLG平滑约束时取得了最好的效果, 因此本文在进行对比实验时, 也对其添加了CLG平滑约束.
首先, 使用第1组DAVIS240数据集对算法进行实验测试. 表1展示了各个算法在这3个数据上的光流估计结果与真实值之间的误差, 精度排名第1和第2的算法分别使用加粗和下划线标注. 总体上, EDI-CLG的结果最好, 在3个数据上的误差都比较小, EDI-HS在TranslBoxes和TranslSin两个数据上的结果比另外3种现有算法更优, 且EDI-CLG光流结果的标准差在3个数据上都较小, 说明EDI-CLG的光流结果较为稳定, 很少有异常值, 具有良好的抗噪性能. 实验结果表明, 在DAVIS-240数据集上, 本文算法相比于其他3种对比算法, 在精度和稳定性上具有一定优势.
表 1 DAVIS240数据集光流误差表Table 1 Optical flow error on DAVIS240 datasets数据 算法 AEE ($\%$) AAE (°) MSE TranslBoxes DVS-CM 43.65 ± 27.15 21.46 ± 32.86 39.94 DVS-LP 124.78 ± 92.05 19.66 ± 13.71 81.03 DAVIS-OF 31.20 ± 3.18 17.29 ± 7.18 15.57 EDI-HS 18.65 ± 2.92 5.13 ± 4.72 17.86 EDI-CLG 18.01 ± 2.65 4.79 ± 3.05 16.77 RotDisk DVS-CM 54.26 ± 28.30 34.39 ± 25.88 40.75 DVS-LP 104.63 ± 97.15 20.76 ± 14.17 77.25 DAVIS-OF 33.94 ± 17.02 13.07 ± 8.58 14.30 EDI-HS 42.93 ± 20.91 14.87 ± 12.83 33.10 EDI-CLG 42.44 ± 20.86 13.79 ± 10.52 33.02 TranslSin DVS-CM 91.96 ± 9.95 43.16 ± 39.09 85.41 DVS-LP 107.68 ± 70.04 69.53 ± 30.82 94.53 DAVIS-OF 84.78 ± 61.22 56.75 ± 41.53 62.61 EDI-HS 75.74 ± 51.69 30.14 ± 9.98 72.96 EDI-CLG 72.45 ± 44.12 28.53 ± 4.97 35.28 表2展示了各个算法在3个数据上的运行时间对比, 其中运行速度排名第1和第2的算法分别使用加粗和下划线标注. 使用Matlab2014a进行光流估计的平均每帧运行时间作为衡量指标, 其中, DAVIS-OF的运行时间最短, EDI-HS的运行时间也相对较短, 而EDI-CLG的迭代过程相比于EDI-HS较为复杂, 因此运行时间略长, DVS-CM则由于逐像素迭代计算光流, 平均每帧运行时间为最长. 实验结果表明, 在DAVIS240数据集上, 本文算法的运行时间相比于现有算法具有一定的优势.
表 2 运行时间对比Table 2 Comparison of running time算法 平均每帧运行时间(s) DVS-CM 206.85 DVS-LP 5.29 DAVIS-OF 0.52 EDI-HS 0.61 EDI-CLG 0.63 图4为利用第1组数据集中TranslBoxes、Rot-Disk和TranslSin三个数据对本文的连续光流估计方法与其他3种光流估计算法进行测试的结果对比图. 为便于可视化, 对光流场进行了下采样. 图4包括光流真实值图像以及5种算法的光流结果图. 其中, 绿色的直线箭头表示光流, 所有光流估计结果都在事件帧图像上显示.
图 4 DAVIS240数据集光流结果对比图 ((a)光流真实值; (b)本文EDI-HS方法; (c)本文EDI-CLG方法; (d) DAVIS-OF方法; (e) DVS-CM方法; (f) DVS-LP方法)Fig. 4 Comparison of optical flow results on DAVIS240 datasets ((a) Ground truth; (b) The proposed EDI-HS method; (c) The proposed EDI-CLG method; (d) The DAVIS-OF method; (e) The DVS-CM method; (f) The DVS-LP method)在TranslBoxes数据中, 箱子在图像上表现为向右移动, 事件帧图像中噪声较少且边缘明确. 其中, EDI-CLG的光流结果较好, 大小和方向都最接近真实值; DAVIS-OF的光流方向总体较好, 但光流大小缺乏一致性. 而DVS-CM和DVS-LP个别事件点的光流发生了明显错误, 特别是DVS-LP有些光流值幅度很小, 增加了AEE误差, 结果见表1. 在RotDisk数据中, 分隔成不同颜色区域的圆盘顺时针转动, 从真实值上可以看出, 光流方向基本都垂直于区域边缘且光流大小与圆盘半径成正比. 其中, EDI-CLG的光流比较稳定, 并且光流大小基本符合与圆盘半径的正比关系, 这有效减少了光流误差. 而EDI-HS的光流方向较好, 但是某些边缘上的光流大小比例不正确. DAVIS-OF的光流大小最符合与圆盘半径的正比关系, 但有些地方输出的光流方向不够准确. DVS-CM由于只对局部区域做对比度最大化, 光流方向并不都垂直于边缘; DVS-LP则有许多错误的光流方向, 有些甚至与运动反向. 在TranslSin数据中, 图像表现为黑白正弦曲线向左移动, 由于黑白边界并不清晰, 事件帧图像上边缘不明确且有许多噪点. 其中, EDI-HS和 EDI-CLG估计的光流方向较为一致, 但有个别光流幅值较大. 而对比算法DAVIS-OF、DVS-CM和DVS-LP输出的光流方向不稳定, 且大小也比较杂乱.
为了验证本文算法在更具挑战性的场景下进行光流估计的准确性和稳定性, 下面使用第2组运动模糊数据集进行测试. 第2组数据集提供了高速运动导致亮度图像模糊的情况, 可以用于验证本文算法在极端场景下的鲁棒性.
图5展示了各种算法在第2组数据集上的测试结果, 包括数据集中的模糊亮度图像、使用EDI方法重建的清晰亮度图像和各个算法的光流结果图. 第1行展示的数据是人手臂挥动黑白格图像, 第2行数据是人在室内起跳后落下, 第3行数据是高速移动的相机拍摄的棋盘格. 由图5可以看出, 在目标高速运动且亮度图像存在运动模糊的情况下, 本文提出的两种连续光流估计算法都能稳定估计光流, 光流方向都较为准确且变化较为平滑, 其中EDI-CLG估计的光流视觉效果最好, DVS-CM和DVS-LP的光流则存在异常值, 方向准确度也不高.
图 5 运动模糊数据集光流结果对比图 ((a)运动模糊亮度图像; (b) 使用EDI方法重建的清晰亮度图像; (c)本文EDI-HS 方法; (d)本文EDI-CLG方法; (e) DVS-CM方法; (f) DVS-LP方法)Fig. 5 Comparison of optical flow results on motion blur datasets ((a) Brightness image with motion blur; (b) Reconstructed clear brightness image using EDI method; (c) The proposed EDI-HS method; (d) The proposed EDI-CLG method; (e) The DVS-CM method; (f) The DVS-LP method)3.3 连续光流的精度稳定性测试实验
通过与基于传统相机的光流估计算法对比可知, 本文算法可以在一帧亮度图像的曝光时间内进行多次光流的计算(见图1), 说明本文算法在时间上具有连续性. 然而, 当光流连续输出时, 仍需进一步测试其精度是否稳定. 因此, 将本文提出的EDI-CLG算法与 DAVIS-OF方法进行连续光流的稳定性对比实验.
利用第1组数据集中TranslBoxes数据进行测试. 最初使用算法1得到的连续光流误差表明, 本文算法在每一帧图像的曝光边界时刻, 光流质量会比曝光中间时刻明显变差(见图6(a)、图6(b)). 这是由于在亮度图像的曝光边界时刻, EDI模型对模糊图像的补偿效果比在曝光中间时刻差[38], 从而影响曝光边界时刻重建图像的质量, 进而影响到光流估计的精度. 因此, 采用Niklaus等[42]提出的亮度图像插帧算法, 将前面使用EDI模型进行重建的连续清晰亮度图像序列中每帧曝光边界时刻生成的图像, 通过前后两张图像的插帧, 替换为更高质量的重建图像, 使连续光流估计的精度得到了进一步提升.
图 6 连续光流误差对比折线图 ((a) EDI-CLG算法改进前的平均端点误差; (b) EDI-CLG算法改进前的平均角度误差;(c) EDI-CLG算法改进后与DAVIS-OF算法的平均端点误差对比; (d) EDI-CLG算法改进后与DAVIS-OF算法的平均角度误差对比)Fig. 6 Continuous optical flow error comparison ((a) The average endpoint error of EDI-CLG before improvement; (b) The average angular error of EDI-CLG before improvement; (c) Comparison of the average endpoint error between the improved EDI-CLG and DAVIS-OF; (d) Comparison of the average angular error between the improved EDI-CLG and DAVIS-OF)图6(c)、图6(d)展示了2种算法的光流估计结果与真实值之间的平均端点误差和平均角度误差对比折线图, 选择数据集中连续3帧图像进行实验, 对本文方法进行每帧图像曝光时间内连续4次光流计算. 由对比两组光流的平均端点误差和平均角度误差结果可以看出, 本文算法估计出的连续光流误差更小且在多帧曝光时间内, 可以保持精度的稳定性.
图7展示了单帧亮度图像曝光时间内进行连续光流的精度稳定性测试的结果对比图. 其中, DAVIS-OF算法只能估计建帧时刻的非连续光流, 因此输出单张光流结果(见图7(b)). 而本文提出的EDI-CLG算法可以在单帧亮度图像的曝光时间内多次计算光流(本文实验计算4次), 如图7(c)所示. 可以看出, 与对比算法相比, 本文算法获得的光流与真实值更加接近, 而对比算法输出的光流精度较低且有些事件点处没有输出光流.
图 7 EDI-CLG算法和DAVIS-OF算法连续光流结果对比图 ((a)光流真实值; (b) DAVIS-OF方法; (c)本文EDI-CLG方法在单帧图像曝光时间内连续4次进行光流计算的结果)Fig. 7 Comparison of continuous optical flow results between EDI-CLG algorithm and DAVIS-OF algorithm ((a) Ground truth; (b) The DAVIS-OF method; (c) The results of four continuous optical flow calculations within the exposure time of a frame using the proposed EDI-CLG method)4. 结束语
在相机或目标高速运动的极端场景下, 由于相机自身较低的时间分辨率等局限性, 基于传统光学相机的光流估计方法难以估计出连续的光流结果. 针对这一问题, 本文提出基于事件相机的连续光流估计算法, 该算法联合了事件相机输出的DVS数据和APS数据各自优势, 不仅能够重建出任意时刻的清晰亮度图像, 而且可以保证光流估计的连续性和稳定性, 解决了相机APS数据易受运动模糊影响的问题. 在计算光流时, 本文通过引入两种平滑约束来计算稠密光流, 进一步提升了算法的鲁棒性和准确性. 实验结果表明, 本文算法相较于现有的光流估计算法, 在平均端点误差、平均角度误差和均方误差指标上, 性能均有较大提升. 在目标高速运动的极端场景下, 也依然能够有效且鲁棒地估计连续光流.
-
[1] Szabo N. Smart contracts[Online], avaliable: http://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart.contracts.html, November 5, 2018 [2] Nakamoto S. Bitcoin: a peer-to-peer electronic cash system[Online], avaliable: https://bitcoin.org/bitcoin.pdf, January, 2009 [3] Stark J. Making sense of blockchain smart contracts[Online], available: https://www.coindesk.com/making-sense-smart-contracts/, November 5, 2018 [4] Bartoletti M, Pompianu L. An empirical analysis of smart contracts:platforms, applications, and design patterns. In:Proceedings of the International Conference on Financial Cryptography and Data Security. Springer, Cham, 2017. 494-509 [5] Wood G. Ethereum: A secure decentralized generalized transaction ledger (EIP-150 revision)[Online], avaliable: http://gavwood.com/paper.pdf, November 5, 2018 [6] Wikipedia: The DAO (organization)[Online], available: https://en.wikipedia.org/wiki/The_DAO_(organization), November 5, 2018 [7] 袁勇, 王飞跃.区块链技术发展现状与展望.自动化学报, 2016, 42(4):481-494 http://www.aas.net.cn/CN/abstract/abstract18837.shtmlYuan Yong, Wang Fei-Yue. Blockchain:the state of the art and future trends. Acta Automatica Sinica, 2016, 42(4):481-494 http://www.aas.net.cn/CN/abstract/abstract18837.shtml [8] Hyperledger fabric website[Online], available: https://www.hyperledger.org/projects/fabric, November 5, 2018 [9] Meiklejohn S, Pomarole M, Jordan G, Levchenko K, McCoy D, Voelker G M, et al. A fistful of bitcoins: characterizing payments among men with no names. In: Proceedings of the 2013 Conference on Internet Measurement Conference. New York, USA: ACM, 2013. 127-140 [10] Ron D, Shamir A. Quantitative analysis of the full bitcoin transaction graph. In: Proceedings of the 2013 International Conference on Financial Cryptography and Data Security. Springer, Berlin, Heidelberg, 2013. 6-24 [11] Kosba A, Miller A, Shi E, Wen Z, Papamanthou C. Hawk: the blockchain model of cryptography and privacy-preserving smart contracts. In: Proceedings of the 37th Symposium on Security and Privacy. New York, USA: IEEE, 2016. 839-858 [12] Zhang F, Cecchetti E, Croman K, Juels A, Shi Elaine. Town crier: an authenticated data feed for smart contracts. In: Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security. New York, USA: ACM, 2016. 270-282 [13] Ye P J, Wang S, Wang F Y. A general cognitive architecture for agent-based modeling in artificial societies. IEEE Transactions on Computational Social Systems, 2018, 5(1):176-185 doi: 10.1109/TCSS.2017.2777602 [14] Atzei N, Bartoletti M, Cimoli T. A survey of attacks on ethereum smart contracts. In: Proceedings of the 2017 International Conference on Principles of Security and Trust. Springer, Berlin, Heidelberg, 2017. 164-186 [15] Luu L, Chu D H, Olickel H, Saxena P, Hobor A. Making smart contracts smarter. In: Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security. New York, USA: ACM, 2016. 254-269 [16] Chen T, Li X Q, Luo X P, Zhang X S. Under-optimized smart contracts devour your money. In: Proceedings of the 4th International Conference on Software Analysis, Evolution and Reengineerin. New York, USA: IEEE, 2017. 442-446 [17] Juels A, Kosba A, Shi E. The ring of gyges: investigating the future of criminal smart contracts. In: Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security. New York, USA: ACM, 2016. 283-295 [18] Christin N. Traveling the silk road: a measurement analysis of a large anonymous online marketplace. In: Proceedings of the 22nd International Conference on World Wide Web. New York, USA: ACM, 2013. 213-224 [19] Erdman A G, Sandor G N. Mechanical Design (3rd ed): Analysis and Synthesis (Vol.1). Englewood Cliffs: Prentice-Hall, 1997 [20] 曾帅, 袁勇, 倪晓春, 王飞跃.面向比特币的区块链扩容: 关键技术、制约因素与衍生问题.自动化学报, DOI: 10.16383/j.aas.c180100Zeng Shuai, Yuan Yong, Ni Xiao-Chun, Wang Fei-Yue. Scaling blockchain towards bitcoin: key technologies, constraints and related issues. Acta Automatica Sinica, DOI: 10.16383/j.aas.c180100 [21] Dickerson T, Gazzillo P, Herlihy M, Koskinen E. Adding concurrency to smart contracts. In: Proceedings of the 2017 ACM Symposium on Principles of Distributed Computing. New York, USA: ACM, 2017. 303-312 [22] 胡凯, 白晓敏, 高灵超, 董爱强.智能合约的形式化验证方法.信息安全研究, 2016, 2(12):1080-1089 http://d.old.wanfangdata.com.cn/Periodical/xxaqyj201612003Hu Kai, Bai Xiao-Min, Gao Ling-Chao, Dong Ai-Qiang. Formal verification method of smart contract. Journal of Information Security Research, 2016, 2(12):1080-1089 http://d.old.wanfangdata.com.cn/Periodical/xxaqyj201612003 [23] Mythril website[Online], available: https://github.com/b-mueller/mythril/, November 5, 2018 [24] Bhargavan K, Delignat-Lavaud A, Fournet C, Gollamudi A, Gonthier G, Kobeissi N, et al. Short paper: formal verification of smart contracts. In: Proceedings of the 2016 ACM Workshop on Programming Languages and 23 Analysis for Security. New York, USA: ACM, 2016. 91-96 [25] Kalra S, Goel S, Dhawan M, Sharma S. Zeus: analyzing safety of smart contracts[Online], available: http://pages.cpsc.ucalgary.ca/joel.reardon/blockchain/readings/ndss2018_09-1_Kalra_paper.pdf, November 5, 2018 [26] Manticore website[Online], available: https://github.com/trailofbits/manticore, November 5, 2018 [27] Tsankov P, Dan A, Cohen D D, et al. Securify: practical security analysis of smart contracts. In: Proceedings of the 25th ACM Conference on Computer and Communications Security. New York, USA: ACM, 2018. 67-82 [28] Solgraph website[Online], available: https://github.com/raineorshine/solgraph, November 5, 2018 [29] 乔海曙, 谢姗珊.区块链金融理论研究的最新进展.金融理论与实践, 2017, (3):75-79 doi: 10.3969/j.issn.1003-4625.2017.03.014Qiao Hai-Shu, Xie Shan-Shan. The latest development of theoretical research on blockchain finance. Financial Theory and Practice, 2017, (3):75-79 doi: 10.3969/j.issn.1003-4625.2017.03.014 [30] Peters G W, Panayi E. Understanding Modern Banking Ledgers Through Blockchain Technologies: Future of Transaction Processing and Smart Contracts on the Internet of Money. Berlin: Springer International Publishing, 2016. 5-10 [31] Corda website[Online], available: https://docs.corda.net/, November 5, 2018 [32] Gatteschi V, Lamberti F, Demartini C, Pranteda C, Santamaria V. Blockchain and smart contracts for insurance:is the technology mature enough. Future Internet, 2018, 10(2):20 [33] Bertani T, Butkute K, Canessa F. Smart flight insurance-insureth[Online], available: https://mkvd.s3.amazonaws.com/apps/InsurEth.pdf, November 5, 2018 [34] ECoinmerce: decentralized marketplace[Online], available: https://www.ecoinmerce.io/, November 5, 2018 [35] Slock.it: enabling the economy of things[Online], available: https://slock.it/, November 5, 2018 [36] Beck R, Avital M, Rossi M, Thatcher J B. Blockchain technology in business and information systems research. Business & Information Systems Engineering, 2017, 59(6):381-384 http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=WK_MED201804280769 [37] Weber I, Gramoli V, Ponomarev A, Staples M, Holz R, Tran A B, et al. On availability for blockchain-based systems. In: Proceedings of the International Symposium on Reliable Distributed Systems. New York, USA: IEEE, 2017. 64-73 [38] Wang S, Ni X C, Yuan Y, Wang X, Ouyang L W, Wang F Y. A preliminary research of prediction markets based on blockchain powered smart contracts. In: Proceedings of the 2018 International Conference on Blockchain (Blockchain-2018. New York, USA: IEEE, 2018. 1287-1293 [39] McCorry P, Shahandashti S F, Hao F. A smart contract for boardroom voting with maximum voter privacy. In: Proceedings of the 2017 International Conference on Financial Cryptography and Data Security. Springer, Cham, 2017. 357-375 [40] Rosa J L, Gibovic D, Torres-Padrosa V, Maicher L, Miralles F, Fakdi A, et al. On intellectual property in online open innovation for SME by means of blockchain and smart contracts. In: Proceedings of the 3rd Annual World Open Innovation Conference. Barcelona, Spain, 2016 [41] IP360 website[Online], available: https://www.ip360.net.cn/index, November 5, 2018 [42] Xia Q, Sifah E B, Asamoah K O, Gao J B, Du X J, Guizani M. MeDShare:trust-less medical data sharing among cloud service providers via blockchain. IEEE Access, 2017, 5(99):14757-14767 http://d.old.wanfangdata.com.cn/NSTLQK/NSTL_QKJJ021078146/ [43] Azaria A, Ekblaw A, Vieira T, Lippman A. MedRec: using blockchain for medical data access and permission management. In: Proceedings of the 2nd International Conference on Open and Big Data. New York, USA: IEEE, 2016. 25-30 [44] Kuo T T, Ohno-Machado L. ModelChain: decentralized privacy-preserving healthcare predictive modeling framework on private blockchain networks. Computers and Society, arXiv: 1802.01746 [45] Mediledger website[Online], available: https://www.mediledger.com/, November 5, 2018 [46] BlockMedx website[Online], available: https://blockmedx.com/en/, November 5, 2018 [47] Dorri A, Kanhere S S, Jurdak R, Gauravaram P. Blockchain for IoT security and privacy: the case study of a smart home. In: Proceedings of the 2017 International Conference on Pervasive Computing and Communications Workshops. New York, USA: IEEE, 2017. 618-623 [48] Dorri A, Kanhere S S, Jurdak R. Towards an optimized blockchain for IoT. In: Proceedings of the 2017 International Conference on Internet-Of-Things Design and Implementation, Pittsburgh. New York, USA: IEEE, 2017. 173-178 [49] Zhang Y, Wen J T. An IoT electric business model based on the protocol of bitcoin. In: Proceedings of 18th International Conference on Intelligence in Next Generation Networks. New York, USA: IEEE, 2015. 184-191 [50] Zhang Y Y, Kasahara S, Shen Y L, Jiang X H, Wan J X. Smart contract-based access control for the Internet of Things. Cryptography and Security, arXiv: 1802.04410 [51] IoTeX website[Online], available: https://iotex.io/, November 5, 2018 [52] Byrne R O. How blockchain can transform the supply chain[Online], available: https://www.logisticsbureau.com/how-blockchain-can-transform-the-supply-chain/, November 5, 2018 [53] Bocek T, Rodrigues B B, Strasser T, Stiller B. Blockchains everywhere——a use-case of blockchains in the pharma supply-chain. In: Proceedings of the 2017 Symposium on Integrated Network and Service Management. New York, USA: IEEE, 2017. 772-777 [54] Stark J. Making sense of ethereum's layer2 scaling solutions: state channels, plasma, and truebit[Online], available: https://medium.com/l4-media/making-sense-of-ethereums-layer-2-scaling-solutions-state-channels-plasma-and-truebit-22cb40dcc2f4, November 5, 2018 [55] Taxa Website[Online], available: https://taxa.network/, November 5, 2018 [56] 王飞跃.软件定义的系统与知识自动化:从牛顿到默顿的平行升华.自动化学报, 2015, 41(1):1-8 doi: 10.3969/j.issn.1003-8930.2015.01.001Wang Fei-Yue. Software-defined systems and knowledge automation:a parallel paradigm shift from Newton to Merton. Acta Automatica Sinica, 2015, 41(1):1-8 doi: 10.3969/j.issn.1003-8930.2015.01.001 [57] 王飞跃, 王晓, 袁勇, 王涛, 林懿伦.社会计算与计算社会:智慧社会的基础与必然.科学通报, 2015, 60(5-6):460-469 http://d.old.wanfangdata.com.cn/Periodical/fzxtyfzxkx200404002Wang Fei-Yue, Wang Xiao, Yuan Yong, Wang Tao, Lin Yi-Lun. Social computing and computational societies:the fouyndation and consequence of smart societies. China Science Bulletin, 2015, 60(5-6):460-469 http://d.old.wanfangdata.com.cn/Periodical/fzxtyfzxkx200404002 [58] 王飞跃.人工社会、计算实验、平行系统——关于复杂社会经济系统计算研究的讨论.复杂系统与复杂性科学, 2004, 1(4):25-35 doi: 10.3969/j.issn.1672-3813.2004.04.002Wang Fei-Yue. Artificial societies, computational experiments, and parallel systems:a discussion on computational theory of complex social-economic systems. Complex System and Complexity Science, 2004, 1(4):25-35 doi: 10.3969/j.issn.1672-3813.2004.04.002 [59] Wang F Y, Yuan Y, Wang X, Qin R. Societies 5.0: a new paradigm for computational social systems research. IEEE Transactions on Computational Social Systems, 2018, 5(1): 2-8 [60] Zhang J J, Wang F Y, Wang Q, Hao D, Yang X. Parallel dispatch:a new paradigm of electrical power system dispatch. IEEE/CAA Journal of Automatica Sinica, 2018, 5(1):311-319 doi: 10.1109/JAS.2017.7510778 [61] 李力, 林懿伦, 曹东璞, 郑南宁, 王飞跃.平行学习——机器学习的一个新型理论框架.自动化学报, 2017, 43(1):1-8 doi: 10.3969/j.issn.1003-8930.2017.01.001Li Li, Lin Yi-Lun, Cao Dong-Pu, Zheng Nan-Ning, Wang Fei-Yue. Parallel learning——a new framework for machine learning. Acta Automatica Sinica, 2017, 43(1):1-8 doi: 10.3969/j.issn.1003-8930.2017.01.001 [62] 袁勇, 王飞跃.平行区块链:概念、方法与内涵辨析.自动化学报, 2017, 43(10):1703-1712 http://d.old.wanfangdata.com.cn/Periodical/zdhxb201710003Yuan Yong, Wang Fei-Yue. Parallel blockchain:concept, methods and issues. Acta Automatica Sinica, 2017, 43(10):1703-1712 http://d.old.wanfangdata.com.cn/Periodical/zdhxb201710003 -