Объект илрүүлэх нь мэдрэлийн сүлжээ нь зураг дээрх зүйлсийг урьдчилан харж, тэдгээрийн эргэн тойронд хязгаарлах хайрцаг зурдаг дүрсийг ангилах нэг төрөл юм. Урьдчилан тогтоосон ангилалд нийцсэн зураг дээрх зүйлсийг илрүүлэх, нутагшуулахыг объект илрүүлэх гэж нэрлэдэг.
Объект илрүүлэх (объект таних гэж нэрлэдэг) нь компьютерийн харааны онцгой чухал дэд домайн юм, учир нь илрүүлэх, таних, нутагшуулах зэрэг ажлууд нь бодит нөхцөл байдалд өргөн хэрэглэгдэх болно.
YOLO арга нь эдгээр ажлыг хийхэд тань тусална. Энэ эссэ дээр бид YOLO-г юу болох, хэрхэн ажилладаг, өөр өөр хувилбарууд гэх мэтийг нарийвчлан авч үзэх болно.
Тэгэхээр YOLO гэж юу вэ?
YOLO бол гэрэл зураг дээрх бодит цагийн объектыг таних, таних арга юм. Энэ нь "Та зөвхөн нэг удаа хараарай" гэсэн үгийн товчлол юм. Рэдмонд нар. Энэ аргыг 2015 онд IEEE/CVF-ийн Компьютерийн хараа ба хэв маягийг таних (CVPR) конференц дээр анх хэвлэгдсэн илтгэлдээ санал болгосон.
OpenCV People's Choice шагналыг тус сонинд гардуулав. Илрүүлэхийн тулд ангилагчийг өөрчилсөн өмнөх объектыг таних аргуудаас ялгаатай нь YOLO нь төгсгөлөөс төгсгөлийг ашиглахыг санал болгож байна. мэдрэлийн сүлжээ Энэ нь хязгаарлах хайрцаг болон ангийн магадлалыг нэгэн зэрэг урьдчилан таамаглаж байна.
YOLO нь объектыг таних цоо шинэ хандлагыг ашиглан хамгийн сүүлийн үеийн үр дүнг гаргадаг бөгөөд өмнөх бодит цагийн объект илрүүлэх аргуудаас амархан давж гардаг.
YOLO ажиллаж байна
YOLO арга нь зургийг N сүлжээнд хуваадаг бөгөөд тус бүр нь ижил хэмжээтэй SxS хэмжээст сектортой. Эдгээр N сүлжээ бүр нь түүнд агуулагдаж буй объектыг илрүүлэх, байршуулах үүрэгтэй.
Эдгээр сүлжээнүүд нь эргээд нүдний координаттай харьцуулахад B хязгаарлах хайрцагны координатууд, мөн зүйлийн нэр болон нүдэнд байгаа объектын магадлалыг урьдчилан таамагладаг. Төрөл бүрийн хязгаарлах хайрцагны таамаглал бүхий ижил зүйлийг урьдчилан таамагласан олон нүднүүдийн улмаас энэ техник нь тооцооллыг эрс багасгадаг, учир нь илрүүлэх, таних үйлдлийг зураг дээрх нүднүүд гүйцэтгэдэг.
Гэсэн хэдий ч энэ нь маш олон давхардсан таамаглалыг гаргадаг. Энэ асуудлыг шийдэхийн тулд YOLO нь дээд зэргийн бус даралтыг ашигладаг. YOLO нь Non-Maximal Suppression-д магадлал багатай оноо бүхий бүх хязгаарлах хайрцгийг дардаг.
YOLO нь сонголт бүртэй холбоотой магадлалын оноог судалж, хамгийн өндөр оноо авсан нэгийг сонгох замаар үүнийг хийдэг. Дараа нь одоогийн өндөр магадлалтай хязгаарлах хайрцагтай нэгдэл дээрх хамгийн том огтлолцол бүхий хязгаарлах хайрцагнууд дарагдсан байна.
Энэ процессыг хязгаарлах хайрцгууд дуусах хүртэл үргэлжилнэ.
YOLO-ийн өөр өөр хувилбарууд
Бид хамгийн түгээмэл YOLO хувилбаруудыг авч үзэх болно. Эхэлцгээе.
1. YOLOv1
YOLO-ийн анхны хувилбарыг 2015 онд хэвлэлд зарласан.Та зөвхөн нэг удаа харна: Нэгдсэн, бодит цагийн объект илрүүлэх” Жозеф Редмон, Сантош Диввала, Росс Гиршик, Али Фархади нар.
Хурд, нарийвчлал, суралцах чадвараараа YOLO нь объектыг таних талбарт хурдан давамгайлж, хамгийн өргөн хэрэглэгддэг алгоритм болсон. Зохиогчид объект илрүүлэх асуудлыг ангиллын асуудал гэж үзэхийн оронд үүнийг газарзүйн хувьд тусгаарлагдсан хязгаарлах хайрцаг, холбогдох ангиллын магадлал бүхий регрессийн асуудал болгон авч үзсэн бөгөөд тэд үүнийг нэг хувилбар ашиглан шийдсэн. мэдрэлийн сүлжээ.
YOLOv1 нь секундэд 45 фрэймийн хурдтай зургийг бодит цаг хугацаанд боловсруулдаг байсан бол жижиг хувилбар болох Fast YOLO нь секундэд 155 фрэймийн хурдтай боловсруулагдсан бөгөөд бусад бодит цагийн детекторуудаас хоёр дахин их mAP-ыг авсан хэвээр байна.
2. YOLOv2
Жилийн дараа, 2016 онд Жозеф Редмон, Али Фархади нар YOLOv2 (мөн YOLO9000 гэгддэг) "" сонинд нийтлэв.YOLO9000: Илүү сайн, хурдан, илүү хүчтэй. "
Бодит цагийн горимд ажиллаж байхдаа 9000 өөр зүйлийн ангиллыг хүртэл урьдчилан таамаглах чадвартай загвар нь 9000 гэсэн тодотголыг авчирсан. Загварын шинэ хувилбар нь объект илрүүлэх, ангилах өгөгдлийн багцад нэгэн зэрэг сургагдсан төдийгүй Darknet-19-ийг шинэ суурь болгон авчээ. загвар.
YOLOv2 нь бас том амжилт болж, богино хугацаанд объект таних дараагийн орчин үеийн загвар болсон тул бусад инженерүүд алгоритмыг туршиж, өөрсдийн өвөрмөц YOLO хувилбаруудыг гаргаж эхэлсэн. Тэдгээрийн заримыг нийтлэлийн янз бүрийн хэсэгт авч үзэх болно.
3. YOLOv3
Цаасан дээр "YOLOv3: Өсөн нэмэгдэж буй сайжруулалт,” Жозеф Редмон, Али Фархади нар 2018 онд алгоритмын шинэ хувилбарыг нийтэлсэн. Энэ нь Darknet-53 архитектур дээр бүтээгдсэн. Бие даасан логистик ангилагч нь YOLOv3 дахь softmax идэвхжүүлэх механизмыг сольсон.
Сургалтын явцад хоёртын хөндлөн энтропийн алдагдлыг ашигласан. Darknet-19-ийг сайжруулж, Darknet-53 гэж нэрлэсэн бөгөөд одоо 53 эргэлтийн давхаргатай. Үүнээс гадна, таамаглалыг гурван өөр масштабаар хийсэн бөгөөд энэ нь YOLOv3-д жижиг зүйлийг урьдчилан таамаглах нарийвчлалыг нэмэгдүүлэхэд тусалсан.
YOLOv3 нь Joseph Redmon-ийн эцсийн YOLO хувилбар байсан, учир нь тэрээр өөрийн ажлыг дэлхий дахинд сөрөг нөлөө үзүүлэхээс зайлсхийхийн тулд цаашид YOLO-г сайжруулах (эсвэл бүр компьютерийн харааны талбарт) дээр ажиллахгүй байхыг сонгосон юм. Одоо үүнийг ихэвчлэн объект илрүүлэх өвөрмөц архитектурыг бүтээх эхлэл болгон ашигладаг.
4. Ёлов4
Алексей Бочковский, Чиен-Яо Ван, Хун-Юан Марк Ляо нар "YOLOv4: Объект илрүүлэх оновчтой хурд ба нарийвчлал” 2020 оны XNUMX-р сард YOLO алгоритмын дөрөв дэх давталт байсан.
Жинжүүлсэн үлдэгдэл холболтууд, үе шат дамнасан-хэсэгчилсэн холболтууд, хөндлөн мини багцыг хэвийн болгох, өөрийгөө дайсагналцах сургалт, mish идэвхжүүлэлт, уналтын блок, CIoU алдагдал зэргийг SPDarknet53 архитектурын нэг хэсэг болгон нэвтрүүлсэн.
YOLOv4 нь YOLO гэр бүлийн удам боловч үүнийг тусдаа эрдэмтэд (Иосеф Редмон, Али Фархади биш) боловсруулсан. SPDarknet53 нуруу, орон зайн пирамидын нэгдэл, PANet замын нэгтгэл нь хүзүү, YOLOv3 толгой нь түүний архитектурыг бүрдүүлдэг.
Үүний үр дүнд YOLOv3 нь эцэг эх болох YOLOv4-тай харьцуулахад 10%-иар дундаж нарийвчлал, 12%-иар секундэд фрэйм хэмжигдэхүүнээр илүү өндөр үзүүлэлттэй байна.
5. YOLOv5
YOLOv5 нь COCO өгөгдлийн багц дээр урьдчилан бэлтгэгдсэн YOLO загварт суурилсан олон төрлийн объект таних загвар, алгоритмуудыг агуулсан нээлттэй эхийн төсөл юм.
YOLOv5 нь нийлмэл масштабтай объект таних загваруудын цуглуулга юм TTA, загвар угсрах, гиперпараметр боловсруулах, ONNX, CoreML, TFLite-д экспортлоход хялбар чадвартай COCO датасет дээр бэлтгэгдсэн. YOLOv5 нь ямар нэгэн өвөрмөц хандлагыг хэрэгжүүлдэггүй, боловсруулдаггүй тул албан ёсны баримт бичгийг гаргаж чадсангүй. Энэ бол зүгээр л YOLOv3-ийн PyTorch өргөтгөл юм.
Ultranytics энэ хувилбарыг ашиглан "шинэ YOLO" хувилбарыг ивээн тэтгэсэн. Урьдчилан бэлтгэгдсэн таван загварт хандах боломжтой тул YOLOv5-ийн нүүр хуудас нь YOLOv5 загварыг сургах, ашиглах талаар хэд хэдэн хичээл, зөвлөмжийг агуулсан, маш энгийн бөгөөд мэргэжлийн бүтэцтэй, бичигдсэн байдаг.
YOLO хязгаарлалт
Хэдийгээр YOLO бол асуудлыг шийдэх хамгийн шилдэг арга юм объект илрүүлэх асуудлууд, энэ нь хэд хэдэн сул талуудтай. Сүлжээ бүр нь зөвхөн нэг зүйлийг тодорхойлж чаддаг тул YOLO нь бүлгээрээ гарч буй зургуудаас жижиг зүйлийг олж, ялгахад бэрхшээлтэй байдаг. Шоргоолжны сүрэг гэх мэт бөөгнөрөл доторх жижиг зүйлсийг YOLO-д таних, олоход хэцүү байдаг.
Fast RCNN гэх мэт илүү удаан объектыг таних аргуудтай харьцуулахад YOLO нь мөн адил бага нарийвчлалтай байдаг.
YOLOv5 ашиглаж эхлээрэй
Хэрэв та YOLOv5-г хэрхэн ажиллаж байгааг харахыг сонирхож байгаа бол эндээс үзээрэй албан ёсны GitHub болон PyTorch дахь YOLOv5.
Дүгнэлт
YOLOv5-ийн анхны хувилбар нь маш хурдан, гүйцэтгэлтэй, хэрэглэхэд хялбар юм. YOLOv5 нь YOLO гэр бүлд ямар нэгэн шинэ загвар архитектур нэмдэггүй ч объект илрүүлэгчийн орчин үеийн байдлыг сайжруулсан PyTorch-ийн шинэ сургалт, байршуулалтын хүрээг өгдөг.
Цаашилбал, YOLOv5 нь хэрэглэгчдэд маш ээлтэй бөгөөд захиалгат объект дээр ашиглахад бэлэн "хайрцагнаас" гарч ирдэг.
хариу үлдээх