Агуулгын хүснэгт:
- Алхам 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 11:04
Хэд хоногийн өмнө би биеийн тамирын зааланд баруун гарын бугуйгаа гэмтээсэн. Дараа нь би компьютерийн хулганыг ашиглах бүрт бугуйны өнцөг огцом өвдсөнөөс болж маш их өвддөг.
Тэр үед энэ нь "хэрэв бид ямар ч гадаргууг трекпад болгон хувиргаж чадвал тийм ч сайн биш байх болно" гэж хэлсэн бөгөөд яагаад гэдгийг нь мэдэхгүй ч яагаад ч юм би түүний тухай бодож байсан ЭНЭ кино, би танд үүнийг ойлгуулахыг зөвшөөрөх болно. гадагш Энэ бол сэтгэл хөдөлгөм бодол байсан, гэхдээ би чадах эсэхээ мэдэхгүй байсан тул туршиж үзэхээр шийдлээ.
Энэ нийтлэл нь үүнээс юу гарч ирснийг авч үзэх болно.
Эхлэхээсээ өмнө надад татгалзах зүйл байна.
'Энэ нийтлэлийн төгсгөлд би ямар ч гадаргууг trackpad болгон хувиргаж чадаагүй, гэхдээ би тийм ч сайн сураагүй, арсеналдаа том багаж хэрэгсэл нэмээгүй. Энэ нь танд бас тохиолдоно гэж найдаж байна '
Эхэлцгээе.
Алхам 1: Видео
Бүх алхамуудыг багтаасан жижигхэн 5 минутын видео бичлэг энд байна. Үүнийг хар даа.
Алхам 2: Техник хангамж
Би 45 см өндөрт бөөрөлзгөнө pi камер, бөөрөлзгөнө pi камерыг тохируулдаг. Энэ нь камерын доор ойролцоогоор 25х25 см хэмжээтэй хяналтын талбайг бидэнд өгдөг.
Бөөрөлзгөнө pi болон бөөрөлзгөнө пи камерыг хялбархан авах боломжтой, үүнийг зүгээр л google -ээр хий, та дотоодын дэлгүүрээ олох боломжтой байх ёстой.
Толгойгүй пи -ээ ажиллуулахын тулд энэ линк эсвэл миний Raspberry pi тоглуулах жагсаалтын нэгийг үзээрэй.
Энэхүү тохиргоог хийсний дараа камер хянаж буй хэсэгт гар байгаа эсэхийг, хэрэв байгаа бол энэ нь хаана байгааг шийдэх код хэрэгтэй болно.
Алхам 3: Кодын хэсэг
Сонирхолтой талбар байгаа эсэхийг шийдэх боломжийг олгодог кодын хэсэг нь Мэдрэлийн сүлжээ гэж нэрлэгддэг зүйлийг ашигладаг. Тэд програмчлалын ангилалд багтдаг бөгөөд үүнд бид шийдвэр гаргах дүрмийг тодорхойлдоггүй, гэхдээ бид мэдрэлийн сүлжээнд дүрмийг өөрөө тодорхойлдог хангалттай өгөгдлийг харуулдаг.
Манай тохиолдолд гар ямар харагдахыг кодлохын оронд гар агуулсан бөөрөлзгөнө pi -ээс авсан мэдрэлийн сүлжээний зургийг харуулдаг. Энэ үе шатыг мэдрэлийн сүлжээний сургалт гэж нэрлэдэг бөгөөд ашигласан зургийг сургалтын мэдээллийн сан гэж нэрлэдэг.
Алхам 4: Зураг авах
Би бөөрөлзгөнө pi руу алсаас нэвтэрч, дараах тушаалыг ашиглан олон тооны зураг авсан.
sudo raspistill -w 640 -h 480 -rot 90 -t 250000 -t1 5000 -o frame%04d.jpg
Би гараараа 80, гар агуулаагүй 80 зураг авсан. 160 зураг нь мэдрэлийн сүлжээг зөв сургахад хангалтгүй боловч үзэл баримтлалыг батлахад хангалттай байх ёстой.
Манай сүлжээг сургасны дараа туршиж үзэхийн тулд 160 зурагнаас гадна би 20 зураг нэмж авсан.
Өгөгдлийн сан бэлэн болмогц би мэдрэлийн сүлжээнд код бичиж эхлэв.
Алхам 5: Хэрэглэсэн хэрэгсэл, хэл
Би мэдрэлийн сүлжээгээ Python гүнзгийрүүлсэн сургалтын номын санд Keras гэж бичсэн бөгөөд кодыг jupyter дэвтэр дээр anaconda navigator -аас бичсэн болно.
Алхам 6: Өгөгдлийн санг сургалтанд бэлтгэх
Нэгдүгээрт (Зураг #1) Би энэ төсөлд шаардлагатай бүх номын санг багтаасан бөгөөд үүнд PIL, matplotlib, numpy, os, Keras орно. Питон тэмдэглэлийн дэвтрийн хоёр дахь нүдэнд (Зураг #2) Би өгөгдлийн сангийн замыг тодорхойлж, дээжийн тоог хэвлэнэ. Одоо бид бүх зургийг бүдгэрсэн массив руу ачаалах хэрэгтэй, ингэснээр гурав дахь нүдэнд байна (Зураг #2) Би 82 (гар дээжийн тоо) +75 (гар биш дээжийн тоо) өөрөөр хэлбэл 157x100x100x3 хэмжээтэй массив үүсгэсэн. 157 бол миний авсан нийт зургийн тоо, 100x100 бол бидний зургийн хэмжээ, 3 нь зураг дээрх улаан, ногоон, цэнхэр өнгийн давхаргад зориулагдсан болно.
Дөрөв, тав дахь нүдэнд бид гар агуулсан зургуудыг, дараа нь numpy массивт гар агуулаагүй зургийг ачаална. Зургаа дахь нүдэнд бид утга бүрийг 255 -д хуваадаг тул утгыг 0 -ээс 1 хүртэл хязгаарладаг. (Зураг #3)
Хавсаргасан зургууд хангалттай сайн биш бол уучлаарай. Кодыг харахын тулд GITHUB репозиторийн линк энд байна. Лавлах замын нэрийг өөрийн замаар солихоо бүү мартаарай:).
Хамт явж байна.
Дараа нь бид зураг тус бүрийг шошголох хэрэгтэй бөгөөд ингэснээр бид 157 урттай нэг хэмжээст тоон массив үүсгэдэг. Эхний 82 оруулгыг 1 болгож, үлдсэн 75 оруулгыг 0 дамжуулах мэдрэлийн сүлжээнд тохируулсан бөгөөд эхний 82 зургийг нэг ангиас, үлдсэн хэсгийг нь өөр ангиас авсан болно. (Зураг #4)
Одоо мэдрэлийн сүлжээг бий болгоё.
Алхам 7: Мэдрэлийн сүлжээ
Ес дэх эсэд бид мэдрэлийн сүлжээгээ тодорхойлдог. Энэ нь гурван давталтын давхаргыг агуулдаг бөгөөд дараа нь 8, 12 ба 16 таталтын шүүлтүүр бүхий maxpool давхаргыг агуулдаг. Үүний дараа бид хоёр өтгөн мэдрэлийн тортой болсон. Энэ алхамд хоёр зураг хавсаргаж байна. Нэгдүгээрт, мэдрэлийн сүлжээг үүсгэдэг кодын хоёр дахь хэсэг, хоёрдугаарт гаралтын хэмжээ, үйлдлүүдийг тайлбарласан мэдрэлийн сүлжээний дүрслэл юм.
Алхам 8: Мэдрэлийн сүлжээг сургах
Арав дахь нүдэнд бид мэдрэлийн сүлжээний оновчлогчийг 'adam' болгож, алдагдлын функцийг '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,
- матплотлиб хийх,
- матрицын үйл ажиллагаанд зориулсан numpy,
- OS нь үйлдлийн системээс хамааралтай функц болон
- мэдрэлийн сүлжээнд зориулсан керас.
Алхам 16: Үлдсэн эсүүд
2, 3, 4, 5 -р нүдэнд бид зургуудыг numpy массив дээр ачаалж, csv файлаас дөрвөн хэмжээст массив үүсгэж шошго болно. 6 -р нүдэнд бид мэдрэлийн сүлжээгээ үүсгэдэг. Түүний архитектур нь гаралтын давхаргын хэмжээсийг 4 -ээс бусад ангилалд ашигладаг мэдрэлийн сүлжээтэй ижил байдаг. 1 биш. Өөр нэг ялгаа нь алдагдлын функц юм. 8 -р нүдэнд бид мэдрэлийн сүлжээгээ сургаж эхэлсний дараа би энэ загварыг туршилтын багц дээр ажиллуулж, хязгаарлагдмал хайрцгийн координатыг давхцуулах талаар урьдчилан таамаглах боломжтой болсон.
Уншсанд баярлалаа.
Зөвлөмж болгож буй:
Энэ өвөл дулаахан байгаарай: CPU гар халаагч: 4 алхам (зурагтай)
Энэ өвөл дулаахан байгаарай: CPU гар халаагч: Энэхүү жижиг төсөл дээр би хуучин AMD процессорыг хэрхэн сольж жижиг, хөнгөн, ашиглахад хялбар цахилгаан гар халаагуур хийхийг танд үзүүлэх болно. Жижиг зөөврийн цахилгаан банкны тусламжтайгаар энэхүү хэрэгсэл нь таныг 2 цаг хагасын турш дулаацуулж, хялбарчилж чадна
Nike LED Swoosh! Энэ бол өрөөний гайхалтай чимэглэл юм. Энэ бол хүн бүрийн давтах цорын ганц төсөл юм. 5 алхам
Nike LED Swoosh! Энэ бол өрөөний гайхалтай чимэглэл юм. Энэ бол хүн бүрийн давтах цорын ганц төсөл юм. Багаж хэрэгсэл-соронзон халив-гагнуур төмрөөр хийсэн хөрөө-цахилгаан өрөм-зүлгүүр Нийлүүлэлт -LED зурвас (RGB) 5м-LED хянагч -Цахилгаан хангамж 12V 4А-мод 50-50-1500 2х мод 20-20-3000 2х фанер 500-1000мм-эрэг (45мм) 150х-эрэг (35мм) 30х-скр
Гар утасны батерейг дижитал камерт хэрхэн тохируулах вэ, энэ нь ажилладаг !: 5 алхам (зурагтай)
Гар утасны батерейг дижитал камерт хэрхэн яаж тохируулах вэ, энэ нь ажилладаг !: Сайн байцгаана уу! GoPro бол үйлдлийн камерын хувьд хамгийн тохиромжтой сонголт боловч бид бүгдээрээ энэ төхөөрөмжийг худалдаж авах боломжгүй байдаг. Хэдийгээр GoPro дээр суурилсан олон төрлийн камер эсвэл жижиг үйлдлийн камер байдаг ч (надад airsoft тоглоомондоо зориулж Innovv C2 байдаг), бүгд биш
Arduino мэдрэлийн сүлжээний робот: 21 алхам (зурагтай)
Arduino мэдрэлийн сүлжээний робот: Энэхүү зааварчилгаа нь YouTube суваг гаргахад зориулагдсан 3 хэсгээс бүрдсэн бөгөөд өөрийн Arduino мэдрэлийн сүлжээний роботыг хэрхэн загварчлах, зохион бүтээх, угсрах, програмчлах зэргийг харуулсан болно. Бүрэн цувралыг үзсэний дараа та мөрий тавих хэрэгтэй
АС -ийг LED -ээр ашиглах (2 -р хэсэг) - мөн энэ тоолуурыг гэрэл болгоно. 9 алхам
LED -тэй AC -ийг ашиглах (2 -р хэсэг) - мөн энэ тоолуурыг гэрэл болгох. LED -тэй AC -ийг ашиглахдаа (1 -р хэсэг) бид AC сүлжээнд холбогдсон трансформатор бүхий LED -ийг ажиллуулах энгийн аргыг авч үзсэн болно. бидний LED нь трансформаторгүйгээр ажиллаж, өргөтгөлийн бааранд суурилуулсан энгийн гэрлийг бий болгодог. АНХААРУУЛГА