พื้นฐาน AI

การจำแนกภาพทำงานอย่างไร?

mm
เพิ่ม Unite.AI ลงในแหล่งข้อมูลที่คุณต้องการบน Google

การจำแนกภาพ ทำนายป้ายกำกับสำหรับภาพทั้งหมด มันตอบคำถามเช่น “หมวดสินค้าชนิดใดที่แสดงอยู่?” หรือ “การสแกนนี้มีเป้าหมายที่ต้องการหรือไม่?” แต่ไม่ได้ทำการระบุตำแหน่งของแต่ละวัตถุหรือร่างกายพิกเซลของมันเอง

ระบบสมัยใหม่มักใช้เครือข่ายประสาทเทียมแบบคอนโวลูชัน (CNN) หรือ Vision Transformers ซึ่งมักเริ่มต้นด้วยน้ำหนักที่ผ่านการฝึกล่วงหน้า การทำงานที่เชื่อถือได้ยังคงพึ่งพาป้ายกำกับ การสุ่มตัวอย่าง การเพิ่มข้อมูล การปรับเทียบ และการทดสอบภายใต้สภาวะการใช้งานจริง

ประเด็นสำคัญ

  • การจำแนกทำการกำหนดป้ายให้กับภาพทั้งหมด; การตรวจจับจะวาดกล่องวัตถุและการแบ่งส่วนจะกำหนดพื้นที่ระดับพิกเซล
  • การฝึกล่วงหน้าและการเรียนรู้แบบถ่ายโอนสามารถลดความต้องการข้อมูลได้ แต่ความไม่ตรงกันของโดเมนอาจทำให้ประโยชน์หายไป
  • ความแม่นยำระดับบนอาจซ่อนความไม่สมดุลของคลาส, ทางลัดที่ผิดพลาด, และการปรับเทียบที่แย่
  • คุณภาพของภาพ, อุปกรณ์จับภาพ, ภูมิศาสตร์และการเปลี่ยนแปลงกระบวนการทำงานทั้งหมดสามารถก่อให้เกิดการเปลี่ยนแปลงการกระจายได้
How Does Image Classification Work? diagram showing image, preprocess, backbone, logits, probabilities, validate
ตัวจำแนกที่พร้อมใช้งานรวมการจัดการความไม่แน่นอนและการทดสอบการเปลี่ยนแปลงโดเมน

จากพิกเซลสู่คะแนน

ภาพจะถูกปรับขนาดหรือครอป, ทำการทำให้เป็นมาตรฐานและแปลงเป็นเทนเซอร์ การเพิ่มข้อมูลอาจใช้การแปลงที่คงป้ายกำกับไว้เช่น การพลิก, การครอป หรือการเปลี่ยนสี โครงสร้างหลัก (backbone) จะทำแปลงพิกเซลเป็นคุณลักษณะ; ส่วนหัวการจำแนกจะสร้าง logits ที่แปลงเป็นคะแนนคลาสสัมพัทธ์

การเตรียมข้อมูลที่เลือกต้องสอดคล้องกับการใช้งานจริง การครอปศูนย์กลางที่ตัดวัตถุสำคัญออกหรือการทำให้เป็นมาตรฐานที่ไม่ตรงกันอาจทำให้ประสิทธิภาพเสียหายแม้ว่าน้ำหนักที่ฝึกแล้วจะไม่เปลี่ยนแปลง

CNNs และ Vision Transformers

Convolutional neural networks ใช้ฟิลเตอร์ท้องถิ่นและน้ำหนักที่แชร์กันเพื่อสร้างคุณลักษณะเชิงพื้นที่ การเชื่อมต่อแบบ residual ทำให้ CNN ที่ลึกมากง่ายต่อการปรับแต่ง Vision Transformers แบ่งภาพเป็นแพทช์และใช้ attention เพื่อจำลองความสัมพันธ์ระหว่างแพทช์

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

การเรียนรู้แบบถ่ายโอนและการออกแบบข้อมูล

Transfer learning เริ่มจากน้ำหนักที่ฝึกบนชุดข้อมูลต้นทางที่ใหญ่กว่า ทีมงานสามารถตรึง backbone, ปรับจูนชั้นลึกต่อไป หรืออัปเดตโมเดลทั้งหมด การปรับจูนโดยทั่วไปต้องใช้ learning rate ที่ต่ำกว่าและชุดตรวจสอบที่ปลอดภัยจากการรั่วไหล

ป้ายกำกับควรอธิบายสิ่งที่มองเห็นได้จากภาพ หากการวินิจฉัยต้องอาศัยประวัติผู้ป่วยที่ไม่ปรากฏในภาพ ตัวจำแนกจะไม่สามารถเรียนรู้การตัดสินคลินิกเต็มรูปแบบได้ คัดลอกซ้ำ, เฟรมจากวิดีโอเดียวกันและภาพจากบุคคลเดียวกันต้องอยู่ในชุดแยกเดียวกัน

เมตริก, ความไม่แน่นอนและทางลัด

Top-1 accuracy ต้องการให้คลาสที่ได้คะแนนสูงสุดถูกต้อง; Top-k accuracy ยอมรับคลาสที่ถูกต้องอยู่ใน k คลาสที่ได้คะแนนสูงสุด เมตริก precision, recall ต่อคลาสและ confusion matrix จะเปิดเผยข้อผิดพลาดที่ไม่สม่ำเสมอ

โมเดลอาจใช้พื้นหลัง, ลายน้ำ, อุปกรณ์การจับภาพหรือกรอบภาพแทนวัตถุที่ตั้งใจให้จำแนก การทดสอบเชิงตรงข้าม, การวิเคราะห์กลุ่มย่อยและเครื่องมือ saliency สามารถช่วยค้นหาทางลัดได้ แต่แผนที่ความร้อนอธิบายไม่ได้เป็นหลักฐานของการให้เหตุผลเชิงสาเหตุ

การตรวจสอบการใช้งานจริง

การตรวจสอบในขั้นตอนผลิตต้องครอบคลุมไฟล์เสีย, มิติที่ไม่คาดคิด, ภาพเบลอ, แสง, รุ่นกล้องและคลาสใหม่ ความมั่นใจควรปรับเทียบบนข้อมูลที่คล้ายการใช้งานจริง และอินพุตที่อยู่นอกขอบเขตควรถูกปฏิเสธหรือส่งให้ตรวจสอบ

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

การสร้างชุดข้อมูลการจำแนกภาพ

การจำแนกภาพกำหนดหนึ่งหรือหลายป้ายกำกับให้กับภาพทั้งหมด ซึ่งแตกต่างจากการตรวจจับที่ระบุตำแหน่งวัตถุและการแบ่งส่วนที่กำหนดป้ายให้กับพิกเซล กำหนดขอบเขตคลาส, โครงสร้างลำดับชั้น, กฎหลายป้าย, ประเภทพื้นหลังหรือไม่ทราบ, และหลักฐานที่ต้องมองเห็นได้ รวบรวมกล้อง, สถานที่, แสง, มุมมอง, ระยะและวัตถุที่เป็นตัวแทนของการใช้งานจริง แบ่งข้อมูลตามบุคคล, ฉาก, เซสชัน หรือแหล่งที่มาก่อนการเพิ่มข้อมูล; เฟรมวิดีโอต่อเนื่องหรือภาพสินค้าซ้ำในพาร์ทิชันต่าง ๆ จะทำให้เกิดการรั่วไหลอย่างรุนแรง

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

โมเดล, การฝึกและการประเมินผล

วิธีคลาสสิกผสมผสานตัวบ่งชี้ที่ออกแบบด้วยตัวจำแนก; ระบบสมัยใหม่ใช้เครือข่ายคอนโวลูชันหรือ Vision Transformers ซึ่งมักทำผ่านการเรียนรู้แบบถ่ายโอน การเลือกการปรับขนาดและการครอปกำหนดว่าข้อมูลใดจะคงอยู่ การเพิ่มข้อมูลควรสะท้อนความแปรผันที่เป็นไปได้และคงป้ายกำกับไว้ ปรับแต่งฟังก์ชันสูญเสียที่เหมาะกับงาน, จัดการความไม่สมดุลด้วยการให้ค่าน้ำหนักหรือการสุ่มตัวอย่างอย่างระมัดระวัง, และเลือก checkpoint จากข้อมูลตรวจสอบ เปรียบเทียบกับ baseline อย่างง่ายและทำการ ablate การเพิ่มข้อมูล, ความละเอียดและการเริ่มต้นจาก pretrained เพื่อเรียนรู้ว่าการเพิ่มประสิทธิภาพมาจากที่ใด

รายงาน precision, recall, F1, confusion matrix, top‑k accuracy (เมื่อเกี่ยวข้อง), การปรับเทียบและประสิทธิภาพตามเงื่อนไข ทดสอบภาพเบลอ, การบีบอัด, แสง, การครอป, การบัง, อุปกรณ์และอินพุตที่ไม่มีคลาสที่รองรับ การตั้งค่าขีดจำกัดความมั่นใจสามารถส่งกรณีที่ไม่แน่นอนไปตรวจสอบ; ความน่าจะเป็น softmax ไม่ได้เป็นความมั่นใจที่รับประกันโดยเฉพาะเมื่อเกิดการเปลี่ยนแปลง การทดสอบพื้นหลังเชิงตรงข้ามและการบังเปิดเผยการเรียนรู้ทางลัด สำหรับการใช้งานที่เกี่ยวกับความปลอดภัย ควรประเมินความล้มเหลวในกรณีแย่ที่สุดและผลของผลลบเท็จและบวกเท็จ

การใช้งานและการเฝ้าติดตาม

บรรจุขั้นตอน decode, การแปลงสี, การจัดแนว, การทำให้เป็นมาตรฐาน, โมเดลและแผนที่ป้ายกำกับเข้าด้วยกัน ตรวจสอบ artefact ที่ส่งออกหรือ quantized บนอุปกรณ์เป้าหมายและวัด latency, หน่วยความจำ, พลังงานและ throughput ตรวจสอบคุณภาพภาพ, การกระจายของอินพุตและเอาต์พุต, การปรับเทียบ, ป้ายกำกับที่ยืนยันและสุขภาพของเซนเซอร์ ลดและรักษาความปลอดภัยของการเก็บภาพโดยเฉพาะใบหน้า, ตำแหน่งและผู้โดยสารที่อยู่ใกล้เคียง ให้ทางเลือกสำรองสำหรับอินพุตที่เสียหายหรืออยู่นอกขอบเขตและทำการ rollback รุ่นโมเดล การจำแนกตอบคำถามระดับภาพที่กำหนด; ไม่ควรบังคับให้ทำการระบุตำแหน่ง, ตัวตนหรือเจตนาที่ระบบไม่รองรับ

ตัวอย่างการทำงาน: การจำแนกวัสดุรีไซเคิล

โรงงานถ่ายภาพสินค้าบนสายพานและกำหนดคลาสวัสดุ, การปนเปื้อนและไม่ทราบภาพ ภาพถูกแบ่งตามวันเก็บและชุดวัตถุ ครอบคลุมแสง, พื้นผิวเปียก, การม้วน, การทับซ้อนและสายพานว่าง CNN ขนาดเล็กและโมเดล pretrained ถูกเปรียบเทียบกับกฎสีและรูปร่าง การเรียกคืนต่อคลาส, การจัดเรียงผิดพลาด, การปรับเทียบ, throughput และผลลัพธ์ตามกล้องและสภาพวัสดุเป็นตัวกำหนดการเลือก

สายการผลิตตรวจสอบการเปิดรับแสงของกล้องและเวลาการเคลื่อนที่ของสายพาน แล้วส่งรายการที่ไม่แน่นอนไปยังสตรีมทั่วไปแทนการบังคับให้จำแนก การ inference ที่ quantized ถูกตรวจสอบบนฮาร์ดแวร์ที่ตรงกัน การเฝ้าติดตามติดตามคุณภาพอินพุต, อัตราคลาส, การปฏิเสธและการตรวจสอบด้วยมือแบบสุ่ม; บรรจุภัณฑ์ใหม่ทำให้ต้องอัปเดตข้อมูลที่ตรวจสอบ โมเดลควบคุมเครื่องคัดแยกที่มีการป้องกันทางกายภาพ และความล้มเหลวของเซนเซอร์หรือโมเดลจะทำให้เครื่องกลับสู่สถานะปลอดภัยแทนการส่งวัสดุผิดพลาดโดยเงียบ

หลักฐานการดำเนินการและความพร้อมใช้งาน

การตัดสินใจในระดับการผลิตต้องการมากกว่าการสาธิตที่สำเร็จ กำหนดผู้ใช้เป้าหมาย, สภาพแวดล้อมการทำงาน, อินพุต, เอาต์พุต, ขึ้นต่อ, เจ้าของและผลของความล้มเหลวสำคัญแต่ละประการ สร้าง baseline ที่ทำซ้ำได้และชุดประเมินที่เวอร์ชันก่อนการปรับแต่ง ทดสอบกรณีปกติ, เงื่อนไขขอบเขต, อินพุตที่บกพร่องหรือหาย, การเปลี่ยนแปลงการกระจาย, การขัดข้องของ dependencies, การใช้งานผิดวิธีและกลุ่มหรือสภาพแวดล้อมที่อาจไม่ได้รับการสนับสนุนอย่างเพียงพอ วัดคุณภาพงานพร้อมกับการปรับเทียบหรือความไม่แน่นอน, latency, throughput, ต้นทุนทรัพยากร, การเข้าถึง, ความเป็นส่วนตัวและความปลอดภัย บันทึกการแปลงและขีดจำกัดทุกขั้นตอนเพื่อให้ผู้ตรวจสอบอิสระสามารถทำซ้ำผลลัพธ์และแยกแยะหลักฐานจากต้นแบบที่ดึงดูดใจ

ก่อนเปิดใช้งาน มอบอำนาจการปล่อย, ข้อยกเว้น, การเปลี่ยนแปลง, การ rollback และการยกเลิก ใช้การเปิดตัวแบบขั้นเป็นขั้น, รักษาการสำรองที่ปลอดภัย, และตรวจสอบการเฝ้าติดตามด้วยการฉีดความล้มเหลวโดยเจตนา Telemetry การปฏิบัติงานควรเปิดเผยคุณภาพอินพุต, พฤติกรรมเอาต์พุต, รุ่นโมเดลหรือกฎ, สถานะ dependencies, การแทรกแซงของมนุษย์และผลลัพธ์ที่ยืนยันโดยไม่เก็บข้อมูลที่ละเอียดอ่อนเกินความจำเป็น กำหนดเกณฑ์การแจ้งเตือนและเจ้าของการตอบสนอง แล้วตรวจสอบหลักฐานจากโลกจริงหลังการใช้งานแทนการสันนิษฐานว่าประสิทธิภาพออฟไลน์จะคงที่ ประเมินใหม่ทุกครั้งที่แหล่งข้อมูล, ผู้ใช้, โมเดล, ผู้ขาย, นโยบาย, ฮาร์ดแวร์หรือเป้าหมายเปลี่ยนแปลง ระบบที่บำรุงรักษาอย่างดีต้องมีขั้นตอนการกู้คืน, การเรียนรู้จากเหตุการณ์, การลบและการเก็บรักษา และจุดชัดเจนที่ควรปิดหรือเปลี่ยนทดแทน

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

ตัวจำแนกภาพสามารถระบุหลายวัตถุได้หรือไม่?

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

ทำไมโมเดลถึงล้มเหลวบนภาพที่ดูปกติต่อคน?

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

อ้างอิงหลัก

นักบล็อกและโปรแกรมเมอร์ที่มีความเชี่ยวชาญใน Machine Learning และ Deep Learning หัวข้อ Daniel หวังที่จะช่วยให้ผู้อื่นใช้พลังของ AI สำหรับสิ่งที่ดี