비전

이미지를 분석해서 콘텐츠 형태와 의미를 이해하고, 이미지를 활용할 수 있게 도와주는 API입니다.

현재 제공되는 API는 다음과 같습니다.

공통사항

API 호출시 공통적으로 다음과 같은 사항을 준수해야 합니다.

  • 서버에서 호출하는 경우 REST API 키를 사용해 호출합니다.
  • 모든 API는 file 또는 image_url 중 하나의 값을 지정해야 합니다.
  • file에 업로드되는 이미지와 image_url에 지정되는 이미지는 png 또는 jpg 포맷만 지원합니다.
  • file을 업로드하는 경우는 "multipart/form-data"로 POST 되어야 합니다.
  • image_url로 호출 하는 경우는 "application/x-www-form-urlencoded"로 POST 되어야 합니다.

얼굴 검출

얼굴 검출 API는 이미지 내의 얼굴을 찾아내고, 얼굴의 위치, 특징점, 각도, 성별, 나이 등을 추정해서 반환합니다.

얼굴 검출 데모를 바로 확인해 보세요! 데모 보러가기

[Request]

POST /v1/vision/face/detect HTTP/1.1
Host: kapi.kakao.com
Authorization: KakaoAK {rest_app_key}

호출 파라미터에 대한 공통설명은 공통사항 을 참고하세요.

  • 앱키를 헤더에 담아 POST로 요청합니다.
  • file과 image_url 중 하나는 필수로 지정해야 합니다.
  • threshold는 검출된 얼굴이 오검출인지를 판단하기 위해 사용하는 기준값입니다.
  • 0 ~ 1.0 사이의 값이며, 얼굴검출의 기준값이 높으면 일부 인물은 검출하지 못할 수 있습니다.
  • 반대로 기준값이 낮으면 인물이 아닌 영역도 얼굴로 오검출할 수 있습니다.
설명 필수 타입
file 이미지 파일 O Binary
image_url 이미지 URL O String
threshold 얼굴 판정의 기준값 X(기본 0.7) Float (0 ~ 1.0 사이)

요청 예제

curl -v -X POST "https://kapi.kakao.com/v1/vision/face/detect" \
-d "image_url=https://t1.daumcdn.net/alvolo/_vision/openapi/r2/images/01.jpg" \
-H "Authorization: KakaoAK kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"
curl -v -X POST "https://kapi.kakao.com/v1/vision/face/detect" \
-F "file=@sample_face.jpg" \
-H "Authorization: KakaoAK kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"


[Response]

요청이 성공하면 응답 바디에 JSON객체로 아래 값을 포함합니다

필드 설명 타입
result 얼굴 검출 결과를 담는 객체 Object

result ( 객체 )

필드 설명 타입
width 요청 이미지의 가로 길이 Integer
height 요청 이미지의 세로 높이 Integer
faces 검출된 얼굴 정보를 담은 객체의 배열 Array

faces ( 배열 )

필드 설명 타입
facial_attributes 얼굴의 성별, 나이를 담은 객체 Object
facial_points 검출된 얼굴의 특징점들을 담은 객체. 총 68개의 특징점이 영역별로 x,y배열에 담겨있음. Object
score 검출된 얼굴의 판별 점수. threshold에서 지정한 값 이상만 검출 결과에 나옴. Float (0 ~ 1.0)
class_idx 판별된 객체의 검출 값이며, 현재는 0만 반환함. Integer
x 얼굴의 x좌표 Float (이미지의 가로 크기에 비례하는 0 ~ 1.0 사이의 값)
y 얼굴의 y좌표 Float (이미지의 세로 크기에 비례하는 0 ~ 1.0 사이의 값)
w 얼굴의 가로 크기 Float (이미지의 가로 크기에 비례하는 0 ~ 1.0 사이의 값)
h 얼굴의 세로 크기 Float (이미지의 세로 크기에 비례하는 0 ~ 1.0 사이의 값
pitch 얼굴의 x축 각도. 얼굴의 상하 움직임 각도를 표현 Radian
yaw 얼굴의 y축 각도. 얼굴의 좌우 움직임 각도를 표현 Radian
roll 얼굴의 z축 각도. 얼굴의 회전 각도를 표현. Radian
얼굴의 각도를 나타내는 값들인 pitch, yaw, roll의 정의는 아래 그림과 같습니다
이미지 출처 : Enhanced real-time head pose estimation system for mobile device

facial_attributes ( 객체 )

필드 설명 타입
gender 검출된 얼굴의 추정 성별 객체
age 검출된 인물의 추정나이 Float

gender ( 객체 ) : male과 female 중 더 높은 성별을 사용하면 됩니다.

필드 설명 타입
male 검출된 얼굴의 남성 추정 값 Float (0 ~ 1.0 )
female 검출된 인물의 여성 추정 값 Float ( 0 ~ 1.0 )

facial_points ( 객체 )

모든 좌표는 왼쪽부터 아래로 정렬되어 있습니다.

필드 설명 타입
jaw 검출된 턱선의 17개의 죄표 배열. 0 ~ 1.0 사이의 (x,y) 값의 배열 배열
right_eyebrow 검출된 오른쪽 눈썹의 5개의 죄표 배열. 0 ~ 1.0 사이의 (x,y) 값의 배열 배열
left_eyebrow 검출된 왼쪽 눈썹의 5개의 죄표 배열. 0 ~ 1.0 사이의 (x,y) 값의 배열 배열
nose 검출된 코의 9개의 죄표 배열. 0 ~ 1.0 사이의 (x,y) 값의 배열 배열
right_eye 검출된 오른쪽 눈의 6개의 죄표 배열. 0 ~ 1.0 사이의 (x,y) 값의 배열 배열
left_eye 검출된 왼쪽 눈의 6개의 죄표 배열. 0 ~ 1.0 사이의 (x,y) 값의 배열 배열
lip 검출된 입술의 20개의 죄표 배열. 0 ~ 1.0 사이의 (x,y) 값의 배열 배열

상품 검출

상품 검출 API는 이미지 내에 존재하는 상품의 위치와 종류를 반환합니다. 패션 상품, 가방, 신발 등 을 검출할 수 있습니다.

상품검출 데모를 바로 확인해 보세요! 데모 보러가기

[Request]

POST /v1/vision/product/detect HTTP/1.1
Host: kapi.kakao.com
Authorization: KakaoAK {rest_app_key}

호출 파라미터에 대한 공통설명은 공통사항 을 참고하세요.

  • 앱키를 헤더에 담아 POST로 요청합니다.
  • file과 image_url 중 하나는 필수로 지정해야 합니다.
  • threshold는 검출된 상품이 오검출인지를 판단하기 위해 사용하는 기준값입니다.
  • 0 ~ 1.0사이의 값이며, 상품 검출의 기준값이 높으면 일부 상품은 검출하지 못할 수 있습니다.
  • 반대로 기준값이 낮으면 상품이 아닌 영역도 상품으로 오검출할 수 있습니다.
설명 필수 타입
file 이미지 파일 O Binary
image_url 이미지 URL O String
threshold 검출 기준값 X (기본 0.8) Float (0 ~ 1.0 사이)

요청 예제

curl -v -X POST "https://kapi.kakao.com/v1/vision/product/detect" \
-d "image_url=https://t1.daumcdn.net/alvolo/_vision/openapi/r2/images/06.jpg" \
-H "Authorization: KakaoAK kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"
curl -v -X POST "https://kapi.kakao.com/v1/vision/product/detect" \
-F "file=@sample_product.jpg" \
-H "Authorization: KakaoAK kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"


[Response]

요청이 성공하면 응답 바디에 JSON객체로 아래 값을 포함합니다

필드 설명 타입
result 상품 검출 결과를 담는 객체 Object

result ( 객체 )

필드 설명 타입
width 요청 이미지의 가로 크기 Integer
height 요청 이미지의 세로 크기 Integer
objects 검출된 상 정보를 담은 객체의 배열 Array

objects ( 배열 )

필드 설명 타입
x1 검출된 상품영역 박스의 좌상단 X 좌표 Float (이미지의 가로 크기에 비례하는 0 ~ 1.0 사이의 값)
y1 검출된 상품영역 박스의 좌상단 Y 좌표 Float (이미지의 세로 크기에 비례하는 0 ~ 1.0 사이의 값)
x2 검출된 상품영역 박스의 우하단 X 좌표 Float (이미지의 가로 크기에 비례하는 0 ~ 1.0 사이의 값)
y2 검출된 상품영역 박스의 우하단 Y 좌표 Float (이미지의 세로 크기에 비례하는 0 ~ 1.0 사이의 값)
class 상품의 이름 String

썸네일 생성

썸네일 생성 API는 이미지 내의 콘텐츠를 바탕으로 중요한 부분을 썸네일로 생성해주는 API입니다. 요청한 width, height 비율에 따라 이미지를 잘라내어 반환합니다.

썸네일 생성 데모를 바로 확인해 보세요! 데모 보러가기

[Request]

POST /v1/vision/thumbnail/crop HTTP/1.1
Host: kapi.kakao.com
Authorization: KakaoAK {rest_app_key}

호출 파라미터에 대한 공통설명은 공통사항 을 참고하세요.

앱키를 헤더에 담아 POST로 요청합니다. file과 image_url 중 하나는 필수로 지정해야 합니다.

설명 필수 타입
file 이미지 파일 O Binary
image_url 이미지 URL O String
width 이미지 가로 크기 O Integer
height 이미지 세로 크기 O Integer

요청 예제

curl -v -X POST "https://kapi.kakao.com/v1/vision/thumbnail/crop" \
-d "image_url=https://t1.daumcdn.net/alvolo/_vision/openapi/r2/images/07.jpg"
-d "width=200" \
-d "height=200" \
-H "Authorization: KakaoAK kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"
curl -v -X POST "https://kapi.kakao.com/v1/vision/thumbnail/crop" \
-F "file=@sample_thumbnail.jpg" \
-F "width=200" \
-F "height=200" \
-H "Authorization: KakaoAK kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"

[Response]

요청이 성공하면 응답 바디에 JSON객체로 아래 값을 포함합니다

필드 설명 타입
thumbnail_image_url crop한 썸네일 이미지 url String

썸네일 검출

썸네일 검출 API는 이미지 내의 콘텐츠를 바탕으로 중요한 부분을 썸네일로 생성할 수 있게 도와주는 API입니다. 요청한 width, height 비율에 맞춰 이미지에서 잘라낼 수 있는 제안 영역을 반환합니다.

썸네일 검출 데모를 바로 확인해 보세요! 데모 보러가기

[Request]

POST /v1/vision/thumbnail/detect HTTP/1.1
Host: kapi.kakao.com
Authorization: KakaoAK {rest_app_key}

호출 파라미터에 대한 공통설명은 공통사항 을 참고하세요.

앱키를 헤더에 담아 POST로 요청합니다. file과 image_url 중 하나는 필수로 지정해야 합니다.

설명 필수 타입
file 이미지 파일 O Binary
image_url 이미지 URL O String
width 이미지 가로 크기 O Integer
height 이미지 세로 크기 O Integer

요청 예제

curl -v -X POST "https://kapi.kakao.com/v1/vision/thumbnail/detect" \
-d "image_url=https://t1.daumcdn.net/alvolo/_vision/openapi/r2/images/07.jpg" \
-d "width=200" \
-d "height=20" \
-H "Authorization: KakaoAK kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"
curl -v -X POST "https://kapi.kakao.com/v1/vision/thumbnail/detect" \
-F "file=@sample_thumbnail.jpg" \
-F "width=200" \
-F "height=200" \
-H "Authorization: KakaoAK kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"

[Response]

요청이 성공하면 응답 바디에 JSON객체로 아래 값을 포함합니다

필드 설명 타입
result 이미지 검출 결과를 담는 객체 Object

result ( 객체 )

필드 설명 타입
width 요청 이미지의 가로 크기 Integer
height 요청 이미지의 세로 크기 Integer
thumbnail 제안하는 영역의 좌표를 담은 객체 Object

thumbnail ( 객체 )

필드 설명 타입
x 썸네일 가로 시작 좌표 Intger
y 썸네일 세로 시작 좌표 Intger
width 썸네일의 가로 크기 Intger
height 썸네일의 세로 크기 Intger

제안된 썸네일은 요청된 가로x세로의 비율에 해당하는 이미지의 영역입니다. 실제 썸네일을 생성할 경우는 제안 영역으로 자른 뒤에 원하는 크기로 리사이즈해야 합니다.

멀티태그 생성

멀티태그 API는 이미지 내의 콘텐츠에 대한 태그를 생성하는 API입니다. 이미지의 카테고리를 분류할 수 있도록 도움을 줍니다.

멀티태그 데모를 바로 확인해 보세요! 데모 보러가기

[Request]

POST /v1/vision/multitag/generate HTTP/1.1
Host: kapi.kakao.com
Authorization: KakaoAK {rest_app_key}

호출 파라미터에 대한 공통설명은 공통사항 을 참고하세요.

앱키를 헤더에 담아 POST로 요청합니다. file과 image_url 중 하나는 필수로 지정해야 합니다.

설명 필수 타입
file 이미지 파일 O Binary
image_url 이미지 URL O String

요청 예제

curl -v -X POST "https://kapi.kakao.com/v1/vision/multitag/generate" \
-d "image_url=https://t1.daumcdn.net/alvolo/_vision/openapi/r2/images/08.jpg" \
-H "Authorization: KakaoAK kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"
curl -v -X POST "https://kapi.kakao.com/v1/vision/multitag/generate" \
-F "file=@sample_tag.jpg" \
-H "Authorization: KakaoAK kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"

[Response]

요청이 성공하면 응답 바디에 JSON객체로 아래 값을 포함합니다

필드 설명 타입
result 태그 생성 결과를 담는 객체 Object

result ( 객체 )

필드 설명 타입
label 검출된 태그의 영문 목록 StringArray
label_kr 검출된 태그의 한글 목로 StringArray

성인 이미지 판별

성인 이미지 판별 API는 이미지가 성인물에 해당하는지를 판별한 결과를 알려줍니다. 스팸 이미지를 필터링하는데 사용할 수 있습니다.
결과값은 ( normal, soft, adult ) 의 점수를 반환합니다. soft나 adult의 점수가 높으면 성인 이미지일 가능성이 높습니다. 모든 카테고리의 점수의 합은 1.0이됩니다. ( normal + soft + adult = 1.0 )

성인 이미지 판별 데모를 바로 확인해 보세요! 데모 보러가기

[Request]

POST /v1/vision/adult/detect HTTP/1.1
Host: kapi.kakao.com
Authorization: KakaoAK {rest_app_key}

호출 파라미터에 대한 공통설명은 공통사항 을 참고하세요.

앱키를 헤더에 담아 POST로 요청합니다. file과 image_url 중 하나는 필수로 지정해야 합니다.

설명 필수 타입
file 이미지 파일 O Binary
image_url 이미지 URL O String

요청 예제

curl -v -X POST "https://kapi.kakao.com/v1/vision/adult/detect" \
-d "image_url=https://t1.daumcdn.net/alvolo/_vision/openapi/r2/images/09.jpg" \
-H "Authorization: KakaoAK kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"
curl -v -X POST "https://kapi.kakao.com/v1/vision/adult/detect" \
-F "file=@sample_adult.jpg" \
-H "Authorization: KakaoAK kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"

[Response]

요청이 성공하면 응답 바디에 JSON객체로 아래 값을 포함합니다

필드 설명 타입
result 성인 이미지 결과를 담는 객체 Object

result ( 객체 )

필드 설명 타입
normal 이미지가 정상일 확률 Float (0 ~ 1.0)
soft 이미지가 약간의 노출이 있을 확률. 주로 수영복 등일 경우 해당합니다. Float (0 ~ 1.0)
adult 이미지가 노출이 많은 성인 이미지일 경우. 주로 음란물 같은 경우 해당합니다. Float (0 ~ 1.0)

구현 예제

간단하게 python을 이용해 vision api를 활용할 수 있는 예제를 선보입니다. python버전은 2.7 또는 3.6 이상을 권장합니다. 설치가 필요한 python module requirement는 아래와 같습니다.

requests==2.14.2
Pillow==5.0.0

[얼굴을 추출해 모자이크 처리하는 예제]

이미지에서 얼굴을 찾아내고, 찾아낸 얼굴의 사각형 영역에 모자이크 처리하는 예제

import sys
import argparse
import requests
from PIL import Image, ImageFilter

API_URL = 'https://kapi.kakao.com/v1/vision/face/detect'
MYAPP_KEY = 'YOUR_APP_KEY'

def detect_face(filename):
    headers = {'Authorization': 'KakaoAK {}'.format(MYAPP_KEY)}

    try:
        files = { 'file' : open(filename, 'rb')}
        resp = requests.post(API_URL, headers=headers, files=files)
        resp.raise_for_status()
        return resp.json()
    except Exception as e:
        print(str(e))
        sys.exit(0)

def mosaic(filename, detection_result):
    image = Image.open(filename)

    for face in detection_result['result']['faces']:
        x = int(face['x']*image.width)
        w = int(face['w']*image.width)
        y = int(face['y']*image.height)
        h = int(face['h']*image.height)
        box = image.crop((x,y,x+w, y+h))
        box = box.resize((20,20), Image.NEAREST).resize((w,h), Image.NEAREST)
        image.paste(box, (x,y,x+w, y+h))

    return image



if __name__ == "__main__":
    parser = argparse.ArgumentParser(description='Mosaic faces.')
    parser.add_argument('image_file', type=str, nargs='?', default="./images/05.jpg",
                        help='image file to hide faces')

    args = parser.parse_args()

    detection_result = detect_face(args.image_file)
    image = mosaic(args.image_file, detection_result)
    image.show()

[상품을 추출하는 예제]

이미지로 부터 상품영역을 검출해서, 사각형을 영역을 표시하고 검출된 상품이름을 보여주는 예제

import sys
import argparse
import requests
from PIL import Image, ImageDraw, ImageFont
from io import BytesIO

API_URL = 'https://kapi.kakao.com/v1/vision/product/detect'
MYAPP_KEY = 'YOUR_APP_KEY'

def detect_product(image_url):
    headers = {'Authorization': 'KakaoAK {}'.format(MYAPP_KEY)}

    try:
        data = { 'image_url' : image_url}
        resp = requests.post(API_URL, headers=headers, data=data)
        resp.raise_for_status()
        return resp.json()
    except Exception as e:
        print(str(e))
        sys.exit(0)

def show_products(image_url, detection_result):
    try:
        image_resp = requests.get(image_url)
        image_resp.raise_for_status()
        file_jpgdata = BytesIO(image_resp.content)
        image = Image.open(file_jpgdata)
    except Exception as e:
        print(str(e))
        sys.exit(0)


    draw = ImageDraw.Draw(image)
    for obj in detection_result['result']['objects']:
        x1 = int(obj['x1']*image.width)
        y1 = int(obj['y1']*image.height)
        x2 = int(obj['x2']*image.width)
        y2 = int(obj['y2']*image.height)
        draw.rectangle([(x1,y1), (x2, y2)], fill=None, outline=(255,0,0,255))
        draw.text((x1+5,y1+5), obj['class'], (255,0,0))
    del draw

    return image

if __name__ == "__main__":
    parser = argparse.ArgumentParser(description='Detect Products.')
    parser.add_argument('image_url', type=str, nargs='?',
        default="http://t1.daumcdn.net/alvolo/_vision/openapi/r2/images/06.jpg",
        help='image url to show product\'s rect')

    args = parser.parse_args()

    detection_result = detect_product(args.image_url)
    image = show_products(args.image_url, detection_result)
    image.show()

[이미지의 썸네일을 생성하는 예제]

이미지의 주요 부분을 선택해서 지정한 width, height의 비율에 맞도록 썸네일을 생성해서 보여주는 예제

import sys
import argparse
import requests
from PIL import Image, ImageFilter

API_URL = 'https://kapi.kakao.com/v1/vision/thumbnail/detect'
MYAPP_KEY = 'YOUR_APP_KEY'

def detect_thumbnail(filename, width, height):
    headers = {'Authorization': 'KakaoAK {}'.format(MYAPP_KEY)}

    try:
        files = { 'file' : open(filename, 'rb')}
        params = {'width': width, 'height': height}
        resp = requests.post(API_URL, headers=headers, data=params, files=files)
        resp.raise_for_status()
        return resp.json()
    except Exception as e:
        print(str(e))
        sys.exit(0)

def show_thumbnail(filename, detection_result, width, height):
    image = Image.open(filename)
    rect = detection_result['result']['thumbnail']
    thumbnail = image.crop((rect['x'], rect['y'], rect['x'] + rect['width'], rect['y'] + rect['height']))
    thumbnail = thumbnail.resize((width, height))

    return thumbnail


if __name__ == "__main__":
    parser = argparse.ArgumentParser(description='Make a thumbnail.')
    parser.add_argument('image_file', type=str, nargs='?', default="./images/07.jpg",
                        help='image file to make a thumbnail')
    parser.add_argument('width', type=int, nargs='?', default=150,
                        help='thumbnail width')
    parser.add_argument('height', type=int, nargs='?', default=200,
                        help='thumbnail height')

    args = parser.parse_args()

    detection_result = detect_thumbnail(args.image_file, args.width, args.height)
    image = show_thumbnail(args.image_file, detection_result, args.width, args.height)
    image.show()

[이미지에서 적절한 태그를 추출하는 예제]

이미지를 대표하는 태그를 추출해서 출력하는 예제

import sys
import argparse
import requests
from PIL import Image, ImageDraw, ImageFont
from io import BytesIO

API_URL = 'https://kapi.kakao.com/v1/vision/multitag/generate'
MYAPP_KEY = 'YOUR_APP_KEY'

def generate_tag(image_url):
    headers = {'Authorization': 'KakaoAK {}'.format(MYAPP_KEY)}

    try:
        data = { 'image_url' : image_url}
        resp = requests.post(API_URL, headers=headers, data=data)
        resp.raise_for_status()
        result = resp.json()['result']
        if len(result['label_kr']) > 0:
            if type(result['label_kr'][0]) != str:
                result['label_kr'] = map(lambda x: str(x.encode("utf-8")), result['label_kr'])
            print("이미지를 대표하는 태그는 \"{}\"입니다.".format(','.join(result['label_kr'])))
        else:
            print("이미지로부터 태그를 생성하지 못했습니다.")

    except Exception as e:
        print(str(e))
        sys.exit(0)

if __name__ == "__main__":
    parser = argparse.ArgumentParser(description='Classify Tags')
    parser.add_argument('image_url', type=str, nargs='?',
        default="http://t1.daumcdn.net/alvolo/_vision/openapi/r2/images/08.jpg",
        help='image url to classify')

    args = parser.parse_args()

    generate_tag(args.image_url)

[성인 이미지, 노출 이미지를 판단하는 예제]

성인 이미지, 노출 포함 여부를 점수로 보여주는 예제

import sys
import argparse
import requests
from PIL import Image, ImageDraw, ImageFont
from io import BytesIO

API_URL = 'https://kapi.kakao.com/v1/vision/adult/detect'
MYAPP_KEY = 'YOUR_APP_KEY'

def detect_adult(image_url):
    headers = {'Authorization': 'KakaoAK {}'.format(MYAPP_KEY)}

    try:
        data = { 'image_url' : image_url}
        resp = requests.post(API_URL, headers=headers, data=data)
        resp.raise_for_status()
        result = resp.json()['result']
        if result['adult'] > result['normal'] and result['adult'] > result['soft']:
            print("성인 이미지일 확률이 {}% 입니다.".format(result['adult']*100))
        elif result['soft'] > result['normal'] and result['soft'] > result['adult']:
            print("노출이 포함된 이미지일 확률이 {}% 입니다.".format(result['soft']*100))
        else :
            print("일반적인 이미지일 확률이 {}% 입니다.".format(result['normal']*100))

    except Exception as e:
        print(str(e))
        sys.exit(0)

if __name__ == "__main__":
    parser = argparse.ArgumentParser(description='Classify adult image.')
    parser.add_argument('image_url', type=str, nargs='?',
        default="http://t1.daumcdn.net/alvolo/_vision/openapi/r2/images/10.jpg",
        help='image url to classify')

    args = parser.parse_args()

    detect_adult(args.image_url)

Last Modified : 2018-03-13