label ابزار برچسب زنی ویدئویی قدرتمند برای یادگیری عمیق: داده های آموزشی برای چشم انداز کامپیوتری با نظارت

label ابزار برچسب زنی ویدئویی قدرتمند برای یادگیری عمیق: داده های آموزشی برای چشم انداز کامپیوتری با نظارت

بسیاری از برنامه ها و صنایع وجود دارد که برای اعمال شبکه های عصبی در فیلم ها مورد نیاز است: کشاورزی ، رانندگی خودکار اتومبیل ، رباتیک ، تولید ، لوازم الکترونیکی مصرفی و غیره.

اما 80٪ ابزارهای موجود بسته هستند و برای جامعه Deep Learning در دسترس نیستند ، 20٪ دیگر - برای حاشیه نویسی در مقیاس بالا طراحی نشده اند.

ما در Supervisely مفتخریم که ابزار برچسب گذاری ویدیویی مبتنی بر وب را اعلام می کنیم. نسخه جامعه (CE) برای اهداف تحقیقاتی رایگان است و امیدواریم کل جامعه یادگیری ماشین از آن بهره مند شود. برای کسب اطلاعات بیشتر در مورد Enterprise Edition (EE) با ما تماس بگیرید.

ابزار برچسب زدن ویدیو-کاربر پسند و بصری

با الهام از نرم افزار حرفه ای ویرایش ویدیو ایجاد شده توسط دانشمندان داده برای دانشمندان داده با همکاری برچسب زدن نیروی کار سریع و مبتنی بر وب رابط کاربری عالی با موضوع تاریک تنظیمات نمای سفارشی (روشنایی ، کنتراست ، …) و کلیدهای میانبر برای همه چیز (ناوبری ، برچسب گذاری و برچسب گذاری) برچسب زنی نظارت کننده ابزار: مرور رابط تنظیمات صحنه و کلیدهای میانبر

ردیابی شیء هوش مصنوعی از جعبه

شبکه عصبی کلاس هنر آگنوستیک برای ردیابی اشیاء در ابزار برچسب گذاری ویدیو ادغام شده است. قابل پیاده سازی هم در CPU و هم در GPU ردیابی سفارشی NN را می توان با استفاده از REST API ردیابی OpenCV یکپارچه کرد ، واسطه های خطی و مکعبی نیز وجود دارد

AI- تقسیم بندی ویدئویی با SmartTool-سریع و دقیق

ما تجربه کاربر را بهینه سازی کرده ایم تا هرگونه اشیاء را در فیلم ها با چند کلیک تقسیم بندی کنیم از مدل طبقه آگنوستیک می توان برای تقسیم بندی هر یک استفاده کرد. هدف - شی. یک روش آموزشی در Enterprise Edition (EE) موجود است.

جدول زمانی ویدیو برای ناوبری آسان در هزاران فریم

ویدئوی 5 دقیقه ای 24 فریم در ثانیه شامل 7200 فریم است. تصور کنید ، یک فیلم 2 ساعته چند فریم دارد. خط زمان ویدئو برای

ناوبری سریع طراحی شده است: می توانید محدوده های فریم را با یا بدون برچسب با محدوده ها بیابید: پخش بخش های ویدئویی ، انتخاب محدوده برای حذف اشیاء یا اختصاص برچسب نمونه زمانبندی ویدیو

برچسب گذاری ویدئوی چند دوربین

اکنون می توانید یک شیء واحد را که در فیلم های مختلف ارائه شده است برچسب گذاری کنید. نظارت تصویری یا اتومبیل های خودران مثال های خوبی هستند.

برچسب اشیاء در فیلم های مختلف

موتور رندر جدید

رندر فوق سریع هر ابزار برچسب زنی رفتار سفارشی خود را دارد: ایجاد چند ضلعی ها ، مستطیل ها ، نقشه های بیتی ، مکعب ها و نشانه ها بصری تر و کاربرپسندتر شد.

مفاهیم اصلی برچسب گذاری: قاب ، شی ، شکل ، برچسب

یک شی واحد شامل شکلهایی است که بر روی چند فریم برچسب گذاری شده اند تگ های Key-Value با محدوده فریم اختیاری را به اشیاء و ویدیوها اختصاص دهید شی و آن ارقام در فریم های مختلف

بطور طبیعی از 4K و هر فرمت ویدیویی پشتیبانی می کند

Enterprise Edition (EE) از avi ، mp4 ، 3gp ، flv ، webm ، wmv ، mov ، mkv و موارد دیگر پشتیبانی می کند ... < /uli> پخش ویدئوی لحظه ای و رمزگذاری در حال پرواز ، بنابراین نیازی به تبدیل و ذخیره داده ها در موارد مختلف نیست قالب های ent دارای ابزارهای داخلی برای اتصال انبارهای ویدیویی موجود است: ذخیره سازی محلی خصوصی یا یک فضای ابری خود را اضافه کنید (Google Cloud ، Amazon AWS ، Microsoft Azure) که به راحتی و با سرعت بالا کار می کند -فیلم های وضوح برای برچسب گذاری دقیق

ادغام شده در کل اکوسیستم Supervisely: مشاغل برچسب گذاری ، شبکه های عصبی ، API ، SDK و موارد دیگر ...

داشتن ابزار حاشیه نویسی ویدئویی تنها نیمی از راه است. ما آن را در پلت فرم اصلی ادغام کردیم ، بنابراین می توانید از ویژگی های جالب دیگر استفاده کنید: ادغام با HTTP-basedAPI های RESTful و Python SDK: شبکه های عصبی سفارشی خود و سایر افزونه ها را اضافه کنید از مدیر فایل داخلی دو جداره داخلی DataCommander ما برای دستکاری داده

همه چیزهای کوچک

استفاده کنید. نکات مکان نما و میانبرهای صفحه کلید خاص نکته مفید: چگونه به سرعت یک شی جدید ایجاد کنید یا شکلهای جدیدی به کلاس موجود اضافه کنید کلاس "Any Shape" - اشیاء برچسب یک کلاس با ابزارهای مختلف مانند چند ضلعی ، مستطیل یا قلم مو در صورت تمایل. تنظیم وضوح تصویر در رابط برچسب زدن - مفید است اگر شما یا نیروی کار برچسب زنی شما دارای اتصال اینترنتی کند آمار برچسب های اضافی در مشاغل برچسب گذاری کپی پروژه ها و برچسب ها از یک پروژه به پروژه دیگر باشید در چند کلیک بارگیری فعالیت های برچسب زدن به عنوان یک فایل CSV تکمیل خودکار زمینه ها هنگام ایجاد برچسب گذاری مشاغل نقش کاربر جدید - "بازبینی کننده" < افزونه های uli> NNs از هر دو CUD پشتیبانی می کنند 9 و CUDA 10
آموزش های اضافی و دستورالعمل های ادغام با مثال اضافه شده است

اکنون امتحان کنید!

در حال حاضر وجود دارد - فقط با استفاده از ساخته شده ما فیلم ها را وارد کنید -in پلاگین فیلم ها. اگر هنوز در Supervisely حساب کاربری ندارید - همین حالا به صورت رایگان ثبت نام کنید.

بازخورد قابل تقدیر است - به ما کمک می کند تا محصول بهتری بسازیم

اگر این پست را پیدا کردید جالب است ، پس بیایید به دیگران نیز کمک کنیم. اگر مقداری

4 مرحله برای شروع یادگیری ماشین با دید رایانه ای

4 مرحله برای شروع یادگیری ماشین با دید رایانه ای

در سال 2012 ، AlexNet در چالش تشخیص تصویری مقیاس بزرگ ImageNet مقام اول را کسب کرد و این اولین باری بود که یک شبکه عصبی پیچیده در مسابقه طبقه بندی تصویر برنده شد. یکی دیگر از عواملی که این دستاورد را بسیار مهمتر کرد این است که AlexNet دو برابر دقت بیشتری نسبت به شرکت کننده دوم نشان داد.

آیا رایانه های کوانتومی بیش از حد فشرده شده اند؟ (واقعیت)

آیا رایانه های کوانتومی بیش از حد فشرده شده اند؟ (واقعیت)

"کامپیوترهای کوانتومی "رایانه های آینده" هستند. این فناوری پیشرفته که قادر به محاسبه حتی سریعترین سیستمهای کنونی است ، وعده داده است که عصر جدیدی از قدرت محاسبات را به جهان وارد کند. اما چقدر از آن صحت دارد و تبلیغات رسانه ای چقدر است؟ در حالی که ثابت شده است رایانه های کوانتومی سریعتر از رایانه های معمولی هستند ، روزنامه نگاران علمی تا حد زیادی مبالغه می کنند ...

پیچیدگی مدرن: چشم انداز رایانه مدرن اپل به زودی واقعیت می یابد

پیچیدگی مدرن: چشم انداز رایانه مدرن اپل به زودی واقعیت می یابد

اعتبار تصویر : فرانسوا هوانگ از طریق Unsplash

روند رشد چیز خنده داری است. از زمانی که همه ما بچه هستیم ، افکاری وجود دارد که درباره آنچه می خواهیم از زندگی خود ایجاد کنیم ، داریم. وقتی در دبستان بودم با دختری به نام جسیکا همکلاسی بودم. جسیکا بسیار محبوب بود و در ابتدای سال گفت که می خواهد فضانورد شود. در پایان سال ، او…

بود

بینایی رایانه ای برای مبتدیان: قسمت 1

بینایی رایانه ای برای مبتدیان: قسمت 1

مقدمه ای بر OpenCV و پردازش تصویر در پایتون

بینایی رایانه ای یکی از موضوعات داغ در هوش مصنوعی است. این خودرو در خودروهای خودران ، رباتیک و همچنین در برنامه های مختلف تصحیح عکس پیشرفت های شگرفی دارد. پیشرفت پایدار در تشخیص شیء هر روز در حال انجام است. GANs نیز موضوعی است که محققان این روزها به آن توجه کرده اند. چشم انداز آینده فناوری را به ما نشان می دهد و ما حتی نمی توانیم تصور کنیم که پایان امکانات آن چگونه خواهد بود.

بنابراین آیا می خواهید اولین قدم خود را در Computer Vision برداشته و در این حرکت اخیر شرکت کنید؟ خوش آمدید در جای مناسب هستید. از این مقاله ، ما قصد داریم یک سری آموزش در مورد اصول پردازش تصویر و تشخیص اشیاء داشته باشیم. این اولین قسمت از آموزش OpenCV برای مبتدیان است و مجموعه کامل مجموعه به شرح زیر است:

درک مدلهای رنگی و ترسیم شکل روی تصاویر اصول پردازش تصویر با فیلتر کردن از تشخیص ویژگی تا تشخیص چهره تشخیص کانتور و کمی تفریح ​​

اولین داستان این مجموعه در مورد نصب OpenCV ، توضیح رنگ خواهد بود مدل ها و رسم فیگورها بر روی تصاویر. کد کامل این آموزش نیز در Github موجود است. حالا بیایید آن را شروع کنیم.

مقدمه ای بر OpenCV

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

OpenCV مخفف Open Source Computer Vision library است و توسط Intel در سال 1999 اختراع شده است. این کتاب ابتدا به زبان C/C ++ نوشته شده است ، بنابراین ممکن است آموزش های بیشتری را به زبان C مشاهده کنید. از پایتون اما اکنون در پایتون برای بینایی رایانه نیز استفاده می شود. اول از همه ، بیایید یک محیط مناسب برای استفاده از OpenCV ایجاد کنیم. نصب را می توان به شرح زیر پردازش کرد ، اما می توانید توضیحات دقیق آن را نیز در اینجا بیابید.

 pip install opencv-python == 3.4.2
pip install opencv-contrib-python == 3.3.1 

پس از اتمام نصب ، بسته را وارد کنید تا ببینید آیا خوب کار می کند یا خیر. اگر بازده را بدون هیچ گونه خطایی دریافت کردید ، اکنون آماده رفتن هستید.

 واردات cv2
cv2 .__ نسخه__ 

اولین مرحله ای که ما با OpenCV انجام می دهیم وارد کردن یک تصویر است و می توان آن را به صورت زیر انجام داد.

 وارد کردن numpy به عنوان np
matplotlib.pyplot را به عنوان plt وارد کنید
٪ matplotlib inline 
# وارد کردن تصویر
img = cv2.imread ('burano.jpg')
plt.imshow (img) 

داشته باشید آیا تا به حال به بورانو رفته اید؟ این جزیره یکی از زیباترین جزایر ایتالیا است. اگر تا به حال آنجا نبوده اید ، حتماً این مکان را برای تعطیلات بعدی خود بررسی کنید. اما اگر از قبل این جزیره را می شناسید ، احتمالاً متوجه خواهید شد که چیزی متفاوت در این تصویر وجود دارد. کمی متفاوت از تصاویری است که معمولاً از بورانو می بینیم. باید از این لذت بخش تر باشد!

این به این دلیل است که تنظیم پیش فرض حالت رنگ در OpenCV درترتیب BGR ، که با Matplotlib متفاوت است. بنابراین برای مشاهده تصویر در حالت RGB ، باید آن را از BGR به RGB به صورت زیر تبدیل کنیم.

# تبدیل تصویر به RGB
img_rgb = cv2.cvtColor (img، cv2.COLOR_BGR2RGB)
plt.imshow (img_rgb) 

در حال حاضر ، این بورانو است! چنین جزیره ای دوست داشتنی در ایتالیا!

بیش از RGB

بیایید کمی بیشتر در مورد حالت های رنگی صحبت کنیم. مدل رنگ سیستمی برای ایجاد طیف وسیعی از رنگها با استفاده از رنگهای اصلی است. در اینجا دو مدل رنگ متفاوت وجود دارد: مدلهای رنگ افزودنی و مدلهای رنگ تفریق. مدلهای افزودنی برای نشان دادن رنگها در صفحه کامپیوتر از نور استفاده می کنند در حالی که مدلهای تفریحی از جوهر برای چاپ تصاویر دیجیتالی روی کاغذ استفاده می کنند. رنگهای اصلی قرمز ، سبز و آبی (RGB) برای رنگ اول و فیروزه ای ، سرخابی ، زرد و سیاه (CMYK) برای رنگ دوم است. تمام رنگهای دیگری که در تصاویر می بینیم با ترکیب یا مخلوط کردن این رنگهای اصلی ساخته شده اند. بنابراین هنگامی که تصاویر در RGB و CMYK نمایش داده شوند ، می توان کمی متفاوت تصویر کرد.

(منبع)

شما کاملاً به این دو نوع مدل عادت کرده اید. در دنیای مدلهای رنگی ، بیش از دو نوع مدل وجود دارد. در میان آنها ، مقیاس خاکستری ، HSV و HLS مواردی هستند که اغلب در بینایی رایانه مشاهده خواهید کرد.

مقیاس خاکستری ساده است. این تصویر و مورفولوژی را با شدت سیاه و سفید نشان می دهد ، به این معنی که تنها یک کانال دارد. برای مشاهده تصاویر در مقیاس خاکستری ، ما باید حالت رنگ را به خاکستری تبدیل کنیم همانطور که قبلاً با تصویر BGR انجام دادیم.

# تبدیل تصویر به مقیاس خاکستری
img_gray = cv2.cvtColor (img، cv2.COLOR_BGR2GRAY)
plt.imshow (img_gray، cmap = 'gray') 

در حقیقت ، تصاویر RGB با چیدن سه کانال R ، G و B ساخته می شوند. بنابراین اگر هر کانال را گرفته و آنها را یکی یکی به تصویر بکشیم ، می توانیم نحوه ساختار کانال های رنگی را درک کنیم.

< pre># سه کانال تصویر را ترسیم کنید انجیر ، axs = plt.subplots (nrows = 1 ، ncols = 3 ، figsize = (20 ، 20))
 برای i در محدوده (0 ، 3):
    ax = axs [i]
    ax.imshow (img_rgb [:،:، i]، cmap = 'خاکستری')
plt.show () 

نگاهی به تصاویر بالا این سه تصویر نحوه تشکیل هر کانال را به شما نشان می دهد. در تصویر کانال R ، قسمت با اشباع زیاد رنگهای قرمز سفید به نظر می رسد. چرا اینطور است؟ این به این دلیل است که مقادیر قسمتهای رنگ قرمز نزدیک به 255 خواهد بود. و در حالت خاکستری ، هرچه مقدار بیشتر باشد ، رنگ سفیدتر می شود. همچنین می توانید این را با کانال های G یا B بررسی کنید و تفاوت قسمت های مختلف را با یکدیگر مقایسه کنید.

HSV و HLS جنبه کمی متفاوت دارند. همانطور که در بالا مشاهده می کنید ، آنها نمایشی سه بعدی دارند و بیشتر شبیه به شیوه ادراک انسان است. HSV مخفف رنگ ، اشباع و ارزش است. HSL مخفف رنگ ، اشباع و روشنایی است. محور مرکزی برای HSV مقدار رنگها است در حالی که برای HSL مقدار نور است. در امتداد زوایای محور مرکزی ، وجود داردرنگ ، رنگهای واقعی و فاصله از محور مرکزی به اشباع تعلق دارد. تغییر حالت رنگ می تواند به شرح زیر انجام شود.

# تبدیل تصویر به مدل HSV و HLS
img_hsv = cv2.cvtColor (img، cv2.COLOR_BGR2HSV)
img_hls = cv2.cvtColor (img، cv2.COLOR_BGR2HLS) 
# ترسیم تصاویر تبدیل شده
انجیر ، (ax1 ، ax2) = plt. subplots (nrows = 1 ، ncols = 2 ، figsize = (20 ، 20))
ax1.imshow (img_hsv)
ax2.imshow (img_hls)
plt.show () 

اما چرا ما باید رنگ ها را تغییر داد؟ اینها برای چیست؟ یکی از مثالهایی که می تواند پاسخ دهد تشخیص خط است. لطفاً به تصویر زیر نگاهی بیندازید. ببینید چگونه خطوط در حالت های رنگی مختلف تشخیص داده می شوند. در حین کار بینایی رایانه ، ما چندین حالت رنگ را همراه با ماسک انجام می دهیم. اگر می خواهید در مورد نحوه استفاده از پردازش تصویر در کار تشخیص خط بیشتر بدانید ، با خیال راحت این پست را با nachiket tankale بررسی کنید.

RGB vs Grayscale (darkened) vs HSV vs HSL

اکنون معتقدم شما این ایده را دریافت کرده اید. پردازش تصویر "پیش پردازش داده ها" است. کاهش صداها و استخراج الگوهای مفید برای سهولت انجام کارهای طبقه بندی و تشخیص. بنابراین همه این تکنیکها از جمله تکنیکهایی که بعداً در مورد آنها صحبت خواهیم کرد ، برای کمک به مدل در تشخیص آسانتر الگوها است. حالا میریم پاریس آیا تا به حال نام دیوار عشق را شنیده اید؟ این دیواری است که با کلمات "دوستت دارم" در انواع زبان های بین المللی پر شده است. آنچه ما قرار است انجام دهیم این است که کلمات را در زبان خود بیابیم و آنها را با یک مستطیل علامت گذاری کنیم. از آنجا که اهل کره جنوبی هستم ، به دنبال "دوستت دارم" به زبان کره ای هستم. ابتدا ، یک کپی از تصویر اصلی تهیه می کنم و سپس یک مستطیل با cv2.rectangle ترسیم می کنم () ما باید مقادیر مختصات را برای نقطه بالا سمت چپ و پایین سمت راست نشان دهیم.

# کپی تصویر
img_copy = img.copy () 
# یک مستطیل بکشید
cv2. rectangle (img_copy، pt1 = (800 ، 470) ، pt2 = (980 ، 530) ،
              رنگ = (255 ، 0 ، 0) ، ضخامت = 5)
plt.imshow (img_copy) 

عالی است! فکر می کنم موقعیت درستی گرفتم. بیایید دوباره تلاش کنیم. من می توانم یک کلمه کره ای دیگر را از تصویر ببینم ، بنابراین این بار یک دایره ایجاد می کنم. با cv2.circle () ، باید نقطه مرکز آن و طول شعاع آن را مشخص کنیم.

# رسم یک دایره
cv2.circle (img_copy ، center = (950 ، 50) ، شعاع = 50 ،
           رنگ = (0 ، 0 ، 255) ، ضخامت = 5)
plt.imshow (img_copy) 

ما همچنین می توانیم قرار دادن داده های متنی روی تصویر چرا این بار نام این دیوار را نمی نویسیم؟ با cv2.putText () ، می توانیم موقعیت و سبک فونت و اندازه متن را تعیین کنیم.

# افزودن متن
cv2.putText (img_copy، text = "دیوار عشق" ،
            org = (250 ، 250) ،
            fontFace = cv2. FONT_HERSHEY_DUPLEX ،
            fontScale =2 ،
            رنگ = (0 ، 255 ، 0) ،
            ضخامت = 2 ،
            lineType = cv2.LINE_AA)
plt.imshow (img_copy) 

این واقعا یک دیوار "دوست داشتنی" ، اینطور نیست؟ این را خودتان امتحان کنید و "دوستت دارم" را در زبان خود بیابید!