Мазмуну:
- 1 -кадам: Видео
- 2 -кадам: Аппараттык
- 3 -кадам: Коддун бөлүгү
- 4 -кадам: Сүрөттөрдү алуу
- 5 -кадам: Куралдар жана колдонулган тил
- 6 -кадам: Маалымат топтомун тренингге даярдоо
- 7 -кадам: Нейрон тармагы
- 8 -кадам: Нейрон тармагын окутуу
- 9 -кадам: Нейрон тармагын тестирлөө
- 10 -кадам: Жыйынтык жана кийинки бөлүк …
- 11 -кадам: Объекттерди аныктоо
- 12 -кадам: Видео
- 13 -кадам: Маркалоо
- 14 -кадам: GUIди белгилөө
- 15 -кадам: Китепканалар керек
- 16 -кадам: Калган клеткалар
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Бир нече күн мурун мен спорт залында оң колумду жарадар кылдым. Кийинчерээк мен компьютер чычканымды колдонгон сайын, ал билектин бурчунун кескиндигинен улам көп ооруну пайда кылды.
Мына ошондо мага "биз кандайдыр бир бетти трекпадга айландырсак сонун болбойт беле" жана мен эмнеге экенин билбейм, бирок эмнегедир аны ойлоп койгом, HER тасмасы, мен силерге түшүнүүгө уруксат берем чыгуу Бул кызыктуу ой болду, бирок мен муну кыла алаарымды билбедим, сынап көрүүнү чечтим.
Бул макалада андан эмне чыкканы жазылган.
Баштоодон мурун менде баш тартуу бар-
Бул макаланын аягында, мен эч кандай бетти трекпадга айландыра албадым, бирок мен көп нерсени үйрөнбөйм жана арсеналга чоң шаймандарды коштум. Сенин да башыңа келет деп үмүттөнөм '
Кел, баштайлы.
1 -кадам: Видео
Бул жерде бардык кадамдарды камтыган кичинекей 5 мүнөт видео бар. Карап көрүңүз.
2 -кадам: Аппараттык
Мен 45 см бийиктикте малина пи камерасы менен бирге малина пи орнотом. Бул бизге камеранын астында болжол менен 25x25 см өлчөмүндө мониторинг жүргүзүү мүмкүнчүлүгүн берет.
Малина пи жана малина пи камерасы оңой эле жеткиликтүү, аны жөн гана гуглда кылыңыз жана жергиликтүү дүкөндү таба алышыңыз керек.
Бул шилтемени же менин Raspberry pi ойнотмо тизмемдин бирин карап көрүңүз, башы жок пиңизди иштетүү үчүн.
Бул орнотуудан кийин, бизге камера көзөмөлдөгөн аймакта кол бар же жок экенин чечүүчү код керек.
3 -кадам: Коддун бөлүгү
Кызыккан чөйрө барбы же жокпу, чечим чыгарууга мүмкүндүк берген код, Neural Network деп аталган нерсени колдонот. Алар программалоо категориясына кирет, анда биз чечим кабыл алуу үчүн эрежелерди аныктабайбыз, бирок биз нейрон тармагына жетиштүү маалыматтарды көрсөтөбүз, ал эрежелерди өз алдынча чечет.
Биздин учурда, кандай колго окшош экенин коддоонун ордуна, биз колду камтыган жана колу жок малина пи тартып алынган нейрон тармагынын сүрөттөрүн көрсөтөбүз. Бул фаза нейрон тармагын окутуу деп аталат жана колдонулган сүрөттөр тренингдер топтому деп аталат.
4 -кадам: Сүрөттөрдү алуу
Мен малина пииме алыстан кирип, төмөнкү команданы колдонуу менен көптөгөн сүрөттөрдү тартып алдым.
sudo raspistill -w 640 -h 480 -rot 90 -t 250000 -t1 5000 -o кадр%04d.jpg
Мен колум менен 80 сүрөттү жана колу жок 80 сүрөттү тартып алдым. Нейрон тармагын туура үйрөтүү үчүн 160 сүрөт жетишсиз, бирок түшүнүктү далилдөө үчүн жетиштүү болушу керек.
160 сүрөттөн тышкары, мен үйрөтүлгөндөн кийин биздин тармакты текшерүү үчүн дагы 20 сүрөттү тарттым.
Дайындар топтому даяр болгондон кийин мен нейрон тармагына код жаза баштадым.
5 -кадам: Куралдар жана колдонулган тил
Мен нейрон тармагымды Keras деп аталган Python терең окуу китепканасына жаздым жана код анаконда навигаторунун jupyter дептерине жазылган.
6 -кадам: Маалымат топтомун тренингге даярдоо
Биринчиден (Image #1) Мен бул долбоорго керектүү бардык китепканаларды киргиздим, анын ичине PIL, matplotlib, numpy, os жана Keras кирет. Питон блокнотунун экинчи уячасында (Сүрөт #2) Мен маалымат топтомунун жолдорун аныктайм жана үлгүлөрдүн санын басып чыгарам. Эми биз бардык сүрөттөрдү напси массивине жүктөшүбүз керек, демек үчүнчү уячага (Сүрөт #2) Мен 82 (кол үлгүсүнүн саны) +75 (кол эмес үлгүнүн саны) б.а. 157x100x100x3 болгон массивди түздүм. 157 - мендеги сүрөттөрдүн жалпы саны, 100x100 - бул биздин өлчөмүбүздүн өлчөмү, 3 - сүрөттөгү кызыл, жашыл жана көк түстүү катмарлар үчүн.
Төртүнчү жана бешинчи уячага биз колу бар сүрөттөрдү жүктөйбүз, андан кийин numpy массивинде колу жок сүрөттөрдү жүктөйбүз. Алтынчы ячейкада, биз ар бир баалуулукту 255ке бөлөбүз, андыктан 0дон 1ге чейин маанини чектейбиз. (Сүрөт #3)
Тиркелген сүрөттөр жетишсиз болсо кечирим сурайм. Бул жерде кодду көрүү үчүн GITHUB репозиторийине шилтеме бар. Каталогдун аталыштарын өз жолуңуз менен алмаштырууну унутпаңыз:).
Коштоп баратат.
Андан кийин биз ар бир сүрөттү белгилешибиз керек, ошон үчүн узундугу 157 болгон бир өлчөмдүү numpy массивин түзөбүз. Биринчи 82 жазуу 1ге, калган 75 жазуу 0 нейрон тармагына орнотулган, биринчи 82 сүрөттөр бир класстан, ал эми калган класстан башка. (Image #4)
Эми нейрон тармагын түзөлү.
7 -кадам: Нейрон тармагы
Тогузунчу клеткада биз нейрон тармагыбызды аныктайбыз. Бул конвульсия катмарынын үч кайталанышын камтыйт, андан кийин 8, 12 жана 16 конвульсия чыпкалары бар maxpool катмарлары. Андан кийин бизде эки тыгыз нейрон тору бар. Бул кадам үчүн эки сүрөттү тиркөө. Биринчиси - бул нейрон тармагын түзүүчү коддун экинчиси, экинчиси - нейрон тармагынын сүрөттөлүштүн көлөмү жана аннотацияланган операциялары.
8 -кадам: Нейрон тармагын окутуу
Онунчу клеткада биз нейрон тармагын оптимизаторун "адамга" жана жоготуу функциясын "binary_crossentropy" кылып конфигурациялайбыз. Алар тармактын салмагы жаңыртылганда чоң роль ойнойт. Акыры, биз он биринчи клетканы иштеткенде, нейрон тармагы машыга баштайт. Тармак машыгып жатканда жоготуу функциясын карап, анын азайып баратканын текшериңиз.
9 -кадам: Нейрон тармагын тестирлөө
Нейрон тармагы үйрөтүлгөндөн кийин, биз тест маалымат топтомун даярдашыбыз керек. Биз тест комплексин түзүү үчүн тест маалыматтары боюнча 3, 4, 5 жана 6 -ячейкалардагы окуу комплексин даярдоо үчүн жасалган процедураны кайталайбыз. Биз ошондой эле тесттик топтомго этикетка даярдайбыз, бирок бул жолу алдын ала маалымат алуу үчүн жана машыгуу үчүн бул маалымат топтомунда моделди иштетебиз.
10 -кадам: Жыйынтык жана кийинки бөлүк …
Мен тесттин тактыгын 88% алдым, бирок муну бир чымчым туз менен алам, анткени бул моделди машыктыруу жана тестирлөө үчүн колдонулган маалымат абдан кичинекей жана бул моделди туура үйрөтүү үчүн жетишсиз.
Кандай болбосун, бул макала сизге жакты деп ишенем. Бул көнүгүүнүн артында менин ниетим азырынча толук эмес жана 2 -бөлүктү байкап көрүңүз. Колдон келишинче жүктөйм.
Кийинки бөлүктө, биз дагы бир нейрон тармагын үйрөтөбүз, ал бизге кол менен аныкталган сүрөттө жайгашкан жерибизди айтып берет.
Бардык суроолор ачык.
Эгерде кимдир бирөө менин кичинекей маалымат топтомумду колдонууга кызыкдар болсо, мага комментарийлерде билдириңиз. Мен аны жеткиликтүү кылам.
Окуу үчүн рахмат. Мен сени жакында экинчи бөлүгү менен көрөм, ошого чейин сен эмне үчүн нейрон тармагын түзүп, үйрөтпөйсүң.
Түзөтүү:- Кийинки кадамдар экинчи бөлүк үчүн.
11 -кадам: Объекттерди аныктоо
Мурунку кадамдарда биз тесттин сүрөтү колунда бар же жок экенин айткан NN түздүк. Анда эмне? Эгерде NN сүрөттү колу бар деп классификацияласа, биз колдун жайгашкан жерин билгибиз келет. Бул компьютердин көркөм адабиятында объекттерди аныктоо деп аталат. Келгиле, NNди так ошондой кылганды үйрөтөлү.
12 -кадам: Видео
Бардык калган кадамдарды түшүндүргөн 3 мүнөттүк видео. Карап көрүңүз.
13 -кадам: Маркалоо
Эгерде сиз нейрон тармагын колдун жайгашкан жерине чыгаргыңыз келсе, анда биз аны ушундай ыкма менен үйрөтүшүбүз керек, б.а. мурунку нейрон тармагынан айырмаланып, анда ар бир сүрөт кол менен жана колу жок деп белгиленген. Бул жолу колу бар бардык сүрөттөрдө ошол сүрөттөгү чектин кутусунун диагоналдык координаттарына туура келген төрт этикетка болот.
Csv файлынын тиркелген сүрөтү ар бир сүрөт үчүн энбелгини камтыйт. Көңүл буруңуз, координаттар сүрөт өлчөмү менен нормалдаштырылган, башкача айтканда, эгер жогорку X координаты 640 пиксель туурасындагы 320 -пикселде болсо, биз аны 0,5 деп белгилейбиз.
14 -кадам: GUIди белгилөө
Мен 82 сүрөттүн баарын кантип белгилеп койгом деп ойлонуп жаткандырсыңар, мен бул тапшырманы аткарууга жардам берген pythonдо GUI жазгам. Сүрөт GUIге жүктөлгөндөн кийин. Мен жогорку координаттын сол баскычын, ал эми колдун айланасындагы ыктымал чектөө кутусунун төмөнкү координатын оң баскыч менен чыкылдатам. Бул координаттар кийинки файлга жазылат, мен кийинки сүрөттү жүктөө үчүн кийинки баскычты басам. Мен бардык 82 поезд жана 4 тесттик сүрөттөр үчүн бул процедураны кайталадым. Этикеткалар даяр болгондон кийин, машыгуу убактысы келди.
15 -кадам: Китепканалар керек
Алгач биз бардык керектүү китепканаларды жүктөшүбүз керек. Кайсы кирет
- Сүрөт менен иштөө үчүн PIL,
- пландоо үчүн matplotlib,
- матрицанын иштеши үчүн numpy,
- OS операциялык системага көз каранды функциялар үчүн жана
- нейрон тармагы үчүн керас.
16 -кадам: Калган клеткалар
2, 3, 4 жана 5 -уячаларда биз сүрөттөрдү numpy массивине жүктөйбүз жана этикетка катары csv файлынан төрт өлчөмдүү массив түзөбүз. 6 -уячада биз нейрон тармагыбызды түзөбүз. Анын архитектурасы классификация үчүн колдонулган нейрон тармагына окшош, ал 4 эмес, 1 болгон чыгаруу катмарынын өлчөмүнөн башка. Башка айырмачылык жоготуу функциясынан келип чыгат, бул орточо чарчы ката. 8 -уячада биз нейрон тармагыбызды машыктыра баштайбыз, мен бул моделди тесттик топтомдо иштетип, чектөө кутусунун координаттарын жабуу боюнча божомолдорду алуу үчүн чуркадым, алар абдан так көрүндү.
Окуу үчүн рахмат.
Сунушталууда:
Хеллоуин ашкабагы кыймылдуу аниматроникалык көз менен - Бул ашкабак көзүн айланта алат!: 10 кадам (сүрөттөр менен)
Хеллоуин ашкабагы кыймылдуу аниматроникалык көз менен | Бул ашкабак көзүн айландыра алат! УЗИ сенсорунун триггер аралыкын туура мааниге тууралаңыз (9 -кадам), ошондо ашкабагыңыз таттуу алып кетүүгө батынган адамды ташка айлантат
Бул жайында салкын болгула: PC Fan Mod: 4 Steps (Сүрөттөр менен)
Бул жайда салкын болгула: PC күйөрмандарынын модулу: Кимде ошол PC күйөрмандарынын ондогону жок? Бул курууда мен сизге ошол желдеткичтерди жайдын ысык күндөрүндө жакшы жөндөлүүчү шамал чыгарууга кантип колдонууну көрсөтөм. Ал эми кадимки 9В батарейкасы менен жок дегенде 4 саат иштейт
Nike LED Swoosh! Бул бөлмө үчүн сонун декор. Бул ар бир адам кайталай турган бир долбоор.: 5 кадам
Nike LED Swoosh! Бул бөлмө үчүн сонун декор. Бул ар бир адам кайталай ала турган бир долбоор. .: Куралдар-тасма өлчөгүч-отвертка 2х жыгач 20-20-3000 2х фанера 500-1000мм-винт (45мм) 150х-бурама (35мм) 30х-скр
Arduino Singleplayer понгу- Эгерде бул, анда бул: 5 кадам
Arduino Singleplayer понгу-Эгерде бул, анда: Dit arduino долбоору 2 спеллер понгунун проектиси болуп саналат (https: //www.instructables.com/id/Portable-Arduino-a …) жалгыз оюнчу AI.Onderdelen менен жолугушту: Arduino Uno Nokia 5100 scherm. https: // ww
Arduino Neural Network роботу: 21 кадам (сүрөттөр менен)
Arduino Neural Network роботу: Бул көрсөтмө мен YouTube каналы үчүн жасаган 3 бөлүктөн турган серияга негизделген, анда сизге Arduino нейрон тармагынын роботун кантип жасоо, долбоорлоо, чогултуу жана программалоо көрсөтүлөт. Толук сериясын көргөндөн кийин, бетиңиз болушу керек