分割

勾勒膜、细胞器、丝状结构与大分子,把断层图转化为可解读的细胞结构图谱。

分割 (segmentation) 把断层图划分成一个个有意义的结构——标出哪些体素属于膜、细胞器、细胞骨架丝、大分子复合物,哪些只是背景。原始重构是一团万物交叠的稠密灰度体,分割则把它变成一张可以可视化、可以测量、可以定量的标注图谱。这是 Cryo-ET 中通用的分析任务,对各类细胞断层图都适用,与具体的下游目标无关。

可以这样理解它的位置:重构告诉你每个体素有多亮,分割告诉你每个体素是什么。前者是物理量(散射密度),后者是语义标签(膜 / 微管 / 核糖体 / 背景)。一张 100031000^3 量级的断层图含约 10910^9 个体素,逐个人工判读不现实,所以分割的核心问题始终是:如何把”专家看一眼就能认出膜”这件事,变成一套能自动跑遍全体素的规则或函数。

灰度断层切片
分割掩码
结构覆盖率: 87%噪声误纳: 14%

阈值过高会漏掉淡弱的膜,过低会把背景噪声当成结构纳入——单一全局阈值无法同时兼顾,这正是固定阈值在不均匀衬度下失效的根源。

最朴素的分割形式是阈值分割:定一个密度值,把所有比它更密(在反转灰度中更暗)的体素都标为结构。在信噪比理想、衬度均匀的体上,单一阈值就能勾出清晰的膜;可真实断层图的强度会随厚度、欠焦和样品深度而漂移,同一个全局阈值在这里正合适,到了别处就要么偏高、要么偏低。阈值偏高会漏掉淡弱的膜,偏低又会把背景噪声卷进掩码——两头根本顾不过来。

举个具体的数:设结构体素的真实密度约为 1.01.0(任意单位),背景约为 0.00.0,而噪声标准差 σ0.4\sigma \approx 0.4。要把背景误判压到 5%5\% 以下,阈值得设在约 1.65σ0.661.65\sigma \approx 0.66 以上;可一旦某区域因厚度增加使有效衬度掉到 0.70.7,这条线就贴着信号本身了,淡膜随即成片丢失。这正是单一标量阈值的根本困境:它只有一个旋钮,却要同时压住噪声、又留住弱信号,而这两个目标在低信噪比下直接冲突。

分割之难,源于贯穿断层成像的同一批原因。低信噪比模糊了物体间的边界;缺失楔形沿电子束轴拉长并削弱结构——近乎垂直于缺失楔形方向的膜可能淡化甚至消失;细胞内的分子拥挤又把许多重叠密度塞进很小的体积。其中缺失楔形尤其棘手:它不是均匀地降低信噪比,而是方向性地抹掉特定取向的特征,于是同一张膜会”一段清楚、一段消失”,纯靠局部密度的方法很难补回这段缺口。

常用方法大致分几类。手动分割由专家一层层描画结构,准确却缓慢,很难扩展到大数据集。基于阈值的方法按密度值标注体素,有时再搭上局部类膜曲率之类的几何判据;它快,但应付不了真实断层图中不均的衬度与噪声。深度学习分割则一般用在标注样本上训练好的卷积网络,如今已成主流:网络学会识别各类目标长什么样,在整张断层图上产出稠密的标签,对不同噪声水平的泛化能力远胜固定阈值。EMAN2 的 tomoseg 等常用工具就用稀疏的人工标注训练一个卷积网络,去标出膜、细胞器和丝状结构;此外还有专门针对膜双层,或线粒体、内质网等细胞器的分割流程。

深入

把体素级分割写成一个函数 ff:它在每个位置 x\mathbf{x} 处,不只看该点强度,而是吃进一整块局部邻域 v(x+u)v(\mathbf{x} + \mathbf{u})u\mathbf{u} 跑遍一个小窗口),输出该点属于结构的概率 p(x)=f({v(x+u)})p(\mathbf{x}) = f\big(\{v(\mathbf{x}+\mathbf{u})\}\big)。阈值法是这个框架里最退化的特例——窗口缩成单点、ff 就是一个阶跃函数 f(v)=1[v>τ]f(v) = \mathbb{1}[v > \tau],所以它对噪声毫无招架之力:单个体素的强度本身就被 σ\sigma 量级的噪声污染。

卷积网络之所以更强,在于它学到的 ff 用整个邻域投票。其第一层就是卷积

(kv)(x)=uk(u)v(x+u),(\,k * v\,)(\mathbf{x}) = \sum_{\mathbf{u}} k(\mathbf{u})\, v(\mathbf{x}+\mathbf{u}),

其中 kk 是学到的核(一组权重),u\mathbf{u} 遍历核的支撑范围,vv 是输入断层图。这一步用滤波器把”膜双层那种明—暗—明的横剖纹理”这类局部模式编码出来;逐层堆叠后,感受野扩大,网络便能用上下文(这条暗线是连续延展的双层,还是偶然路过的丝)来消歧。训练时通常最小化逐体素的交叉熵

L=x[y(x)logp(x)+(1y(x))log(1p(x))],\mathcal{L} = -\sum_{\mathbf{x}} \big[\, y(\mathbf{x})\log p(\mathbf{x}) + (1-y(\mathbf{x}))\log(1-p(\mathbf{x})) \,\big],

y(x){0,1}y(\mathbf{x}) \in \{0,1\} 是该体素的人工标签,p(x)p(\mathbf{x}) 是网络预测的结构概率。关键之处在于:稀疏标注的几个面就足以约束 ff,因为同一类结构在全体内反复出现同样的局部纹理,网络一旦学到这套纹理,就能把它泛化到从未标注过的区域。

直觉

分割在体中每一点回答的是”这是什么”,而非”它有多亮”。阈值只看强度、会被噪声欺骗;训练过的网络学到了把膜双层与路过的丝状结构区分开的纹理与上下文,因此即便仅凭密度难以判断,也能标出结构。

输入越干净,每种方法都会受益,因为无论人还是机器,在信噪比更高的体上都能画出更清晰的边界——这正是 CryoGEN 等学习型复原方法摆在分割之前会有用的一个原因。复原把缺失楔形伪影与噪声压下去之后,膜那段”消失的弧”往往能接回来,阈值与网络都更容易给出连贯掩码。得到的标签支撑着定量细胞生物学——膜面积、细胞器体积、丝网密度、复合物间距这些都从掩码上直接量得——也与颗粒挑选原位结构生物学等分子层面的分析互为补充:分割给出”细胞器在哪、膜在哪”的语境,挑选则在这语境里定位单个分子。当下游把同一类大分子的众多拷贝(典型在 6464128128 体素见方的子断层图盒子中各取一份)对齐叠加时,对约 10410^4 份拷贝做子断层图平均可把随机噪声压低约 104=100\sqrt{10^4}=100 倍,即换来约 100×100\times 的信噪比提升。

← 结构分析