VK มีประเพณีที่ยอดเยี่ยม - แฮ็กกาธอนภายในซึ่งมีเพียงผู้ชายจาก VKontakte เท่านั้นที่สามารถเข้าร่วมได้ ฉันจะเล่าให้คุณฟังเกี่ยวกับแฮ็กกาธอนในนามของทีมที่คว้าอันดับหนึ่งในปีนี้และเสียชีวิตไปด้วยความเหนื่อยล้าทั้งหมด แต่ก็ได้ลองใช้เครื่องตรวจจับการเคลื่อนไหวของการเต้นสำหรับกล้องเรื่องราว
ชื่อของฉัน
การแข่งขันแฮ็กกาธอนภายในช่วยให้ทีมสามารถทดลองแพลตฟอร์มได้มากมาย ทดสอบแนวคิดที่แตกต่าง และสนุกสนานโดยทั่วไป ความแตกต่างที่สำคัญคือโซลูชันสามารถรวมเข้ากับ VK ได้มากขึ้นซึ่งทำให้เรามีโอกาสที่จะบรรลุต้นแบบที่น่าสนใจ
การแข่งขันแฮ็กกาธอนจัดขึ้นที่ Singer House ตลอดทั้งวัน ในช่วงกลางสัปดาห์ สำนักงานใหญ่จะกลายเป็นการเคลื่อนไหวช่วงเที่ยงคืน เป็นเรื่องตลกที่ได้เห็นว่าคนทำความสะอาดมองไปรอบๆ ด้วยความประหลาดใจในตอนเช้า ทันใดนั้นสำนักงานที่มักจะว่างเปล่าตอน 6 โมงเช้ากลับเต็มไปด้วยคนขนดกที่เคลื่อนไหวเหมือนซอมบี้และตะโกน: "เหลือเวลาอีกห้าชั่วโมง!" หรือเมื่อคุณเดินเข้าไปในครัวตอนตีสาม และมีกลิ่นเหมือนหอพักมหาวิทยาลัยระหว่างเรียน เช่น เครื่องดื่มชูกำลัง พิซซ่า และอาการตื่นตระหนก แน่นอนว่าเหตุการณ์นี้เกิดขึ้นในวันธรรมดา แต่ก็หาได้ยากในขนาดที่ใหญ่โตเช่นนี้
Hackathons ภายในสามครั้งก่อนหน้านี้เกิดขึ้นในช่วงฤดูร้อน ในปี 2019 เราตัดสินใจที่จะไม่เสียเวลากับเรื่องมโนสาเร่และจัดแฮ็กกาธอนฤดูหนาวด้วย - แฮ็คกาธอนสองรายการดีกว่าหนึ่งรายการมาก เพราะนี่เป็นโอกาสอันยอดเยี่ยมในการทดลองและนำแนวคิดที่มีเวลาไม่เพียงพอในจังหวะปกติ กฎก็เปลี่ยนไปเช่นกัน ก่อนหน้านี้ทีมอาจมีสมาชิกได้สูงสุดสามคน แต่ปีนี้มีสี่คน แต่มีหนึ่งคนไม่ได้เขียนโค้ด แต่มีความเชี่ยวชาญในอย่างอื่น สามารถเชิญนักออกแบบ ผู้จัดการผลิตภัณฑ์ ผู้ทดสอบ นักการตลาด และคนอื่นๆ มาร่วมทีมได้ มีทีมเข้าร่วมทั้งหมด 38 ทีมในแฮ็กกาธอนนี้
Dreamtim (แม่นยำยิ่งขึ้นหนึ่งใน 38)
เรามาตกลงกันกับ
แม้แต่ในปีนี้ ก็มีการแบ่งเพลงออกเป็นเพลงที่ไม่เคยมีมาก่อน: สื่อ (ที่เราเข้าร่วม) การสื่อสาร โครงสร้างพื้นฐาน เนื้อหาและความบันเทิง เรามีคู่แข่งที่แข็งแกร่ง ตัวอย่างเช่น นักออกแบบอาวุโสของ VK ได้รับแรงบันดาลใจอย่างต่อเนื่อง
ความคิด
— ฉันได้รับรางวัลจาก Hackathon เกือบทั้งหมดที่ฉันเข้าร่วม และฉันก็คาดหวังสิ่งเดียวกันจาก Hackathon ภายในในฤดูหนาวนี้ (
Danya มีความมั่นใจในตัวเอง)
แนวคิดของเรา (โดยเฉพาะของ Danina) ในตอนแรกคือ: เราต้องการสำรวจหัวข้อของการสร้างดนตรี + มีทุกอย่างบนอุปกรณ์ ไม่เช่นนั้นมันจะ "แบ็กเอนด์เกินไป" Hackathon เริ่มต้นด้วยการระดมความคิด - เราคิดถึงสิ่งที่เราจะเกิดขึ้น การสร้างเพลงเป็นเรื่องที่น่าสนใจ แต่ฉันต้องการทำให้ขึ้นอยู่กับผู้ใช้ ปุ่มบางปุ่ม? อาจจะวาดบนหน้าจอและสร้างเพลงตามนั้น? ในเวลาเดียวกัน เราได้เรียนรู้จากทีมงานดนตรีถึงวิธีการเพิ่มเพลงที่เราต้องการ แต่มันก็ยังดูไม่ถูกต้องนัก ทีมเพื่อนบ้านต่างสนุกสนานกับการทำงานบางอย่างบนแล็ปท็อปของตนและทำให้เกิดความคับข้องใจ
— จะเป็นอย่างไรถ้าคุณจำแอร์กีตาร์ได้ ราวกับว่าคุณกำลังเล่นกีตาร์ และขึ้นอยู่กับสิ่งนี้ คุณจึงเล่นเสียงกีตาร์ได้? (
ธีม )
บิงโก! แนวคิดนี้มีความเข้มแข็ง และเรามีอำนาจที่จะจัดการทุกอย่างด้วยวิธีที่ยอดเยี่ยม สำหรับการรับรู้การเคลื่อนไหวก็มี
การตัดสิน
ภารกิจหลักคือการสร้างตารางบนอุปกรณ์ (ต้องเป็นของจริง) และเรียนรู้ที่จะจดจำการเคลื่อนไหว Egor เริ่มย้าย Tyoma เริ่มคิดว่าการเคลื่อนไหวแบบใดน่าสนใจที่จะรวมเข้าด้วยกัน (แค่กีตาร์น่าเบื่อ) และ Danya และฉันก็เริ่มจำมันได้ แต่สิ่งนี้ต้องใช้ข้อมูล ความแตกต่างระหว่าง PRO และมือสมัครเล่นคืออะไร? PRO มีคลัสเตอร์ที่มี GPU - นั่นคือสิ่งหนึ่ง สอง - PRO จะรวบรวมข้อมูลสำหรับตัวมันเองเมื่อจำเป็น Danya จัดจุดยืนที่บันทึกข้อมูลพิกัดดิบของบุคคลที่เป็นที่รู้จักจากกล้องแล้ว - เต้น! คืนนั้นเราเรียนเต้นรำไหมขัดฟัน
เพื่อยืนหยัดในการบันทึกการเคลื่อนไหว เราใช้แล็ปท็อปที่ทำงาน ซึ่งบันทึกใบหน้าของ Dani เป็นครั้งแรก (เขาไม่เคยเขียนแม้แต่บรรทัดเดียวใน JS มาก่อน) เมื่อเขาเห็นข้อผิดพลาด JS ที่ไม่สามารถเข้าใจได้อีกครั้ง
— ฉันไม่เข้าใจ ฉันมีข้อผิดพลาดระดับ: การพิมพ์หายไปใน Python! (
Danya )
การเต้นรำตอนกลางคืน (ตามตัวอักษร)
เราถ่ายการเคลื่อนไหวต่อเนื่องต่อหน้ากล้องเป็นเวลาหลายชั่วโมงในเวลากลางคืน พวกเขาบันทึกมันเอง และยังจับนักพัฒนาที่เดินไปบนพื้นและบังคับให้พวกเขาเต้นรำ เรามีชุดค่าผสมที่แตกต่างกันเจ็ดแบบ - ตอนนี้เราต้องเรียนรู้ที่จะแยกแยะระหว่างชุดค่าผสมเหล่านี้
“ฉันเข้ามาทุกๆ สามชั่วโมงเพื่อดูว่าพวกเขายังมีชีวิตอยู่หรือไม่” มหาอำมาตย์ตะโกน:“ เรามีเดือย!” - และ Danya ก็เบ่งบานด้วยพลังทั้งหมดของเขา จากนั้นทุกคนก็เต้นไปป์ เมื่อดาเนียลหมดแรง มหาอำมาตย์ก็เปิดหน้าต่างแล้วพูดว่า: "พวกเรา เราต้องทำให้สดชื่นขึ้น" (
Madina )
ข้อมูลจากรูปภาพได้รับการประมวลผลล่วงหน้า: ขาถูกโยนออกไป, ศีรษะถูกหาค่าเฉลี่ย, และแปลงเป็นพิกัดเชิงขั้วที่สัมพันธ์กับลำตัว เราฝึกเครื่องตรวจจับความเคลื่อนไหวโดยใช้ catboost โดยใช้สตรีมข้อมูลจากโมเดลที่ตัดตอนมาสามวินาที จนถึงคืนนี้เราไม่ได้ทำงานร่วมกับห้องสมุด - มันกลายเป็นห้องสมุดต่อสู้และคุณสามารถใส่ไว้ใน iOS ได้
พวกเขาสอนการจำแนกหลายชั้นเรียน โดยชั้นเรียนหนึ่งน่าเบื่อที่สุดเท่าที่จะเป็นไปได้ แค่อยู่หน้ากล้องเฉยๆ สิ่งที่ยากที่สุดคือการบันทึกการเคลื่อนไหวแบบ "ร็อค" - เราส่ายหัวอย่างไม่เห็นแก่ตัวจนหลังจากนั้นไม่นานก็เริ่มหมุน และพวกเขาก็ยื่นมือออกมาพร้อมกับ "แพะ" แม้ว่านี่จะไม่มีประโยชน์ก็ตาม - โพเซเนตมีเพียงจุดเดียวบนมือทั้งหมด แต่ก็ไม่เห็นนิ้ว
— เมื่อเวลาประมาณตี 3 มหาอำมาตย์ปีนเข้าไปในถุงนอนและเดินไปรอบๆ เป็นเวลาหนึ่งชั่วโมงโดยเฉพาะ กระโดดเหมือนจิงโจ้ตัวจริง (
Madina )
ประมาณ 8 น. เราประสบวิกฤติเล็ก ๆ ทุกอย่างพังและไม่มีอะไรทำงาน แต่แล้วทุกอย่างก็เริ่มทำงานด้วยตัวเอง การขันสกรูทั้งสองรุ่นเข้ากับการใช้งานกลายเป็นความท้าทายที่ยิ่งใหญ่ที่สุด - Egor ประกอบเสร็จเรียบร้อยก่อนกำหนดเวลาห้านาที มอบพื้นให้เขา:
— หลังจากที่เราพบแนวคิดนี้ ทุกอย่างเป็นไปด้วยดีและมีประสิทธิผลมาก พวกเขาฝึกตารางและเต้น และฉันก็แนบ PoseNet เข้ากับกล้องเรื่องราวใน JavaScript โดยตรงในเบราว์เซอร์ การทดสอบครั้งแรกทำงานได้ดีและรวดเร็วอย่างน่าประหลาดใจ ดังนั้นเมื่อในตอนเช้าปรากฎว่า WebGL ใน WebView ขัดข้องโดยไม่คาดคิดเมื่อทำงานกับพื้นผิวเพื่อเรื่องไร้สาระและไม่มีทางหาวิธีแก้ปัญหาได้ฉันเกือบจะสิ้นหวัง แต่มันก็สายเกินไปที่จะยอมแพ้ เรากำลังเร่าร้อนกับความคิดนี้ ดังนั้น ด้วยความแข็งแกร่งสุดท้ายของเราและด้วยกระทิงแดงกระป๋องสุดท้าย เราจึงลากโมเดลทางเลือกที่ใช้ CoreML ไปยังไคลเอนต์ iOS ในระหว่างเดินทาง และเริ่มติดตามท่าทางโดยกำเนิด - เพื่อที่จะส่งพวกมันไปยังโมเดลด้วยการเต้น และรับผลลัพธ์ที่เอาต์พุต โดยพื้นฐานแล้วเราทำงานซ้ำอีกครั้ง! ความท้าทายอีกประการหนึ่งคือโมเดลที่สอง ซึ่งจู่ๆ ก็เริ่มคาดหวังว่าจะมีข้อโต้แย้งมากกว่าพันข้อเป็นอินพุต! Xcode สร้างอินเทอร์เฟซสำหรับใช้งานโดยตรงที่ไม่สมจริง โชคดีที่ความรู้ของฉันเกี่ยวกับ Objective-C ไม่ได้ทำให้ฉันผิดหวัง และพบวิธีแก้ปัญหาที่ยอดเยี่ยม (
เยกอร์ )
การขว้าง
ในวันศุกร์ เวลา 14 น. มีกำหนดเวลาในการอัปโหลดวิดีโอเกี่ยวกับโปรเจ็กต์ มีหลายทีมมาไม่ทันและถูกตัดสิทธิ์ และเมื่อเวลา 14:40 น. เราได้เสนอแนะให้กับผู้ดูแลติดตามที่เกี่ยวข้องกับผลิตภัณฑ์ เรามีทีมงานจากทีมวิดีโอและดนตรี และดูเหมือนว่าพวกเขาจะชอบทุกอย่างในสนาม เราได้อันดับที่สองในเส้นทางของเรา (เราต้องการเป็นที่หนึ่ง เพราะเรามีโปรเจ็กต์เจ๋งๆ เช่นนี้!) และจบลงที่รอบชิงชนะเลิศ (สองทีมจากเส้นทางของเราผ่านเข้ารอบ)
— ปีนี้ฉันเป็นภัณฑารักษ์ของแฮ็กกาธอนภายในเป็นครั้งแรก ฉันจะพูดด้วยความยับยั้งชั่งใจ: การประเมินงานเป็นเรื่องยากมาก ระดับของทุกทีมโดยไม่มีข้อยกเว้นนั้นเกินความเชื่อ คุณลักษณะไม่ควรเป็นเพียงเทคโนโลยีขั้นสูง ไม่ใช่แค่ "ใกล้จะใช้งานได้จริง" ไม่ใช่แค่ "อาจมีประโยชน์สำหรับผลิตภัณฑ์ของเรา" โครงการที่ชนะจะต้องเป็นไปตามเกณฑ์เหล่านี้ทั้งหมดพร้อมกัน ดูเหมือนว่าพวกเขาจะประสบความสำเร็จ (
แอนดรู )
เรามีการเสนอครั้งสุดท้ายเมื่อเวลา 17 น. ถึงเวลานี้ จำเป็นต้องเตรียมการสาธิตอีกครั้ง คราวนี้สำหรับทั้งทีม และคณะกรรมการตัดสินจะแตกต่างออกไป ได้แก่ ผู้อำนวยการฝ่ายเทคนิค ผู้อำนวยการผลิตภัณฑ์ และผู้อำนวยการฝ่ายการตลาด
ตอนห้าโมงเย็นทุกอย่างก็จบลง - เรากลับบ้านไปนอนโดยไม่รู้อะไรเลยเกี่ยวกับผลลัพธ์
ผลลัพธ์ก็คือในที่สุด
ประกาศผลเฉพาะวันจันทร์เท่านั้น อันดับแรกพวกเขามอบรางวัลให้กับผู้ชนะของแทร็ก (ไม่ใช่กรณีของเรา - ฉันขอเตือนคุณว่าเราเป็นอันดับสอง) จากนั้นผู้นำของผู้ชมโหวต (ไม่ใช่เรา) และจากนั้นคนที่สาม (และนี่ก็ไม่ใช่พวกเราด้วย) ประการที่สอง (อีกครั้ง ไม่ใช่เรา) และสุดท้ายคือเรา
นี่คือโครงการที่เราต้องแข่งขันด้วย:
อันดับที่ 2 - ผู้ช่วยเสียงที่ตอบสนอง;
อันดับที่ 3 - เส้นเวลาของข้อผิดพลาดภายใน
รางวัล People's Choice Award เป็นเครื่องเตือนใจถึงการประชุมแชทที่กำลังจะมีขึ้น
— นี่คือแฮ็กกาธอนที่ดีที่สุดที่ฉันเคยเข้าร่วม มีการขับรถมากกว่าที่ทางแยกมาก (
Danya )
— ฉันสนุกกับการทำงานร่วมกับเพื่อนร่วมงานจากแผนกที่แตกต่างไปจากเดิมอย่างสิ้นเชิง - ฉันไม่เคยสัมผัสการเรียนรู้ของเครื่องมาก่อน มันดูเหมือนเป็นเวทย์มนตร์สำหรับฉัน แต่ตอนนี้กลับไม่เป็นเช่นนั้น (
เยกอร์ )
— มันเจ๋งมากที่ได้เป็นส่วนหนึ่งของทีมเจ๋งๆ ที่มีโปรเจ็กต์เจ๋งๆ แบบนี้ ในวันหนึ่งฉันสามารถเป็นนักออกแบบ ช่างวิดีโอ วิศวกรเสียง บรรณาธิการ นักดนตรี และนักเขียนคำโฆษณา! ฉันยังเป็นคนเดียวที่สามารถนอนหลับได้ (
ธีม )
ชีวิตหลังแฮ็กกาธอน
โปรเจ็กต์ส่วนใหญ่ที่พัฒนาขึ้นที่ Hackathons ไม่สามารถขายได้ด้วยเหตุผลหลายประการ เช่น การเปลี่ยนจุดมุ่งเน้น ความซับซ้อนของการนำไปใช้ หรือสิ่งที่ไม่คาดคิดในการนำไปปฏิบัติ Hackathon ภายในก็ไม่มีข้อยกเว้น
อย่างไรก็ตาม เราแสดงรายการโครงการที่เห็นแสงสว่างของวัน:
- ของโปรดของทุกคน
Vinci ; การตรวจสอบความเข้ากันได้ของผู้ใช้ ซึ่งเปิดตัวเมื่อวันที่ 14 กุมภาพันธ์ 2018;- красивые
โปสเตอร์ สำหรับรายการสั้น - และคุณสมบัติภายในจำนวนหนึ่งที่เรายินดีจะพูดถึง แต่เราไม่สามารถ :)
ที่มา: will.com