Page 470 - 2020학년도 MDP과제발표회 자료집 (통신과) (3)
P. 470
eval.py 는 train.py 에서 학습한 모델을 바탕으로 주어진 사진에 대하여 개의 라벨중 하나로 분류하는 코드5
이다.
2) 사물인식
Yolov2 를 Tensorflow 에서 사용할 수 있도록 Darkflow 를 사용하였다.
아래의 코드는 해당 라이브러리를 활용하여 작성한 코드 중 일부이다.
darkflow.py
from darkflow.net.build import TFNet
import cv2
import matplotlib.pyplot as plt
import numpy as np
options = {"model": "cfg/yolov2-tiny.cfg", "load": "bin/yolov2-tiny.weights", "threshold": 0.1}
tfnet = TFNet(options)
imgcv = cv2.imread("./data/car/test4.jpg")
result = tfnet.return_predict(imgcv)
print(str(result))
if 'car' in str(result):
print(" 자동차가 인식")
darkflow.py 는 하나의 사진을 주어 그 사진 속 사물들을 검출하는 코드이다.
미리 학습되어있는 Yolov2.weight 파일을 불러와서 사진을 넘겨준 후 해당 사진에서 최대 10 개의 사진을
검출해 낸다.
3) 안드로이드
이번 프로젝트에서 가장 중요한 코드이다 다른 서버와의 통신 혹은 우리 서버와의 소켓통신을 위한 코드. ,
이다.
SocketManager 라는 java 파일을 만들어 놓은 후 다른 , java 파일에서 해당 파일을 참조한다 모두 중요.
한 코드이므로 전부 첨부한다.
public class SocketManager implements Serializable {
private String IP;
490 인천전자마이스터고등학교 - 490 -
정보통신기기과