ยานยนต์ไร้คนขับเพียงคันเดียวสามารถสร้างข้อมูล point cloud ได้หลายร้อยเมกะไบต์ในทุกๆ นาที เซนเซอร์ Lidar ยิงพัลส์เลเซอร์ออกไปหลายล้านครั้ง และสัญญาณสะท้อนกลับแต่ละครั้งจะกลายเป็นพิกัดเชิงพื้นที่ที่แม่นยำ ผลลัพธ์ที่ได้คือภาพจำลองสามมิติของโลกที่มีความหนาแน่นสูง มันมีความสวยงามในด้านความแม่นยำ แต่ก็สร้างภาระอย่างหนักในด้านขนาดของข้อมูล
ข้อมูล point cloud แบบดิบไม่สามารถบีบอัดได้ดีด้วย codec แบบดั้งเดิม ต่างจากรูปภาพที่ JPEG สามารถใช้ประโยชน์จากรูปแบบทางสายตา หรือวิดีโอที่ H.264 สามารถติดตามการเคลื่อนที่ระหว่างเฟรมได้ ข้อมูล point cloud คือการกระจายตัวของค่า x, y และ z ที่ไม่มีลำดับ ไม่มีโครงข่าย (grid) ตามธรรมชาติ ไม่มีพิกเซลที่ซ้ำซ้อน และไม่มีทางลัดที่ง่ายดาย ไฟล์จึงมีขนาดใหญ่ขึ้นเรื่อยๆ การจัดเก็บข้อมูลมีราคาแพงขึ้น และเครือข่ายก็เกิดการติดขัด สำหรับอุตสาหกรรมที่จำเป็นต้องเคลื่อนย้ายข้อมูลนี้อย่างรวดเร็วหรือจัดเก็บในราคาประหยัด ภาระนี้ถือเป็นเรื่องจริงที่ต้องเผชิญ
งานวิจัยล่าสุดเกี่ยวกับ Deep AutoEncoder Geometry Compression นำเสนอแนวทางที่แตกต่างออกไป แทนที่จะมองว่า point cloud เป็นเพียงไฟล์สถิตที่ต้องนำมาบีบอัด (zip) แนวทางนี้กลับมองว่าพวกมันคือโครงสร้างที่สามารถเรียนรู้ได้ โดยใช้ deep learning เพื่อค้นหาความกะทัดรัดที่ซ่อนอยู่ภายในรูปทรงที่ซับซ้อน
ภาระของข้อมูลเรขาคณิตแบบดิบ
หากคุณเคยเปิดไฟล์ point cloud ที่มีความละเอียดสูง คุณจะเห็นปัญหานี้ด้วยตัวเอง การสแกนพื้นที่หนึ่งบล็อกในเมืองอย่างละเอียดสามารถมีขนาดถึงหลายกิกะไบต์ได้อย่างง่ายดาย การส่งข้อมูลเหล่านั้นจากกลุ่มยานยนต์กลับไปยังเซิร์ฟเวอร์กลางไม่เพียงแต่จะล่าช้า แต่ยังมีค่าใช้จ่ายสูงอีกด้วย วิศวกรที่ทำงานในระบบเรียลไทม์มักต้องเผชิญกับการตัดสินใจที่ยากลำบาก: ระหว่างการรักษาความละเอียดไว้แต่ต้องแลกกับความหน่วง (latency) หรือการลดความละเอียด (downsample) อย่างหนักจนสูญเสียรายละเอียดทางเรขาคณิตที่สำคัญไป
เครื่องมือบีบอัดมาตรฐานมักล้มเหลวในกรณีนี้เพราะพวกมันคาดหวังโครงสร้างข้อมูล ไฟล์ข้อความมีคำที่ซ้ำกัน รูปภาพมีระดับสี (gradient) ที่ต่อเนื่อง แต่ point cloud ไม่มีทั้งสองอย่าง ข้อมูลจะเบาบางในพื้นที่ว่าง และจะหนาแน่นอย่างยิ่งในจุดที่มีรายละเอียดซับซ้อน จุดสองจุดที่อยู่ใกล้กันอาจเป็นส่วนหนึ่งของวัตถุที่แตกต่างกันโดยสิ้นเชิง หากปราศจากความเข้าใจเชิงความหมาย (semantic understanding) อัลกอริทึมทั่วไปก็ทำได้เพียงแค่สลับตำแหน่งบิตไปมาและหวังว่าผลลัพธ์จะออกมาดี ซึ่งผลลัพธ์ที่ได้นั้นก็น้อยนิดมาก
นี่คือจุดที่ neural compression เข้ามามีบทบาท แทนที่จะมอง point cloud เป็นเพียงบิตข้อมูลดิบ โมเดลแบบ deep learning จะเรียนรู้ว่าเรขาคณิตนั้นแสดงถึงอะไรกันแน่
Deep AutoEncoders ย่อขนาด Point Clouds ได้อย่างไร
สถาปัตยกรรมนี้มีความเรียบง่ายในเชิงแนวคิด และความเรียบง่ายนั้นคือจุดแข็งของมัน Deep AutoEncoder แบ่งออกเป็นสองส่วน ส่วนแรกคือ encoder ซึ่งจะรับข้อมูล point cloud ทั้งหมดมาแล้วกลั่นกรองให้เล็กลง มันไม่ได้เพียงแค่ลบจุดออกไปแบบสุ่ม แต่เรียนรู้ที่จะดึงเอาแก่นแท้ทางเรขาคณิตออกมา ผลลัพธ์ของขั้นตอนนี้คือ latent representation ซึ่งเป็นเวกเตอร์ที่กระชับหรือชุดพารามิเตอร์ขนาดเล็กที่สามารถเก็บข้อมูลรูปร่าง เส้นขอบ และความสัมพันธ์เชิงพื้นที่ของวัตถุดั้งเดิมเอาไว้ได้
ให้ลองนึกภาพเหมือนประติมากรที่กำลังศึกษาอาคารหลังหนึ่ง แล้วเขียนชุดคำสั่งลงไป คำสั่งเหล่านั้นอาจจะสั้นมาก แต่หากอยู่ในมือของผู้ที่เหมาะสม พวกเขาสามารถสร้างสิ่งที่ดูคล้ายคลึงกับของเดิมขึ้นมาใหม่ได้อย่างน่าทึ่ง
ส่วนที่สองคือ decoder ซึ่งจะนำ latent representation ที่ถูกบีบอัดแล้วนั้นมาสร้างจุดขึ้นมาใหม่ กลุ่มจุดที่สร้างขึ้นใหม่จะไม่เหมือนกับของเดิมทุกประการ พื้นผิวที่ละเอียดบางส่วนอาจจะดูเรียบขึ้น และจุดที่ผิดปกติ (outliers) ขนาดเล็กจะหายไป นี่คือการบีบอัดแบบสูญเสียข้อมูล (lossy compression) และมันก็ยอมรับความจริงในข้อนี้ เป้าหมายไม่ใช่ความแม่นยำที่สมบูรณ์แบบ แต่คือการรักษาความรูปร่างและโครงสร้างที่อัลกอริทึมในขั้นตอนถัดไป (downstream algorithm) จำเป็นต้องใช้ ในขณะที่กำจัดสัญญาณรบกวน (noise) และข้อมูลที่ซ้ำซ้อนซึ่งเซนเซอร์มักจะเก็บมาโดยเลี่ยงไม่ได้
สิ่งที่ทำให้กระบวนการนี้ได้ผลคือขั้นตอนการฝึกฝน (training process) โดย autoencoder จะถูกแสดงรูปทรงนับพันรูปแบบจนกระทั่งมันเรียนรู้ว่าคุณลักษณะใดที่จำเป็นและคุณลักษณะใดที่สามารถประมาณค่าได้ เมื่อเวลาผ่านไป มันจะพัฒนา "คลังคำศัพท์" ทางเรขาคณิตขึ้นมาเองโดยนัย ไม่ว่าจะเป็นเส้นโค้ง ระนาบ มุม หรือความสมมาตร ทั้งหมดจะถูกผนวกเข้าไว้ในตัวโมเดล เมื่อมันเห็น point cloud ใหม่ มันจึงไม่ได้บีบอัดแบบสุ่มสี่สุ่มห้า แต่บีบอัดอย่างชาญฉลาด
สิ่งที่ถูกรักษาไว้ และสิ่งที่สูญหายไป
การบีบอัดแบบสูญเสียข้อมูลมักจะมีการแลกเปลี่ยน (trade-offs) เสมอ และเราควรยอมรับความจริงในเรื่องนี้ กลุ่มจุดที่สร้างขึ้นใหม่มักจะมีจำนวนจุดรวมน้อยลง ความขรุขระของพื้นผิวอาจจะดูเรียบขึ้น เสาอากาศบางๆ หรือป้ายถนนที่อยู่ไกลออกไปอาจจะเบลอไปกับพื้นหลัง หากแอปพลิเคชันของคุณต้องอาศัยการตรวจจับลวดทุกมิลลิเมตร การบีบอัดอย่างหนักอาจมีความเสี่ยงได้
แต่สำหรับงานหลายอย่าง การแลกเปลี่ยนนี้ถือว่าคุ้มค่า เพราะดวงตามนุษย์ไม่ได้อ่านค่าพอยต์คลาวด์ (point cloud) แต่อัลกอริทึมต่างหากที่ทำ ตัววางแผนเส้นทาง (path planner) สำหรับหุ่นยนต์ต้องการเพียงแค่รู้ว่าผนังอยู่ตรงไหน ส่วนตัวตรวจจับวัตถุ (object detector) สำหรับรถยนต์ก็ต้องการเพียงแค่เรขาคณิตขอบเขต (bounding geometry) ของนักปั่นจักรยานหรือรถบรรทุกที่จอดอยู่ ในกรณีเหล่านี้ การรักษาโครงสร้างรูปร่างในระดับมหภาค (macro-level shape) ให้คงเดิมนั้นมีความสำคัญมากกว่าการรักษาทุกโฟตอนที่สะท้อนออกมาอย่างสะเปะสะปะ วิธีการแบบ Deep AutoEncoder ถูกออกแบบมาเพื่อเพิ่มประสิทธิภาพในการรักษาโครงสร้างประเภทนี้โดยเฉพาะ โดยพวกมันเรียนรู้ที่จะปกป้องเรขาคณิตที่กำหนดลักษณะของวัตถุ แม้ว่าจะต้องตัดจำนวนจุดดิบ (raw point count) ทิ้งไปก็ตาม
การประหยัดพื้นที่จัดเก็บและแบนด์วิดท์สามารถทำได้อย่างมหาศาล แทนที่จะต้องส่งพิกัดหลายล้านจุด ระบบสามารถส่งรหัสแฝง (latent code) ที่มีขนาดกะทัดรัด และให้ฝั่งผู้รับทำการสร้างฉากขึ้นมาใหม่ในเครื่องได้เอง การเปลี่ยนแปลงนี้จะเปลี่ยนหลักการคำนวณสำหรับแอปพลิเคชัน 3 มิติแบบกระจายตัว (distributed 3D application) ทั้งหมด
ทำไมหุ่นยนต์และการขับขี่อัตโนมัติจึงให้ความสำคัญกับเรื่องนี้
อุตสาหกรรมที่ผลักดันเทคโนโลยีนี้อย่างหนักคือกลุ่มที่กำลังจมกองข้อมูลจากเซนเซอร์ ยานยนต์ไร้คนขับต้องพึ่งพา lidar ในการสร้างแผนที่สภาพแวดล้อมรอบตัวแบบเรียลไทม์ แผนที่เหล่านี้มีการอัปเดตอยู่ตลอดเวลา และในบางระบบ ข้อมูลจะถูกแชร์ผ่านเครือข่ายยานพาหนะหรืออัปโหลดไปยังคลาวด์เพื่อการเรียนรู้ร่วมกันทั้งฟลีท (fleet-wide learning) การเคลื่อนย้ายข้อมูลดิบจำนวนมหาศาลอย่างต่อเนื่องนั้นเป็นฝันร้ายด้านโครงสร้างพื้นฐาน การแทนค่าแฝงแบบบีบอัด (Compressed latent representations) จึงช่วยให้การอัปเดตแบบ Over-the-Air และการรับรู้ร่วมกัน (collaborative perception) มีความสมเหตุสมผลและใช้งานได้จริงมากขึ้น
ภาคหุ่นยนต์ก็เผชิญกับแรงกดดันที่คล้ายคลึงกัน หุ่นยนต์ในคลังสินค้าที่ต้องเคลื่อนที่ไปตามชั้นวาง หรือโดรนที่สำรวจพื้นที่เกษตรกรรม ต้องทำงานภายใต้ข้อจำกัดด้านการประมวลผลและการสื่อสารที่เข้มงวด หน่วยความจำในตัวมีจำกัด และการเชื่อมต่อวิทยุกับฐานอาจไม่เสถียรหรือมีความเร็วต่ำ การจัดเก็บข้อมูลสภาพแวดล้อมที่สแกนไว้หลายปีลงในอุปกรณ์เอดจ์ (edge devices) นั้นเป็นไปไม่ได้เลยหากไม่มีการบีบอัดข้อมูลอย่างจริงจัง การทำให้พอยต์คลาวด์มีขนาดเบาลงด้วย Deep AutoEncoders ช่วยให้หุ่นยนต์สามารถจดจำสถานที่ได้มากขึ้น แชร์แผนที่ได้เร็วขึ้น และตอบสนองต่อเรขาคณิตใหม่ๆ ได้โดยไม่ต้องรอการดาวน์โหลดไฟล์ขนาดใหญ่ให้เสร็จสิ้น
ประโยชน์เหล่านี้ยังครอบคลุมไปถึงการจัดเก็บข้อมูลระยะยาว (archiving) ด้วย บริษัทที่สร้างดิจิทัลทวิน (digital twins) ของโรงงาน สะพาน หรือเหมืองแร่ มักจะสะสมข้อมูลการสแกนจำนวนหลายเพตาไบต์เมื่อเวลาผ่านไป กลยุทธ์การบีบอัดด้วยโครงข่ายประสาทเทียม (neural compression strategy) จะเปลี่ยนการจัดเก็บข้อมูลเหล่านั้นจากปัญหาพื้นที่จัดเก็บขนาดเท่าโกดัง ให้กลายเป็นสิ่งที่จัดการได้ง่ายขึ้น
มองไปข้างหน้า
งานวิจัยนี้ตั้งอยู่บนจุดตัดที่มีประโยชน์ มัน
