ಪರಿವಿಡಿ[ಮರೆಮಾಡಿ][ತೋರಿಸಿ]
- ಚಿತ್ರದ ವರ್ಗೀಕರಣ ಎಂದರೇನು?
- ಚಿತ್ರದ ವರ್ಗೀಕರಣ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ?
ಪೈಥಾನ್ನಲ್ಲಿ ಟೆನ್ಸಾರ್ಫ್ಲೋ ಮತ್ತು ಕೆರಾಸ್ ಬಳಸಿ ಚಿತ್ರ ವರ್ಗೀಕರಣ+-
- 1. ಅಗತ್ಯಗಳನ್ನು ಸ್ಥಾಪಿಸುವುದು
- 2. ಅವಲಂಬನೆಗಳನ್ನು ಆಮದು ಮಾಡಿಕೊಳ್ಳುವುದು
- 3. ನಿಯತಾಂಕಗಳನ್ನು ಪ್ರಾರಂಭಿಸುವುದು
- 4. ಡೇಟಾಸೆಟ್ ಅನ್ನು ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ
- 5. ಮಾದರಿಯನ್ನು ರಚಿಸುವುದು
- 6. ಮಾದರಿಯ ತರಬೇತಿ
- ಮಾದರಿಯನ್ನು ಪರೀಕ್ಷಿಸಲಾಗುತ್ತಿದೆ
- 7. ಪರೀಕ್ಷೆಗಾಗಿ ಉಪಯುಕ್ತತೆಗಳನ್ನು ಆಮದು ಮಾಡಿಕೊಳ್ಳುವುದು
- 8. ಪೈಥಾನ್ ಡೈರೆಕ್ಟರಿಯನ್ನು ತಯಾರಿಸುವುದು
- 9. ಪರೀಕ್ಷಾ ಡೇಟಾ ಮತ್ತು ಮಾದರಿಯನ್ನು ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ
- 10. ಮೌಲ್ಯಮಾಪನ ಮತ್ತು ಭವಿಷ್ಯ
- 11. ಫಲಿತಾಂಶಗಳು
- ತೀರ್ಮಾನ
ಉದಾಹರಣೆಯ ಮೂಲಕ ಕಲಿಯಲು ಮತ್ತು ಅವುಗಳ ಸುತ್ತಮುತ್ತಲಿನ ಪ್ರದೇಶಗಳನ್ನು ಗ್ರಹಿಸಲು ನಮ್ಮ ಸಹಜ ಸಾಮರ್ಥ್ಯಗಳೊಂದಿಗೆ ರೋಬೋಟ್ಗಳನ್ನು ತುಂಬಲು ನಾವು ನಿರ್ವಹಿಸುತ್ತಿದ್ದೇವೆ ಎಂದು ತಿಳಿಯುವುದು ಸಮಾಧಾನಕರವಾಗಿದೆ. ಮಾನವರಿಗೆ ಹೆಚ್ಚು ಸಮಯ ಮತ್ತು ಶ್ರಮದ ಅಗತ್ಯವಿರುವಂತೆ "ನೋಡಲು" ಕಂಪ್ಯೂಟರ್ಗಳಿಗೆ ಕಲಿಸುವ ಮೂಲಭೂತ ಸವಾಲು.
ಆದಾಗ್ಯೂ, ಈ ಕೌಶಲ್ಯವು ಪ್ರಸ್ತುತ ಸಂಸ್ಥೆಗಳು ಮತ್ತು ಉದ್ಯಮಗಳಿಗೆ ಒದಗಿಸುವ ಪ್ರಾಯೋಗಿಕ ಮೌಲ್ಯವನ್ನು ನಾವು ಪರಿಗಣಿಸಿದಾಗ, ಪ್ರಯತ್ನವು ಯೋಗ್ಯವಾಗಿರುತ್ತದೆ. ಈ ಲೇಖನದಲ್ಲಿ, ಚಿತ್ರದ ವರ್ಗೀಕರಣ, ಅದು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು ಅದರ ಪ್ರಾಯೋಗಿಕ ಅನುಷ್ಠಾನದ ಬಗ್ಗೆ ನೀವು ಕಲಿಯುವಿರಿ. ಆರಂಭಿಸೋಣ.
ಚಿತ್ರದ ವರ್ಗೀಕರಣ ಎಂದರೇನು?
ಒಂದು ಚಿತ್ರವನ್ನು ಪೋಷಿಸುವ ಕೆಲಸ ನರಮಂಡಲ ಮತ್ತು ಆ ಚಿತ್ರಕ್ಕಾಗಿ ಕೆಲವು ರೀತಿಯ ಲೇಬಲ್ ಅನ್ನು ಔಟ್ಪುಟ್ ಮಾಡುವುದನ್ನು ಇಮೇಜ್ ರೆಕಗ್ನಿಷನ್ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ನೆಟ್ವರ್ಕ್ನ ಔಟ್ಪುಟ್ ಲೇಬಲ್ ಪೂರ್ವ-ನಿರ್ಧರಿತ ವರ್ಗಕ್ಕೆ ಅನುಗುಣವಾಗಿರುತ್ತದೆ.
ಚಿತ್ರಕ್ಕೆ ಹಲವಾರು ವರ್ಗಗಳನ್ನು ನಿಯೋಜಿಸಲಾಗಿದೆ, ಅಥವಾ ಸರಳವಾಗಿ ಒಂದು. ಒಂದೇ ವರ್ಗ ಇದ್ದಾಗ, "ಗುರುತಿಸುವಿಕೆ" ಎಂಬ ಪದವನ್ನು ಆಗಾಗ್ಗೆ ಬಳಸಲಾಗುತ್ತದೆ, ಆದರೆ ಅನೇಕ ವರ್ಗಗಳಿರುವಾಗ, "ವರ್ಗೀಕರಣ" ಎಂಬ ಪದವನ್ನು ಆಗಾಗ್ಗೆ ಬಳಸಲಾಗುತ್ತದೆ.
ವಸ್ತು ಪತ್ತೆ ಚಿತ್ರ ವರ್ಗೀಕರಣದ ಒಂದು ಉಪವಿಭಾಗವಾಗಿದೆ, ಇದರಲ್ಲಿ ವಸ್ತುಗಳ ನಿರ್ದಿಷ್ಟ ನಿದರ್ಶನಗಳು ಪ್ರಾಣಿಗಳು, ವಾಹನಗಳು ಅಥವಾ ಮಾನವರಂತಹ ನಿರ್ದಿಷ್ಟ ವರ್ಗಕ್ಕೆ ಸೇರಿವೆ ಎಂದು ಪತ್ತೆ ಮಾಡಲಾಗುತ್ತದೆ.
ಚಿತ್ರದ ವರ್ಗೀಕರಣ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ?
ಪಿಕ್ಸೆಲ್ಗಳ ರೂಪದಲ್ಲಿ ಚಿತ್ರವನ್ನು ಕಂಪ್ಯೂಟರ್ ಮೂಲಕ ವಿಶ್ಲೇಷಿಸಲಾಗುತ್ತದೆ. ಇದು ಚಿತ್ರವನ್ನು ಮ್ಯಾಟ್ರಿಕ್ಸ್ಗಳ ಸಂಗ್ರಹವಾಗಿ ಪರಿಗಣಿಸುವ ಮೂಲಕ ಇದನ್ನು ಸಾಧಿಸುತ್ತದೆ, ಅದರ ಗಾತ್ರವನ್ನು ಚಿತ್ರದ ರೆಸಲ್ಯೂಶನ್ ನಿರ್ಧರಿಸುತ್ತದೆ. ಸರಳವಾಗಿ ಹೇಳುವುದಾದರೆ, ಚಿತ್ರ ವರ್ಗೀಕರಣವು ಕಂಪ್ಯೂಟರ್ನ ದೃಷ್ಟಿಕೋನದಿಂದ ಅಲ್ಗಾರಿದಮ್ಗಳನ್ನು ಬಳಸುವ ಅಂಕಿಅಂಶಗಳ ದತ್ತಾಂಶದ ಅಧ್ಯಯನವಾಗಿದೆ.
ಡಿಜಿಟಲ್ ಇಮೇಜ್ ಪ್ರೊಸೆಸಿಂಗ್ನಲ್ಲಿ ಪಿಕ್ಸೆಲ್ಗಳನ್ನು ಪೂರ್ವನಿರ್ಧರಿತ ಗುಂಪುಗಳಾಗಿ ಅಥವಾ "ವರ್ಗಗಳಾಗಿ" ಗುಂಪು ಮಾಡುವ ಮೂಲಕ ಚಿತ್ರ ವರ್ಗೀಕರಣವನ್ನು ಸಾಧಿಸಲಾಗುತ್ತದೆ. ಅಲ್ಗಾರಿದಮ್ಗಳು ಚಿತ್ರವನ್ನು ಗಮನಾರ್ಹ ಗುಣಲಕ್ಷಣಗಳ ಅನುಕ್ರಮವಾಗಿ ವಿಭಜಿಸುತ್ತವೆ, ಇದು ಅಂತಿಮ ವರ್ಗೀಕರಣದ ಹೊರೆಯನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ.
ಈ ಗುಣಗಳು ಚಿತ್ರದ ಅರ್ಥ ಮತ್ತು ಸಂಭಾವ್ಯ ವರ್ಗೀಕರಣದ ಬಗ್ಗೆ ವರ್ಗೀಕರಣಕಾರರಿಗೆ ತಿಳಿಸುತ್ತವೆ. ಚಿತ್ರವನ್ನು ವರ್ಗೀಕರಿಸುವಲ್ಲಿ ಉಳಿದ ಪ್ರಕ್ರಿಯೆಗಳು ಅದರ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿರುವುದರಿಂದ, ವಿಶಿಷ್ಟವಾದ ಹೊರತೆಗೆಯುವ ವಿಧಾನವು ಅತ್ಯಂತ ನಿರ್ಣಾಯಕ ಹಂತವಾಗಿದೆ.
ನಮ್ಮ ಡೇಟಾವನ್ನು ಒದಗಿಸಲಾಗಿದೆ ಅಲ್ಗಾರಿದಮ್ಗೆ ಚಿತ್ರ ವರ್ಗೀಕರಣದಲ್ಲಿ, ವಿಶೇಷವಾಗಿ ಮೇಲ್ವಿಚಾರಣೆಯ ವರ್ಗೀಕರಣದಲ್ಲಿ ಸಹ ನಿರ್ಣಾಯಕವಾಗಿದೆ. ವರ್ಗ ಮತ್ತು ಕಡಿಮೆ ಚಿತ್ರ ಮತ್ತು ಟಿಪ್ಪಣಿ ಗುಣಮಟ್ಟದ ಆಧಾರದ ಮೇಲೆ ಡೇಟಾ ಅಸಮತೋಲನದೊಂದಿಗೆ ಭಯಾನಕ ಡೇಟಾಸೆಟ್ಗೆ ಹೋಲಿಸಿದರೆ, ಉತ್ತಮವಾಗಿ ಹೊಂದುವಂತೆ ವರ್ಗೀಕರಣ ಡೇಟಾಸೆಟ್ ಅದ್ಭುತವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.
ಪೈಥಾನ್ನಲ್ಲಿ ಟೆನ್ಸಾರ್ಫ್ಲೋ ಮತ್ತು ಕೆರಾಸ್ ಬಳಸಿ ಚಿತ್ರ ವರ್ಗೀಕರಣ
ನಾವು ಬಳಸುತ್ತೇವೆ CIFAR-10 ಡೇಟಾಸೆಟ್ (ಇದು ವಿಮಾನ, ವಿಮಾನಗಳು, ಪಕ್ಷಿಗಳು ಮತ್ತು ಇತರ 7 ವಸ್ತುಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ).
1. ಅಗತ್ಯಗಳನ್ನು ಸ್ಥಾಪಿಸುವುದು
ಕೆಳಗಿನ ಕೋಡ್ ಎಲ್ಲಾ ಪೂರ್ವಾಪೇಕ್ಷಿತಗಳನ್ನು ಸ್ಥಾಪಿಸುತ್ತದೆ.
2. ಅವಲಂಬನೆಗಳನ್ನು ಆಮದು ಮಾಡಿಕೊಳ್ಳುವುದು
ಪೈಥಾನ್ನಲ್ಲಿ train.py ಫೈಲ್ ಮಾಡಿ. ಕೆಳಗಿನ ಕೋಡ್ Tensorflow ಮತ್ತು Keras ಅವಲಂಬನೆಗಳನ್ನು ಆಮದು ಮಾಡಿಕೊಳ್ಳುತ್ತದೆ.
3. ನಿಯತಾಂಕಗಳನ್ನು ಪ್ರಾರಂಭಿಸುವುದು
CIFAR-10 ಕೇವಲ 10 ಚಿತ್ರ ವಿಭಾಗಗಳನ್ನು ಒಳಗೊಂಡಿದೆ, ಆದ್ದರಿಂದ ಸಂಖ್ಯೆ ತರಗತಿಗಳು ವರ್ಗೀಕರಿಸಲು ವರ್ಗಗಳ ಸಂಖ್ಯೆಯನ್ನು ಉಲ್ಲೇಖಿಸುತ್ತವೆ.
4. ಡೇಟಾಸೆಟ್ ಅನ್ನು ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ
ಡೇಟಾಸೆಟ್ ಅನ್ನು ಲೋಡ್ ಮಾಡಲು ಫಂಕ್ಷನ್ ಟೆನ್ಸರ್ಫ್ಲೋ ಡೇಟಾಸೆಟ್ಸ್ ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಬಳಸುತ್ತದೆ ಮತ್ತು ಅದರ ಬಗ್ಗೆ ಕೆಲವು ಮಾಹಿತಿಯನ್ನು ಪಡೆಯಲು ನಾವು ಮಾಹಿತಿಯನ್ನು ಸರಿ ಎಂದು ಹೊಂದಿಸುತ್ತೇವೆ. ಯಾವ ಕ್ಷೇತ್ರಗಳು ಮತ್ತು ಅವುಗಳ ಮೌಲ್ಯಗಳನ್ನು ನೋಡಲು ನೀವು ಅದನ್ನು ಮುದ್ರಿಸಬಹುದು ಮತ್ತು ತರಬೇತಿ ಮತ್ತು ಪರೀಕ್ಷಾ ಸೆಟ್ಗಳಲ್ಲಿನ ಮಾದರಿಗಳ ಸಂಖ್ಯೆಯನ್ನು ಹಿಂಪಡೆಯಲು ನಾವು ಮಾಹಿತಿಯನ್ನು ಬಳಸುತ್ತೇವೆ.
5. ಮಾದರಿಯನ್ನು ರಚಿಸುವುದು
ಈಗ ನಾವು ಮೂರು ಲೇಯರ್ಗಳನ್ನು ನಿರ್ಮಿಸುತ್ತೇವೆ, ಪ್ರತಿಯೊಂದೂ ಗರಿಷ್ಠ-ಪೂಲಿಂಗ್ ಮತ್ತು ReLU ಸಕ್ರಿಯಗೊಳಿಸುವ ಕಾರ್ಯದೊಂದಿಗೆ ಎರಡು ConvNets ಅನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ, ನಂತರ ಸಂಪೂರ್ಣವಾಗಿ ಸಂಪರ್ಕಗೊಂಡಿರುವ 1024-ಯೂನಿಟ್ ಸಿಸ್ಟಮ್. ResNet50 ಅಥವಾ Xception ಗೆ ಹೋಲಿಸಿದರೆ, ಅತ್ಯಾಧುನಿಕ ಮಾದರಿಗಳು, ಇದು ತುಲನಾತ್ಮಕವಾಗಿ ಚಿಕ್ಕ ಮಾದರಿಯಾಗಿರಬಹುದು.
6. ಮಾದರಿಯ ತರಬೇತಿ
ಪ್ರತಿ ಯುಗದಲ್ಲಿ ನಿಖರತೆ ಮತ್ತು ನಷ್ಟವನ್ನು ಅಳೆಯಲು ನಾನು ಟೆನ್ಸಾರ್ಬೋರ್ಡ್ ಅನ್ನು ಬಳಸಿದ್ದೇನೆ ಮತ್ತು ಡೇಟಾವನ್ನು ಆಮದು ಮಾಡಿಕೊಂಡ ನಂತರ ಮತ್ತು ಮಾದರಿಯನ್ನು ರಚಿಸಿದ ನಂತರ ನಮಗೆ ಸುಂದರವಾದ ಪ್ರದರ್ಶನವನ್ನು ಒದಗಿಸುತ್ತೇನೆ. ಕೆಳಗಿನ ಕೋಡ್ ಅನ್ನು ರನ್ ಮಾಡಿ; ನಿಮ್ಮ CPU/GPU ಅನ್ನು ಅವಲಂಬಿಸಿ, ತರಬೇತಿಯು ಹಲವಾರು ನಿಮಿಷಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ.
ಟೆನ್ಸಾರ್ಬೋರ್ಡ್ ಅನ್ನು ಬಳಸಲು, ಪ್ರಸ್ತುತ ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ಟರ್ಮಿನಲ್ ಅಥವಾ ಕಮಾಂಡ್ ಪ್ರಾಂಪ್ಟಿನಲ್ಲಿ ಈ ಕೆಳಗಿನ ಆಜ್ಞೆಯನ್ನು ಟೈಪ್ ಮಾಡಿ:
ಮೌಲ್ಯೀಕರಣದ ನಷ್ಟವು ಕಡಿಮೆಯಾಗುತ್ತಿದೆ ಮತ್ತು ನಿಖರತೆಯು ಸುಮಾರು 81% ಕ್ಕೆ ಏರುತ್ತಿದೆ ಎಂದು ನೀವು ನೋಡುತ್ತೀರಿ. ಅದು ಅದ್ಭುತವಾಗಿದೆ!
ಮಾದರಿಯನ್ನು ಪರೀಕ್ಷಿಸಲಾಗುತ್ತಿದೆ
ತರಬೇತಿಯು ಪೂರ್ಣಗೊಂಡಾಗ, ಅಂತಿಮ ಮಾದರಿ ಮತ್ತು ತೂಕವನ್ನು ಫಲಿತಾಂಶಗಳ ಫೋಲ್ಡರ್ನಲ್ಲಿ ಉಳಿಸಲಾಗುತ್ತದೆ, ಇದು ಒಮ್ಮೆ ತರಬೇತಿ ನೀಡಲು ಮತ್ತು ನಾವು ಆಯ್ಕೆಮಾಡಿದಾಗ ಭವಿಷ್ಯವಾಣಿಗಳನ್ನು ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ. test.py ಹೆಸರಿನ ಹೊಸ ಪೈಥಾನ್ ಫೈಲ್ನಲ್ಲಿ ಕೋಡ್ ಅನ್ನು ಅನುಸರಿಸಿ.
7. ಪರೀಕ್ಷೆಗಾಗಿ ಉಪಯುಕ್ತತೆಗಳನ್ನು ಆಮದು ಮಾಡಿಕೊಳ್ಳುವುದು
8. ಪೈಥಾನ್ ಡೈರೆಕ್ಟರಿಯನ್ನು ತಯಾರಿಸುವುದು
ಪ್ರತಿ ಪೂರ್ಣಾಂಕ ಮೌಲ್ಯವನ್ನು ಡೇಟಾಸೆಟ್ನ ಸೂಕ್ತ ಲೇಬಲ್ಗೆ ಭಾಷಾಂತರಿಸುವ ಪೈಥಾನ್ ನಿಘಂಟನ್ನು ಮಾಡಿ:
9. ಪರೀಕ್ಷಾ ಡೇಟಾ ಮತ್ತು ಮಾದರಿಯನ್ನು ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ
ಕೆಳಗಿನ ಕೋಡ್ ಪರೀಕ್ಷಾ ಡೇಟಾ ಮತ್ತು ಮಾದರಿಯನ್ನು ಲೋಡ್ ಮಾಡುತ್ತದೆ.
10. ಮೌಲ್ಯಮಾಪನ ಮತ್ತು ಭವಿಷ್ಯ
ಕೆಳಗಿನ ಕೋಡ್ ಕಪ್ಪೆ ಚಿತ್ರಗಳನ್ನು ಮೌಲ್ಯಮಾಪನ ಮಾಡುತ್ತದೆ ಮತ್ತು ಭವಿಷ್ಯ ನುಡಿಯುತ್ತದೆ.
11. ಫಲಿತಾಂಶಗಳು
ಮಾದರಿಯು ಕಪ್ಪೆಯನ್ನು 80.62% ನಿಖರತೆಯೊಂದಿಗೆ ಊಹಿಸಿದೆ.
ತೀರ್ಮಾನ
ಸರಿ, ನಾವು ಈ ಪಾಠವನ್ನು ಮುಗಿಸಿದ್ದೇವೆ. ಸ್ವಲ್ಪ CNN ಗೆ 80.62% ಉತ್ತಮವಾಗಿಲ್ಲದಿದ್ದರೂ, ಉತ್ತಮ ಫಲಿತಾಂಶಗಳಿಗಾಗಿ ಮಾದರಿಯನ್ನು ಬದಲಾಯಿಸಲು ಅಥವಾ ResNet50, Xception ಅಥವಾ ಇತರ ಅತ್ಯಾಧುನಿಕ ಮಾದರಿಗಳನ್ನು ನೋಡಲು ನಾನು ಬಲವಾಗಿ ಸಲಹೆ ನೀಡುತ್ತೇನೆ.
ಈಗ ನೀವು ಕೆರಾಸ್ನಲ್ಲಿ ನಿಮ್ಮ ಮೊದಲ ಇಮೇಜ್ ರೆಕಗ್ನಿಷನ್ ನೆಟ್ವರ್ಕ್ ಅನ್ನು ನಿರ್ಮಿಸಿದ್ದೀರಿ, ವಿಭಿನ್ನ ನಿಯತಾಂಕಗಳು ಅದರ ಕಾರ್ಯಕ್ಷಮತೆಯ ಮೇಲೆ ಹೇಗೆ ಪರಿಣಾಮ ಬೀರುತ್ತವೆ ಎಂಬುದನ್ನು ಕಂಡುಹಿಡಿಯಲು ನೀವು ಮಾದರಿಯನ್ನು ಪ್ರಯೋಗಿಸಬೇಕು.
ಪ್ರತ್ಯುತ್ತರ ನೀಡಿ