ปรับขนาดรูปภาพและขยายสำหรับ CNN


14

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

วิธีการที่เหมาะสมสำหรับการปรับขนาดภาพในขณะที่หลีกเลี่ยงเนื้อหาที่ถูกทำลายคืออะไร?

(ฉันกำลังคิดเกี่ยวกับการขยายภาพด้วยขนาด 0s เพื่อให้ได้ขนาดที่สมบูรณ์หลังจากปรับขนาดเป็นอัตราส่วนการรักษาความกว้างและความสูงในระดับหนึ่งมันจะโอเคกับวิธีนี้ไหม)

คำตอบ:


10

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


5

คุณมีตัวเลือกน้อย:

สำหรับภาพขนาดเล็ก:

  • เพิ่มตัวอย่างผ่านการแก้ไข
  • แผ่นภาพโดยใช้ศูนย์

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


สำหรับภาพขนาดใหญ่:

  • downsample
  • ครอบตัดลงตามขนาดอินพุตของคุณ

สุดท้ายถ้าคุณใช้เครือข่าย Convolutional (FCN) คุณไม่จำเป็นต้องปรับขนาดภาพ

TL; DR:

ใช่การเติมด้วยศูนย์เป็นตัวเลือกที่ถูกต้อง


ถ้าฉันได้ฝึกตุ้มน้ำหนักสำหรับเครือข่ายแบบเต็มรูปแบบที่ยอมรับการเชื่อมต่อเฟรมวิดีโอ 3 เฟรมฉันจะใช้ตุ้มน้ำหนักเหล่านี้สำหรับเครือข่ายที่มีสถาปัตยกรรมเดียวกันได้อย่างไรยกเว้นขนาดอินพุตจะเพิ่มขึ้นเป็น 11 เฟรมที่ต่อกัน? ฉันกำลังคาดการณ์เท่านั้นไม่ใช่ฝึกอบรมเพิ่มเติม คำถามของฉันอยู่ที่นี่: datascience.stackexchange.com/questions/55737/…
mLstudent33

3

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.