SDGs #7 : Affordable and Clean Energy
HTTP 메서드 | POST |
---|---|
목적 | 이미지 분석 후 태양광 패널 탐지 결과 저장 |
요청 파라미터 | imageFile (File): 분석할 이미지 (필수)confidence (String): 신뢰도 임계값 (선택)nmsThreshold (String): NMS 임계값 (선택) |
응답 필드 | message (String): 성공/실패 메시지detections (Array): 탐지된 객체 리스트 (label, confidence, coordinates)s3Url (String): 처리된 이미지 URL (S3) |
HTTP 메서드 | GET |
---|---|
목적 | 저장된 이미지 탐지 결과 조회 (날짜 범위 필터링) |
요청 파라미터 | startDate (String): 시작 날짜 (선택)endDate (String): 종료 날짜 (선택) |
응답 필드 | detections (Array): 탐지된 결과 리스트message (String): 성공/실패 메시지 |
HTTP 메서드 | POST |
---|---|
목적 | Base64 인코딩된 이미지 S3 업로드 |
요청 파라미터 | file (String): Base64로 인코딩된 이미지 (필수) |
응답 필드 | message (String): 성공/실패 메시지fileUrl (String): 업로드된 이미지 URL (S3) |
AI 서버로 가는 통신 비용을 감소하기 위해서 Next.js를 통해서 클라이언트와 서버를 한번에 구성했습니다. 해당 서비스의 특성상, 다수의 사람이 이를 사용하는 것이 아니라 각 태양광 패널을 소유한 기업이나 관리자가 이를 관제하는 것이 목적이기 때문에, 통신 비용을 최소화하는 것이 매우 중요합니다.
- S3 버킷에 이미지 데이터 저장: 사용자가 업로드한 태양광 패널의 사진을 안전하게 저장하고 관리할 수 있습니다. S3의 확장성과 안정성을 활용하여 데이터의 손실 없이 장기적으로 관리 가능합니다.
- Prisma를 통한 데이터 영구 저장: AI 서버에서 분석된 결과는 실시간으로 사용자에게 제공되어, 패널의 상태(오염 및 균열)를 정확하게 알려줍니다. Prisma ORM을 사용하여 데이터베이스와의 원활한 통신을 지원합니다.
- 카메라로 송출되는 화면 분석: 실시간으로 카메라 화면을 프레임 단위로 분석하여 일정 시간마다 패널 상태를 자동으로 확인합니다. AI 모델을 활용하여 패널의 오염 및 균열을 빠르고 정확하게 식별합니다.
- 이미지 업로드를 통한 분석: 사용자가 직접 이미지를 업로드하여 태양광 패널의 오염 및 손상 정도를 빠르게 확인할 수 있습니다. 이미지 분석 후, 오염이나 균열 여부를 상세히 보고합니다.
해당 서버는 Vercel 을 통해서 Server와 Client 가 통합 배포되었으며, 이를 통해서 별다른 백엔드 서버 없이 AI와의 통신을 가능하게 합니다.