ΠΡΠΎΠ΄Π²ΠΈΠ½ΡΡΠ°Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ : Π’Π΅ΠΏΠ»ΠΎΠ²ΡΠ΅ ΠΊΠ°ΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ultralytics YOLO11 π
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΠ΅ΠΏΠ»ΠΎΠ²ΡΠ΅ ΠΊΠ°ΡΡΡ
Π’Π΅ΠΏΠ»ΠΎΠ²Π°Ρ ΠΊΠ°ΡΡΠ°, ΡΠΎΠ·Π΄Π°Π½Π½Π°Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Ultralytics YOLO11 ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΡΠΊΡΡ ΠΌΠ°ΡΡΠΈΡΡ Ρ ΡΠ²Π΅ΡΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΎΠΉ. ΠΡΠΎΡ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΏΠ΅ΠΊΡΡ ΡΠ²Π΅ΡΠΎΠ² Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π΄Π°Π½Π½ΡΡ , Π³Π΄Π΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΏΠ»ΡΠ΅ ΠΎΡΡΠ΅Π½ΠΊΠΈ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΡΡ ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π½ΠΎΡΡΡ, Π° Π±ΠΎΠ»Π΅Π΅ Ρ ΠΎΠ»ΠΎΠ΄Π½ΡΠ΅ - Π½Π° Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. Π’Π΅ΠΏΠ»ΠΎΠ²ΡΠ΅ ΠΊΠ°ΡΡΡ ΠΎΡΠ»ΠΈΡΠ½ΠΎ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΡΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΡΡ Π΅ΠΌΡ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΠΈ ΠΈ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ ΠΈ ΡΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡΡ .
Π‘ΠΌΠΎΡΡΠ΅ΡΡ: Π’Π΅ΠΏΠ»ΠΎΠ²ΡΠ΅ ΠΊΠ°ΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ultralytics YOLO11
ΠΠΎΡΠ΅ΠΌΡ ΡΡΠΎΠΈΡ Π²ΡΠ±ΡΠ°ΡΡ ΡΠ΅ΠΏΠ»ΠΎΠ²ΡΠ΅ ΠΊΠ°ΡΡΡ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½ΡΡ ?
- ΠΠ½ΡΡΠΈΡΠΈΠ²Π½ΠΎ ΠΏΠΎΠ½ΡΡΠ½Π°Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ : Π’Π΅ΠΏΠ»ΠΎΠ²ΡΠ΅ ΠΊΠ°ΡΡΡ ΡΠΏΡΠΎΡΠ°ΡΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠ°ΡΠΈΠΈ ΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ , ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π½Π°Π±ΠΎΡΡ Π΄Π°Π½Π½ΡΡ Π² ΡΠ΄ΠΎΠ±Π½ΡΠ΅ Π΄Π»Ρ Π²ΠΎΡΠΏΡΠΈΡΡΠΈΡ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ.
- ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΊΠΎΠ½ΠΎΠΌΠ΅ΡΠ½ΠΎΡΡΠ΅ΠΉ: ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ΡΠ΅ΠΏΠ»ΠΎΠ²ΠΎΠΉ ΠΊΠ°ΡΡΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΡΠΎΡΠ΅ Π²ΡΡΠ²ΠΈΡΡ ΡΠ΅Π½Π΄Π΅Π½ΡΠΈΠΈ, ΠΊΠ»Π°ΡΡΠ΅ΡΡ ΠΈ ΠΏΡΠΎΠ²Π°Π»Ρ, ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ Π±ΡΡΡΡΠΎΠΌΡ Π°Π½Π°Π»ΠΈΠ·Ρ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ.
- Π£Π»ΡΡΡΠ΅Π½Π½ΡΠΉ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅Π½Π½ΡΠΉ Π°Π½Π°Π»ΠΈΠ· ΠΈ ΠΏΡΠΈΠ½ΡΡΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ: ΡΠ΅ΠΏΠ»ΠΎΠ²ΡΠ΅ ΠΊΠ°ΡΡΡ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΠΏΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·ΠΈ, ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π² ΡΠ°ΠΊΠΈΡ ΠΎΠ±Π»Π°ΡΡΡΡ , ΠΊΠ°ΠΊ Π±ΠΈΠ·Π½Π΅Ρ-Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ°, ΡΠΊΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π³ΠΎΡΠΎΠ΄ΡΠΊΠΎΠ΅ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ ΠΌΠΈΡΠ΅
Π’ΡΠ°Π½ΡΠΏΠΎΡΡ | Π ΠΎΠ·Π½ΠΈΡΠ½Π°Ρ ΡΠΎΡΠ³ΠΎΠ²Π»Ρ |
---|---|
Ultralytics YOLO11 Π’Π΅ΠΏΠ»ΠΎΠ²Π°Ρ ΠΊΠ°ΡΡΠ° ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ° | Ultralytics YOLO11 Π’Π΅ΠΏΠ»ΠΎΠ²Π°Ρ ΠΊΠ°ΡΡΠ° ΡΠΎΠ·Π½ΠΈΡΠ½ΠΎΠΉ ΡΠΎΡΠ³ΠΎΠ²Π»ΠΈ |
Π’Π΅ΠΏΠ»ΠΎΠ²ΡΠ΅ ΠΊΠ°ΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ultralytics YOLO11 ΠΡΠΈΠΌΠ΅Ρ
# Run a heatmap example
yolo solutions heatmap show=True
# Pass a source video
yolo solutions heatmap source="path/to/video/file.mp4"
# Pass a custom colormap
yolo solutions heatmap colormap=cv2.COLORMAP_INFERNO
# Heatmaps + object counting
yolo solutions heatmap region=[(20, 400), (1080, 400), (1080, 360), (20, 360)]
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("Path/to/video/file.mp4")
assert cap.isOpened(), "Error reading video file"
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
# Video writer
video_writer = cv2.VideoWriter("heatmap_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# In case you want to apply object counting + heatmaps, you can pass region points.
# region_points = [(20, 400), (1080, 400)] # Define line points
# region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)] # Define region points
# region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360), (20, 400)] # Define polygon points
# Init heatmap
heatmap = solutions.Heatmap(
show=True, # Display the output
model="yolo11n.pt", # Path to the YOLO11 model file
colormap=cv2.COLORMAP_PARULA, # Colormap of heatmap
# region=region_points, # If you want to do object counting with heatmaps, you can pass region_points
# classes=[0, 2], # If you want to generate heatmap for specific classes i.e person and car.
# show_in=True, # Display in counts
# show_out=True, # Display out counts
# line_width=2, # Adjust the line width for bounding boxes and text display
)
# Process video
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or video processing has been successfully completed.")
break
im0 = heatmap.generate_heatmap(im0)
video_writer.write(im0)
cap.release()
video_writer.release()
cv2.destroyAllWindows()
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ Heatmap()
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|---|---|
model |
str |
None |
ΠΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ Ultralytics YOLO |
colormap |
int |
cv2.COLORMAP_JET |
Π¦Π²Π΅ΡΠΎΠ²Π°Ρ ΠΊΠ°ΡΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ Π΄Π»Ρ ΡΠ΅ΠΏΠ»ΠΎΠ²ΠΎΠΉ ΠΊΠ°ΡΡΡ. |
show |
bool |
False |
ΠΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π»ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Ρ Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΠΏΠ»ΠΎΠ²ΠΎΠΉ ΠΊΠ°ΡΡΡ. |
show_in |
bool |
True |
ΠΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π»ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Π²Ρ ΠΎΠ΄ΡΡΠΈΡ Π² ΡΠ΅Π³ΠΈΠΎΠ½. |
show_out |
bool |
True |
ΠΡΠΆΠ½ΠΎ Π»ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Π²ΡΡ ΠΎΠ΄ΡΡΠΈΡ ΠΈΠ· ΡΠ΅Π³ΠΈΠΎΠ½Π°. |
region |
list |
None |
Π’ΠΎΡΠΊΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠ΅ ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠΎΠ΄ΡΡΠ΅ΡΠ° (Π»ΠΈΠ±ΠΎ Π»ΠΈΠ½ΠΈΡ, Π»ΠΈΠ±ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ). |
line_width |
int |
2 |
Π’ΠΎΠ»ΡΠΈΠ½Π° Π»ΠΈΠ½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΏΡΠΈ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ. |
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ model.track
ΠΡΠ³ΡΠΌΠ΅Π½Ρ | Π’ΠΈΠΏ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|---|---|
source |
str |
None |
Π£ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π΄Π»Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π²ΠΈΠ΄Π΅ΠΎ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΏΡΡΠΈ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ ΠΈ URL-Π°Π΄ΡΠ΅ΡΠ°. |
persist |
bool |
False |
ΠΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ°Π΄ΡΠ°ΠΌΠΈ, ΡΠΎΡ ΡΠ°Π½ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Π²ΠΎ Π²ΡΠ΅Ρ Π²ΠΈΠ΄Π΅ΠΎΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ . |
tracker |
str |
botsort.yaml |
Π£ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, bytetrack.yaml ΠΈΠ»ΠΈ botsort.yaml . |
conf |
float |
0.3 |
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΏΠΎΡΠΎΠ³ Π΄ΠΎΠ²Π΅ΡΠΈΡ Π΄Π»Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠΉ; Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Π½ΠΎ ΠΌΠΎΠ³ΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π»ΠΎΠΆΠ½ΡΠ΅ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ. |
iou |
float |
0.5 |
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΏΠΎΡΠΎΠ³ ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π°Π΄ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ΠΌ (IoU) Π΄Π»Ρ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΊΡΡΠ²Π°ΡΡΠΈΡ ΡΡ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠΉ. |
classes |
list |
None |
Π€ΠΈΠ»ΡΡΡΡΠ΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΊΠ»Π°ΡΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, classes=[0, 2, 3] ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ. |
verbose |
bool |
True |
Π£ΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Ρ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². |
Π’Π΅ΠΏΠ»ΠΎΠ²ΡΠ΅ ΠΊΠ°ΡΡΡ COLORMAPs
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠΎΠ²ΠΎΠΉ ΠΊΠ°ΡΡΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|
cv::COLORMAP_AUTUMN |
ΠΠ°ΡΡΠ° ΠΎΡΠ΅Π½Π½ΠΈΡ ΡΠ²Π΅ΡΠΎΠ² |
cv::COLORMAP_BONE |
ΠΠ°ΡΡΠ° ΡΠ²Π΅ΡΠ° ΠΊΠΎΡΡΠ΅ΠΉ |
cv::COLORMAP_JET |
ΠΠ°ΡΡΠ° ΡΠ²Π΅ΡΠΎΠ² ΡΡΡΡΠΈ |
cv::COLORMAP_WINTER |
ΠΠ°ΡΡΠ° Π·ΠΈΠΌΠ½ΠΈΡ ΡΠ²Π΅ΡΠΎΠ² |
cv::COLORMAP_RAINBOW |
ΠΠ°ΡΡΠ° ΡΠ²Π΅ΡΠΎΠ² ΡΠ°Π΄ΡΠ³ΠΈ |
cv::COLORMAP_OCEAN |
ΠΠ°ΡΡΠ° ΡΠ²Π΅ΡΠΎΠ² ΠΎΠΊΠ΅Π°Π½Π° |
cv::COLORMAP_SUMMER |
ΠΠ°ΡΡΠ° ΡΠ²Π΅ΡΠΎΠ² Π»Π΅ΡΠ° |
cv::COLORMAP_SPRING |
ΠΠ°ΡΡΠ° Π²Π΅ΡΠ΅Π½Π½ΠΈΡ ΡΠ²Π΅ΡΠΎΠ² |
cv::COLORMAP_COOL |
ΠΠ»Π°ΡΡΠ½Π°Ρ ΡΠ²Π΅ΡΠ½Π°Ρ ΠΊΠ°ΡΡΠ° |
cv::COLORMAP_HSV |
Π¦Π²Π΅ΡΠΎΠ²Π°Ρ ΠΊΠ°ΡΡΠ° HSV (ΠΎΡΡΠ΅Π½ΠΎΠΊ, Π½Π°ΡΡΡΠ΅Π½Π½ΠΎΡΡΡ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅) |
cv::COLORMAP_PINK |
ΠΠ°ΡΡΠ° ΡΠΎΠ·ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ° |
cv::COLORMAP_HOT |
ΠΠ°ΡΡΠ° Π³ΠΎΡΡΡΠΈΡ ΡΠ²Π΅ΡΠΎΠ² |
cv::COLORMAP_PARULA |
Π¦Π²Π΅ΡΠ½Π°Ρ ΠΊΠ°ΡΡΠ° ΠΠ°ΡΡΠ»Ρ |
cv::COLORMAP_MAGMA |
ΠΠ°ΡΡΠ° ΡΠ²Π΅ΡΠΎΠ² ΠΌΠ°Π³ΠΌΡ |
cv::COLORMAP_INFERNO |
Π¦Π²Π΅ΡΠ½Π°Ρ ΠΊΠ°ΡΡΠ° ΠΠ½ΡΠ΅ΡΠ½ΠΎ |
cv::COLORMAP_PLASMA |
ΠΠ°ΡΡΠ° ΡΠ²Π΅ΡΠΎΠ² ΠΏΠ»Π°Π·ΠΌΡ |
cv::COLORMAP_VIRIDIS |
Π¦Π²Π΅ΡΠ½Π°Ρ ΠΊΠ°ΡΡΠ° ΠΠΈΡΠΈΠ΄ΠΈΡΠ° |
cv::COLORMAP_CIVIDIS |
Π¦Π²Π΅ΡΠ½Π°Ρ ΠΊΠ°ΡΡΠ° Π‘ΠΈΠ²ΠΈΠ΄ΠΈΡΠ° |
cv::COLORMAP_TWILIGHT |
Π¦Π²Π΅ΡΠ½Π°Ρ ΠΊΠ°ΡΡΠ° ΡΡΠΌΠ΅ΡΠ΅ΠΊ |
cv::COLORMAP_TWILIGHT_SHIFTED |
Π¦Π²Π΅ΡΠΎΠ²Π°Ρ ΠΊΠ°ΡΡΠ° "Π‘Π΄Π²ΠΈΠ½ΡΡΡΠ΅ ΡΡΠΌΠ΅ΡΠΊΠΈ |
cv::COLORMAP_TURBO |
ΠΠ°ΡΡΠ° ΡΠ²Π΅ΡΠΎΠ² ΡΡΡΠ±ΠΎ |
cv::COLORMAP_DEEPGREEN |
ΠΠ°ΡΡΠ° ΡΠ²Π΅ΡΠ° Π³Π»ΡΠ±ΠΎΠΊΠΎΠ³ΠΎ Π·Π΅Π»Π΅Π½ΠΎΠ³ΠΎ |
ΠΡΠΈ ΡΠ²Π΅ΡΠΎΠ²ΡΠ΅ ΠΊΠ°ΡΡΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ²Π΅ΡΠΎΠ²ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΉ.
Π§ΠΠ‘Π’Π ΠΠΠΠΠΠΠΠΠ«Π ΠΠΠΠ ΠΠ‘Π«
ΠΠ°ΠΊ Ultralytics YOLO11 ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠ΅ΠΏΠ»ΠΎΠ²ΡΠ΅ ΠΊΠ°ΡΡΡ ΠΈ Π² ΡΠ΅ΠΌ ΠΈΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°?
Ultralytics YOLO11 Π‘ΠΎΠ·Π΄Π°Π΅Ρ ΡΠ΅ΠΏΠ»ΠΎΠ²ΡΠ΅ ΠΊΠ°ΡΡΡ, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΌΠ°ΡΡΠΈΡΡ Ρ ΡΠ²Π΅ΡΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΎΠΉ, Π³Π΄Π΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΎΡΡΠ΅Π½ΠΊΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π½ΠΎΡΡΡ Π΄Π°Π½Π½ΡΡ . Π’Π΅ΠΏΠ»ΠΎΠ²ΡΠ΅ ΠΊΠ°ΡΡΡ ΠΎΠ±Π»Π΅Π³ΡΠ°ΡΡ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π·Π°ΠΊΠΎΠ½ΠΎΠΌΠ΅ΡΠ½ΠΎΡΡΠ΅ΠΉ, ΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΠΉ ΠΈ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΉ Π² Π΄Π°Π½Π½ΡΡ . ΠΠΎΠ»Π΅Π΅ ΡΠ΅ΠΏΠ»ΡΠ΅ ΠΎΡΡΠ΅Π½ΠΊΠΈ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π° Π±ΠΎΠ»Π΅Π΅ Ρ ΠΎΠ»ΠΎΠ΄Π½ΡΠ΅ - Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΈΠ΅. Π ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°ΠΌ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΈΠ½ΡΡΠΈΡΠΈΠ²Π½Π°Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ , ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΊΠΎΠ½ΠΎΠΌΠ΅ΡΠ½ΠΎΡΡΠ΅ΠΉ ΠΈ ΡΠ»ΡΡΡΠ΅Π½Π½ΡΠΉ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅Π½Π½ΡΠΉ Π°Π½Π°Π»ΠΈΠ· Π΄Π»Ρ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ. ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠ΅ΠΏΠ»ΠΎΠ²ΠΎΠΉ ΠΊΠ°ΡΡΡ.
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Ultralytics YOLO11 Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅ΠΏΠ»ΠΎΠ²ΠΎΠΉ ΠΊΠ°ΡΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ?
ΠΠ°, Ultralytics YOLO11 ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠ»ΠΎΠ²ΡΡ
ΠΊΠ°ΡΡ. ΠΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΡΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Heatmap
ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Ρ ΠΌΠΎΠ΄Π΅Π»ΡΠΌΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ heatmap ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ YOLO11. ΠΠΎΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video/file.mp4")
heatmap = solutions.Heatmap(colormap=cv2.COLORMAP_PARULA, show=True, model="yolo11n.pt")
while cap.isOpened():
success, im0 = cap.read()
if not success:
break
im0 = heatmap.generate_heatmap(im0)
cv2.imshow("Heatmap", im0)
if cv2.waitKey(1) & 0xFF == ord("q"):
break
cap.release()
cv2.destroyAllWindows()
ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ Π Π΅ΠΆΠΈΠΌ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ.
Π§Π΅ΠΌ ΡΠ΅ΠΏΠ»ΠΎΠ²ΡΠ΅ ΠΊΠ°ΡΡΡ Ultralytics YOLO11 ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ , Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡ OpenCV ΠΈΠ»ΠΈ Matplotlib?
Ultralytics YOLO11 Π’Π΅ΠΏΠ»ΠΎΠ²ΡΠ΅ ΠΊΠ°ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Ρ Π΄Π»Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ Π΅Π³ΠΎ ΠΌΠΎΠ΄Π΅Π»ΡΠΌΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Ρ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½ΡΡ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΎΠ±ΡΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ OpenCV ΠΈΠ»ΠΈ Matplotlib, ΡΠ΅ΠΏΠ»ΠΎΠ²ΡΠ΅ ΠΊΠ°ΡΡΡ YOLO11 ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Ρ Π΄Π»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Ρ ΡΠ°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠ°ΠΊ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅, Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠ° Π·Π°ΡΡΡ Π°Π½ΠΈΡ ΠΈ Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ YOLO11 ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ Ultralytics YOLO11 ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅.
ΠΠ°ΠΊ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² ΡΠ΅ΠΏΠ»ΠΎΠ²ΡΡ ΠΊΠ°ΡΡΠ°Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Ultralytics YOLO11 ?
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΡΠΊΠ°Π·Π°Π² Π½ΡΠΆΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ Π² track()
ΠΌΠ΅ΡΠΎΠ΄Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ YOLO . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ ΠΈ Π»ΡΠ΄Π΅ΠΉ (ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ ΠΈΡ
ΠΊΠ»Π°ΡΡΠΎΠ²ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΡΠ°Π²Π½Ρ 0 ΠΈ 2), Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π΄Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ classes
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video/file.mp4")
heatmap = solutions.Heatmap(show=True, model="yolo11n.pt", classes=[0, 2])
while cap.isOpened():
success, im0 = cap.read()
if not success:
break
im0 = heatmap.generate_heatmap(im0)
cv2.imshow("Heatmap", im0)
if cv2.waitKey(1) & 0xFF == ord("q"):
break
cap.release()
cv2.destroyAllWindows()
ΠΠΎΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠ±ΡΠ°ΡΡ Ultralytics YOLO11 Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅ΠΏΠ»ΠΎΠ²ΡΡ ΠΊΠ°ΡΡ ΠΏΡΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ Π΄Π°Π½Π½ΡΡ ?
Ultralytics YOLO11 ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π±Π΅ΡΡΠΎΠ²Π½ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅ΠΏΠ»ΠΎΠ²ΡΡ ΠΊΠ°ΡΡ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Π΅Π³ΠΎ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΡΠΌ Π²ΡΠ±ΠΎΡΠΎΠΌ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΉ, ΡΡΡΠ΅ΠΌΡΡΠΈΡ ΡΡ ΠΊ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ . Π‘ΡΠ΅Π΄ΠΈ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² - ΠΈΠ½ΡΡΠΈΡΠΈΠ²Π½ΠΎ ΠΏΠΎΠ½ΡΡΠ½Π°Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ , ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΊΠΎΠ½ΠΎΠΌΠ΅ΡΠ½ΠΎΡΡΠ΅ΠΉ ΠΈ ΡΠ»ΡΡΡΠ΅Π½Π½ΡΠΉ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅Π½Π½ΡΠΉ Π°Π½Π°Π»ΠΈΠ· Π΄Π»Ρ ΠΏΡΠΈΠ½ΡΡΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠ°ΠΊΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ YOLO11, ΠΊΠ°ΠΊ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅, Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ²Π΅ΡΠΎΠ²ΡΠ΅ ΠΊΠ°ΡΡΡ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ² ΡΠΊΡΠΏΠΎΡΡΠ°, Π΄Π΅Π»Π°ΡΡ Π΅Π³ΠΎ Π»ΡΡΡΠ΅ Π΄ΡΡΠ³ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ TensorFlow ΠΈ OpenCV Π΄Π»Ρ Π²ΡΠ΅ΡΡΠΎΡΠΎΠ½Π½Π΅Π³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½ΡΡ . Π£Π·Π½Π°ΠΉΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΎ Π±ΠΈΠ·Π½Π΅Ρ-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ Π½Π° ΡΠ°ΠΉΡΠ΅ Ultralytics Plans.