AI Habilitar Estacionamiento de Automóviles-1

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 44

AI HABILITA EL APARCAMIENTO UTILIZANDO

OPENCV NAAN MUDHALVAN

ID DEL EQUIPO: NM2023TMID23180


NOMBRE DE LA UNIVERSIDAD:
COLEGIO DE INGENIERÍA Y TECNOLOGÍA
ANNAI MIRA

MIEMBROS DEL EQUIPO:


NOMBRE DEL
1. YUVARAJ S (LÍDER DEL EQUIPO) ESPECIAL:
2. IJAY ANAND R Dr.D SARAVANAN, PhD
3. RISHIRAJ V NOMBRE DEL
4. SANTOS V MENTOR: Sra.A
SATHYA, YO
INTRODUCCIÓN:
Encontrar disponibilidad de aparcamiento para un periodo de tiempo
concreto es un trabajo muy tedioso en zonas urbanas. El gobierno indio
ahora se centra en el proyecto de ciudad inteligente y ya ha publicado el
nombre de la ciudad para un próximo proyecto de ciudad inteligente. En las
aplicaciones de ciudades inteligentes, el sistema de transporte inteligente
(ITS) juega un papel importante: encontrar un lugar de estacionamiento,
específicamente para que el propietario del automóvil evite el cómputo del
tiempo y la congestión del tráfico, será muy importante. En este artículo,
proponemos un sistema de aparcamiento inteligente para la ciudad
inteligente utilizando Circle Hough Transform (CHT). Palabras clave:
sistema de transporte inteligente (ITS), transformación circular de Hough
(CHT), detección de círculos, procesamiento de imágenes de vídeo, ciudad
inteligente, sistema de estacionamiento, OpenCV. Porque el control del
tráfico actual y su gestión es una tendencia reciente en el desarrollo de la
investigación. En este artículo, nos centramos en el componente de
estacionamiento del parámetro de tráfico. El tráfico está muy
congestionado desde la última década debido al aumento cada vez mayor
de las ofertas de las empresas de automóviles a los clientes, la privatización
de eso, principalmente cada vez más utilizado en la actualidad en
comparación con la década pasada y también está aumentando en el futuro,
puede ser con la misma o más velocidad. Entonces, ¿ahora el gobierno está
pensando en cómo resolver este problema en tiempo real? Dentro del
tiempo especificado.
1.1 DESCRIPCIÓN DEL PROYECTO

S.NO TEMAS

1 INTRODUCCIÓN

2 IDEACIÓN Y SOLUCIÓN PROPUESTA

3 ANÁLISIS DE REQUISITOS

4 DISEÑO DE PROYECTO

5 CODIFICACIÓN Y
SOLUCIÓN

6 RESULTADOS

7 VENTAJAS DESVENTAJAS

8 CONCLUSIÓN

9 ALCANCE FUTURO

10 APÉNDICE
1.2 OBJETIVO :
Permite a los operadores y empresas de aparcamientos realizar un
seguimiento de sus instalaciones, entrada de vehículos e informes en
tiempo real de la disponibilidad de plazas de aparcamiento . Esto ayuda a
las empresas a gestionar sus parques en un centro digital central que se
ofrece con software de aparcamiento .

1. Tecnología Superior
Los sistemas de gestión de aparcamientos son conocidos por su
integración con la tecnología. La mayoría de estos sistemas se basan en
modelos mejorados e innovaciones tecnológicas, por lo que son aptos para
su uso en diversos aparcamientos.
2. Mejor experiencia de estacionamiento
Una mejor gestión del aparcamiento significa clientes más satisfechos. Un
sistema de gestión de aparcamiento mejora el recorrido del cliente
proporcionándole un procedimiento unificado.
3. Mayor protección
Los sistemas de gestión de estacionamiento tienen características de
seguridad tecnológicamente avanzadas que le permiten evitar el uso
indebido del estacionamiento y actividades sospechosas en su
estacionamiento.
4. Reducción del tráfico y la contaminación.
Los vehículos que siguen dando vueltas en una zona en busca de una plaza
de aparcamiento vacía provocan la mayor parte del tráfico de la ciudad.
Además, conducir mucho tiempo o esperar a que quede libre una plaza de
aparcamiento consume una gran cantidad de combustible y libera
emisiones a diario.
5. Fácil implementación y gestión
Otro de los beneficios de un sistema de gestión de estacionamiento es que
se puede diseñar e implementar de manera eficiente. Estos sistemas tienen
una estructura bien organizada.
6. Económico
Otra ventaja que se obtiene al instalar un sistema de gestión de
aparcamiento inteligente es el coste. Funciona con poca mano de obra, por
lo que puedes ahorrar dinero y tiempo.
7. Utiliza software y aplicaciones integradas.
Las soluciones de gestión de aparcamientos utilizan software y
aplicaciones que se pueden combinar entre sí. Dependiendo de los
requisitos de su aparcamiento, hay muchas personalizaciones disponibles.
2. IDEACIÓN Y SOLUCIÓN PROPUESTA:

2.1 DEFINICIÓN DEL DECLARACIÓN DEL PROBLEMA:

Planteamiento del problema: IA habilita el estacionamiento de automóviles


usando Open CV:
Mediante el uso de sensores ultrasónicos se podrá mantener un registro del
número de automóviles estacionados dentro de un estacionamiento . En
consecuencia, una vez que un automóvil ingresa a un estacionamiento seguido de
un espacio de estacionamiento, un sensor ultrasónico de ping podrá determinar si
un automóvil está estacionado en el espacio o no .
2.2 LIENZO DEL MAPA DE EMPATÍA:
2.3 IDEACIÓN Y LLUVIA DE IDEAS:

Plantilla de lluvia de ideas y priorización de ideas: IA


habilita el estacionamiento de automóviles usando CV
abierto

Paso 1: Lluvia de ideas, escucha y agrupación de ideas


Paso 2: Priorización de ideas
2.4 SISTEMA PROPUESTO:

S No Parámetro Descripción

1. Planteamiento del problema Encontrar la plaza de aparcamiento


(Problema a resolver) libre a una distancia mínima del
punto de partida.

2. Descripción de la idea/solución La idea de este proyecto es


encontrar la diferencia entre el
espacio vacío y el espacio ocupado y
los números dados para cada espacio
en orden ascendente para encontrar
la distancia mínima del espacio
desocupado.
3. Novedad / Singularidad Según el enfoque anterior, la plaza de
aparcamiento se separa en plazas
ocupadas y desocupadas.

4. Impacto Social / Esta técnica reducirá el tiempo


Satisfacción del Cliente necesario para aparcar su coche y
mejorará con ello la satisfacción del
cliente.

5. Modelo de negocio (modelo de El resultado de este proyecto podría


ingresos) implementarse en lugares públicos y
podrán lograr la precisión.

6. Escalabilidad de la solución El resultado de este proyecto será de


gran ayuda para el sistema de
gestión de aparcamientos.
3. ANÁLISIS DE REQUISITOS:

3.1 REQUERIMIENTO FUNCIONAL:


A continuación se detallan los requisitos funcionales de la solución propuesta.

FR NO. Requisito funcional Subrrequisito (historia / Subtarea)


(épico)

FR-1 registro de usuario Registro a través del formulario


Registro a través de familiarización con el
sistema Registro a través de la aplicación móvil

FR-2 Confirmación de Confirmación vía correo electrónico


usuario Confirmación mediante aprobación del pase de
estacionamiento.

FR-3 Detección de objetos El sistema debería poder detectar la


presencia de un coche en una plaza de
aparcamiento.
FR-4 Monitoreo de El sistema debería poder controlar los coches
estacionamiento estacionados y detectar cualquier actividad
ilegal, como aparcar en doble fila o aparcar en
una plaza para discapacitados.

FR-5 Actualizaciones en El sistema debe proporcionar actualizaciones en


tiempo real tiempo real sobre la disponibilidad de
estacionamiento y otra información relevante a
los conductores y al personal del
estacionamiento.
FR-6 Interfaz amigable El sistema debe tener una interfaz fácil de
usar y comprender, para garantizar una
experiencia de estacionamiento fluida y sin
complicaciones para los conductores.
3.2 Requerimientos no funcionales:
A continuación se detallan los requisitos no funcionales de la solución propuesta.
FR No. Requisito no Descripción
funcional

NFR-1 Usabilidad El sistema debe ser fácil de usar e intuitivo, con


una interfaz sencilla y fácil de usar que sea
accesible para todos los usuarios.

NFR-2 Seguridad El sistema debe diseñarse con características de


seguridad sólidas, para garantizar la privacidad y
seguridad de los conductores y sus vehículos, y
para evitar el acceso no autorizado y la filtración
de datos.

NFR-3 Fiabilidad El sistema debe ser confiable y estable, con alta


disponibilidad y un tiempo de inactividad mínimo.

NFR-4 Actuación El sistema debería poder procesar datos de forma


rápida y precisa, con un retraso mínimo y una alta
eficiencia.

NFR-5 Disponibilidad El sistema debe tener alta disponibilidad, con un


mínimo de tiempo de inactividad e interrupción del
servicio de estacionamiento.

NFR-6 Escalabilidad El sistema debería poder gestionar un gran


número de plazas de aparcamiento y usuarios, y
ser fácilmente escalable a medida que aumente
la demanda.
4. DISEÑO DE PROYECTO:

4.1 DIAGRAMA DE FLUJO DE DATOS:


4.2 SOLUCIÓN Y ARQUITECTURA TÉCNICA:
ARQUITECTURA TECNOLÓGICA:

Tabla-1: Componentes y Tecnologías:


S No Componente Descripción Tecnología

1. Interfaz de usuario La interfaz de usuario es HTML, CSS,


utilizada por el usuario JavaScript/Angular
en la aplicación móvil o JS/React JS, etc.
en la pantalla integrada
del automóvil.

2. Lógica de usuario-1 Marco utilizado para Python, matraz de


diseñar el software. Python
3. Lógica de usuario-2 Accede al software del Python, abrir CV
coche por parte del
conductor para
detectar el punto

4. Lógica de aplicación-1 Open CV es una Abrir CV


plataforma de código
abierto para proporcionar
tecnología de visión por
computadora en tiempo
real.

5. Base de datos Contiene imágenes y MySQL, NoSQL, etc.


cuadros de video
almacenados en la
base de datos.
6. Base de datos en la nube Servicio de Base de Datos IBM DB2, IBM
en la nube Nube, etc.

7. Almacenamiento de Requisitos de IBM Block Storage u


archivos almacenamiento de otro servicio de
archivos almacenamiento o
sistema de archivos
local
8. API-1 externa Facilitan a los Registro de
desarrolladores contenedores
almacenar, administrar e
implementar imágenes de
contenedores.

10. Modelo de aprendizaje Utiliza imágenes y videos Objeto modelos de


automático de datos entrenados y de reconocimiento, etc.
prueba para conocer el
entorno.

11. Infraestructura Desarrollo de Local, fundición en la


(servidor/nube) Aplicaciones en Sistema nube, python-flask,
Local/nube etc.
4.3 HISTORIAS DE USUARIOS:
la siguiente plantilla para enumerar todas las historias de usuarios del producto
Tipo de Requerimi Histori Historia del Criterios de Priori Miemb
usuario ento a del usuario aceptación dad ro del
funcional usuari / Tarea equipo
(Épico) o
Númer
o
Cliente Registro USN-1 Como Puedo Alto Carrera
(usuario usuario, acceder a mi de
móvil) puedo cuenta/panel velocid
registrarm ad - 1
e en la
aplicación
ingresando
mi correo
electrónico
,
contraseña
y
confirman
do mi
contraseña.
USN-2 Como Puedo recibir Alto Carrera
usuario, un correo de
recibiré un electrónico velocid
email de de ad - 1
confirmaci confirmación
ón una vez y hacer clic
me haya en confirmar
registrado
para la
aplicación
USN-3 Como Puedo Bajo Carrera
usuario, registrarme y de
puedo acceder al velocid
registrarme panel con ad - 2
en la
aplicación Facebook
a través de Acceso
Facebook
USN-4 Como Puedo Medio Carrera
usuario, registrar la de
puedo aplicación velocid
registrarme con una ad - 1
en la cuenta de
aplicación correo
a través de electrónico.
Gmail
Acceso USN-5 Como Puedo Alto Carrera
usuario, registrarme y de
puedo iniciar acceder al velocid
sesión usuario ad - 1
el
solicitud perfil/cuenta
ingresando con Gmail
Contrase cuenta
ña de
Email
Solicitante/ USN-6 Como Puedo Alto Carrera
conferente conferenci obtener de
sta puedo información velocid
solicitar sobre las ad - 2
estacionam tarifas de
iento estacionamie
vacante. nto.
espacio
para
estacionar
mi auto
Cliente perfil USN-7 Como Puedo Medio Carrera
(usuario usuario, iniciar de
web) puedo ver sesión por velocid
la página correo ad - 2
de registro, electrónic
la página o
de inicio de y cuenta
sesión y de redes
Chabot sociales
para para
verificar la registro
disponibili
dad de
estacionam
iento.
puntos en
tiempo real
Ejecutivo Mesa de USN-8 Como puedo Alto Carrera
de ayuda ejecutivo responder a de
atención / de sus velocid
al cliente soporte atención al consultas y ad - 3
al cliente resolver
usuario puedo sus
resolver problemas
las relacionados
consultas
de los
usuarios
Administrar Registro USN-9 Como un Puedo Medio Carrera
o administrad verificar y de
or o ,I verificar las velocid
poder personas que ad - 4
vista la están
base de registradas,
datos de los su
usuarios identificació
registrados n de correo
y su
información.
s
Panel USN- Como un Puedo Bajo Carrera
10 administrat comprobar de
o puedo ver el número velocid
como de ad - 4
muchos requisitos y
monitor
miembros la
solicitados disponibilida
para d

¿Qué
problema
ocurre?
en
estacionam
iento

un vehículo
chatbot Interfaz USN- Además Puedo Medio Carrera
de 11 de el responder a de
usuario ejecutivo todas las velocid
de preguntas ad - 4
atención que hacen
al cliente los usuarios
yo relacionadas
con el
poder servicio que
resolver brindamos.

todas las
consultas
de el
cliente
así como
el
conferencist
a
5. CODIFICACIÓN Y SOLUCIÓN:

5.1 FUNCIÓN 1:
1.Agregar registros de
#Hora
vehículos
de
import
ación
hora de
import
ación

Número_vehículo=['XXXX-XX-
XXXX'] Tipo_vehículo=['Bicicleta']
Nombre_vehículo=['Intruso']
Nombre_propietario=['Desconocido']

En este bloque de código, estamos importando el módulo de tiempo para


implementar sus métodos y funciones en el proyecto. Hemos inicializado las
variables número de vehículo, tipo de vehículo, nombre del vehículo, fecha del
nombre del propietario y hora a algún valor predeterminado. Así como
bicicletas, coches y bicicletas con algún valor inicial.

2. Cree un bloque de bucle while para mostrar las


opciones en el Proyecto de gestión de estacionamiento
de vehículos
definición principal():
bicicletas,
automóviles y
bicicletas globales
prueba:
mientras que Verdadero:
imprimir(" ") print("\t\tSistema de gestión de aparcam
imprimir(" ") print("1.Entrada de vehículo")
print("2.Eliminar entrada" )
print("3.Ver vehículo
estacionado ") print("4.Ver
espacio de estacionamiento
izquierdo ") print("5.Detalles
del monto ") print("6.Bill")
imprimir("+ +") ch=int(entrada("\tSeleccione opción:"))

En este bloque de código, hemos inicializado bicicletas, automóviles y bicicletas


como variables globales. Son accesibles a través de todo el bloque principal.
Aquí brindamos las opciones para elegir las opciones de servicio de la lista para
el sistema de gestión de estacionamiento de vehículos.

3.Código para la entrada del número de vehículo


si
c
h
=
=
1:
n
o
=
V
er
d
a
Ch es para elegir. Una vez que seleccionamos la opción ch como 1, que es para
el número de entrada del vehículo, proporcionamos el bucle while. mientras que
el número (no es Verdadero). Almacenaremos el número de vehículo en Vno. Si
el vno está vacío, es decir, vno==“”. El usuario solicita ingresar el número del
vehículo; de lo contrario, si el vno ingresado ya está presente en el número del
vehículo, imprime el número del vehículo que ya existe. De lo contrario, si
len(vno)==12, solicitará agregar la información a la variable del número de
vehículo.

5. Código para introducir el tipo de vehículo


typee=Verdadero
mientras escribe == Verdadero:
Vtype=str(input("\tIngrese el tipo de vehículo
(Bicicleta=A/Bike=B/Car=C):")).lower() if Vtype=="":
print("###### Ingrese el tipo de
vehículo ######") elif Vtype=="a":
Vehicle_Type.append("Bi
cicleta") bicicletas-=1
typee=no
es verdadero
elif
bicicletas-
=1
tipoe=no es
cierto
elif Vtype=="c":
Vehicle_Type.append(
"Coche") coches-=1
typee=no
Aquí tenemos que inicializar la variable typee en verdadero. Mientras la
condición es Verdadera, el sistema solicita ingresar el tipo de vehículo, es decir,
a, b o c, que aceptará la entrada en minúsculas. Aquí A es para bicicleta, B es
para bicicleta y C es para automóvil. Cualquier tipo de vehículo que ingrese se
almacena en la variable Vtype. Si el Vtype==””(vacío). Le pedirá que ingrese el
tipo de vehículo. Según el tipo de variable que ingrese, el tipo de vehículo se
almacenará en la variable y el tipo de variable se configurará como no
Verdadero.

6. Código para ingresar el nombre del vehículo


nombre=Verdadero
while nombre==Verdadero:
vname=input("\tIngrese el
nombre del vehículo - ") if
vname=="":
print("########Ingrese el nombre del vehículo
########") más:
nombre_vehículo.append(vnam
Aquí hemos establecido el nombre == Verdadero. Mientras que el nombre ==
Verdadero, es decir, hasta que ingresemos el nombre.vname, almacene el valor,
es decir, el nombre del vehículo. si el vname está vacío, el sistema solicita
ingresar el nombre del vehículo; de lo contrario, almacenará el nombre usando
la función de agregar a la variable de nombre del vehículo. La variable de
nombre se inicializa a no True.

5.2 CARACTERÍSTICAS 2
7. Código para ingresar el nombre del propietario
o=Verdadero
mientras que o==Verdadero:
OName=input("\tIngrese el
nombre del propietario - ") si
print("###### Ingrese el nombre del
propietario ######") más:
Owner_Name.append(ON
ame) o=no es verdadero
O se inicializa en Verdadero. Mientras se cumple la condición, el nombre del
propietario se almacena en la variable OName. Si OName está vacío, el sistema
solicita ingresar el nombre del propietario; de lo contrario, almacenará el nombre
del propietario en la variable de nombre del propietario. O ahora se inicializa a
No verdadero.

8. Código introduce la fecha y hora.


d=verdadero
mientras d==Verdadero:
fecha=entrada("\tIngrese la fecha (DD-
MM-AAAA) - ") si fecha=="":
print("###### Ingrese fecha
######") elif len(fecha)!=10:
print("###### Ingrese la fecha de
validez ######") más:
Fecha.append(fe
cha) d=no es
verdadero
t=verdadero
mientras t==Verdadero:
tiempo=entrada("\tIngrese la hora
(HH:MM:SS) - ") si t=="":
print("###### Ingrese la hora
######") elif len(hora)!=8:
print("###### Ingrese la hora válida
######") más:
Time.append(ti
De manera similar, tenemos que crear un bucle while para ingresar la fecha y
hora inicializando d y t en 0. La variable de fecha almacena la fecha y la variable
de hora almacena la hora. La variable de fecha y hora verifica la condición y, en
consecuencia, se ejecuta más.

9. Código para eliminar la entrada del registro


elif
c
h
Vno=input("\tIngrese el número de vehículo a eliminar(XXXX-XX-
XXXX) - ").upper()
si Vno=="":
print("###### Ingrese el número de
vehículo ######") elif len(Vno)==12:
si Vno en
Número_vehículo:
i=Número_vehículo.inde
x(Vno)
Número_vehículo.pop(i)
Tipo_vehículo.pop(i)
Nombre_vehículo.pop(i)
Nombre_propietario.pop
(i) Fecha.pop(i)
Time.pop(i
) no=no es
verdadero
imprimir("\n......................................................Remoto
Con éxito.....................................................................")
elif Vno no está en
Número_de_vehículo:
En este bloque de código, estamos escribiendo el código para eliminar la
entrada particular de un vehículo de la base de datos. Los usuarios han
ingresado un número de vehículo válido para crear una gestión de
elifestacionamiento
ch==3: cuenta=0 de vehículos en Python. Si el número de vehículo está presente
imprimir("
en nuestra base de datos y si la longitud del número de vehículo es 12, entonces
")utiliza
print("\t\t\t\tVehículo
una función emergente estacionado")
para eliminar la entrada en particular. De lo
imprimir("
contrario, si el número de vehículo no está presente en la base de datos,
")imprimirá "No existe tal entrada" y solicitará ingresar un número de vehículo
válido. de vehículo\tTipo de vehículo
print("Nº Nombre Fecha\t\tHora")
del vehículo\t
Nombre del propietario\t
10. Código para visualizar los vehículos presentes en la zona de
aparcamiento.
imprimir("
")
para i en el rango (len
(Número_vehículo)):
cuenta+=1
print(Número_vehículo[i],"\t ",Tipo_vehículo[i],"\t
",Nombre_vehículo[i],"\t ",Nombre_Propietario[i],"
" ,Fecha[i]," ",Tiempo[i])
imprimir("
")
Aquíimprimir(" Registrosentotales:
ch==3 es para mostrar los vehículos estacionados el área",count,"
de estacionamiento.
Para esto,
Tenemos que usar la función de bucle for . Cuenta la longitud del número del
vehículo. Esto mostrará toda la información de los vehículos.
11. Código para espacios dejados en el área de estacionamiento
elif canal==4:
imprimir("
")
print("\t\t\t\tEspacios restantes
para estacionar")
imprimir("
")
print("\tEspacios Disponibles para Bicicleta
- ",bicicletas) print("\tEspacios Disponibles
para Bicicleta - ",bicicletas) print("\
Este bloque de código muestra los espacios que quedan para estacionar en el área de
estacionamiento.

12. Código para mostrar la tarifa de estacionamiento


elif canal==5:
imprimir("
") print("\t\t\t\tTarifa de estacionamiento")
imprimir("
")
imprimir("*1.Bicicleta
20
rupias/hora")
print("*2.Bicicleta 40
rupias/hora")
Muestra la tasa de estacionamiento de diferentes tipos de vehículos.
13. Código para generar facturas para diferentes tipos
de vehículos estacionados
elif canal==6:
imprimir(".........................................................Generando factura
..........................................................................")
no=verdadero
mientras que no==Verdadero:
Vno=input("\tIngrese el número de vehículo a eliminar(XXXX-XX-
XXXX) - ").upper()
si Vno=="":
print("###### Ingrese el número de
vehículo ######") elif len(Vno)==12:
si Vno en Número_vehículo:
i=Número_vehículo.index(Vno)
no=no es verdadero
elif Vno no está en Número_de_vehículo:
print("###### No existe tal entrada
######")
demás:
imprimir("Error")
demás:
print("###### Ingrese el número de vehículo válido
######") print("\tHora de entrada del vehículo - ",Hora[i])
print("\tFecha de entrada del vehículo - ",Fecha[ i]) print("\
tTipo de vehículo - ",Tipo_vehículo[i])
entrada=
Verdader
o
cantidad
=0
mientras que entrada == Verdadero:
hr=input("\tIngrese el número de horas que el vehículo
estacionó - ").lower() if hr=="":
print("###### Ingrese el horario ######") elif
int(hr)==0 y Vehicle_Type[i]=="Bicicleta":
amt=20
entrada=no es
cierto
elif int(hr)==0 y Vehicle_Type[i]=="Bicicleta":
amt=40
entrada=no es cierto
elif int(hr)==0 y Vehicle_Type[i]=="Coche":
amt=60
inp=no es
verdadero elif
int(hr)>=1:
if Tipo_vehículo[i]=="Bicicleta":
amt=int(hr)*int(2
0) inp=no es
verdadero
elif
Tipo_vehículo[i]=="
Bicicleta":
amt=int(hr)*int(40)
entrada=no es cierto
elif
Tipo_vehículo[i]=="
Coche":
amt=int(hr)*int(60)
inp=not True
print("\t Cargo por
estacionamiento - ",amt)
ac=18/100*int(amt)
print("\tCargo adicional
18 % - ",ac)
print("\tCargo Total - ",int(amt)+int(ac)) print(" Gracias
por usar nuestro
La sección de facturación genera la factura del vehículo estacionado. Tenemos
que ingresar el número de vehículo correcto y verificar la longitud del número de
vehículo y el número de vehículo presente en la base de datos. Después de esto
verifique la hora y el tipo de vehículo. Dependiendo del tipo de vehículo, el
sistema calcula los cargos. La última opción ch==7 es salir de las opciones de
servicio y salir del programa.

6. RESULTADOS:

6.1 MÉTRICAS DE RENDIMIENTO:


El rendimiento del PMS, que emplea asignación de recursos, planificación
de rutas dinámicas y en tiempo real y algoritmos de programación de
ascensores, se evalúa y evalúa utilizando las métricas.
Distancia media de Este parámetro de rendimiento mide la
viaje para distancia de viaje promedio en términos de
almacenamiento movimientos de celda para todas las solicitudes
(ATDS) de almacenamiento durante las horas pico de la
mañana.
Distancia media de Este parámetro de rendimiento mide la
viaje para la distancia promedio de viaje en términos de
recuperación movimientos de celda para todas las solicitudes
(ATDR) de recuperación durante las horas pico de la tarde.
Este parámetro de rendimiento mide el rango
Rango de tasa de de valores para la relación de tiempo durante el
utilización de cual un ascensor está ocupado transportando un
ascensores. vehículo a la estación de 2 h.
tiempo de simulación, y por separado para cada
una de las dos horas pico, es decir, la hora pico
de la mañana y la hora pico de la tarde.
Tiempo de espera del Esta métrica de desempeño mide el tiempo que
cliente para transcurre desde el instante en que el cliente llega al
almacenamiento (WTS final de la cola de primero en entrar, primero en salir
) (FIFO) que se extiende desde el frente de las áreas de
entrega de la planta baja del estacionamiento hacia
afuera hasta que llega a la Bahía de entrega/recuperación
en la planta baja.
Este parámetro de desempeño mide el tiempo que
Tiempo de espera del transcurre desde el instante en que un cliente llega al
cliente para la estacionamiento para recuperar su
recuperación (WTR)
Tiempo hasta la utilización de la capacidad total : este parámetro de rendimiento registra
el tiempo de aparición de las métricas de evaluación del espacio completo y para la
utilización de la estructura de estacionamiento para la estructura de estacionamiento durante
las horas pico de la mañana sus definiciones
7. VENTAJAS DESVENTAJAS:

VENTAJAS:
Los recientes incrementos en la propiedad de automóviles y la urbanización,
junto con una mala planificación urbana, han contribuido en gran medida al
aumento de los problemas de estacionamiento en todo Estados Unidos[6].
Afortunadamente, la adopción de la IA en el aparcamiento inteligente ha
revolucionado por completo la forma en que buscamos plazas de aparcamiento.
A continuación se presentan algunas ventajas del estacionamiento inteligente
para conductores y propietarios de negocios.

Menos consumo de combustible


Conducir buscando aparcamiento consume mucho combustible. Y considerando
los precios actuales del combustible, es mucho dinero desperdiciado. Las
soluciones de aparcamiento inteligentes proporcionan un fácil acceso a las plazas
de aparcamiento, ahorrando así recursos valiosos como tiempo, combustible y
espacio.

Una reducción del tráfico de búsqueda en las calles


Casi un tercio del tráfico en las zonas urbanas lo generan conductores que buscan
una plaza de aparcamiento. Al aprovechar las soluciones de estacionamiento
inteligente basadas en inteligencia artificial, los municipios pueden gestionar y
reducir el tráfico de búsqueda en calles concurridas. Las soluciones de
aparcamiento inteligentes no sólo minimizan el tráfico de búsqueda sino que
también suavizan el flujo de tráfico. ¿El resultado? Las personas dedican menos
tiempo a buscar una plaza de aparcamiento porque ya saben dónde conseguirla.

Reducción del estrés al estacionar


Buscar un buen lugar para estacionar en una zona congestionada de la ciudad es
simplemente abrumador. Es posible que te encuentres cruzando la misma calle
varias veces y que termines estacionándote lejos de tu destino.

Las soluciones de estacionamiento inteligente basadas en IA incorporan


tecnologías de estacionamiento inteligente con dispositivos IoT para que los
conductores puedan encontrar lugares de estacionamiento fácilmente usando sus
teléfonos inteligentes y
ordenadores. De esta manera, pueden ver todas las plazas de aparcamiento
disponibles en la zona a la que planean viajar mucho antes de llegar allí. Algunos
aparcamientos incluso te permiten reservar una plaza. Esto significa que no
tienes que conducir buscando un lugar para estacionar.

Beneficios del estacionamiento inteligente basado en IA para empresas:


Los estacionamientos de superficie ocupan el 5% de todo el suelo urbano en los
EE. UU. [7]. Esto significa más competencia entre las empresas de
estacionamientos. Uno pensaría que los estacionamientos en calles concurridas
generan mucho negocio, pero lamentablemente, ese no es el caso. En la mayoría
de los casos, los conductores no pueden encontrar estos estacionamientos y,
cuando lo hacen, hay toneladas de autos estacionados de manera irregular, lo que
hace que el estacionamiento sea ineficiente.

El resultado es que algunos conductores optan por recorrer distancias más largas
en busca de estacionamientos más seguros y accesibles, lo que significa menos
negocios para los estacionamientos mejor situados pero mal administrados.
Afortunadamente, al incorporar soluciones de estacionamiento inteligentes en su
proceso de gestión, los administradores de estacionamientos pueden mejorar la
eficiencia de sus lotes, aumentar la satisfacción del cliente y, en última instancia,
aumentar las ganancias. A continuación se presentan algunos otros beneficios
que las empresas de estacionamientos pueden obtener al aprovechar las
soluciones de estacionamiento inteligentes.

Experiencia de estacionamiento mejorada:


Las soluciones de estacionamiento inteligente basadas en inteligencia artificial
aprovechan los datos recopilados para brindar servicios especializados que, en
última instancia, conducen a experiencias de estacionamiento sin estrés. Además
de informar a los conductores cercanos si hay lugares disponibles en el
estacionamiento, los administradores también pueden instalar señales digitales
que reciben datos en tiempo real del software de administración de
estacionamientos para dirigir a los conductores a sus lugares de estacionamiento.
Esto elimina la frustración entre los conductores que intentan encontrar un lugar
dentro del estacionamiento, mejorando así la satisfacción del cliente.
Además, el mero hecho de que los conductores no tengan que desplazarse por el
aparcamiento buscando una plaza libre supone menos emisiones, lo que podría
mejorar la calidad del aire en los aparcamientos interiores.
Identificar ineficiencias en la gestión de estacionamientos:
Gestionar un aparcamiento requiere mucho trabajo. Por ejemplo, los
administradores de aparcamientos a menudo tienen que comprobar la duración
del estacionamiento de determinados vehículos o tratar con vehículos
estacionados de forma irregular e ilegal. Al aprovechar la información en tiempo
real de los dispositivos conectados en el sitio, pueden determinar con precisión la
duración del estacionamiento de todos los vehículos.

Esto resulta útil, especialmente en aparcamientos que ofrecen servicios de


aparcamiento de corta duración, como los supermercados. Con estos datos, los
gestores pueden controlar los tiempos de estacionamiento excesivos, que en la
mayoría de los casos implican un uso no autorizado de sus zonas de
aparcamiento. También pueden monitorear espacios que permanecen vacíos por
períodos prolongados, lo que podría implicar un problema con el lugar en
cuestión.

Uso optimizado de la instalación:


A través de datos recopilados de varios sensores instalados alrededor de las
calles y estacionamientos, las empresas pueden monitorear qué áreas tienen el
mayor y menor tráfico de estacionamiento. Con estos datos, pueden determinar
mejor dónde expandir o reducir las operaciones. Los datos de los sensores
también permiten a las empresas monitorear el uso indebido de las vías de acceso
de emergencia y los lugares de estacionamiento exclusivos .
DESVENTAJAS:
Las soluciones de aparcamiento inteligentes presentan muchas ventajas tanto
para los conductores como para las empresas. Pero también presentan algunos
inconvenientes que podrían hacer que algunas personas los posterguen o incluso
eviten incorporarlos por completo. Éstos son algunos de los inconvenientes de
incorporar soluciones de aparcamiento inteligentes.

Alto costo de instalación.


Numerosos sistemas y tecnologías se utilizan para construir un sistema de
gestión de estacionamiento inteligente y eficaz. Instalar elementos como
sensores, cámaras, máquinas expendedoras de billetes automáticas y software
cuesta mucho dinero. Desafortunadamente, algunas empresas no pueden
permitirse estos sistemas, lo que hace casi imposible incorporarlos.

Requisitos de mantenimiento regulares


A pesar de estar automatizados, los sistemas inteligentes de gestión de
aparcamientos requieren un mantenimiento regular para garantizar un
funcionamiento sin problemas. La frecuencia del mantenimiento depende del
sistema en cuestión, pero la mayoría de los sistemas requieren un mantenimiento
mensual. Esto aumenta aún más los costes de funcionamiento del aparcamiento,
lo que podría tener un impacto significativo en los beneficios.
8. CONCLUSIÓN:
Como conclusión se han conseguido los objetivos de este proyecto. Se ha
eliminado por completo la molestia de buscar plazas de aparcamiento
disponibles. El sistema diseñado podría aplicarse en todas partes debido a
su facilidad de uso y eficacia. Facilita los problemas de habitabilidad
urbana, movilidad del transporte y sostenibilidad del medio ambiente.
Internet de las cosas integra el hardware, el software y la conectividad de
red que permiten detectar y controlar remotamente los objetos a través de
la red existente. Dicha integración permite a los usuarios monitorear los
lugares de estacionamiento disponibles y no disponibles, lo que conduce a
una mayor eficiencia, precisión y beneficio económico.

9. ALCANCE FUTURO:
El sistema de gestión de aparcamiento inteligente se puede aplicar ampliamente a
muchas aplicaciones futuras. Además de su función básica de gestión de
estacionamiento de automóviles, también se puede aplicar a la gestión de
aviones, barcos y flotas. Con el campo cada vez mayor del Internet de las cosas,
muchos conceptos se pueden interconectar con nuestro sistema. Para sistemas de
estacionamiento residenciales y domésticos, el dispositivo se puede interconectar
con un sistema de automatización del hogar que puede controlar los diversos
electrodomésticos detectando si el usuario llega o sale del espacio de
estacionamiento. Por ejemplo, si el usuario ha llegado, el módulo detectará la
presencia y enviará información sobre la llegada al sistema de automatización del
hogar, que en consecuencia puede encender los electrodomésticos seleccionados,
como unidades HVAC (calefacción, ventilación y aire acondicionado), cafetera,
tostadora, Wi. -Enrutadores Fi, etc. Para el sistema de estacionamiento
comercial, el dispositivo puede interconectarse con un módulo que puede
detectar la llegada del empleado y puede encender su computadora y sistemas
HVAC y, en consecuencia, apagar los aparatos cuando el empleado se marcha.
El sistema también se puede utilizar para realizar un seguimiento de la hora de
presentación de informes y de salida del empleado durante todos los días con
precisión, actuando así como un sistema de asistencia. Por lo tanto, muchos de
estos módulos pueden conectarse con nuestro sistema para proporcionar mejores
instalaciones, seguridad y optimización de la electricidad y los recursos con la
idea principal de un sistema de gestión de flotas impecable.
10. APÉNDICE :

CÓDIGO FUENTE:

Código fuente principal:


importar cv2
importar
pepinillo
importar
cvzone
importar numpy como np

cap = cv2.VideoCapture('carPark.mp4')
ancho, alto = 103, 43

con open('CarParkPos', 'rb') como f:


posList = pickle.load(f)

def vacío(a):
pasar

cv2.namedWindow("Vals")
cv2.resizeWindow("Vals", 640, 240)
cv2.createTrackbar("Val1", "Vals", 25, 50, vacío)

cv2.createTrackbar("Val2", "Vals", 16, 50, vacío)


cv2.createTrackbar("Val3", "Vals", 5, 50, vacío)
def
verificarEspacio
s(): espacios = 0
para pos en
posList: x, y =
pos
ancho, alto = ancho, alto

imgCrop = imgThres[y:y + h, x:x + w]


recuento =
cv2.countNonZero(imgCrop)

si cuenta < 900:

color = (0, 200, 0)


grueso = 5

espacios += 1

demás:

color = (0, 0, 200)

grueso = 2

cv2.rectangle(img, (x, y), (x + w, y + h), color, grueso)


cv2.putText(img, str(cv2.countNonZero(imgCrop)), (x, y + h - 6),
cv2.FONT_HERSHEY_PLAIN, 1,
color, 2)

cvzone.putTextRect(img, f'Libre: {espacios}/{len(posList)}', (50, 60),


espesor=3, desplazamiento=20,
colorR=(0, 200, 0))

mientras que Verdadero:

# Obtener el marco de la
imagen correctamente,
img = cap.read()
si cap.get(cv2.CAP_PROP_POS_FRAMES) ==
cap.get(cv2.CAP_PROP_FRAME_COUNT):
cap.set(cv2.CAP_PROP_POS_FRAMES, 0)
# img = cv2.imread('img.png')
imgGray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
imgBlur = cv2.GaussianBlur(imgGray, (3, 3), 1)
# retirado, imgThres =
cv2.umbral(imgBlur, 150, 255, cv2.THRESH_BINARY)

val1 = cv2.getTrackbarPos("Val1", "Vals")


val2 = cv2.getTrackbarPos("Val2", "Vals")
val3 = cv2.getTrackbarPos("Val3", "Vals")
si val1 % 2 == 0: valor1 += 1
si val3 % 2 == 0: val3 += 1
imgThres = cv2.adaptiveThreshold(imgBlur, 255,
cv2.ADAPTIVE_THRESH_GAUSSIAN_C,
cv2.THRESH_BINARY_INV, val1, val2)
imgThres = cv2.medianBlur(imgThres, val3)

núcleo = np.ones((3, 3), np.uint8)


imgThres = cv2.dilate(imgThres, kernel, iteraciones=1)

marcar espacios()
# Mostrar salida

cv2.imshow("Imagen", img)
# cv2.imshow("ImageGray", imgThres)
# cv2.imshow("ImageBlur", imgBlur)
clave = cv2.waitKey(1)
si clave ==
ord('r'): pasar

importar cv2
importar
pepinillo

ancho, alto = 107, 48

intentar:
con open('CarParkPos', 'rb')
como f: posList =
pickle.load(f)
excepto:

listapos = []

def mouseClick(eventos, x, y, banderas, parámetros):


si eventos ==
cv2.EVENT_LBUTTONDOWN:
posList.append((x, y))

si eventos == cv2.EVENT_RBUTTONDOWN:
para i, pos en enumerar (posList):
x1, y1 = posición

si x1 < x < x1 + ancho y y1 < y < y1 + alto:


posList.pop(i)

con open('CarParkPos', 'wb')


como f: pickle.dump(posList, f)

mientras que Verdadero:

img = cv2.imread('carParkImg.png')
para pos en posList:
cv2.rectangle(img, pos, (pos[0] + ancho, pos[1] + alto), (255, 0, 255),
2)
cv2.imshow("Imagen", img)
cv2.setMouseCallback("Imagen", clic del
mouse) cv2.waitKey(1)

DEMOSTRACIÓN DE GITHUB Y PROYECTO VEDIO:

También podría gustarte