ਕੰਪਿਊਟਰ ਵਿਜ਼ਨ ਦੀ ਆਬਜੈਕਟ ਖੋਜ ਤਕਨਾਲੋਜੀ ਕਈ ਐਪਲੀਕੇਸ਼ਨਾਂ ਲਈ ਜ਼ਰੂਰੀ ਹੈ। ਅਸੀਂ ਇਸਨੂੰ ਰੋਬੋਟਿਕਸ, ਨਿਗਰਾਨੀ ਸਾਜ਼ੋ-ਸਾਮਾਨ, ਸਵੈ-ਡਰਾਈਵਿੰਗ ਆਟੋਮੋਬਾਈਲਜ਼, ਅਤੇ ਹੋਰ ਬਹੁਤ ਸਾਰੇ ਖੇਤਰਾਂ ਵਿੱਚ ਵਰਤਦੇ ਹਾਂ। ਇਸ ਲਈ, ਸਾਨੂੰ ਤਸਵੀਰ ਜਾਂ ਵੀਡੀਓ ਵਿੱਚ ਕੁਝ ਚੀਜ਼ਾਂ ਲੱਭਣ ਅਤੇ ਪਛਾਣਨ ਦਾ ਮੌਕਾ ਮਿਲਦਾ ਹੈ।
ਸਭ ਤੋਂ ਮਸ਼ਹੂਰ ਵਿੱਚੋਂ ਇੱਕ ਵਸਤੂ ਪਛਾਣ ਐਲਗੋਰਿਦਮ YOLO ਹੈ (ਤੁਸੀਂ ਸਿਰਫ਼ ਇੱਕ ਵਾਰ ਦੇਖੋ) ਮਾਡਲਾਂ ਦਾ ਸੈੱਟ। ਇਹ ਮਾਡਲ ਦੁਆਰਾ ਬਣਾਏ ਗਏ ਹਨ Ultralytics LLC.
ਇਸ ਲੜੀ ਦਾ ਸਭ ਤੋਂ ਤਾਜ਼ਾ ਸੰਸਕਰਣ YOLOv5 ਹੈ। ਅਤੇ, ਇਹ ਮਾਰਕੀਟ ਵਿੱਚ ਸਭ ਤੋਂ ਤੇਜ਼ ਅਤੇ ਸਭ ਤੋਂ ਸਟੀਕ ਵਸਤੂ ਪਛਾਣ ਮਾਡਲ ਹੈ। ਨਵੇਂ ਡੇਟਾ ਨੂੰ ਆਮ ਬਣਾਉਣ ਲਈ ਮਾਡਲ ਦੀ ਸਮਰੱਥਾ ਵਿੱਚ ਬਹੁਤ ਸੁਧਾਰ ਕੀਤਾ ਗਿਆ ਹੈ। ਨਾਲ ਹੀ, ਇਸ ਵਿੱਚ ਬਹੁਤ ਸਾਰੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਸ਼ਾਮਲ ਹਨ ਜੋ ਇਸਨੂੰ ਪਹਿਲਾਂ ਦੇ ਦੁਹਰਾਓ ਨਾਲੋਂ ਵਧੀਆ ਪ੍ਰਦਰਸ਼ਨ ਕਰਦੀਆਂ ਹਨ।
YOLOv5 ਰੀਅਲ-ਟਾਈਮ ਐਪਲੀਕੇਸ਼ਨਾਂ ਲਈ ਬਹੁਤ ਵਧੀਆ ਹੈ ਕਿਉਂਕਿ ਇਹ ਇੱਕ ਸਿੰਗਲ GPU 'ਤੇ ਪ੍ਰਤੀ ਸਕਿੰਟ 1000 ਫਰੇਮਾਂ ਦੀ ਦਰ ਨਾਲ ਤਸਵੀਰਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰ ਸਕਦਾ ਹੈ।
ਇਸ ਲੇਖ ਵਿੱਚ, ਅਸੀਂ YOLOv5 ਨੂੰ ਪੇਸ਼ ਕਰਾਂਗੇ ਅਤੇ ਇਸਦੇ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਖੇਤਰਾਂ ਦੇ ਵੇਰਵਿਆਂ 'ਤੇ ਜਾਵਾਂਗੇ।
YOLO ਦੀ ਯਾਤਰਾ: YOLO ਤੋਂ YOLOv5 ਤੱਕ
ਜੋਸਫ਼ ਰੈਡਮੋਨ ਐਟ ਅਲ. ਅਸਲ ਵਿੱਚ YOLO, ਵਸਤੂ ਪਛਾਣ ਮਾਡਲਾਂ ਦਾ ਇੱਕ ਸਮੂਹ, 2016 ਵਿੱਚ ਪੇਸ਼ ਕੀਤਾ ਗਿਆ ਸੀ। ਸ਼ੁਰੂਆਤੀ YOLO ਮਾਡਲ ਅਸਲ ਸਮੇਂ ਵਿੱਚ ਵਸਤੂਆਂ ਦੀ ਪਛਾਣ ਕਰ ਸਕਦਾ ਹੈ। ਹਾਲਾਂਕਿ, ਉਸ ਸਮੇਂ ਦੇ ਦੂਜੇ ਮਾਡਲਾਂ ਦੇ ਮੁਕਾਬਲੇ ਇਸਦੀ ਘੱਟ ਸ਼ੁੱਧਤਾ ਸੀ।
YOLO ਦੇ ਕਈ ਅੱਪਗਰੇਡ ਕੀਤੇ ਸੰਸਕਰਣ ਸਾਲਾਂ ਦੌਰਾਨ ਜਾਰੀ ਕੀਤੇ ਗਏ ਸਨ। ਅਤੇ ਅੰਤ ਵਿੱਚ, Ultralytics LLC ਨੇ YOLO ਸੀਰੀਜ਼, YOLOv5 ਦਾ ਸਭ ਤੋਂ ਨਵਾਂ ਸੰਸਕਰਨ ਬਣਾਇਆ।
YOLOv5 ਵਰਤਮਾਨ ਵਿੱਚ ਉਪਲਬਧ ਸਭ ਤੋਂ ਸਹੀ ਅਤੇ ਸਭ ਤੋਂ ਤੇਜ਼ ਵਸਤੂ ਪਛਾਣ ਮਾਡਲ ਹੈ।
ਮਹੱਤਵਪੂਰਨ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ
ਐਂਕਰ ਬਾਕਸ
YOLOv5 ਐਂਕਰ ਬਾਕਸਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਇੱਕ ਚਿੱਤਰ ਵਿੱਚ ਵਸਤੂਆਂ ਲਈ ਬਾਊਂਡਿੰਗ ਬਾਕਸਾਂ ਦੀ ਭਵਿੱਖਬਾਣੀ ਕਰਦਾ ਹੈ। ਮਾਡਲ ਭਵਿੱਖਬਾਣੀ ਕਰਦਾ ਹੈ ਕਿ ਐਂਕਰ ਬਾਕਸਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਵੱਖ-ਵੱਖ ਪਹਿਲੂ ਅਨੁਪਾਤ ਵਾਲੇ ਕਈ ਪੂਰਵ-ਪ੍ਰਭਾਸ਼ਿਤ ਬਕਸਿਆਂ ਵਿੱਚੋਂ ਕਿਹੜਾ ਚਿੱਤਰ ਵਿੱਚ ਆਈਟਮ ਨਾਲ ਸਭ ਤੋਂ ਵਧੀਆ ਮੇਲ ਖਾਂਦਾ ਹੈ। ਇਹ ਪਹਿਲਾਂ ਤੋਂ ਪਰਿਭਾਸ਼ਿਤ ਬਕਸੇ ਹਨ।
ਅਤੇ, ਉਹ YOLOv5 ਨੂੰ ਇੱਕ ਤਸਵੀਰ ਵਿੱਚ ਸ਼ੁੱਧਤਾ ਨਾਲ ਆਈਟਮਾਂ ਨੂੰ ਪਛਾਣਨ ਅਤੇ ਲੱਭਣ ਲਈ ਸਮਰੱਥ ਕਰਦੇ ਹਨ।
ਮੋਜ਼ੇਕ ਡਾਟਾ ਵਧਾਉਣਾ
ਸਿਖਲਾਈ ਦੇਣ ਵੇਲੇ, YOLOv5 ਮੋਜ਼ੇਕ ਵਜੋਂ ਜਾਣੀ ਜਾਂਦੀ ਇੱਕ ਵਿਧੀ ਨੂੰ ਵਰਤਦਾ ਹੈ ਡਾਟਾ ਵਾਧਾ. ਤਾਜ਼ੀਆਂ ਸਿਖਲਾਈ ਦੀਆਂ ਤਸਵੀਰਾਂ ਵਿਕਸਿਤ ਕਰਨ ਲਈ, ਸਾਡਾ ਮਾਡਲ ਬੇਤਰਤੀਬੇ ਤੌਰ 'ਤੇ ਕਈ ਫੋਟੋਆਂ ਦੇ ਪੈਚਾਂ ਨੂੰ ਜੋੜਦਾ ਹੈ। ਨਤੀਜੇ ਵਜੋਂ, ਮਾਡਲ ਵਧੇਰੇ ਲਚਕੀਲਾ ਅਤੇ ਭਰੋਸੇਮੰਦ ਬਣ ਜਾਂਦਾ ਹੈ। ਇਸ ਲਈ, ਇਹ ਨਵੇਂ ਡੇਟਾ ਨੂੰ ਸਧਾਰਣ ਕਰਨ ਅਤੇ ਓਵਰਫਿਟਿੰਗ ਨੂੰ ਘਟਾਉਂਦਾ ਹੈ.
ਇੱਕ ਵਿਲੱਖਣ ਸਿਖਲਾਈ ਪਾਈਪਲਾਈਨ
ਇੱਕ ਵਿਲੱਖਣ ਸਿਖਲਾਈ ਪਾਈਪਲਾਈਨ ਜੋ ਨਿਰੀਖਣ ਅਤੇ ਮਿਲਾਉਂਦੀ ਹੈ ਨਿਰੀਖਣ ਰਹਿਤ ਸਿਖਲਾਈ ਵਰਤਿਆ ਗਿਆ ਹੈ.
ਇਸ ਤਰ੍ਹਾਂ, ਮਾਡਲ ਇੱਕ ਛੋਟੇ ਨਮੂਨੇ ਤੋਂ ਸਿੱਖਦਾ ਹੈ ਅਤੇ ਬਿਨਾਂ ਲੇਬਲ ਵਾਲੇ ਇਨਪੁਟ ਦੀ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। ਇਹ ਮਾਡਲ ਦੀ ਕਾਰਗੁਜ਼ਾਰੀ ਨੂੰ ਵਧਾਉਂਦਾ ਹੈ ਅਤੇ ਨਵੇਂ ਇਨਪੁਟਸ ਨੂੰ ਆਮ ਬਣਾਉਣ ਦੀ ਸਮਰੱਥਾ ਨੂੰ ਵਧਾਉਂਦਾ ਹੈ।
ਪਰਤਾਂ ਜੋ ਕਿ ਰਹਿੰਦ-ਖੂੰਹਦ ਅਤੇ ਗੈਰ-ਰਹਿਤ ਹਨ
YOLOv5 ਦਾ ਆਰਕੀਟੈਕਚਰ ਲੇਅਰਾਂ ਨੂੰ ਜੋੜਦਾ ਹੈ ਜੋ ਬਕਾਇਆ ਅਤੇ ਗੈਰ-ਰਹਿਤ ਹਨ। ਗਰੇਡੀਐਂਟ ਨੂੰ ਲੇਅਰਾਂ ਵਿੱਚ ਵਹਿਣ ਦੀ ਆਗਿਆ ਦੇ ਕੇ, ਬਚੀਆਂ ਪਰਤਾਂ ਮੁਸ਼ਕਲ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਸਿੱਖਣ ਵਿੱਚ ਮਾਡਲ ਦੀ ਸਹਾਇਤਾ ਕਰਦੀਆਂ ਹਨ। ਨਾਲ ਹੀ, ਗੈਰ-ਰਹਿਤ ਪਰਤਾਂ ਮਾਡਲ ਨੂੰ ਇੰਪੁੱਟ ਤਸਵੀਰ ਦੀ ਵਧੇਰੇ ਵਿਆਪਕ ਸਮਝ ਪ੍ਰਦਾਨ ਕਰਦੀਆਂ ਹਨ। ਨਤੀਜੇ ਵਜੋਂ, YOLOv5 ਵਧੇਰੇ ਸਹੀ ਅਤੇ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਕੰਮ ਕਰ ਸਕਦਾ ਹੈ।
YOLOv5 ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰੀਏ
ਇੰਸਟਾਲੇਸ਼ਨ
YOLOv5 ਇੰਸਟਾਲੇਸ਼ਨ ਪਾਈਪ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਜਲਦੀ ਪੂਰੀ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ। Pip ਇੱਕ ਪਾਈਥਨ ਪੈਕੇਜ ਮੈਨੇਜਰ ਹੈ। YOLOv5 ਨੂੰ ਸਥਾਪਿਤ ਕਰਨ ਲਈ ਆਮ ਪ੍ਰਕਿਰਿਆਵਾਂ ਹੇਠ ਲਿਖੇ ਅਨੁਸਾਰ ਹਨ:
1- PyTorch ਇੰਸਟਾਲ ਕਰੋ: ਕਿਉਂਕਿ YOLOv5 PyTorch ਫਰੇਮਵਰਕ 'ਤੇ ਅਧਾਰਤ ਹੈ, ਤੁਹਾਨੂੰ ਪਹਿਲਾਂ PyTorch ਨੂੰ ਸਥਾਪਿਤ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।
pip install torch torchvision
2. CUDA ਸਥਾਪਿਤ ਕਰੋ: ਜੇਕਰ ਤੁਸੀਂ ਇੱਕ GPU 'ਤੇ YOLOv5 ਚਲਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ ਤਾਂ ਤੁਹਾਨੂੰ CUDA ਨੂੰ ਸਥਾਪਿਤ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।
3. YOLOv5 ਇੰਸਟਾਲ ਕਰੋ: PyTorch ਅਤੇ CUDA ਨੂੰ ਸਥਾਪਤ ਕਰਨ ਤੋਂ ਬਾਅਦ, YOLOv5 ਨੂੰ ਡਾਊਨਲੋਡ ਕਰਨ ਲਈ ਹੇਠਾਂ ਦਿੱਤੀ ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰੋ।
pip install yolov5
4-YOLOv5 ਦੀ ਸਥਾਪਨਾ ਤੋਂ ਬਾਅਦ, ਤੁਹਾਨੂੰ ਪ੍ਰੀ-ਟ੍ਰੇਂਡ ਵਜ਼ਨ ਡਾਊਨਲੋਡ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ। ਪੂਰਵ-ਸਿਖਿਅਤ ਵਜ਼ਨ Ultralytics GitHub ਰੈਪੋ ਵਿੱਚ ਉਪਲਬਧ ਹਨ।
ਹੇਠਾਂ ਸਕ੍ਰੋਲ ਕਰਕੇ ਵੈਬਸਾਈਟ ਦੇ "ਵਜ਼ਨ" ਹਿੱਸੇ 'ਤੇ ਜਾਓ। ਤੁਸੀਂ ਇੱਥੇ ਪ੍ਰਾਪਤ ਕੀਤੀ ਸੂਚੀ ਵਿੱਚੋਂ ਪੂਰਵ-ਸਿਖਿਅਤ ਵਜ਼ਨ ਡਾਊਨਲੋਡ ਕਰ ਸਕਦੇ ਹੋ।
5. ਉਹ ਵਜ਼ਨ ਚੁਣੋ ਜੋ ਪਹਿਲਾਂ ਤੋਂ ਸਿਖਲਾਈ ਪ੍ਰਾਪਤ ਹਨ ਅਤੇ ਤੁਹਾਡੇ ਵਰਤੋਂ ਦੇ ਮਾਮਲੇ ਵਿੱਚ ਸਭ ਤੋਂ ਵਧੀਆ ਹਨ। ਡੇਟਾਸੈਟ ਜਾਂ ਖਾਸ YOLOv5 ਸੰਸਕਰਣ ਜਿਸਦਾ ਵਜ਼ਨ ਸਿੱਖਿਆ ਗਿਆ ਸੀ, ਸੂਚੀ ਨੂੰ ਸੰਕੁਚਿਤ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ।
6- ਉਚਿਤ ਵਜ਼ਨ ਚੁਣਨ ਤੋਂ ਬਾਅਦ, ਇਸਦੇ ਅੱਗੇ "ਡਾਊਨਲੋਡ" ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕਰਕੇ ਭਾਰ ਚੁਣੋ। ਵਜ਼ਨ ਇਸ ਤਰ੍ਹਾਂ ਡਾਊਨਲੋਡ ਕਰਨ ਲਈ ਉਪਲਬਧ ਹੋਵੇਗਾ। pt ਫਾਈਲਾਂ.
7- ਡਾਉਨਲੋਡ ਕੀਤੇ ਵਜ਼ਨ ਨੂੰ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਟ੍ਰਾਂਸਫਰ ਕਰੋ। ਇਹ ਉਹ ਥਾਂ ਹੈ ਜਿੱਥੇ ਤੁਹਾਡੀ ਖੋਜ ਸਕ੍ਰਿਪਟ ਕੰਮ ਕਰੇਗੀ।
8- ਇਸ ਬਿੰਦੂ 'ਤੇ, ਤੁਸੀਂ ਆਪਣੀ ਖੋਜ ਸਕ੍ਰਿਪਟ ਵਿੱਚ ਪੂਰਵ-ਸਿਖਿਅਤ ਵਜ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਆਪਣੀਆਂ ਫੋਟੋਆਂ ਜਾਂ ਵੀਡੀਓਜ਼ 'ਤੇ ਆਬਜੈਕਟ ਖੋਜ ਚਲਾ ਸਕਦੇ ਹੋ।
ਡਾਟਾ ਤਿਆਰ ਕਰੋ
YOLOv5 ਨਾਲ ਵਰਤੋਂ ਲਈ ਡਾਟਾ ਤਿਆਰ ਕਰਨ ਲਈ ਤੁਹਾਨੂੰ ਹੇਠ ਲਿਖੀਆਂ ਕਾਰਵਾਈਆਂ ਕਰਨੀਆਂ ਚਾਹੀਦੀਆਂ ਹਨ:
1. ਡੇਟਾ ਇਕੱਠਾ ਕਰੋ: ਪਹਿਲਾ ਕਦਮ ਉਹ ਤਸਵੀਰ ਜਾਂ ਵੀਡੀਓ ਡੇਟਾ ਇਕੱਠਾ ਕਰਨਾ ਹੈ ਜਿਸਦੀ ਤੁਹਾਨੂੰ ਲੋੜ ਪਵੇਗੀ ਵਸਤੂ ਖੋਜ. ਜਿਹੜੀਆਂ ਚੀਜ਼ਾਂ ਤੁਸੀਂ ਖੋਜਣਾ ਚਾਹੁੰਦੇ ਹੋ ਉਹ ਫੋਟੋਆਂ ਜਾਂ ਵੀਡੀਓ ਵਿੱਚ ਮੌਜੂਦ ਹੋਣੀਆਂ ਚਾਹੀਦੀਆਂ ਹਨ।
2- ਡੇਟਾ ਨੂੰ ਫਾਰਮੈਟ ਕਰੋ: ਜੇਕਰ ਤੁਸੀਂ ਉਹਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹੋ ਤਾਂ ਤੁਸੀਂ ਆਪਣੀ ਸਕ੍ਰਿਪਟ ਵਿੱਚ ਫੋਟੋਆਂ ਨੂੰ ਆਯਾਤ ਕਰ ਸਕਦੇ ਹੋ। ਜੇਕਰ ਤੁਸੀਂ ਇੱਕ ਨੂੰ ਵਰਤਣ ਦੀ ਯੋਜਨਾ ਬਣਾ ਰਹੇ ਹੋ ਤਾਂ ਤੁਹਾਨੂੰ ਇੱਕ ਵੀਡੀਓ ਨੂੰ ਫ਼ੋਟੋਆਂ ਦੀ ਇੱਕ ਲੜੀ ਵਿੱਚ ਬਦਲਣਾ ਚਾਹੀਦਾ ਹੈ। ਤੁਸੀਂ OpenCV ਵਰਗੀ ਲਾਇਬ੍ਰੇਰੀ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ ਮੂਵੀ ਤੋਂ ਫਰੇਮਾਂ ਨੂੰ ਐਕਸਟਰੈਕਟ ਕਰ ਸਕਦੇ ਹੋ।
import cv2
img = cv2.imread('path/to/image')
OpenCV ਲਾਇਬ੍ਰੇਰੀ ਦੇ ਨਾਲ, ਤੁਸੀਂ ਇੱਕ ਵੀਡੀਓ ਨੂੰ ਚਿੱਤਰਾਂ ਦੀ ਇੱਕ ਲੜੀ ਵਿੱਚ ਬਦਲਣ ਲਈ ਹੇਠ ਦਿੱਤੀ ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ:
import cv2
cap = cv2.VideoCapture('path/to/video')
while True:
ret, frame = cap.read()
if not ret:
break
cv2.imshow('frame', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
3. ਡੇਟਾ ਨੂੰ ਲੇਬਲ ਕਰੋ: ਜੇਕਰ ਤੁਸੀਂ ਆਪਣਾ ਡੇਟਾਸੈਟ ਵਰਤ ਰਹੇ ਹੋ ਤਾਂ ਤੁਹਾਨੂੰ ਡੇਟਾ ਨੂੰ ਲੇਬਲ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ। ਚਿੱਤਰ ਦੇ ਹਰੇਕ ਫਰੇਮ ਵਿੱਚ ਉਹਨਾਂ ਆਈਟਮਾਂ ਦੇ ਆਲੇ ਦੁਆਲੇ ਬਾਊਂਡਿੰਗ ਬਾਕਸ ਖਿੱਚਣਾ ਜੋ ਤੁਸੀਂ ਪਛਾਣਨਾ ਚਾਹੁੰਦੇ ਹੋ। ਇਹ ਡੇਟਾ ਨੂੰ ਲੇਬਲ ਕਰਨ ਦੀ ਪ੍ਰਕਿਰਿਆ ਹੈ। ਤੁਸੀਂ ਇਸ ਓਪਰੇਸ਼ਨ ਵਿੱਚ ਤੁਹਾਡੀ ਮਦਦ ਕਰਨ ਲਈ ਕਈ ਟੂਲਸ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ, ਜਿਸ ਵਿੱਚ LabelImg ਅਤੇ RectLabel ਸ਼ਾਮਲ ਹਨ।
4- ਤੁਹਾਨੂੰ ਟੈਗ ਕਰਨ ਤੋਂ ਬਾਅਦ ਡੇਟਾ ਨੂੰ ਸਿਖਲਾਈ ਅਤੇ ਟੈਸਟਿੰਗ ਸੈੱਟਾਂ ਵਿੱਚ ਵੰਡਣਾ ਚਾਹੀਦਾ ਹੈ। ਇਹ ਮੁਲਾਂਕਣ ਕਰਨ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹੈ ਕਿ ਤੁਹਾਡਾ ਮਾਡਲ ਕਿੰਨਾ ਵਧੀਆ ਪ੍ਰਦਰਸ਼ਨ ਕਰਦਾ ਹੈ।
5. ਅੰਤ ਵਿੱਚ, ਤੁਹਾਨੂੰ ਸਿਖਲਾਈ ਜਾਂ ਟੈਸਟਿੰਗ ਤੋਂ ਪਹਿਲਾਂ ਡੇਟਾ ਨੂੰ ਪ੍ਰੀਪ੍ਰੋਸੈੱਸ ਕਰਨ ਦੀ ਲੋੜ ਹੋ ਸਕਦੀ ਹੈ। ਇਸ ਵਿੱਚ ਤਸਵੀਰਾਂ ਜਾਂ ਵੀਡੀਓ ਨੂੰ ਸਕੇਲਿੰਗ ਕਰਨਾ, ਪਿਕਸਲ ਵੈਲਯੂਜ਼ ਨੂੰ ਮਾਨਕੀਕਰਨ ਕਰਨਾ, ਜਾਂ ਡਾਟਾ ਵਧਾਉਣ ਲਈ ਤਰੀਕਿਆਂ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਸ਼ਾਮਲ ਹੋ ਸਕਦਾ ਹੈ।
ਇਹਨਾਂ ਕਦਮਾਂ ਨੂੰ ਪੂਰਾ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਤੁਹਾਡਾ ਡੇਟਾ ਤਿਆਰ ਹੈ।
ਖੋਜ ਸਕ੍ਰਿਪਟ ਚਲਾਓ
ਇੱਥੇ ਇੱਕ ਖੋਜ ਸਕ੍ਰਿਪਟ ਦਾ ਇੱਕ ਉਦਾਹਰਣ ਹੈ ਜੋ ਇੱਕ ਤਸਵੀਰ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰਦੀ ਹੈ ਅਤੇ ਵਸਤੂਆਂ ਨੂੰ ਲੱਭਦੀ ਹੈ।
import yolov5
import cv2
# Pre-trained weights should be loaded.
weights = 'path/to/weights.pt'
# Set the detection confidence level
conf_thres = 0.5
# Set the Non-Maxima Suppression (NMS) threshold
nms_thres = 0.5
# Create the detector object
detector = yolov5.YOLOv5(weights, conf_thres, nms_thres)
# Load the image
img = cv2.imread('path/to/image')
# Perform object detection
detections = detector.detect(img)
# Print the detections
for x1, y1, x2, y2, conf, cls_conf, cls_pred in detections:
print("Object:", classes[int(cls_pred)])
print("Confidence:", conf)
print("Bounding box:", (x1, y1, x2, y2))
ਪੋਸਟ-ਪ੍ਰੋਸੈਸਿੰਗ
ਗੈਰ-ਅਧਿਕਤਮ ਦਮਨ ਆਬਜੈਕਟ ਖੋਜ (NMS) ਵਿੱਚ ਵਰਤੀਆਂ ਜਾਣ ਵਾਲੀਆਂ ਸਭ ਤੋਂ ਵੱਧ ਵਾਰ-ਵਾਰ ਪੋਸਟ-ਪ੍ਰੋਸੈਸਿੰਗ ਤਕਨੀਕਾਂ ਵਿੱਚੋਂ ਇੱਕ ਹੈ। ਅਸੀਂ ਉਸੇ ਵਸਤੂ ਲਈ ਓਵਰਲੈਪਿੰਗ ਬਾਉਂਡਿੰਗ ਬਾਕਸ ਨੂੰ ਖਤਮ ਕਰਨ ਲਈ NMS ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਾਂ। ਖੋਜਾਂ 'ਤੇ NMS ਨੂੰ ਚਲਾਉਣ ਲਈ, ਅਸੀਂ OpenCV ਲਾਇਬ੍ਰੇਰੀ ਦੀ cv2.dnn.NMSBoxes() ਵਿਧੀ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹਾਂ।
ਇੱਥੇ NMS ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਪੋਸਟ-ਪ੍ਰਕਿਰਿਆ ਖੋਜਾਂ ਦੀ ਇੱਕ ਉਦਾਹਰਨ ਹੈ।
import cv2
# Perform Non-Maxima Suppression (NMS)
ਸੂਚਕਾਂਕ = cv2.dnn.NMSBoxes(ਖੋਜ, ਵਿਸ਼ਵਾਸ, conf_thres, nms_thres)
ਦਿੱਖ
ਵਿਜ਼ੂਅਲਾਈਜ਼ੇਸ਼ਨ ਦੇ ਮਾਮਲੇ ਵਿੱਚ, ਅਸੀਂ ਦੁਬਾਰਾ ਓਪਨਸੀਵੀ ਵਰਗੀ ਲਾਇਬ੍ਰੇਰੀ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹਾਂ। ਅਸੀਂ ਸਰੋਤ ਤਸਵੀਰ ਜਾਂ ਵੀਡੀਓ 'ਤੇ ਖੋਜੀਆਂ ਵਸਤੂਆਂ ਦੇ ਦੁਆਲੇ ਬਾਊਂਡਿੰਗ ਬਾਕਸ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰ ਸਕਦੇ ਹਾਂ। ਚਿੱਤਰ ਦੇ ਬਾਊਂਡਿੰਗ ਬਾਕਸ ਨੂੰ ਖਿੱਚਣ ਲਈ, cv2.rectangle() ਵਿਧੀ ਦੀ ਵਰਤੋਂ ਕਰੋ। ਇੱਥੇ ਅਸਲ ਚਿੱਤਰ 'ਤੇ ਖੋਜਾਂ ਨੂੰ ਕਿਵੇਂ ਵੇਖਣਾ ਹੈ:
ਆਯਾਤ ਸੀਵੀ 2
# Draw the bounding boxes on the image
ਸੂਚਕਾਂਕ ਵਿੱਚ I ਲਈ:
i = i[0]
x1, y1, x2, y2 = detections[i][0], detections[i][1], detections[i][2], detections[i][3]
cv2.rectangle(img, (x1, y1), (x2, y2), (255, 0, 0), 2)
cv2.putText(img, classes[class_ids[i]], (x1, y1), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 255, 255), 2)
# Show the image
cv2.imshow("Object Detection", img)
cv2
ਐਪਲੀਕੇਸ਼ਨ
YOLOv5 ਇੱਕ ਮਜ਼ਬੂਤ ਵਸਤੂ ਪਛਾਣ ਮਾਡਲ ਹੈ। ਇਸ ਲਈ, ਅਸੀਂ ਇਸਦੀ ਵਰਤੋਂ ਬਹੁਤ ਸਾਰੇ ਅਸਲ-ਸੰਸਾਰ ਦ੍ਰਿਸ਼ਾਂ ਵਿੱਚ ਕਰ ਸਕਦੇ ਹਾਂ। ਸਭ ਤੋਂ ਪ੍ਰਮੁੱਖ ਉਪਯੋਗਾਂ ਵਿੱਚੋਂ ਇੱਕ ਸਵੈ-ਡ੍ਰਾਈਵਿੰਗ ਕਾਰਾਂ ਵਿੱਚ ਹੈ। YOLOv5 ਅਸਲ-ਸਮੇਂ ਵਿੱਚ ਆਈਟਮਾਂ ਦੀ ਪਛਾਣ ਕਰ ਸਕਦਾ ਹੈ ਜਿਵੇਂ ਕਿ ਆਟੋਮੋਬਾਈਲਜ਼ ਅਤੇ ਟ੍ਰੈਫਿਕ ਲਾਈਟਾਂ।
ਨਿਗਰਾਨੀ ਪ੍ਰਣਾਲੀਆਂ ਵਿੱਚ, ਅਸੀਂ ਲਾਈਵ ਵੀਡੀਓ ਸਟ੍ਰੀਮਾਂ ਵਿੱਚ ਵਸਤੂਆਂ ਨੂੰ ਪਛਾਣਨ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਟਰੈਕ ਕਰਨ ਲਈ YOLOv5 ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹਾਂ। ਇਸ ਤੋਂ ਇਲਾਵਾ, YOLOv5 ਰੋਬੋਟਿਕਸ ਵਿੱਚ ਇੱਕ ਵਧੀਆ ਸੰਪਤੀ ਹੋ ਸਕਦੀ ਹੈ। ਇਹ ਰੋਬੋਟਾਂ ਨੂੰ ਆਪਣੇ ਆਲੇ-ਦੁਆਲੇ ਦਾ ਪਤਾ ਲਗਾਉਣ ਅਤੇ ਸਮਝਣ ਵਿੱਚ ਮਦਦ ਕਰ ਸਕਦਾ ਹੈ। ਨੈਵੀਗੇਸ਼ਨ ਅਤੇ ਹੇਰਾਫੇਰੀ ਵਰਗੀਆਂ ਗਤੀਵਿਧੀਆਂ ਲਈ ਇਹ ਬਹੁਤ ਮਹੱਤਵਪੂਰਨ ਹੈ।
YOLOv5 ਦੀ ਵਰਤੋਂ ਕਿਸੇ ਵੀ ਉਦਯੋਗ ਵਿੱਚ ਵੀ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ ਜਿਸ ਲਈ ਵਸਤੂ ਖੋਜ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਜਿਵੇਂ ਕਿ ਪ੍ਰਚੂਨ, ਖੇਡਾਂ, ਮੈਡੀਕਲ ਅਤੇ ਸੁਰੱਖਿਆ।
ਸਿੱਟਾ
ਅੰਤ ਵਿੱਚ, YOLOv5 ਦੇ YOLO ਪਰਿਵਾਰ ਦਾ ਸਭ ਤੋਂ ਤਾਜ਼ਾ ਅਤੇ ਵਧੀਆ ਸੰਸਕਰਣ ਹੈ ਵਸਤੂ ਖੋਜ ਮਾਡਲ
. ਨਾਲ ਹੀ, ਇਹ ਕਹਿਣਾ ਉਚਿਤ ਹੈ ਕਿ ਇਹ ਉਪਲਬਧ ਸਭ ਤੋਂ ਸਹੀ ਆਬਜੈਕਟ ਖੋਜ ਮਾਡਲ ਹੈ। ਇਸਦੀ ਉੱਚ ਸ਼ੁੱਧਤਾ ਅਤੇ ਗਤੀ ਲਈ ਧੰਨਵਾਦ, ਤੁਸੀਂ ਇਸਨੂੰ ਆਪਣੇ ਆਬਜੈਕਟ ਖੋਜ ਪ੍ਰੋਜੈਕਟਾਂ ਲਈ ਸੁਰੱਖਿਅਤ ਰੂਪ ਨਾਲ ਚੁਣ ਸਕਦੇ ਹੋ।
ਰੇਸਕੀ ਐਗਸ
ਮੈਂ yolov5 ਨਾਲ ਖੋਜ ਵਾਹਨ ਬਾਰੇ ਪਹਿਲੀ ਜਰਨਲ ਬਣਾਉਂਦਾ ਹਾਂ ਅਤੇ ਇਹ ਵੈੱਬ ਉਸ ਬਾਰੇ ਜਾਣਕਾਰੀ ਖੋਜਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹਾਂ।
ਮੈਨੂੰ AI ਬਾਰੇ ਬਹੁਤ ਦਿਲਚਸਪੀ ਹੈ।
ਜੇ ਤੁਸੀਂ ਕਰ ਸਕਦੇ ਹੋ ਤਾਂ ਮੇਰੇ ਕੋਲ AI ਬਾਰੇ ਬਹੁਤ ਸਾਰੇ ਸਵਾਲ ਹਨ ਸ਼ਾਇਦ ਤੁਸੀਂ ਮੇਰੀ ਮਦਦ ਕਰ ਸਕਦੇ ਹੋ
ਤੁਹਾਡਾ ਧੰਨਵਾਦ