Compare commits

...

2 Commits

Author SHA1 Message Date
fe3f81b0cb Fix ontology uid 2023-05-28 01:07:46 +04:00
e1e4704659 Add support of multi queries 2023-05-28 01:07:34 +04:00
5 changed files with 71 additions and 78 deletions

View File

@ -1,24 +1,23 @@
<component name="ProjectRunConfigurationManager"> <component name="ProjectRunConfigurationManager">
<configuration default="false" name="main (check)" type="PythonConfigurationType" factoryName="Python"> <configuration default="false" name="main (check)" type="PythonConfigurationType" factoryName="Python">
<module name="VideoAnalysis-dnn"/> <module name="VideoAnalysis" />
<option name="INTERPRETER_OPTIONS" value=""/> <option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true"/> <option name="PARENT_ENVS" value="true" />
<envs> <envs>
<env name="PYTHONUNBUFFERED" value="1"/> <env name="PYTHONUNBUFFERED" value="1" />
</envs> </envs>
<option name="SDK_HOME" value=""/> <option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$"/> <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="IS_MODULE_SDK" value="true"/> <option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true"/> <option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true"/> <option name="ADD_SOURCE_ROOTS" value="true" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/main.py"/> <option name="SCRIPT_NAME" value="$PROJECT_DIR$/main.py" />
<option name="PARAMETERS" <option name="PARAMETERS" value="5cc5570b-6ed9-3b33-9db4-bdb8ecb9f890 &quot;test-data/lectionAudi/2021-03-12 13-51-07.JPG&quot;" />
value="2d147dcb-9c45-310b-a3ae-67d35a141755 &quot;test-data/lectionAudi/2021-03-12 13-51-07.JPG&quot;"/> <option name="SHOW_COMMAND_LINE" value="false" />
<option name="SHOW_COMMAND_LINE" value="false"/> <option name="EMULATE_TERMINAL" value="false" />
<option name="EMULATE_TERMINAL" value="false"/> <option name="MODULE_MODE" value="false" />
<option name="MODULE_MODE" value="false"/> <option name="REDIRECT_INPUT" value="false" />
<option name="REDIRECT_INPUT" value="false"/> <option name="INPUT_FILE" value="" />
<option name="INPUT_FILE" value=""/> <method v="2" />
<method v="2"/> </configuration>
</configuration>
</component> </component>

View File

@ -1,24 +1,23 @@
<component name="ProjectRunConfigurationManager"> <component name="ProjectRunConfigurationManager">
<configuration default="false" name="main (empty)" type="PythonConfigurationType" factoryName="Python"> <configuration default="false" name="main (empty)" type="PythonConfigurationType" factoryName="Python">
<module name="VideoAnalysis-dnn"/> <module name="VideoAnalysis" />
<option name="INTERPRETER_OPTIONS" value=""/> <option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true"/> <option name="PARENT_ENVS" value="true" />
<envs> <envs>
<env name="PYTHONUNBUFFERED" value="1"/> <env name="PYTHONUNBUFFERED" value="1" />
</envs> </envs>
<option name="SDK_HOME" value=""/> <option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$"/> <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="IS_MODULE_SDK" value="true"/> <option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true"/> <option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true"/> <option name="ADD_SOURCE_ROOTS" value="true" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/main.py"/> <option name="SCRIPT_NAME" value="$PROJECT_DIR$/main.py" />
<option name="PARAMETERS" <option name="PARAMETERS" value="5cc5570b-6ed9-3b33-9db4-bdb8ecb9f890 &quot;test-data/lectionAudi/2021-03-12 13-49-32.JPG&quot;" />
value="2d147dcb-9c45-310b-a3ae-67d35a141755 &quot;test-data/lectionAudi/2021-03-12 13-49-32.JPG&quot;"/> <option name="SHOW_COMMAND_LINE" value="false" />
<option name="SHOW_COMMAND_LINE" value="false"/> <option name="EMULATE_TERMINAL" value="false" />
<option name="EMULATE_TERMINAL" value="false"/> <option name="MODULE_MODE" value="false" />
<option name="MODULE_MODE" value="false"/> <option name="REDIRECT_INPUT" value="false" />
<option name="REDIRECT_INPUT" value="false"/> <option name="INPUT_FILE" value="" />
<option name="INPUT_FILE" value=""/> <method v="2" />
<method v="2"/> </configuration>
</configuration>
</component> </component>

View File

@ -1,24 +1,23 @@
<component name="ProjectRunConfigurationManager"> <component name="ProjectRunConfigurationManager">
<configuration default="false" name="main (not empty)" type="PythonConfigurationType" factoryName="Python"> <configuration default="false" name="main (not empty)" type="PythonConfigurationType" factoryName="Python">
<module name="VideoAnalysis-dnn"/> <module name="VideoAnalysis" />
<option name="INTERPRETER_OPTIONS" value=""/> <option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true"/> <option name="PARENT_ENVS" value="true" />
<envs> <envs>
<env name="PYTHONUNBUFFERED" value="1"/> <env name="PYTHONUNBUFFERED" value="1" />
</envs> </envs>
<option name="SDK_HOME" value=""/> <option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$"/> <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="IS_MODULE_SDK" value="true"/> <option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true"/> <option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true"/> <option name="ADD_SOURCE_ROOTS" value="true" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/main.py"/> <option name="SCRIPT_NAME" value="$PROJECT_DIR$/main.py" />
<option name="PARAMETERS" <option name="PARAMETERS" value="5cc5570b-6ed9-3b33-9db4-bdb8ecb9f890 &quot;test-data/lectionAudi/2021-03-12 13-48-31.JPG&quot;" />
value="2d147dcb-9c45-310b-a3ae-67d35a141755 &quot;test-data/lectionAudi/2021-03-12 13-48-31.JPG&quot;"/> <option name="SHOW_COMMAND_LINE" value="false" />
<option name="SHOW_COMMAND_LINE" value="false"/> <option name="EMULATE_TERMINAL" value="false" />
<option name="EMULATE_TERMINAL" value="false"/> <option name="MODULE_MODE" value="false" />
<option name="MODULE_MODE" value="false"/> <option name="REDIRECT_INPUT" value="false" />
<option name="REDIRECT_INPUT" value="false"/> <option name="INPUT_FILE" value="" />
<option name="INPUT_FILE" value=""/> <method v="2" />
<method v="2"/> </configuration>
</configuration>
</component> </component>

16
main.py
View File

@ -22,7 +22,6 @@ def analyse_file(uid, image_path):
raise Exception(f'Изображение {image_path} не существует') raise Exception(f'Изображение {image_path} не существует')
model = torch.hub.load('ultralytics/yolov5', 'yolov5s', pretrained=True) model = torch.hub.load('ultralytics/yolov5', 'yolov5s', pretrained=True)
model.names = neuralNetwork.rename_entity(model.names) model.names = neuralNetwork.rename_entity(model.names)
list_sqwrl = ontologyWorking.get_list_sqwrl(uid, url)
results = model(imageWorking.get_image_as_array(image_path)) results = model(imageWorking.get_image_as_array(image_path))
object_properties = list() object_properties = list()
@ -46,15 +45,16 @@ def analyse_file(uid, image_path):
'QueryGetCheck': '', 'QueryGetCheck': '',
'QueryGetEmpty': '' 'QueryGetEmpty': ''
} }
for sqwrl in list_sqwrl['response']: params = '&'.join([f'names={query}' for query in result.keys()])
response = requests.post(url + f'{uid}/query/{sqwrl["name"]}', json=data).json() response = requests.post(url + f'{uid}/query/multi?{params}', json=data).json()
if response['error']: if response['error']:
raise Exception(response['error']) raise Exception(response['error'])
result[sqwrl['name']] = [resultSQWRL['name']['value'] for resultSQWRL in response['response']['rows']] for query in response['response']:
print(f'Запрос {sqwrl["name"]} выполнен') result[query] = [resultSQWRL['name']['value'] for resultSQWRL in response['response'][query]['rows']]
print(f'Запрос выполнен')
print() print()
print('Результаты') print('Результат:')
if result['QueryGetNotEmpty']: if result['QueryGetNotEmpty']:
print('Аудитория занята') print('Аудитория занята')
elif result['QueryGetCheck']: elif result['QueryGetCheck']:

View File

@ -9,10 +9,6 @@ def is_ontology_exists(uid, url):
return True return True
def get_list_sqwrl(uid, url):
return requests.get(url + f'{uid}/query/', verify=False).json()
def get_entity_square(results_ndarray_i): def get_entity_square(results_ndarray_i):
square = float((results_ndarray_i[2] - results_ndarray_i[0]) * square = float((results_ndarray_i[2] - results_ndarray_i[0]) *
(results_ndarray_i[3] - results_ndarray_i[1])) (results_ndarray_i[3] - results_ndarray_i[1]))