본문 바로가기
과학/인공지능

간단한 인공지능 프로그램 만들기(3) - 이미지 인식

by 루민즈 2022. 6. 15.

안녕하세요 

이번엔 파이썬으로 

사진 인식 인공지능 프로그램을 만들어 봅시다. 

 

공공 인공지능 데이터는 

https://aiopen.etri.re.kr/

를 참고하였습니다. 

 

위 사이트에 들어가서 
아래와 같이 클릭해서 들어가 주세요 

 

이미지 인식 기술

그다음 밑으로 스크롤 내려가 보면 

파이썬 예제코드가 있습니다. 

 

# -*- coding:utf-8 -*-
import urllib3
import json
import base64

openApiURL = "http://aiopen.etri.re.kr:8000/ObjectDetect"
accessKey = "41446bb1-571d-46da-a99a-d31805fc7111"
imageFilePath = "C:\photo/car.jpg"
type = "jpg"

file = open(imageFilePath, "rb")
imageContents = base64.b64encode(file.read()).decode("utf8")
file.close()

requestJson = {
    "access_key": accessKey,
    "argument": {
        "type": type,
        "file": imageContents
    }
}

http = urllib3.PoolManager()
response = http.request(
    "POST",
    openApiURL,
    headers={"Content-Type": "application/json; charset=UTF-8"},
    body=json.dumps(requestJson)
)

print("[responseCode] " + str(response.status))
print("[responBody]")
print(response.data)

 

 

여기서 imageFilePath는 자신의 이미지 파일이 있는 디렉터리로 입력해주세요 

그리고 타입은 jpg로 해주세요 

 

저는

"C:\photo/car.jpg"

photo에 있는 car.jpg 파일을 인식시킬려고 합니다. 

이 파일은 차량이 있는 사진 파일인데요 

아래처럼 생겼습니다. 

 

 

 

 

보시다시피 차량이 3대 있는 파일입니다. 

이 파일을 가지고 인식을 시켜보면 다음과같은 코드가 나옵니다. 

 

 

 

{
   "result":0,
   "return_object":{
      "data":[
         {
            "class":"car",
            "confidence":"0.997981",
            "x":"182",
            "y":"170",
            "width":"247",
            "height":"147"
         },
         {
            "class":"car",
            "confidence":"0.995909",
            "x":"4",
            "y":"98",
            "width":"195",
            "height":"109"
         },
         {
            "class":"car",
            "confidence":"0.876034",
            "x":"477",
            "y":"178",
            "width":"72",
            "height":"105"
         }
      ]
   }
}"'"

 

지금 보시면 클래스에 car로 되있고 car  클래스가 3개 있습니다. 

위 사진도 차량이 3대가 있는데 똑같이 car 클래스도 3개가 있는 걸 확인할 수 있습니다. 

그리고 confidence는 신뢰성입니다. 신뢰성이 1이면 100프로 맞다는건데 

1에 가까운 수치를 보여주고 있습니다. 

 

굳이 차가 아니어도 여러가지 객체를 인식할 수 있는데요 

공공 인공지능 데이터는 아래와 같은 객체들을 인식할수있다고합니다. 

 

총 80개가 있네요 이정도면 웬만한 건 다 파악할 수 있을 듯싶습니다. 

 

728x90
반응형