Talaan ng nilalaman[Tago][Ipakita]
- Ano ang pag-uuri ng imahe?
- Paano gumagana ang pag-uuri ng imahe?
Pag-uuri ng imahe gamit ang Tensorflow at Keras sa python+-
- 1. Mga Kinakailangan sa Pag-install
- 2. Pag-import ng mga dependency
- 3. Pagsisimula ng mga parameter
- 4. Nilo-load ang dataset
- 5. Paglikha ng modelo
- 6. Pagsasanay sa modelo
- Pagsubok sa modelo
- 7. Pag-import ng mga kagamitan para sa pagsubok
- 8. Paggawa ng direktoryo ng python
- 9. Naglo-load ng data at modelo ng pagsubok
- 10. Pagsusuri at Paghula
- 11. Mga Resulta
- Konklusyon
Nakakapanatag na malaman na nagawa naming i-imbue ang mga robot ng aming likas na kakayahan upang matuto sa pamamagitan ng halimbawa at makita ang kanilang kapaligiran. Ang pangunahing hamon ay ang mga nagtuturo sa mga computer na "makita" tulad ng mga tao na nangangailangan ng mas maraming oras at pagsisikap.
Gayunpaman, kapag isinasaalang-alang natin ang praktikal na halaga na kasalukuyang ibinibigay ng kasanayang ito sa mga organisasyon at negosyo, sulit ang pagsisikap. Sa artikulong ito, matututunan mo ang tungkol sa pag-uuri ng larawan, kung paano ito gumagana, at ang praktikal na pagpapatupad nito. Magsimula tayo.
Ano ang pag-uuri ng imahe?
Ang trabaho ng pagpapakain ng isang imahe sa a neural network at ang pagkakaroon nito ng output ng ilang anyo ng label para sa larawang iyon ay kilala bilang pagkilala sa imahe. Ang label ng output ng network ay tumutugma sa isang paunang natukoy na klase.
Maaaring maraming klase ang nakatalaga sa larawan, o isa lang. Kapag mayroon lamang isang klase, ang terminong "pagkilala" ay madalas na ginagamit, samantalang kapag mayroong maraming mga klase, ang terminong "pag-uuri" ay madalas na ginagamit.
Pagtuklas ng bagay ay isang subset ng pag-uuri ng larawan kung saan ang mga partikular na pagkakataon ng mga bagay ay natukoy na kabilang sa isang partikular na klase gaya ng mga hayop, sasakyan, o tao.
Paano gumagana ang pag-uuri ng imahe?
Ang isang imahe sa anyo ng mga pixel ay sinusuri ng isang computer. Nagagawa ito sa pamamagitan ng pagtrato sa larawan bilang isang koleksyon ng mga matrice, ang laki nito ay tinutukoy ng resolution ng imahe. Sa madaling salita, ang pag-uuri ng larawan ay ang pag-aaral ng istatistikal na data na gumagamit ng mga algorithm mula sa pananaw ng isang computer.
Nagagawa ang pag-uuri ng larawan sa digital image processing sa pamamagitan ng pagpapangkat ng mga pixel sa mga paunang natukoy na grupo, o “mga klase.” Hinahati ng mga algorithm ang imahe sa sunud-sunod na mga kapansin-pansing katangian, na binabawasan ang pasanin para sa panghuling classifier.
Ang mga katangiang ito ay nagpapaalam sa classifier tungkol sa kahulugan ng larawan at potensyal na pag-uuri. Dahil ang natitirang mga proseso sa pag-uuri ng isang larawan ay nakasalalay dito, ang katangiang paraan ng pagkuha ay ang pinaka-kritikal na yugto.
Ang ibinigay na datos sa algorithm ay mahalaga din sa pag-uuri ng imahe, lalo na ang pinangangasiwaang pag-uuri. Kung ihahambing sa isang kakila-kilabot na dataset na may data imbalance batay sa klase at mababang kalidad ng larawan at anotasyon, ang isang mahusay na na-optimize na dataset ng pag-uuri ay mahusay na gumaganap.
Pag-uuri ng imahe gamit ang Tensorflow at Keras sa python
Gagamitin natin ang CIFAR-10 dataset (na kinabibilangan ng sasakyang panghimpapawid, eroplano, ibon, at iba pang 7 bagay).
1. Mga Kinakailangan sa Pag-install
Ang code sa ibaba ay mag-i-install ng lahat ng mga kinakailangan.
2. Pag-import ng mga dependency
Gumawa ng train.py file sa Python. Ang code sa ibaba ay mag-i-import ng mga dependency ng Tensorflow at Keras.
3. Pagsisimula ng mga parameter
Ang CIFAR-10 ay kinabibilangan lamang ng 10 mga kategorya ng larawan, kaya ang num na mga klase ay sumangguni lamang sa bilang ng mga kategoryang iuuri.
4. Nilo-load ang dataset
Ginagamit ng function ang module ng Tensorflow Datasets upang i-load ang dataset, at itinakda namin ang impormasyon sa True para makakuha ng ilang impormasyon tungkol dito. Maaari mo itong i-print upang makita kung anong mga field at ang mga halaga ng mga ito, at gagamitin namin ang impormasyon para makuha ang bilang ng mga sample sa mga set ng pagsasanay at pagsubok.
5. Paglikha ng modelo
Ngayon, bubuo kami ng tatlong layer, bawat isa ay binubuo ng dalawang ConvNet na may max-pooling at ReLU activation function, na sinusundan ng isang ganap na konektadong 1024-unit system. Kung ihahambing sa ResNet50 o Xception, na mga makabagong modelo, maaaring ito ay medyo maliit na modelo.
6. Pagsasanay sa modelo
Gumamit ako ng Tensorboard upang sukatin ang katumpakan at pagkawala sa bawat panahon at bigyan kami ng magandang display pagkatapos mag-import ng data at bumuo ng modelo. Patakbuhin ang sumusunod na code; depende sa iyong CPU/GPU, tatagal ng ilang minuto ang pagsasanay.
Upang gumamit ng tensorboard, i-type lamang ang sumusunod na command sa terminal o command prompt sa kasalukuyang direktoryo:
Makikita mo na ang pagkawala ng pagpapatunay ay nababawasan at ang katumpakan ay tumataas sa humigit-kumulang 81%. Iyan ay hindi kapani-paniwala!
Pagsubok sa modelo
Kapag natapos na ang pagsasanay, ang panghuling modelo at mga timbang ay ise-save sa folder ng mga resulta, na nagpapahintulot sa amin na magsanay nang isang beses at gumawa ng mga hula sa tuwing pipiliin namin. Sundin ang code sa isang bagong python file na pinangalanang test.py.
7. Pag-import ng mga kagamitan para sa pagsubok
8. Paggawa ng direktoryo ng python
Gumawa ng diksyunaryo ng Python na nagsasalin ng bawat integer na halaga sa naaangkop na label ng dataset:
9. Naglo-load ng data at modelo ng pagsubok
Ilo-load ng sumusunod na code ang data at modelo ng pagsubok.
10. Pagsusuri at Paghula
Ang sumusunod na code ay susuriin at gagawa ng mga hula sa mga larawan ng palaka.
11. Mga Resulta
Hinulaan ng modelo ang palaka na may 80.62% na katumpakan.
Konklusyon
Okay, tapos na tayo sa araling ito. Bagama't hindi maganda ang 80.62% para sa isang maliit na CNN, lubos kong ipinapayo sa iyo na baguhin ang modelo o tingnan ang ResNet50, Xception, o iba pang mga cutting-edge na modelo para sa mas magagandang resulta.
Ngayong nagawa mo na ang iyong unang network ng pagkilala ng larawan sa Keras, dapat kang mag-eksperimento sa modelo upang matuklasan kung paano nakakaapekto ang iba't ibang mga parameter sa pagganap nito.
Mag-iwan ng Sagot