Технологија детекције објеката компјутерског вида је неопходна за бројне апликације. Користимо га у роботици, опреми за надзор, самовозећим аутомобилима и многим другим областима. Дакле, можемо да пронађемо и препознамо одређене ствари на слици или видео снимку.
Један од најпознатијих алгоритми за идентификацију објеката је ИОЛО (Ви само једном) сет модела. Ове моделе креирају Ултралитицс ЛЛЦ.
Најновија верзија ове серије је ИОЛОв5. И, то је најбржи и најпрецизнији модел идентификације објеката на тржишту. Капацитет модела да генерализује нове податке је знатно побољшан. Такође, садржи многе функције које га чине бољим од ранијих итерација.
ИОЛОв5 је одличан за апликације у реалном времену јер може да обрађује слике брзином до 1000 кадрова у секунди на једном ГПУ-у.
У овом чланку ћемо представити ИОЛОв5 и проћи кроз детаље његових области примене.
Путовање ИОЛО-а: Од ИОЛО-а до ИОЛОв5
Џозеф Редмон и др. првобитно је увео ИОЛО, скуп модела за идентификацију објеката, 2016. Почетни ИОЛО модел је могао да идентификује објекте у реалном времену. Међутим, имао је ниску тачност у поређењу са другим моделима у то време.
Неколико надограђених верзија ИОЛО-а је објављено током година. И на крају, Ултралитицс ЛЛЦ је креирала најновије издање ИОЛО серије, ИОЛОв5.
ИОЛОв5 је најпрецизнији и најбржи модел идентификације објеката који је тренутно доступан.
Важне карактеристике
Анцхор Бокес
ИОЛОв5 предвиђа граничне оквире за објекте на слици користећи сидрене оквире. Модел предвиђа која од многих унапред дефинисаних кутија са различитим размерама страница најбоље одговара ставци на слици користећи сидрене кутије. Ово су унапред дефинисане кутије.
И омогућавају ИОЛОв5 да препозна и пронађе ставке на слици са тачношћу.
Повећање података мозаика
Када тренира, ИОЛОв5 користи метод познат као мозаик повећање података. Да би развио свеже слике за тренинг, наш модел насумично комбинује закрпе од неколико фотографија. Као резултат, модел постаје отпорнији и поузданији. Дакле, може се генерализовати на нове податке и смањити прекомерно прилагођавање.
Јединствени цевовод за обуку
Јединствени цевовод за обуку који комбинује надгледане и учење без надзора се користи.
Дакле, модел учи из мањег узорка и ефикасно користи неозначени улаз. Ово повећава перформансе модела и повећава његов капацитет да се генерализује на нове инпуте.
Слојеви који су резидуални и нерезидуални
Архитектура ИОЛОв5 комбинује слојеве који су резидуални и нерезидуални. Дозвољавајући градијентима да теку кроз слојеве, преостали слојеви помажу моделу у учењу тешких карактеристика. Такође, нерезидуални слојеви пружају моделу свеобухватније разумевање улазне слике. Као резултат тога, ИОЛОв5 може да ради прецизније и ефикасније.
Како се користи ИОЛОв5
инсталација
Инсталација ИОЛОв5 се може брзо завршити помоћу пип-а. Пип је Питхон менаџер пакета. Опште процедуре за инсталирање ИОЛОв5 су следеће:
1- Инсталирајте ПиТорцх: Пошто је ИОЛОв5 заснован на ПиТорцх оквиру, прво морате да инсталирате ПиТорцх.
pip install torch torchvision
2. Инсталирајте ЦУДА: Морате инсталирати ЦУДА ако намеравате да покренете ИОЛОв5 на ГПУ-у.
3. Инсталирајте ИОЛОв5: Након подешавања ПиТорцх-а и ЦУДА-е, користите следећу команду да преузмете ИОЛОв5.
pip install yolov5
4- Након инсталације ИОЛОв5, морате преузети унапред обучене тегове. Унапред обучени утези су доступни у Ултралитицс ГитХуб репо.
Идите на део „тежине“ на веб локацији тако што ћете се померити надоле. Можете преузети унапред обучене тегове са листе коју можете пронаћи овде.
5. Изаберите тегове који су већ обучени и који најбоље одговарају вашем случају употребе. Скуп података или одређена ИОЛОв5 верзија за коју су тежине научене могу се користити за сужавање листе.
6- Након што изаберете одговарајуће тежине, изаберите тежину кликом на дугме „Преузми“ поред ње. Тежине ће бити доступне за преузимање као. пт датотеке.
7- Пренесите преузете тежине у директоријум. Овде ће деловати ваша скрипта за откривање.
8- У овом тренутку можете покренути детекцију објеката на својим фотографијама или видео записима користећи унапред обучене тежине у вашој скрипти за откривање.
Припремите податке
Морате предузети следеће радње да бисте податке припремили за употребу са ИОЛОв5:
1. Прикупите податке: Први корак је да прикупите слике или видео податке који су вам потребни откривање објекта. Ствари које желите да откријете требало би да буду присутне на фотографијама или видео снимцима.
2- Форматирајте податке: Можете само да увезете фотографије у своју скрипту ако их користите. Морате претворити видео у серију фотографија ако планирате да је користите. Можете издвојити оквире из филма користећи библиотеку као што је ОпенЦВ.
import cv2
img = cv2.imread('path/to/image')
Са ОпенЦВ библиотеком, можете користити следећу команду да претворите видео у серију слика:
import cv2
cap = cv2.VideoCapture('path/to/video')
while True:
ret, frame = cap.read()
if not ret:
break
cv2.imshow('frame', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
3. Означите податке: Морате означити податке ако користите свој скуп података. Цртање граничних оквира око ставки које желите да идентификујете у сваком оквиру слике. То је процес означавања података. Можете користити неколико алата који ће вам помоћи у овој операцији, укључујући ЛабелИмг и РецтЛабел.
4- Морате поделити податке на скупове за обуку и тестирање након што их означите. Ово је кључно за процену колико добро функционише ваш модел.
5. Коначно, можда ћете морати да предобрадите податке пре обуке или тестирања. Ово може да подразумева скалирање слика или видео записа, стандардизацију вредности пиксела или коришћење метода за повећање података.
Након што завршите ове кораке, ваши подаци су спремни.
Покрените скрипту за откривање
Ево илустрације скрипте за откривање која анализира слику и проналази објекте.
import yolov5
import cv2
# Pre-trained weights should be loaded.
weights = 'path/to/weights.pt'
# Set the detection confidence level
conf_thres = 0.5
# Set the Non-Maxima Suppression (NMS) threshold
nms_thres = 0.5
# Create the detector object
detector = yolov5.YOLOv5(weights, conf_thres, nms_thres)
# Load the image
img = cv2.imread('path/to/image')
# Perform object detection
detections = detector.detect(img)
# Print the detections
for x1, y1, x2, y2, conf, cls_conf, cls_pred in detections:
print("Object:", classes[int(cls_pred)])
print("Confidence:", conf)
print("Bounding box:", (x1, y1, x2, y2))
Пост обрада
Немаксимално потискивање је једна од најчешћих техника накнадне обраде која се користи у детекцији објеката (НМС). Користимо НМС да елиминишемо преклапајуће граничне оквире за исти објекат. Да бисмо извршили НМС на детекцијама, можемо користити метод цв2.днн.НМСБокес() из ОпенЦВ библиотеке.
Ево примера како накнадно обрадити детекције помоћу НМС-а.
import cv2
# Perform Non-Maxima Suppression (NMS)
индекси = цв2.днн.НМСБокес(детекције, поверења, цонф_тхрес, нмс_тхрес)
Визуелизација
У случају визуелизације, поново можемо да користимо библиотеку као што је ОпенЦВ. Можемо приказати граничне оквире око откривених објеката на изворној слици или видео снимку. Да нацртате граничне оквире слике, користите метод цв2.рецтангле(). Ево како да видите детекције на оригиналној слици:
импорт цв2
# Draw the bounding boxes on the image
за И у индексима:
i = i[0]
x1, y1, x2, y2 = detections[i][0], detections[i][1], detections[i][2], detections[i][3]
cv2.rectangle(img, (x1, y1), (x2, y2), (255, 0, 0), 2)
cv2.putText(img, classes[class_ids[i]], (x1, y1), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 255, 255), 2)
# Show the image
cv2.imshow("Object Detection", img)
cv2
aplikacije
ИОЛОв5 је снажан модел идентификације објеката. Дакле, можемо га искористити у многим сценаријима из стварног света. Једна од најистакнутијих употреба је у аутомобилима који се сами возе. ИОЛОв5 може да идентификује предмете у реалном времену као што су аутомобили и семафори.
У системима за надзор, можемо да користимо ИОЛОв5 за препознавање и праћење објеката у видео стримовима уживо. Штавише, ИОЛОв5 може бити велика предност у роботици. Може помоћи роботима да открију и схвате своју околину. Ово је изузетно важно за активности као што су навигација и манипулација.
ИОЛОв5 се такође може користити у било којој индустрији која захтева детекцију објеката, као што су малопродаја, спорт, медицина и безбедност.
Zakljucak
Коначно, ИОЛОв5 је најновија и софистицирана верзија ИОЛО породице откривање објекта модела
. Такође, поштено је рећи да је то најпрецизнији доступан модел детекције објеката. Захваљујући високој прецизности и брзини, можете безбедно да га изаберете за своје пројекте детекције објеката.
Рески Агус
Направио сам први дневник о возилу за детекцију са иолов5 и овај веб ми помаже да тражим информације о томе.
Веома сам заинтересован за АИ.
ако можете, имам пуно питања о АИ, можда ми можете помоћи
Хвала вам