Технологията за откриване на обекти се развива бързо и намира нови приложения в различни индустрии, като позволява на машините да възприемат и интерпретират визуална информация от реалния свят за широк спектър от задачи. Използва се в здравни заведения за различни задачи, като идентифициране на анатомични ориентири, медицинско изображение, откриване на тумори или лезии; при автономно шофиране разпознаването на обекти помага за откриването на обекти като превозни средства, велосипедисти и препятствия...

Но за извършване на този тип анотация, алгоритмите за „откриване на обекти“ като R-CNN, YOLO, SSD автоматично се учат. Нека отидем с VinLab, за да открием архитектурата, функциите и производителността на тези три известни алгоритъма.

Алгоритмите за „откриване на обекти“ се класифицират като цяло в две категории въз основа на това колко пъти едно и също входно изображение преминава през мрежа.

1. По-бърз R-CNN

Какво е R-CNN?

R-CNN, или региони с функции на CNN, е модел за идентификация на обекти, който използва предложения за региони отгоре надолу и CNN с голям капацитет за локализиране и сегментиране на обекти. Той използва селективно търсене, за да намери редица потенциални обектни региони на ограничителна кутия („интересни региони“) и след това независимо извлича характеристики за класифициране от всеки регион.

Ключови компоненти на Faster R-CNN

Нека открием 4 компонента на Faster R-CNN алгоритмите

  1. Регионална мрежа за предложения (RPN): По-бързият R-CNN въвежда RPN, който споделя конволюционни слоеве с мрежата за откриване на обекти. RPN генерира предложения за региони, които са потенциални предложения за ограничителна кутия за обекти в изображение. RPN е проектиран да предлага ефективно региони на интерес (RoIs) с помощта на анкерни кутии в различни мащаби и аспектни съотношения и прогнозира вероятността за присъствие на обект и координатите на ограничаващите кутии.
  2. Обединяване на региони на интерес (RoI): Обединяването на RoI се използва за подравняване на характеристиките във всеки предложен регион към фиксиран размер, който служи като вход за следващите слоеве на мрежата. Това позволява на Faster R-CNN да обработва ефективно обекти с различни размери и пропорции и позволява на мрежата да бъде обучавана от край до край.
  3. Конволюционна невронна мрежа (CNN): По-бързият R-CNN използва CNN за извличане на функции от входното изображение и ROI, генерирани от RPN. CNN обикновено се състои от множество конволюционни слоеве, последвани от напълно свързани слоеве, които научават разграничителни характеристики от входното изображение за откриване на обект.
  4. Глава за класификация и регресия: Faster R-CNN има глава за класификация и глава за регресия, които приемат функциите от обединяването на ROI като входни данни. Класификационната глава прогнозира вероятността всеки RoI да принадлежи към различни класове обекти, докато регресионната глава прогнозира прецизните координати на ограничаващите полета за всеки

2. YOLO (You Only Look One)

Какво е YOLO?

You Only Look Once (YOLO) предлага използването на невронна мрежа от край до край, която прави прогнози за ограничаващи кутии и вероятности за клас наведнъж

Той се отличава от другите алгоритми за откриване на обекти поради своя уникален подход за третиране на откриването на обекти като единичен регресионен проблем, което го прави по-бързо и по-просто в сравнение с други методи.

Ключови компоненти на YOLO

YOLO има 6 компонента:

  1. Откриване, базирано на решетка: YOLO разделя входното изображение на решетка от клетки и прогнозира ограничаващи полета и вероятности за клас директно върху тази решетка. Всяка клетка от мрежата е отговорна за прогнозирането на фиксиран брой ограничаващи кутии (често 2 или 3) и свързаните с тях вероятности за клас. Този базиран на мрежа подход позволява на YOLO да открива обекти на различни места в изображението с едно преминаване през мрежата, което го прави много ефективен.
  2. Anchor Boxes: YOLO използва anchor boxes, известни също като предишни кутии, които са предварително дефинирани форми на ограничителни кутии с различни аспектни съотношения и мащаби. Тези анкерни кутии се използват за прогнозиране на координатите на ограничаващите кутии за открити обекти. YOLO прогнозира отместванията (т.е. координатите) на анкерните кутии по отношение на границите на земната истина, което позволява точно локализиране на обекти
  3. Конволюционна невронна мрежа (CNN): YOLO използва CNN като своя базова мрежа за извличане на функции. Този CNN обработва входното изображение и генерира карти на функции, които улавят характеристиките на обекта в различни мащаби и разделителни способности.
  4. Конкатенация на функции: YOLO обединява картите на функциите от различни слоеве на CNN, за да улови функции както на ниско, така и на високо ниво. Това позволява откриването на обекти с различни размери и сложност.
  5. Не-максимално потискане (NMS): След предвиждане на вероятностите на класа и координатите на ограничителната кутия, YOLO извършва не-максимално потискане (NMS), за да филтрира излишните и припокриващи се ограничаващи кутии. NMS помага при избора на най-уверените и точни ограничителни кутии за крайните резултати от откриване.
  6. Откриване на множество класове: YOLO е в състояние да открива обекти от множество класове в едно преминаване на невронна мрежа. Предсказва вероятностите за класове за всяка ограничаваща кутия, позволявайки откриване на обекти от няколко класа в един изстрел.

3. SSD (откриване на единичен изстрел)

Какво е SSD?

SSD (Single Shot MultiBox Detector) е алгоритъм за откриване на обекти, предложен от Wei Liu et al. през 2016 г. Това е популярен алгоритъм за откриване на обекти в реално време, който е известен със своята точност и ефективност. SSD се основава на концепцията за анкерни кутии, подобна на YOLO, но с някои ключови разлики в архитектурата и подхода.

Ключови компоненти на SSD

7 компонента ключови компоненти на SSD включват:

  1. Базова конволюционна мрежа: SSD започва с базова конволюционна мрежа, обикновено предварително обучена дълбока невронна мрежа, като VGG, ResNet или MobileNet, която служи като екстрактор на функции. Тази мрежа обработва входното изображение и генерира поредица от карти с различни разделителни способности.
  2. Многомащабни карти на функции: SSD използва набор от карти на функции с различни разделителни способности, получени от основната конволюционна мрежа. Тези карти на функции улавят обектни характеристики в различни мащаби, позволявайки на SSD да открива ефективно обекти с различни размери.
  3. Anchor Boxes: SSD използва anchor boxes, известни също като предишни кутии, на всяко местоположение на картата на характеристиките. Тези закотвени кутии са предварително дефинирани форми на ограничителна кутия с различни аспектни съотношения и мащаби. SSD прогнозира отместванията и вероятностите за класове за тези анкерни кутии, които служат като референтни кутии за откриване на обекти.
  4. Локализационни слоеве: SSD добавя локализационни слоеве в горната част на всяка карта на характеристиките, за да предскаже отместванията (т.е. координатите) на кутиите за закотвяне по отношение на границите на земната истина. Тези отмествания се използват за прецизиране на анкерните кутии и подобряване на точността на локализиране на откритите обекти.
  5. Класификационни слоеве: SSD добавя класификационни слоеве в горната част на всяка карта на характеристиките, за да предвиди вероятностите за класове за всяка опорна кутия. Тези вероятности представляват вероятността анкерна кутия да съдържа обект от определен клас. SSD използва многокласова класификация за предсказване на обектни класове, което позволява откриване на обекти от множество класове в едно преминаване.
  6. Feature Pyramid Network (FPN): SSD използва Feature Pyramid Network (FPN) за обединяване и използване на карти на функции от различни резолюции. Това позволява улавяне както на фини, така и на едрозърнести характеристики, подобрявайки точността на откриване на обекти.
  7. Не-максимално потискане (NMS): След предвиждане на вероятностите на класа и отместванията за анкерни кутии, SSD извършва не-максимално потискане (NMS), за да филтрира излишни и припокриващи се ограничаващи кутии. NMS помага при избора на най-уверените и точни ограничителни кутии за крайните резултати от откриване.

Благодарим, че прочетохте!

Ако търсите информация за изкуствен интелект, машинно обучение, общи концепции за данни или приложения за наука за медицински данни, следвайте ни, за да придобиете повече полезни знания по тези теми.

Контакт

Имейл: [email protected]

Twitter: https://twitter.com/VinLab_io

YouTube: https://www.youtube.com/@Vinlab-MedicalImageAnnotation

Проект с отворен код: https://github.com/vinbigdata-medical/vindr-lab