LOGISMOS Cost Function Design MICCAI 2010 Tutorial: Graph Algorithmic Techniques for Biomedical Image Segmentation Mona K. Garvin, Ph.D. The University of Iowa
Overview Part I A user s perspective of LOGISMOS cost function design (no graphs!) input cost functions + constraints Part II Representation of LOGISMOS cost functions in graphs 40 50 40 50 10 0 10 0 10 10 0 0 60 40 10 20 10 40 50 20 60 10 40 10 50 optimal surface set 10 30 10 50 50 40 50 40 10 10 131 50 40 50 40
Part I: A user s perspective of LOGISMOS cost function design (no graphs!)
Two categories of cost functions On-surface costs In-region costs
Two categories of cost functions On-surface costs In-region costs On-surface costs re ect the unlikeliness of belonging to particular surfaces.
On-surface costs re ect the unlikeliness of belonging to particular surfaces Each voxel has n on-surface costs corresponding to the unlikeliness of belonging to each surface. Cost of a surface f i(x, y): C fi (x,y) = {(x,y,z) z=f i (x,y)} Cost of a surface set {f 1(x, y),..., fn(x, y)}: n C {f1 (x,y),...,f n (x,y)} = i=1 c surfi (x, y, z) C fi (x,y)
Example using only on-surface costs 1 2 3 4 5 6 7 Find indicated 7 surfaces in OCT image using only on-surface costs. OCT Image
Example using only on-surface costs 1 2 3 4 5 6 7 OCT Image Encourage dark-to-bright transitions Encourage bright-to-dark transitions
Example using only on-surface costs Seven cost images: 1 2 3 4 5 6 7 OCT Image
Example using only on-surface costs 1 2 3 4 5 6 7 OCT Image D-B 1 Seven cost images:
Example using only on-surface costs 1 2 3 4 5 6 7 D-B B-D 1 2 Seven cost images: OCT Image
Example using only on-surface costs 1 Seven cost images: D-B B-D B-D 2 3 4 5 6 7 OCT Image 1 2 3
1 Example using only on-surface costs Seven cost images: D-B B-D B-D D-B 2 3 4 5 1 2 3 4 6 7 OCT Image
1 Example using only on-surface costs Seven cost images: D-B B-D B-D D-B 2 3 4 5 1 2 3 4 6 7 B-D OCT Image 5
1 Example using only on-surface costs Seven cost images: D-B B-D B-D D-B 2 3 4 5 6 7 1 2 B-D D-B 3 4 OCT Image 5 6
1 Example using only on-surface costs Seven cost images: D-B B-D B-D D-B 2 3 4 5 6 7 1 2 B-D D-B 3 B-D 4 OCT Image 5 6 7
1 Example using only on-surface costs Seven cost images: D-B B-D B-D D-B 2 3 4 5 6 7 1 2 B-D D-B 3 B-D 4 OCT Image 5 6 7 + smoothness constraints + thickness constraints
Example using only on-surface costs A non-optimal set of surfaces 1 Seven cost images: D-B B-D B-D D-B 2 3 4 5 6 7 1 2 B-D D-B 3 B-D 4 OCT Image 5 6 7
Example using only on-surface costs 1 2 3 4 5 6 7 OCT Image Result The optimal set of surfaces
Two categories of cost functions (x,y,z) R 2 c reg2 (x, y, z) On-surface costs In-region costs (x,y,z) R 1 c reg1 (x, y, z) (x,y,z) R 0 c reg0 (x, y, z) In-region costs re ect the unlikeliness of belonging to particular regions.
In-region costs re ect the unlikeliness of belonging to particular regions Having n surfaces corresponds to n+1 regions. Each voxel has n+1 in-region costs corresponding to the unlikeliness of belonging to each region. Cost of a region: C Ri = (x,y,z) R i c regi (x, y, z) Cost of a surface set {f 1(x, y),..., fn(x, y)}: n C {f1 (x,y),f 2 (x,y),...,f n (x,y)} = i=0 C Ri
Example using only in-region costs 1 2 4 6 7 3 5 OCT Image (labeled surfaces) Find indicated 7 surfaces in OCT image using only in-region costs.
Example using only in-region costs 0 1 2 3 4 5 6 7 OCT Image (labeled regions) Find indicated 7 surfaces in OCT image using only in-region costs.
Example using only in-region costs 0 1 2 3 4 5 6 7 OCT Image (labeled regions) Eight cost images:
Example using only in-region costs 0 1 2 3 4 5 6 7 OCT Image (labeled regions) Eight cost images: D D 0 3 D D 5 7 (variations to emphasize dark regions)
Example using only in-region costs 0 1 2 3 4 5 6 7 OCT Image (labeled regions) Eight cost images: D B D 0 1 3 D B D 5 6 7 (variations to emphasize bright regions)
Example using only in-region costs Eight cost images: D B M D 0 1 2 3 0 4 1 2 3 5 M D B D 6 7 OCT Image (labeled regions) 4 5 6 7 (variations to emphasize medium regions)
Example using only in-region costs 0 1 2 3 4 5 6 7 OCT Image (labeled regions) Eight cost images: D B M D 0 1 2 3 M D B 4 5 6 + smoothness constraints + thickness constraints 7 D
Example using only in-region costs A non-optimal set of surfaces Eight cost images: D B M D 0 1 2 3 M D B D OCT Image (labeled regions) 4 5 6 7
Example using only in-region costs 1 2 3 4 5 6 7 OCT Image Result The optimal set of surfaces
Cost function using both on-surface and in-region costs (x,y,z) R 2 c reg2 (x, y, z) {(x,y,z) z=f 2 (x,y)} c surf 2 (x, y, z) (x,y,z) R 1 c reg1 (x, y, z) (x,y,z) R 0 c reg0 (x, y, z) {(x,y,z) z=f 1 (x,y)} c surf 1 (x, y, z)
Cost function using both on-surface and in-region costs Surface set cost function: C {f1 (x,y),f 2 (x,y),...,f n (x,y)} = n n C fi (x,y) + i=1 i=0 C Ri (x,y,z) R 2 c reg2 (x, y, z) (x,y,z) R 1 c reg1 (x, y, z) (x,y,z) R 0 c reg0 (x, y, z) {(x,y,z) z=f 2 (x,y)} c surf 2 (x, y, z) {(x,y,z) z=f 1 (x,y)} c surf 1 (x, y, z) On-surface costs: C fi (x,y) = c surfi (x, y, z) {(x,y,z) z=f i (x,y)} In-region costs: C Ri = c regi (x, y, z) (x,y,z) R i
Example using both on-surface and in-region costs 1 2 3 4 5 6 7 Find indicated 7 surfaces in OCT image using both on-surface and in-region costs. OCT Image
Example using both on-surface and in-region costs Seven on-surface and eight in-region cost images: D-B B-D B-D D-B B-D D-B B-D surf1 surf2 surf3 surf4 surf5 surf6 surf7 D B M D M D B D reg0 reg1 reg2 reg3 reg4 reg5 reg6 reg7
Example using both on-surface and in-region costs 1 2 3 4 5 6 7 OCT Image Result The optimal set of surfaces
Part II: Representation of LOGISMOS cost functions in graphs Graph representation
Goal: ensure cost of surface set corresponds (within a constant) to cost of corresponding closed set Surface set cost: Closed set cost: n C fi (x,y) + n C Ri n C fi (x,y) + n C Ri + K i=1 i=0 i=1 i=0 Minimum surface set cost Minimum closed set Graph representation
Two categories of cost functions On-surface costs In-region costs Graph representation
Two categories of cost functions On-surface costs In-region costs Graph representation
On-surface cost representation (x,y,z) R 2 c reg2 (x, y, z) {(x,y,z) z=f 2 (x,y)} c surf 2 (x, y, z) (x,y,z) R 1 c reg1 (x, y, z) (x,y,z) R 0 c reg0 (x, y, z) {(x,y,z) z=f 1 (x,y)} c surf 1 (x, y, z) Graph representation
On-surface cost representation node weight: w on surfi (x, y, z) = { c surfi (x, y, z) if z =0 c surfi (x, y, z) c surfi (x, y, z 1) otherwise Graph representation
Graph representation of on-surface costs (toy example) 40 50 40 50 10 0 10 0 10 10 0 0 60 40 10 20 10 40 50 20 60 10 40 10 50 10 30 10 50 10 10 50 40 50 40 cost image 50 40 50 40 graph representation Graph representation
Graph representation of on-surface costs (toy example) 40 50 40 50 10 0 10 0 10 10 0 0 60 40 10 20 10 40 50 20 60 10 surf. cost=50 40 10 50 10 30 10 50 10 10 50 40 50 40 cost image 50 40 50 40 graph representation Graph representation
Graph representation of on-surface costs (toy example) 40 50 40 50 10 0 10 0 10 10 0 0 60 40 10 20 10 40 50 20 60 10 surf. cost=50 40 10 50 10 30 10 50 CS cost=50 10 10 50 40 50 40 cost image 50 40 50 40 graph representation Graph representation
Graph representation of on-surface costs (toy example) 40 50 40 50 60 40 Problem: empty closed set less expensive! 10 0 10 0 10 10 0 0 10 20 10 40 50 20 60 10 surf. cost=50 40 10 50 10 30 10 50 CS cost=50 10 10 50 40 50 40 cost image 50 40 50 40 graph representation Graph representation
Graph representation of on-surface costs (toy example) 40 50 40 50 60 40 Ensure non-empty closed set will be minimum. 10 0 10 0 10 10 0 0 10 20 10 40 50 20 60 10 10 30 10 50 50 40 50 40 cost image subtract (sum of last row + 1) = 181 40 10 50 10 10 50 40 50 40 graph representation Graph representation
Graph representation of on-surface costs (toy example) 40 50 40 50 10 0 10 0 10 10 0 0 60 40 10 20 10 40 50 20 60 10 40 10 50 10 30 10 50 50 40 50 40 cost image 50-181 10 10 131 50 40 50 40 graph representation Graph representation
Graph representation of on-surface costs (toy example) 40 50 40 50 10 0 10 0 10 10 0 0 60 40 10 20 10 40 50 20 60 10 10 30 10 50 50 40 50 40 cost image surf. cost=50 CS cost= K + 50 (K = -181) 40 10 50 10 10 131 50 40 50 40 graph representation Graph representation
Two categories of cost functions On-surface costs In-region costs Graph representation
In-region cost representation (x,y,z) R 2 c reg2 (x, y, z) {(x,y,z) z=f 2 (x,y)} c surf 2 (x, y, z) (x,y,z) R 1 c reg1 (x, y, z) (x,y,z) R 0 c reg0 (x, y, z) {(x,y,z) z=f 1 (x,y)} c surf 1 (x, y, z) Graph representation
In-region cost representation (x,y,z) R2 creg 2 (x,y,z) R1 creg 1 (x, y, z) (x, y, z) node weight (in subgraph associated with surface i) w in regi (x, y, z) =c regi 1 (x, y, z) c regi (x, y, z) (region below) (region above) (x,y,z) R0 creg 0 (x, y, z) + (x,y,z) R 2 c reg2 (x, y, z) + (x,y,z) R 1 c reg2 (x, y, z) + _ (x,y,z) R 1 c reg2 (x, y, z) _ (x,y,z) R 0 c reg2 (x, y, z) (x,y,z) R 0 c reg2 (x, y, z) used Used with surface surface 2 2 + (x,y,z) R 1 c reg1 (x, y, z) + _ + (x,y,z) R 0 c reg1 (x, y, z) (x,y,z) R 0 c reg1 (x, y, z) used with surface 1 Used with surface 1 (x,y,z) R 0 c reg0 (x, y, z) Graph representation
In-region cost representation node (x,y,z) R2 creg (x, y, z) 2 (x,y,z) R1 creg 1 (x, y, z) weight (in subgraph associated with surface i) w in regi (x, y, z) =c regi 1 (x, y, z) c regi (x, y, z) (region below) (region above) (x,y,z) R0 creg 0 (x, y, z) + (x,y,z) R 2 c reg2 (x, y, z) + (x,y,z) R 1 c reg2 (x, y, z) + _ (x,y,z) R 1 c reg2 (x, y, z) _ (x,y,z) R 0 c reg2 (x, y, z) (x,y,z) R 0 c reg2 (x, y, z) used Used with surface surface 2 2 + (x,y,z) R 1 c reg1 (x, y, z) + _ + (x,y,z) R 0 c reg1 (x, y, z) closed set (CS) costs (x,y,z) R 0 c reg1 (x, y, z) used with surface 1 Used with surface 1 (x,y,z) R 0 c reg0 (x, y, z) constant Graph representation
Graph representation of in-region costs (toy example) 10 10 40 40 0 0 10 10 40 40 0 0 10 10 40 40 10 10 40 40 10 10 0 0 10 10 0 0 Region 2 Region 1 Region 0 Graph 2 Graph 1 Graph representation
Graph representation of in-region costs (toy example) 10 10 40 40 0 0 10 10 40 40 0 0 10 10 40 40 10 10 40 40 10 10 0 0 10 10 0 0 Region 2 Region 1 Region 0 Graph 2 Graph 1 Region Cost = 120 CS Cost = -320 Graph representation
Graph representation of in-region costs (toy example) 10 10 40 40 0 0 10 10 40 40 0 0 10 10 40 40 10 10 40 40 10 10 0 0 10 10 0 0 Region 2 Region 1 Region 0 Graph 2 Graph 1 Total from 2 = 440 = -K CS Cost = - 320 = 120-440 Graph representation
Graph representation of in-region costs (toy example) 10 10 40 40 0 0 10 10 40 40 0 0 10 10 40 40 10 10 40 40 10 10 0 0 10 10 0 0 Region 2 Region 1 Region 0 Graph 2 Graph 1 Total from 2 = 440 = -K K=-440 CS Cost = - 320 = 120 + K Graph representation
Graph representation of in-region costs (toy example) 10 10 40 40 0 0 10 10 40 40 0 0 10 10 40 40 10 10 40 40 10 10 0 0 10 10 0 0 Region 2 Region 1 Region 0 Graph 2 Graph 1 Region Cost = 120 K=-440 CS Cost = - 320 = 120 + K Graph representation
Summary and references Summary
Summary Two major cost function types for a set of surfaces: On-surface costs re ect the unlikeliness of belonging to particular surfaces. In-region costs re ect the unlikeliness of belonging to particular regions. The underlying optimality of the LOGISMOS approach allows one to design cost functions without having to think about the graph representation. The cost of a set of surfaces (using on-surface and inregion cost functions) is re ected in the vertex weights of the graph (so that the cost of the closed set corresponds, within a constant, to the cost of the set of surfaces). Summary
References K. Li, X. Wu, D. Z. Chen, and M. Sonka, Optimal surface segmentation in volumetric images A graph-theoretic approach, IEEE Trans. Pattern Anal. Mach. Intell., vol. 28, no. 1, pp. 119 134, Jan. 2006. M. Haeker (Garvin), X. Wu, M. D. Abràmoff, R. Kardon, and M. Sonka, Incorporation of regional information in optimal 3-D graph search with application for intraretinal layer segmentation of optical coherence tomography images, in IPMI 2007, LNCS, vol. 4584, Springer, 2007, pp. 607 618. M. K. Garvin, M. D. Abràmoff, X. Wu, S. R. Russell, T. L. Burns, and M. Sonka, Automated 3-D intraretinal layer segmentation of macular spectral-domain optical coherence tomography images, IEEE Trans. Med. Imag., 2009, vol. 28, no. 9, pp. 1436-1447, Sept. 2009 Y. Yin, X. Zhang, R. Williams, X. Wu, D. D. Anderson, M. Sonka, LOGISMOS Layered Optimal Graph Image Segmentation of Multiple Objects and Surfaces: Cartilage Segmentation in the Knee Joint, IEEE Trans. Med. Imag., in press. Summary