מבוא לבינה מלאכותית RB40-01 : מבוא ל YOLO
חלק א : בניית אפליקציה ללא קוד – בעזרת A.I
בנית אפליקציה פשוטה עם AI studio ללא קוד
ב־aistudio.google.com (Google AI Studio), “בניית אפליקציה” היא פיצ’ר שבו אתה מתאר בטקסט מה אתה רוצה, ו-Gemini מייצר לך אפליקציית ווב עובדת (UI + קוד), עם תצוגה חיה ויכולת לערוך ולהמשיך לשפר אותה בצ’אט.
1. דוגמא למשחקי מחשב – שבש

2.דוגמא לאפליקציה שעשיתי : חתימה על מסמך PDF :
https://ai.studio/apps/drive/1B2iaZq4xFqEV0jXKotFg5NVEcihTQYJX
פינג פונג שתי שחקים
https://ai.studio/apps/90838516-1d59-4791-8a3c-4088049197fe?fullscreenApplet=true
1. קישור https://aistudio.google.com/
יצירת משחק פשוט (שש בש )

שלב 2 : כתיבת הטקסט (פרומפט)

שלב 3 : בדיקה ושיפור בעזרת הצט – עד לקבלת מוצר עובד
כל אחד יכול לקבל מסך קצת שונה (לאחר מספר דקות !!! )


שלב 4 : שיתוף (לכולם או למי שקיבל קישור)
שלב 1
שלב 2 : בחירה בלשונית האם לשתף לכולם או למי שקיבל קישור בלבד

שלב 3 :

שלב 4: העתק הקישור ושליחה לעבודה , קולגה , חברים: העתיקו את הקישור שלכם ובדיקה בטלפון או דפדפן
חלק ב : שימוש בקולב ומבוא לפייתון
-
- תחביר פשוט וקריא: הקוד דומה לאנגלית פשוטה. זה מאפשר למדעני נתונים וחוקרים להתמקד בפתרון בעיות מתמטיות מורכבות במקום להסתבך עם חוקי תכנות נוקשים.
- קהילה עצומה ותמיכה: מיליוני מפתחים ברחבי העולם מייצרים פתרונות, מדריכים וקוד מוכן, כך שכמעט לכל בעיה כבר קיים פתרון ברשת.
- ניידות ואינטגרציה: היא פועלת על כל מערכות ההפעלה (Windows, Mac, Linux) ומתממשקת בקלות עם שפות מהירות כמו C ו-C++ כדי לבצע חישובים כבדים.
-
- TensorFlow / Keras: פותחה על ידי גוגל. ספרייה עוצמתית לבנייה ואימון של רשתות קשרים עצביים מורכבות (Neural Networks).
- PyTorch: פותחה על ידי מטא (פייסבוק). היא הספרייה הפופולרית ביותר כיום באקדמיה ובמחקר בזכות הגמישות והקלות שבה ניתן לשנות את המודל תוך כדי ריצה.
-
- Scikit-learn: הספרייה הסטנדרטית והחשובה ביותר לאלגוריתמים קלאסיים (כמו עצי החלטה, רגרסיה וסיווג נתונים).
-
- NumPy: מאפשרת לבצע חישובים מתמטיים ואלגברה ליניארית על מערכים גדולים במהירות עצומה.
- Pandas: הכלי המרכזי לניהול, ניקוי וניתוח טבלאות נתונים (מבצעת פעולות דמויות אקסל או SQL בקוד).
-
- Hugging Face (Transformers): הספרייה המובילה לעבודה עם מודלי שפה גדולים (LLMs) כמו אלו שמפעילים את ChatGPT או Claude.
- OpenCV: הספרייה המרכזית לעיבוד תמונה, וידאו וראייה ממוחשבת (Computer Vision).
-
- YOLO (You Only Look Once): הספרייה המובילה בעולם לזיהוי, סיווג ומעקב אחר אובייקטים בתמונות ובוידאו בזמן אמת.
- Face Recognition: ספרייה פשוטה וחזקה המבוססת על למידה עמוקה (dlib), המשמשת לזיהוי, השוואה ומציאת תווי פנים בתמונות.
- OpenCV: כלי התשתית הסטנדרטי לעיבוד תמונות, סינון, חיתוך, וזיהוי צורות או פנים.
-
- Tesseract (pytesseract): מנוע ה-OCR הפופולרי ביותר (מבית גוגל) לחילוץ וקריאת טקסט מתוך תמונות ומסמכים סרוקים.
- EasyOCR: ספריית OCR מודרנית מבוססת PyTorch, התומכת ביותר מ-80 שפות ומצטיינת בזיהוי טקסט בתנאי תאורה קשים או זוויות מורכבות.
-
- RDKit: הספרייה המובילה בפייתון למדע נתונים כימי. משמשת לייצוג מולקולות, חישוב תכונות כימיות, סינון חומרים וסריקת תרופות (Chemoinformatics).
- AlphaFold (DeepMind): מודל ה-AI המהפכני לחיזוי מבנה תלת-ממדי של חלבונים, המשמש לפיתוח תרופות ומחקר ביולוגי מתקדם.
-
- PyTorch: התשתית המובילה בעולם (מבית מטא) לבנייה, אימון והרצה של רשתות נוירונים ומודלי AI מאפס.
- Keras: ממשק (API) עילי וקל המפשט את כתיבת הקוד עבור TensorFlow לבנייה מהירה של מודלים.
- Hugging Face Transformers: הספרייה המרכזית להורדה והרצה של מודלי שפה וראייה ממוחשבת בקוד פתוח (כמו Llama או Mistral).
- OpenAI SDK: חיבור קוד הפייתון ישירות ל-API של מודלי GPT, לצורך בניית צ'אטבוטים ואוטומציות טקסט וקול.
- Scikit-learn: הספרייה הסטנדרטית לאלגוריתמים קלאסיים (רגרסיה, עצי החלטה וסיווג נתונים).
- Pandas / NumPy: התשתית המרכזית לניקוי, סינון וניהול מערכי נתונים וטבלאות לפני הזנתם למודל.
לימוד פייתון – YOLO משפט תנאי
OLO Object IDs
| ID | Object | ID | Object |
|---|---|---|---|
| 0 | Person | 4 | Airplane |
| 1 | Bicycle | 5 | Bus |
| 2 | Car | 6 | Train |
| 3 | Motorcycle | 7 | Truck |
1. Install YOLO in Google Colab
|
1 |
!pip install ultralytics # Install YOLO library |
2. Load YOLO and detect objects
Run this block first.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
from ultralytics import YOLO # Import YOLO from google.colab import files # Upload images uploaded = files.upload() # Upload image img_path = next(iter(uploaded)) # Get image filename model = YOLO("yolo26m.pt") # Load YOLO Medium model results = model.predict(img_path, conf=0.5) # Detect objects r = results[0] # Get first image result classes = r.boxes.cls.int().cpu().tolist() # Get class IDs print("Detected IDs:", classes) # Print detected objects |
Example 1 — Detect a car
|
1 2 3 4 |
if 2 in classes: # Check if car (ID 2) exists print("Car detected!") # Car found else: # Otherwise print("No car detected.") # Car not found |
Example 2 — Count cars
|
1 2 3 4 5 6 |
cars = classes.count(2) # Count cars (ID 2) if cars > 0: # If cars exist print("Cars:", cars) # Print number of cars else: # Otherwise print("No cars found.") # No cars |
Example 3 — Detect more than 3 cars
|
1 2 3 4 5 6 |
cars = classes.count(2) # Count cars if cars > 3: # More than 3 cars print("Heavy traffic!") # Heavy traffic message else: # 3 cars or fewer print("Low traffic.") # Low traffic message |
Example 4 — Count airplanes
|
1 2 3 4 5 6 |
planes = classes.count(4) # Count airplanes (ID 4) if planes > 0: # If airplanes exist print("Airplanes:", planes) # Print airplane count else: # Otherwise print("No airplanes.") # No airplanes found |
Example 5 — Detect cars AND airplanes
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
cars = classes.count(2) # Count cars planes = classes.count(4) # Count airplanes if cars > 0 and planes > 0: # Both detected print("Cars:", cars, "Planes:", planes) elif cars > 0: # Only cars detected print("Only cars:", cars) elif planes > 0: # Only airplanes detected print("Only planes:", planes) else: # Neither detected print("No cars or planes.") |
נריץ את הדברים ב COLAB
https://colab.google/
|
1 |
print("Hello World!") |
חלק ג: Python and yolo
נריץ את הדברים ב COLAB
https://colab.google/
מה זה YOLO בתחום הבינה המלאכותית?
YOLO – You Only Look Once הוא אלגוריתם בתחום הראייה הממוחשבת (Computer Vision), המבוסס על רשתות נוירונים עמוקות (Deep Learning).
המטרה שלו היא לזהות עצמים בתמונות ובווידאו בזמן אמת, לקבוע איזה עצם מופיע בתמונה והיכן הוא נמצא.
לדוגמה, מצלמה המחוברת לרובוט יכולה לזהות:
-
בני אדם, בעלי חיים ומכוניות.
-
כדורים, קופסאות וכלים.
-
מכשולים במסלול של רובוט.
-
עצמים שזרוע רובוטית צריכה לתפוס.
איך YOLO עובד?
המודל מקבל תמונה ומבצע חישוב אחד ברשת הנוירונים כדי להפיק תחזיות זיהוי.
לכל עצם הוא מחזיר בדרך כלל:
| פרמטר | משמעות |
|---|---|
| Class | סוג העצם, למשל Ball |
| Bounding Box | מלבן סביב העצם |
| Confidence | רמת הביטחון בזיהוי |
| X, Y | מיקום העצם בתמונה |
| Width, Height | רוחב וגובה המלבן |
לדוגמה, רובוט שמצלם כדור יכול לקבל:
Object: Ball
Confidence: 0.96
Center X: 320 pixels
Center Y: 240 pixels
Width: 80 pixels
Height: 80 pixels
המשמעות: המודל זיהה כדור ברמת ביטחון של 96%, במרכז התמונה.
1. COCO Dataset Classes (default 80 classes used by YOLOv5/YOLOv8/YOLOv7 etc.)
Here is the full list of 80 YOLO COCO classes in order (index 0→79):
| 1 | 2 | 3 | 4 | 5 | 6 |
|---|---|---|---|---|---|
| 0 person | 1 bicycle | 2 car | 3 motorcycle | 4 airplane | 5 bus |
| 6 train | 7 truck | 8 boat | 9 traffic light | 10 fire hydrant | 11 stop sign |
| 12 parking meter | 13 bench | 14 bird | 15 cat | 16 dog | 17 horse |
| 18 sheep | 19 cow | 20 elephant | 21 bear | 22 zebra | 23 giraffe |
| 24 backpack | 25 umbrella | 26 handbag | 27 tie | 28 suitcase | 29 frisbee |
| 30 skis | 31 snowboard | 32 sports ball | 33 kite | 34 baseball bat | 35 baseball glove |
| 36 skateboard | 37 surfboard | 38 tennis racket | 39 bottle | 40 wine glass | 41 cup |
| 42 fork | 43 knife | 44 spoon | 45 bowl | 46 banana | 47 apple |
| 48 sandwich | 49 orange | 50 broccoli | 51 carrot | 52 hot dog | 53 pizza |
| 54 donut | 55 cake | 56 chair | 57 couch | 58 potted plant | 59 bed |
| 60 dining table | 61 toilet | 62 tv | 63 laptop | 64 mouse | 65 remote |
| 66 keyboard | 67 cell phone | 68 microwave | 69 oven | 70 toaster | 71 sink |
| 72 refrigerator | 73 book | 74 clock | 75 vase | 76 scissors | 77 teddy bear |
| 78 hair drier | 79 toothbrush |
סה״כ: 80 מחלקות (Classes) של מערך הנתונים COCO, המשמש לאימון מודלי YOLO לזיהוי עצמים.
תרגיל כיתה עם המרצה שלב אחרי שלב-:
התנסות ראשונית של YOLO ומעבר ראשוני על קוד פייתון ב COLAB
סרטון מהיר – שלב אחרי שלב
- פתחו דפדפן כרום , הכנס ל GMAIL
- פתח את סביבת הפיתוח COLAB
- התקן את הספריות YOLO ולחץ PLAY על הכפתור השחור
4.לחץ על
5. הורד את התמונה למחשב ה PC וטען אותה לקולאב בהצרת התרגיל סאיף 6
לימוד YOLO בינה מלאכותית[/caption]
6.העתק את קוד הפייתון לקולאב והרץ את התרגיל
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
from ultralytics import YOLO # YOLO object detection from google.colab import files # Upload files in Colab from collections import Counter # Count objects import cv2 # Image processing from IPython.display import display # Display images from PIL import Image # Image handling # 1. Upload image uploaded = files.upload() img_path = next(iter(uploaded.keys())) print("Uploaded:", img_path) # 2. Load YOLO26 Medium model model = YOLO("yolo26m.pt") # n=Nano, s=Small, m=Medium, l=Large, x=Extra Large # 3. Detect objects results = model.predict( source=img_path, # Input image conf=0.65, # Minimum confidence: 65% verbose=False # Disable detailed logs ) # 4. Get first image result r = results[0] # 5. Count detected objects if r.boxes is None or len(r.boxes) == 0: print("No objects found.") else: # Get detected class IDs class_ids = r.boxes.cls.cpu().numpy().astype(int) # Total number of objects total_objects = len(class_ids) # Convert class IDs to names names = model.names class_names = [names[c] for c in class_ids] # Count objects by class counts = Counter(class_names) print(f"Total objects found: {total_objects}") print("Objects by class:") for cls_name, cnt in counts.items(): print(f" {cls_name}: {cnt}") # 6. Display image with detection boxes annotated = r.plot() # Draw boxes and labels # Convert BGR to RGB annotated_rgb = cv2.cvtColor(annotated, cv2.COLOR_BGR2RGB) # Show result display(Image.fromarray(annotated_rgb)) |
תרגיל כיתה : בניית קוד – בעזרת chatGPT עבור YOLO A.I
תרגיל כיתה 1 : זיהוי עומס בכביש לפי כמות מכוניות
5 bus
6 train
7 truck
2 car
3 motorcycle


- בנה תוכנה אשר בודקת עומס כלי תחבורה בכביש עבור COLAB בעזרת YOLO התוכנה מעלה קובץ תמונה ממחשב ה PC ל COLAB
5 bus
6 train
7 truck
2 car
3 motorcycle
2 מצור פרמטר לעומס תנועה – אם יש 3 כלי תחבורה או פחות הכביש פנוי , אם יותר הכביש עמוס
מציגה על התמונה את ההודעה : כמות המכוניות וכותבת בצבע אדום heavy traffic או בצבע ירוק no traffic
מוסיפה כיתוב של שעה דקה שניה ותאריך
התוכנה כותבת פלט טקטס בפורמט json כיתוב של שעה דקה שניה ותאריך וכמות כלי תחבורה שנמצאו
תרגיל כיתה 2 : זיהוי מטוס על מסלול המראה


- בנה תוכנה אשר בודקת האם קיים מטוס על מסלול ההמראה עבור COLAB בעזרת YOLO התוכנה מעלה קובץ תמונה ממחשב ה PC ל COLAB
- אם יש על מסלול ההמראה מטוס מסמנת בריבוע אדום כותבת תאריך : שעה דקה שניה ומציגה את התמונה
- התוכנה כותבת פלט טקטס בפורמט json כיתוב של שעה דקה שניה ותאריך וסטטוס מסלול המראה פנוי או יש מטוס



