Skip to content

Nexuscore-Partner/arbormind-ai

Repository files navigation

🌳 ArborMind AI

공원을 측정 가능한 탄소 자산으로 전환합니다

ArborMind AI는 공원 이미지를 식생 타입으로 공간 분해하고, 면적 기반 탄소흡수 리포트(PDF + Word)를 자동 생성하는 End-to-End 플랫폼입니다.


📋 목차


프로젝트 소개

핵심 가치

"공원의 식생을 정량화하고, 탄소 자산으로 전환합니다"

  • ✅ 항공/드론 이미지 업로드
  • ✅ AI 기반 식생 타입 분류 (TREE, SHRUB, GRASS, NONVEG)
  • ✅ 면적 자동 계산
  • ✅ 탄소흡수량 추정
  • PDF + Word 리포트 자동 생성

현재 버전

v1.0 - Streamlit 프로토타입 (1단계)

  • Streamlit 기반 올인원 솔루션
  • 혼자 개발 가능한 구조
  • 핵심 기능 검증 및 시연용

주요 기능

1. 이미지 업로드 및 분석

  • 드론/항공 사진 업로드 (JPG, PNG)
  • 공원 기본 정보 입력 (공원명, 위치, 면적)
  • 원클릭 분석 실행

2. 식생 타입 분류

4가지 타입으로 자동 분류:

  • 🌳 TREE (교목)
  • 🌿 SHRUB (관목)
  • 🌾 GRASS (초지/잔디)
  • NONVEG (비식생)

3. 면적 계산

  • 타입별 픽셀 비율 계산
  • 총 면적 입력 시 실제 면적(㎡) 산출
  • 합계 검증

4. 탄소흡수량 추정

  • 면적 × 타입별 계수 방식
  • 연간 탄소흡수량 (tCO₂/yr) 계산
  • 타입별 기여도 분석

5. 🔴 리포트 자동 생성 (필수 2종)

PDF 리포트

  • 공원 기본 정보
  • 식생 면적 요약 표
  • 탄소 계산량 (총량 + 타입별)
  • 항공 사진 분석 이미지 (원본 + 오버레이)
  • 산정 방법 및 한계

Word 리포트

  • PDF와 동일한 내용
  • 편집 가능한 형식
  • 행정 보고서 제출용

설치 방법

1. 사전 요구사항

  • Python 3.10 이상
  • pip

2. 레포지토리 클론

git clone https://github.com/your-repo/arbormind-ai.git
cd arbormind-ai

3. 가상환경 생성 (권장)

python -m venv venv

# Windows
venv\Scripts\activate

# Mac/Linux
source venv/bin/activate

4. 패키지 설치

pip install -r requirements.txt

사용 방법

1. 애플리케이션 실행

streamlit run app.py

브라우저에서 자동으로 http://localhost:8501 이 열립니다.

2. 사용 흐름

  1. 새 분석 페이지에서 시작
  2. 항공 사진 업로드 (drag & drop)
  3. 공원 정보 입력
    • 공원명 (필수)
    • 위치 (필수)
    • 총 면적 (선택, 권장)
  4. [분석 실행] 클릭
  5. 결과 확인
    • 식생 타입별 면적
    • 오버레이 이미지
    • 탄소흡수량
  6. PDF / Word 리포트 다운로드

3. 예시 화면

🌳 ArborMind AI
─────────────────────────────────────
📋 메뉴
  ◉ 새 분석
  ○ 분석 결과
  ○ 정보
─────────────────────────────────────

🆕 새 분석

1. 항공 사진 업로드
[파일 업로드 영역]

2. 공원 정보 입력
공원명: [ 서울숲 ]
위치: [ 서울시 성동구 ]
총 면적(㎡): [ 12000 ]

[🚀 분석 실행]

프로젝트 구조

park/
├── app.py                          # 메인 Streamlit 앱
├── requirements.txt                # 패키지 목록
├── PRD.md                          # 프로젝트 문서
├── README.md                       # 이 파일
│
├── models/                         # AI 모델
│   ├── __init__.py
│   └── weights/                   # 모델 가중치
│
├── utils/                          # 유틸리티
│   ├── __init__.py
│   ├── image_processor.py         # 이미지 처리
│   ├── area_calculator.py         # 면적 계산
│   ├── carbon_calculator.py       # 탄소 계산
│   └── report_generator.py        # PDF + Word 생성
│
├── data/                           # 데이터
│   └── carbon_coefficients.csv    # 탄소 계수
│
├── uploads/                        # 업로드 이미지
├── results/                        # 분석 결과
│   ├── overlays/                  # 오버레이 이미지
│   └── json/                      # 결과 JSON
│
└── reports/                        # 생성된 리포트
    ├── pdf/                       # PDF 파일
    └── word/                      # Word 파일

개발 로드맵

🎯 1단계: Streamlit 프로토타입 (현재)

  • 프로젝트 구조 설계
  • Streamlit UI 구현
  • 이미지 업로드 및 전처리
  • 세그멘테이션 모델 통합
  • 오버레이 이미지 생성
  • 면적 계산 로직
  • 탄소 계산 로직
  • PDF 리포트 생성
  • Word 리포트 생성
  • 시연 준비

목표: 6주 내 완성

🚀 2단계: 완전 개발 (추후)

  • React + FastAPI 풀스택
  • 멀티 유저, 권한 관리
  • 데이터베이스 (PostgreSQL)
  • 클라우드 배포 (AWS/GCP)
  • CI/CD 파이프라인
  • 상용화 수준 정확도

기술 스택

Frontend + Backend

  • Streamlit - All-in-One 플랫폼

이미지 처리

  • OpenCV
  • Pillow
  • NumPy
  • scikit-image

리포트 생성

  • ReportLab (PDF)
  • python-docx (Word)
  • matplotlib / plotly (차트)

데이터 처리

  • pandas
  • SQLite (로컬 DB)

필수 내용

🔴 리포트에 반드시 포함되어야 할 내용

  1. 탄소 계산량

    • 총 탄소흡수량 (tCO₂/yr)
    • 타입별 탄소 기여도
  2. 항공 사진 분석 이미지

    • 원본 이미지
    • 오버레이 이미지 (세그멘테이션 결과)
    • 컬러 범례

주의사항

MVP 목표

  • ✅ 정확도 경쟁 X
  • 결과물 생성
  • ✅ 파이프라인 완결성
  • ✅ 설명 가능성

개발 우선순위

  1. 오버레이 이미지 생성 (가장 중요)
  2. 탄소 계산 로직
  3. PDF + Word 리포트 생성
  4. UI 예쁘게 만들기 (마지막)

라이선스

이 프로젝트는 비공개 프로젝트입니다.


문의

프로젝트 관련 문의사항이 있으시면 연락주세요.


ArborMind AI v1.0 - Streamlit 프로토타입
Last Updated: 2025-01-05

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published