Авторская статья #Моя статья Регистрация в bluemix.net 1. Заходим на сайт bluemix.net, нажимаем Create a free account 2. Указываем email, стамив галочку и продолжаем регистрацию 3. Подтверждаем email 4. Нажисаем Create resource 5. Выбираем watson 6. Visual recognition 7. Можно выбрать расположение сервера США или Сидней, выбираем план (Light бесплатный и можно создать только 1 свой классификатор) 8. Переходим во вкладку Service credentials и выбираем New credential, нажимаем на свой credential Мы зарегистрировались на сайте и подключили визуальное распознавание объектов. Нам предоставили API (он активируется в течении 5 минут после добавления credential) Теперь давайте установим Python 2.7 и среду в которой мы будем писать программу Установка ПО 1. Переходим на сайт python.org - вкладка Downloads - Python 2.7 и устанавливаем Python 2. Переходим на сайт http://www.jetbrains.com/pycharm/download/ - выбираем Community и устанавлием программу 3. Создаем новый проект 4. И добавляем python file 5. Устанавливаем плагин Теперь нужно найти изображения для добавления в базу данных Минимальное разрешение 20 на 20 пикселей и названия изображений должны иметь только на английском. Чем больше количество изображений, тем процент отгаданных изображений больше. Изображения должны быть в .zip архиве и подразделены на группы: Негативные - изображения похожие на правду но, не правда. Например баскетбольный мяч похож по форме на футбольный, но не является футбольным Позитивные - изображения с футбольными мячами Теперь переходим в PyCharm и добавляем код, который будет создавать классификатор import json from watson_developer_cloud import VisualRecognitionV3 visual_recognition = VisualRecognitionV3('2016-05-20', api_key='ваш API') try: classifiers = visual_recognition.list_classifiers(verbose=True) classId = classifiers['classifiers'][0]['classifier_id'] response = visual_recognition.delete_classifier(classifier_id=classId) print('Delete complete') except: pass with open('vypsen.zip', 'rb') as vypsen, \ #пак с фото вупсеня open('pypsen.zip','rb') as pypsen, \ #пак с фото пупсеня open('negative.zip', 'rb') as notCaterpillars: #фото на которых нет ни вупсеня не пупсеня model = visual_recognition.create_classifier( 'caterpillars', pypsen_positive_examples=pypsen, #преобразовываем код для отправки в IBM watson vypsen_positive_examples=vypsen, negative_examples=notCaterpillars, ) print(json.dumps(model, indent=2)) Код import json from watson_developer_cloud import VisualRecognitionV3 visual_recognition = VisualRecognitionV3('2016-05-20', api_key='ваш API') try: classifiers = visual_recognition.list_classifiers(verbose=True) classId = classifiers['classifiers'][0]['classifier_id'] response = visual_recognition.delete_classifier(classifier_id=classId) print('Delete complete') except: pass with open('vypsen.zip', 'rb') as vypsen, \ #пак с фото вупсеня open('pypsen.zip','rb') as pypsen, \ #пак с фото пупсеня open('negative.zip', 'rb') as notCaterpillars: #фото на которых нет ни вупсеня не пупсеня model = visual_recognition.create_classifier( 'caterpillars', pypsen_positive_examples=pypsen, #преобразовываем код для отправки в IBM watson vypsen_positive_examples=vypsen, negative_examples=notCaterpillars, ) print(json.dumps(model, indent=2)) И код который будет отсылать фото с гусеницами и получать ответ import json from watson_developer_cloud import VisualRecognitionV3 visual_recognition = VisualRecognitionV3('2016-05-20', api_key='ваш API') classifiers = visual_recognition.list_classifiers(verbose=False) classId = classifiers["classifiers"][0]["classifier_id"] print('work with classifier:' + classId) with open('E0B59hH-zWo.jpg', 'rb') as image_file: #имя изображения E0B59hH-zWo.jpg classes = visual_recognition.classify( image_file, parameters=json.dumps({ "classifier_ids":[classId], 'threshold': 0.1 #порог срабатывания }) ) print(json.dumps(classes, indent=2)) Код import json from watson_developer_cloud import VisualRecognitionV3 visual_recognition = VisualRecognitionV3('2016-05-20', api_key='ваш API') classifiers = visual_recognition.list_classifiers(verbose=False) classId = classifiers["classifiers"][0]["classifier_id"] print('work with classifier:' + classId) with open('E0B59hH-zWo.jpg', 'rb') as image_file: #имя изображения E0B59hH-zWo.jpg classes = visual_recognition.classify( image_file, parameters=json.dumps({ "classifier_ids":[classId], 'threshold': 0.1 #порог срабатывания }) ) print(json.dumps(classes, indent=2)) Архивы с фото https://yadi.sk/d/j4eP3e0z3Shuhm https://yadi.sk/d/Ejlo6mLs3Shuho https://yadi.sk/d/h-ctYgQO3Shuie Где находится API https://console.bluemix.net/dashboard/apps - service credentials - viev credentials - в поле api_key и будет ключ В данной статья, я научил ИИ различать вупсеня и пупсеня!
https://console.bluemix.net/dashboard/apps - service credentials - viev credentials - в поле api_key и будет ключ
Спасибо автору за статью! Подготовил программу которая различает М4 и АК от других автоматов) Всё получилось!