Мазмуну:

Реалдуу иштеген Гарри Поттер таякчасы компьютердин көрүнүшүн колдонот: 8 кадам (сүрөттөр менен)
Реалдуу иштеген Гарри Поттер таякчасы компьютердин көрүнүшүн колдонот: 8 кадам (сүрөттөр менен)

Video: Реалдуу иштеген Гарри Поттер таякчасы компьютердин көрүнүшүн колдонот: 8 кадам (сүрөттөр менен)

Video: Реалдуу иштеген Гарри Поттер таякчасы компьютердин көрүнүшүн колдонот: 8 кадам (сүрөттөр менен)
Video: Кызыктуу ачылыш! ~ Ташталган 17-кылымдагы Хогвартс стилиндеги сепил 2024, Июль
Anonim
Image
Image
Реалдуу иштеп жаткан Гарри Поттер таякчасы компьютердик көрүнүштү колдонуу
Реалдуу иштеп жаткан Гарри Поттер таякчасы компьютердик көрүнүштү колдонуу
Реалдуу иштеп жаткан Гарри Поттер таякчасы компьютердик көрүнүштү колдонуу
Реалдуу иштеп жаткан Гарри Поттер таякчасы компьютердик көрүнүштү колдонуу
Реалдуу иштеп жаткан Гарри Поттер таякчасы компьютердик көрүнүштү колдонуу
Реалдуу иштеп жаткан Гарри Поттер таякчасы компьютердик көрүнүштү колдонуу

"Ар кандай жетишерлик өнүккөн технология сыйкырдан айырмаланбайт" - Артур 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 механизми үчүн:

  1. Мен кутунун арт жагына жакын жердеги сервону кутунун четине жакын картон кагазына чаптадым.
  2. Анан мен циклдин дөңгөлөгүнөн сүйлөмдү алып, сервонун колуна ысык желимдедим.
  3. Баяндаманын экинчи учу зымдын жардамы менен кутунун капкагына бекитилген.
  4. Позитивдүү серво Raspberry Piдеги +5V Pin 2ге туташкан.
  5. Сервонун терсдиги GND Pin 39 менен туташкан.
  6. Серво сигналы Pin 12ге туташкан

8 -кадам: Кутуну Гарри Поттердин тематикасына айлантуу

Кутуну жасоо Гарри Поттер тематикалык
Кутуну жасоо Гарри Поттер тематикалык
Кутуча жасоо Гарри Поттер тематикалык
Кутуча жасоо Гарри Поттер тематикалык
Кутуну жасоо Гарри Поттер тематикалык
Кутуну жасоо Гарри Поттер тематикалык

Гарри Поттердин кутусун жасоо үчүн, мен A4 форматындагы жалтырак баракчага Гарри Поттер Логосу, Хогвартс Крести, Төрт Үйдүн Крести сыяктуу ар кандай нерселердин түстүү сүрөттөрүн басып чыгардым жана аларды ар кандай кутуга чаптадым. жерлер.

Мен ошондой эле тилкелерди кесүү үчүн сары түстүү баркыт баракчасын колдондум жана капкакка чаптадым, кутуга Гриффиндор үйүнүн түсүнө окшош түстү бердим. Мен капкактын ичин жана жашыл баркыт барак менен серво үчүн картонду жаптым. Капкактын ичине мен Хогвартс мектебинин ар бир үйүн чагылдырган жаныбарларды чагылдырган башка символдорду жана эмблеманы чаптадым.

Анан мен акыры Гарри Поттерге байланыштуу нерселеримди кутуга салып койдум, анын ичинде Гриффиндор үнсүздүгү, Хогвартс формасы менен күндөлүк жана бул долбоордо колдонулган Улук таякча бар: D

Сунушталууда: