ขออธิบายเกี่ยวกับโปรเจกต์ที่ผมทำก่อนครับ โปรเจกต์ที่ผมทำเป็นโปรแกรมหาความหนาของผนังหลอดเลือดแดง เอาภาพหลอดเลือดแดงที่หัวใจ(coronary)มาแล้วก็วัดความหนาระหว่างขอบในกับขอบนอก ตอนที่อาจารย์ให้เลือกโปรเจกต์ผมก็เห็นอาจารย์เชียร์โปรเจกต์นี้มากเลยครับ และโดยส่วนตัวก็รู้สึกว่ามันเป็นงานที่ดูมีประโยชน์ดี มีประโยชน์ต่อมนุษยชาตินะเนี่ย(ว้าว) ก็เลยตกลงเลือกโปรเจกต์นี้ครับ แล้วอาจารย์ก็มีเปเปอร์ให้อีกแหนะ ตอนนั้นก็คิดว่าคงไม่ค่อยมีอะไร ทำไปตามเปเปอร์เนี่ยแหละเดี๋ยวก็เสร็จ แล้วเราก็เพิ่มฟังก์ชันพิเศษเข้าไปหน่อยจะได้ดูดีกว่าของเดิม แต่ตอนหลังก็พึ่งนึกขึ้นมาได้ครับว่าถ้ามีเปเปอร์เนี่ยก็แสดงว่างานนี้ต้องเป็นโปรเจกต์จบของใครมาก่อนแล้วแน่เลย สงสัยจะเป็นซีเนียร์โปรเจกต์ ตอนนั้นก็เริ่มหวั่นแล้วครับ ซีเนียร์โปรเจกต์เค้าทำกันเป็นเทอมแล้วผมจะทำเสร็จในเวลาไม่ถึงอาทิตย์ได้ไง(วะ) แล้วปรากฎว่าตอนที่ผมไปขอก็อบรูปจากอาจารย์ อาจารย์เค้าก็บอกว่านี่เป็นโปรเจกต์ของลูกศิษย์ป.โทเค้าคนนึง โอย แทบทรุดเลยครับ โปรเจกต์ป.โท แล้วผมต้องทำให้เสร็จใน 3 วัน O_O อ้อ แล้วก็อีกอย่างโปรเจกต์เนี่ยเค้าให้ทำเป็นคู่ ทั้งชั้นมี 8 คนก็เป็น 4 คู่ลงตัวพอดี ซึ่ง 6 คนในชั้นก็จับคู่กันเรียบร้อย เพราะฉะนั้นคู่ที่เหลือเนี่ยคือผมกับนายปรญ.แน่ๆ แต่นายปรญ.เค้าอยากทำโปรแกรมนึง(เดี๋ยวเล่าให้ฟังว่าเป็นอะไร) ซึ่งผมว่ามันง่ายเกินไปไม่ค่อยน่าตื่นเต้นเท่าไหร่ ก็เลยเลือกที่จะทำคนเดียวครับ(แล้วนายปรญ.ก็ทำคนเดียวเหมือนกัน) ว่ามั้ยครับ วอนจริงๆเลยผมเนี่ย
พอเริ่มทำก็กลับมาเป็นเหมือนเดิมครับ คือไม่รู้จะทำยังไงดี ก็ลองอะไรไปเรื่อย เช่น เปลี่ยนรูปเป็นภาพลักษณ์ฐานสอง(binary image) โดยใช้ค่า threshold ต่างๆกันไป แล้วก็ดูว่ารูปนี้เห็นผนังหลอดเลือดชัดดีมั้ย ก็เล่นไปเรื่อยๆครับ แล้วก็มาลองตัวอย่างของ opencv ที่มีคนเขียนไว้ เช่นหาเส้นขอบอะไรแบบนี้ เล่นไปเล่นมาก็มาปิ๊งอันนึงครับ เอาไว้หาวงรีในภาพ แฮ่ พอดีเลยหลอดเลือดก็เป็นวงรี คงเอาตัวอย่างเค้ามาใช้หาส่วนที่เป็นหลอดเลือดแบบคร่าวๆได้มั้ง แล้วก็โชคดีที่เค้ามีโค้ดมาให้ด้วย ก็ก็อบมาแล้วแก้ๆอะไรหน่อยนึง(ไม่หน่อยแหละ เยอะเหมือนกัน) พอซักบ่ายสองก็สามารถตัดส่วนของภาพส่วนที่เป็นหลอดเลือดในรูปมาได้ครับ ค่อยใจชื้นขึ้นมาหน่อย ภารกิจต่อไป หาว่าอันใหนคือผนังหลอดเลือดชั้นใน อันใหนชั้นนอก
และเพราะความกลัวๆที่จะทำโปรเจกต์ไม่เสร็จ ผมก็เลยตั้ง personal message ในเอ็มว่า "สงสัยผมจะเป็นคนแรกที่ได้ F วิชา image" นายปรญ.เห็นเข้าก็เลยทักมาครับ ถามว่าทำไม ผมก็บอกไปว่ากลัวจะทำไม่เสร็จ มันก็ใจดีครับ บอกว่าถ้าไม่เสร็จไงก็ย้ายไปคู่กับมันก็ได้ ไม่ต้องทำอะไรแล้ว(มันทำเสร็จประมาณ 2 อาทิตย์ที่แล้ว เสร็จก่อนสอบอีกแหนะ) ตอนนั้นความจริงก็อยากย้ายไปคู่กับมันครับ แต่รู้สึกเสียหน้าไงไม่รู้ เลยไม่ตกลง ถึงไม่เสร็จจริงก็ยอมรับผลครับว่าไม่เสร็จ และจะบอกอาจารย์ไปตามตรงว่าไม่เสร็จ และก็มีเพื่อนๆพี่ๆทักมาอีกสองสามคนครับเรื่องชื่อเอ็มที่ผมตั้ง ก็ทักมาถามว่าเกิดอะไรขึ้น
จากตอนบ่ายสองโมงที่สามารถตัดส่วนหลอดเลือดออกมาได้ก็นั่งทำต่อไปครับ แล้วทีนี้ก็เจอปัญหาขึ้น คิดว่าเป็นปัญหาของ opencv หละมั้ง ก็นั่งหาที่ผิดไปเรื่อยๆ หาไปเรื่อยๆ หาไปเรื่อยๆ 6 โมงเย็นก็ยังหาที่ผิดไม่เจอ เลยไปกินข้าวเย็นครับ ตอนนั้นก็เริ่มใจเสียใหญ่แล้ว เหลืออีกวันเดียวจะเสร็จมั้ยเนี่ย T_T ตอนนั้นในใจก็นั่งหาทางออกอยู่ครับ คิดออกอยู่ 2 ทางคือ
- ย้ายไปคู่กับไอ้ปรญ.ซะ ยอมเสียหน้าหน่อย แต่มีงานที่เสร็จส่ง เฮ้ย จะบ้าเหรอ ไม่เอาโว้ย ไปอย่างนั้นก็โดนดูถูกแน่(มั้ง(แล้วจะเขียนแน่ทำไมวะ-*-)) ไม่ยอมโดนดูถูกอย่างนั้นแน่นอน มันไม่ดูถูกเรา แต่เราก็ดูถูกตัวเองอยู่ดี ตัดทิ้งไปเลยข้อนี้
- โทรไปหาอาจารย์ ขอต่อรองกับอาจารย์ลดสเป็กโปรแกรมลงมา ว่าเปลี่ยนจากหาความหนาของผนังหลอดเลือดมาเป็นหาแค่ว่าหลอดเลือดอยู่ตรงส่วนใหนในภาพ แต่อันนี้ก็ไม่รู้ว่าอาจารย์จะยอมรึปล่าว แต่ถึงอาจารย์ยอมไอ้การหาว่าหลอดเลือดอยู่ตรงใหนในภาพก็เหมือนผมไม่ได้ทำเองอีกนั่นแหละ เพราะไปใช้ไลบรารีของ opencv โค้ดมีไม่ถึง 100 บรรทัดด้วยมั้ง แล้วเราก็กลายเป็นไอ้ขี้แพ้เหมือนกับตอนแข่ง nsc อีกอะดิ จะแพ้ทั้งชีวิตเลยเหรอไงวะเรา ไม่เอาเด็ดขาด ตัดทิ้งเหมือนกัน
หลังกินข้าวเย็นเสร็จก็พักซักแป๊บแล้วมาทำต่อครับ ก็หาที่ผิดต่อ หาไปเรื่อยๆอีกนั่นแหละ จนกระทั่งตี 1 ก็เจอแล้วครับว่ามันผิดตรงใหน แต่ก็ไม่รู้สาเหตุว่าทำไมมันถึงผิดวะ เลยกลับมานั่งทบทวนใหม่ครับว่าจะเอาไงดี คิดไปคิดมาก็รู้สึกว่าถ้าผมเขียน c++ ต่อไปไงก็ไม่เสร็จแน่ๆ(เผลอๆเดี๋ยวได้ C+ สมชื่ออีก ฮาฮา) เพราะมันไม่มีพวกโครงสร้างข้อมูลให้ใช้เลย ต้องเขียนเอง แม่ง yak shaving ชิบเป๋ง(ตอนหลังพึ่งมารู้ครับ ว่ามันมีให้ใช้เหมือนกัน เรียกว่า stl ขอบคุณแก๊นกับโอปอลมา ณ ที่นี้ด้วย สำหรับความรู้ใหม่(แต่ไม่ว่ายังไงๆ ขึ้นชื่อว่า c++ แล้วมันต้องใช้ยากแน่ๆ))
ก็เลยได้ข้อสรุปออกมาว่าจะเปลี่ยนไปเขียนจาวาแทน แล้วใช้โปรแกรมที่เขียนมาตอนแรกนั่นมาเรียกโปรแกรมจาวาอีกต่อนึง หวังว่าคงไหวนะ
อ้อ ลืมเล่าไปนิดครับ ตอนที่นั่งหาที่ผิดในโปรแกรมไปผมก็ทวีตไปด้วยครับ ทวีตไปว่า "if i can't finish my project, i will get f??" ก็แค่ประชดชีวิตไปเรื่อยเปื่อยครับ ปรากฎว่าคุณ sugree ซึ่งเค้าฟอลโลว์ผมอยู่ก็ตอบผมกลับมาครับว่า "no, as long as you have good reasons" อืม แต่ว่าผมก็ไม่มีเหตุผลดีๆไปบอกอาจารย์ด้วยสิ แล้วจะ F มั้ยวะเนี่ย -*- แล้วเค้าก็ตอบผมกลับมาอีกครับว่า "usually, advisor will give I and wait until you finish the project" ตอนนั้นด้วยอารมณ์เหนื่อยจริงๆในใจก็คิดไปว่า ถ้าอาจารย์จะให้ I แล้วรอให้ผมทำให้เสร็จนะ ตัดเกรดไปเลยดีกว่า แล้วให้คะแนนโปรเจกต์ 0 ไปเลย เหนื่อยแล้ว ไม่อยากทำแล้ว แต่พอคิดๆดูก็รู้สึกว่า งี่เง่าสิ้นดีเลยผม ไม่ได้คิดถึงหัวอกพ่อแม่ที่ส่งไปเรียนเลย ทำอะไรครึ่งๆกลาง(อย่างนี้จะรวยได้ไงวะ) โอเค ยังไงๆก็ต้องทำให้เสร็จให้ได้ ไม่อยากเป็นไอ้ขี้แพ้อีกแล้ว
พอได้ความคิดที่จะเขียนจาวาขึ้นมาก็รู้สึกเหนื่อยแล้วครับ ไม่ไหวแล้ว โอเค ยังเหลือพรุ่งนี้อีกวัน นอนเอาแรงแล้วมาสู้ต่อ ย้ากกกก zZzZz
จบวันอาทิตย์
ดีมากเลยกับความคิดที่ว่า"ไม่อยากเป็นไอ้ขี้แพ้อีกแล้ว" น่ะ
ตอบลบลืมบอกไป แพ้ที่ผมพูดถึงนี่หมายถึง ทำงานไม่เสร็จ แล้วก็ไม่ได้แข่งนะครับ ไม่ได้หมายถึงว่าแข่งแล้วแพ้
ตอบลบเพราะถึงแม้แข่งแพ้แล้ว ก็ยังไม่รู้สึกแย่เท่าไม่ได้ส่งครับ