Гарчиг[Нуух][Үзүүлэх]
- Зургийн ангилал гэж юу вэ?
- Зургийн ангилал хэрхэн ажилладаг вэ?
Python дээр Tensorflow & Keras ашиглан зургийн ангилал+-
- 1. Суулгах шаардлага
- 2. Хараат байдлыг импортлох
- 3. Параметрүүдийг эхлүүлэх
- 4. Өгөгдлийн багцыг ачаалж байна
- 5. Загвар бүтээх
- 6. Загвар өмсөгчийг сургах
- Загварыг турших
- 7. Туршилт хийх зориулалттай хэрэгслүүдийг импортлох
- 8. Python лавлах хийх
- 9. Туршилтын өгөгдөл, загварыг ачаалж байна
- 10. Үнэлгээ ба таамаглал
- 11. Үр дүн
- Дүгнэлт
Бид роботуудад үлгэр жишээгээр суралцах, хүрээлэн буй орчноо танин мэдэх төрөлхийн чадвараа шингээж чадсан гэдгээ мэдэхэд тайвширч байна. Хүн төрөлхтөнд илүү их цаг хугацаа, хүчин чармайлт шаардагддаг шиг компьютерийг "харахыг" заадаг хүмүүст тулгардаг гол бэрхшээл юм.
Гэсэн хэдий ч, энэ ур чадвар нь одоогоор байгууллага, аж ахуйн нэгжүүдэд өгч буй бодит үнэ цэнийг авч үзвэл хүчин чармайлт нь үнэ цэнэтэй юм. Энэ нийтлэлээс та зургийн ангилал, хэрхэн ажилладаг, практик хэрэгжилтийн талаар суралцах болно. Эхэлцгээе.
Зургийн ангилал гэж юу вэ?
Дүрсийг а руу оруулах ажил мэдрэлийн сүлжээ Мөн тухайн зурагт ямар нэгэн шошго гаргаж өгөхийг дүрс таних гэж нэрлэдэг. Сүлжээний гаралтын шошго нь урьдчилан тодорхойлсон ангилалд тохирно.
Зурагт олон анги, эсвэл зүгээр л нэг анги хуваарилагдсан байж болно. Зөвхөн нэг ангитай бол "хүлээн зөвшөөрөх" гэсэн нэр томъёог ихэвчлэн ашигладаг бол олон ангитай бол "ангилал" гэсэн нэр томъёог ихэвчлэн ашигладаг.
Объект илрүүлэх объектын тодорхой тохиолдлуудыг амьтан, тээврийн хэрэгсэл, хүн гэх мэт тухайн ангилалд хамааруулж илрүүлсэн зургийн ангиллын дэд хэсэг юм.
Зургийн ангилал хэрхэн ажилладаг вэ?
Пиксел хэлбэртэй дүрсийг компьютерээр шинжилдэг. Энэ нь зургийг матрицуудын цуглуулга гэж үзэх замаар үүнийг хийдэг бөгөөд тэдгээрийн хэмжээ нь зургийн нягтралаар тодорхойлогддог. Энгийнээр хэлэхэд зургийн ангилал гэдэг нь алгоритмыг ашиглан статистикийн өгөгдлийг компьютерийн өнцгөөс судлах явдал юм.
Зургийн ангиллыг дижитал дүрс боловсруулахад пикселүүдийг урьдчилан тодорхойлсон бүлэг буюу "анги" болгон бүлэглэх замаар гүйцэтгэдэг. Алгоритмууд нь зургийг анхаарал татахуйц шинж чанаруудын дарааллаар хуваадаг бөгөөд энэ нь эцсийн ангилагчийн ачааллыг бууруулдаг.
Эдгээр чанарууд нь ангилагчдад зургийн утга, боломжит ангиллын талаар мэдээлдэг. Зургийг ангилах бусад үйл явц нь үүнээс хамаардаг тул шинж чанарыг задлах арга нь хамгийн чухал үе шат юм.
The өгсөн өгөгдөл Алгоритм нь зургийн ангилал, ялангуяа хяналттай ангилалд маш чухал юм. Ангилал, зураг, тэмдэглэгээний чанар багатай өгөгдлийн тэнцвэргүй байдал бүхий аймшигт өгөгдлийн багцтай харьцуулахад сайн оновчлогдсон ангиллын өгөгдлийн багц нь гайхалтай гүйцэтгэлтэй.
Python дээр Tensorflow & Keras ашиглан зургийн ангилал
Бид үүнийг ашиглах болно CIFAR-10 өгөгдлийн багц (үүнд нисэх онгоц, онгоц, шувуу болон бусад 7 зүйл багтана).
1. Суулгах шаардлага
Доорх код нь бүх урьдчилсан нөхцөлийг суулгах болно.
2. Хараат байдлыг импортлох
Python дээр train.py файл үүсгэ. Доорх код нь Tensorflow болон Keras хамаарлыг импортлох болно.
3. Параметрүүдийг эхлүүлэх
CIFAR-10 нь ердөө 10 зургийн ангиллыг багтаасан тул олон ангиуд нь ангилах ангиллын тоог л илэрхийлдэг.
4. Өгөгдлийн багцыг ачаалж байна
Функц нь өгөгдлийн багцыг ачаалахдаа Tensorflow Datasets модулийг ашигладаг бөгөөд энэ талаар зарим мэдээллийг авахын тулд бид "True" гэсэн мэдээллийг "True" гэж тохируулдаг. Та ямар талбарууд болон тэдгээрийн утгыг харахын тулд үүнийг хэвлэх боломжтой бөгөөд бид сургалтын болон туршилтын багц дахь дээжийн тоог авахын тулд мэдээллийг ашиглана.
5. Загвар бүтээх
Одоо бид гурван давхаргыг бүтээх бөгөөд тус бүр нь max-pooling болон ReLU идэвхжүүлэх функц бүхий хоёр ConvNet-ээс бүрдэх ба дараа нь бүрэн холбогдсон 1024 нэгжийн системээс бүрдэх болно. Хамгийн сүүлийн үеийн загвар болох ResNet50 эсвэл Xception-тай харьцуулахад энэ нь харьцангуй жижиг загвар байж болох юм.
6. Загвар өмсөгчийг сургах
Би Tensorboard ашиглан эрин үе бүрийн нарийвчлал, алдагдлыг хэмжиж, өгөгдлийг импортлож, загвараа гаргасны дараа бидэнд сайхан дэлгэцийг өгсөн. Дараах кодыг ажиллуулна уу; таны CPU/GPU-ээс хамааран сургалт хэдэн минут болно.
Tensorboard ашиглахын тулд терминал эсвэл одоогийн лавлахын командын мөрөнд дараах тушаалыг бичнэ үү.
Баталгаажуулалтын алдагдал буурч, нарийвчлал 81% хүртэл нэмэгдэж байгааг та харах болно. Энэ бол гайхалтай!
Загварыг турших
Сургалт дууссаны дараа эцсийн загвар болон жинг үр дүнгийн хавтсанд хадгалснаар бид нэг удаа бэлтгэл хийж, хүссэн үедээ таамаглах боломжтой болно. test.py нэртэй шинэ python файлын кодыг дагана уу.
7. Туршилт хийх зориулалттай хэрэгслүүдийг импортлох
8. Python лавлах хийх
Бүхэл тоо тус бүрийг өгөгдлийн багцын тохирох шошго руу хөрвүүлдэг Python толь бичгийг үүсгэ:
9. Туршилтын өгөгдөл, загварыг ачаалж байна
Дараах код нь туршилтын өгөгдөл болон загварыг ачаалах болно.
10. Үнэлгээ ба таамаглал
Дараах код нь мэлхийн зургуудыг үнэлж, таамаглал гаргах болно.
11. Үр дүн
Загвар өмсөгч мэлхийнийг 80.62 хувийн нарийвчлалтайгаар таамагласан байна.
Дүгнэлт
За, бид энэ хичээлээ дуусгалаа. Хэдийгээр 80.62% нь бага зэрэг CNN-д тохиромжгүй боловч илүү сайн үр дүнд хүрэхийн тулд загвараа өөрчлөх эсвэл ResNet50, Xception эсвэл бусад хамгийн сүүлийн үеийн загваруудыг үзэхийг танд зөвлөж байна.
Одоо та Keras-д анхны зураг таних сүлжээгээ байгуулсан тул янз бүрийн параметрүүд түүний гүйцэтгэлд хэрхэн нөлөөлж байгааг олж мэдэхийн тулд загвар дээр туршилт хийх хэрэгтэй.
хариу үлдээх