全球熱推薦:世界上最簡潔的人臉識別庫:face_recognition
文章目錄
(資料圖片僅供參考)
前言一、face_recognition1.1 安裝1.2 檢測人臉位置1.3 識別人臉 二、PaddleDetection2.1 安裝2.2 運行 三、DeepFace3.1 安裝3.2 檢測人臉位置3.3 人臉屬性分析 四、insightface4.1 安裝4.2 運行 五、SeetaFaceEngine5.1 編譯5.2 人臉檢測5.3 face alignment5.4 人臉檢測相似率 六、OpenFace6.1 安裝6.2 運行 參考
前言
人臉識別是機器學習熱門領域之一,在 github 上有很多項目實現了各種人臉識別功能,以下面6個測試軟件使用
https://github.com/ageitgey/face_recognitionhttps://github.com/PaddlePaddle/PaddleDetectionhttps://github.com/serengil/deepfacehttps://github.com/deepinsight/insightfacehttps://github.com/seetaface/SeetaFaceEnginehttps://github.com/TadasBaltrusaitis/OpenFace
一、face_recognition
face_recognition 是世界上最簡潔的人臉識別庫,可以使用 Python 和命令行工具提取、識別、操作人臉。
face_recognition 項目的人臉識別是基于業內領先的C++開源庫 dlib中的深度學習模型,用Labeled Faces in the Wild人臉數據集進行測試,有高達99.38%的準確率。但對小孩和亞洲人臉的識別準確率尚待提升。
1.1 安裝
pip install face_recognition
1.2 檢測人臉位置
可以使用命令行命令 face_detection來識別人臉,下面以胡歌照片為例,來演示具體使用
face_detection faces/huge.jpg# 輸出:faces/huge.jpg,101,221,173,149
使用命令行只顯示了位置的具體坐標,不能準確的用肉眼查看,可以使用 python 來標記
import face_recognitionfrom PIL import Image, ImageDrawimage = face_recognition.load_image_file("huge.jpg")face_locations = face_recognition.face_locations(image)pil_image = Image.fromarray(image)draw = ImageDraw.Draw(pil_image)for (top, right, bottom, left) in face_locations: draw.rectangle(((left, top), (right, bottom)), outline=(0, 0, 255))del drawpil_image.save("huge_face.jpg")
多張人臉檢測
原始照片
標記人臉位置照片
1.3 識別人臉
face_recognition 不僅支持識別人臉所在照片位置,更能識別人臉所代表的人
將 [‘劉詩詩.jpg’, ‘唐嫣.jpg’, ‘楊冪.jpg’, ‘胡歌.jpg’, ‘霍建華.jpg’, ‘黃志瑋.jpg’] 照片放在一個文件夾下,例如我的是 known 文件夾下,再將仙劍三海報 all.jpg 放在和腳本同一目錄下,開始識別人臉
測試的6張照片都是從網上找的,鏈接如下
劉詩詩唐嫣楊冪胡歌霍建華黃志瑋
import face_recognitionimport osfrom PIL import Image, ImageDraw, ImageFontimport numpy as npfont = ImageFont.truetype("C:\\Windows\\Fonts\\simsun.ttc", 40, encoding="utf-8")known_path = "../known"known_face_names = []known_face_encodings = []images = os.listdir(known_path)print(images)for image in images: if image.endswith("jpg"): known_face_names.append(os.path.basename(image).split(".")[0]) image_data = face_recognition.load_image_file(os.path.join(known_path, image)) known_face_encodings.append(face_recognition.face_encodings(image_data)[0])all_face_path = "all.jpg"all_image = face_recognition.load_image_file(all_face_path)all_face_locations = face_recognition.face_locations(all_image)all_face_encodings = face_recognition.face_encodings(all_image, all_face_locations)pil_image = Image.fromarray(all_image)draw = ImageDraw.Draw(pil_image)for (top, right, bottom, left), face_encoding in zip(all_face_locations, all_face_encodings): matches = face_recognition.compare_faces(known_face_encodings, face_encoding, tolerance=0.5) name = "未知" face_distances = face_recognition.face_distance(known_face_encodings, face_encoding) best_match_index = np.argmin(face_distances) if matches[best_match_index]: name = known_face_names[best_match_index] draw.rectangle(((left, top), (right, bottom)), outline=(0, 0, 255)) text_width, text_height = draw.textsize(name, font=font) draw.text((left + 6, bottom - text_height - 5), name, fill=(255, 255, 255, 255), font=font)del drawpil_image.save("all_faces.jpg")
二、PaddleDetection
PaddleDetection為基于飛槳 PaddlePaddle 的端到端目標檢測套件,內置30+模型算法及250+預訓練模型,覆蓋目標檢測、實例分割、跟蹤、關鍵點檢測等方向,其中包括服務器端和移動端高精度、輕量級產業級SOTA模型、冠軍方案和學術前沿算法,并提供配置化的網絡模塊組件、十余種數據增強策略和損失函數等高階優化支持和多種部署方案,在打通數據處理、模型開發、訓練、壓縮、部署全流程的基礎上,提供豐富的案例及教程,加速算法產業落地應用。
2.1 安裝
下載源碼,根據readme安裝,注意下載源碼版本需要根 paddlepaddle 版本對應。
安裝過程中,安裝cython bbox 失敗,解決方法:windows下安裝cython-bbox失敗。下載資源:cython+bbox-0.1.3
2.2 運行
PaddleDetection 內置一個高效、高速的人臉檢測解決方案,包括最先進的模型和經典模型
python tools/infer.py -c configs/face_detection/blazeface_1000e.yml -o weights=https://paddledet.bj.bcebos.com/models/blazeface_1000e.pdparams --infer_img=C:\Users\supre\Desktop\faces\all.jpg --output_dir=infer_output/ --draw_threshold=0.6
三、DeepFace
Deepface 是一個輕量級的人臉面部識別和面部屬性分析(年齡、性別、情感和種族)框架。它是一個混合的人臉識別框架,包裝了最先進的模型:VGG-Face, Google FaceNet, OpenFace, Facebook DeepFace, DeepID, ArcFace, Dliband SFace.
實驗表明,人類在面部識別任務上的準確率為97.53%,而這些模型已經達到并通過了這個準確率水平。
3.1 安裝
pip install deepface
3.2 檢測人臉位置
from deepface import DeepFacefrom deepface.detectors import FaceDetectorimport cv2img_path = "C:\\Users\\supre\\Desktop\\faces\\all.jpg"detector_name = "opencv"img = cv2.imread(img_path)detector = FaceDetector.build_model(detector_name) #set opencv, ssd, dlib, mtcnn or retinafaceobj = FaceDetector.detect_faces(detector, detector_name, img)faces = []regions = []for o in obj: face, region = o faces.append(face) regions.append(region)for (x, y, w, h) in regions: cv2.rectangle(img, (x, y), (x+w, y + h), (0, 0, 255), 2)cv2.imwrite("all_deep_face.jpg", img)cv2.imshow("faces", img)cv2.waitKey(0)print("there are ",len(obj)," faces")
3.3 人臉屬性分析
運行下面代碼會從 github 下載訓練好的模型文件,如果下載太慢可手動下載:https://github.com/serengil/deepface_models/releases/
from deepface import DeepFaceobj = DeepFace.analyze(img_path = "faces/huge.jpg", actions = ["age", "gender", "race", "emotion"])print(obj)
輸出:
{"age": 31, "region": {"x": 141, "y": 90, "w": 92, "h": 92}, "gender": "Man", "race": {"asian": 86.62416855240873, "indian": 0.2717677898641103, "black": 0.025535856615095234, "white": 11.001530200334203, "middle eastern": 0.36970814565319693, "latino hispanic": 1.707288910883004}, "dominant_race": "asian", "emotion": {"angry": 4.005255788877951, "disgust": 1.1836746688898558e-05, "fear": 91.75890038960578, "happy": 1.023393651002267, "sad": 0.9277909615809299, "surprise": 2.081933555420253, "neutral": 0.20271948350039026}, "dominant_emotion": "fear"}
四、insightface
insightface 是一個開源的二維和三維深度面部分析工具箱,主要基于 PyTorch 和 MXNet。實現了很多人臉識別、人臉檢測和人臉對齊算法,為訓練和部署進行了優化。
4.1 安裝
pip install insightface
4.2 運行
運行出現報錯:TypeError: __init__() got an unexpected keyword argument "provider_options"
查找資料Error “got an unexpected keyword argument ‘provider_options’” when running quick example of insightface得知:是由于onnxruntime 版本過低導致,更新版本
pip install onnxruntime==1.6.0
import cv2import numpy as npimport insightfacefrom insightface.app import FaceAnalysisfrom insightface.data import get_image as ins_get_imageapp = FaceAnalysis(providers=["CUDAExecutionProvider", "CPUExecutionProvider"])app.prepare(ctx_id=0, det_size=(640, 640))img = ins_get_image("C:\\Users\\supre\\Desktop\\faces\\all")faces = app.get(img)rimg = app.draw_on(img, faces)cv2.imwrite("./all_output.jpg", rimg)
五、SeetaFaceEngine
SeetaFaceEngine 是一個開源的C++人臉識別引擎,由中科院計算所山世光研究員帶領的人臉識別研究組研發。代碼基于C++實現,且不依賴于任何第三方的庫函數,開源協議為BSD-2,可供學術界和工業界免費使用它可以運行在CPU上。它包含人臉檢測、人臉對準和人臉識別三個關鍵部分,是構建真實人臉識別應用系統的必要和充分條件
5.1 編譯
SeetaFaceEngine 包含三部分,所以需要使用 cmake 編譯三次,編譯方法見 readme
5.2 人臉檢測
#include#include#include#include#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include "face_detection.h"using namespace std;int main(int argc, char** argv) { const char* img_path = "C:\\Users\\supre\\Desktop\\faces\\all.jpg"; seeta::FaceDetection detector("E:\\tmp\\SeetaFaceEngine-master\\FaceDetection\\model\\seeta_fd_frontal_v1.0.bin"); detector.SetMinFaceSize(40); detector.SetScoreThresh(2.f); detector.SetImagePyramidScaleFactor(0.8f); detector.SetWindowStep(4, 4); cv::Mat img = cv::imread(img_path, cv::IMREAD_UNCHANGED); cv::Mat img_gray; if (img.channels() != 1) cv::cvtColor(img, img_gray, cv::COLOR_BGR2GRAY); else img_gray = img; seeta::ImageData img_data; img_data.data = img_gray.data; img_data.width = img_gray.cols; img_data.height = img_gray.rows; img_data.num_channels = 1; long t0 = cv::getTickCount(); std::vectorfaces = detector.Detect(img_data); long t1 = cv::getTickCount(); double secs = (t1 - t0)/cv::getTickFrequency(); cout << "Detections takes " << secs << " seconds " << endl; cout << "Image size (wxh): " << img_data.width << "x" << img_data.height << endl; cv::Rect face_rect; int32_t num_face = static_cast(faces.size()); for (int32_t i = 0; i < num_face; i++) { face_rect.x = faces[i].bbox.x; face_rect.y = faces[i].bbox.y; face_rect.width = faces[i].bbox.width; face_rect.height = faces[i].bbox.height; cv::rectangle(img, face_rect, CV_RGB(0, 0, 255), 4, 8, 0); } cv::namedWindow("Test", cv::WINDOW_AUTOSIZE); cv::imwrite("all_1.jpg", img); cv::imshow("Test", img); cv::waitKey(0); cv::destroyAllWindows();}
5.3 face alignment
face alignment 指 通過一定量的訓練集(人臉圖像和每個圖像上相對應的多個landmarks),來得到一個model,使得該model再輸入了一張任意姿態下的人臉照片后,能夠對該照片中的關鍵點進行標記.
#include#include#include#include#include "cv.h"#include "highgui.h"#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include "face_detection.h"#include "face_alignment.h"int main(int argc, char** argv){// Initialize face detection model std::string MODEL_DIR = "E:\\tmp\\SeetaFaceEngine-master\\FaceAlignment\\model\\"; std::string DATA_DIR = "E:\\tmp\\SeetaFaceEngine-master\\FaceAlignment\\data\\"; std::string IMG_PATH = DATA_DIR + "all.jpg"; int pts_num = 5; seeta::FaceDetection detector("E:\\tmp\\SeetaFaceEngine-master\\FaceDetection\\model\\seeta_fd_frontal_v1.0.bin"); detector.SetMinFaceSize(40); detector.SetScoreThresh(2.f); detector.SetImagePyramidScaleFactor(0.8f); detector.SetWindowStep(4, 4); // Initialize face alignment model seeta::FaceAlignment point_detector((MODEL_DIR + "seeta_fa_v1.1.bin").c_str()); //load image cv::Mat img = cv::imread(IMG_PATH, cv::IMREAD_UNCHANGED); cv::Mat img_gray; if (img.channels() != 1) cv::cvtColor(img, img_gray, cv::COLOR_BGR2GRAY); else img_gray = img; seeta::ImageData img_data; img_data.data = img_gray.data; img_data.width = img_gray.cols; img_data.height = img_gray.rows; img_data.num_channels = 1; std::vectorfaces = detector.Detect(img_data); int32_t face_num = static_cast(faces.size()); std::cout<<"face_num:"<<FACE_NUM; if="" (face_num="=" 0)="" {return 0; } cv::Rect face_rect; for (int32_t i = 0; i < face_num; i++) {face_rect.x = faces[i].bbox.x; face_rect.y = faces[i].bbox.y; face_rect.width = faces[i].bbox.width; face_rect.height = faces[i].bbox.height; cv::rectangle(img, face_rect, CV_RGB(0, 0, 255), 4, 8, 0); // Detect 5 facial landmarks seeta::FacialLandmark points[5]; point_detector.PointDetectLandmarks(img_data, faces[i], points); for (int i = 0; i< pts_num; i++) {cv::circle(img, cvPoint(points[i].x, points[i].y), 2, CV_RGB(0, 255, 0), CV_FILLED); } } cv::namedWindow("Test", cv::WINDOW_AUTOSIZE); cv::imwrite("test.jpg", img); cv::imshow("Test", img); cv::waitKey(0); cv::destroyAllWindows(); return 0;}
5.4 人臉檢測相似率
#include#include#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include "face_identification.h"#include "recognizer.h"#include "face_detection.h"#include "face_alignment.h"#include "math_functions.h"#include#include#include#includeusing namespace seeta;using namespace std;std::string DATA_DIR = "E:\\tmp\\SeetaFaceEngine-master\\FaceIdentification\\data\\";std::string MODEL_DIR = "E:\\tmp\\SeetaFaceEngine-master\\FaceIdentification\\model\\";int main(int argc, char* argv[]) {// Initialize face detection model seeta::FaceDetection detector("E:\\tmp\\SeetaFaceEngine-master\\FaceDetection\\model\\seeta_fd_frontal_v1.0.bin"); detector.SetMinFaceSize(40); detector.SetScoreThresh(2.f); detector.SetImagePyramidScaleFactor(0.8f); detector.SetWindowStep(4, 4); // Initialize face alignment model seeta::FaceAlignment point_detector("E:\\tmp\\SeetaFaceEngine-master\\FaceAlignment\\model\\seeta_fa_v1.1.bin"); // Initialize face Identification model FaceIdentification face_recognizer((MODEL_DIR + "seeta_fr_v1.0.bin").c_str()); std::string test_dir = DATA_DIR + "test_face_recognizer/"; //load image cv::Mat gallery_img_color = cv::imread(test_dir + "images/liushishi_1.jpg", 1); cv::Mat gallery_img_gray; cv::cvtColor(gallery_img_color, gallery_img_gray, CV_BGR2GRAY); cv::Mat probe_img_color = cv::imread(test_dir + "images/liushishi_2.jpg", 1); cv::Mat probe_img_gray; cv::cvtColor(probe_img_color, probe_img_gray, CV_BGR2GRAY); ImageData gallery_img_data_color(gallery_img_color.cols, gallery_img_color.rows, gallery_img_color.channels()); gallery_img_data_color.data = gallery_img_color.data; ImageData gallery_img_data_gray(gallery_img_gray.cols, gallery_img_gray.rows, gallery_img_gray.channels()); gallery_img_data_gray.data = gallery_img_gray.data; ImageData probe_img_data_color(probe_img_color.cols, probe_img_color.rows, probe_img_color.channels()); probe_img_data_color.data = probe_img_color.data; ImageData probe_img_data_gray(probe_img_gray.cols, probe_img_gray.rows, probe_img_gray.channels()); probe_img_data_gray.data = probe_img_gray.data; // Detect faces std::vectorgallery_faces = detector.Detect(gallery_img_data_gray); int32_t gallery_face_num = static_cast(gallery_faces.size()); std::vectorprobe_faces = detector.Detect(probe_img_data_gray); int32_t probe_face_num = static_cast(probe_faces.size()); if (gallery_face_num == 0 || probe_face_num==0) {std::cout << "Faces are not detected."; return 0; } // Detect 5 facial landmarks seeta::FacialLandmark gallery_points[5]; point_detector.PointDetectLandmarks(gallery_img_data_gray, gallery_faces[0], gallery_points); seeta::FacialLandmark probe_points[5]; point_detector.PointDetectLandmarks(probe_img_data_gray, probe_faces[0], probe_points); for (int i = 0; i<5; i++) {cv::circle(gallery_img_color, cv::Point(gallery_points[i].x, gallery_points[i].y), 2, CV_RGB(0, 255, 0)); cv::circle(probe_img_color, cv::Point(probe_points[i].x, probe_points[i].y), 2, CV_RGB(0, 255, 0)); } cv::imwrite("gallery_point_result.jpg", gallery_img_color); cv::imwrite("probe_point_result.jpg", probe_img_color); // Extract face identity feature float gallery_fea[2048]; float probe_fea[2048]; face_recognizer.ExtractFeatureWithCrop(gallery_img_data_color, gallery_points, gallery_fea); face_recognizer.ExtractFeatureWithCrop(probe_img_data_color, probe_points, probe_fea); // Caculate similarity of two faces float sim = face_recognizer.CalcSimilarity(gallery_fea, probe_fea); std::cout << "相似率:"<<SIM <<endl;="" return="" 0;}
使用兩張劉詩詩照片對比:相似率為 0.679915
六、OpenFace
OpenFace, 一個旨在為計算機視覺和機器學習研究人員、情感計算社區和有興趣構建基于面部行為分析的交互式應用程序的人使用的工具。OpenFace是第一個能夠進行面部地標檢測、頭部姿態估計、面部動作單元識別和眼睛-注視估計的工具包,它具有可用的源代碼,可用于運行和訓練模型。代表 OpenFace 核心的計算機視覺算法在上述所有任務中都展示了最先進的結果。此外,我們的工具能夠實時性能,并能夠運行在非專業的硬件上, 例如一個簡單的網絡攝像頭。
6.1 安裝
window 32位:https://github.com/TadasBaltrusaitis/OpenFace/releases/download/OpenFace_2.2.0/OpenFace_2.2.0_win_x86.zip64位:https://github.com/TadasBaltrusaitis/OpenFace/releases/download/OpenFace_2.2.0/OpenFace_2.2.0_win_x64.zip Linux:https://github.com/TadasBaltrusaitis/OpenFace/wiki/Unix-InstallationMac:https://github.com/TadasBaltrusaitis/OpenFace/wiki/Mac-Installation
6.2 運行
OpenFace windows 版安裝完成后還需要下載模型數據:https://github.com/TadasBaltrusaitis/OpenFace/wiki/Model-download,放在安裝目錄\model\patch_experts下面。
OpenFace 還提供了一些工具用于在命令行實現人臉識別
FaceLandmarkImg 從照片中識別人臉,還是以仙劍3海報做例子放在samples下面,再新建輸出文件夾out_dir,開始識別人臉
FaceLandmarkImg.exe -f "samples/all.jpg" -out_dir "out_dir"
輸出結果為:
FaceLandmarkVid 從視頻中識別人臉
FaceLandmarkVidMulti 從多個視頻中識別人臉
FeatureExtraction 用于包含單個人臉的分析
參考
windows下安裝cython-bbox失敗
標簽:
相關推薦:
精彩放送:
- []環球資訊:舍入模式有哪些?八種舍入模式的解釋
- []環球新動態:FB是什么意思?PCB原理圖中的FB是什么意思?
- []每日播報!如何下載Navicat數據庫管理編輯軟件?如何打開.db數據庫文件?
- []年產能10GWh!青禾新能80億建儲能系統集成基地和光伏儲能電站
- []“平均數”到底是什么意思?加權平均數又是什么意思?
- []【快播報】99歲的芒格:投資中國更值得 比亞迪比特斯拉好!
- []QQ象棋java通用版怎么下載?QQ中國象棋官方免費版下載
- []全球微動態丨丟了上市公司的陜西富豪,攜鋰電“核彈”卷土重來
- []環球熱推薦:“日光基”鳴槍!基金大佬齊上陣 A股增量資金入場
- []每日聚焦:加加食品:數字科技子公司目前沒有應用到該項技術
- []環球實時:安科生物:公司的曲妥珠單抗產品目前仍在國家藥品審評中心開展審評審批工作
- []天天動態:A股突發跳水!15家基金緊急解讀
- []天天速讀:復蘇開啟之后,VC重回旅游業了嗎? | 重啟
- []訊息:中國居民存款破紀錄 具體詳細內容是什么
- []今日訊!首次實現全年盈利,Airbnb被戲稱“精簡的賺錢機器”
- []e生保2020費率表
- []2021年小車保險怎么買
- []美股異動 | 部分中概股逆市上漲 金山云(KC.US)漲超5%
- []全球視點!保險對家庭的重要性
- []焦點熱門:怎么用電話定火車票_怎么用電話定火車票最快
- []每日消息!最新射手榜:哈蘭德無解凱恩破紀錄萊萬姆皇被追趕四神鋒13球
- []天天觀點:蔚來(NIO.US)將于3月1日美股盤前公布Q4業績
- []勝利精密訴訟時效僅剩兩月 已有投資者獲賠451萬元
- []華測導航:2月15日公司高管趙延平減持公司股份合計60萬股
- []焦點要聞:值得買:2月15日公司高管劉峰減持公司股份合計1.95萬股
- []友訊達:2月15日公司高管崔濤減持公司股份合計4萬股
- []天天微速訊:美亞柏科: 公司關注數字防偽技術的發展,將根據業務開展需要適時投入研究并布局相關業務
- []視焦點訊!天奧電子:公司的時間頻率相關產品有配套應用于機載平臺,感謝您的關心!
- []當前關注:ST浩源:公司公章由公司行政部門保管,用印時根據業務流程,在釘釘上逐級審批
- []最新快訊!嘉必優:2月15日公司高管汪志明減持公司股份合計1000股
- []澳能建設(01183)與Coastal及YMG擬就于新加坡、馬來西亞及越南發展電動汽車充電系統業務相互成為業務伙伴
- []得潤電子:目前雙方僅有少量業務往來
- []今日報丨新華都:公司持續關注新興技術的發展,探索相關技術與公司業務的有機結合,提升公司競爭力
- []全球快資訊丨科恒股份:公司沒有進行過稀土儲氫方面的研究,著力發展的是鋰離子正極材料和鋰電池智能裝備業務
- []世界熱推薦:亞普股份:公司目前推出的兩款儲氫系統產品均已通過型式認證,并投入示范運行,市場推廣工作正在持續開展中
- []每日視點!天元股份:公司及其子公司可為相關新能源行業的公司提供各類包裝產品,如電子標簽、紙箱、背膠袋等
- []羅平鋅電:感謝提問,截止2023年2月10日 公司股東人數為33,121戶
- []全球快消息!美麗田園加盟店和直營店的區別_加盟店和直營店的區別
- []環球熱推薦:華仁藥業:公司積極布局飲料、化妝品、健康飲品等大健康產品線
- []螢石網絡:ChatGPT是人工智能技術驅動的自然語言處理工具,公司會密切關注新技術的發展
- []*ST科林轉型迷途,能否絕境逢生?
- []焦點快看:銀漿龍頭帝科股份董事長將股權激勵授予外人受處罰,親手毀掉公司定增!
- []海辰儲能獲中國銀行百億授信!
- []今日熱門!飛輪儲能有哪些優點?簡述飛輪儲能系統的優缺點
- []近期交付相對緊張 硅片價格持穩運行(2.16)
- []思維到行動,全面進階|FAENZA 法恩莎衛浴戰略管理實戰輔導班圓滿召開
- []當前速讀:微導納米:公司相關產品及技術情況,您可查詢公司披露的招股說明書或其他公開信息
- []當前報道:2月16日羅 牛 山漲停分析:賽馬,海南,養豬概念熱股
- []全球最資訊丨相愛不易要珍惜怎么表達?相愛不易要珍惜的句子有哪些?
- []日語五十音圖記憶方法有哪些?日語五十音圖記憶方法介紹?
- []全球熱消息:杭州西湖好玩嗎?杭州西湖有哪些美景?
- []當前短訊!躲避的反義詞有哪些?躲避是什么意思?
- []每日熱議!關于古埃及的電影有什么?有關埃及的10大必看電影介紹
- []熱點!hkc是什么牌子的顯示器?hkc品牌資料介紹?
- []2月16日大豪科技漲停分析:白酒,數字經濟,網絡安全概念熱股
- []觀察:寧波建工:中經云目前未申請上市
- []【快播報】六鰲在哪里?六鰲資料介紹
- []全球熱推薦:2月16日英特集團漲停分析:醫藥商業,醫藥,浙江國企改革概念熱股
- []苗僑偉演的關于黑社會的電視劇是哪部?講述了什么劇情?
- []重點聚焦!你是猴子請來的救兵嗎是什么梗?你是猴子請來的救兵嗎是怎么來的?
- []當前熱訊:三峽能源:新能源儲備規模超140GW,正在開展儲能等示范工程
- []環球簡訊:怎么炒草菇?炒草菇的方法是什么?
- []共享儲能發展“前夜”
- []全球觀焦點:南都電源中標1.36GWh鋰電儲能項目
- []日媒:日本1月貿易逆差約3.5萬億日元創新高
- []世界新動態:重慶首個鋰電化學儲能整裝項目年內投產
- []國際金價小幅反彈,但多頭須離場,該風險上升將利好美元
- []當前速看:湖南裕能:公司目前沒有這樣的計劃,專注于把正極材料做精、做強、做大
- []【世界播資訊】國際金價后市下看1785美元
- []每日熱聞!“黑四”魔咒再現!A股三大指數午后集體跳水,兩市超4500股下跌
- []宇通重工:公司有工程機械出口業務,公司出口業務收入占公司整體收入比例較低
- []訂單激增!多家企業密集布局儲能電池項目
- []頭條:上海歡樂谷過山車出故障滯空十分鐘,關聯公司涉多起安全保障糾紛
- []勤哲Excel服務器無代碼實現家居建材企業管理系統
- []環球速讀:投行預測紐元將小幅走高,一季度末前或漲百點至0.64
- []每日看點!花園生物:公司已規劃骨化醇類原料藥和制劑項目的建設,項目建成后,公司將邁上維生素D3全產業鏈的塔尖
- []浙商銀行:我行通過持續提升自身經營質效以提高市場認可度
- []熱點聚焦:美原油交易策略:兩大機構上調需求前景支撐油價,后市劍指100日均線?
- []環球最新:2023春運收官:自駕成最大贏家 ,租車訂單量超疫情前69%
- []每日熱議!全球旅行需求強勁復蘇,國際旅游業漸趨好轉
- []八大券商主題策略:硬醫療科技是個大機會 中藥強者恒強!從六大維度選擇標的
- []【焦點熱聞】春耕備耕正當時 高標準農田建設忙
- []【天天熱聞】華僑城預虧百億,18家平均虧損2億元,2023上市旅企能否打贏翻身仗?
- []快資訊丨現貨黃金交易策略:金價反彈受阻,關注初請和PPI數據
- []【BT金融分析師】歐萊雅在中國市場面臨挑戰,分析師稱中國本土化妝品強勢崛起所致
- []全球熱推薦:【BT金融分析師】車車科技赴美借殼上市,分析師稱中概股樂觀情緒重燃
- []黃金市場分析:若上漲突破1850,或進一步走強測試1860和1870阻力
- []視訊!2月16日匯市觀潮:歐元、英鎊和日元技術分析
- []遙望科技:目前雙方主要圍繞供應鏈進行合作
- []華領醫藥-B(02552)首家官方旗艦店落戶1藥網(YI.US)
- []長纜科技:公司員工持股計劃的會計處理,嚴格按照《企業會計準則第11號——股份支付》的規定執行
- []俄外長:將要求聯合國對“北溪”管道遭破壞事件進行調查
- []熱點在線丨山荷葉的花語是什么
- []珈偉新能:公司目前暫未開展相關充電樁業務
- []天天熱推薦:鹽的保質期限是幾年
- []焦點快看:三星醫療:為保證信息披露的公平性,公司將在定期報告中披露股東人數
- []今日報丨翰宇藥業前高管挪用資金暴露涉嫌財務造假? 資金鏈緊張實控人套現近7億“救急”
- []焦點速看:福建云霄抽水蓄能電站下水庫工程開工
- []今日快訊:巨安儲能稱目前簽訂訂單已經超過25億元
- []訊息:清朝固倫公主有多少個?清朝固倫公主介紹?
- 如何進行正交試驗設計?試驗設計—正交表的使用方法
- 每日速遞:【技術】通電延時定時器指令工作原理 應用舉例
- 每日報道:如何在windows上交叉編譯ffmpeg?具體操作步驟
- 最新快訊!儲能數字化轉型勢在必行,華能清能院正全方位打造儲能數字化技術“護城河”
- 環球看熱訊:贛鋒鋰業關聯公司掛牌新三板 主營磷酸鐵鋰正極材料
- 全球熱推薦:世界上最簡潔的人臉識別庫:face_recognition
- Spring之AOP|使用場景、原理、配置、使用方式
- 通過Chrome來知道提交加價的請求應該是什么?
- 天天熱文:受儲能市場帶動 2022-2026年干法隔膜出貨年復合增速將超35%
- 臺灣旅游業者:盼關系盡快回溫,大陸游客早回流
- B站注冊資本增幅400%至5億 目前由陳睿全資持股
- 光源資本出任獨家財務顧問 沐曦集成電路10億元A輪融資宣告完成
- 巨輪智能2021年上半年營收11.24億元 期內研發費用投入增長19.05%
- 紅棗期貨尾盤拉升大漲近6% 目前紅棗市場總庫存約30萬噸
- 嘉銀金科發布2021年Q2財報 期內凈利潤達1.27億元同比增長208%
- 成都銀行2021上半年凈利33.89億元 期內實現營收同比增長17.27億元
- 汽車之家發布2021年第二季度業績 期內新能源汽車品牌收入增長238%
- 中信銀行上半年實現凈利潤290.31億元 期末不良貸款余額706.82億元
- 光伏概念掀起漲停潮交易價格創新高 全天成交額達1.29億元
- 上半年生物藥大增45% 關鍵財務指標好轉營收賬款持續下降
- 全球球精選!成都公交車上掉了東西怎么辦?成都公交車找回丟失物的方法?
- 觀速訊丨豬沙是什么?豬沙有什么用途?
- 每日精選:駕駛證怎么審驗?審驗駕駛證需要帶什么證件?
- 天天速遞!描寫教室里安靜的句子怎么寫?描寫教室里安靜的句子有哪些?
- 全球今日訊!長?。捍蛟焓澜缂壩纳搪镁C合體,將成為開放式主題樂園
- 天天快消息!新西蘭旅游局華夫:預計游客數量將在未來幾個月回升
- 環球實時:環球旅訊海外聯動WiT:推出“中國旅游市場回歸”主題論壇
- 哈爾濱第二職業高中怎么樣?哈爾濱第二職業高中在哪里?
- 天天觀速訊丨交通信用卡怎樣激活?交通信用卡的激活方式有哪些?
- 愛情密語短句有哪些?愛情密語短句匯總?
- 通達動力:公司主要生產的電機定轉子鐵芯,產品品種齊全,能夠應用于不同種類和型號的電機
- 世界微頭條丨什么是恐怖主義?恐怖主義是指什么?
- 觀熱點:加載dll失敗是怎么回事?加載dll失敗如何解決?
- 金達威:目前未有新的信息披露
- 阿特斯太陽能(CSIQ.US):EP CUBE住宅儲能解決方案將于西班牙貿易展展出
- 博邁科:公司積極參與風電、氫能等項目投標,尋求新能源領域的業務突破
- 消息!64家儲能政企單位共建省級“朋友圈” 營造產業協作好生態
- 廣西:超2GWh,21個儲能項目進重大項目清單
- PPT | 鈉電池行業系列深度報告:性能和應用有望與鋰電互補,2023 年將迎量產元年
- 千萬級個人成長暢銷書作家張德芬:花若盛開,蝴蝶自來
- 萬豪Q4非客房收入超出預期,ADR相比2019年增長13%
- 荊門高新區站上鋰電風口,構建產城融合標桿!
- 世界今頭條!重磅信號!陳光明旗下基金 又有大消息!
- 天天觀察:2022年新增裝機規模寧夏居首 新型儲能發力開啟“儲能+”時代
- 【天天速看料】港股異動丨航空股普漲 三大航司1月客運數據均實現高雙位數增長
- 每日頭條!中國人壽:我公司推出專項理賠服務舉措,簡化理賠手續和流程,在滿足條件的情況下及時為客戶進行賠付
- 全球百事通!益生股份:益生909的料肉比約為1.75,48天出欄的體重約為3.5斤
- 今日最新!天藍色配什么顏色好看
- 【天天熱聞】世嘉科技:榮旗科技系公司參股公司,關于榮旗科技的經營范圍請關注其企業簡介
- 環球速看:國泰君安:投資制造業股票看什么 投資、訂單、業績
- 【世界獨家】公私募發行回暖 多路資金陸續進場
- 天天觀速訊丨總投資100億!15GWh固態電池基地項目落地成都
- 世界熱資訊!公募基金摩拳擦掌 掀起新一輪招聘熱
- 當前報道:酒店情侶房預訂爆火背后:去年超500家酒店被拍賣,各品牌沖擊中高端市場
- 全面回血!三大航司增長2到4倍 機構高喊:超級周期!
- 【時快訊】外匯交易提醒:“恐怖數據”提振升息前景,美元升至近六周高位
- 熱議:ST易購回復關注函:努力恢復正常生產經營
- 三六零:本次處置騰訊音樂的投資回報,不計入公司當期營業收入,不影響當期利潤
- 全球微動態丨原油交易提醒:IEA上調全球石油需求增長預測,庫存飆升限制油價漲幅
- 快可電子:公司官網介紹的工業自動化產品主要是指工業自動化領域用連接器
- 印度航空訂購250架空客飛機,將創航司訂單紀錄
- 頭條焦點:奇瑞新能源或今年年底登陸科創板上市
- 快資訊丨TD早報 | 首個3000人內地團將訪港參加會議及觀賞演出;國內多家上市航司最新運營數據亮眼
- 環球最資訊丨一磅有多少千克?_1磅 千克
- 李詠什么癌李詠是因為什么原因去世的
- 【新要聞】弋陽縣氣象臺發布大霧黃色預警信號【III級/較重】【2023-02-16】
- 姓趙以“雅”字開頭的女孩名字推薦
- 電匯是什么意思
- 動態焦點:上海艾錄:2月14日公司高管陳曙減持公司股份合計5萬股
- 【世界聚看點】愛樂達:2月14日公司高管劉曉芬、陳苗減持公司股份合計4.85萬股
- 華亞智能:2月14日公司高管韓旭鵬減持公司股份合計1.52萬股
- 【新要聞】新銳股份2022年度凈利1.5億同比增長10.10% 硬質合金和硬質合金工具產品銷售均保持增長勢頭
- 每日快報!友訊達:2月14日公司高管崔濤減持公司股份合計2萬股
- 快報:魔獸爭霸生存反擊戰_《魔獸世界》迎接絕地反擊
- 環球報道:教育部:“葉圣陶杯”等系列賽事均為違規競賽
- 全球微頭條丨海信集團董事長成“年拋” 林瀾請辭賈少謙接任
- 山東玻纖:2月13日宋忠玲減持公司股份合計8.5萬股
- 威奧股份:2月14日公司高管李世坤增持公司股份合計10萬股
- 天天日報丨三花智控:熱泵是新能源汽車熱管理非常確定的方向,越來越多的車型選擇走熱泵的技術路徑
- 天天百事通!廈門信達:公司的RFID電子車牌項目主要應用為車輛智慧交通管理、道路年費自動稽查等
- 全球觀速訊丨銀禧科技:2月14日公司高管鄭桂華減持公司股份合計7.34萬股
- 全球滾動:特高壓第一股,賺錢能力板塊第1,2022年業績預增130%,股票回撤40%
- ST中基:截止目前,公司現有廠區占地面積約80萬平方米
- 【新視野】榮信文化:公司擁有大量自主版權圖書,所以非常重視發展過程中的知識產權保護
- 焦點消息!華大九天:AI技術對EDA的發展有重要的促進作用,公司已將AI技術應用于現有產品中
- 消息!動力電池開啟新技術競賽
- 通訊!世界銀行:南非電池儲能市場已經成熟,2030年將增至9700MWh
- 河南下發2.5GW獨立儲能項目!
- 心字底的字有哪些 心字底的字大全
- 世界球精選!中百集團:公司中百大廚房現有少量預制菜肴,目前銷售占比較低,不會對公司經營業績產生重大影響
- 大族激光:公司嚴格按照相關法律法規進行信息披露,不存在大股東挪用資金的情況
- 皖通科技:相關信息屬于涉密信息,不屬于對外披露范疇
- 天天微動態丨山東肥城300MW鹽穴先進壓縮空氣儲能示范項目開工
- 蜂巢能源聯合浙銀金租 共推鋰電產業金融服務創新模式
- 納暉新能源正式啟動“躍升行動”
- 國泰航空1月運營數據:客運量突破百萬人次,同比增加40倍
- 天天微資訊!微漲!多晶硅均價240元/kg以上
- 【環球速看料】奧聯電子請來了鈣鈦礦大神
- 全球熱門:河南省第二批省級獨立儲能電站示范項目遴選結果名單公示
- 環球快消息!為“北轉型”蓄勢儲能!寶山信息基礎設施建設取得新進展
- 協鑫集成:擬20億元投建12GW高效光伏組件項目
- 有種“演技”叫入戲太深,李純痛哭,王傳君得癌癥,最后為劇奉獻出生命
- 【聚看點】2月15日華映科技漲停分析:液晶面板/LCD,手機產業鏈,折疊屏概念熱股
- 2月15日華勝天成漲停分析:網絡安全,信創,云計算數據中心概念熱股
- 天天速看:天龍集團:公司是百度五星代理商,為客戶提供高質量的營銷解決方案
- 環球微頭條丨泉峰汽車:公司生產經營正常,如有達到披露標準的重大事項,公司將及時公告
- 【世界聚看點】2月15日英 力 特漲停分析:寧夏,PVC,央企改革概念熱股
- 總裝機容量120萬千瓦!浙江省慶元抽水蓄能電站項目喜獲核準
- 高偉達:公司與客戶都有積極尋求金融科技業務合作的意愿
- 同富股份IPO:大比例代工,撐得住嗎?
- 嘉欣絲綢:蜘蛛仿生絲的相關專利由超絲公司擁有,公司的持股比例為20%
- *ST深南(002417)2月15日主力資金凈賣出102.60萬元
- 格力博:全球園林機械行業的主要市場是生活綠地面積廣闊的北美和歐洲國家,傳統上以燃油動力為主
- 大勝達:、“信創”概念廣范、信息量較大,公司將視自身發展需要考慮后續投入
- 當前短訊!華帝股份:公司重視產品多樣化發展,產品覆蓋領域廣,產品線豐富
- 酒店高端化的路徑:文化賦能則行穩致遠
- 【新視野】中國航空公司和機場大力投資旅客體驗系統,迎接旅行強勁復蘇
- 全球觀察:電子詞典系統vc++_vc++6.0(Visual C++) 簡體中文版
- 全球微頭條丨2022年Facebook概念上市公司一覽(9月17日)