# Извикайте вашия детектор на обекти от IoT устройството - Виртуален IoT хардуер и Raspberry Pi След като вашият детектор на обекти е публикуван, той може да бъде използван от вашето IoT устройство. ## Копирайте проекта за класификатор на изображения Голяма част от вашия детектор на наличности е същата като класификатора на изображения, който създадохте в предишен урок. ### Задача - копирайте проекта за класификатор на изображения 1. Създайте папка с име `stock-counter` на вашия компютър, ако използвате виртуално IoT устройство, или на вашия Raspberry Pi. Ако използвате виртуално IoT устройство, уверете се, че сте настроили виртуална среда. 1. Настройте хардуера на камерата. * Ако използвате Raspberry Pi, ще трябва да монтирате PiCamera. Може също да искате да фиксирате камерата в една позиция, например, като окачите кабела над кутия или консерва, или като закрепите камерата към кутия с двойнозалепваща лента. * Ако използвате виртуално IoT устройство, ще трябва да инсталирате CounterFit и CounterFit PyCamera shim. Ако ще използвате статични изображения, заснемете няколко изображения, които вашият детектор на обекти не е виждал досега. Ако ще използвате уеб камера, уверете се, че тя е позиционирана така, че да вижда наличностите, които откривате. 1. Повторете стъпките от [урок 2 на проекта за производство](../../../4-manufacturing/lessons/2-check-fruit-from-device/README.md#task---capture-an-image-using-an-iot-device), за да заснемете изображения от камерата. 1. Повторете стъпките от [урок 2 на проекта за производство](../../../4-manufacturing/lessons/2-check-fruit-from-device/README.md#task---classify-images-from-your-iot-device), за да извикате класификатора на изображения. Голяма част от този код ще бъде използвана повторно за откриване на обекти. ## Променете кода от класификатор на изображения към детектор на изображения Кодът, който използвахте за класифициране на изображения, е много подобен на кода за откриване на обекти. Основната разлика е методът, който се извиква в Custom Vision SDK, и резултатите от извикването. ### Задача - променете кода от класификатор на изображения към детектор на изображения 1. Изтрийте трите реда код, които класифицират изображението и обработват прогнозите: ```python results = predictor.classify_image(project_id, iteration_name, image) for prediction in results.predictions: print(f'{prediction.tag_name}:\t{prediction.probability * 100:.2f}%') ``` Премахнете тези три реда. 1. Добавете следния код, за да откриете обекти в изображението: ```python results = predictor.detect_image(project_id, iteration_name, image) threshold = 0.3 predictions = list(prediction for prediction in results.predictions if prediction.probability > threshold) for prediction in predictions: print(f'{prediction.tag_name}:\t{prediction.probability * 100:.2f}%') ``` Този код извиква метода `detect_image` на предиктора, за да стартира детектора на обекти. След това събира всички прогнози с вероятност над определен праг и ги отпечатва в конзолата. За разлика от класификатора на изображения, който връща само един резултат за всеки етикет, детекторът на обекти ще върне множество резултати, така че тези с ниска вероятност трябва да бъдат филтрирани. 1. Стартирайте този код, и той ще заснеме изображение, ще го изпрати на детектора на обекти и ще отпечата откритите обекти. Ако използвате виртуално IoT устройство, уверете се, че имате подходящо изображение, зададено в CounterFit, или че вашата уеб камера е избрана. Ако използвате Raspberry Pi, уверете се, че камерата ви е насочена към обекти на рафт. ```output pi@raspberrypi:~/stock-counter $ python3 app.py tomato paste: 34.13% tomato paste: 33.95% tomato paste: 35.05% tomato paste: 32.80% ``` > 💁 Може да се наложи да коригирате `threshold`, за да бъде подходящ за вашите изображения. Ще можете да видите заснетото изображение и тези стойности в раздела **Predictions** в Custom Vision. ![4 консерви доматено пюре на рафт с прогнози за 4 открития: 35.8%, 33.5%, 25.7% и 16.6%](../../../../../translated_images/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.bg.png) > 💁 Можете да намерите този код в папката [code-detect/pi](../../../../../5-retail/lessons/2-check-stock-device/code-detect/pi) или [code-detect/virtual-iot-device](../../../../../5-retail/lessons/2-check-stock-device/code-detect/virtual-iot-device). 😀 Вашата програма за брояч на наличности беше успешна! --- **Отказ от отговорност**: Този документ е преведен с помощта на AI услуга за превод [Co-op Translator](https://github.com/Azure/co-op-translator). Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи може да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Не носим отговорност за недоразумения или погрешни интерпретации, произтичащи от използването на този превод.