ベストプラクティス|Tencent Cloud インテリジェントテキスト認識を使用してオンライン配車情報管理を実現する

オンライン配車規制情報交換プラットフォームの統計によると、2022年7月31日現在、全国で合計279社のオンライン配車プラットフォーム企業がオンライン配車プラットフォーム運営ライセンスを取得しており、合計460万件のオンライン配車プラットフォーム運営ライセンスを取得している。オンラインでの配車運転免許証、自動車運送業免許証、自動車運送業免許証の発行が全国で開始され、7月時点で188万2,000件の証明書が発行され、累計注文件数は6億9,500万件に達している。オンライン配車ドライバーの身元情報、運転免許証、運転免許証、車両情報の収集と管理は非常に困難な作業です。オンライン配車情報を安全かつコンプライアンスに準拠して収集および管理することで、乗客の安全を効果的に保護し、ドライバーの監督を強化できます。 . 旅行の安全性を向上させるための見直し。

では、AI テクノロジーはオンライン配車プラットフォーム企業にどのようにして品質と効率を向上させるのでしょうか?

以下では、Tencent Cloud インテリジェントテキスト認識を使用してオンライン配車に関する情報を収集する方法の実装プロセスを詳しく紹介します。

1. 準備作業

Tencent Cloud の自動車関連の認識機能を使用するには、次の準備を行う必要があります。

1.1.自動車関連身分証明の無料体験

Tencent Cloud自動車関連識別 を使用する前に、Tencent Cloud 公式 Web サイトを通じて自動車関連識別サービスを体験してください。

 

Tencent Cloud Intelligent Text Recognition は、運転免許証/運転免許証認識、車両 VIN コード認識、ナンバー プレート認識のための毎月の無料リソース パッケージを含む無料リソース パッケージを提供しており、それぞれに 1,000 個の無料割り当ての毎月の無料リソース パッケージが含まれています。リソース パッケージ管理ページ

 

1.2. コンソール監視情報

使ってみて分かったのは、すべての文字認識サービスの利用状況情報がコンソールで確認できることです 下の図から当月の通話数、請求額、成功数、成功率などの統計を見ることができます。

 

2. 運用プロセス

次の手順により、Tencent Cloud Intelligent Text Recognition の自動車関連識別機能を使用して、オンライン配車ドライバー情報を収集できます。

  • 個人キーを取得する

  • 車の認識に関連する API ドキュメントを表示する

  • Tencent Cloud のインテリジェントなテキスト認識自動車関連認識機能を使用して、オンライン配車サービスのドライバー情報を収集します

2.1. 個人キーの取得

Tencent Cloud Access Management のAPI キー管理ページで、新しい個人キーを作成します。

 

2.2. 自動車認識に関連する API ドキュメントを表示する

オンライン配車運転免許証認識APIインターフェース、運転免許証認識APIインターフェース、ナンバープレート認識APIインターフェース

 

2.3. Tencent Cloud AI テキスト認識の自動車関連認識機能を使用して、オンライン配車会社から情報を収集します。

オンライン配車会社から情報を収集するプロセスは、主に次のステップに分かれています。

  • 環境が依存するSDKをインストールし、自動車関連の識別インターフェースを呼び出す

  • オンライン配車会社による情報収集効果を体験

2.3.1 環境依存の SDK をインストールし、自動車関連の識別インターフェイスを呼び出す

package test

import (
	"encoding/base64"
	"encoding/csv"
	"encoding/json"
	"fmt"
	"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common"
	"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors"
	"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile"
	ocr "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ocr/v20181119"
	"io"
	"io/ioutil"
	"log"
	"os"
)

//Resp 	响应体
type Resp struct {
	Response map[string]string
}

//RespFrontInfo 	响应体
type RespFrontInfo struct {
	Response FrontMsg
}
//FrontMsg 行驶证识别正面
type FrontMsg struct {
	FrontInfo map[string]string
}

//ImageCarIdentify 网约车公司信息收集入口函数
func ImageCarIdentify(path string, fileName string, infoType int64) (string, error) {
	// 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey,此处还需注意密钥对的保密
	// 密钥可前往https://console.cloud.tencent.com/cam/capi网站进行获取
	credential := common.NewCredential(
		"secretId",
		"secretKey",
	)
	// 实例化一个client选项,可选的,没有特殊需求可以跳过
	cpf := profile.NewClientProfile()
	cpf.HttpProfile.Endpoint = "ocr.tencentcloudapi.com"
	// 实例化要请求产品的client对象,clientProfile是可选的
	client, _ := ocr.NewClient(credential, "ap-guangzhou", cpf)
	//读取图片base64
	toBase64Str, err := imageToBase64(path + fileName)
	resp := ""
	if infoType == 1 {
		resp, err = imageType1(*client, toBase64Str)
		WriteOnlineCarDriverToCsv(resp)
	}
	if infoType == 2 {
		resp, err = imageType2(*client, toBase64Str)
		WriteOnlineCarDrivingToCsv(resp)
	}
	if infoType == 3 {
		resp, err = imageType3(*client, toBase64Str)
		WriteLicensePlateToCsv(resp)
	}
	if err != nil {
		return "", err
	}
	fmt.Println(resp)
	return resp, nil
}

//imageType1 网约车驾驶证识别
func imageType1(client ocr.Client, toBase64Str string) (string, error) {
	// 实例化一个请求对象,每个接口都会对应一个request对象
	request := ocr.NewRideHailingDriverLicenseOCRRequest()
	request.ImageBase64 = common.StringPtr(toBase64Str)
	// 返回的resp是一个ImageEnhancementResponse的实例,与请求对象对应
	response, err := client.RideHailingDriverLicenseOCR(request)
	if _, ok := err.(*errors.TencentCloudSDKError); ok {
		fmt.Printf("An API error has returned: %s", err)
		return "", err
	}
	if err != nil {
		return "", err
	}
	return response.ToJsonString(), nil
}

//imageType2 行驶证识别
func imageType2(client ocr.Client, toBase64Str string) (string, error) {
	// 实例化一个请求对象,每个接口都会对应一个request对象
	request := ocr.NewVehicleLicenseOCRRequest()
	request.ImageBase64 = common.StringPtr(toBase64Str)
	request.CardSide = common.StringPtr("FRONT")
	// 返回的resp是一个ImageEnhancementResponse的实例,与请求对象对应
	response, err := client.VehicleLicenseOCR(request)
	if _, ok := err.(*errors.TencentCloudSDKError); ok {
		fmt.Printf("An API error has returned: %s", err)
		return "", err
	}
	if err != nil {
		return "", err
	}
	return response.ToJsonString(), nil
}

//imageType3 车牌识别
func imageType3(client ocr.Client, toBase64Str string) (string, error) {
	// 实例化一个请求对象,每个接口都会对应一个request对象
	request := ocr.NewLicensePlateOCRRequest()
	request.ImageBase64 = common.StringPtr(toBase64Str)
	// 返回的resp是一个ImageEnhancementResponse的实例,与请求对象对应
	response, err := client.LicensePlateOCR(request)
	if _, ok := err.(*errors.TencentCloudSDKError); ok {
		fmt.Printf("An API error has returned: %s", err)
		return "", err
	}
	if err != nil {
		return "", err
	}
	return response.ToJsonString(), nil
}

//WriteOnlineCarDriverToCsv 网约车驾驶证写入csv
func WriteOnlineCarDriverToCsv(str string) {
	jsondata := Resp{}
	err := json.Unmarshal([]byte(str), &jsondata)
	if err != nil {
		fmt.Println(err)
	}
	nfs, err := os.OpenFile("./data.csv", os.O_RDWR|os.O_CREATE, 0666)
	if err != nil {
		log.Fatalf("can not create file, err is %+v", err)
	}
	defer nfs.Close()
	nfs.Seek(0, io.SeekEnd)
	writer := csv.NewWriter(nfs)
	writer.Write([]string{"姓名", "从业资格证号", "发证日期"})
	var record []string
	record = append(record, jsondata.Response["Name"])
	record = append(record, jsondata.Response["LicenseNumber"])
	record = append(record, jsondata.Response["ReleaseDate"])
	writer.Write(record)
	writer.Flush() //将内存中的数据刷回到硬盘保存
}

//WriteLicensePlateToCsv 车牌写入csv
func WriteLicensePlateToCsv(str string) {
	jsondata := Resp{}
	err := json.Unmarshal([]byte(str), &jsondata)
	if err != nil {
		fmt.Println(err)
	}
	nfs, err := os.OpenFile("./data.csv", os.O_RDWR|os.O_CREATE, 0666)
	if err != nil {
		log.Fatalf("can not create file, err is %+v", err)
	}
	defer nfs.Close()
	nfs.Seek(0, io.SeekEnd)
	writer := csv.NewWriter(nfs)
	writer.Write([]string{"车牌号", "车牌颜色"})
	var record []string
	record = append(record, jsondata.Response["Number"])
	record = append(record, jsondata.Response["Color"])
	writer.Write(record)
	writer.Flush() //将内存中的数据刷回到硬盘保存
}

//WriteOnlineCarDrivingToCsv 网约车行驶证写入csv
func WriteOnlineCarDrivingToCsv(str string) {
	jsondata := RespFrontInfo{}
	err := json.Unmarshal([]byte(str), &jsondata)
	if err != nil {
		fmt.Println(err)
	}
	nfs, err := os.OpenFile("./data.csv", os.O_RDWR|os.O_CREATE, 0666)
	if err != nil {
		log.Fatalf("can not create file, err is %+v", err)
	}
	defer nfs.Close()
	nfs.Seek(0, io.SeekEnd)
	writer := csv.NewWriter(nfs)
	writer.Write([]string{"号牌号码", "车辆类型", "所有人", "地址", "使用性质", "品牌型号", "车辆识别代号", "发动机编号", "注册日期", "发证单位"})
	var record []string
	record = append(record, jsondata.Response.FrontInfo["PlateNo"])
	record = append(record, jsondata.Response.FrontInfo["VehicleType"])
	record = append(record, jsondata.Response.FrontInfo["Owner"])
	record = append(record, jsondata.Response.FrontInfo["Address"])
	record = append(record, jsondata.Response.FrontInfo["UseCharacter"])
	record = append(record, jsondata.Response.FrontInfo["Model"])
	record = append(record, jsondata.Response.FrontInfo["Vin"])
	record = append(record, jsondata.Response.FrontInfo["EngineNo"])
	record = append(record, jsondata.Response.FrontInfo["RegisterDate"])
	record = append(record, jsondata.Response.FrontInfo["Seal"])
	writer.Write(record)
	writer.Flush() //将内存中的数据刷回到硬盘保存
}

//imageToBase64 img转base64
func imageToBase64(filePath string) (string, error) {
	srcByte, err := ioutil.ReadFile(filePath)
	if err != nil {
		return "", err
	}
	res := base64.StdEncoding.EncodeToString(srcByte)
	return res, nil
}

2.3.2 オンライン配車会社による情報収集の効果を体験する

オンライン配車の運転免許証情報、運転免許証情報、車両情報を一括でインポートし、オンライン配車運転免許証の認識機能により、氏名、免許番号、開始日、有効期限、発行日などを識別することができます。運転免許証認識機能は、運転免許証のメイン ページとサブページのすべてのフィールドを自動的に見つけて識別します。メイン ページの識別フィールドには、免許証番号、名前、性別、国籍、住所、生年月日、最初の免許証の日付が含まれますコレクション、許可された運転タイプ、有効期間、発行単位、代理 ページ認識フィールドには、ライセンス番号、名前、ファイル番号、および記録が含まれます。ナンバー プレート認識機能により、中国本土の自動車のナンバー プレートを自動的に見つけて識別し、地域番号を返します。ナンバープレートの番号、ナンバープレートの色の情報を入力し、最後に出力結果を csv ファイルにまとめます。Tencent Cloud のインテリジェントなテキスト認識を使用した自動車関連の認識機能は、結果を実際の写真と比較することで、オンライン配車会社に関する情報を正確かつ効率的に収集できます。

1) グループ 1

 

 

 

認識結果は CSV モードでエクスポートされます。

 

2) 2番目のグループ

 

 

認識結果、csv 形式でエクスポート:

 

2.3.3 概要

オンライン配車は他のサービスモデルと異なり、移動中、運転手と乗客は狭い密閉空間で長時間共存し、両者は直接対面で密接に接触することになる 安全上の問題、特に個人的な問題安全性はドライバーと同乗者の両方にとって大きな関心事であり、最大の関心事です。Tencent Cloud のインテリジェントなテキスト認識の自動車関連識別機能は、オンライン配車ドライバーの情報を迅速かつ効率的に収集し、オンライン配車ドライバーの身元を確認することで、効果的に乗客の安全を確保し、ドライバーの審査を強化し、旅行を改善することができます。安全性。

製品情報の詳細: https://cloud.tencent.com/product/vehicleocr

おすすめ

転載: blog.csdn.net/tencentAI/article/details/129196223