Мазмуну:
- 1 -кадам: Негизги идея жана керектүү бөлүктөр
- 2 -кадам: OpenCV модулун орнотуңуз
- 3 -кадам: Камера тоосун басып чыгаруу
- 4 -кадам: Камера тоосун бүтүрүү
- 5 -кадам: Машина үйрөнүү модели
- 6 -кадам: Мунун баарын жасоочу код
- 7 -кадам: кутучаны ачуу механизми
- 8 -кадам: Кутуну Гарри Поттердин тематикасына айлантуу
Video: Реалдуу иштеген Гарри Поттер таякчасы компьютердин көрүнүшүн колдонот: 8 кадам (сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
"Ар кандай жетишерлик өнүккөн технология сыйкырдан айырмаланбайт" - Артур C. Кларк
Бир нече ай мурун бир тууганым Жапонияга келип, Universal Vios студиясында Гарри Поттердин Сыйкырчылык дүйнөсүндө чыныгы сыйкырчылык тажрыйбасына ээ болгон.
Универсал студиясындагы Гарри Поттердин сыйкырдуу дүйнөсүндө, туристтер учунда ретро-чагылдыруучу мончоктору бар атайын жасалган таякчаларды колдонуп, белгилүү бир жерлерде (кыймыл тартуу тутуму орнотулган жерде) "чыныгы сыйкырды" аткара алышат. Таякчаларды чыныгы Олливандер дүкөнүнөн сатып алса болот, ал Гарри Поттер тасмаларында көрсөтүлгөндөй, бирок эсиңизде болсун: "Бул сыйкырчыны тандайт": P
Ошол жерлерде, эгерде адам таяк менен кандайдыр бир жаңсоону жасаса, кыймыл тартуу системасы жаңсоону тааныйт жана бардык жаңсалар белгилүү бир сыйкырга туура келет, бул фонтанды күйгүзүү сыяктуу айланасындагы белгилүү бир аракеттерди жаратат.
Ошентип, бул Нускамада мен кантип үйдө арзан жана эффективдүү кыймыл тартуу системасын түзө алаарыңызды көрсөтүп берем: "чыныгы сыйкырчылыкты" аткаруу үчүн таякчаңызды ачуу менен кутучаны ачыңыз: D кадимки эле түнкү көрүнүш камерасы, кээ бир электроника, жана OpenCV Computer Vision китепканасын жана Machine Learningди колдонуп, кээ бир питон коддору !!!
1 -кадам: Негизги идея жана керектүү бөлүктөр
Универсал студиясында Гарри Поттердин Сыйкырдуу Дүйнөсүнөн сатылып алынган таякчалардын учунда артка чагылуу мончогу бар. Бул артка чагылтуучу мончоктор кыймылдын тартуу системасында камера тарабынан берилген көп инфракызыл нурду чагылдырат. Демек, биз адамдар таякчанын абада кыймылдаганын анча айырмаланбаган бир учу катары кабылдаганыбызды, кыймыл тартуу системасы кабылдайт. видео агымында оңой изоляциялануучу жана адам тарткан үлгүнү таануу жана керектүү иш -аракетти аткаруу үчүн көзөмөлгө алына турган жаркын блок катары. Мунун баары реалдуу убакытта ишке ашат жана Computer Vision жана Machine Learningди колдонот.
Жөнөкөй Night Vision камерасын кыймылга тартуу үчүн биздин камера катары колдонсо болот, анткени алар адамдарга көрүнбөгөн инфракызыл нурду жарышат, бирок аны инфракызыл чыпкасы жок камера менен так көрүүгө болот. Ошентип, камерадан келген видео агымы таякчанын учун аныктоо, изоляциялоо жана көзөмөлдөө үчүн колдонулган OpenCV менен иштеген питон программасы бар малина пи менен камсыздалат. Андан кийин биз SVM (Simple Vector Machine) Machine Learning алгоритмин колдонуп, тартылган үлгүнү тааныйбыз жана ошого жараша кээ бир иш -аракеттерди аткаруу үчүн малина пиинин GPIOдорун көзөмөлдөйбүз.
Керектүү материалдар:
1) B Raspberry Pi 3 модели B жана клавиатура жана чычкан сыяктуу керектүү аксессуарлар
2) Raspberry Pi NoIR (Infrared жок) Камера модулу
3) Гарри Поттер таякчасы учунда ретрлифлектор менен: Эгер жок болсо кабатыр болбоңуз. Ретрорефлектору бар нерсени колдонсо болот. Ошентип, сиз таякчага окшогон ар кандай таякчаны колдонуп, учунда ретрофлектор лента, боек же мончок колдонсоңуз болот жана ал видеодо Уильям Осман көрсөткөндөй иштеши керек: Видеону көрүңүз
4) 10 Infrared LED
5) Сиз тандаган 3D принтер жана PLA жипчеси
6) 12V - 1A Wall адаптери жана DC уячасы
7) Серво мотору
8) Эски куту жана циклдин дөңгөлөгүнөн сүйлөө
9) ысык желим тапанча
10) Гарри Поттер менен байланышкан логотиптерди жана сүрөттөрдү Glossy Sheet баракчасына басып чыгаруу
11) Жашыл жана сары баркыт шейшептер.
ЭСКЕРТҮҮ: Мен түнкү көрүнүш үчүн эски кадимки вебкамераны колдонууга аракет кылдым, анын инфракызыл чыпкасын алып салдым, бирок анын линзасын бузуп/жылдырдым, бул видеонун сапатына чоң таасирин тийгизди жана мен аны колдоно албай койдум. Бирок, эгер сиз ага бир нерсе бергиңиз келсе, анда бул улуу көрсөтмө аркылуу чыксаңыз болот Бул жерди басыңыз
2 -кадам: OpenCV модулун орнотуңуз
Эми бул долбоордун биринчи жана, балким, эң узак кадамы: Raspberry Piдеги OpenCV модулун орнотуу жана куруу.
OpenCV модулуна көз карандылыкты орнотуу көп убакытты талап кылбайт, бирок куруу процесси 2-3 саатка чейин созулушу мүмкүн !! Ошентип, бүктө !!: P
OpenCV 4.1.0 модулун орнотуу үчүн онлайнда көптөгөн окуу куралдары бар. Бул жерде мен ээрчигендин шилтемеси: Бул жерди басыңыз
ЭСКЕРТҮҮ: OpenCV модулун үйрөткүчтө көрсөтүлгөндөй виртуалдык чөйрөгө орнотууну сунуштайм, анткени ал ар кандай модулдардын көз карандылыгын орнотуудан же pythonдун ар кандай версиялары менен иштөөдө келип чыгышы мүмкүн болгон ар кандай конфликттерди алдын алат.
3 -кадам: Камера тоосун басып чыгаруу
NoIR пикамерасында инфракызыл чыпкасы жок, ошондуктан түнкү көрүнүш камерасы катары колдонсо болот, бирок инфракызыл жарык булагы жок. Бардык түнкү камералардын өз инфракызыл жарык булагы бар, алар караңгыда көзгө көрүнбөгөн караңгыда IR нурларын жок кылат, бирок эч кандай инфрақызыл чыпкасы жок камера аркылуу нурларды кандайдыр бир нерседен чагылгандан кийин көрө алышат.
Ошентип, бизге негизинен инфракызыл жарык булагы жана камераны орнотуу үчүн бир нерсе керек. Бул үчүн мен объекттин жөнөкөй 3D моделин иштеп чыктым, анда камераны тегеректе 10 IR лед менен курчап алабыз. Модель SketchUp менен түзүлгөн жана болжол менен 40 мүнөттө Black PLA менен басылган.
4 -кадам: Камера тоосун бүтүрүү
Моделди басып чыгаргандан кийин, мен аны алгач 80 кумдуу кагаз менен сүртүп, анан жогоруда берилген схемага ылайык IR ледтерди тешиктерине сала баштадым.
Мен ледтерди бир аз ысык клей менен бекемдедим, андан кийин эки леддин оң жана терс коргондорун бириктирдим, андан кийин ледтердин бир катар байланышын түзүү үчүн аларды ширеттим.
12 вольттогу дубал адаптеринен оң жана терс учтарын туташтыруу үчүн, бир коргошундун оң коргошун жана анын түбүндөгү терс коргошундун эшиги солетсиз калган.
5 -кадам: Машина үйрөнүү модели
Бир адам тарткан катты таануу максатында, мен бул жерден тапкан кол жазма англис алфавиттеринин маалымат базасын колдонуу менен Support Vector Machine (SVM) алгоритмине негизделген машинаны үйрөнүү моделин үйрөттүм. SVMлер - бул машинаны үйрөнүүнүн абдан натыйжалуу алгоритмдери, бул учурда жогорку тактыкты бере алат, бул учурда болжол менен 99.2% !! SVMлер жөнүндө көбүрөөк окуңуз
Маалыматтар топтому.csv файл түрүндө, анда 785 мамыча жана 300 000ден ашуун саптар бар, анда ар бир сап 28 x 28 сүрөттү билдирет жана ошол саптагы ар бир мамыча ошол график үчүн ошол пикселдин маанисин камтыйт. башында энбелгиси бар, 0дон 25ке чейинки сан, ар бири англис тамгасына туура келет. Жөнөкөй питон коду аркылуу мен каалаган 2 гана тамга (А жана С) үчүн бардык сүрөттөрдү алуу үчүн маалыматтарды кесип, аларга моделди үйрөттүм.
Мен үйрөтүлгөн моделди тиркеп койдум (alphab_classifier.pkl), ошондой эле тренинг коду ал аркылуу өтүүгө же моделди ар кандай тамгалар менен үйрөтүү үчүн же ар кандай алгоритмдерди колдонууга өзгөртүү киргизүүдөн тартынбайт. Программаны иштеткенден кийин, ал автоматтык түрдө кодуңуз сакталган каталогго үйрөтүлгөн моделди сактайт.
6 -кадам: Мунун баарын жасоочу код
Үйрөтүлгөн моделди түзгөндөн кийин, акыркы кадам биздин Raspberry Pi үчүн төмөнкүлөрдү кылууга мүмкүндүк берген питон программасын жазуу болуп саналат:
- Видео режиминде пикамерадан реалдуу убакытта кирүү
- Видеодогу ак тактарды (бул учурда түнкү көрүнүштө күйүп турган таякчанын учу) аныктап, байкаңыз
- Кандайдыр бир триггердик окуядан кийин видеодогу кыймылдын жолун издөөнү баштаңыз (төмөндө түшүндүрүлөт)
- Башка триггер окуясынан кийин издөөнү токтотуңуз (төмөндө түшүндүрүлөт)
- Колдонуучу тарткан үлгү менен акыркы кадрды кайтарыңыз
- Чектөө, ызы-чууну кетирүү, өлчөмүн өзгөртүү ж.
- Болжолдоо үчүн иштетилген акыркы кадрды колдонуңуз.
- Алдын ала айтылгандай, Raspberry Piнин GPIOдорун көзөмөлдөө менен кандайдыр бир сыйкырды жасаңыз
Бул долбоор үчүн мен Гарри Поттердин тематикалык кутусун түздүм, аны Raspberry Piнин GPIO тарабынан башкарылуучу сервопривод менен ачып -жабууга болот. 'A' тамгасы 'Alohamora' (Гарри Поттер тасмасындагы эң белгилүү сыйкырдын бири, сыйкырчы каалаган кулпуну ачууга мүмкүндүк берет) дегенди билдиргендиктен, эгер адам таяк менен А тамгасын тартса, пи сервого буйрук берет. кутучаны ачуу. Эгерде адам "C" тамгасын тартса, анда ал жабылат (мен жабуу же бекитүү үчүн колдонулган кандайдыр бир сыйкыр жөнүндө ойлоно алган жокмун), pi сервого кутуну жабууну буйрук кылат.
Сүрөттү/видеону иштетүү менен байланышкан бардык жумуштар, мисалы, блочту аныктоо, блобдун жолун издөө, акыркы кадрды алдын ала иштетүү ж.б. OpenCV модулу аркылуу жасалат.
Жогоруда айтылган триггер окуялары үчүн реалдуу убакытта эки жашыл жана кызыл тегерек түзүлөт. Блок жашыл тегеректин ичинде аймакка киргенде, программа ошол убактан кийин блоктун басып өткөн жолун издей баштайт, бул адамга тамга түзүүнү баштоого мүмкүндүк берет. Блок кызыл тегерекчеге жеткенде, видео токтойт жана акыркы алкак аны алдын ала аныктоого даяр кылуу үчүн кадрда алдын ала иштетүүнү аткарган функцияга өткөрүлөт.
Мен бул кадамга код файлдарын тиркеп койдум. Кааласаңыз, андан өтүңүз жана каалаган өзгөртүүлөрдү киргизиңиз.
ЭСКЕРТҮҮ: Ар кандай python версиялары менен иштеген эки өзүнчө питон файлын түзүүгө туура келди, алардын бири OpenCV модулун (Python 2.7), экинчиси sklearn модулун (Python 3.5) импорттогон, үйрөтүлгөн моделди жүктөгөндөн кийин болжолдоо үчүн, менин OpenCV орнотулган. Python 2.7 версиясы sklearn python 3.5 үчүн орнотулган. Ошентип, мен подпроцесс модулун HarryPotterWandsklearn.py файлын иштетүү үчүн (болжолдоо үчүн) HarryPotterWandcv.pyден (бардык ачык иштөө жана реалдуу убакытта видео жаздыруу үчүн) колдонуп, анын өндүрүшүн алдым. Бул жол менен мен гана HarryPotterWandcv.py файлын иштетишим керек.
7 -кадам: кутучаны ачуу механизми
Менде бул долбоор үчүн колдонгон эски кызыл түстөгү куту бар болчу.
Box-Opening механизми үчүн:
- Мен кутунун арт жагына жакын жердеги сервону кутунун четине жакын картон кагазына чаптадым.
- Анан мен циклдин дөңгөлөгүнөн сүйлөмдү алып, сервонун колуна ысык желимдедим.
- Баяндаманын экинчи учу зымдын жардамы менен кутунун капкагына бекитилген.
- Позитивдүү серво Raspberry Piдеги +5V Pin 2ге туташкан.
- Сервонун терсдиги GND Pin 39 менен туташкан.
- Серво сигналы Pin 12ге туташкан
8 -кадам: Кутуну Гарри Поттердин тематикасына айлантуу
Гарри Поттердин кутусун жасоо үчүн, мен A4 форматындагы жалтырак баракчага Гарри Поттер Логосу, Хогвартс Крести, Төрт Үйдүн Крести сыяктуу ар кандай нерселердин түстүү сүрөттөрүн басып чыгардым жана аларды ар кандай кутуга чаптадым. жерлер.
Мен ошондой эле тилкелерди кесүү үчүн сары түстүү баркыт баракчасын колдондум жана капкакка чаптадым, кутуга Гриффиндор үйүнүн түсүнө окшош түстү бердим. Мен капкактын ичин жана жашыл баркыт барак менен серво үчүн картонду жаптым. Капкактын ичине мен Хогвартс мектебинин ар бир үйүн чагылдырган жаныбарларды чагылдырган башка символдорду жана эмблеманы чаптадым.
Анан мен акыры Гарри Поттерге байланыштуу нерселеримди кутуга салып койдум, анын ичинде Гриффиндор үнсүздүгү, Хогвартс формасы менен күндөлүк жана бул долбоордо колдонулган Улук таякча бар: D
Сунушталууда:
Батарея менен иштеген офис. Күн системасы Чыгыш/Батыш Күн панелдери жана шамал турбинасы менен: 11 кадам (Сүрөттөр менен)
Батарея менен иштеген офис. Күн системасы Чыгыш/Батыш Күн панелдери жана шамал турбинасы менен которулат: Долбоор: 200 чарчы фут офис батарея менен иштеши керек. Офис ошондой эле бул система үчүн зарыл болгон бардык контроллерлерди, батареяларды жана компоненттерди камтышы керек. Күн жана шамал энергиясы батареяларды заряддайт. Кичине гана көйгөй бар
YouTube жазылуучусу электрондук кагазды көрсөтүү менен Raspberry Pi Zero Wди колдонот: 5 кадам (сүрөттөр менен)
E-Paper Display жана Raspberry Pi Zero W аркылуу YouTube жазылуучуларынын эсептегичи: Бул нускамада, мен сизге YouTube APIге суроо үчүн электрондук кагаз дисплейин жана Raspberry Pi Zero Wди кантип колдонууну көрсөтөм. жана дисплейди жаңыртыңыз. Электрондук кагаз дисплейлери мындай долбоор үчүн эң сонун, анткени алар
Гарри Поттер IR Remote Raspberry Pi менен: 5 кадам
Гарри Поттер IR Remote Raspberry Pi менен: Бул үйрөткүч Noble Collection тарабынан жасалган Гарри Поттер универсалдуу алыстан башкаруу таякчасы тарабынан башкарылган жөнөкөй Python скриптин кантип жасоону түшүндүрөт. Бул контроллер катары Raspberry Pi жана USB IR IR кабыл алгычын талап кылат
Гарри Поттер шляпасы Макей Макей менен: 4 кадам
Гарри Поттер шляпасы: Макей Макей менен: Гарри Поттердин ою боюнча, эң чоң планеталар
IoT мышык багуучу Alexa, SmartThings, IFTTT, Google Sheets менен интеграцияланган бөлүкчө фотондорун колдонот: 7 кадам (сүрөттөр менен)
IoT мышык багуучу Alexa, SmartThings, IFTTT, Google Sheets менен интеграцияланган бөлүкчөлөрдүн фотонун колдонот: Мышыктарды автоматтык түрдө азыктандыруунун зарылдыгы түшүнүктүү. Мышыктар (биздин мышыктын аты Белла) ачка болгондо жийиркеничтүү болушу мүмкүн жана эгер мышыгың меникиндей болсо, идишти кургак сайын жеп коёт. Мага көзөмөлдөнгөн тамак -ашты автоматтык түрдө берүүнүн жолу керек болчу