石光明等:高噪环境下超声缺陷检测的信号匹配小波方法

需积分: 0 0 下载量 9 浏览量 更新于2024-07-17 收藏 385KB PDF 举报
本文标题"信号匹配小波技术在高背景噪声下超声缺陷检测中的应用"探讨了在复杂环境背景下,如高背景噪声条件下,超声波无损检测中的一项关键任务——缺陷回波的精确识别。作者石光明、陈旭阳等人针对这一挑战提出了创新的研究方法。传统的基于小波变换(WT)的技术通常依赖于预设的小波基来匹配信号,然而,实际应用中,信号可能以多种形态出现,这使得找到最优的小波基与信号匹配成为一项困难的任务。 论文指出,现有的小波技术面临的主要问题是小波模式众多,而信号的实际形式多样,如何在众多候选小波基中找到最适合的匹配模式,以有效提取缺陷回波信息,是研究的关键所在。为解决这个问题,作者可能探讨了信号匹配小波的自适应方法或者新型的搜索策略,以提高在高背景噪声条件下的信号处理性能。 此外,论文还提到了研究得到了中国国家自然科学基金(Nos. 60776795, 60902031)、高等教育博士生科研基金(RFDP,No. 200807010004)以及高等教育博士学科专项基金(SRFDP,20070701023)的支持,这表明该研究得到了国内科研资金的有力保障,旨在推动智能信号处理、优化计算、小波理论及其在实际检测中的应用。 作者石光明作为电子工程学院和西安电子科技大学信息工程学院的教授,拥有博士学位并指导博士生,他的研究领域涵盖了智能信号处理等多方面,其电子邮件为gmshi@xidian.edu.cn,表明他在这个领域的深厚背景和实践经验。 这篇论文通过信号匹配小波技术的深入研究,有望为超声缺陷检测在高背景噪声环境中的应用提供新的解决方案,提升检测的准确性和可靠性。这不仅对超声无损检测技术的发展有重要意义,也为其他信号处理领域,特别是噪声环境下信号分析提供了有价值的新思路。

详细解释一下这段代码,每一句都要进行注解:for dataset in datasets: print(dataset) if dataset not in out_results: out_results[dataset] = {} for scene in data_dict[dataset]: print(scene) # Fail gently if the notebook has not been submitted and the test data is not populated. # You may want to run this on the training data in that case? img_dir = f'{src}/test/{dataset}/{scene}/images' if not os.path.exists(img_dir): continue # Wrap the meaty part in a try-except block. try: out_results[dataset][scene] = {} img_fnames = [f'{src}/test/{x}' for x in data_dict[dataset][scene]] print (f"Got {len(img_fnames)} images") feature_dir = f'featureout/{dataset}{scene}' if not os.path.isdir(feature_dir): os.makedirs(feature_dir, exist_ok=True) t=time() index_pairs = get_image_pairs_shortlist(img_fnames, sim_th = 0.5644583, # should be strict min_pairs = 33, # we select at least min_pairs PER IMAGE with biggest similarity exhaustive_if_less = 20, device=device) t=time() -t timings['shortlisting'].append(t) print (f'{len(index_pairs)}, pairs to match, {t:.4f} sec') gc.collect() t=time() if LOCAL_FEATURE != 'LoFTR': detect_features(img_fnames, 2048, feature_dir=feature_dir, upright=True, device=device, resize_small_edge_to=600 ) gc.collect() t=time() -t timings['feature_detection'].append(t) print(f'Features detected in {t:.4f} sec') t=time() match_features(img_fnames, index_pairs, feature_dir=feature_dir,device=device) else: match_loftr(img_fnames, index_pairs, feature_dir=feature_dir, device=device, resize_to=(600, 800)) t=time() -t timings['feature_matching'].append(t) print(f'Features matched in {t:.4f} sec') database_path = f'{feature_dir}/colmap.db' if os.path.isfile(database_path): os.remove(database_path) gc.collect() import_into_colmap(img_dir, feature_dir=feature_dir,database_path=database_path) output_path = f'{feature_dir}/colmap_rec_{LOCAL_FEATURE}' t=time() pycolmap.match_exhaustive(database_path) t=time() - t timings['RANSAC'].append(t) print(f'RANSAC in {t:.4f} sec')

2023-06-01 上传