비대면 반려견 상담 서비스인 Conveting의 AI 기능을 지원하기 위한 서버입니다.
AI 모델을 실행하는 keras 버전 호환성의 문제로 Python 버전을 3.11이상으로 설정해야 합니다.
pip install django
pip install djangorestframework
pip install mysqlclient
pip install keras
pip install tensorflow# manage.py를 통해 명령어를 수행함
python manage.py migrate
python manage.py showmigrations
# 모든 항목에 x가 표시된다면 준비됨
python manage.py runserverPOST /diagnosis/description/
request 메시지의 body에서 owner, pet, photo, part, 4가지의 key를 통해 데이터를 입력받습니다.
- photo: 진단할 부위의 사진
- part: 진단 부위(피부/안구)
- owner: 사용자 id
- pet: 반려견 이름
진단 부위에 따라서 사용하는 AI 모델이 달라집니다. 따라서 part의 진단 부위에 따라 적절한 모델로 연결하고, photo의 사진을 입력합니다.
현재 모델은 피부 질환 6가지, 안구 질환 8가지를 예측할 수 있습니다.
- 피부
- 구진, 플라크
- 비듬, 각질, 상피성잔고리
- 태선화, 과다색소침착
- 농포, 여드름
- 미란, 궤양
- 결절 종괴
- 안구
- 결막염
- 궤양성 각막질환
- 백내장
- 비궤양성 각막질환
- 색소침착성각막염
- 안검 내반증
- 안검종양
- 유루증
나열된 질환의 순서대로 skin1, skin2, ..., eye1, eye2, .. 의 형식으로 MySQL 데이터베이스에 저장됩니다. 모델은 각 질환의 확률을 반환하며, 피부 사진에 대한 진단인 경우 피부 질환에 대한 확률만을 반환합니다. 안구 사진에 대해서는 안구 질환의 확률을 반환합니다.
반환된 각 확률에 대해서 가장 높은 2개의 질환을 사용자에게 response로 제공합니다. 두 질환의 이름과 증상, 대처법에 대하여 간략하게 정리된 안내문을 함께 제공합니다.
- 구진(Papule), 플라크(Plaque)
- 주요 증상:
- 구진: 작은 돌출부로, 일반적으로 붉거나 피부색과 유사하다.
- 플라크: 더 큰 평평한 돌출부로, 보통 여러 구진이 뭉쳐서 생긴다. 피부가 두꺼워지고 경계가 명확해지는 특징이 있다.
- 대처법:
- 알레르기, 기생충(벼룩, 진드기), 감염 등이 원인이 될 수 있다.
- 피부 자극을 줄이기 위해 처방된 연고나 항히스타민제를 사용할 수 있다.
- 알레르기나 감염이 의심될 경우, 수의사에게 진단과 치료를 받는 것이 필요하다.
- 비듬(Dandruff), 각질(Keratosis), 상피성잔고리(Epidermal Collarette)
- 주요 증상:
- 비듬: 피부가 건조해지면서 작은 피부 조각이 떨어져 나온다.
- 각질: 피부가 두꺼워지면서 거칠고 딱딱한 표면을 형성한다.
- 상피성잔고리: 세균 감염이나 기생충 감염 후, 피부가 원형 또는 타원형으로 탈락하며 생기는 피부층의 잔고리다.
- 대처법:
- 피부 보습제를 사용하여 건조한 피부를 관리한다.
- 비듬이 심한 경우, 수의사 처방의 샴푸를 사용한다.
- 감염이 의심될 경우, 항생제 또는 항진균제 치료가 필요할 수 있다.
- 태선화(Lichenification), 과다색소침착(Hyperpigmentation)
- 주요 증상:
- 태선화: 반복적인 자극으로 피부가 두꺼워지고, 주름이 깊어지며 거칠어진다.
- 과다색소침착: 피부에 과도한 멜라닌이 축적되면서 피부 색이 어두워진다.
- 대처법:
- 원인 제거가 가장 중요하다.
- 피부를 자주 긁는 행동을 줄이기 위해 처방된 약물이나 피부 보호대를 사용할 수 있다.
- 감염이나 알레르기가 원인이라면, 이를 치료하기 위한 약물을 사용해야 한다.
- 농포(Pustule), 여드름(Acne)
- 주요 증상:
- 농포: 고름이 차 있는 작은 물집으로, 보통 염증의 징후다.
- 여드름: 모낭의 염증으로 인해 작은 혹이나 고름이 차오르는 것이 특징이다.
- 대처법:
- 감염이 의심될 경우 항생제를 사용할 수 있으며, 여드름의 경우 처방된 연고나 샴푸를 사용할 수 있다.
- 모낭 염증의 근본 원인을 치료하기 위해 수의사와 상담하여 치료법을 찾는다.
- 피부를 청결히 유지하고, 모낭염을 악화시키는 요인을 피하는 것이 중요하다.
- 미란(Erosion), 궤양(Ulcer)
- 주요 증상:
- 미란: 표피의 손상으로 인해 피부가 얇아지고 붉어진다.
- 궤양: 피부의 깊은 층까지 손상되어 상처가 깊게 패인다.
- 대처법:
- 미란이나 궤양 부위를 청결하게 유지하고, 2차 감염을 예방하는 것이 중요하다.
- 처방된 연고나 항생제 사용이 필요할 수 있으며, 감염이 심한 경우 수의사에게 치료를 받아야 한다.
- 상처가 치유될 때까지 해당 부위를 보호하고, 자극을 최소화하는 것이 중요하다.
- 결절(Nodule), 종괴(Mass)
- 주요 증상:
- 결절: 피부 밑에 생기는 단단한 덩어리로, 크기와 모양이 다양할 수 있다.
- 종괴: 큰 덩어리 형태로 나타나며, 양성 또는 악성일 수 있다.
- 대처법:
- 빠르게 수의사와 상담하여 진단을 받는 것이 중요하다.
- 필요시 세포검사를 통해 결절이나 종괴의 성격을 파악하고, 추가적인 치료를 계획할 수 있다.
- 수술이 필요할 수 있으며, 치료 후 재발 여부를 모니터링하는 것이 중요하다.
- 결막염 (Conjunctivitis)
- 주요 증상:
- 눈의 결막이 붉어지고 부어오른다.
- 눈에서 투명하거나 노란색의 분비물이 나온다.
- 눈이 가렵거나 눈물 분비가 많아지며, 강아지가 눈을 자주 긁거나 비비는 모습을 보인다.
- 대처법:
- 결막염의 원인(알레르기, 세균, 바이러스 등)에 따라 항생제나 항히스타민제, 소염제 등이 필요할 수 있다.
- 눈을 청결하게 유지하고, 수의사가 처방한 안약이나 연고를 사용하여 감염을 치료한다.
- 궤양성 각막질환 (Ulcerative Keratitis)
- 주요 증상:
- 각막에 궤양이 생기며, 눈이 흐려진다.
- 눈이 아프고 민감해지며, 눈물이 과도하게 흐른다.
- 대처법:
- 항생제 안약이나 연고를 사용하며, 수술이 필요할 수 있다.
- 눈의 상처를 보호하고 2차 감염을 예방하기 위해 보호대를 사용할 수 있다.
- 상태가 심각하거나 악화될 경우, 즉시 수의사의 치료가 필요하다.
- 백내장 (Cataract)
- 주요 증상:
- 눈의 수정체가 흐려지며, 시야가 흐려진다.
- 강아지가 시각적 장애를 겪으며, 물체에 부딪히거나 방향 감각을 잃을 수 있다.
- 눈동자가 희게 변색되거나 혼탁해지는 모습이 관찰된다.
- 대처법:
- 백내장이 진행된 경우, 수술을 통해 수정체를 제거하거나 교체할 수 있다.
- 진행을 늦추기 위해 항산화제나 항염증제를 사용할 수 있다.
- 비궤양성 각막질환 (Non-ulcerative Keratitis)
- 주요 증상:
- 각막이 흐려지거나 부어오르며, 눈이 민감해진다.
- 눈물이 많이 나고, 가려움이나 불편함이 있을 수 있다.
- 대처법:
- 항염증제나 면역억제제 안약을 사용하여 염증을 억제한다.
- 원인을 찾아내고 그에 맞는 치료를 진행한다.
- 필요시 눈 보호대를 사용하여 추가적인 자극을 방지한다.
- 색소침착성 각막염 (Pigmentary Keratitis)
- 주요 증상:
- 각막에 갈색 또는 검은색의 색소가 침착되며, 시력이 점차 저하된다.
- 눈이 자극받거나 염증이 있을 때 발생한다.
- 각막이 혼탁해지고, 심한 경우 실명할 수 있다.
- 대처법:
- 항염증제나 면역억제제를 사용하여 염증과 색소침착을 억제한다.
- 보호대를 사용하거나 외과적인 치료를 통해 원인을 제거할 수 있다.
- 수의사와 상의하여 치료 계획을 세우고, 지속적인 관찰이 필요하다.
- 안검 내반증 (Entropion)
- 주요 증상:
- 눈꺼풀이 안쪽으로 말려들어가 속눈썹이나 피부가 각막을 자극한다.
- 눈물이 많이 나고, 눈이 붉어지며 각막에 상처가 생길 수 있다.
- 통증이 있고, 강아지가 눈을 자주 감거나 비비는 모습을 보인다.
- 대처법:
- 심한 경우 수술을 통해 눈꺼풀을 교정할 수 있다.
- 경미한 경우 인공 눈물을 사용하여 눈을 보호하고, 수의사의 지시에 따라 적절한 치료를 진행한다.
- 안검종양 (Eyelid Tumor)
- 주요 증상:
- 눈꺼풀에 혹이나 덩어리가 생기며, 크기와 모양은 다양하다.
- 눈꺼풀이 붓고, 통증이나 출혈이 있을 수 있다.
- 종양의 성격에 따라 양성 또는 악성일 수 있다.
- 대처법:
- 종양이 발견되면, 수의사에게 검사를 받아 종양의 성격을 파악해야 한다.
- 필요시 종양을 제거하는 수술을 진행할 수 있다.
- 종양의 성격에 따라 추가적인 치료가 필요할 수 있다.
- 유루증 (Epiphora)
- 주요 증상:
- 눈물이 과도하게 흐르고, 눈 주위의 털이 젖거나 변색된다.
- 눈물이 고여 피부염을 유발할 수 있으며, 눈 주위가 자주 붉어진다.
- 눈물의 과다 분비가 구조적인 문제나 눈 자극으로 인해 발생할 수 있다.
- 대처법:
- 원인을 파악하여 눈물 배출로를 개선하거나 눈 자극을 줄이는 치료를 진행한다.
- 눈 주위를 청결히 유지하며, 필요시 항생제 연고나 점안액을 사용한다.
- 상태가 심할 경우, 수술을 통해 교정할 수 있다.
GET /diagnosis/history/?user_id={owner}
request 메시지의 쿼리 파라미터를 통해 사용자 id를 입력받습니다. 데이터베이스에서 해당 user_id가 실행한 진단을 모두 조회하여 진단 결과와 같은 형식으로 전처리 후, reponse로 반환합니다.
[
{
"disease": "결절, 종괴",
"symptom": "결절은 피부 밑에 생기는 단단한 덩어리로 크기와 모양이 다양할 수 있고, 종괴는 큰 덩어리 형태로 나타나며 양성 또는 악성일 수 있다.",
"cure": "빠르게 수의사와 상담하여 진단을 받는 것이 중요하며, 필요시 세포검사를 통해 결절이나 종괴의 성격을 파악하고 추가적인 치료를 계획할 수 있으며, 수술이 필요할 수 있고 치료 후 재발 여부를 모니터링하는 것이 중요하다.",
"photo": "/-/-.jpeg",
"part": "skin",
"pet": "1723804847494"
},
{
"disease": "농포, 여드름",
"symptom": "농포는 고름이 차 있는 작은 물집으로 보통 염증의 징후이며, 여드름은 모낭의 염증으로 인해 작은 혹이나 고름이 차오르는 것이 특징이다.",
"cure": "감염이 의심될 경우 항생제를 사용할 수 있으며, 여드름의 경우 처방된 연고나 샴푸를 사용할 수 있고, 모낭 염증의 근본 원인을 치료하기 위해 수의사와 상담하여 치료법을 찾으며, 피부를 청결히 유지하고 모낭염을 악화시키는 요인을 피하는 것이 중요하다.",
"photo": "/-/-.jpeg",
"part": "skin",
"pet": "1723804847494"
}
]