JEoN-Ha / Senior-Project

4학년 졸업작품
MIT License
1 stars 3 forks source link

URL에 접속하면 Image가 보이는데, 이는 서버에서 동작하도록 한 것 인가요?? #77

Closed fora22 closed 3 years ago

fora22 commented 3 years ago

멘토님 현재 예제 사이트를 해보고 있는데 URL에 접속하면 이미지가 보입니다!!

이는 서버에서 작업을 한 것인가요? 또 이렇게 HTML 로 저희가 직접 만들 수 있나요?

jongfeel commented 3 years ago

질문이 잘 이해가 가지 않는데

예제 사이트에서 어떤 걸 진행했고, 어떻게 실행을 해서 결과가 나왔는지 부터 얘기해 주시는게 좋을 것 같습니다.

fora22 commented 3 years ago

질문이 잘 이해가 가지 않는데

예제 사이트에서 어떤 걸 진행했고, 어떻게 실행을 해서 결과가 나왔는지 부터 얘기해 주시는게 좋을 것 같습니다.

아 사실 예제랑 상관 없어보여서 설명 하지 않았는데, 예제 내용은 이렇습니다.

위의 URL에 접속하면 이미지가 보이는데 이 url을 가지고 azure 이미지 서버 api 를 이용하여 OCR 을 진행하는 예제입니다.

실행해보니 정상 동작 합니다. 근데 갑자기 이미지를 저렇게 URL로 표시한다는게 html의 <image> 태그를 쓰면 자동으로 URL이 나오는건지, 아니면 따로 서버에서 어떤 처리를 해야하는지 궁금해서 Issue 올린 겁니다!

jongfeel commented 3 years ago

예제를 해보셨다는게 OCR 예제군요. 아마 이상한 글자 혹은 잘 안보이는 글자가 있는 이미지 아닌 이상 잘 동작할 겁니다.

HTTP와 Host, Route path에 대한 이해가 부족해서 그런 듯 한데, 서버 파일 경로 설정에 대해 좀 찾아보시면 좋을 것 같습니다. HTTP를 쓰고 있기 때문에 설명을 드리면 이미지가 있는 URL은 서버의 어떤 리소스를 접근하기 위한 주소라고 보면 됩니다.

https://en.wikipedia.org/wiki/URL

모르셨을 수도 있지만 URL 만드는 syntax structure도 있습니다.

결국 여러분이 서비스하는 서버의 host 주소 + route path를 더한 경로(URL)에 정적으로 이미지 파일을 두면 클라이언트인 웹 브라우저가 http를 통해 요청하고 파일을 가져온뒤 이미지가 보이도록 보여주는 역할을 하는 것입니다.

jongfeel commented 3 years ago

정적으로 이미지 파일을 둔다는 걸 몰라서 헤메실것 같아 Node express 문서 링크도 남겨둡니다.

https://expressjs.com/ko/starter/static-files.html

fora22 commented 3 years ago

아 이해한 것 같습니다. 그럼 저희 프로젝트에서 적용할려면 일단 Server 쪽에서 app.use(express.static(__dirname+'/carimage')) 를 해주고, Web Server 에 Deploy한 후 Web URL에 http://서버URL:포트/carimage/car.png 식으로 접속할 수 있겠군요!

jongfeel commented 3 years ago

생각해 보면 image url 말고 실제 이미지 데이터를 주는 방법도 있어요. Azure API에 url 받아서 처리하는 방법 말고도 binary로 받는 것도 있을 겁니다.

이런 방식을 쓰면 서버에 이미지를 업로드 하지 않아도 되고, 바로 Azure API에 줘도 됩니다.

fora22 commented 3 years ago

https://github.com/Azure-Samples/cognitive-services-quickstart-code/blob/dc3e2fc383f69bb22d0c83803f69c860f67f12b4/javascript/ComputerVision/ComputerVisionQuickstart.js#L543-L667

네 Image파일로 처리하는 방법은 찾았습니다!

대신 api 최소한 호출을 위해 조금 고민되네요.

jongfeel commented 3 years ago

차량을 정차 시키는 장치인 차단막을 설치해서 세우고 그 틈에 번호판 사진을 찍어서 인식하면 되지 않을까 합니다.

차가 왔다는 걸 인식하는 건 진짜로 학습 모델에 학습 시켜야 하는 문제도 있고 차의 온전한 부분이 아닌 일부분만 인식했을때도 차라고 인식시켜야 하는 것도 문제기 때문에 차를 어떻게든 정차시키고 난 다음에 해결하는 방향으로 하면 좋을 것 같습니다.

아니면 이미지 프로세싱이 아니라 라이다 센서 같은 걸로 해결하는 방법도 있을 수 있습니다. 라이다 센서가 거리 측정을 하는 모듈이니까 차가 들어오면 거리가 가까워질거고 그 거리로 차가 들어왔다는 걸 판단하는 거죠.

또 번호판 인식의 경우 차량 마다 번호판 위치가 다르므로 모든 차들의 번호판 위치를 맞추기 위해 개발하다 보면 힘들 수 있습니다. 그래서 인식이 잘 되는 특정 차량 몇 대만 선정해서 잘 되게 만드는 최적화 작업도 하시면 좋을 것 같네요.