Hallo.
Ich möchte keine erwachsenen Dinge sehen, wenn ich Bilder und Videos mit Crawler sammle. (Eh? Bist du glücklich?) Die Google Cloud Vision-API, über die vor einiger Zeit gesprochen wurde, scheint in der Lage zu sein, solche schädlichen Bilder zu erkennen.
Hier fasse ich zusammen, was ich getan habe, bevor ich in der kostenlosen Testversion der Google Cloud Vison API versucht habe, schädliche Bilder zu erkennen. Andere Funktionen der Cloud Vison-API, wie z. B. Bilderkennung, Texterkennung, Gesichtserkennung usw., sind auf die gleiche Weise wie unten gezeigt verfügbar.
Die Google Cloud Vison-API wird wie eine allgemeine API verwendet, indem Sie die folgenden Schritte ausführen.
Die obigen Inhalte werden der Reihe nach kurz zusammengefasst.
Beziehen Sie den API-Schlüssel, indem Sie auf die folgende Site verweisen.
Zusammenfassung der Verwendung der Cloud Vision-API (mit Beispielcode)
Folgende Punkte sind besonders zu beachten.
Diesmal habe ich es mit Python versucht. Vielmehr konnte ich nur Python verwenden. Das Anforderungsmodul wird zum Senden von Anforderungen verwendet. Wenn es nicht enthalten ist, installieren Sie es mit pip.
python
$ pip install requests
Verwenden Sie zum Erstellen einer Anforderung generatejson.py, das im offiziellen Cloud Vision API-Lernprogramm veröffentlicht wurde. Es ist bequem zu bedienen. Dies ist ein Text, der die Informationen der Anforderung, die Sie senden möchten, zusammenfasst und eine JSON-Datei ausgibt, in der diese Informationen zusammengefasst sind. Das Format der Eingabedatei ist wie folgt.
input_file.txt
#Bildpfad-Funktionsnummer:Anzahl der erhaltenen Ergebnisse
filepath_to_image1.jpg 4:10
filepath_to_image2.png 1:10 6:10
Geben Sie durch Leerzeichen halber Breite zuerst den Pfad des Bildes, dann die Nummer der Funktion, die Sie verwenden möchten, und die Anzahl der zu erfassenden Ergebnisse an, getrennt durch einen Doppelpunkt. (Bitte schreiben Sie den Kommentar im obigen Beispiel nicht.) Die Funktionsnummern (Stand 19. Mai 2016) entsprechen der folgenden Tabelle.
Funktionsname | Erläuterung | Nummer |
---|---|---|
FACE_DETECTION | Erkennung des Gesichtsteils | 1 |
LANDMARK_DETECTION | Landmark-Erkennung | 2 |
LOGO_DETECTION | Logoerkennung | 3 |
LABEL_DETECTION | Objekterkennung / -erkennung | 4 |
TEXT_DETECTION | Texterkennung in Bildern | 5 |
SAFE_SEARCH_DETECTION | Erkennung gefährlicher Bilder | 6 |
Wenn Sie beispielsweise "4:10" angeben, wird die Objekterkennung durchgeführt und die Top 10 der geschätzten Beschriftungen werden zurückgegeben. Auch wenn Sie keine "Zahl" wie die Erkennung schädlicher Bilder benötigen, habe ich es mit X und einem numerischen Wert versucht. Das Ergebnis änderte nichts daran, ob X auf 1 oder 10 gesetzt war.
Erstellen Sie eine JSON-Datei mit generatejson.py wie folgt.
python
python generatejson.py -i <inputfile> -o <outputfile>
# ex.) python generatejson.py -i input_file.txt -o vision.json
Geben Sie den Namen der Textdatei an, die zuvor nach der Option -i erstellt wurde, und die JSON-Datei, die nach der Option -o erstellt wurde. Sobald Sie eine JSON-Datei haben, senden Sie sie. So senden Sie.
$ 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
>>> '''Unten finden Sie ein Beispiel für die Antwort
{
"responses": [
{
"safeSearchAnnotation": {
"adult": "VERY_UNLIKELY",
"spoof": "VERY_UNLIKELY",
"medical": "VERY_UNLIKELY",
"violence": "VERY_UNLIKELY"
}
}
]
}
'''
Geben Sie im Teil "
Hier wird nur der Fall einer schädlichen Bilderkennung zusammengefasst. Ich denke, es ist einfach, den Inhalt der Antwort mit dem json-Modul zu erhalten, wie unten gezeigt.
$ python
...
>>> #Angenommen, die variable Antwort hat eine Antwort
>>> import json
>>> response_json = json.loads(response.text)
>>> #Vom ersten Bild"Erwachsener Abschluss(?)"Erhalten
>>> print response["responses"][0]["safeSearchAnnotation"]["adult"]
>>> # -> "VERY_UNLIKELY"
...
Es gibt vier Gesichtspunkte für die Beurteilung schädlicher Bilder: "Erwachsener", "Medizin", "Parodie" und "Gewalt". Die Bedeutung von jedem ist wie in der folgenden Tabelle gezeigt.
Perspektive | Erläuterung |
---|---|
adult | Ist es ein Erwachsenenbild? |
spoof | Ist es eine Art verarbeitetes Bild?(Pakuri Bild?) |
medical | Ist es ein medizinisches Bild?(Innere Organe) |
violence | Ist es ein Bild einer gewalttätigen Darstellung?(Glo Bild?) |
Die Schädlichkeit wird in 5 Stufen beurteilt, und die stärkste ist "SEHR_MÖGLICH", "WAHRSCHEINLICH", "MÖGLICH", "UNMÖGLICH", "SEHR_MÖGLICH". Es scheint auch einen Wert namens "UNBEKANNT" zu geben. Ist dies das Label, wenn es nicht gut beurteilt werden konnte? ?? (Dieser Wert wurde während dieses Versuchs nicht zurückgegeben.)
Diese Seite ist auch hilfreich, um die Ergebnisse anderer Funktionen anzuzeigen. Zusammenfassung der Verwendung der Cloud Vision-API (mit Beispielcode)
Wenn Sie das Ergebnis hier einfügen, wird es definitiv gelöscht. Wenn Sie also nur Ihren Eindruck erwecken, war die Genauigkeit meiner Meinung nach recht hoch.
Wenn Sie interessiert sind, versuchen Sie es bitte in Ihrer eigenen Sammlung.
Wir haben die Schritte zum Testen der Erkennung schädlicher Bilder mit einer kostenlosen Testversion der Google Cloud Vision-API kurz zusammengefasst.
Ich denke, dieser Service ist sehr gut für Leute, die nicht viel Wissen über maschinelles Lernen haben oder über Kenntnisse verfügen, aber nicht über Ressourcen wie Lerndaten und Maschinen verfügen, um die neueste Technologie einfach zu erleben. .. Wenn Sie interessiert sind, probieren Sie bitte die kostenlose Testversion aus.
Es macht viel Spass!
Google Cloud Vision API Cloud Vision API Requests and Responses Zusammenfassung der Verwendung der Cloud Vision-API (mit Beispielcode) Maschinelles Lernen für schädliche Bilder? Versuchen Sie es mit der Cloud Vision API](http://design-lab.tuqulore.com/safety_image_upload_form_design/)
Recommended Posts