- Компоненте потребне
- Инсталирање ОпенЦВ-а у Распберри Пи
- Инсталирање осталих потребних пакета
- ТхингСпеак подешавање за бројање људи
- Постављање хардвера
- Објашњење програма Питхон за бројач људи
- Тестирање
У данашњем свету најсавременијих технологија, дигитална обрада слика расте врло брзо и постаје важан део многих дигиталних уређаја попут мобилних, сигурносних камера, преносних рачунара итд.
Најчешћа примена дигиталне обраде слика су откривање предмета, препознавање лица и бројач људи. Дакле, у овом упутству ћемо створити ОпенЦВ гомилу која броји користећи Распберри Пи и ТхингСпеак. Овде ће се модул пи камере користити за континуирано хватање оквира, а затим ће се ти оквири обрађивати помоћу ХОГ (дескриптор оријентисаног објекта хистограма) за откривање објеката на слици. Након тога, ови оквири ће се упоређивати са унапред обученим ОпенЦВ моделом за откривање људи. Бројање људи биће приказано на каналу ТхингСпеак који се може пратити са било ког места у свету.
Компоненте потребне
Хардвер
- Распберри Пи 3 (било која верзија)
- Пи Цамера
Софтвер и мрежне услуге
- ТхингСпеак
- Питхон3.0
- ОпенЦВ3.0
Инсталирање ОпенЦВ-а у Распберри Пи
Овде ће се ОпенЦВ библиотека користити за откривање гужве. Да бисте инсталирали ОпенЦВ, прво ажурирајте Распберри Пи.
судо апт-гет упдате
Затим инсталирајте потребне зависности за инсталирање ОпенЦВ-а на ваш Распберри Пи.
судо апт-гет инсталл либхдф5-дев -и судо апт-гет инсталл либхдф5-сериал-дев -и судо апт-гет инсталл либатлас-басе-дев -и судо апт-гет инсталл либјаспер-дев -и судо апт-гет инсталл либктгуи4 –И судо апт-гет инсталл либкт4-тест –и
Након тога, инсталирајте ОпенЦВ у Распберри Пи помоћу наредбе у наставку.
пип3 инсталирај опенцв-цонтриб-питхон == 4.1.0.25
Раније смо користили ОпенЦВ са Распберри пи и створили смо пуно водича на њему.
- Инсталирање ОпенЦВ-а на Распберри Пи помоћу ЦМаке-а
- Препознавање лица у стварном времену помоћу Распберри Пи и ОпенЦВ
- Препознавање регистарске таблице помоћу Распберри Пи и ОпенЦВ
Такође смо креирали серију водича за ОпенЦВ почевши од почетничког нивоа.
Инсталирање осталих потребних пакета
Пре програмирања Распберри Пи за бројање гужве, инсталирајмо остале потребне пакете.
Инсталирање имутилс-а : имутилс се користи за извршавање неколико неопходних функција обраде слика, као што су превођење, ротација, промена величине, скелетонизација и лакше приказивање Матплотлиб слика са ОпенЦВ-ом. Дакле, инсталирајте имутилс користећи наредбу испод:
пип3 инсталирати имутилс
матплотлиб : Након тога, инсталирајте матплотлиб библиотеку. Матплотлиб је свеобухватна библиотека за креирање статичких, анимираних и интерактивних визуелизација у Питхону.
пип3 инсталирај матплотлиб
ТхингСпеак подешавање за бројање људи
ТхингСпеак је веома популарна ИоТ платформа и помоћу платформе ТхингСпеак можемо да надгледамо своје податке преко Интернета са било ког места. Такође се користи за контролу система преко Интернета, користећи канале и веб странице које пружа ТхингСпеак. Раније смо користили ТхингСпеак за изградњу многих пројеката заснованих на ИоТ-у.
Да бисте прво креирали канал на ТхингСпеак, прво се пријавите на ТхингСпеак. Ако већ имате налог на ТхингСпеак, пријавите се користећи свој ИД и лозинку.
Кликните на Синг уп и унесите своје податке.
Након тога, потврдите свој е-маил и кликните на Настави.
Сада, након пријаве, створите нови канал кликом на дугме „ Нови канал “.
Након што кликнете на „ Нови канал“, унесите Име и Опис података које желите да отпремите на овај канал. Овде смо креирали једно поље под називом Људи . Може се створити више поља у складу са захтевима.
Након тога, кликните на дугме сачувај канал да бисте сачували детаље.
Да бисте послали податке ТхингСпеак-у, унесите АПИ кључ и ИД канала у Питхон скрипту, па копирајте АПИ кључ и ИД канала.
Постављање хардвера
Овде су нам потребни само Распберри Пи и Пи камера за овај ОпенЦВ пројекат бројања људи, а ви само требате да прикључите тракасти прикључак камере у отвор за камеру дат у Распберри пи
Пи камера се може користити за изградњу различитих занимљивих пројеката попут Распберри Пи надзорне камере, система за надгледање посетилаца, система кућне безбедности итд.
Објашњење програма Питхон за бројач људи
Комплетни питхон код за овај ОпенЦВ пројекат који броји гомилу је дат на крају странице. Овде објашњавамо важне одељке кода ради бољег објашњења.
Дакле, на почетку кода увезите све потребне библиотеке које ће се користити у овом пројекту.
увоз цв2 увоз имутилс из имутилс.објецт_детецтион увоз нон_мак_суппрессион увоз нумпи као нп захтеви за увоз време увоза импорт басе64 из матплотлиб импорт пиплот као плт са урллиб.рекуест импорт урлопен
Након увоза библиотека, унесите ИД канала ТхингСпеак и напишите АПИ кључ који сте раније копирали.
цханнел_ид = 812060 # ОВДЕ СТАВИТЕ ИД КАНАЛА ВРИТЕ_АПИ = 'Кс5АК3ЕГИКМБИВ31Х' # ОВДЕ СТАВИТЕ КЉУЧ ЗА ПИСАЊЕ БАСЕ_УРЛ = "хттпс://апи.тхингспеак.цом/упдате?апи_кеи= {}". формат (ВРИТЕ_АПИ)
Сада иницијализујте ХОГ (дескриптор оријентисаног објекта хистограма). ХОГ је једна од најпопуларнијих техника за откривање објеката и коришћена је у неколико апликација. цв2.ХОГДесцриптор_гетДефаултПеоплеДетецтор () који се користи за позивање унапред обученог модела ОпенЦВ-а за откривање људи. Претходно смо детаљно објаснили ХОГ у претходном водичу за ОпенЦВ.
хог = цв2.ХОГДесцриптор () хог.сетСВМДетецтор (цв2.ХОГДесцриптор_гетДефаултПеоплеДетецтор ())
Унутар детектора (), Пи прима РГБ слику подељену у три канала у боји. Након тога, величину слике смањује помоћу имутила . Затим позива методу детеМултиСцале () да анализира слику како би знао да ли постоји особа користећи резултат класификације из СВМ модела.
деф детектор (слика): имаге = имутилс.ресизе (слика, ширина = мин (400, имаге.схапе)) цлоне = имаге.цопи () рецтс, веигхтс = хог.детецтМултиСцале (имаге, винСтриде = (4, 4), попуњавање = (8, 8), скала = 1,05)
Понекад се оквири за хватање преклапају и генеришу лажне позитивне резултате или грешке у откривању, тако да доњи код примењује немаксимално сузбијање имутила на почетне преклопљене оквире.
за (к, и, в, х) у рецтс: цв2.рецтангле (слика, (к, и), (к + в, и + х), (0, 0, 255), 2) рецтс = нп.арраи (за (к, и, в, х) у рецтс]) резултат = нон_мак_суппрессион (рецтс, пробс = Ноне, оверлапТхресх = 0.7) ретурн ресулт
Унутар функције рецорд () он преузима слику директно са Пи камере помоћу методе ВидеоЦаптуре () из ОпенЦВ-а, мења је помоћу имултиса и шаље резултате ТхингСпеак-у.
деф запис (сампле_тиме = 5): цамера = цв2.ВидеоЦаптуре (0) фраме = имутилс.ресизе (фраме, видтх = мин (400, фраме.схапе)) ресулт = детецтор (фраме.цопи ()) тхингспеакХттп = БАСЕ_УРЛ + " & фиелд1 = {} ". формат (резултат1)
Тестирање
Пре покретања питхон скрипте, прво проверите да ли ваша ПИ камера ради или не. Након прегледа камере, покрените питхон скрипту издавањем следеће наредбе:
Тада ћете пронаћи прозор који се појављује са видео фидом у њему. Пи ће узети први кадар и обрадити га помоћу ОпенЦВ-а за откривање броја људи. Ако открије људе, око њега ћете пронаћи оквир попут овог:
Сада проверите свој ТхингСпеак канал, где можете пратити величину гужве са било ког места на свету.
На овај начин можете да направите ОпенЦВ бројање гужве користећи Распберри Пи. Радни видео и код дати су на крају странице.