ආදර්ශයෙන් ඉගෙන ගැනීමට සහ ඔවුන්ගේ වටපිටාව වටහා ගැනීමට අපගේ සහජ හැකියාවන් රොබෝවරුන්ට ලබා දීමට අප සමත් වී ඇති බව දැන ගැනීම සැනසිලිදායක ය. මූලික අභියෝගය වන්නේ මිනිසුන්ට වඩා වැඩි කාලයක් හා වෑයමක් අවශ්ය වන ආකාරයට “දැකීමට” පරිගණකවලට ඉගැන්වීමයි.
කෙසේ වෙතත්, මෙම කුසලතාව දැනට සංවිධාන සහ ව්යවසායන් සඳහා සපයන ප්රායෝගික වටිනාකම සලකා බලන විට, උත්සාහය වටී. මෙම ලිපියෙන්, ඔබ රූප වර්ගීකරණය, එය ක්රියා කරන ආකාරය සහ එහි ප්රායෝගික ක්රියාත්මක කිරීම ගැන ඉගෙන ගනු ඇත. අපි පටන් ගනිමු.
රූප වර්ගීකරණය යනු කුමක්ද?
රූපයක් පෝෂණය කිරීමේ කාර්යය a ස්නායු ජාලය එම පින්තූරය සඳහා යම් ආකාරයක ලේබලයක් ප්රතිදානය කිරීම රූප හඳුනාගැනීම ලෙස හැඳින්වේ. ජාලයේ ප්රතිදාන ලේබලය පූර්ව නිර්වචනය කළ පන්තියකට අනුරූප වේ.
පින්තූරයට පවරන ලද පන්ති රාශියක් හෝ සරලව එකක් තිබිය හැක. එක් පන්තියක් පමණක් ඇති විට, "හඳුනාගැනීම" යන යෙදුම නිතර භාවිතා වන අතර, බහු පන්ති ඇති විට, "වර්ගීකරණය" යන යෙදුම නිතර භාවිතා වේ.
වස්තුව හඳුනාගැනීම සතුන්, වාහන, හෝ මිනිසුන් වැනි දී ඇති පන්තියකට අයත් වන වස්තූන්ගේ විශේෂිත අවස්ථාවන් හඳුනා ගන්නා පින්තූර වර්ගීකරණයේ උප කුලකයකි.
රූප වර්ගීකරණය වැඩ කරන්නේ කෙසේද?
පික්සෙල් ස්වරූපයෙන් රූපයක් පරිගණකයක් මගින් විශ්ලේෂණය කරයි. එය පින්තුරය න්යාස එකතුවක් ලෙස සැලකීමෙන් මෙය ඉටු කරයි, එහි ප්රමාණය රූප විභේදනය මගින් තීරණය වේ. සරලව කිවහොත්, පින්තූර වර්ගීකරණය යනු පරිගණකයේ ඉදිරිදර්ශනයෙන් ඇල්ගොරිතම භාවිතා කරමින් සංඛ්යාන දත්ත අධ්යයනය කිරීමයි.
පික්සල කලින් තීරණය කළ කණ්ඩායම් හෝ “පංති” ලෙස කාණ්ඩ කිරීම මගින් ඩිජිටල් රූප සැකසීමේදී රූප වර්ගීකරණය සිදු කෙරේ. ඇල්ගොරිතම මඟින් රූපය සැලකිය යුතු ලක්ෂණ අනුප්රාප්තියකට බෙදා ඇති අතර එමඟින් අවසාන වර්ගීකරණය සඳහා බර අඩු කරයි.
මෙම ගුණාංග රූපයේ අර්ථය සහ විභව වර්ගීකරණය පිළිබඳව වර්ගීකරණයට දැනුම් දෙයි. පින්තූරයක් වර්ගීකරණය කිරීමේදී ඉතිරි ක්රියාවලීන් එය මත රඳා පවතින බැවින්, ලාක්ෂණික නිස්සාරණ ක්රමය වඩාත් තීරණාත්මක අවධිය වේ.
එම දත්ත සපයා ඇත ඇල්ගොරිතමයට රූප වර්ගීකරණයේදී, විශේෂයෙන් අධීක්ෂණය කරන ලද වර්ගීකරණයේදීද ඉතා වැදගත් වේ. පන්තිය සහ අඩු පින්තූර සහ විවරණ තත්ත්ව මත පදනම් වූ දත්ත අසමතුලිතතාවය සහිත භයානක දත්ත කට්ටලයක් හා සැසඳීමේ දී, හොඳින් ප්රශස්ත කළ වර්ගීකරණ දත්ත කට්ටලයක් විශිෂ්ට ලෙස ක්රියා කරයි.
python හි Tensorflow සහ Keras භාවිතයෙන් රූප වර්ගීකරණය
අපි භාවිතා කරන්නෙමු CIFAR-10 දත්ත කට්ටලය (ගුවන් යානා, ගුවන් යානා, කුරුල්ලන්, සහ වෙනත් දේවල් 7ක් ඇතුළත්).
1. ස්ථාපනය කිරීමේ අවශ්යතා
පහත කේතය සියලු පූර්වාවශ්යතා ස්ථාපනය කරනු ඇත.
2. පරායත්තයන් ආනයනය කිරීම
Python හි train.py ගොනුවක් සාදන්න. පහත කේතය Tensorflow සහ Keras පරායත්තතා ආයාත කරනු ඇත.
3. පරාමිතීන් ආරම්භ කිරීම
CIFAR-10 හි පින්තූර කාණ්ඩ 10 ක් පමණක් ඇතුළත් වේ, එබැවින් පන්ති සංඛ්යා සරලව වර්ගීකරණය කළ යුතු කාණ්ඩ ගණනට යොමු කරයි.
4. දත්ත කට්ටලය පූරණය කිරීම
දත්ත කට්ටලය පූරණය කිරීම සඳහා ශ්රිතය Tensorflow Datasets මොඩියුලය භාවිතා කරන අතර, අපි ඒ පිළිබඳ යම් තොරතුරු ලබා ගැනීම සඳහා සත්ය වෙත තොරතුරු සමඟ සකසන්නෙමු. ක්ෂේත්ර සහ ඒවායේ අගයන් මොනවාදැයි බැලීමට ඔබට එය මුද්රණය කළ හැකි අතර, පුහුණු සහ පරීක්ෂණ කට්ටලවල ඇති සාම්පල ගණන ලබා ගැනීමට අපි තොරතුරු භාවිත කරන්නෙමු.
5. ආකෘතිය නිර්මාණය කිරීම
දැන් අපි ස්ථර තුනක් ගොඩනඟමු, ඒ සෑම එකක්ම උපරිම සංචිත සහ ReLU සක්රීය කිරීමේ ශ්රිතයක් සහිත ConvNets දෙකකින් සමන්විත වන අතර පසුව සම්පුර්ණයෙන්ම සම්බන්ධිත 1024-ඒකක පද්ධතියකින් සමන්විත වේ. අති නවීන මාදිලි වන ResNet50 හෝ Xception හා සසඳන විට, මෙය සාපේක්ෂව කුඩා ආකෘතියක් විය හැකිය.
6. ආකෘතිය පුහුණු කිරීම
එක් එක් යුගවල නිරවද්යතාවය සහ අලාභය මැනීමට සහ දත්ත ආයාත කිරීමෙන් සහ ආකෘතිය ජනනය කිරීමෙන් පසු අපට සුන්දර සංදර්ශකයක් ලබා දීමට මම Tensorboard භාවිතා කළෙමි. පහත කේතය ධාවනය කරන්න; ඔබේ CPU/GPU මත පදනම්ව, පුහුණුව මිනිත්තු කිහිපයක් ගතවනු ඇත.
ටෙන්සර්බෝඩ් භාවිතා කිරීමට, ටර්මිනලයේ හෝ වත්මන් නාමාවලියෙහි විධාන විමසුමේ පහත විධානය ටයිප් කරන්න:
වලංගු කිරීමේ පාඩුව අඩු වන අතර නිරවද්යතාවය 81% දක්වා ඉහළ යන බව ඔබට පෙනෙනු ඇත. බව අතිශය අසාමාන්ය දෙයක්!
ආකෘතිය පරීක්ෂා කිරීම
පුහුණුව අවසන් වූ විට, අවසාන මාදිලිය සහ බර ප්රතිඵල ෆෝල්ඩරයේ සුරකිනු ඇත, අපට එක් වරක් පුහුණු කිරීමට සහ අප තෝරා ගන්නා සෑම විටම අනාවැකි පළ කිරීමට ඉඩ සලසයි. test.py නමින් නව python ගොනුවක කේතය අනුගමනය කරන්න.
7. පරීක්ෂණ සඳහා උපයෝගිතා ආනයනය කිරීම
8. පයිතන් නාමාවලියක් සෑදීම
එක් එක් නිඛිල අගය දත්ත කට්ටලයේ සුදුසු ලේබලයට පරිවර්තනය කරන පයිතන් ශබ්ද කෝෂයක් සාදන්න:
9. පරීක්ෂණ දත්ත සහ ආකෘතිය පූරණය කිරීම
පහත කේතය පරීක්ෂණ දත්ත සහ ආකෘතිය පූරණය කරනු ඇත.
10. ඇගයීම සහ පුරෝකථනය
පහත කේතය ගෙඹි රූප ඇගයීමට හා අනාවැකි පළ කරනු ඇත.
11. ප්රතිපල
ආකෘතිය 80.62% නිරවද්යතාවයකින් ගෙම්බා පුරෝකථනය කළේය.
නිගමනය
හරි, අපි මේ පාඩම ඉවරයි. 80.62% කුඩා CNN සඳහා හොඳ නැති අතර, වඩා හොඳ ප්රතිඵල සඳහා මාදිලිය වෙනස් කිරීමට හෝ ResNet50, Xception, හෝ වෙනත් අති නවීන මාදිලි දෙස බැලීමට මම ඔබට තරයේ අවවාද කරමි.
දැන් ඔබ Keras හි ඔබගේ පළමු රූප හඳුනාගැනීමේ ජාලය ගොඩනගා ඇති බැවින්, විවිධ පරාමිතීන් එහි ක්රියාකාරිත්වයට බලපාන ආකාරය සොයා ගැනීමට ඔබ ආකෘතිය සමඟ අත්හදා බැලිය යුතුය.
ඔබමයි