오픈API 이용안내

가이드 다운로드 오픈API 신청하기

오픈API v0.1

인공지능 데이터 공유·활용 서비스 오픈 API는 공개된 인공지능 데이터셋 정보를 이용자들이 보다 손쉽게 활용 할 수 있도록, 제공하는 개방형 API 서비스 입니다. 제공되는 인공지능 데이터셋 정보는 기관 또는 개인이 자유롭게 활용하여, 다양한 컨텐츠를 생산하는데 도움을 주는데 목적을 두고 있으며, 누구나 손쉽게 데이터를 활용할 수 있도록 웹서비스 방식(JSON/REST)으로 서비스를 제공합니다.

지나치게 잦은 API의 호출로 서버에 과도한 부하가 발생하여 다른 사용자의 이용에 지장을 줄 경우 이용에 제한이 발생할 수 있으니 서비스의 이용 시 주의를 부탁 드립니다.

GET/openapi/data/{dataset_id} 데이터셋 조회 API (데이터셋 상세정보를 제공합니다.)
Parameters
데이터셋 조회 API 파라미터 표 파라미터 이름, 설명
Name Description
key
발급된 인증키
POST/openapi/data/stats 데이터셋 통계 조회 API (데이터셋 활용 통계를 조회합니다.)
Parameters
데이터셋 조회 API 파라미터 표 파라미터 이름, 설명
Name Description
key
발급된 인증키
from
조회 시작 기간 (년: yyyy, 월: yyyyMM)
to
조회 종료 기간 (년: yyyy, 월: yyyyMM)
opt
조회 단위 (년: Y, 월: M)
serviceIds
조회 데이터셋 서비스 ID (List)
GET/openapi/file/{file_id} 데이터 파일 다운로드 API (데이터 파일을 다운로드합니다.)
Parameters
데이터 파일 다운로드 API 파라미터 표 파라미터 이름, 설명
Name Description
key
발급된 인증키
POST/openapi/road_object_detection 도로영상 객체인식 API (주어진 이미지에서 도로영상 관련 13종 객체를 인식하여 결과를 반환함)
Parameters
도로영상 객체인식 API 파라미터 표 파라미터 이름, 설명
Name Description
body object
{
    key: '발급된 인증키',                                             
    img_filename: '이미지파일명',
    img_base64: '이미지파일을 Base64코드로 변환한 값'
}

Parameter content type : application/json

Responses
도로영상 객체인식 API 결과 표 결과 코드, 설명
Code Description
200
[
    [
        '인식객체',
        '신뢰점수(confidence score)',
        [
            '사각형 중심 x 좌표',
            '사각형 중심 y 좌표',
            '인식객체 너비',
            '인식객체 높이'
        ]	    
    ],
    ...
]
[
    [
        'license_plate', 98.06, [1250, 828, 99, 49],
        'license_plate', 98.28, [613, 887, 133, 37],
        'bus', 99.82, [1062, 472, 472, 589],
        'car', 99.85, [559, 780, 439, 246],
    ],
    ...
]

 

 

 

인식객체 : car bus small_truck large_truck bike person cone speedbump pothole crack manhole face license_plate

Response content type : application/json

Example (python3.x)
도로영상 객체인식 API 사용 예시 파이썬 예제 코드

사용방법 : python client.py image.jpg

import base64
import json
import requests
import sys
if __name__ == "__main__":
    $URL = ‘https://aida.kisti.re.kr/openapi/road_object_detection’
    img_filename = sys.argv[1]
    with open(img_filename, 'rb') as img_file:
        my_string = base64.b64encode(img_file.read())
    sending_msg = {"key": "발급된 인증키", "img_filename":img_filename, "img_base64": my_string.decode('utf-8')}
    headers = {"Content-Type" : "application/json"}
    result = requests.post($URL, data = json.dumps(sending_msg), headers = headers)
    print(result.text)
POST/openapi/extract_image_contexts 이미지 콘텍스트 추출API(이미지에서 객제 69종, 상황 33종에 관한 인식결과를 추출하여 반환함)
Parameters
이미지 콘텍스트 추출 API 파라미터 표 파라미터 이름, 설명
Name Description
body object
{
    key: '발급된 인증키',                                             
    img_filename: '이미지파일명',
    img_base64: '이미지파일을 Base64코드로 변환한 값'
}

Parameter content type : application/json

Responses
이미지 콘텍스트 추출 API 결과 표 결과 코드, 설명
Code Description
200
객체 중심 69종의 클래스에 대한 딥러닝 기반 영상 컨텍스트 추출
- 차량(9) : 승용차, 승합차, 버스, 트럭, 나무/가로수, 횡단보도, 가로등, 볼라드, 카트
- 교통신호(5) : 신호등, 교통 표지판, 속도 제한 표지판, 정지 표지판, 주차 고깔
- 교통수단(6) : 비행기, 기차, 자전거, 오토바이, 배, 킥보드
- 사람 및 액세서리(13) : 사람, 남성 얼굴, 여성 얼굴, 사람 감정 5종(무표정/중립, 웃음, 화남, 슬픔, 놀람), 우산, 가방, 모자, 선글라스, 마스크
- 가구(13) : 책상, 의자, 벤치, 액자, 시계, 거울, 침대, 소파, 텔레비전, 화분, 싱크대, 냉장고, 쓰레기통
- 생필품(9) : 병, 컵, 접시, 핸드폰, 노트북, 테스크탑PC, 모니터, 소화기, 피아노
- 음식(5) : 피자, 햄버거, 밥, 국수, 케이크

상황 중심 33종의 클래스에 대한 딥러닝 기반 영상 컨텍스트 추출
- 날씨(5) : 맑음, 흐림, 비, 눈, 안개
- 계절(4) : 봄, 여름, 가을, 겨울
- 상황특성(4) : 실내, 야외, 주행 상황, 자연 환경
- 장소(20) : 교각, 공항, 해안가, 사무실, 공원, 쇼핑몰, 강, 바다, 마트, 기차역, 식당, 도로, 계단, 주차장, 지하철, 공사장, 카페, 논/밭, 에스컬레이터, 터널, 육교
Example (python3.x)
이미지 콘텍스트 추출 API 사용 예시 파이썬 예제 코드
import base64
import base64
import json
import requests
import sys
if __name__ == "__main__":
    $URL = ‘https://aida.kisti.re.kr/openapi/extract_image_contexts’
    img_filename = sys.argv[1]
    with open(img_filename, 'rb') as img_file:
        my_string = base64.b64encode(img_file.read())
    sending_msg = {"key": "발급된 인증키", "img_filename":img_filename, "img_base64": my_string.decode('utf-8')}
    headers = {"Content-Type" : "application/json"}
    result = requests.post($URL, data = json.dumps(sending_msg), headers = headers)
    print(result.text)