Open Tim-Lee0001 opened 2 years ago
예상되는 아두이노 회로도 첨부드립니다
총 서비스에서 AI 카메라의 역할입니다. 참고 부탁드립니다.
Object Detection 결과를 Firebase의 값이랑 어떻게 비교할 것인지도 고민을 해봐야 해서 로직을 정리해 두겠습니다. https://stackoverflow.com/questions/6091567/optimization-from-partial-solution-minimize-sum-of-distances-between-pairs 주어진 문제는 Bipartite graphs maximum-weight matchings Hungarian Algorithm... 에 대해서 공부를 해야할 것 같습니다.
List<LinkedList<Point>>
로 종류별로 물건 List를 구성한다Hungarian Algorithm 못쓸 거 같고... 그냥 아이템 숫자 비교만 하도록 하겠습니다~
ai.dart를 코드를 만들어 두었습니다. 안에 있는 method는 다음과 같습니다.
Future<HashMap<String,int>> detectionNumList(String path) async
path에 image 파일의 위치를 보내주면,
Return으로 아이템 이름을 key로, 갯수를 int로 돌려주는 Map이 돌려집니다.
Future<HashMap<String,int>> firebaseNumList(String unitID, String fridgeID) async
firebase에 unitID와 fridgeID를 이용해 접근해,
return으로 Map을 돌려줍니다.
List<int> calMargin(List<int> nameList, HashMap<String,int> detectList, HashMap<String,int> fireList)
nameList의 순서에 맞게 detect 된 아이템 갯수 - DB에 있는 아이템 갯수를 계산해서 List
Future<void> updateState(String unitID, String fridgeID, List<String> nameList,List<int> margin)async
firebase 아이템들의 상태를 업데이트합니다.
AI 카메라를 설계하는 것과 관련하여 이슈를 오픈했습니다.
현재는 기본적으로 아두이노에서 문열림 감지 -> 블루투스로 정보 전송받은 휴대폰 공기계(카메라)가 사진촬영 -> 해당 모델을 로컬(카메라)에서 AI처리후 -> 결과만 FireBase로 업로드 하는 형식으로 진행하려고 합니다.
관련되어 의견 제시해주시면 좋겠습니다!