XYZNOT

งานวิจัย · arXiv 1505.04597

U-Net: Convolutional Networks for Biomedical Image Segmentation

เผยแพร่ cs.CV arXivPDF

อ่านพร้อมคำแปลและ AI

สรุปสามบรรทัด

  1. 🎯 ฝึกโครงข่ายสำหรับการแบ่งส่วนภาพทางการแพทย์ระดับพิกเซลที่มีความแม่นยำสูงแบบ end-to-end โดยใช้ชุดข้อมูลที่มีป้ายกำกับขนาดเล็กมาก
  2. 🔧 สถาปัตยกรรมคอนโวลูชันรูปตัว U แบบสมมาตร ผสาน contracting path สำหรับบริบท และ expansive path พร้อม skip connections เพื่อระบุตำแหน่งที่แม่นยำ ใช้ unpadded valid convolutions การเสริมข้อมูลด้วย elastic deformation และ separation border weight map
  3. 📈 มีประสิทธิภาพเหนือกว่าวิธี sliding-window ในการแข่งขัน ISBI EM segmentation challenge (warping error 0.000353) และชนะเลิศการแข่งขัน ISBI Cell Tracking Challenge 2015 ด้วยค่า IOU 0.9203 บน PhC-U373 และ 0.7756 บน DIC-HeLa

บทคัดย่อ

เป็นที่ยอมรับกันอย่างกว้างขวางว่าการฝึกโครงข่ายประสาทเชิงลึกให้ประสบความสำเร็จนั้น จำเป็นต้องใช้ชุดข้อมูลฝึกสอนที่ผ่านการกำกับป้ายกำกับจำนวนหลายพันตัวอย่าง ในบทความนี้ เรานำเสนอสถาปัตยกรรมโครงข่ายและกลยุทธ์การฝึกสอนที่อาศัยการเสริมข้อมูล (data augmentation) อย่างมีประสิทธิภาพ เพื่อใช้ประโยชน์จากตัวอย่างที่ได้รับการกำกับป้ายกำกับที่มีอยู่อย่างจำกัดให้เกิดประโยชน์สูงสุด โครงสร้างของเครือข่ายประกอบด้วยส่วน contracting path เพื่อรวบรวมบริบทของภาพ และส่วน expanding path แบบสมมาตรที่ช่วยให้สามารถระบุตำแหน่งได้อย่างแม่นยำ เราแสดงให้เห็นว่าโครงข่ายดังกล่าวสามารถฝึกแบบ end-to-end ได้โดยใช้ภาพจำนวนน้อยมาก และมีประสิทธิภาพเหนือกว่าวิธีที่ดีที่สุดเดิม (sliding-window convolutional network) ในการแข่งขัน ISBI challenge สำหรับการแบ่งส่วนโครงสร้างเซลล์ประสาทในภาพจุลทรรศน์อิเล็กตรอน ยิ่งไปกว่านั้น ด้วยโครงข่ายเดียวกันที่ฝึกด้วยภาพจากกล้องจุลทรรศน์แบบใช้แสงส่องผ่าน (phase contrast และ DIC) เราสามารถชนะการแข่งขัน ISBI cell tracking challenge 2015 ในหมวดหมู่เหล่านี้ด้วยคะแนนที่ทิ้งห่างอย่างมีนัยสำคัญ นอกจากนี้โครงข่ายยังประมวลผลได้อย่างรวดเร็ว โดยการแบ่งส่วนภาพขนาด 512x512 ใช้เวลาไม่ถึงหนึ่งวินาทีบน GPU ยุคปัจจุบัน ซอร์สโค้ดฉบับสมบูรณ์ (พัฒนาบน Caffe) และโมเดลที่ผ่านการฝึกแล้วสามารถเข้าถึงได้ที่ http://lmb.informatik.uni-freiburg.de/people/ronneber/u-net

บทคัดย่อต้นฉบับ (ภาษาอังกฤษ)

There is large consent that successful training of deep networks requires many thousand annotated training samples. In this paper, we present a network and training strategy that relies on the strong use of data augmentation to use the available annotated samples more efficiently. The architecture consists of a contracting path to capture context and a symmetric expanding path that enables precise localization. We show that such a network can be trained end-to-end from very few images and outperforms the prior best method (a sliding-window convolutional network) on the ISBI challenge for segmentation of neuronal structures in electron microscopic stacks. Using the same network trained on transmitted light microscopy images (phase contrast and DIC) we won the ISBI cell tracking challenge 2015 in these categories by a large margin. Moreover, the network is fast. Segmentation of a 512x512 image takes less than a second on a recent GPU. The full implementation (based on Caffe) and the trained networks are available at http://lmb.informatik.uni-freiburg.de/people/ronneber/u-net .

คู่มือการอ่าน

ปัญหาและแรงจูงใจ

การแบ่งส่วนภาพทางการแพทย์ (Biomedical image segmentation) จำเป็นต้องอาศัยการจำแนกประเภทและระบุตำแหน่งอย่างละเอียดในระดับพิกเซล (dense, pixel-level localization) มากกว่าการจัดหมวดหมู่ในระดับภาพรวมของภาพ โดยมีความท้าทายหลัก 2 ประการในขอบเขตนี้:

  1. ข้อมูลฝึกสอนที่มีป้ายกำกับกำกับไว้มีอยู่อย่างจำกัด มักมีเพียงไม่กี่สิบภาพแทนที่จะเป็นหลักพันหรือหลักล้านภาพ
  2. วิธีการเรียนรู้เชิงลึกก่อนหน้านี้ เช่น เครือข่ายคอนโวลูชันแบบ sliding-window ที่ใช้แพตช์ (เช่น Cireşan et al.) ประสบปัญหาความซ้ำซ้อนของการคำนวณสูง การอนุมานช้า และเกิดข้อจำกัดในการประนีประนอมระหว่างขนาดบริบทของแพตช์กับความแม่นยำในการระบุตำแหน่ง

คณะผู้วิจัยจึงต้องการพัฒนา fully convolutional network แบบ end-to-end ที่สามารถจับทั้งบริบทภาพรวมและรายละเอียดเฉพาะจุดไปพร้อมกัน ประมวลผลภาพขนาดใหญ่ได้อย่างราบรื่น และสามารถฝึกได้สำเร็จจากข้อมูลที่มีจำกัดอย่างยิ่ง

แนวคิดสำคัญ

  • Symmetric U-Shaped Architecture: ขยายขีดความสามารถของ fully convolutional networks โดยการจับคู่ตัวถอดรหัสเชิงหดตัว (contracting/downsampling encoder) เข้ากับตัวขยายสัญญาณแบบสมมาตร (expansive/upsampling decoder) ที่มีแชนเนลฟีเจอร์จำนวนมากเพื่อส่งผ่านบริบทขึ้นไปสู่ระดับความละเอียดสูง
  • Skip Connections: คัดลอก feature maps ที่มีความละเอียดสูงจาก contracting path แล้วนำไปเชื่อมต่อ (concatenate) กับ feature maps ที่ผ่านการขยายขนาด (upsampled) ใน expansive path (หลังจากการครอบตัด/cropping) ซึ่งช่วยฟื้นฟูรายละเอียดตำแหน่งเชิงพื้นที่ที่สูญเสียไปในระหว่างกระบวนการพูลลิ่ง
  • Overlap-Tile Strategy with Valid Convolutions: โครงข่ายใช้คอนโวลูชันแบบไม่เติมศูนย์ (unpadded convolutions) โดยพื้นที่บริเวณขอบจะถูกทำนายอย่างต่อเนื่องผ่านการแบ่งภาพออกเป็นส่วนย่อยซ้อนทับกัน (tiling) และประมาณค่าบริบทที่ขาดหายไปด้วยการสะท้อนภาพ (mirroring) ซึ่งช่วยแก้ปัญหาข้อจำกัดของหน่วยความจำ GPU เมื่อต้องประมวลผลภาพขนาดใหญ่
  • Elastic Deformation Augmentation: การแปลงรูปภาพแบบยืดหยุ่นที่สมจริงและราบรื่นผ่าน coarse random grids ช่วยให้โครงข่ายเรียนรู้ความคงทนต่อการเปลี่ยนรูป (deformation invariance) ซึ่งลดจำนวนตัวอย่างที่ต้องใช้ในการฝึกสอนลงได้อย่างมหาศาล
  • Separation Border Loss Weighting: การคำนวณแผนผังค่าน้ำหนักระดับพิกเซล (pixel-wise weight map) ไว้ล่วงหน้า เพื่อเพิ่มโทษให้กับข้อผิดพลาดที่เกิดขึ้นบนขอบพื้นหลังระหว่างเซลล์ที่อยู่ติดกันของคลาสเดียวกัน ทำให้สามารถแยกแต่ละอินสแตนซ์ออกจากกันได้อย่างชัดเจน

ระเบียบวิธีวิจัย

โครงสร้างของเครือข่าย

เครือข่ายประกอบด้วย 23 convolutional layers แบ่งออกเป็นสองเส้นทางหลัก:

  • Contracting Path: บล็อกที่เกิดซ้ำของการทำ unpadded convolutions ขนาด สองชั้น (ตามด้วย ReLU ในแต่ละชั้น) และ max pooling ที่มี stride 2 โดยจำนวน feature channels จะเพิ่มขึ้นเป็นสองเท่าในทุกๆ ขั้นของการพูลลิ่ง
  • Expansive Path: บล็อกที่เกิดซ้ำของการขยายขนาดภาพ (upsampling) ตามด้วยคอนโวลูชันขนาด ("up-convolution") ซึ่งลดจำนวน feature channels ลงครึ่งหนึ่ง แล้วนำไป concatenate กับ feature map ที่ถูกครอบตัดมาจาก contracting path ที่มีความละเอียดตรงกัน จากนั้นจึงตามด้วยคอนโวลูชันขนาด สองชั้นและ ReLU
  • Final Layer: คอนโวลูชันขนาด ทำหน้าที่แมปการแทนค่าฟีเจอร์ขนาด 64 แชนเนลไปเป็นคะแนนคลาสเป้าหมายจำนวน คลาสโดยตรง

ฟังก์ชันการสูญเสียและการกำหนดน้ำหนักขอบเขต (Loss Function and Border Weighting)

โครงข่ายถูกฝึกด้วย pixel-wise softmax cross-entropy: โดยที่ แทนค่าการกระตุ้น (activation) ของฟีเจอร์แชนเนล ณ พิกเซล , คือป้ายกำกับคลาสที่เป็น ground truth และ คือแผนผังน้ำหนักของฟังก์ชันการสูญเสียเชิงพื้นที่ (spatial loss weight map)

เพื่อรักษาสมดุลความถี่ระหว่างคลาสและแยกวัตถุที่แตะกันออกจากกัน จึงถูกกำหนดดังนี้: โดยที่ เป็นค่าน้ำหนักเพื่อปรับสมดุลความถี่ของคลาส, คือระยะทางไปยังขอบของเซลล์ที่ใกล้ที่สุด, คือระยะทางไปยังขอบของเซลล์ที่ใกล้เป็นอันดับสอง โดยผู้วิจัยกำหนดให้ และ พิกเซล

การหาค่าเหมาะที่สุด (Optimization)

  • ฝึกด้วยวิธี SGD บนเฟรมเวิร์ก Caffe โดยใช้ batch size เท่ากับ 1 (แผ่นภาพขนาดใหญ่ชิ้นเดียว) และกำหนดโมเมนตัมไว้สูงที่ 0.99
  • กำหนดค่าน้ำหนักเริ่มต้นจากการแจกแจงแบบเกาส์เซียนที่มีค่าเบี่ยงเบนมาตรฐาน เมื่อ คือจำนวน incoming nodes ต่อหนึ่งนิวรอน

ผลการทดลอง

  • ISBI EM Segmentation Challenge (Neuronal Structures):
    • ได้รับอันดับที่ดีที่สุดโดยมี warping error อยู่ที่ , Rand error อยู่ที่ และ pixel error อยู่ที่ (หาค่าเฉลี่ยจากการหมุนภาพ 7 รูปแบบ โดยไม่มีกระบวนการ post-processing เพิ่มเติม)
    • มีประสิทธิภาพเหนือกว่าวิธี state-of-the-art ก่อนหน้าของ Cireşan et al. (warping error , Rand error )
  • ISBI Cell Tracking Challenge 2015:
    • PhC-U373 (Phase Contrast): บรรลุค่าเฉลี่ย Intersection over Union (IOU) อยู่ที่ เปรียบเทียบกับอัลกอริทึมที่ดีเป็นอันดับสองซึ่งได้
    • DIC-HeLa (Differential Interference Contrast): บรรลุค่าเฉลี่ย IOU อยู่ที่ เปรียบเทียบกับอัลกอริทึมที่ดีเป็นอันดับสองซึ่งได้
  • ประสิทธิภาพ: การแบ่งส่วนภาพขนาด ใช้เวลาน้อยกว่าหนึ่งวินาทีบน GPU ยุคใหม่ และเวลาในการฝึกสอนทั้งหมดใช้เวลาประมาณ 10 ชั่วโมงบน NVIDIA Titan GPU (6 GB)

ข้อจำกัดและประเด็นที่ยังเปิดกว้าง

  • Unpadded Convolutions และการครอบตัด: เนื่องจากการคอนโวลูชันเป็นแบบ valid (unpadded) ทำให้ผลลัพธ์ของแต่ละแผ่นภาพมีขนาดเล็กกว่าภาพนำเข้าเสมอ จึงจำเป็นต้องเลือกขนาดภาพนำเข้าที่สามารถหารด้วย 2 ลงตัวในทุกขั้นตอนของการพูลลิ่ง และต้องใช้วิธีสะท้อนภาพที่ขอบ
  • การแยกอินสแตนซ์ด้วยค่าน้ำหนักแบบฮิวริสติก: การแยกเซลล์ที่สัมผัสกันขึ้นอยู่กับแผนผังน้ำหนักทางสัณฐานวิทยาที่สร้างขึ้นด้วยมือ แทนที่จะเป็นการใช้การฝังตัวแทนระดับอินสแตนซ์ (instance embeddings) หรือกิ่งการตรวจจับแบบ end-to-end
  • การออกแบบที่จำเพาะกับภาพ 2D: งานวิจัยนี้มุ่งเน้นไปที่ภาพตัดขวาง 2 มิติ โดยเปิดช่องให้มีการศึกษาต่อยอดเพื่อนำไปปรับใช้กับข้อมูลภาพทางการแพทย์เชิงปริมาตร 3 มิติต่อไปในอนาคต

คำศัพท์สำคัญ

contracting path
ครึ่งหนึ่งของ U-Net ในส่วน encoder ซึ่งใช้คอนโวลูชันขนาด 3x3 แบบ unpadded ร่วมกับ max pooling ซ้ำๆ เพื่อเก็บรวบรวมบริบทและสกัดการแทนค่าฟีเจอร์ระดับสูง
expansive path
ครึ่งหนึ่งของ U-Net ในส่วน decoder แบบสมมาตร ที่ทำหน้าที่ขยายขนาด feature maps ลดมิติแชนเนล และสร้างผลการแบ่งส่วนภาพที่มีความแม่นยำเชิงพื้นที่ขึ้นมาใหม่
up-convolution
คอนโวลูชันขนาด 2x2 ที่นำมาใช้หลังจากกระบวนการขยายขนาดภาพ (upsampling) ซึ่งจะลดจำนวน feature channels ลงครึ่งหนึ่งก่อนการนำไป concatenate
overlap-tile strategy
แนวทางการอนุมานและการฝึกสอนที่แบ่งภาพขนาดใหญ่ใดๆ ออกเป็นชิ้นภาพซ้อนทับกัน และสะท้อนขอบภาพเพื่อสร้างบริบทที่จำเป็นสำหรับการคอนโวลูชันแบบ unpadded
elastic deformations
เทคนิคการเสริมข้อมูลที่สร้างเวกเตอร์การกระจัดที่ราบรื่นบนกริดแบบหยาบผ่าน bicubic interpolation เพื่อจำลองความแปรผันของเนื้อเยื่อทางชีวภาพ
weight map
ฟังก์ชันกำหนดน้ำหนักการสูญเสียที่แปรผันตามพื้นที่ โดยรวมการปรับสมดุลความถี่คลาสและการลงโทษแบบเอ็กซ์โพเนนเชียลตามระยะห่างไปยังเซลล์สองเซลล์ที่ใกล้ที่สุด เพื่อแยกวัตถุที่สัมผัสกัน
warping error
เมทริกซ์ประเมินผลการแบ่งส่วนภาพในการแข่งขัน ISBI EM challenge ซึ่งใช้วัดความถูกต้องเชิงทอพอโลยี เช่น ความต่อเนื่องของเยื่อหุ้มเซลล์ประสาท
fully convolutional network
โครงข่ายประสาทที่ประกอบด้วยกระบวนการคอนโวลูชันและพูลลิ่งทั้งหมดโดยไม่มี fully connected layers ทำให้สามารถทำนายผลแบบละเอียดบนอินพุตที่มีขนาดแปรผันได้

คำถามที่พบบ่อย

เหตุใด U-Net จึงต้องครอบตัด (crop) feature maps ก่อนที่จะทำ concatenation ใน skip connections?

เนื่องจาก U-Net ใช้การคอนโวลูชันแบบ valid (unpadded) ทำให้การคอนโวลูชันแต่ละครั้งลดขนาดของ feature map ลงตามขอบพิกเซล การครอบตัด feature map จากฝั่ง contracting path จึงจำเป็นเพื่อให้มิติเชิงพื้นที่มีขนาดเท่ากับ feature map ที่ถูก upsample มาสำหรับการนำมารวมกัน

U-Net จัดการกับขอบของภาพขนาดใหญ่ระหว่างการอนุมานอย่างไร?

U-Net ใช้ overlap-tile strategy โดยการทำนายพื้นที่ด้านในที่ถูกต้องของแผ่นภาพ จะต้องป้อนพิกเซลบริบทโดยรอบเป็นอินพุต และหากมีข้อมูลส่วนใดที่ขาดหายไปเกินขอบเขตภาพ จะใช้วิธีประมาณค่าด้วยการสะท้อนภาพ (mirroring)

U-Net แยกเซลล์ที่สัมผัสกันออกจากกันได้อย่างไร?

ใช้ weight map ที่คำนวณไว้ล่วงหน้าในฟังก์ชันการสูญเสีย ซึ่งจะเพิ่มโทษแบบเอ็กซ์โพเนนเชียลระดับสูงแก่พิกเซลพื้นหลังที่อยู่ระหว่างขอบเขตของเซลล์ที่ใกล้ที่สุดและเซลล์ที่ใกล้เป็นอันดับสอง บังคับให้โครงข่ายรักษารอยต่อเส้นขอบบางๆ เพื่อแยกเซลล์ออกจากกัน

เหตุใดจึงตั้งค่า batch size เป็น 1 ในระหว่างการฝึก?

ผู้วิจัยเลือกใช้แผ่นภาพขนาดใหญ่แทนการใช้ batch size ขนาดใหญ่ เพื่อเพิ่มบริบทของภาพให้ได้มากที่สุดภายใต้หน่วยความจำ GPU ที่มีอยู่ (6 GB NVIDIA Titan) และชดเชยการใช้แผ่นภาพเดี่ยวด้วยการกำหนดโมเมนตัมของ SGD ให้สูงถึง 0.99

คำอธิบายในหน้านี้เขียนโดย AI จากงานวิจัยและอาจมีข้อผิดพลาด โปรดอ่านต้นฉบับเพื่อดูรายละเอียด

อ่านพร้อมคำแปลและ AI