جدول۴- ۲-فرمولهای تشخیص فعالیت بکارگرفته شده درمتلب[۵۲]
Sitting:
شکل۴- ۹-فایل csv خروجی متلب یرای حالت نشستن
Standing:
شکل۴- ۱۰-فایل csv خروجی متلب یرای حالت ایستادن
Walking:
شکل۴- ۱۱-فایل csv خروجی متلب یرای حالت راه رفتن
Jogging:
شکل۴- ۱۲-فایل csv خروجی متلب یرای حالت دویدن
On a car:
شکل۴- ۱۳-فایل csv خروجی متلب یرای حالت داخل ماشین بودن
در شکلهای بالا، فرمت یک فایل از داده های جمعآوری شده دیده می شود. داده ها با دقت با برچسب زمان در ثانیه نوشته شده اند.در هر ثانیه، نرمافزار ۲۴نمونه از مقادیر حسگر را ثبت می کند.این بدان معناست که ما هر نمونه را درهر ۴۱٫۶۶ میلیثانیه جمعآوری کردهایم. ردیف داده ها متشکل از سیزده ورودی است.ما اقدام به برچسبگذاری برای فعالیتهای فعلی کاربر کردهایم. این به طور مستقیم از حالت کاربر انتخابی از فهرست کشویی در رابط کاربر کپی
میشود. بعد از سه ورودی OrX، OrY، OrZ نشاندهنده مقادیر حسگر چرخشی در آن زمان و ورودیهای AccX، AccY،AccZ مقادیر حسگر شتابسنج میباشد.پنج ورودی آخر مقادیر جمعآوری شده از حسگر GPS است. ما همچنین سرعت فعلی را از حسگر GPS را دریافت میکنیم. دو راه جمعآوری سرعت از کاربر وجود دارد. اول ما
میتوانیم این مقدار از تابع getSpeed () که توسط کلاس مدیریت مکان ارائه می شود بگیریم. در مرحله دوم، ممکن است برای محاسبه این مقدار از تقسیم فاصله افقی بین هر دو نقطه انتخاب شده توسط فاصله طی شده در حرکت بین این دو نقطه استفاده شود. اولین روش برای اطمینان از اینکه نتایج قابل اطمینان برای فعالیت انتخاب شده است ترجیح داده می شود.
۴-۱۰-استخراج ویژگی
پس از استفاده از نرمافزار جمعآوری داده ها برای هر فعالیت، دقتGPS ممکن است به دلیل برخی از موانع فیزیکی (ساختمان، آب و هوای بارانی)خیلی کم باشد. دقتموقعیت GPS حتی می تواند مقادیری مانند۵۰متر باشد. این بدین معنی است که موقعیت بازگشت داده شده می تواند در درون یک دایره ۵۰ متری در مرکز محل فعلی باشد. که مقادیر برای نشستن دویدن می تواند برای تشخیص این فعالیت یکی باشد. پس از این که عوامل در نظر گرفته شد، GPS و حسگر چرخش برای شناختن فعالیتهای مختلف متوقف میشوند.از سوی دیگر، حرکات پا با سرعتهای مختلف به
شتابسنج در شناختن فعالیت کمک می کند. بنابراین، تصمیم گرفته شد که تنها بر روی داده های شتابسنج تمرکز شود. برای اینکه قادر به تشخیص فعالیت به طور مداوم باشیم، از یک روش پنجره کشویی برای تقسیم سیگنالهای سری زمانی به توالیهای (دوره های) کوچکتر استفاده می شود. برای سیستم شناخت فعالیت، ویژگیهای مختلف یکی از پنجرههای دوم برای فشردهسازی اطلاعات موردنظر در داده ها محاسبه شد. ویژگیهای محاسبه شده در جدول زیر نشان داده شده است. در مجموع، ۲۰ ویژگیهای استخراج شد. این استخراج در داخلMATLAB در M-file انجام می شود. فایلCSV ایجاد شده به عنوان خروجی نرمافزار جمعآوری داده ها بعنوان ورودی M-file است.
در زیر کدM-file ، ساخته شده در توابع MATLAB،Std ,Mean،FFT (محاسبه تبدیل سری فوریه گسسته)، حداکثر(Max)، حداقل(Min)، Xcorr (محاسبه ضرایب همبستگی XY، XZ،YZ ) که برای استخراج ویژگیها استفاده می شود در جدول پیوست شده، نشان داده شده است. ویژگیها برای هر پنجره برای هر تکرار از حلقه استخراج شده است. هر پارامتر به عنوان یک بردار در نظر گرفته می شود.در پایان استخراج از حلقه، این بردارها به شکل یک ماتریس ترکیب میشوند.این ماتریس به عنوان ورودیMATLAB در نوشتن فایل CSV با بهره گرفتن از روشcsvwrite در نظر گرفته می شود. دراین روش یک فایلCSV شامل ویژگیها با عنوان ستون ایجاد می کند. سپس به تجزیه و تحلیل سادهتر داده ها می پردازد. شکل زیر فرمت فایل CSV را نشان میدهد. هر ستون نشان دهنده یک ویژگی در شکل زیر و مقادیر در هر سطر نشان دهنده یک پنجره میباشد.مقادیر هر سطر در هر تکرار از حلقه درM-file محاسبه میشوند.
در فایل ورودی اطلاعاتی از ویژگیهای تمام فعالیتها با هم ترکیب شده، این ممکن است برخی از دیدگاه ها در نظر گرفته شود. شکل بالا برخی از دیدگاه ها را نشان میدهد. به عنوان مثال، به طور متوسط مقدار شتاب حاصل در هر پنجره برای هر یک از فعالیتها مقادیری از محدوده مقادیر آستانه خاص میگیرد.
شکل۴- ۹-خروجی متلب برای تشخیص فعالیتهای پیاده روی-دوچرخه سواری-دویدن بر اساس کار تحقیقاتی [۵۳] در تشخیص فعالیت
در شکل بالا مناطق ۱، ۳، ۹ دوچرخهسواری۴، ۶، ۸ نشان دهنده راه رفتن است در حالی که ۲، ۵ ،۷ نماینده دویدن است. با توجه به این شکل، طیف وسیعی از مقادیر داده های حاصله، شتاب متوسط برای پیادهروی کمتر از ۱۳ و بیشتر از۱۰٫۴ m/s2 است. حد پایینتر از این مقادیر برای دویدن ۱۳ است. مقادیر داده های حاصل از شتاب متوسط برای نشستن در شکل زیر نشان داده شده است.
شکل۴- ۱۰-خروجی متلب برای فعالیت های نشستن-ایستادن بر اساس کار تحقیقاتی [۵۳] در تشخیص فعالیت
شکلها نشان میدهد که متوسط مقادیر داده های شتاب سنج برای ایستادن نیز ممکن است در داخل دامنه مقادیر راه رفتن قرار گیرد. یکی دیگر از تقاطعها، محدوده بین نشستن و دوچرخهسواری اتفاق میافتد که به دلیل متوسط مقادیر شتاب حاصل می شود. با این حال، انحراف استاندارد از داده های شتاب در درون یک پنجره برای راه رفتن و ایستادن، دوچرخه سواری و نشستن متفاوت است که در شکل زیر نشان داده شده است.
شکل۴- ۱۱-خروجی متلب برای فعالیت های نشستان-ایستادن-دویدن-دوچرخه سواری بر اساس کار تحقیقاتی [۵۳] در تشخیص فعالیت
در شکل بالا، انحراف استاندارد از داده های شتاب حاصل در درون یک پنجره برای ایستادن بین۰٫۱ و ۱ است در حالی که آن برای راه رفتن بین ۳ و ۵ میباشد.در حالی که این مقدار واقعا کوچک، کمتر از ۰٫۱ برای نشستن و اگر آن را بزرگتر از ۱ بیابیم برای دوچرخهسواری در نظر گرفته می شود.
۴-۱۱-شناسایی فعالیت
پس از جمعآوری داده ها و استخراج برخی از ویژگیهای از این داده ها با بهره گرفتن از عملیات ریاضی ذکر شده در بخش استخراج ویژگی، ما بدنبال یک روش طبقه بندی برای شناخت فعالیت میباشیم. مقادیری که از حسگر شتابسنج، آماده شده و در نتیجه این عملیات، بسیاری از مقادیر آستانه برای ایجاد یک درخت تصمیم گیری و نتیجه گیری در مرحله شناخت فعالیت ارائه شده است. شناخت فعالیت در این پروژه که بر اساس مقادیر حسگر شتابسنج است. مقادیر خروجی این حسگرها پردازش شده و با توجه به این مقادیر استخراج شده از فرایند پردازش تصمیم گیری می شود.
بطور شماتیک در درخت تصمیم گیری در شکل زیر الگوریتم تشخیص فعالیت نشان داده شده است.
شکل۴- ۱۲-درخت تصمیم گیری تشخیص فعالیت بر اساس کار تحقیقاتی [۵۳] در تشخیص فعالیت
در ذیل برای نمونه دستورات مربوط به حالت Driving که این دستورات مربوط به فاز آنالیز پروژه که توسط نرمافزار متلب صورت گرفته است مشاهده می شود. پس از اینکه اطلاعات مربوط به حالت رانندگی در یک فایل اکسل در متلب بارگذاری شد، توسط دستورات زیر پارامترهای مورد نیاز محاسبه میشوند.
نرم افزار جدید را بر روی گوشی Samsung S4 نصب کرده تا میزان عملکرد آنرا بسنجیم. در هر بار اعمال تغییرات میزان عملکرد باتری را مقایسه کرده و در پایگاه داده ذخیره میکنیم. در آخر جدول زیر بدست آمده است:
Saving value(percent)
Saving Value(minute)
Instrument disabled
Rows