Bonjour.
Je ne veux pas voir des choses pour adultes lors de la collecte d'images et de vidéos avec Crawler. (Hein? Es-tu heureux?) L'API Google Cloud Vision, dont on parlait il y a quelque temps, semble avoir la capacité de détecter de telles images nuisibles.
Ici, je vais résumer ce que j'ai fait avant d'essayer la détection d'images nuisibles dans l'essai gratuit de l'API Google Cloud Vison. D'autres fonctionnalités de l'API Cloud Vison, telles que la reconnaissance d'image, la détection de texte, la détection de visage, etc., sont également disponibles de la même manière que celle illustrée ci-dessous.
L'API Google Cloud Vison est utilisée de la même manière qu'une API générale en suivant les étapes ci-dessous.
Le contenu ci-dessus est brièvement résumé dans l'ordre.
Obtenez la clé API en vous référant au site suivant.
Résumé de l'utilisation de l'API Cloud Vision (avec exemple de code)
Les points auxquels une attention particulière doit être apportée sont les suivants.
Cette fois, je l'ai essayé avec python. Au contraire, je ne pouvais utiliser que python. Le module de requêtes est utilisé pour envoyer des requêtes, donc s'il n'est pas inclus, installez-le avec pip.
python
$ pip install requests
Pour créer une requête, utilisez generatejson.py publié dans le didacticiel officiel de l'API Cloud Vision. Il est pratique à utiliser. Il s'agit d'un texte qui rassemble les informations de la demande que vous souhaitez envoyer et qui génère un fichier json qui résume ces informations. Le format du fichier d'entrée est le suivant.
input_file.txt
#Numéro de fonction du chemin de l'image:Nombre de résultats obtenus
filepath_to_image1.jpg 4:10
filepath_to_image2.png 1:10 6:10
Séparé par des espaces de demi-largeur, spécifiez d'abord le Chemin de l'image, puis le numéro de la fonction que vous souhaitez utiliser et le nombre de résultats à acquérir, séparés par deux-points. (Veuillez ne pas écrire le commentaire dans l'exemple ci-dessus.) Les numéros de fonction (au 19 mai 2016) correspondent au tableau ci-dessous.
Nom de la fonction | La description | nombre |
---|---|---|
FACE_DETECTION | Détection d'une partie du visage | 1 |
LANDMARK_DETECTION | Détection de points de repère | 2 |
LOGO_DETECTION | Détection de logo | 3 |
LABEL_DETECTION | Détection / reconnaissance d'objets | 4 |
TEXT_DETECTION | Détection de texte dans les images | 5 |
SAFE_SEARCH_DETECTION | Détection d'images dangereuses | 6 |
Par exemple, si vous spécifiez "4:10", la reconnaissance d'objet sera effectuée et les 10 premières étiquettes estimées seront renvoyées. Même si vous n'avez pas besoin de "nombre" comme la détection d'images nuisibles, je l'ai essayé avec: X et une valeur numérique. Le résultat n'a pas changé si X était défini sur 1 ou 10.
Créez un fichier json à l'aide de generatejson.py comme suit.
python
python generatejson.py -i <inputfile> -o <outputfile>
# ex.) python generatejson.py -i input_file.txt -o vision.json
Spécifiez le nom du fichier texte créé précédemment après l'option -i et le fichier json créé après l'option -o. Une fois que vous avez un fichier json, envoyez-le. Comment envoyer est comme ça.
$ python
...
>>> import requests
>>> data = open('/path/to/json', 'rb').read()
>>> response = requests.post(url='https://vision.googleapis.com/v1/images:annotate?key=<API-key>',
data=data,
headers={'Content-Type': 'application/json'})
>>> print response.text
>>> '''Ci-dessous un exemple de réponse
{
"responses": [
{
"safeSearchAnnotation": {
"adult": "VERY_UNLIKELY",
"spoof": "VERY_UNLIKELY",
"medical": "VERY_UNLIKELY",
"violence": "VERY_UNLIKELY"
}
}
]
}
'''
Dans la partie "
Ici, seul le cas de détection d'images nuisibles est résumé. Je pense qu'il est facile d'obtenir le contenu de la réponse avec le module json comme indiqué ci-dessous.
$ python
...
>>> #Supposons que la réponse variable a une réponse
>>> import json
>>> response_json = json.loads(response.text)
>>> #De la première image"Diplôme adulte(?)"Avoir
>>> print response["responses"][0]["safeSearchAnnotation"]["adult"]
>>> # -> "VERY_UNLIKELY"
...
Il existe quatre points de vue pour juger des images nuisibles: «adulte», «médical», «parodie» et «violence». La signification de chacun est indiquée dans le tableau ci-dessous.
Perspective | La description |
---|---|
adult | Est-ce une image adulte? |
spoof | S'agit-il d'une sorte d'image traitée?(Image de Pakuri?) |
medical | Est-ce une image médicale?(Les organes internes) |
violence | Est-ce l'image d'une représentation violente?(Image Glo?) |
La nocivité est jugée en 5 étapes, du plus fort à "TRÈS PROBABLE", "PROBABLE", "POSSIBLE", "INCROYABLE", "TRÈS PROBABLE". Il semble également y avoir une valeur appelée "INCONNU". Est-ce le label quand on ne peut pas bien le juger? ?? (Cette valeur n'a pas été renvoyée pendant cet essai.)
Cette page est également utile pour afficher les résultats d'autres fonctions. Résumé de l'utilisation de l'API Cloud Vision (avec exemple de code)
Si vous mettez le résultat ici, il sera définitivement supprimé, donc si vous donnez simplement votre impression, j'ai senti que la précision était assez élevée.
Si vous êtes intéressé, essayez-le dans votre précieuse collection.
Nous avons brièvement résumé les étapes pour essayer la détection d'images dangereuses avec un essai gratuit de l'API Google Cloud Vision.
Je pense que ce service est très bon pour les personnes qui n'ont pas beaucoup de connaissances en apprentissage automatique ou qui ont des connaissances mais qui n'ont pas de ressources telles que des données d'apprentissage et des machines pour découvrir facilement les dernières technologies. .. Si vous êtes intéressé, veuillez essayer l'essai gratuit.
C'est très amusant!
Google Cloud Vision API Cloud Vision API Requests and Responses Résumé de l'utilisation de l'API Cloud Vision (avec exemple de code) L'apprentissage automatique des images nuisibles? Essayez d'utiliser l'API Cloud Vision
Recommended Posts