오늘의 한일
- 사물인식 프로젝트 - 마무리
사물인식 프로젝트
https://github.com/Taeeun99/sparta_PetDictionary_2L3J_project2
트러블슈팅
output 페이지를 임시로 조정해서 예 아니오 버튼을 누를 시 하나의 이미지에 다수의 ResearchModel이 생성되는 문제가 있었다.
one to one 모델로 엮어도 되겠지만 굳이 이게 나뉘어야 할 모델인가? 하는 근본적인 의문이 들어 InputModel에 모두 집어넣어 id를 불러오는 방식으로 해결했다..만 다른 문제가 또 생겼으니
사물인식 에러 + 에러시 InputModel에 부가정보 없이 저장됨
사물인식이 모종의 이유로 에러가 날때마다 imgfile 외 모든 데이터가 Null인채로 저장되는 문제가 발생했다..
문제의 원인인 사물인식 모델 에러는 역량이 미치질 않아 고치지 못했고, imgfile 외의 데이터가 Null인 점을 이용해서 InputModel.delete() 를 하려고 했으나 Input 함수 실행중 에러가 나고, 저장 시점이 어떻게 되는지 정확히 알지 못해 실패했다..
임시방편으로 imgfile의 클래스를 분리시켜 에러가 발생해도 그 외의 데이터들이 엮이는 일이 없게 만들어 정확도 수집에는 문제가 없도록 해결..
class Image(models.Model):
# 이미지 파일 업로드
imgfile = models.ImageField(null=False, upload_to="input/", blank=False)
class InputModel(models.Model):
# 품종이름
img_data = Base64Field(max_length=900000, blank=True, null=True)
# 사물인식 파일(base64 인코딩)
species = models.CharField(max_length=20, blank=True, null=True)
# 종
breed = models.CharField(max_length=20, blank=True, null=True)
# 품종
search_link = models.CharField(max_length=500, blank=True, null=True)
# 서치링크
correct = models.BooleanField(default=True)
# 검색된 품종 이름
pet_result = models.CharField(max_length=20)
# 품종이름이 다를때 (기존 이미지 분석의 결과값)
사물인식의 경우 모델생성 없이 다이렉트로 받는 이미지를 yolo모델로 보내는게 맞지 않나 싶은데 이걸 views.py가 아닌 다른 py에 넣어서 돌리는 방법을 모르겠다.. 처음부터 다시 진행하자니 이미 프로젝트가 막바지기도 했고.. 살짝 아쉬움으로 남네요..