تحلیل الگوریتمهای اصلاح افق (Horizon Lock) در دوربینهای اکشن ورزشی
دوربین اکشن همراه کلاه ایمنی، فرمان دوچرخه یا بدنه موتور کج می شود، اما افق در ویدئوی نهایی صاف می ماند. این نتیجه با یک چرخش ساده روی کل ویدئو به دست نمی آید. دوربین باید حرکت خود را در هر لحظه بشناسد، جهت زمین را پیدا کند و قاب هر فریم را جداگانه تنظیم کند. نام Horizon Lock به خروجی این فرایند اشاره دارد، پشت آن نیز چند رویکرد و الگوریتم به هم پیوسته قرار گرفته اند که از اندازه گیری حرکت تا ساخت قاب نهایی را بر عهده دارند.

الگوریتم اصلاح افق (Horizon Lock) کدام حرکت را جبران می کند؟
حرکت دوربین سه محور اصلی دارد. پن (Pan) به چرخش لنز به چپ و راست گفته می شود، تیلت (Tilt) زاویه نگاه را بالا یا پایین می برد و رول (Roll) دوربین را حول محور لنز می چرخاند. محور رول همان بخشی است که افق را کج یا تصویر را وارونه نشان می دهد. اصلاح افق، جهت عمودی قاب را از چرخش رول جدا می کند. دوربین هنوز می تواند پیچ مسیر یا حرکت رو به بالا و پایین را دنبال کند، اما متمایل شدن بدنه، خط افق را با خود نمی چرخاند. دامنه این اصلاح یکسان نیست، گاهی سیستم فقط کجی محدود را می پوشاند و در حالت های کامل تر، چرخش ۳۶۰ درجه نیز بدون وارونه شدن خروجی جبران می شود.
الگوریتم های اصلاح افق از چه رویکردهایی استفاده می کنند؟
Horizon Lock نام یک الگوریتم ثابت و مشترک میان تمام دوربین ها نیست. جزئیات پیاده سازی هر سازنده تفاوت دارد، اما روش های اصلاح دیجیتال افق را می توان در سه گروه اصلی بررسی کرد.

اصلاح بر پایه حسگرهای حرکتی
در این روش، واحد اندازه گیری اینرسی یا IMU اطلاعات ژیروسکوپ و شتاب سنج را در اختیار پردازشگر می گذارد. ژیروسکوپ سرعت چرخش دوربین را روی سه محور ثبت می کند و شتاب سنج سرنخی از راستای گرانش می دهد. کنار هم قرار گرفتن این داده ها، زاویه دوربین نسبت به زمین را مشخص می سازد. این رویکرد به وجود خط افق در تصویر وابسته نیست. دوربین داخل جنگل، تونل یا فضای بسته هم می تواند وضعیت خود را تخمین بزند. سرعت پاسخگویی بالا نیز آن را برای حرکات ورزشی مناسب کرده است. در مقابل، خطای کوچک ژیروسکوپ ممکن است به مرور انباشته شود و ضربه یا شتاب ناگهانی نیز برای لحظه ای روی داده شتاب سنج اثر بگذارد.

اصلاح بر پایه تحلیل تصویر
روش تصویری، حرکت را از خود فریم ها استخراج می کند. الگوریتم نقاط قابل شناسایی مانند لبه ساختمان، بافت زمین یا جزئیات ثابت صحنه را میان چند فریم دنبال می کند. جابه جایی این نقاط که با Optical Flow یا جریان نوری سنجیده می شود، جهت و مقدار حرکت دوربین را نشان می دهد. خطوط افقی و عمودی صحنه نیز می توانند به تشخیص کجی قاب کمک کنند. این روش به حسگر حرکتی جداگانه نیاز ندارد، اما کیفیت صحنه بر نتیجه اثر می گذارد. نور کم، تاری، سطح های بدون بافت یا حضور سوژه های متحرک، تشخیص حرکت واقعی دوربین را دشوار می کنند. پردازش چند فریم نیز معمولاً زمان و توان بیشتری می خواهد.
اصلاح ترکیبی
روش ترکیبی از سرعت حسگرهای حرکتی و اطلاعات موجود در تصویر بهره می گیرد. داده های IMU یک تخمین سریع از چرخش می سازند و تحلیل فریم ها می تواند خطای تدریجی یا ناهماهنگی آن را اصلاح کند. این ترکیب به ویژه زمانی مفید است که دوربین تکان های سریع را تجربه می کند، اما تصویر همچنان جزئیات کافی برای بررسی دوباره حرکت دارد. وجود هر دو منبع داده به معنی عملکرد یکسان در تمام مدل ها نیست. کیفیت حسگر، دقت کالیبراسیون، توان پردازش و شیوه ترکیب اطلاعات، نتیجه نهایی را تغییر می دهند. به همین علت دو دوربین با عبارت مشابه Horizon Lock ممکن است در حفظ افق رفتار متفاوتی نشان دهند.

زنجیره پردازش Horizon Lock چگونه کار می کند؟
صرف نظر از رویکرد انتخاب شده، اصلاح افق چند مرحله اصلی دارد. ابتدا داده حرکتی باید با زمان نوردهی هر فریم هماهنگ شود. اگر زاویه محاسبه شده به چند لحظه قبل یا بعد تعلق داشته باشد، قاب از حرکت واقعی عقب می ماند و افق حالت شناور یا پرشی پیدا می کند. در مرحله بعد، الگوریتم تخمین وضعیت، زاویه رول (Roll) را نسبت به جهت مرجع به دست می آورد. این مرجع در روش حسگر محور از گرانش و در روش تصویری از مسیر حرکت نقاط و هندسه صحنه حاصل می شود. روش ترکیبی هر دو را برای رسیدن به تخمینی پایدارتر کنار هم می گذارد. پس از تعیین زاویه، نوبت تبدیل هندسی تصویر است. اگر دوربین ۳۰ درجه ساعت گرد چرخیده باشد، قاب باید تقریباً به همان اندازه در جهت مخالف تنظیم شود. این محاسبه برای هر فریم تکرار می شود، زیرا موقعیت دوربین در یک مسیر ورزشی پیوسته تغییر می کند. آخرین بخش، حرکت نرم قاب در طول زمان است. اصلاح های ناگهانی می توانند افق را صاف نگه دارند، اما خود تصویر را عصبی و ناپایدار نشان دهند. الگوریتم هموارسازی مسیر زاویه را بررسی می کند و تغییرات کوتاه را به شکل پیوسته تری روی خروجی می نشاند.
پنجره دید مجازی چرا بخشی از تصویر را کنار می گذارد؟
با چرخاندن یک تصویر مستطیلی، گوشه های خالی وارد کادر می شوند. برای پنهان کردن آن ها، الگوریتم قاب کوچک تری را از تصویر خام انتخاب می کند. این قاب مانند پنجره ای صاف روی تصویری بزرگ تر و کج حرکت می کند، زاویه پنجره تغییر می کند، اما محتوای داخل آن مستقیم باقی می ماند. فضای اطراف این پنجره، حاشیه اصلاح نام دارد. جبران زاویه بزرگ تر به حاشیه بیشتری نیاز دارد و به همان نسبت میدان دید محدودتر می شود. لنز فوق عریض، سنسور با سطح قابل استفاده بیشتر و نسبت تصویر بلندتر، فضای مانور بیشتری در اختیار الگوریتم می گذارند. بعضی سیستم ها اندازه قاب را نیز براساس شدت حرکت تغییر می دهند تا در بخش های آرام، میدان دید کمتری از دست برود.

پردازش افق در دوربین تک لنز و ۳۶۰ درجه چه تفاوتی دارد؟
دوربین تک لنز فقط محدوده روبه روی همان لنز را ثبت می کند. الگوریتم باید قاب صاف را درون این سطح محدود بچرخاند و مراقب گوشه های خالی باشد. به همین دلیل، قفل کامل افق ممکن است فقط در رزولوشن، نرخ فریم، نسبت تصویر یا لنز دیجیتال مشخصی در دسترس قرار بگیرد. دوربین ۳۶۰ درجه تقریباً تمام محیط را به شکل یک تصویر کروی در اختیار دارد. اینجا الگوریتم به جای چرخاندن قاب روی یک سطح تخت، جهت کره تصویری را نسبت به زمین تغییر می دهد و سپس نمای صاف را استخراج می کند. آزادی بیشتر در انتخاب زاویه، اصلاح چرخش کامل را آسان تر می سازد، البته وضوح تصویر کروی میان تمام جهات تقسیم شده و فقط بخشی از آن وارد قاب خروجی می شود.
عبارت «قفل افق ۳۶۰ درجه» نیز الزاماً به معنی فیلمبرداری ۳۶۰ درجه نیست. در دوربین تک لنز، این عدد دامنه چرخشی قابل جبران را بیان می کند. در دوربین ۳۶۰ درجه، ثبت کروی محیط و ثابت نگه داشتن جهت قاب دو فرایند جداگانه اند.
اصلاح افق چه محدودیت هایی دارد؟
Horizon Lock با لرزشگیر الکترونیکی ارتباط دارد، اما جای آن را نمی گیرد. لرزشگیر مسیر حرکت دوربین را نرم می کند، اصلاح افق بیشتر روی ثابت ماندن جهت عمودی قاب تمرکز دارد. پس یک ویدئو می تواند افقی صاف داشته باشد و همچنان بخشی از لرزش های ریز یا تاری حرکتی را نشان دهد. نور کم نیز چالش دیگری ایجاد می کند. وقتی سرعت شاتر پایین می آید، حرکت سریع هر فریم را تار می کند و چرخاندن قاب نمی تواند جزئیات از دست رفته را برگرداند. لرزش شدید موتور گاهی تصویر را به شکل ژله ای درمی آورد، این کژی ها از شیوه خواندن سطرهای سنسور یا Rolling Shutter می آید و به اصلاح جداگانه نیاز دارد.
توان پردازش هم مرز دیگری برای الگوریتم می سازد. قفل افق ۳۶۰ درجه، رزولوشن بالا، نرخ فریم زیاد و میدان دید گسترده همیشه به طور همزمان در دسترس نیستند. هنگام بررسی این قابلیت باید دامنه اصلاح، تنظیمات سازگار، میزان کاهش میدان دید و انجام پردازش داخل دوربین یا نرم افزار را کنار نام Horizon Lock دید. همین جزئیات نشان می دهند الگوریتم در استفاده واقعی تا چه اندازه می تواند افق را بدون آسیب محسوس به قاب ثابت نگه دارد.