הגנה על אנשים מאזורים מסוכנים באמצעות גבולות וירטואליים באמצעות Computer Vision

צומת המקור: 807925

מכיוון שחברות מברכות יותר רובוטים אוטונומיים וציוד כבד אחר למקום העבודה, עלינו להבטיח שהציוד יכול לפעול בבטחה סביב חברי צוות אנושיים. בפוסט זה נראה לך כיצד לבנות גבול וירטואלי עם ראיית מחשב ו- AWS DeepLens, מצלמת הווידאו המותאמת למידה עמוקה של AWS המיועדת למפתחים ללמוד למידת מכונה (ML). באמצעות טכניקות למידת מכונה בפוסט זה, תוכלו לבנות גבולות וירטואליים לאזורים מוגבלים אשר מכבים ציוד באופן אוטומטי או משמיעים התראה כאשר בני אדם מתקרבים.

עבור פרויקט זה, תוכלו לאמן מודל לגילוי אובייקטים בהתאמה אישית אמזון SageMaker ולפרוס את הדגם למכשיר AWS DeepLens. זיהוי אובייקטים הוא אלגוריתם ML שלוקח תמונה כקלט ומזהה אובייקטים ומיקומם בתוך התמונה. בנוסף לפתרונות גבול וירטואליים, תוכלו ליישם טכניקות שנלמדו בפוסט זה כאשר עליכם לזהות היכן נמצאים אובייקטים מסוימים בתוך תמונה או לספור את מספר המופעים של אובייקט רצוי בתמונה, כמו למשל ספירת פריטים בתא אחסון או על מדף קמעונאי.

סקירת פתרונות

פריצת הדרך כוללת את הצעדים הבאים:

  1. הכן את מערך הנתונים שלך להזנתו באלגוריתם ML.
  2. הכשר מודל עם אמזון סייג מייקר.
  3. מודל בדיקה עם אזורי הגבלה מותאמים אישית.
  4. פרוס את הפתרון ל- AWS DeepLens.

אנו דנים גם במקרי שימוש אחרים בעולם האמיתי בהם תוכלו ליישם פתרון זה.

התרשים הבא ממחיש את ארכיטקטורת הפתרונות.

תנאים מוקדמים

כדי להשלים את דרך ההפעלה הזו, עליכם להיות בעלי התנאים המוקדמים הבאים:

הכן את מערך הנתונים שלך כדי להיכנס לאלגוריתם ML

פוסט זה משתמש באלגוריתם ML הנקרא מודל לגילוי אובייקטים כדי לבנות פתרון שמזהה אם אדם נמצא באזור מוגבל מותאם אישית. אתה משתמש בזמינות הציבורית מערך זיהוי הולכי רגל זמין ב- Kaggle, שמעל 2,000 תמונות. במערך הנתונים הזה יש תוויות לאובייקטים אנושיים ודמויי אנוש (כמו בובות ראווה), כך שהמודל המאומן יכול להבחין בצורה מדויקת יותר בין בני אדם אמיתיים לאביזרים או פסלים מקרטון.

לדוגמה, התמונות הבאות הן דוגמאות לזיהוי פועל בניין ואם הן נמצאות באזור ההגבלה המותאם אישית (מתאר אדום).

כדי להתחיל לאמן את המודל שלך, ראשית צור דלי S3 לאחסון נתוני האימון ופלט המודל. בפרויקטים של AWS DeepLens, שמות הדלי S3 חייבים להתחיל בקידומת deeplens-. אתה משתמש בנתונים אלה כדי להכשיר מודל עם SageMaker, שירות מנוהל באופן מלא המספק את היכולת לבנות, לאמן ולפרוס מודלים של ML במהירות.

הכשר מודל עם אמזון סייג מייקר

אתה משתמש במחברות Jupyter של SageMaker כסביבת הפיתוח לאימון המודל. Jupyter Notebook הוא יישום אינטרנט בעל קוד פתוח המאפשר ליצור ולשתף מסמכים המכילים קוד חי, משוואות, ויזואליזציות וטקסט נרטיבי. לפוסט זה אנו מספקים Train_Object_Detection_People_DeepLens.ipynb, מחברת מלאה שתוכלו לעקוב אחריה.

כדי ליצור מודל זיהוי אובייקטים מותאם אישית, עליך להשתמש במופע הדרכה המאפשר הפעלת יחידת עיבוד גרפי (GPU). מחשבי GPU מעולים במקביל לחישובים הנדרשים להכשרת רשת עצבית. למרות שהמחברת עצמה היא מופע ml.t2.medium יחיד, עבודת האימון משתמשת במופע ml.p2.xlarge באופן ספציפי. כדי לגשת למופע הדרכה מאופשר ב- GPU, עליך הגש בקשה להעלאת מגבלת השירות למרכז התמיכה של AWS.

לאחר שתקבל את העלאת המגבלה שלך, בצע את השלבים הבאים ליצירת מופע מחברת SageMaker:

  1. במסוף SageMaker בחר מופעי מחברת.
  2. לבחור צור מופע מחברת.
  3. בעד שם מופע מחברת, הזן שם למופע המחברת שלך.
  4. בעד סוג מופע, בחר t2.בינוני.

זהו סוג המופע הכי פחות יקר שתומכים בו מופעים מחברת, וזה מספיק ללימוד זה.

  1. בעד תפקיד IAM, בחר צור תפקיד חדש.

וודאו זאת AWS זהות וניהול גישה לתפקיד (IAM) יש גישה לדלי S3 שיצרת קודם (קידומת deeplens-).

  1. לבחור צור מופע מחברת. ההפעלה של המחשב הנייד שלך עשויה להימשך כמה דקות.
  1. כאשר הסטטוס בדף מופעי המחברת משתנה ל- InService, בחר פתח את צדק כדי להפעיל את מופע המחברת Jupyter החדש שיצר לאחרונה.
  2. לבחור העלה כדי להעלות את Train_Object_Detection_people_DeepLens.ipynb הקובץ שהורדת קודם.

  1. פתח את המחברת ובצע אותה עד הסוף.
  2. אם אתה נשאל לגבי הגדרת הליבה, בחר conda_mxnet_p36.

מחברת Jupyter מכילה שילוב של תאי טקסט וקוד. להפעלת פיסת קוד בחר בתא ולחץ Shift + Enter. בזמן שהתא פועל, מופיעה כוכבית ליד התא. עם השלמת התא, מספר פלט ותא פלט חדש מופיעים מתחת לתא המקורי.

  1. הורד את מערך הנתונים מהדלי S3 הציבורי למופע המקומי SageMaker ופתח את הנתונים. ניתן לעשות זאת על ידי ביצוע הקוד במחברת:
     !aws s3 cp s3://deeplens-public/samples/pedestriansafety/humandetection_data.zip . !rm -rf humandetection/ !unzip humandetection_data.zip -d humandetection 

  2. המר את מערך הנתונים לפורמט (RecordIO) שניתן להזין אותם באלגוריתם SageMaker:
     !python $mxnet_path/tools/im2rec.py --pass-through --pack-label $DATA_PATH/train_mask.lst $DATA_PATH/ !python $mxnet_path/tools/im2rec.py --pass-through --pack-label $DATA_PATH/val_mask.lst $DATA_PATH/ 

  3. העבר את קבצי RecordIO בחזרה ל- Amazon S3.

עכשיו כשסיימתם עם כל הכנת הנתונים, אתם מוכנים להכשיר את גלאי האובייקטים.

ישנם סוגים רבים ושונים של אלגוריתמים לזיהוי אובייקטים. לפוסט זה אתה משתמש ב- אלגוריתם לזיהוי MultiBox עם זריקה יחידה (SSD). לאלגוריתם SSD יש איזון טוב בין מהירות לעומת דיוק, מה שהופך אותו לאידיאלי להפעלה במכשירי קצה כמו AWS DeepLens.

במסגרת עבודת האימון עומדות בפניך אפשרויות רבות להיפרפרמטרים המסייעים בתצורת התנהגות האימון (כגון מספר תקופות, קצב למידה, סוג האופטימיזציה וגודל מיני אצווה). Hyperparameters מאפשרים לך לכוון את מהירות האימון ואת הדיוק של המודל שלך. לקבלת מידע נוסף אודות היפרפרמטרים, ראה אלגוריתם איתור אובייקטים.

  1. הגדר את הפרפרמטרים ואת ערוצי הנתונים שלך. שקול להשתמש בהגדרה הבאה של היפרפרמטרים:
     od_model = sagemaker.estimator.Estimator(training_image, role, train_instance_count=1, train_instance_type='ml.p2.xlarge', train_volume_size = 50, train_max_run = 360000, input_mode= 'File', output_path=s3_output_location, sagemaker_session=sess) od_model.set_hyperparameters(base_network='resnet-50', use_pretrained_model=1, num_classes=2, mini_batch_size=32, epochs=100, learning_rate=0.003, lr_scheduler_step='3,6', lr_scheduler_factor=0.1, optimizer='sgd', momentum=0.9, weight_decay=0.0005, overlap_threshold=0.5, nms_threshold=0.45, image_shape=300, num_training_samples=n_train_samples) 

במחברת יש כמה היפרפרמטרים ברירת מחדל שנבחרו מראש. לצורך זיהוי הולכי רגל, אתה מאמן את הדגם במשך 100 תקופות. שלב אימונים זה אמור להימשך כשעתיים באמצעות מופע אחד של ml.p2.xlarge. אתה יכול להתנסות בשילובים שונים של היפרפרמטרים, או להתאמן לעידנים נוספים לשיפור ביצועים. לקבלת מידע אודות התמחור העדכני ביותר, ראה תמחור SageMaker של אמזון.

  1. תוכל להתחיל בעבודת אימונים עם שורת קוד אחת ולפקח על הדיוק לאורך זמן במסוף SageMaker:
    od_model.fit(inputs=data_channels, logs=True) 

למידע נוסף על אופן פעולתם של אימונים, ראה CreateTrainingJob. ההקצאה והורדת הנתונים אורכות זמן, תלוי בגודל הנתונים. לכן עשויות לחלוף מספר דקות לפני שתתחיל לקבל יומני נתונים עבור עבודות ההדרכה שלך.

באפשרותך לעקוב אחר התקדמות עבודת האימון שלך באמצעות מדויק ממוצע מדדי (MAP) המאפשר לך לפקח על איכות יכולתו של המודל לסווג אובייקטים ולזהות את תיבות התוחם הנכונות. יומני הנתונים גם מדפיסים את המפה על נתוני האימות, בין יתר הפסדים, עבור כל הפעלה של מערך הנתונים, פעם אחת לתקופה אחת. מדד זה הוא פרוקסי לאיכות ביצועי האלגוריתם בזיהוי מדויק של הכיתה ותיבת התוחם המדויקת סביבו.

לאחר סיום העבודה, תוכל למצוא את קבצי המודל המאומנים בדלי S3 ובתיקיה שצוינו קודם לכן s3_output_location:

s3_output_location = 's3://{}/{}/output'.format(BUCKET, PREFIX)

לפוסט זה אנו מציגים תוצאות על האימות שנקבע בסיום התקופה העשירית והעידן ה -10. בסוף התקופה העשירית אנו רואים מיפוי אימות של כ -100 ואילו תקופת המאה הייתה כ -10.

כדי להשיג תוצאות איתור טובות יותר, אתה יכול לנסות לכוון את ההיפרפרמטרים באמצעות היכולת המובנית ב- SageMaker עבור כוונון מודלים אוטומטי ולהכשיר את המודל לתקופות נוספות. בדרך כלל אתה מפסיק להתאמן כאשר אתה רואה רווח דיוק הולך ופוחת.

מודל בדיקה עם אזורי הגבלה מותאמים אישית

לפני שתפרוס את המודל המאומן ל- AWS DeepLens, תוכל לבדוק אותו בענן באמצעות נקודת קצה מתארחת של SageMaker. נקודת קצה של SageMaker היא שירות מנוהל באופן מלא המאפשר לך להסיק בזמן אמת באמצעות ממשק API של REST. SageMaker מאפשר לך לפרוס במהירות נקודות קצה חדשות לבדיקת המודלים שלך, כך שלא תצטרך לארח את המודל במופע המקומי ששימש להכשרת המודל. זה מאפשר לך לחזות (או להסיק) מהמודל על תמונות שהאלגוריתם לא ראה במהלך האימון.

אינך צריך לארח באותו סוג מופע בו התאמנת. אימונים הם עבודה ממושכת וכבדת מחשבים הדורשת סט אחר של דרישות מחשוב וזיכרון שאירוח בדרך כלל אינו עושה. אתה יכול לבחור כל סוג של מופע שתרצה לארח את הדגם. במקרה זה בחרנו במופע ml.p3.2xlarge להתאמן, אך אנו בוחרים לארח את המודל במופע המעבד הזול יותר, ml.m4.xlarge. קטע הקוד הבא מציג את פריסת נקודות הקצה שלנו.

object_detector = od_model.deploy(initial_instance_count = 1, instance_type = 'ml.m4.xlarge') 

זיהוי באזור הגבלה מותאם אישית (אזור עניין)

ניתן לייצג את פורמט הפלט כ- [class_index, confidence_score, xmin, ymin, xmax, ymax]. תחזיות בעלות ביטחון נמוך לעיתים קרובות כוללות סיכויים גבוהים יותר לשלילה חיובית כוזבת או כוזבת כוזבת, ולכן מן הסתם עליכם להשליך תחזיות בעלות ביטחון נמוך. אתה יכול להשתמש בקוד הבא כדי לזהות אם תיבת התוחם של האדם חופפת לאזור המוגבל.

def inRestrictedSection(ImShape = None, R1 = None, restricted_region = None, kclass = None, score = None, threshold = None): statement = 'Person Not Detected in Restricted Zone' if (kclass == 1) and (score > threshold): Im1 = np.zeros((ImShape[0],ImShape[1],3), np.int32) cv2.fillPoly(Im1, [R1], 255) Im2 = np.zeros((ImShape[0],ImShape[1],3), np.int32) if restricted_region is None: restricted_region = np.array([[0,ImShape[0]],[ImShape[1],ImShape[0]],[ImShape[1],0], [0,0]], np.int32) cv2.fillPoly(Im2, [restricted_region], 255) Im = Im1 * Im2 if np.sum(np.greater(Im, 0))>0: statement = 'Person Detected in Restricted Zone' else: statement = statement return statement 

כברירת מחדל, המסגרת המלאה מוערכת לנוכחות אנושית. עם זאת, תוכלו לציין בקלות את אזור העניין בו נוכחותו של אדם נחשבת לסיכון גבוה. אם ברצונך להוסיף אזור הגבלה מותאם אישית, הוסף קואורדינטות של קודקודי האזור המיוצגים על ידי [ציר X, ציר Y] וצור את המצולע. יש להזין את הקואורדינטות בכיוון השעון או נגד כיוון השעון. ראה את הקוד הבא:

restricted_region = None #restricted_region = np.array([[0,200],[100,200],[100,0], [10,10]], np.int32) 

קוד הדוגמה הבא מציג הולכי רגל המזוהים באזור מוגבל:

file_name = 'humandetection/test_images/t1_image.jpg' img = cv2.imread(file_name) img =cv2.cvtColor(img,cv2.COLOR_BGR2RGB) thresh = 0.2 height = img.shape[0] width = img.shape[1] colors = dict() with open(file_name, 'rb') as image: f = image.read() b = bytearray(f) ne = open('n.txt','wb') ne.write(b) results = object_detector.predict(b, initial_args={'ContentType': 'image/jpeg'}) detections = json.loads(results) object_categories = ['no-person', 'person'] for det in detections['prediction']: (klass, score, x0, y0, x1, y1) = det if score < thresh: continue cls_id = int(klass) prob = score if cls_id not in colors: colors[cls_id] = (random.random(), random.random(), random.random()) xmin = int(x0 * width) ymin = int(y0 * height) xmax = int(x1 * width) ymax = int(y1 * height) R1 = np.array([[xmin,ymin],[xmax,ymin],[xmax,ymax], [xmin,ymax]], np.int32) cv2.polylines(img,[R1],True, (255,255,0), thickness = 5) cv2.polylines(img,[restricted_region],True, (255,0,0), thickness = 5) plt.imshow(img) print(inRestrictedSection(img.shape,R1 = R1, restricted_region= restricted_region, kclass = cls_id, score = prob, threshold=0.2)) 

התמונות הבאות מראות את התוצאות שלנו.

פרוס את הפתרון ל- AWS DeepLens

המר את המודל לפריסה ל- AWS DeepLens

בעת פריסת מודל SSD מאומן SageMaker ל- AWS DeepLens, תחילה עליך לרוץ deploy.py להמיר את חפץ המודל למודל שניתן לפרוס:

!rm -rf incubator-mxnet !git clone -b v1.7.x https://github.com/apache/incubator-mxnet MODEL_PATH = od_model.model_data TARGET_PATH ='s3://'+BUCKET+'/'+PREFIX+'/patched/' !rm -rf tmp && mkdir tmp rm -rf tmp && mkdir tmp !aws s3 cp $MODEL_PATH tmp !tar -xzvf tmp/model.tar.gz -C tmp !mv tmp/model_algo_1-0000.params tmp/ssd_resnet50_300-0000.params !mv tmp/model_algo_1-symbol.json tmp/ssd_resnet50_300-symbol.json !python incubator-mxnet/example/ssd/deploy.py --network resnet50 --data-shape 300 --num-class 2 --prefix tmp/ssd_ !tar -cvzf ./patched_model.tar.gz -C tmp ./deploy_ssd_resnet50_300-0000.params ./deploy_ssd_resnet50_300-symbol.json ./hyperparams.json !aws s3 cp patched_model.tar.gz $TARGET_PATH

ייבא את הדגם שלך ל- AWS DeepLens

כדי להפעיל את הדגם במכשיר AWS DeepLens, עליך ליצור פרויקט AWS DeepLens. התחל על ידי ייבוא ​​המודל שלך ל- AWS DeepLens.

  1. במסוף ה- AWS DeepLens, מתחת משאבים, בחר מודלים.
  2. לבחור יבוא דגם.

  1. בעד מקור ייבוא, בחר מודל מאומן חיצוני.
  2. הזן את מיקום ה- Amazon S3 של ה- דגם טלאי ששמרת מהפעלת deploy.py בשלב שלמעלה.
  3. בעד מסגרת מודל, בחר MX Net.
  4. לבחור יבוא דגם.

צור את פונקציית ההסקה

פונקציית ההיסק מזינה כל מסגרת מצלמה למודל כדי לקבל חיזויים ומריצה כל הגיון עסקי מותאם אישית על ידי שימוש בתוצאות ההיסק. אתה משתמש AWS למבדה כדי ליצור פונקציה שאתה פורס ל- AWS DeepLens. הפונקציה מפעילה הסקה מקומית במכשיר ה- AWS DeepLens.

ראשית, עלינו ליצור פונקציית Lambda לפריסה ל- AWS DeepLens.

  1. הורד מסקנת פונקציה למבדה.
  2. במסוף למבה, בחרו פונקציות.
  3. לבחור צור פונקציה.
  4. בחר מחבר מאפס.
  5. בעד שם פונקציה, הכנס שם.
  6. בעד זמן ריצה, בחר פייתון 3.7.
  7. בעד בחר או צור תפקיד ביצוע, בחר השתמש בתפקיד קיים.
  8. לבחור תפקיד-שירות / AWSDeepLensLambdaRole.
  9. לבחור צור פונקציה.

  1. בדף הפרטים של הפונקציה, ב פעולות בתפריט, בחר העלה קובץ .zip.

  1. העלה את ה- מסקנה למבדה הקובץ שהורדת קודם.
  2. לבחור שמור כדי לשמור את הקוד שהזנת.
  3. על פעולות בתפריט, בחר פרסם גרסה חדשה.

פרסום הפונקציה הופך אותה לזמינה במסוף AWS DeepLens כך שתוכל להוסיף אותה לפרויקט המותאם אישית שלך.

  1. הזן מספר גרסה ובחר לפרסם.

הבנת פונקציית ההיסק

סעיף זה מעביר אתכם כמה חלקים חשובים בתפקוד ההיסק. ראשית, עליך לשים לב לשני קבצים ספציפיים:

  • תוויות. טקסט - מכיל מיפוי של הפלט מהרשת העצבית (מספרים שלמים) לתוויות קריאות אנושיות (מחרוזת)
  • lambda_function.py - מכיל קוד עבור הפונקציה המתקשרת ליצירת חיזויים בכל מסגרת מצלמה ושליחת תוצאות בחזרה

ב- lambda_function.py תחילה נטען ומייעל את הדגם. בהשוואה למכונות וירטואליות בענן עם GPU, ל- AWS DeepLens יש פחות כוח מחשוב. AWS DeepLens משתמש בכלי האופטימיזציה של מודל OpenVino של אינטל כדי לייעל את הדגם שהוכשר ב- SageMaker להפעלת חומרתו. הקוד הבא מייעל את המודל שלך להפעלה מקומית:

client.publish(topic=iot_topic, payload='Optimizing model...') ret, model_path = mo.optimize('deploy_ssd_resnet50_300', INPUT_W, INPUT_H) # Load the model onto the GPU. client.publish(topic=iot_topic, payload='Loading model...') model = awscam.Model(model_path, {'GPU': 1}) 

ואז אתה מפעיל את הדגם פריים-למסגרת מעל התמונות מהמצלמה. ראה את הקוד הבא:

while True: # Get a frame from the video stream ret, frame = awscam.getLastFrame() if not ret: raise Exception('Failed to get frame from the stream') # Resize frame to the same size as the training set. frame_resize = cv2.resize(frame, (INPUT_H, INPUT_W)) # Run the images through the inference engine and parse the results using # the parser API, note it is possible to get the output of doInference # and do the parsing manually, but since it is a ssd model, # a simple API is provided. parsed_inference_results = model.parseResult(model_type, model.doInference(frame_resize)) 

לבסוף, אתה שולח את תוצאות חיזוי הטקסט לענן. צפייה בתוצאות הטקסט בענן היא דרך נוחה לוודא שהמודל פועל כהלכה. לכל מכשיר AWS DeepLens יש iot_topic ייעודי שנוצר אוטומטית כדי לקבל את תוצאות ההיסק. ראה את הקוד הבא:

# Send results to the cloud client.publish(topic=iot_topic, payload=json.dumps(cloud_output)) 

צור פרויקט AWS DeepLens מותאם אישית

כדי ליצור פרויקט AWS DeepLens חדש, בצע את השלבים הבאים:

  1. במסוף DeepWS של AWS, ב- פרויקטים עמוד, בחר צור פרוייקט.
  2. בעד סוג הפרויקט, בחר צור פרויקט ריק חדש.
  3. לבחור הַבָּא.

  1. תן שם לפרויקט שלך yourname-pedestrian-detector-.
  2. לבחור הוסף דגם.
  3. בחר את הדגם שיצרת זה עתה.
  4. לבחור הוסף פונקציה.
  5. חפש את פונקציית Lambda שיצרת קודם בשם.
  6. לבחור צור פרוייקט.
  7. על פרויקטים בדף, בחר את הפרויקט שברצונך לפרוס.
  8. בחר פרוס למכשיר.
  9. בעד מכשיר מטרהבחר במכשיר שלך.
  10. לבחור סקירה.
  11. בדוק את ההגדרות שלך ובחר לפרוס.

הפריסה יכולה להימשך עד 10 דקות, תלוי במהירות הרשת אליה מחובר ה- AWS DeepLens. לאחר השלמת הפריסה, אתה אמור לראות כרזה ירוקה בדף עם ההודעה "מזל טוב, המודל שלך פועל כעת באופן מקומי ב- AWS DeepLens!"

כדי לראות את פלט הטקסט, גלול מטה בדף פרטי המכשיר אל תפוקת פרויקט סָעִיף. עקוב אחר ההוראות בסעיף להעתקת הנושא ועבור אל ליבת IoT של AWS קונסולה כדי להירשם לנושא. אתה אמור לראות תוצאות כמו בצילום המסך הבא.

לקבלת הוראות מפורטות לצפייה בזרם הווידאו או פלט הטקסט, ראה הצגת תוצאות מ- AWS DeepLens.

מקרי שימוש בעולם האמיתי

עכשיו שיש לך תחזיות מהמודל שלך שפועל ב- AWS DeepLens, בואו להמיר את התחזיות האלה להתראות ותובנות. כמה מהשימושים הנפוצים ביותר בפרויקט כזה כוללים:

  • להבין כמה אנשים ביום נתון נכנסו לאזור מוגבל כדי שאתרי בנייה יוכלו לזהות מקומות שדורשים יותר שלטי בטיחות. ניתן לעשות זאת על ידי איסוף התוצאות ושימוש בהן כדי ליצור לוח מחוונים באמצעות אמזון קוויקסייט. לפרטים נוספים אודות יצירת לוח מחוונים באמצעות QuickSight, ראה בנה גשש יציבה מהבית עם AWS DeepLens ו- GluonCV.
  • איסוף הפלט מ- AWS DeepLens וקביעת תצורה של פטל פטל להישמע התראה כשמישהו נכנס לאזור מוגבל. לפרטים נוספים אודות חיבור מכשיר AWS DeepLens למכשיר Raspberry Pi, ראה בניית סדרן זבל עם AWS DeepLens.

סיכום

בפוסט זה למדת כיצד להכשיר מודל לזיהוי אובייקטים ולפרוס אותו ב- AWS DeepLens כדי לזהות אנשים שנכנסים לאזורים מוגבלים. אתה יכול להשתמש במדריך זה כהפניה לאימון ולפרוס פרויקטים משלך לגילוי אובייקטים בהתאמה אישית ב- AWS DeepLens.

לפירוט מפורט יותר של הדרכה זו ושיעורי לימוד אחרים, דוגמאות ורעיונות לפרויקט עם AWS DeepLens, ראה מתכוני DeepLens של AWS.


על הכותבים

יאש שאה הוא מדען נתונים במעבדת פתרונות ML של אמזון, שם הוא עובד על מגוון מקרים של שימוש בלמידת מכונה החל מבריאות ועד ייצור וקמעונאות. יש לו רקע רשמי בגורמים אנושיים וסטטיסטיקה, והיה בעבר חלק מצוות SCOT של אמזון בעיצוב מוצרים להנחיית מוכרי 3P בניהול מלאי יעיל.

פו נגוין הוא מנהל מוצר של AWS Panorama. הוא בונה מוצרים שמעניקים למפתחים מכל רמת מיומנות מבוא קל ומעשי ללימוד מכונה.

מקור: https://aws.amazon.com/blogs/machine-learning/protecting-people-through-virtual-boundaries-computer-vision/

בול זמן:

עוד מ בלוג למידת מכונות AWS